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.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>DiagnosticOrder</b> Resource 320 * (clinical.diagnostics) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A record of a request for a diagnostic investigation service to be performed. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/DiagnosticOrder">http://hl7.org/fhir/profiles/DiagnosticOrder</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="DiagnosticOrder", profile="http://hl7.org/fhir/profiles/DiagnosticOrder", id="diagnosticorder") 339public class DiagnosticOrder extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>actor</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>reference</b><br> 347 * Path: <b>DiagnosticOrder.event.actor | DiagnosticOrder.item.event.actor</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="actor", path="DiagnosticOrder.event.actor | DiagnosticOrder.item.event.actor", description="", type="reference" ) 351 public static final String SP_ACTOR = "actor"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>actor</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>reference</b><br> 358 * Path: <b>DiagnosticOrder.event.actor | DiagnosticOrder.item.event.actor</b><br> 359 * </p> 360 */ 361 public static final ReferenceClientParam ACTOR = new ReferenceClientParam(SP_ACTOR); 362 363 /** 364 * Search parameter constant for <b>bodysite</b> 365 * <p> 366 * Description: <b></b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>DiagnosticOrder.item.bodySite</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="bodysite", path="DiagnosticOrder.item.bodySite", description="", type="token" ) 372 public static final String SP_BODYSITE = "bodysite"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>bodysite</b> 376 * <p> 377 * Description: <b></b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>DiagnosticOrder.item.bodySite</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam BODYSITE = new TokenClientParam(SP_BODYSITE); 383 384 /** 385 * Search parameter constant for <b>code</b> 386 * <p> 387 * Description: <b></b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>DiagnosticOrder.item.code</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="code", path="DiagnosticOrder.item.code", description="", type="token" ) 393 public static final String SP_CODE = "code"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>code</b> 397 * <p> 398 * Description: <b></b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>DiagnosticOrder.item.code</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 404 405 /** 406 * Search parameter constant for <b>event-date</b> 407 * <p> 408 * Description: <b></b><br> 409 * Type: <b>date</b><br> 410 * Path: <b>DiagnosticOrder.event.dateTime</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="event-date", path="DiagnosticOrder.event.dateTime", description="", type="date" ) 414 public static final String SP_EVENT_DATE = "event-date"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>event-date</b> 418 * <p> 419 * Description: <b></b><br> 420 * Type: <b>date</b><br> 421 * Path: <b>DiagnosticOrder.event.dateTime</b><br> 422 * </p> 423 */ 424 public static final DateClientParam EVENT_DATE = new DateClientParam(SP_EVENT_DATE); 425 426 /** 427 * Search parameter constant for <b>encounter</b> 428 * <p> 429 * Description: <b></b><br> 430 * Type: <b>reference</b><br> 431 * Path: <b>DiagnosticOrder.encounter</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="encounter", path="DiagnosticOrder.encounter", description="", type="reference" ) 435 public static final String SP_ENCOUNTER = "encounter"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 439 * <p> 440 * Description: <b></b><br> 441 * Type: <b>reference</b><br> 442 * Path: <b>DiagnosticOrder.encounter</b><br> 443 * </p> 444 */ 445 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 446 447 /** 448 * Search parameter constant for <b>identifier</b> 449 * <p> 450 * Description: <b></b><br> 451 * Type: <b>token</b><br> 452 * Path: <b>DiagnosticOrder.identifier</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="identifier", path="DiagnosticOrder.identifier", description="", type="token" ) 456 public static final String SP_IDENTIFIER = "identifier"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 460 * <p> 461 * Description: <b></b><br> 462 * Type: <b>token</b><br> 463 * Path: <b>DiagnosticOrder.identifier</b><br> 464 * </p> 465 */ 466 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 467 468 /** 469 * Search parameter constant for <b>item-date</b> 470 * <p> 471 * Description: <b></b><br> 472 * Type: <b>date</b><br> 473 * Path: <b>DiagnosticOrder.item.event.dateTime</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="item-date", path="DiagnosticOrder.item.event.dateTime", description="", type="date" ) 477 public static final String SP_ITEM_DATE = "item-date"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>item-date</b> 481 * <p> 482 * Description: <b></b><br> 483 * Type: <b>date</b><br> 484 * Path: <b>DiagnosticOrder.item.event.dateTime</b><br> 485 * </p> 486 */ 487 public static final DateClientParam ITEM_DATE = new DateClientParam(SP_ITEM_DATE); 488 489 /** 490 * Search parameter constant for <b>item-past-status</b> 491 * <p> 492 * Description: <b></b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>DiagnosticOrder.item.event.status</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="item-past-status", path="DiagnosticOrder.item.event.status", description="", type="token" ) 498 public static final String SP_ITEM_PAST_STATUS = "item-past-status"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>item-past-status</b> 502 * <p> 503 * Description: <b></b><br> 504 * Type: <b>token</b><br> 505 * Path: <b>DiagnosticOrder.item.event.status</b><br> 506 * </p> 507 */ 508 public static final TokenClientParam ITEM_PAST_STATUS = new TokenClientParam(SP_ITEM_PAST_STATUS); 509 510 /** 511 * Search parameter constant for <b>item-status</b> 512 * <p> 513 * Description: <b></b><br> 514 * Type: <b>token</b><br> 515 * Path: <b>DiagnosticOrder.item.status</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="item-status", path="DiagnosticOrder.item.status", description="", type="token" ) 519 public static final String SP_ITEM_STATUS = "item-status"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>item-status</b> 523 * <p> 524 * Description: <b></b><br> 525 * Type: <b>token</b><br> 526 * Path: <b>DiagnosticOrder.item.status</b><br> 527 * </p> 528 */ 529 public static final TokenClientParam ITEM_STATUS = new TokenClientParam(SP_ITEM_STATUS); 530 531 /** 532 * Search parameter constant for <b>orderer</b> 533 * <p> 534 * Description: <b></b><br> 535 * Type: <b>reference</b><br> 536 * Path: <b>DiagnosticOrder.orderer</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="orderer", path="DiagnosticOrder.orderer", description="", type="reference" ) 540 public static final String SP_ORDERER = "orderer"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>orderer</b> 544 * <p> 545 * Description: <b></b><br> 546 * Type: <b>reference</b><br> 547 * Path: <b>DiagnosticOrder.orderer</b><br> 548 * </p> 549 */ 550 public static final ReferenceClientParam ORDERER = new ReferenceClientParam(SP_ORDERER); 551 552 /** 553 * Search parameter constant for <b>event-status</b> 554 * <p> 555 * Description: <b></b><br> 556 * Type: <b>token</b><br> 557 * Path: <b>DiagnosticOrder.event.status</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="event-status", path="DiagnosticOrder.event.status", description="", type="token" ) 561 public static final String SP_EVENT_STATUS = "event-status"; 562 563 /** 564 * <b>Fluent Client</b> search parameter constant for <b>event-status</b> 565 * <p> 566 * Description: <b></b><br> 567 * Type: <b>token</b><br> 568 * Path: <b>DiagnosticOrder.event.status</b><br> 569 * </p> 570 */ 571 public static final TokenClientParam EVENT_STATUS = new TokenClientParam(SP_EVENT_STATUS); 572 573 /** 574 * Search parameter constant for <b>specimen</b> 575 * <p> 576 * Description: <b></b><br> 577 * Type: <b>reference</b><br> 578 * Path: <b>DiagnosticOrder.specimen | DiagnosticOrder.item.specimen</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="specimen", path="DiagnosticOrder.specimen | DiagnosticOrder.item.specimen", description="", type="reference" ) 582 public static final String SP_SPECIMEN = "specimen"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>specimen</b> 586 * <p> 587 * Description: <b></b><br> 588 * Type: <b>reference</b><br> 589 * Path: <b>DiagnosticOrder.specimen | DiagnosticOrder.item.specimen</b><br> 590 * </p> 591 */ 592 public static final ReferenceClientParam SPECIMEN = new ReferenceClientParam(SP_SPECIMEN); 593 594 /** 595 * Search parameter constant for <b>status</b> 596 * <p> 597 * Description: <b></b><br> 598 * Type: <b>token</b><br> 599 * Path: <b>DiagnosticOrder.status</b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="status", path="DiagnosticOrder.status", description="", type="token" ) 603 public static final String SP_STATUS = "status"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>status</b> 607 * <p> 608 * Description: <b></b><br> 609 * Type: <b>token</b><br> 610 * Path: <b>DiagnosticOrder.status</b><br> 611 * </p> 612 */ 613 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 614 615 /** 616 * Search parameter constant for <b>subject</b> 617 * <p> 618 * Description: <b></b><br> 619 * Type: <b>reference</b><br> 620 * Path: <b>DiagnosticOrder.subject</b><br> 621 * </p> 622 */ 623 @SearchParamDefinition(name="subject", path="DiagnosticOrder.subject", description="", type="reference" ) 624 public static final String SP_SUBJECT = "subject"; 625 626 /** 627 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 628 * <p> 629 * Description: <b></b><br> 630 * Type: <b>reference</b><br> 631 * Path: <b>DiagnosticOrder.subject</b><br> 632 * </p> 633 */ 634 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 635 636 /** 637 * Search parameter constant for <b>patient</b> 638 * <p> 639 * Description: <b></b><br> 640 * Type: <b>reference</b><br> 641 * Path: <b>DiagnosticOrder.subject</b><br> 642 * </p> 643 */ 644 @SearchParamDefinition(name="patient", path="DiagnosticOrder.subject", description="", type="reference" ) 645 public static final String SP_PATIENT = "patient"; 646 647 /** 648 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 649 * <p> 650 * Description: <b></b><br> 651 * Type: <b>reference</b><br> 652 * Path: <b>DiagnosticOrder.subject</b><br> 653 * </p> 654 */ 655 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 656 657 /** 658 * Search parameter constant for <b>item-past-status-item-date</b> 659 * <p> 660 * Description: <b>A combination of item-past-status and item-date</b><br> 661 * Type: <b>composite</b><br> 662 * Path: <b>item-past-status & item-date</b><br> 663 * </p> 664 */ 665 @SearchParamDefinition(name="item-past-status-item-date", path="item-past-status & item-date", description="A combination of item-past-status and item-date", type="composite" , compositeOf={ "item-past-status", "item-date" } ) 666 public static final String SP_ITEM_PAST_STATUS_ITEM_DATE = "item-past-status-item-date"; 667 668 /** 669 * <b>Fluent Client</b> search parameter constant for <b>item-past-status-item-date</b> 670 * <p> 671 * Description: <b>A combination of item-past-status and item-date</b><br> 672 * Type: <b>composite</b><br> 673 * Path: <b>item-past-status & item-date</b><br> 674 * </p> 675 */ 676 public static final CompositeClientParam<TokenClientParam, DateClientParam> ITEM_PAST_STATUS_ITEM_DATE = new CompositeClientParam<TokenClientParam, DateClientParam>(SP_ITEM_PAST_STATUS_ITEM_DATE); 677 678 /** 679 * Search parameter constant for <b>event-status-event-date</b> 680 * <p> 681 * Description: <b>A combination of past-status and date</b><br> 682 * Type: <b>composite</b><br> 683 * Path: <b>event-status & event-date</b><br> 684 * </p> 685 */ 686 @SearchParamDefinition(name="event-status-event-date", path="event-status & event-date", description="A combination of past-status and date", type="composite" , compositeOf={ "event-status", "event-date" } ) 687 public static final String SP_EVENT_STATUS_EVENT_DATE = "event-status-event-date"; 688 689 /** 690 * <b>Fluent Client</b> search parameter constant for <b>event-status-event-date</b> 691 * <p> 692 * Description: <b>A combination of past-status and date</b><br> 693 * Type: <b>composite</b><br> 694 * Path: <b>event-status & event-date</b><br> 695 * </p> 696 */ 697 public static final CompositeClientParam<TokenClientParam, DateClientParam> EVENT_STATUS_EVENT_DATE = new CompositeClientParam<TokenClientParam, DateClientParam>(SP_EVENT_STATUS_EVENT_DATE); 698 699 700 /** 701 * Constant for fluent queries to be used to add include statements. Specifies 702 * the path value of "<b>DiagnosticOrder:actor</b>". 703 */ 704 public static final Include INCLUDE_ACTOR = new Include("DiagnosticOrder:actor"); 705 706 /** 707 * Constant for fluent queries to be used to add include statements. Specifies 708 * the path value of "<b>DiagnosticOrder:encounter</b>". 709 */ 710 public static final Include INCLUDE_ENCOUNTER = new Include("DiagnosticOrder:encounter"); 711 712 /** 713 * Constant for fluent queries to be used to add include statements. Specifies 714 * the path value of "<b>DiagnosticOrder:orderer</b>". 715 */ 716 public static final Include INCLUDE_ORDERER = new Include("DiagnosticOrder:orderer"); 717 718 /** 719 * Constant for fluent queries to be used to add include statements. Specifies 720 * the path value of "<b>DiagnosticOrder:patient</b>". 721 */ 722 public static final Include INCLUDE_PATIENT = new Include("DiagnosticOrder:patient"); 723 724 /** 725 * Constant for fluent queries to be used to add include statements. Specifies 726 * the path value of "<b>DiagnosticOrder:specimen</b>". 727 */ 728 public static final Include INCLUDE_SPECIMEN = new Include("DiagnosticOrder:specimen"); 729 730 /** 731 * Constant for fluent queries to be used to add include statements. Specifies 732 * the path value of "<b>DiagnosticOrder:subject</b>". 733 */ 734 public static final Include INCLUDE_SUBJECT = new Include("DiagnosticOrder:subject"); 735 736 737 @Child(name="subject", order=0, min=1, max=1, summary=true, modifier=false, type={ 738 ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Group.class, ca.uhn.fhir.model.dstu2.resource.Location.class, ca.uhn.fhir.model.dstu2.resource.Device.class }) 739 @Description( 740 shortDefinition="who.focus", 741 formalDefinition="Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)" 742 ) 743 private ResourceReferenceDt mySubject; 744 745 @Child(name="orderer", order=1, min=0, max=1, summary=true, modifier=false, type={ 746 ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 747 @Description( 748 shortDefinition="who.actor", 749 formalDefinition="The practitioner that holds legal responsibility for ordering the investigation" 750 ) 751 private ResourceReferenceDt myOrderer; 752 753 @Child(name="identifier", type=IdentifierDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 754 @Description( 755 shortDefinition="id", 756 formalDefinition="Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller." 757 ) 758 private java.util.List<IdentifierDt> myIdentifier; 759 760 @Child(name="encounter", order=3, min=0, max=1, summary=true, modifier=false, type={ 761 ca.uhn.fhir.model.dstu2.resource.Encounter.class }) 762 @Description( 763 shortDefinition="context", 764 formalDefinition="An encounter that provides additional information about the healthcare context in which this request is made" 765 ) 766 private ResourceReferenceDt myEncounter; 767 768 @Child(name="reason", type=CodeableConceptDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 769 @Description( 770 shortDefinition="", 771 formalDefinition="An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation." 772 ) 773 private java.util.List<CodeableConceptDt> myReason; 774 775 @Child(name="supportingInformation", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 776 ca.uhn.fhir.model.dstu2.resource.Observation.class, ca.uhn.fhir.model.dstu2.resource.Condition.class, ca.uhn.fhir.model.dstu2.resource.DocumentReference.class }) 777 @Description( 778 shortDefinition="", 779 formalDefinition="Additional clinical information about the patient or specimen that may influence test interpretations. This includes observations explicitly requested by the producer(filler) to provide context or supporting information needed to complete the order." 780 ) 781 private java.util.List<ResourceReferenceDt> mySupportingInformation; 782 783 @Child(name="specimen", order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 784 ca.uhn.fhir.model.dstu2.resource.Specimen.class }) 785 @Description( 786 shortDefinition="", 787 formalDefinition="One or more specimens that the diagnostic investigation is about" 788 ) 789 private java.util.List<ResourceReferenceDt> mySpecimen; 790 791 @Child(name="status", type=CodeDt.class, order=7, min=0, max=1, summary=true, modifier=true) 792 @Description( 793 shortDefinition="status", 794 formalDefinition="The status of the order" 795 ) 796 private BoundCodeDt<DiagnosticOrderStatusEnum> myStatus; 797 798 @Child(name="priority", type=CodeDt.class, order=8, min=0, max=1, summary=true, modifier=false) 799 @Description( 800 shortDefinition="grade", 801 formalDefinition="The clinical priority associated with this order" 802 ) 803 private BoundCodeDt<DiagnosticOrderPriorityEnum> myPriority; 804 805 @Child(name="event", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 806 @Description( 807 shortDefinition="", 808 formalDefinition="A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed" 809 ) 810 private java.util.List<Event> myEvent; 811 812 @Child(name="item", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 813 @Description( 814 shortDefinition="", 815 formalDefinition="The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested" 816 ) 817 private java.util.List<Item> myItem; 818 819 @Child(name="note", type=AnnotationDt.class, order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 820 @Description( 821 shortDefinition="", 822 formalDefinition="Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\")" 823 ) 824 private java.util.List<AnnotationDt> myNote; 825 826 827 @Override 828 public boolean isEmpty() { 829 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySubject, myOrderer, myIdentifier, myEncounter, myReason, mySupportingInformation, mySpecimen, myStatus, myPriority, myEvent, myItem, myNote); 830 } 831 832 @Override 833 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 834 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySubject, myOrderer, myIdentifier, myEncounter, myReason, mySupportingInformation, mySpecimen, myStatus, myPriority, myEvent, myItem, myNote); 835 } 836 837 /** 838 * Gets the value(s) for <b>subject</b> (who.focus). 839 * creating it if it does 840 * not exist. Will not return <code>null</code>. 841 * 842 * <p> 843 * <b>Definition:</b> 844 * Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans) 845 * </p> 846 */ 847 public ResourceReferenceDt getSubject() { 848 if (mySubject == null) { 849 mySubject = new ResourceReferenceDt(); 850 } 851 return mySubject; 852 } 853 854 /** 855 * Sets the value(s) for <b>subject</b> (who.focus) 856 * 857 * <p> 858 * <b>Definition:</b> 859 * Who or what the investigation is to be performed on. This is usually a human patient, but diagnostic tests can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans) 860 * </p> 861 */ 862 public DiagnosticOrder setSubject(ResourceReferenceDt theValue) { 863 mySubject = theValue; 864 return this; 865 } 866 867 868 869 870 /** 871 * Gets the value(s) for <b>orderer</b> (who.actor). 872 * creating it if it does 873 * not exist. Will not return <code>null</code>. 874 * 875 * <p> 876 * <b>Definition:</b> 877 * The practitioner that holds legal responsibility for ordering the investigation 878 * </p> 879 */ 880 public ResourceReferenceDt getOrderer() { 881 if (myOrderer == null) { 882 myOrderer = new ResourceReferenceDt(); 883 } 884 return myOrderer; 885 } 886 887 /** 888 * Sets the value(s) for <b>orderer</b> (who.actor) 889 * 890 * <p> 891 * <b>Definition:</b> 892 * The practitioner that holds legal responsibility for ordering the investigation 893 * </p> 894 */ 895 public DiagnosticOrder setOrderer(ResourceReferenceDt theValue) { 896 myOrderer = theValue; 897 return this; 898 } 899 900 901 902 903 /** 904 * Gets the value(s) for <b>identifier</b> (id). 905 * creating it if it does 906 * not exist. Will not return <code>null</code>. 907 * 908 * <p> 909 * <b>Definition:</b> 910 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 911 * </p> 912 */ 913 public java.util.List<IdentifierDt> getIdentifier() { 914 if (myIdentifier == null) { 915 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 916 } 917 return myIdentifier; 918 } 919 920 /** 921 * Sets the value(s) for <b>identifier</b> (id) 922 * 923 * <p> 924 * <b>Definition:</b> 925 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 926 * </p> 927 */ 928 public DiagnosticOrder setIdentifier(java.util.List<IdentifierDt> theValue) { 929 myIdentifier = theValue; 930 return this; 931 } 932 933 934 935 /** 936 * Adds and returns a new value for <b>identifier</b> (id) 937 * 938 * <p> 939 * <b>Definition:</b> 940 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 941 * </p> 942 */ 943 public IdentifierDt addIdentifier() { 944 IdentifierDt newType = new IdentifierDt(); 945 getIdentifier().add(newType); 946 return newType; 947 } 948 949 /** 950 * Adds a given new value for <b>identifier</b> (id) 951 * 952 * <p> 953 * <b>Definition:</b> 954 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 955 * </p> 956 * @param theValue The identifier to add (must not be <code>null</code>) 957 */ 958 public DiagnosticOrder addIdentifier(IdentifierDt theValue) { 959 if (theValue == null) { 960 throw new NullPointerException("theValue must not be null"); 961 } 962 getIdentifier().add(theValue); 963 return this; 964 } 965 966 /** 967 * Gets the first repetition for <b>identifier</b> (id), 968 * creating it if it does not already exist. 969 * 970 * <p> 971 * <b>Definition:</b> 972 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 973 * </p> 974 */ 975 public IdentifierDt getIdentifierFirstRep() { 976 if (getIdentifier().isEmpty()) { 977 return addIdentifier(); 978 } 979 return getIdentifier().get(0); 980 } 981 982 /** 983 * Gets the value(s) for <b>encounter</b> (context). 984 * creating it if it does 985 * not exist. Will not return <code>null</code>. 986 * 987 * <p> 988 * <b>Definition:</b> 989 * An encounter that provides additional information about the healthcare context in which this request is made 990 * </p> 991 */ 992 public ResourceReferenceDt getEncounter() { 993 if (myEncounter == null) { 994 myEncounter = new ResourceReferenceDt(); 995 } 996 return myEncounter; 997 } 998 999 /** 1000 * Sets the value(s) for <b>encounter</b> (context) 1001 * 1002 * <p> 1003 * <b>Definition:</b> 1004 * An encounter that provides additional information about the healthcare context in which this request is made 1005 * </p> 1006 */ 1007 public DiagnosticOrder setEncounter(ResourceReferenceDt theValue) { 1008 myEncounter = theValue; 1009 return this; 1010 } 1011 1012 1013 1014 1015 /** 1016 * Gets the value(s) for <b>reason</b> (). 1017 * creating it if it does 1018 * not exist. Will not return <code>null</code>. 1019 * 1020 * <p> 1021 * <b>Definition:</b> 1022 * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 1023 * </p> 1024 */ 1025 public java.util.List<CodeableConceptDt> getReason() { 1026 if (myReason == null) { 1027 myReason = new java.util.ArrayList<CodeableConceptDt>(); 1028 } 1029 return myReason; 1030 } 1031 1032 /** 1033 * Sets the value(s) for <b>reason</b> () 1034 * 1035 * <p> 1036 * <b>Definition:</b> 1037 * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 1038 * </p> 1039 */ 1040 public DiagnosticOrder setReason(java.util.List<CodeableConceptDt> theValue) { 1041 myReason = theValue; 1042 return this; 1043 } 1044 1045 1046 1047 /** 1048 * Adds and returns a new value for <b>reason</b> () 1049 * 1050 * <p> 1051 * <b>Definition:</b> 1052 * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 1053 * </p> 1054 */ 1055 public CodeableConceptDt addReason() { 1056 CodeableConceptDt newType = new CodeableConceptDt(); 1057 getReason().add(newType); 1058 return newType; 1059 } 1060 1061 /** 1062 * Adds a given new value for <b>reason</b> () 1063 * 1064 * <p> 1065 * <b>Definition:</b> 1066 * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 1067 * </p> 1068 * @param theValue The reason to add (must not be <code>null</code>) 1069 */ 1070 public DiagnosticOrder addReason(CodeableConceptDt theValue) { 1071 if (theValue == null) { 1072 throw new NullPointerException("theValue must not be null"); 1073 } 1074 getReason().add(theValue); 1075 return this; 1076 } 1077 1078 /** 1079 * Gets the first repetition for <b>reason</b> (), 1080 * creating it if it does not already exist. 1081 * 1082 * <p> 1083 * <b>Definition:</b> 1084 * An explanation or justification for why this diagnostic investigation is being requested. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 1085 * </p> 1086 */ 1087 public CodeableConceptDt getReasonFirstRep() { 1088 if (getReason().isEmpty()) { 1089 return addReason(); 1090 } 1091 return getReason().get(0); 1092 } 1093 1094 /** 1095 * Gets the value(s) for <b>supportingInformation</b> (). 1096 * creating it if it does 1097 * not exist. Will not return <code>null</code>. 1098 * 1099 * <p> 1100 * <b>Definition:</b> 1101 * Additional clinical information about the patient or specimen that may influence test interpretations. This includes observations explicitly requested by the producer(filler) to provide context or supporting information needed to complete the order. 1102 * </p> 1103 */ 1104 public java.util.List<ResourceReferenceDt> getSupportingInformation() { 1105 if (mySupportingInformation == null) { 1106 mySupportingInformation = new java.util.ArrayList<ResourceReferenceDt>(); 1107 } 1108 return mySupportingInformation; 1109 } 1110 1111 /** 1112 * Sets the value(s) for <b>supportingInformation</b> () 1113 * 1114 * <p> 1115 * <b>Definition:</b> 1116 * Additional clinical information about the patient or specimen that may influence test interpretations. This includes observations explicitly requested by the producer(filler) to provide context or supporting information needed to complete the order. 1117 * </p> 1118 */ 1119 public DiagnosticOrder setSupportingInformation(java.util.List<ResourceReferenceDt> theValue) { 1120 mySupportingInformation = theValue; 1121 return this; 1122 } 1123 1124 1125 1126 /** 1127 * Adds and returns a new value for <b>supportingInformation</b> () 1128 * 1129 * <p> 1130 * <b>Definition:</b> 1131 * Additional clinical information about the patient or specimen that may influence test interpretations. This includes observations explicitly requested by the producer(filler) to provide context or supporting information needed to complete the order. 1132 * </p> 1133 */ 1134 public ResourceReferenceDt addSupportingInformation() { 1135 ResourceReferenceDt newType = new ResourceReferenceDt(); 1136 getSupportingInformation().add(newType); 1137 return newType; 1138 } 1139 1140 /** 1141 * Gets the value(s) for <b>specimen</b> (). 1142 * creating it if it does 1143 * not exist. Will not return <code>null</code>. 1144 * 1145 * <p> 1146 * <b>Definition:</b> 1147 * One or more specimens that the diagnostic investigation is about 1148 * </p> 1149 */ 1150 public java.util.List<ResourceReferenceDt> getSpecimen() { 1151 if (mySpecimen == null) { 1152 mySpecimen = new java.util.ArrayList<ResourceReferenceDt>(); 1153 } 1154 return mySpecimen; 1155 } 1156 1157 /** 1158 * Sets the value(s) for <b>specimen</b> () 1159 * 1160 * <p> 1161 * <b>Definition:</b> 1162 * One or more specimens that the diagnostic investigation is about 1163 * </p> 1164 */ 1165 public DiagnosticOrder setSpecimen(java.util.List<ResourceReferenceDt> theValue) { 1166 mySpecimen = theValue; 1167 return this; 1168 } 1169 1170 1171 1172 /** 1173 * Adds and returns a new value for <b>specimen</b> () 1174 * 1175 * <p> 1176 * <b>Definition:</b> 1177 * One or more specimens that the diagnostic investigation is about 1178 * </p> 1179 */ 1180 public ResourceReferenceDt addSpecimen() { 1181 ResourceReferenceDt newType = new ResourceReferenceDt(); 1182 getSpecimen().add(newType); 1183 return newType; 1184 } 1185 1186 /** 1187 * Gets the value(s) for <b>status</b> (status). 1188 * creating it if it does 1189 * not exist. Will not return <code>null</code>. 1190 * 1191 * <p> 1192 * <b>Definition:</b> 1193 * The status of the order 1194 * </p> 1195 */ 1196 public BoundCodeDt<DiagnosticOrderStatusEnum> getStatusElement() { 1197 if (myStatus == null) { 1198 myStatus = new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER); 1199 } 1200 return myStatus; 1201 } 1202 1203 1204 /** 1205 * Gets the value(s) for <b>status</b> (status). 1206 * creating it if it does 1207 * not exist. Will not return <code>null</code>. 1208 * 1209 * <p> 1210 * <b>Definition:</b> 1211 * The status of the order 1212 * </p> 1213 */ 1214 public String getStatus() { 1215 return getStatusElement().getValue(); 1216 } 1217 1218 /** 1219 * Sets the value(s) for <b>status</b> (status) 1220 * 1221 * <p> 1222 * <b>Definition:</b> 1223 * The status of the order 1224 * </p> 1225 */ 1226 public DiagnosticOrder setStatus(BoundCodeDt<DiagnosticOrderStatusEnum> theValue) { 1227 myStatus = theValue; 1228 return this; 1229 } 1230 1231 1232 1233 /** 1234 * Sets the value(s) for <b>status</b> (status) 1235 * 1236 * <p> 1237 * <b>Definition:</b> 1238 * The status of the order 1239 * </p> 1240 */ 1241 public DiagnosticOrder setStatus(DiagnosticOrderStatusEnum theValue) { 1242 setStatus(new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER, theValue)); 1243 1244/* 1245 getStatusElement().setValueAsEnum(theValue); 1246*/ 1247 return this; 1248 } 1249 1250 1251 /** 1252 * Gets the value(s) for <b>priority</b> (grade). 1253 * creating it if it does 1254 * not exist. Will not return <code>null</code>. 1255 * 1256 * <p> 1257 * <b>Definition:</b> 1258 * The clinical priority associated with this order 1259 * </p> 1260 */ 1261 public BoundCodeDt<DiagnosticOrderPriorityEnum> getPriorityElement() { 1262 if (myPriority == null) { 1263 myPriority = new BoundCodeDt<DiagnosticOrderPriorityEnum>(DiagnosticOrderPriorityEnum.VALUESET_BINDER); 1264 } 1265 return myPriority; 1266 } 1267 1268 1269 /** 1270 * Gets the value(s) for <b>priority</b> (grade). 1271 * creating it if it does 1272 * not exist. Will not return <code>null</code>. 1273 * 1274 * <p> 1275 * <b>Definition:</b> 1276 * The clinical priority associated with this order 1277 * </p> 1278 */ 1279 public String getPriority() { 1280 return getPriorityElement().getValue(); 1281 } 1282 1283 /** 1284 * Sets the value(s) for <b>priority</b> (grade) 1285 * 1286 * <p> 1287 * <b>Definition:</b> 1288 * The clinical priority associated with this order 1289 * </p> 1290 */ 1291 public DiagnosticOrder setPriority(BoundCodeDt<DiagnosticOrderPriorityEnum> theValue) { 1292 myPriority = theValue; 1293 return this; 1294 } 1295 1296 1297 1298 /** 1299 * Sets the value(s) for <b>priority</b> (grade) 1300 * 1301 * <p> 1302 * <b>Definition:</b> 1303 * The clinical priority associated with this order 1304 * </p> 1305 */ 1306 public DiagnosticOrder setPriority(DiagnosticOrderPriorityEnum theValue) { 1307 setPriority(new BoundCodeDt<DiagnosticOrderPriorityEnum>(DiagnosticOrderPriorityEnum.VALUESET_BINDER, theValue)); 1308 1309/* 1310 getPriorityElement().setValueAsEnum(theValue); 1311*/ 1312 return this; 1313 } 1314 1315 1316 /** 1317 * Gets the value(s) for <b>event</b> (). 1318 * creating it if it does 1319 * not exist. Will not return <code>null</code>. 1320 * 1321 * <p> 1322 * <b>Definition:</b> 1323 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1324 * </p> 1325 */ 1326 public java.util.List<Event> getEvent() { 1327 if (myEvent == null) { 1328 myEvent = new java.util.ArrayList<Event>(); 1329 } 1330 return myEvent; 1331 } 1332 1333 /** 1334 * Sets the value(s) for <b>event</b> () 1335 * 1336 * <p> 1337 * <b>Definition:</b> 1338 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1339 * </p> 1340 */ 1341 public DiagnosticOrder setEvent(java.util.List<Event> theValue) { 1342 myEvent = theValue; 1343 return this; 1344 } 1345 1346 1347 1348 /** 1349 * Adds and returns a new value for <b>event</b> () 1350 * 1351 * <p> 1352 * <b>Definition:</b> 1353 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1354 * </p> 1355 */ 1356 public Event addEvent() { 1357 Event newType = new Event(); 1358 getEvent().add(newType); 1359 return newType; 1360 } 1361 1362 /** 1363 * Adds a given new value for <b>event</b> () 1364 * 1365 * <p> 1366 * <b>Definition:</b> 1367 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1368 * </p> 1369 * @param theValue The event to add (must not be <code>null</code>) 1370 */ 1371 public DiagnosticOrder addEvent(Event theValue) { 1372 if (theValue == null) { 1373 throw new NullPointerException("theValue must not be null"); 1374 } 1375 getEvent().add(theValue); 1376 return this; 1377 } 1378 1379 /** 1380 * Gets the first repetition for <b>event</b> (), 1381 * creating it if it does not already exist. 1382 * 1383 * <p> 1384 * <b>Definition:</b> 1385 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1386 * </p> 1387 */ 1388 public Event getEventFirstRep() { 1389 if (getEvent().isEmpty()) { 1390 return addEvent(); 1391 } 1392 return getEvent().get(0); 1393 } 1394 1395 /** 1396 * Gets the value(s) for <b>item</b> (). 1397 * creating it if it does 1398 * not exist. Will not return <code>null</code>. 1399 * 1400 * <p> 1401 * <b>Definition:</b> 1402 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1403 * </p> 1404 */ 1405 public java.util.List<Item> getItem() { 1406 if (myItem == null) { 1407 myItem = new java.util.ArrayList<Item>(); 1408 } 1409 return myItem; 1410 } 1411 1412 /** 1413 * Sets the value(s) for <b>item</b> () 1414 * 1415 * <p> 1416 * <b>Definition:</b> 1417 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1418 * </p> 1419 */ 1420 public DiagnosticOrder setItem(java.util.List<Item> theValue) { 1421 myItem = theValue; 1422 return this; 1423 } 1424 1425 1426 1427 /** 1428 * Adds and returns a new value for <b>item</b> () 1429 * 1430 * <p> 1431 * <b>Definition:</b> 1432 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1433 * </p> 1434 */ 1435 public Item addItem() { 1436 Item newType = new Item(); 1437 getItem().add(newType); 1438 return newType; 1439 } 1440 1441 /** 1442 * Adds a given new value for <b>item</b> () 1443 * 1444 * <p> 1445 * <b>Definition:</b> 1446 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1447 * </p> 1448 * @param theValue The item to add (must not be <code>null</code>) 1449 */ 1450 public DiagnosticOrder addItem(Item theValue) { 1451 if (theValue == null) { 1452 throw new NullPointerException("theValue must not be null"); 1453 } 1454 getItem().add(theValue); 1455 return this; 1456 } 1457 1458 /** 1459 * Gets the first repetition for <b>item</b> (), 1460 * creating it if it does not already exist. 1461 * 1462 * <p> 1463 * <b>Definition:</b> 1464 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1465 * </p> 1466 */ 1467 public Item getItemFirstRep() { 1468 if (getItem().isEmpty()) { 1469 return addItem(); 1470 } 1471 return getItem().get(0); 1472 } 1473 1474 /** 1475 * Gets the value(s) for <b>note</b> (). 1476 * creating it if it does 1477 * not exist. Will not return <code>null</code>. 1478 * 1479 * <p> 1480 * <b>Definition:</b> 1481 * Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\") 1482 * </p> 1483 */ 1484 public java.util.List<AnnotationDt> getNote() { 1485 if (myNote == null) { 1486 myNote = new java.util.ArrayList<AnnotationDt>(); 1487 } 1488 return myNote; 1489 } 1490 1491 /** 1492 * Sets the value(s) for <b>note</b> () 1493 * 1494 * <p> 1495 * <b>Definition:</b> 1496 * Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\") 1497 * </p> 1498 */ 1499 public DiagnosticOrder setNote(java.util.List<AnnotationDt> theValue) { 1500 myNote = theValue; 1501 return this; 1502 } 1503 1504 1505 1506 /** 1507 * Adds and returns a new value for <b>note</b> () 1508 * 1509 * <p> 1510 * <b>Definition:</b> 1511 * Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\") 1512 * </p> 1513 */ 1514 public AnnotationDt addNote() { 1515 AnnotationDt newType = new AnnotationDt(); 1516 getNote().add(newType); 1517 return newType; 1518 } 1519 1520 /** 1521 * Adds a given new value for <b>note</b> () 1522 * 1523 * <p> 1524 * <b>Definition:</b> 1525 * Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\") 1526 * </p> 1527 * @param theValue The note to add (must not be <code>null</code>) 1528 */ 1529 public DiagnosticOrder addNote(AnnotationDt theValue) { 1530 if (theValue == null) { 1531 throw new NullPointerException("theValue must not be null"); 1532 } 1533 getNote().add(theValue); 1534 return this; 1535 } 1536 1537 /** 1538 * Gets the first repetition for <b>note</b> (), 1539 * creating it if it does not already exist. 1540 * 1541 * <p> 1542 * <b>Definition:</b> 1543 * Any other notes associated with this patient, specimen or order (e.g. \"patient hates needles\") 1544 * </p> 1545 */ 1546 public AnnotationDt getNoteFirstRep() { 1547 if (getNote().isEmpty()) { 1548 return addNote(); 1549 } 1550 return getNote().get(0); 1551 } 1552 1553 /** 1554 * Block class for child element: <b>DiagnosticOrder.event</b> () 1555 * 1556 * <p> 1557 * <b>Definition:</b> 1558 * A summary of the events of interest that have occurred as the request is processed; e.g. when the order was made, various processing steps (specimens received), when it was completed 1559 * </p> 1560 */ 1561 @Block() 1562 public static class Event 1563 extends BaseIdentifiableElement implements IResourceBlock { 1564 1565 @Child(name="status", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false) 1566 @Description( 1567 shortDefinition="", 1568 formalDefinition="The status for the event" 1569 ) 1570 private BoundCodeDt<DiagnosticOrderStatusEnum> myStatus; 1571 1572 @Child(name="description", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1573 @Description( 1574 shortDefinition="", 1575 formalDefinition="Additional information about the event that occurred - e.g. if the status remained unchanged" 1576 ) 1577 private CodeableConceptDt myDescription; 1578 1579 @Child(name="dateTime", type=DateTimeDt.class, order=2, min=1, max=1, summary=true, modifier=false) 1580 @Description( 1581 shortDefinition="", 1582 formalDefinition="The date/time at which the event occurred" 1583 ) 1584 private DateTimeDt myDateTime; 1585 1586 @Child(name="actor", order=3, min=0, max=1, summary=false, modifier=false, type={ 1587 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.Device.class }) 1588 @Description( 1589 shortDefinition="", 1590 formalDefinition="The person responsible for performing or recording the action" 1591 ) 1592 private ResourceReferenceDt myActor; 1593 1594 1595 @Override 1596 public boolean isEmpty() { 1597 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myStatus, myDescription, myDateTime, myActor); 1598 } 1599 1600 @Override 1601 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1602 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myStatus, myDescription, myDateTime, myActor); 1603 } 1604 1605 /** 1606 * Gets the value(s) for <b>status</b> (). 1607 * creating it if it does 1608 * not exist. Will not return <code>null</code>. 1609 * 1610 * <p> 1611 * <b>Definition:</b> 1612 * The status for the event 1613 * </p> 1614 */ 1615 public BoundCodeDt<DiagnosticOrderStatusEnum> getStatusElement() { 1616 if (myStatus == null) { 1617 myStatus = new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER); 1618 } 1619 return myStatus; 1620 } 1621 1622 1623 /** 1624 * Gets the value(s) for <b>status</b> (). 1625 * creating it if it does 1626 * not exist. Will not return <code>null</code>. 1627 * 1628 * <p> 1629 * <b>Definition:</b> 1630 * The status for the event 1631 * </p> 1632 */ 1633 public String getStatus() { 1634 return getStatusElement().getValue(); 1635 } 1636 1637 /** 1638 * Sets the value(s) for <b>status</b> () 1639 * 1640 * <p> 1641 * <b>Definition:</b> 1642 * The status for the event 1643 * </p> 1644 */ 1645 public Event setStatus(BoundCodeDt<DiagnosticOrderStatusEnum> theValue) { 1646 myStatus = theValue; 1647 return this; 1648 } 1649 1650 1651 1652 /** 1653 * Sets the value(s) for <b>status</b> () 1654 * 1655 * <p> 1656 * <b>Definition:</b> 1657 * The status for the event 1658 * </p> 1659 */ 1660 public Event setStatus(DiagnosticOrderStatusEnum theValue) { 1661 setStatus(new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER, theValue)); 1662 1663/* 1664 getStatusElement().setValueAsEnum(theValue); 1665*/ 1666 return this; 1667 } 1668 1669 1670 /** 1671 * Gets the value(s) for <b>description</b> (). 1672 * creating it if it does 1673 * not exist. Will not return <code>null</code>. 1674 * 1675 * <p> 1676 * <b>Definition:</b> 1677 * Additional information about the event that occurred - e.g. if the status remained unchanged 1678 * </p> 1679 */ 1680 public CodeableConceptDt getDescription() { 1681 if (myDescription == null) { 1682 myDescription = new CodeableConceptDt(); 1683 } 1684 return myDescription; 1685 } 1686 1687 /** 1688 * Sets the value(s) for <b>description</b> () 1689 * 1690 * <p> 1691 * <b>Definition:</b> 1692 * Additional information about the event that occurred - e.g. if the status remained unchanged 1693 * </p> 1694 */ 1695 public Event setDescription(CodeableConceptDt theValue) { 1696 myDescription = theValue; 1697 return this; 1698 } 1699 1700 1701 1702 1703 /** 1704 * Gets the value(s) for <b>dateTime</b> (). 1705 * creating it if it does 1706 * not exist. Will not return <code>null</code>. 1707 * 1708 * <p> 1709 * <b>Definition:</b> 1710 * The date/time at which the event occurred 1711 * </p> 1712 */ 1713 public DateTimeDt getDateTimeElement() { 1714 if (myDateTime == null) { 1715 myDateTime = new DateTimeDt(); 1716 } 1717 return myDateTime; 1718 } 1719 1720 1721 /** 1722 * Gets the value(s) for <b>dateTime</b> (). 1723 * creating it if it does 1724 * not exist. Will not return <code>null</code>. 1725 * 1726 * <p> 1727 * <b>Definition:</b> 1728 * The date/time at which the event occurred 1729 * </p> 1730 */ 1731 public Date getDateTime() { 1732 return getDateTimeElement().getValue(); 1733 } 1734 1735 /** 1736 * Sets the value(s) for <b>dateTime</b> () 1737 * 1738 * <p> 1739 * <b>Definition:</b> 1740 * The date/time at which the event occurred 1741 * </p> 1742 */ 1743 public Event setDateTime(DateTimeDt theValue) { 1744 myDateTime = theValue; 1745 return this; 1746 } 1747 1748 1749 1750 /** 1751 * Sets the value for <b>dateTime</b> () 1752 * 1753 * <p> 1754 * <b>Definition:</b> 1755 * The date/time at which the event occurred 1756 * </p> 1757 */ 1758 public Event setDateTime( Date theDate, TemporalPrecisionEnum thePrecision) { 1759 myDateTime = new DateTimeDt(theDate, thePrecision); 1760 return this; 1761 } 1762 1763 /** 1764 * Sets the value for <b>dateTime</b> () 1765 * 1766 * <p> 1767 * <b>Definition:</b> 1768 * The date/time at which the event occurred 1769 * </p> 1770 */ 1771 public Event setDateTimeWithSecondsPrecision( Date theDate) { 1772 myDateTime = new DateTimeDt(theDate); 1773 return this; 1774 } 1775 1776 1777 /** 1778 * Gets the value(s) for <b>actor</b> (). 1779 * creating it if it does 1780 * not exist. Will not return <code>null</code>. 1781 * 1782 * <p> 1783 * <b>Definition:</b> 1784 * The person responsible for performing or recording the action 1785 * </p> 1786 */ 1787 public ResourceReferenceDt getActor() { 1788 if (myActor == null) { 1789 myActor = new ResourceReferenceDt(); 1790 } 1791 return myActor; 1792 } 1793 1794 /** 1795 * Sets the value(s) for <b>actor</b> () 1796 * 1797 * <p> 1798 * <b>Definition:</b> 1799 * The person responsible for performing or recording the action 1800 * </p> 1801 */ 1802 public Event setActor(ResourceReferenceDt theValue) { 1803 myActor = theValue; 1804 return this; 1805 } 1806 1807 1808 1809 1810 1811 1812 } 1813 1814 1815 /** 1816 * Block class for child element: <b>DiagnosticOrder.item</b> () 1817 * 1818 * <p> 1819 * <b>Definition:</b> 1820 * The specific diagnostic investigations that are requested as part of this request. Sometimes, there can only be one item per request, but in most contexts, more than one investigation can be requested 1821 * </p> 1822 */ 1823 @Block() 1824 public static class Item 1825 extends BaseIdentifiableElement implements IResourceBlock { 1826 1827 @Child(name="code", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=true, modifier=false) 1828 @Description( 1829 shortDefinition="", 1830 formalDefinition="A code that identifies a particular diagnostic investigation, or panel of investigations, that have been requested" 1831 ) 1832 private CodeableConceptDt myCode; 1833 1834 @Child(name="specimen", order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 1835 ca.uhn.fhir.model.dstu2.resource.Specimen.class }) 1836 @Description( 1837 shortDefinition="", 1838 formalDefinition="If the item is related to a specific specimen" 1839 ) 1840 private java.util.List<ResourceReferenceDt> mySpecimen; 1841 1842 @Child(name="bodySite", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1843 @Description( 1844 shortDefinition="", 1845 formalDefinition="Anatomical location where the request test should be performed. This is the target site." 1846 ) 1847 private CodeableConceptDt myBodySite; 1848 1849 @Child(name="status", type=CodeDt.class, order=3, min=0, max=1, summary=true, modifier=false) 1850 @Description( 1851 shortDefinition="", 1852 formalDefinition="The status of this individual item within the order" 1853 ) 1854 private BoundCodeDt<DiagnosticOrderStatusEnum> myStatus; 1855 1856 @Child(name="event", type=Event.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1857 @Description( 1858 shortDefinition="", 1859 formalDefinition="A summary of the events of interest that have occurred as this item of the request is processed" 1860 ) 1861 private java.util.List<Event> myEvent; 1862 1863 1864 @Override 1865 public boolean isEmpty() { 1866 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, mySpecimen, myBodySite, myStatus, myEvent); 1867 } 1868 1869 @Override 1870 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1871 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, mySpecimen, myBodySite, myStatus, myEvent); 1872 } 1873 1874 /** 1875 * Gets the value(s) for <b>code</b> (). 1876 * creating it if it does 1877 * not exist. Will not return <code>null</code>. 1878 * 1879 * <p> 1880 * <b>Definition:</b> 1881 * A code that identifies a particular diagnostic investigation, or panel of investigations, that have been requested 1882 * </p> 1883 */ 1884 public CodeableConceptDt getCode() { 1885 if (myCode == null) { 1886 myCode = new CodeableConceptDt(); 1887 } 1888 return myCode; 1889 } 1890 1891 /** 1892 * Sets the value(s) for <b>code</b> () 1893 * 1894 * <p> 1895 * <b>Definition:</b> 1896 * A code that identifies a particular diagnostic investigation, or panel of investigations, that have been requested 1897 * </p> 1898 */ 1899 public Item setCode(CodeableConceptDt theValue) { 1900 myCode = theValue; 1901 return this; 1902 } 1903 1904 1905 1906 1907 /** 1908 * Gets the value(s) for <b>specimen</b> (). 1909 * creating it if it does 1910 * not exist. Will not return <code>null</code>. 1911 * 1912 * <p> 1913 * <b>Definition:</b> 1914 * If the item is related to a specific specimen 1915 * </p> 1916 */ 1917 public java.util.List<ResourceReferenceDt> getSpecimen() { 1918 if (mySpecimen == null) { 1919 mySpecimen = new java.util.ArrayList<ResourceReferenceDt>(); 1920 } 1921 return mySpecimen; 1922 } 1923 1924 /** 1925 * Sets the value(s) for <b>specimen</b> () 1926 * 1927 * <p> 1928 * <b>Definition:</b> 1929 * If the item is related to a specific specimen 1930 * </p> 1931 */ 1932 public Item setSpecimen(java.util.List<ResourceReferenceDt> theValue) { 1933 mySpecimen = theValue; 1934 return this; 1935 } 1936 1937 1938 1939 /** 1940 * Adds and returns a new value for <b>specimen</b> () 1941 * 1942 * <p> 1943 * <b>Definition:</b> 1944 * If the item is related to a specific specimen 1945 * </p> 1946 */ 1947 public ResourceReferenceDt addSpecimen() { 1948 ResourceReferenceDt newType = new ResourceReferenceDt(); 1949 getSpecimen().add(newType); 1950 return newType; 1951 } 1952 1953 /** 1954 * Gets the value(s) for <b>bodySite</b> (). 1955 * creating it if it does 1956 * not exist. Will not return <code>null</code>. 1957 * 1958 * <p> 1959 * <b>Definition:</b> 1960 * Anatomical location where the request test should be performed. This is the target site. 1961 * </p> 1962 */ 1963 public CodeableConceptDt getBodySite() { 1964 if (myBodySite == null) { 1965 myBodySite = new CodeableConceptDt(); 1966 } 1967 return myBodySite; 1968 } 1969 1970 /** 1971 * Sets the value(s) for <b>bodySite</b> () 1972 * 1973 * <p> 1974 * <b>Definition:</b> 1975 * Anatomical location where the request test should be performed. This is the target site. 1976 * </p> 1977 */ 1978 public Item setBodySite(CodeableConceptDt theValue) { 1979 myBodySite = theValue; 1980 return this; 1981 } 1982 1983 1984 1985 1986 /** 1987 * Gets the value(s) for <b>status</b> (). 1988 * creating it if it does 1989 * not exist. Will not return <code>null</code>. 1990 * 1991 * <p> 1992 * <b>Definition:</b> 1993 * The status of this individual item within the order 1994 * </p> 1995 */ 1996 public BoundCodeDt<DiagnosticOrderStatusEnum> getStatusElement() { 1997 if (myStatus == null) { 1998 myStatus = new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER); 1999 } 2000 return myStatus; 2001 } 2002 2003 2004 /** 2005 * Gets the value(s) for <b>status</b> (). 2006 * creating it if it does 2007 * not exist. Will not return <code>null</code>. 2008 * 2009 * <p> 2010 * <b>Definition:</b> 2011 * The status of this individual item within the order 2012 * </p> 2013 */ 2014 public String getStatus() { 2015 return getStatusElement().getValue(); 2016 } 2017 2018 /** 2019 * Sets the value(s) for <b>status</b> () 2020 * 2021 * <p> 2022 * <b>Definition:</b> 2023 * The status of this individual item within the order 2024 * </p> 2025 */ 2026 public Item setStatus(BoundCodeDt<DiagnosticOrderStatusEnum> theValue) { 2027 myStatus = theValue; 2028 return this; 2029 } 2030 2031 2032 2033 /** 2034 * Sets the value(s) for <b>status</b> () 2035 * 2036 * <p> 2037 * <b>Definition:</b> 2038 * The status of this individual item within the order 2039 * </p> 2040 */ 2041 public Item setStatus(DiagnosticOrderStatusEnum theValue) { 2042 setStatus(new BoundCodeDt<DiagnosticOrderStatusEnum>(DiagnosticOrderStatusEnum.VALUESET_BINDER, theValue)); 2043 2044/* 2045 getStatusElement().setValueAsEnum(theValue); 2046*/ 2047 return this; 2048 } 2049 2050 2051 /** 2052 * Gets the value(s) for <b>event</b> (). 2053 * creating it if it does 2054 * not exist. Will not return <code>null</code>. 2055 * 2056 * <p> 2057 * <b>Definition:</b> 2058 * A summary of the events of interest that have occurred as this item of the request is processed 2059 * </p> 2060 */ 2061 public java.util.List<Event> getEvent() { 2062 if (myEvent == null) { 2063 myEvent = new java.util.ArrayList<Event>(); 2064 } 2065 return myEvent; 2066 } 2067 2068 /** 2069 * Sets the value(s) for <b>event</b> () 2070 * 2071 * <p> 2072 * <b>Definition:</b> 2073 * A summary of the events of interest that have occurred as this item of the request is processed 2074 * </p> 2075 */ 2076 public Item setEvent(java.util.List<Event> theValue) { 2077 myEvent = theValue; 2078 return this; 2079 } 2080 2081 2082 2083 /** 2084 * Adds and returns a new value for <b>event</b> () 2085 * 2086 * <p> 2087 * <b>Definition:</b> 2088 * A summary of the events of interest that have occurred as this item of the request is processed 2089 * </p> 2090 */ 2091 public Event addEvent() { 2092 Event newType = new Event(); 2093 getEvent().add(newType); 2094 return newType; 2095 } 2096 2097 /** 2098 * Adds a given new value for <b>event</b> () 2099 * 2100 * <p> 2101 * <b>Definition:</b> 2102 * A summary of the events of interest that have occurred as this item of the request is processed 2103 * </p> 2104 * @param theValue The event to add (must not be <code>null</code>) 2105 */ 2106 public Item addEvent(Event theValue) { 2107 if (theValue == null) { 2108 throw new NullPointerException("theValue must not be null"); 2109 } 2110 getEvent().add(theValue); 2111 return this; 2112 } 2113 2114 /** 2115 * Gets the first repetition for <b>event</b> (), 2116 * creating it if it does not already exist. 2117 * 2118 * <p> 2119 * <b>Definition:</b> 2120 * A summary of the events of interest that have occurred as this item of the request is processed 2121 * </p> 2122 */ 2123 public Event getEventFirstRep() { 2124 if (getEvent().isEmpty()) { 2125 return addEvent(); 2126 } 2127 return getEvent().get(0); 2128 } 2129 2130 2131 2132 } 2133 2134 2135 2136 2137 @Override 2138 public String getResourceName() { 2139 return "DiagnosticOrder"; 2140 } 2141 2142 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2143 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2144 } 2145 2146 2147}