001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 043import ca.uhn.fhir.model.dstu2.resource.Appointment; 044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 057import ca.uhn.fhir.model.dstu2.resource.BodySite; 058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 059import ca.uhn.fhir.model.dstu2.resource.CarePlan; 060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 063import ca.uhn.fhir.model.dstu2.resource.Claim; 064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 069import ca.uhn.fhir.model.dstu2.composite.CodingDt; 070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 073import ca.uhn.fhir.model.dstu2.resource.Composition; 074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 077import ca.uhn.fhir.model.dstu2.resource.Condition; 078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 082import ca.uhn.fhir.model.dstu2.resource.Conformance; 083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 088import ca.uhn.fhir.model.dstu2.resource.Contract; 089import ca.uhn.fhir.model.dstu2.resource.Coverage; 090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 093import ca.uhn.fhir.model.dstu2.resource.Device; 094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 112import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 117import ca.uhn.fhir.model.dstu2.resource.Encounter; 118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 129import ca.uhn.fhir.model.dstu2.resource.Goal; 130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 132import ca.uhn.fhir.model.dstu2.resource.Group; 133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 138import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 145import ca.uhn.fhir.model.dstu2.resource.Immunization; 146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 154import ca.uhn.fhir.model.dstu2.resource.Location; 155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 160import ca.uhn.fhir.model.dstu2.resource.Media; 161import ca.uhn.fhir.model.dstu2.resource.Medication; 162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 171import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 177import ca.uhn.fhir.model.dstu2.resource.Observation; 178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 184import ca.uhn.fhir.model.dstu2.resource.Order; 185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.Organization; 187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 191import ca.uhn.fhir.model.dstu2.resource.Patient; 192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 193import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 194import ca.uhn.fhir.model.dstu2.resource.Person; 195import ca.uhn.fhir.model.dstu2.resource.Practitioner; 196import ca.uhn.fhir.model.dstu2.resource.Procedure; 197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 203import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 204import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 208import ca.uhn.fhir.model.dstu2.composite.RangeDt; 209import ca.uhn.fhir.model.dstu2.composite.RatioDt; 210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 223import ca.uhn.fhir.model.dstu2.resource.Schedule; 224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 228import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 229import ca.uhn.fhir.model.dstu2.resource.Slot; 230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.Specimen; 232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 237import ca.uhn.fhir.model.dstu2.resource.Substance; 238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 243import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 244import ca.uhn.fhir.model.dstu2.composite.TimingDt; 245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 249import ca.uhn.fhir.model.dstu2.resource.ValueSet; 250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 254import ca.uhn.fhir.model.api.IResource; 255import ca.uhn.fhir.model.dstu2.composite.AgeDt; 256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 257import ca.uhn.fhir.model.dstu2.composite.DurationDt; 258import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 262import ca.uhn.fhir.model.primitive.Base64BinaryDt; 263import ca.uhn.fhir.model.primitive.BooleanDt; 264import ca.uhn.fhir.model.primitive.BoundCodeDt; 265import ca.uhn.fhir.model.primitive.CodeDt; 266import ca.uhn.fhir.model.primitive.DateDt; 267import ca.uhn.fhir.model.primitive.DateTimeDt; 268import ca.uhn.fhir.model.primitive.DecimalDt; 269import ca.uhn.fhir.model.primitive.IdDt; 270import ca.uhn.fhir.model.primitive.InstantDt; 271import ca.uhn.fhir.model.primitive.IntegerDt; 272import ca.uhn.fhir.model.primitive.OidDt; 273import ca.uhn.fhir.model.primitive.PositiveIntDt; 274import ca.uhn.fhir.model.primitive.StringDt; 275import ca.uhn.fhir.model.primitive.TimeDt; 276import ca.uhn.fhir.model.primitive.UnsignedIntDt; 277import ca.uhn.fhir.model.primitive.UriDt; 278 279 280/** 281 * HAPI/FHIR <b>Questionnaire</b> Resource 282 * (infrastructure.information) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A structured set of questions intended to guide the collection of answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * To support structured, hierarchical registration of data gathered using digital forms and other questionnaires. 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/Questionnaire">http://hl7.org/fhir/profiles/Questionnaire</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Questionnaire", profile="http://hl7.org/fhir/profiles/Questionnaire", id="questionnaire") 301public class Questionnaire extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>status</b> 307 * <p> 308 * Description: <b>The status of the questionnaire</b><br> 309 * Type: <b>token</b><br> 310 * Path: <b>Questionnaire.status</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="status", path="Questionnaire.status", description="The status of the questionnaire", type="token" 314 ) 315 public static final String SP_STATUS = "status"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>status</b> 319 * <p> 320 * Description: <b>The status of the questionnaire</b><br> 321 * Type: <b>token</b><br> 322 * Path: <b>Questionnaire.status</b><br> 323 * </p> 324 */ 325 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 326 327 /** 328 * Search parameter constant for <b>date</b> 329 * <p> 330 * Description: <b>When the questionnaire was last changed</b><br> 331 * Type: <b>date</b><br> 332 * Path: <b>Questionnaire.date</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="date", path="Questionnaire.date", description="When the questionnaire was last changed", type="date" 336 ) 337 public static final String SP_DATE = "date"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>date</b> 341 * <p> 342 * Description: <b>When the questionnaire was last changed</b><br> 343 * Type: <b>date</b><br> 344 * Path: <b>Questionnaire.date</b><br> 345 * </p> 346 */ 347 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 348 349 /** 350 * Search parameter constant for <b>publisher</b> 351 * <p> 352 * Description: <b>The author of the questionnaire</b><br> 353 * Type: <b>string</b><br> 354 * Path: <b>Questionnaire.publisher</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="publisher", path="Questionnaire.publisher", description="The author of the questionnaire", type="string" 358 ) 359 public static final String SP_PUBLISHER = "publisher"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 363 * <p> 364 * Description: <b>The author of the questionnaire</b><br> 365 * Type: <b>string</b><br> 366 * Path: <b>Questionnaire.publisher</b><br> 367 * </p> 368 */ 369 public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); 370 371 /** 372 * Search parameter constant for <b>identifier</b> 373 * <p> 374 * Description: <b>An identifier for the questionnaire</b><br> 375 * Type: <b>token</b><br> 376 * Path: <b>Questionnaire.identifier</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="identifier", path="Questionnaire.identifier", description="An identifier for the questionnaire", type="token" 380 ) 381 public static final String SP_IDENTIFIER = "identifier"; 382 383 /** 384 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 385 * <p> 386 * Description: <b>An identifier for the questionnaire</b><br> 387 * Type: <b>token</b><br> 388 * Path: <b>Questionnaire.identifier</b><br> 389 * </p> 390 */ 391 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 392 393 /** 394 * Search parameter constant for <b>version</b> 395 * <p> 396 * Description: <b>The business version of the questionnaire</b><br> 397 * Type: <b>string</b><br> 398 * Path: <b>Questionnaire.version</b><br> 399 * </p> 400 */ 401 @SearchParamDefinition(name="version", path="Questionnaire.version", description="The business version of the questionnaire", type="string" 402 ) 403 public static final String SP_VERSION = "version"; 404 405 /** 406 * <b>Fluent Client</b> search parameter constant for <b>version</b> 407 * <p> 408 * Description: <b>The business version of the questionnaire</b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>Questionnaire.version</b><br> 411 * </p> 412 */ 413 public static final StringClientParam VERSION = new StringClientParam(SP_VERSION); 414 415 /** 416 * Search parameter constant for <b>code</b> 417 * <p> 418 * Description: <b>A code that corresponds to the questionnaire or one of its groups</b><br> 419 * Type: <b>token</b><br> 420 * Path: <b>Questionnaire.group.concept</b><br> 421 * </p> 422 */ 423 @SearchParamDefinition(name="code", path="Questionnaire.group.concept", description="A code that corresponds to the questionnaire or one of its groups", type="token" 424 ) 425 public static final String SP_CODE = "code"; 426 427 /** 428 * <b>Fluent Client</b> search parameter constant for <b>code</b> 429 * <p> 430 * Description: <b>A code that corresponds to the questionnaire or one of its groups</b><br> 431 * Type: <b>token</b><br> 432 * Path: <b>Questionnaire.group.concept</b><br> 433 * </p> 434 */ 435 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 436 437 /** 438 * Search parameter constant for <b>title</b> 439 * <p> 440 * Description: <b>All or part of the name of the questionnaire (title for the root group of the questionnaire)</b><br> 441 * Type: <b>string</b><br> 442 * Path: <b>Questionnaire.group.title</b><br> 443 * </p> 444 */ 445 @SearchParamDefinition(name="title", path="Questionnaire.group.title", description="All or part of the name of the questionnaire (title for the root group of the questionnaire)", type="string" 446 ) 447 public static final String SP_TITLE = "title"; 448 449 /** 450 * <b>Fluent Client</b> search parameter constant for <b>title</b> 451 * <p> 452 * Description: <b>All or part of the name of the questionnaire (title for the root group of the questionnaire)</b><br> 453 * Type: <b>string</b><br> 454 * Path: <b>Questionnaire.group.title</b><br> 455 * </p> 456 */ 457 public static final StringClientParam TITLE = new StringClientParam(SP_TITLE); 458 459 460 461 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 462 @Description( 463 shortDefinition="id", 464 formalDefinition="This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)" 465 ) 466 private java.util.List<IdentifierDt> myIdentifier; 467 468 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 469 @Description( 470 shortDefinition="id.version", 471 formalDefinition="The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated" 472 ) 473 private StringDt myVersion; 474 475 @Child(name="status", type=CodeDt.class, order=2, min=1, max=1, summary=true, modifier=true) 476 @Description( 477 shortDefinition="status", 478 formalDefinition="The lifecycle status of the questionnaire as a whole." 479 ) 480 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/questionnaire-status") 481 private BoundCodeDt<QuestionnaireStatusEnum> myStatus; 482 483 @Child(name="date", type=DateTimeDt.class, order=3, min=0, max=1, summary=true, modifier=false) 484 @Description( 485 shortDefinition="when.recorded", 486 formalDefinition="The date that this questionnaire was last changed" 487 ) 488 private DateTimeDt myDate; 489 490 @Child(name="publisher", type=StringDt.class, order=4, min=0, max=1, summary=true, modifier=false) 491 @Description( 492 shortDefinition="who.witness", 493 formalDefinition="Organization or person responsible for developing and maintaining the questionnaire" 494 ) 495 private StringDt myPublisher; 496 497 @Child(name="telecom", type=ContactPointDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 498 @Description( 499 shortDefinition="", 500 formalDefinition="Contact details to assist a user in finding and communicating with the publisher" 501 ) 502 private java.util.List<ContactPointDt> myTelecom; 503 504 @Child(name="subjectType", type=CodeDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 505 @Description( 506 shortDefinition="", 507 formalDefinition="Identifies the types of subjects that can be the subject of the questionnaire." 508 ) 509 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 510 private java.util.List<BoundCodeDt<ResourceTypeEnum>> mySubjectType; 511 512 @Child(name="group", order=7, min=1, max=1, summary=true, modifier=false) 513 @Description( 514 shortDefinition="", 515 formalDefinition="A collection of related questions (or further groupings of questions)" 516 ) 517 private Group myGroup; 518 519 520 @Override 521 public boolean isEmpty() { 522 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myVersion, myStatus, myDate, myPublisher, myTelecom, mySubjectType, myGroup); 523 } 524 525 @Override 526 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 527 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myVersion, myStatus, myDate, myPublisher, myTelecom, mySubjectType, myGroup); 528 } 529 530 /** 531 * Gets the value(s) for <b>identifier</b> (id). 532 * creating it if it does 533 * not exist. Will not return <code>null</code>. 534 * 535 * <p> 536 * <b>Definition:</b> 537 * This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 538 * </p> 539 */ 540 public java.util.List<IdentifierDt> getIdentifier() { 541 if (myIdentifier == null) { 542 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 543 } 544 return myIdentifier; 545 } 546 547 /** 548 * Sets the value(s) for <b>identifier</b> (id) 549 * 550 * <p> 551 * <b>Definition:</b> 552 * This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 553 * </p> 554 */ 555 public Questionnaire setIdentifier(java.util.List<IdentifierDt> theValue) { 556 myIdentifier = theValue; 557 return this; 558 } 559 560 561 562 /** 563 * Adds and returns a new value for <b>identifier</b> (id) 564 * 565 * <p> 566 * <b>Definition:</b> 567 * This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 568 * </p> 569 */ 570 public IdentifierDt addIdentifier() { 571 IdentifierDt newType = new IdentifierDt(); 572 getIdentifier().add(newType); 573 return newType; 574 } 575 576 /** 577 * Adds a given new value for <b>identifier</b> (id) 578 * 579 * <p> 580 * <b>Definition:</b> 581 * This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 582 * </p> 583 * @param theValue The identifier to add (must not be <code>null</code>) 584 */ 585 public Questionnaire addIdentifier(IdentifierDt theValue) { 586 if (theValue == null) { 587 throw new NullPointerException("theValue must not be null"); 588 } 589 getIdentifier().add(theValue); 590 return this; 591 } 592 593 /** 594 * Gets the first repetition for <b>identifier</b> (id), 595 * creating it if it does not already exist. 596 * 597 * <p> 598 * <b>Definition:</b> 599 * This records identifiers associated with this question set that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 600 * </p> 601 */ 602 public IdentifierDt getIdentifierFirstRep() { 603 if (getIdentifier().isEmpty()) { 604 return addIdentifier(); 605 } 606 return getIdentifier().get(0); 607 } 608 609 /** 610 * Gets the value(s) for <b>version</b> (id.version). 611 * creating it if it does 612 * not exist. Will not return <code>null</code>. 613 * 614 * <p> 615 * <b>Definition:</b> 616 * The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated 617 * </p> 618 */ 619 public StringDt getVersionElement() { 620 if (myVersion == null) { 621 myVersion = new StringDt(); 622 } 623 return myVersion; 624 } 625 626 627 /** 628 * Gets the value(s) for <b>version</b> (id.version). 629 * creating it if it does 630 * not exist. This method may return <code>null</code>. 631 * 632 * <p> 633 * <b>Definition:</b> 634 * The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated 635 * </p> 636 */ 637 public String getVersion() { 638 return getVersionElement().getValue(); 639 } 640 641 /** 642 * Sets the value(s) for <b>version</b> (id.version) 643 * 644 * <p> 645 * <b>Definition:</b> 646 * The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated 647 * </p> 648 */ 649 public Questionnaire setVersion(StringDt theValue) { 650 myVersion = theValue; 651 return this; 652 } 653 654 655 656 /** 657 * Sets the value for <b>version</b> (id.version) 658 * 659 * <p> 660 * <b>Definition:</b> 661 * The version number assigned by the publisher for business reasons. It may remain the same when the resource is updated 662 * </p> 663 */ 664 public Questionnaire setVersion( String theString) { 665 myVersion = new StringDt(theString); 666 return this; 667 } 668 669 670 /** 671 * Gets the value(s) for <b>status</b> (status). 672 * creating it if it does 673 * not exist. Will not return <code>null</code>. 674 * 675 * <p> 676 * <b>Definition:</b> 677 * The lifecycle status of the questionnaire as a whole. 678 * </p> 679 */ 680 public BoundCodeDt<QuestionnaireStatusEnum> getStatusElement() { 681 if (myStatus == null) { 682 myStatus = new BoundCodeDt<QuestionnaireStatusEnum>(QuestionnaireStatusEnum.VALUESET_BINDER); 683 } 684 return myStatus; 685 } 686 687 688 /** 689 * Gets the value(s) for <b>status</b> (status). 690 * creating it if it does 691 * not exist. This method may return <code>null</code>. 692 * 693 * <p> 694 * <b>Definition:</b> 695 * The lifecycle status of the questionnaire as a whole. 696 * </p> 697 */ 698 public String getStatus() { 699 return getStatusElement().getValue(); 700 } 701 702 /** 703 * Sets the value(s) for <b>status</b> (status) 704 * 705 * <p> 706 * <b>Definition:</b> 707 * The lifecycle status of the questionnaire as a whole. 708 * </p> 709 */ 710 public Questionnaire setStatus(BoundCodeDt<QuestionnaireStatusEnum> theValue) { 711 myStatus = theValue; 712 return this; 713 } 714 715 716 717 /** 718 * Sets the value(s) for <b>status</b> (status) 719 * 720 * <p> 721 * <b>Definition:</b> 722 * The lifecycle status of the questionnaire as a whole. 723 * </p> 724 */ 725 public Questionnaire setStatus(QuestionnaireStatusEnum theValue) { 726 setStatus(new BoundCodeDt<QuestionnaireStatusEnum>(QuestionnaireStatusEnum.VALUESET_BINDER, theValue)); 727 728/* 729 getStatusElement().setValueAsEnum(theValue); 730*/ 731 return this; 732 } 733 734 735 /** 736 * Gets the value(s) for <b>date</b> (when.recorded). 737 * creating it if it does 738 * not exist. Will not return <code>null</code>. 739 * 740 * <p> 741 * <b>Definition:</b> 742 * The date that this questionnaire was last changed 743 * </p> 744 */ 745 public DateTimeDt getDateElement() { 746 if (myDate == null) { 747 myDate = new DateTimeDt(); 748 } 749 return myDate; 750 } 751 752 753 /** 754 * Gets the value(s) for <b>date</b> (when.recorded). 755 * creating it if it does 756 * not exist. This method may return <code>null</code>. 757 * 758 * <p> 759 * <b>Definition:</b> 760 * The date that this questionnaire was last changed 761 * </p> 762 */ 763 public Date getDate() { 764 return getDateElement().getValue(); 765 } 766 767 /** 768 * Sets the value(s) for <b>date</b> (when.recorded) 769 * 770 * <p> 771 * <b>Definition:</b> 772 * The date that this questionnaire was last changed 773 * </p> 774 */ 775 public Questionnaire setDate(DateTimeDt theValue) { 776 myDate = theValue; 777 return this; 778 } 779 780 781 782 /** 783 * Sets the value for <b>date</b> (when.recorded) 784 * 785 * <p> 786 * <b>Definition:</b> 787 * The date that this questionnaire was last changed 788 * </p> 789 */ 790 public Questionnaire setDateWithSecondsPrecision( Date theDate) { 791 myDate = new DateTimeDt(theDate); 792 return this; 793 } 794 795 /** 796 * Sets the value for <b>date</b> (when.recorded) 797 * 798 * <p> 799 * <b>Definition:</b> 800 * The date that this questionnaire was last changed 801 * </p> 802 */ 803 public Questionnaire setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 804 myDate = new DateTimeDt(theDate, thePrecision); 805 return this; 806 } 807 808 809 /** 810 * Gets the value(s) for <b>publisher</b> (who.witness). 811 * creating it if it does 812 * not exist. Will not return <code>null</code>. 813 * 814 * <p> 815 * <b>Definition:</b> 816 * Organization or person responsible for developing and maintaining the questionnaire 817 * </p> 818 */ 819 public StringDt getPublisherElement() { 820 if (myPublisher == null) { 821 myPublisher = new StringDt(); 822 } 823 return myPublisher; 824 } 825 826 827 /** 828 * Gets the value(s) for <b>publisher</b> (who.witness). 829 * creating it if it does 830 * not exist. This method may return <code>null</code>. 831 * 832 * <p> 833 * <b>Definition:</b> 834 * Organization or person responsible for developing and maintaining the questionnaire 835 * </p> 836 */ 837 public String getPublisher() { 838 return getPublisherElement().getValue(); 839 } 840 841 /** 842 * Sets the value(s) for <b>publisher</b> (who.witness) 843 * 844 * <p> 845 * <b>Definition:</b> 846 * Organization or person responsible for developing and maintaining the questionnaire 847 * </p> 848 */ 849 public Questionnaire setPublisher(StringDt theValue) { 850 myPublisher = theValue; 851 return this; 852 } 853 854 855 856 /** 857 * Sets the value for <b>publisher</b> (who.witness) 858 * 859 * <p> 860 * <b>Definition:</b> 861 * Organization or person responsible for developing and maintaining the questionnaire 862 * </p> 863 */ 864 public Questionnaire setPublisher( String theString) { 865 myPublisher = new StringDt(theString); 866 return this; 867 } 868 869 870 /** 871 * Gets the value(s) for <b>telecom</b> (). 872 * creating it if it does 873 * not exist. Will not return <code>null</code>. 874 * 875 * <p> 876 * <b>Definition:</b> 877 * Contact details to assist a user in finding and communicating with the publisher 878 * </p> 879 */ 880 public java.util.List<ContactPointDt> getTelecom() { 881 if (myTelecom == null) { 882 myTelecom = new java.util.ArrayList<ContactPointDt>(); 883 } 884 return myTelecom; 885 } 886 887 /** 888 * Sets the value(s) for <b>telecom</b> () 889 * 890 * <p> 891 * <b>Definition:</b> 892 * Contact details to assist a user in finding and communicating with the publisher 893 * </p> 894 */ 895 public Questionnaire setTelecom(java.util.List<ContactPointDt> theValue) { 896 myTelecom = theValue; 897 return this; 898 } 899 900 901 902 /** 903 * Adds and returns a new value for <b>telecom</b> () 904 * 905 * <p> 906 * <b>Definition:</b> 907 * Contact details to assist a user in finding and communicating with the publisher 908 * </p> 909 */ 910 public ContactPointDt addTelecom() { 911 ContactPointDt newType = new ContactPointDt(); 912 getTelecom().add(newType); 913 return newType; 914 } 915 916 /** 917 * Adds a given new value for <b>telecom</b> () 918 * 919 * <p> 920 * <b>Definition:</b> 921 * Contact details to assist a user in finding and communicating with the publisher 922 * </p> 923 * @param theValue The telecom to add (must not be <code>null</code>) 924 */ 925 public Questionnaire addTelecom(ContactPointDt theValue) { 926 if (theValue == null) { 927 throw new NullPointerException("theValue must not be null"); 928 } 929 getTelecom().add(theValue); 930 return this; 931 } 932 933 /** 934 * Gets the first repetition for <b>telecom</b> (), 935 * creating it if it does not already exist. 936 * 937 * <p> 938 * <b>Definition:</b> 939 * Contact details to assist a user in finding and communicating with the publisher 940 * </p> 941 */ 942 public ContactPointDt getTelecomFirstRep() { 943 if (getTelecom().isEmpty()) { 944 return addTelecom(); 945 } 946 return getTelecom().get(0); 947 } 948 949 /** 950 * Gets the value(s) for <b>subjectType</b> (). 951 * creating it if it does 952 * not exist. Will not return <code>null</code>. 953 * 954 * <p> 955 * <b>Definition:</b> 956 * Identifies the types of subjects that can be the subject of the questionnaire. 957 * </p> 958 */ 959 public java.util.List<BoundCodeDt<ResourceTypeEnum>> getSubjectType() { 960 if (mySubjectType == null) { 961 mySubjectType = new java.util.ArrayList<BoundCodeDt<ResourceTypeEnum>>(); 962 } 963 return mySubjectType; 964 } 965 966 /** 967 * Sets the value(s) for <b>subjectType</b> () 968 * 969 * <p> 970 * <b>Definition:</b> 971 * Identifies the types of subjects that can be the subject of the questionnaire. 972 * </p> 973 */ 974 public Questionnaire setSubjectType(java.util.List<BoundCodeDt<ResourceTypeEnum>> theValue) { 975 mySubjectType = theValue; 976 return this; 977 } 978 979 980 981 /** 982 * Add a value for <b>subjectType</b> () using an enumerated type. This 983 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 984 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 985 * you may also use the {@link #addSubjectType()} method. 986 * 987 * <p> 988 * <b>Definition:</b> 989 * Identifies the types of subjects that can be the subject of the questionnaire. 990 * </p> 991 */ 992 public BoundCodeDt<ResourceTypeEnum> addSubjectType(ResourceTypeEnum theValue) { 993 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue); 994 getSubjectType().add(retVal); 995 return retVal; 996 } 997 998 /** 999 * Gets the first repetition for <b>subjectType</b> (), 1000 * creating it if it does not already exist. 1001 * 1002 * <p> 1003 * <b>Definition:</b> 1004 * Identifies the types of subjects that can be the subject of the questionnaire. 1005 * </p> 1006 */ 1007 public BoundCodeDt<ResourceTypeEnum> getSubjectTypeFirstRep() { 1008 if (getSubjectType().size() == 0) { 1009 addSubjectType(); 1010 } 1011 return getSubjectType().get(0); 1012 } 1013 1014 /** 1015 * Add a value for <b>subjectType</b> () 1016 * 1017 * <p> 1018 * <b>Definition:</b> 1019 * Identifies the types of subjects that can be the subject of the questionnaire. 1020 * </p> 1021 */ 1022 public BoundCodeDt<ResourceTypeEnum> addSubjectType() { 1023 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 1024 getSubjectType().add(retVal); 1025 return retVal; 1026 } 1027 1028 /** 1029 * Sets the value(s), and clears any existing value(s) for <b>subjectType</b> () 1030 * 1031 * <p> 1032 * <b>Definition:</b> 1033 * Identifies the types of subjects that can be the subject of the questionnaire. 1034 * </p> 1035 */ 1036 public Questionnaire setSubjectType(ResourceTypeEnum theValue) { 1037 getSubjectType().clear(); 1038 addSubjectType(theValue); 1039 return this; 1040 } 1041 1042 1043 /** 1044 * Gets the value(s) for <b>group</b> (). 1045 * creating it if it does 1046 * not exist. Will not return <code>null</code>. 1047 * 1048 * <p> 1049 * <b>Definition:</b> 1050 * A collection of related questions (or further groupings of questions) 1051 * </p> 1052 */ 1053 public Group getGroup() { 1054 if (myGroup == null) { 1055 myGroup = new Group(); 1056 } 1057 return myGroup; 1058 } 1059 1060 /** 1061 * Sets the value(s) for <b>group</b> () 1062 * 1063 * <p> 1064 * <b>Definition:</b> 1065 * A collection of related questions (or further groupings of questions) 1066 * </p> 1067 */ 1068 public Questionnaire setGroup(Group theValue) { 1069 myGroup = theValue; 1070 return this; 1071 } 1072 1073 1074 1075 1076 /** 1077 * Block class for child element: <b>Questionnaire.group</b> () 1078 * 1079 * <p> 1080 * <b>Definition:</b> 1081 * A collection of related questions (or further groupings of questions) 1082 * </p> 1083 */ 1084 @Block() 1085 public static class Group 1086 extends BaseIdentifiableElement 1087 implements IResourceBlock { 1088 1089 @Child(name="linkId", type=StringDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1090 @Description( 1091 shortDefinition="", 1092 formalDefinition="An identifier that is unique within the Questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource." 1093 ) 1094 private StringDt myLinkId; 1095 1096 @Child(name="title", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1097 @Description( 1098 shortDefinition="", 1099 formalDefinition="The human-readable name for this section of the questionnaire" 1100 ) 1101 private StringDt myTitle; 1102 1103 @Child(name="concept", type=CodingDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1104 @Description( 1105 shortDefinition="", 1106 formalDefinition="Identifies a how this group of questions is known in a particular terminology such as LOINC." 1107 ) 1108 private java.util.List<CodingDt> myConcept; 1109 1110 @Child(name="text", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) 1111 @Description( 1112 shortDefinition="", 1113 formalDefinition="Additional text for the group, used for display purposes" 1114 ) 1115 private StringDt myText; 1116 1117 @Child(name="required", type=BooleanDt.class, order=4, min=0, max=1, summary=false, modifier=false) 1118 @Description( 1119 shortDefinition="", 1120 formalDefinition="If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire." 1121 ) 1122 private BooleanDt myRequired; 1123 1124 @Child(name="repeats", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=false) 1125 @Description( 1126 shortDefinition="", 1127 formalDefinition="Whether the group may occur multiple times in the instance, containing multiple sets of answers" 1128 ) 1129 private BooleanDt myRepeats; 1130 1131 @Child(name="group", type=Group.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1132 @Description( 1133 shortDefinition="", 1134 formalDefinition="A sub-group within a group. The ordering of groups within this group is relevant" 1135 ) 1136 private java.util.List<Group> myGroup; 1137 1138 @Child(name="question", order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1139 @Description( 1140 shortDefinition="", 1141 formalDefinition="Set of questions within this group. The order of questions within the group is relevant" 1142 ) 1143 private java.util.List<GroupQuestion> myQuestion; 1144 1145 1146 @Override 1147 public boolean isEmpty() { 1148 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLinkId, myTitle, myConcept, myText, myRequired, myRepeats, myGroup, myQuestion); 1149 } 1150 1151 @Override 1152 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1153 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLinkId, myTitle, myConcept, myText, myRequired, myRepeats, myGroup, myQuestion); 1154 } 1155 1156 /** 1157 * Gets the value(s) for <b>linkId</b> (). 1158 * creating it if it does 1159 * not exist. Will not return <code>null</code>. 1160 * 1161 * <p> 1162 * <b>Definition:</b> 1163 * An identifier that is unique within the Questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource. 1164 * </p> 1165 */ 1166 public StringDt getLinkIdElement() { 1167 if (myLinkId == null) { 1168 myLinkId = new StringDt(); 1169 } 1170 return myLinkId; 1171 } 1172 1173 1174 /** 1175 * Gets the value(s) for <b>linkId</b> (). 1176 * creating it if it does 1177 * not exist. This method may return <code>null</code>. 1178 * 1179 * <p> 1180 * <b>Definition:</b> 1181 * An identifier that is unique within the Questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource. 1182 * </p> 1183 */ 1184 public String getLinkId() { 1185 return getLinkIdElement().getValue(); 1186 } 1187 1188 /** 1189 * Sets the value(s) for <b>linkId</b> () 1190 * 1191 * <p> 1192 * <b>Definition:</b> 1193 * An identifier that is unique within the Questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource. 1194 * </p> 1195 */ 1196 public Group setLinkId(StringDt theValue) { 1197 myLinkId = theValue; 1198 return this; 1199 } 1200 1201 1202 1203 /** 1204 * Sets the value for <b>linkId</b> () 1205 * 1206 * <p> 1207 * <b>Definition:</b> 1208 * An identifier that is unique within the Questionnaire allowing linkage to the equivalent group in a QuestionnaireResponse resource. 1209 * </p> 1210 */ 1211 public Group setLinkId( String theString) { 1212 myLinkId = new StringDt(theString); 1213 return this; 1214 } 1215 1216 1217 /** 1218 * Gets the value(s) for <b>title</b> (). 1219 * creating it if it does 1220 * not exist. Will not return <code>null</code>. 1221 * 1222 * <p> 1223 * <b>Definition:</b> 1224 * The human-readable name for this section of the questionnaire 1225 * </p> 1226 */ 1227 public StringDt getTitleElement() { 1228 if (myTitle == null) { 1229 myTitle = new StringDt(); 1230 } 1231 return myTitle; 1232 } 1233 1234 1235 /** 1236 * Gets the value(s) for <b>title</b> (). 1237 * creating it if it does 1238 * not exist. This method may return <code>null</code>. 1239 * 1240 * <p> 1241 * <b>Definition:</b> 1242 * The human-readable name for this section of the questionnaire 1243 * </p> 1244 */ 1245 public String getTitle() { 1246 return getTitleElement().getValue(); 1247 } 1248 1249 /** 1250 * Sets the value(s) for <b>title</b> () 1251 * 1252 * <p> 1253 * <b>Definition:</b> 1254 * The human-readable name for this section of the questionnaire 1255 * </p> 1256 */ 1257 public Group setTitle(StringDt theValue) { 1258 myTitle = theValue; 1259 return this; 1260 } 1261 1262 1263 1264 /** 1265 * Sets the value for <b>title</b> () 1266 * 1267 * <p> 1268 * <b>Definition:</b> 1269 * The human-readable name for this section of the questionnaire 1270 * </p> 1271 */ 1272 public Group setTitle( String theString) { 1273 myTitle = new StringDt(theString); 1274 return this; 1275 } 1276 1277 1278 /** 1279 * Gets the value(s) for <b>concept</b> (). 1280 * creating it if it does 1281 * not exist. Will not return <code>null</code>. 1282 * 1283 * <p> 1284 * <b>Definition:</b> 1285 * Identifies a how this group of questions is known in a particular terminology such as LOINC. 1286 * </p> 1287 */ 1288 public java.util.List<CodingDt> getConcept() { 1289 if (myConcept == null) { 1290 myConcept = new java.util.ArrayList<CodingDt>(); 1291 } 1292 return myConcept; 1293 } 1294 1295 /** 1296 * Sets the value(s) for <b>concept</b> () 1297 * 1298 * <p> 1299 * <b>Definition:</b> 1300 * Identifies a how this group of questions is known in a particular terminology such as LOINC. 1301 * </p> 1302 */ 1303 public Group setConcept(java.util.List<CodingDt> theValue) { 1304 myConcept = theValue; 1305 return this; 1306 } 1307 1308 1309 1310 /** 1311 * Adds and returns a new value for <b>concept</b> () 1312 * 1313 * <p> 1314 * <b>Definition:</b> 1315 * Identifies a how this group of questions is known in a particular terminology such as LOINC. 1316 * </p> 1317 */ 1318 public CodingDt addConcept() { 1319 CodingDt newType = new CodingDt(); 1320 getConcept().add(newType); 1321 return newType; 1322 } 1323 1324 /** 1325 * Adds a given new value for <b>concept</b> () 1326 * 1327 * <p> 1328 * <b>Definition:</b> 1329 * Identifies a how this group of questions is known in a particular terminology such as LOINC. 1330 * </p> 1331 * @param theValue The concept to add (must not be <code>null</code>) 1332 */ 1333 public Group addConcept(CodingDt theValue) { 1334 if (theValue == null) { 1335 throw new NullPointerException("theValue must not be null"); 1336 } 1337 getConcept().add(theValue); 1338 return this; 1339 } 1340 1341 /** 1342 * Gets the first repetition for <b>concept</b> (), 1343 * creating it if it does not already exist. 1344 * 1345 * <p> 1346 * <b>Definition:</b> 1347 * Identifies a how this group of questions is known in a particular terminology such as LOINC. 1348 * </p> 1349 */ 1350 public CodingDt getConceptFirstRep() { 1351 if (getConcept().isEmpty()) { 1352 return addConcept(); 1353 } 1354 return getConcept().get(0); 1355 } 1356 1357 /** 1358 * Gets the value(s) for <b>text</b> (). 1359 * creating it if it does 1360 * not exist. Will not return <code>null</code>. 1361 * 1362 * <p> 1363 * <b>Definition:</b> 1364 * Additional text for the group, used for display purposes 1365 * </p> 1366 */ 1367 public StringDt getTextElement() { 1368 if (myText == null) { 1369 myText = new StringDt(); 1370 } 1371 return myText; 1372 } 1373 1374 1375 /** 1376 * Gets the value(s) for <b>text</b> (). 1377 * creating it if it does 1378 * not exist. This method may return <code>null</code>. 1379 * 1380 * <p> 1381 * <b>Definition:</b> 1382 * Additional text for the group, used for display purposes 1383 * </p> 1384 */ 1385 public String getText() { 1386 return getTextElement().getValue(); 1387 } 1388 1389 /** 1390 * Sets the value(s) for <b>text</b> () 1391 * 1392 * <p> 1393 * <b>Definition:</b> 1394 * Additional text for the group, used for display purposes 1395 * </p> 1396 */ 1397 public Group setText(StringDt theValue) { 1398 myText = theValue; 1399 return this; 1400 } 1401 1402 1403 1404 /** 1405 * Sets the value for <b>text</b> () 1406 * 1407 * <p> 1408 * <b>Definition:</b> 1409 * Additional text for the group, used for display purposes 1410 * </p> 1411 */ 1412 public Group setText( String theString) { 1413 myText = new StringDt(theString); 1414 return this; 1415 } 1416 1417 1418 /** 1419 * Gets the value(s) for <b>required</b> (). 1420 * creating it if it does 1421 * not exist. Will not return <code>null</code>. 1422 * 1423 * <p> 1424 * <b>Definition:</b> 1425 * If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire. 1426 * </p> 1427 */ 1428 public BooleanDt getRequiredElement() { 1429 if (myRequired == null) { 1430 myRequired = new BooleanDt(); 1431 } 1432 return myRequired; 1433 } 1434 1435 1436 /** 1437 * Gets the value(s) for <b>required</b> (). 1438 * creating it if it does 1439 * not exist. This method may return <code>null</code>. 1440 * 1441 * <p> 1442 * <b>Definition:</b> 1443 * If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire. 1444 * </p> 1445 */ 1446 public Boolean getRequired() { 1447 return getRequiredElement().getValue(); 1448 } 1449 1450 /** 1451 * Sets the value(s) for <b>required</b> () 1452 * 1453 * <p> 1454 * <b>Definition:</b> 1455 * If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire. 1456 * </p> 1457 */ 1458 public Group setRequired(BooleanDt theValue) { 1459 myRequired = theValue; 1460 return this; 1461 } 1462 1463 1464 1465 /** 1466 * Sets the value for <b>required</b> () 1467 * 1468 * <p> 1469 * <b>Definition:</b> 1470 * If true, indicates that the group must be present and have required questions within it answered. If false, the group may be skipped when answering the questionnaire. 1471 * </p> 1472 */ 1473 public Group setRequired( boolean theBoolean) { 1474 myRequired = new BooleanDt(theBoolean); 1475 return this; 1476 } 1477 1478 1479 /** 1480 * Gets the value(s) for <b>repeats</b> (). 1481 * creating it if it does 1482 * not exist. Will not return <code>null</code>. 1483 * 1484 * <p> 1485 * <b>Definition:</b> 1486 * Whether the group may occur multiple times in the instance, containing multiple sets of answers 1487 * </p> 1488 */ 1489 public BooleanDt getRepeatsElement() { 1490 if (myRepeats == null) { 1491 myRepeats = new BooleanDt(); 1492 } 1493 return myRepeats; 1494 } 1495 1496 1497 /** 1498 * Gets the value(s) for <b>repeats</b> (). 1499 * creating it if it does 1500 * not exist. This method may return <code>null</code>. 1501 * 1502 * <p> 1503 * <b>Definition:</b> 1504 * Whether the group may occur multiple times in the instance, containing multiple sets of answers 1505 * </p> 1506 */ 1507 public Boolean getRepeats() { 1508 return getRepeatsElement().getValue(); 1509 } 1510 1511 /** 1512 * Sets the value(s) for <b>repeats</b> () 1513 * 1514 * <p> 1515 * <b>Definition:</b> 1516 * Whether the group may occur multiple times in the instance, containing multiple sets of answers 1517 * </p> 1518 */ 1519 public Group setRepeats(BooleanDt theValue) { 1520 myRepeats = theValue; 1521 return this; 1522 } 1523 1524 1525 1526 /** 1527 * Sets the value for <b>repeats</b> () 1528 * 1529 * <p> 1530 * <b>Definition:</b> 1531 * Whether the group may occur multiple times in the instance, containing multiple sets of answers 1532 * </p> 1533 */ 1534 public Group setRepeats( boolean theBoolean) { 1535 myRepeats = new BooleanDt(theBoolean); 1536 return this; 1537 } 1538 1539 1540 /** 1541 * Gets the value(s) for <b>group</b> (). 1542 * creating it if it does 1543 * not exist. Will not return <code>null</code>. 1544 * 1545 * <p> 1546 * <b>Definition:</b> 1547 * A sub-group within a group. The ordering of groups within this group is relevant 1548 * </p> 1549 */ 1550 public java.util.List<Group> getGroup() { 1551 if (myGroup == null) { 1552 myGroup = new java.util.ArrayList<Group>(); 1553 } 1554 return myGroup; 1555 } 1556 1557 /** 1558 * Sets the value(s) for <b>group</b> () 1559 * 1560 * <p> 1561 * <b>Definition:</b> 1562 * A sub-group within a group. The ordering of groups within this group is relevant 1563 * </p> 1564 */ 1565 public Group setGroup(java.util.List<Group> theValue) { 1566 myGroup = theValue; 1567 return this; 1568 } 1569 1570 1571 1572 /** 1573 * Adds and returns a new value for <b>group</b> () 1574 * 1575 * <p> 1576 * <b>Definition:</b> 1577 * A sub-group within a group. The ordering of groups within this group is relevant 1578 * </p> 1579 */ 1580 public Group addGroup() { 1581 Group newType = new Group(); 1582 getGroup().add(newType); 1583 return newType; 1584 } 1585 1586 /** 1587 * Adds a given new value for <b>group</b> () 1588 * 1589 * <p> 1590 * <b>Definition:</b> 1591 * A sub-group within a group. The ordering of groups within this group is relevant 1592 * </p> 1593 * @param theValue The group to add (must not be <code>null</code>) 1594 */ 1595 public Group addGroup(Group theValue) { 1596 if (theValue == null) { 1597 throw new NullPointerException("theValue must not be null"); 1598 } 1599 getGroup().add(theValue); 1600 return this; 1601 } 1602 1603 /** 1604 * Gets the first repetition for <b>group</b> (), 1605 * creating it if it does not already exist. 1606 * 1607 * <p> 1608 * <b>Definition:</b> 1609 * A sub-group within a group. The ordering of groups within this group is relevant 1610 * </p> 1611 */ 1612 public Group getGroupFirstRep() { 1613 if (getGroup().isEmpty()) { 1614 return addGroup(); 1615 } 1616 return getGroup().get(0); 1617 } 1618 1619 /** 1620 * Gets the value(s) for <b>question</b> (). 1621 * creating it if it does 1622 * not exist. Will not return <code>null</code>. 1623 * 1624 * <p> 1625 * <b>Definition:</b> 1626 * Set of questions within this group. The order of questions within the group is relevant 1627 * </p> 1628 */ 1629 public java.util.List<GroupQuestion> getQuestion() { 1630 if (myQuestion == null) { 1631 myQuestion = new java.util.ArrayList<GroupQuestion>(); 1632 } 1633 return myQuestion; 1634 } 1635 1636 /** 1637 * Sets the value(s) for <b>question</b> () 1638 * 1639 * <p> 1640 * <b>Definition:</b> 1641 * Set of questions within this group. The order of questions within the group is relevant 1642 * </p> 1643 */ 1644 public Group setQuestion(java.util.List<GroupQuestion> theValue) { 1645 myQuestion = theValue; 1646 return this; 1647 } 1648 1649 1650 1651 /** 1652 * Adds and returns a new value for <b>question</b> () 1653 * 1654 * <p> 1655 * <b>Definition:</b> 1656 * Set of questions within this group. The order of questions within the group is relevant 1657 * </p> 1658 */ 1659 public GroupQuestion addQuestion() { 1660 GroupQuestion newType = new GroupQuestion(); 1661 getQuestion().add(newType); 1662 return newType; 1663 } 1664 1665 /** 1666 * Adds a given new value for <b>question</b> () 1667 * 1668 * <p> 1669 * <b>Definition:</b> 1670 * Set of questions within this group. The order of questions within the group is relevant 1671 * </p> 1672 * @param theValue The question to add (must not be <code>null</code>) 1673 */ 1674 public Group addQuestion(GroupQuestion theValue) { 1675 if (theValue == null) { 1676 throw new NullPointerException("theValue must not be null"); 1677 } 1678 getQuestion().add(theValue); 1679 return this; 1680 } 1681 1682 /** 1683 * Gets the first repetition for <b>question</b> (), 1684 * creating it if it does not already exist. 1685 * 1686 * <p> 1687 * <b>Definition:</b> 1688 * Set of questions within this group. The order of questions within the group is relevant 1689 * </p> 1690 */ 1691 public GroupQuestion getQuestionFirstRep() { 1692 if (getQuestion().isEmpty()) { 1693 return addQuestion(); 1694 } 1695 return getQuestion().get(0); 1696 } 1697 1698 1699 1700 } 1701 1702 /** 1703 * Block class for child element: <b>Questionnaire.group.question</b> () 1704 * 1705 * <p> 1706 * <b>Definition:</b> 1707 * Set of questions within this group. The order of questions within the group is relevant 1708 * </p> 1709 */ 1710 @Block() 1711 public static class GroupQuestion 1712 extends BaseIdentifiableElement 1713 implements IResourceBlock { 1714 1715 @Child(name="linkId", type=StringDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1716 @Description( 1717 shortDefinition="", 1718 formalDefinition="An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource." 1719 ) 1720 private StringDt myLinkId; 1721 1722 @Child(name="concept", type=CodingDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1723 @Description( 1724 shortDefinition="", 1725 formalDefinition="Identifies a how this question is known in a particular terminology such as LOINC." 1726 ) 1727 private java.util.List<CodingDt> myConcept; 1728 1729 @Child(name="text", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1730 @Description( 1731 shortDefinition="", 1732 formalDefinition="The actual question as shown to the user to prompt them for an answer." 1733 ) 1734 private StringDt myText; 1735 1736 @Child(name="type", type=CodeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 1737 @Description( 1738 shortDefinition="", 1739 formalDefinition="The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected" 1740 ) 1741 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/answer-format") 1742 private BoundCodeDt<AnswerFormatEnum> myType; 1743 1744 @Child(name="required", type=BooleanDt.class, order=4, min=0, max=1, summary=false, modifier=false) 1745 @Description( 1746 shortDefinition="", 1747 formalDefinition="If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire." 1748 ) 1749 private BooleanDt myRequired; 1750 1751 @Child(name="repeats", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=false) 1752 @Description( 1753 shortDefinition="", 1754 formalDefinition="If true, the question may have more than one answer." 1755 ) 1756 private BooleanDt myRepeats; 1757 1758 @Child(name="options", order=6, min=0, max=1, summary=false, modifier=false, type={ 1759 ca.uhn.fhir.model.dstu2.resource.ValueSet.class 1760 }) 1761 @Description( 1762 shortDefinition="", 1763 formalDefinition="Reference to a value set containing a list of codes representing permitted answers for the question" 1764 ) 1765 private ResourceReferenceDt myOptions; 1766 1767 @Child(name="option", type=CodingDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1768 @Description( 1769 shortDefinition="", 1770 formalDefinition="For a \"choice\" question, identifies one of the permitted answers for the question." 1771 ) 1772 private java.util.List<CodingDt> myOption; 1773 1774 @Child(name="group", type=Group.class, order=8, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1775 @Description( 1776 shortDefinition="", 1777 formalDefinition="Nested group, containing nested question for this question. The order of groups within the question is relevant" 1778 ) 1779 private java.util.List<Group> myGroup; 1780 1781 1782 @Override 1783 public boolean isEmpty() { 1784 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLinkId, myConcept, myText, myType, myRequired, myRepeats, myOptions, myOption, myGroup); 1785 } 1786 1787 @Override 1788 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1789 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLinkId, myConcept, myText, myType, myRequired, myRepeats, myOptions, myOption, myGroup); 1790 } 1791 1792 /** 1793 * Gets the value(s) for <b>linkId</b> (). 1794 * creating it if it does 1795 * not exist. Will not return <code>null</code>. 1796 * 1797 * <p> 1798 * <b>Definition:</b> 1799 * An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource. 1800 * </p> 1801 */ 1802 public StringDt getLinkIdElement() { 1803 if (myLinkId == null) { 1804 myLinkId = new StringDt(); 1805 } 1806 return myLinkId; 1807 } 1808 1809 1810 /** 1811 * Gets the value(s) for <b>linkId</b> (). 1812 * creating it if it does 1813 * not exist. This method may return <code>null</code>. 1814 * 1815 * <p> 1816 * <b>Definition:</b> 1817 * An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource. 1818 * </p> 1819 */ 1820 public String getLinkId() { 1821 return getLinkIdElement().getValue(); 1822 } 1823 1824 /** 1825 * Sets the value(s) for <b>linkId</b> () 1826 * 1827 * <p> 1828 * <b>Definition:</b> 1829 * An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource. 1830 * </p> 1831 */ 1832 public GroupQuestion setLinkId(StringDt theValue) { 1833 myLinkId = theValue; 1834 return this; 1835 } 1836 1837 1838 1839 /** 1840 * Sets the value for <b>linkId</b> () 1841 * 1842 * <p> 1843 * <b>Definition:</b> 1844 * An identifier that is unique within the questionnaire allowing linkage to the equivalent group in a [[[QuestionnaireResponse]]] resource. 1845 * </p> 1846 */ 1847 public GroupQuestion setLinkId( String theString) { 1848 myLinkId = new StringDt(theString); 1849 return this; 1850 } 1851 1852 1853 /** 1854 * Gets the value(s) for <b>concept</b> (). 1855 * creating it if it does 1856 * not exist. Will not return <code>null</code>. 1857 * 1858 * <p> 1859 * <b>Definition:</b> 1860 * Identifies a how this question is known in a particular terminology such as LOINC. 1861 * </p> 1862 */ 1863 public java.util.List<CodingDt> getConcept() { 1864 if (myConcept == null) { 1865 myConcept = new java.util.ArrayList<CodingDt>(); 1866 } 1867 return myConcept; 1868 } 1869 1870 /** 1871 * Sets the value(s) for <b>concept</b> () 1872 * 1873 * <p> 1874 * <b>Definition:</b> 1875 * Identifies a how this question is known in a particular terminology such as LOINC. 1876 * </p> 1877 */ 1878 public GroupQuestion setConcept(java.util.List<CodingDt> theValue) { 1879 myConcept = theValue; 1880 return this; 1881 } 1882 1883 1884 1885 /** 1886 * Adds and returns a new value for <b>concept</b> () 1887 * 1888 * <p> 1889 * <b>Definition:</b> 1890 * Identifies a how this question is known in a particular terminology such as LOINC. 1891 * </p> 1892 */ 1893 public CodingDt addConcept() { 1894 CodingDt newType = new CodingDt(); 1895 getConcept().add(newType); 1896 return newType; 1897 } 1898 1899 /** 1900 * Adds a given new value for <b>concept</b> () 1901 * 1902 * <p> 1903 * <b>Definition:</b> 1904 * Identifies a how this question is known in a particular terminology such as LOINC. 1905 * </p> 1906 * @param theValue The concept to add (must not be <code>null</code>) 1907 */ 1908 public GroupQuestion addConcept(CodingDt theValue) { 1909 if (theValue == null) { 1910 throw new NullPointerException("theValue must not be null"); 1911 } 1912 getConcept().add(theValue); 1913 return this; 1914 } 1915 1916 /** 1917 * Gets the first repetition for <b>concept</b> (), 1918 * creating it if it does not already exist. 1919 * 1920 * <p> 1921 * <b>Definition:</b> 1922 * Identifies a how this question is known in a particular terminology such as LOINC. 1923 * </p> 1924 */ 1925 public CodingDt getConceptFirstRep() { 1926 if (getConcept().isEmpty()) { 1927 return addConcept(); 1928 } 1929 return getConcept().get(0); 1930 } 1931 1932 /** 1933 * Gets the value(s) for <b>text</b> (). 1934 * creating it if it does 1935 * not exist. Will not return <code>null</code>. 1936 * 1937 * <p> 1938 * <b>Definition:</b> 1939 * The actual question as shown to the user to prompt them for an answer. 1940 * </p> 1941 */ 1942 public StringDt getTextElement() { 1943 if (myText == null) { 1944 myText = new StringDt(); 1945 } 1946 return myText; 1947 } 1948 1949 1950 /** 1951 * Gets the value(s) for <b>text</b> (). 1952 * creating it if it does 1953 * not exist. This method may return <code>null</code>. 1954 * 1955 * <p> 1956 * <b>Definition:</b> 1957 * The actual question as shown to the user to prompt them for an answer. 1958 * </p> 1959 */ 1960 public String getText() { 1961 return getTextElement().getValue(); 1962 } 1963 1964 /** 1965 * Sets the value(s) for <b>text</b> () 1966 * 1967 * <p> 1968 * <b>Definition:</b> 1969 * The actual question as shown to the user to prompt them for an answer. 1970 * </p> 1971 */ 1972 public GroupQuestion setText(StringDt theValue) { 1973 myText = theValue; 1974 return this; 1975 } 1976 1977 1978 1979 /** 1980 * Sets the value for <b>text</b> () 1981 * 1982 * <p> 1983 * <b>Definition:</b> 1984 * The actual question as shown to the user to prompt them for an answer. 1985 * </p> 1986 */ 1987 public GroupQuestion setText( String theString) { 1988 myText = new StringDt(theString); 1989 return this; 1990 } 1991 1992 1993 /** 1994 * Gets the value(s) for <b>type</b> (). 1995 * creating it if it does 1996 * not exist. Will not return <code>null</code>. 1997 * 1998 * <p> 1999 * <b>Definition:</b> 2000 * The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected 2001 * </p> 2002 */ 2003 public BoundCodeDt<AnswerFormatEnum> getTypeElement() { 2004 if (myType == null) { 2005 myType = new BoundCodeDt<AnswerFormatEnum>(AnswerFormatEnum.VALUESET_BINDER); 2006 } 2007 return myType; 2008 } 2009 2010 2011 /** 2012 * Gets the value(s) for <b>type</b> (). 2013 * creating it if it does 2014 * not exist. This method may return <code>null</code>. 2015 * 2016 * <p> 2017 * <b>Definition:</b> 2018 * The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected 2019 * </p> 2020 */ 2021 public String getType() { 2022 return getTypeElement().getValue(); 2023 } 2024 2025 /** 2026 * Sets the value(s) for <b>type</b> () 2027 * 2028 * <p> 2029 * <b>Definition:</b> 2030 * The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected 2031 * </p> 2032 */ 2033 public GroupQuestion setType(BoundCodeDt<AnswerFormatEnum> theValue) { 2034 myType = theValue; 2035 return this; 2036 } 2037 2038 2039 2040 /** 2041 * Sets the value(s) for <b>type</b> () 2042 * 2043 * <p> 2044 * <b>Definition:</b> 2045 * The expected format of the answer, e.g. the type of input (string, integer) or whether a (multiple) choice is expected 2046 * </p> 2047 */ 2048 public GroupQuestion setType(AnswerFormatEnum theValue) { 2049 setType(new BoundCodeDt<AnswerFormatEnum>(AnswerFormatEnum.VALUESET_BINDER, theValue)); 2050 2051/* 2052 getTypeElement().setValueAsEnum(theValue); 2053*/ 2054 return this; 2055 } 2056 2057 2058 /** 2059 * Gets the value(s) for <b>required</b> (). 2060 * creating it if it does 2061 * not exist. Will not return <code>null</code>. 2062 * 2063 * <p> 2064 * <b>Definition:</b> 2065 * If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire. 2066 * </p> 2067 */ 2068 public BooleanDt getRequiredElement() { 2069 if (myRequired == null) { 2070 myRequired = new BooleanDt(); 2071 } 2072 return myRequired; 2073 } 2074 2075 2076 /** 2077 * Gets the value(s) for <b>required</b> (). 2078 * creating it if it does 2079 * not exist. This method may return <code>null</code>. 2080 * 2081 * <p> 2082 * <b>Definition:</b> 2083 * If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire. 2084 * </p> 2085 */ 2086 public Boolean getRequired() { 2087 return getRequiredElement().getValue(); 2088 } 2089 2090 /** 2091 * Sets the value(s) for <b>required</b> () 2092 * 2093 * <p> 2094 * <b>Definition:</b> 2095 * If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire. 2096 * </p> 2097 */ 2098 public GroupQuestion setRequired(BooleanDt theValue) { 2099 myRequired = theValue; 2100 return this; 2101 } 2102 2103 2104 2105 /** 2106 * Sets the value for <b>required</b> () 2107 * 2108 * <p> 2109 * <b>Definition:</b> 2110 * If true, indicates that the question must be answered and have required groups within it also present. If false, the question and any contained groups may be skipped when answering the questionnaire. 2111 * </p> 2112 */ 2113 public GroupQuestion setRequired( boolean theBoolean) { 2114 myRequired = new BooleanDt(theBoolean); 2115 return this; 2116 } 2117 2118 2119 /** 2120 * Gets the value(s) for <b>repeats</b> (). 2121 * creating it if it does 2122 * not exist. Will not return <code>null</code>. 2123 * 2124 * <p> 2125 * <b>Definition:</b> 2126 * If true, the question may have more than one answer. 2127 * </p> 2128 */ 2129 public BooleanDt getRepeatsElement() { 2130 if (myRepeats == null) { 2131 myRepeats = new BooleanDt(); 2132 } 2133 return myRepeats; 2134 } 2135 2136 2137 /** 2138 * Gets the value(s) for <b>repeats</b> (). 2139 * creating it if it does 2140 * not exist. This method may return <code>null</code>. 2141 * 2142 * <p> 2143 * <b>Definition:</b> 2144 * If true, the question may have more than one answer. 2145 * </p> 2146 */ 2147 public Boolean getRepeats() { 2148 return getRepeatsElement().getValue(); 2149 } 2150 2151 /** 2152 * Sets the value(s) for <b>repeats</b> () 2153 * 2154 * <p> 2155 * <b>Definition:</b> 2156 * If true, the question may have more than one answer. 2157 * </p> 2158 */ 2159 public GroupQuestion setRepeats(BooleanDt theValue) { 2160 myRepeats = theValue; 2161 return this; 2162 } 2163 2164 2165 2166 /** 2167 * Sets the value for <b>repeats</b> () 2168 * 2169 * <p> 2170 * <b>Definition:</b> 2171 * If true, the question may have more than one answer. 2172 * </p> 2173 */ 2174 public GroupQuestion setRepeats( boolean theBoolean) { 2175 myRepeats = new BooleanDt(theBoolean); 2176 return this; 2177 } 2178 2179 2180 /** 2181 * Gets the value(s) for <b>options</b> (). 2182 * creating it if it does 2183 * not exist. Will not return <code>null</code>. 2184 * 2185 * <p> 2186 * <b>Definition:</b> 2187 * Reference to a value set containing a list of codes representing permitted answers for the question 2188 * </p> 2189 */ 2190 public ResourceReferenceDt getOptions() { 2191 if (myOptions == null) { 2192 myOptions = new ResourceReferenceDt(); 2193 } 2194 return myOptions; 2195 } 2196 2197 /** 2198 * Sets the value(s) for <b>options</b> () 2199 * 2200 * <p> 2201 * <b>Definition:</b> 2202 * Reference to a value set containing a list of codes representing permitted answers for the question 2203 * </p> 2204 */ 2205 public GroupQuestion setOptions(ResourceReferenceDt theValue) { 2206 myOptions = theValue; 2207 return this; 2208 } 2209 2210 2211 2212 2213 /** 2214 * Gets the value(s) for <b>option</b> (). 2215 * creating it if it does 2216 * not exist. Will not return <code>null</code>. 2217 * 2218 * <p> 2219 * <b>Definition:</b> 2220 * For a \"choice\" question, identifies one of the permitted answers for the question. 2221 * </p> 2222 */ 2223 public java.util.List<CodingDt> getOption() { 2224 if (myOption == null) { 2225 myOption = new java.util.ArrayList<CodingDt>(); 2226 } 2227 return myOption; 2228 } 2229 2230 /** 2231 * Sets the value(s) for <b>option</b> () 2232 * 2233 * <p> 2234 * <b>Definition:</b> 2235 * For a \"choice\" question, identifies one of the permitted answers for the question. 2236 * </p> 2237 */ 2238 public GroupQuestion setOption(java.util.List<CodingDt> theValue) { 2239 myOption = theValue; 2240 return this; 2241 } 2242 2243 2244 2245 /** 2246 * Adds and returns a new value for <b>option</b> () 2247 * 2248 * <p> 2249 * <b>Definition:</b> 2250 * For a \"choice\" question, identifies one of the permitted answers for the question. 2251 * </p> 2252 */ 2253 public CodingDt addOption() { 2254 CodingDt newType = new CodingDt(); 2255 getOption().add(newType); 2256 return newType; 2257 } 2258 2259 /** 2260 * Adds a given new value for <b>option</b> () 2261 * 2262 * <p> 2263 * <b>Definition:</b> 2264 * For a \"choice\" question, identifies one of the permitted answers for the question. 2265 * </p> 2266 * @param theValue The option to add (must not be <code>null</code>) 2267 */ 2268 public GroupQuestion addOption(CodingDt theValue) { 2269 if (theValue == null) { 2270 throw new NullPointerException("theValue must not be null"); 2271 } 2272 getOption().add(theValue); 2273 return this; 2274 } 2275 2276 /** 2277 * Gets the first repetition for <b>option</b> (), 2278 * creating it if it does not already exist. 2279 * 2280 * <p> 2281 * <b>Definition:</b> 2282 * For a \"choice\" question, identifies one of the permitted answers for the question. 2283 * </p> 2284 */ 2285 public CodingDt getOptionFirstRep() { 2286 if (getOption().isEmpty()) { 2287 return addOption(); 2288 } 2289 return getOption().get(0); 2290 } 2291 2292 /** 2293 * Gets the value(s) for <b>group</b> (). 2294 * creating it if it does 2295 * not exist. Will not return <code>null</code>. 2296 * 2297 * <p> 2298 * <b>Definition:</b> 2299 * Nested group, containing nested question for this question. The order of groups within the question is relevant 2300 * </p> 2301 */ 2302 public java.util.List<Group> getGroup() { 2303 if (myGroup == null) { 2304 myGroup = new java.util.ArrayList<Group>(); 2305 } 2306 return myGroup; 2307 } 2308 2309 /** 2310 * Sets the value(s) for <b>group</b> () 2311 * 2312 * <p> 2313 * <b>Definition:</b> 2314 * Nested group, containing nested question for this question. The order of groups within the question is relevant 2315 * </p> 2316 */ 2317 public GroupQuestion setGroup(java.util.List<Group> theValue) { 2318 myGroup = theValue; 2319 return this; 2320 } 2321 2322 2323 2324 /** 2325 * Adds and returns a new value for <b>group</b> () 2326 * 2327 * <p> 2328 * <b>Definition:</b> 2329 * Nested group, containing nested question for this question. The order of groups within the question is relevant 2330 * </p> 2331 */ 2332 public Group addGroup() { 2333 Group newType = new Group(); 2334 getGroup().add(newType); 2335 return newType; 2336 } 2337 2338 /** 2339 * Adds a given new value for <b>group</b> () 2340 * 2341 * <p> 2342 * <b>Definition:</b> 2343 * Nested group, containing nested question for this question. The order of groups within the question is relevant 2344 * </p> 2345 * @param theValue The group to add (must not be <code>null</code>) 2346 */ 2347 public GroupQuestion addGroup(Group theValue) { 2348 if (theValue == null) { 2349 throw new NullPointerException("theValue must not be null"); 2350 } 2351 getGroup().add(theValue); 2352 return this; 2353 } 2354 2355 /** 2356 * Gets the first repetition for <b>group</b> (), 2357 * creating it if it does not already exist. 2358 * 2359 * <p> 2360 * <b>Definition:</b> 2361 * Nested group, containing nested question for this question. The order of groups within the question is relevant 2362 * </p> 2363 */ 2364 public Group getGroupFirstRep() { 2365 if (getGroup().isEmpty()) { 2366 return addGroup(); 2367 } 2368 return getGroup().get(0); 2369 } 2370 2371 2372 2373 } 2374 2375 2376 2377 2378 2379 @Override 2380 public String getResourceName() { 2381 return "Questionnaire"; 2382 } 2383 2384 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2385 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2386 } 2387 2388 2389}