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>Substance</b> Resource 320 * (administrative.entity) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A homogeneous material with a definite composition. 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/Substance">http://hl7.org/fhir/profiles/Substance</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Substance", profile="http://hl7.org/fhir/profiles/Substance", id="substance") 339public class Substance extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>code</b> 344 * <p> 345 * Description: <b>The code of the substance</b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>Substance.code</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="code", path="Substance.code", description="The code of the substance", type="token" ) 351 public static final String SP_CODE = "code"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>code</b> 355 * <p> 356 * Description: <b>The code of the substance</b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>Substance.code</b><br> 359 * </p> 360 */ 361 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 362 363 /** 364 * Search parameter constant for <b>category</b> 365 * <p> 366 * Description: <b>The category of the substance</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>Substance.category</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="category", path="Substance.category", description="The category of the substance", type="token" ) 372 public static final String SP_CATEGORY = "category"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>category</b> 376 * <p> 377 * Description: <b>The category of the substance</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>Substance.category</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY); 383 384 /** 385 * Search parameter constant for <b>container-identifier</b> 386 * <p> 387 * Description: <b>Identifier of the package/container</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>Substance.instance.identifier</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="container-identifier", path="Substance.instance.identifier", description="Identifier of the package/container", type="token" ) 393 public static final String SP_CONTAINER_IDENTIFIER = "container-identifier"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>container-identifier</b> 397 * <p> 398 * Description: <b>Identifier of the package/container</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>Substance.instance.identifier</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam CONTAINER_IDENTIFIER = new TokenClientParam(SP_CONTAINER_IDENTIFIER); 404 405 /** 406 * Search parameter constant for <b>expiry</b> 407 * <p> 408 * Description: <b>Expiry date of package or container of substance</b><br> 409 * Type: <b>date</b><br> 410 * Path: <b>Substance.instance.expiry</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="expiry", path="Substance.instance.expiry", description="Expiry date of package or container of substance", type="date" ) 414 public static final String SP_EXPIRY = "expiry"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>expiry</b> 418 * <p> 419 * Description: <b>Expiry date of package or container of substance</b><br> 420 * Type: <b>date</b><br> 421 * Path: <b>Substance.instance.expiry</b><br> 422 * </p> 423 */ 424 public static final DateClientParam EXPIRY = new DateClientParam(SP_EXPIRY); 425 426 /** 427 * Search parameter constant for <b>quantity</b> 428 * <p> 429 * Description: <b>Amount of substance in the package</b><br> 430 * Type: <b>quantity</b><br> 431 * Path: <b>Substance.instance.quantity</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="quantity", path="Substance.instance.quantity", description="Amount of substance in the package", type="quantity" ) 435 public static final String SP_QUANTITY = "quantity"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>quantity</b> 439 * <p> 440 * Description: <b>Amount of substance in the package</b><br> 441 * Type: <b>quantity</b><br> 442 * Path: <b>Substance.instance.quantity</b><br> 443 * </p> 444 */ 445 public static final QuantityClientParam QUANTITY = new QuantityClientParam(SP_QUANTITY); 446 447 /** 448 * Search parameter constant for <b>substance</b> 449 * <p> 450 * Description: <b>A component of the substance</b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>Substance.ingredient.substance</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="substance", path="Substance.ingredient.substance", description="A component of the substance", type="reference" ) 456 public static final String SP_SUBSTANCE = "substance"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>substance</b> 460 * <p> 461 * Description: <b>A component of the substance</b><br> 462 * Type: <b>reference</b><br> 463 * Path: <b>Substance.ingredient.substance</b><br> 464 * </p> 465 */ 466 public static final ReferenceClientParam SUBSTANCE = new ReferenceClientParam(SP_SUBSTANCE); 467 468 /** 469 * Search parameter constant for <b>identifier</b> 470 * <p> 471 * Description: <b>Unique identifier for the substance</b><br> 472 * Type: <b>token</b><br> 473 * Path: <b>Substance.identifier</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="identifier", path="Substance.identifier", description="Unique identifier for the substance", type="token" ) 477 public static final String SP_IDENTIFIER = "identifier"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 481 * <p> 482 * Description: <b>Unique identifier for the substance</b><br> 483 * Type: <b>token</b><br> 484 * Path: <b>Substance.identifier</b><br> 485 * </p> 486 */ 487 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 488 489 490 /** 491 * Constant for fluent queries to be used to add include statements. Specifies 492 * the path value of "<b>Substance:substance</b>". 493 */ 494 public static final Include INCLUDE_SUBSTANCE = new Include("Substance:substance"); 495 496 497 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 498 @Description( 499 shortDefinition="", 500 formalDefinition="Unique identifier for the substance" 501 ) 502 private java.util.List<IdentifierDt> myIdentifier; 503 504 @Child(name="category", type=CodeableConceptDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 505 @Description( 506 shortDefinition="class", 507 formalDefinition="A code that classifies the general type of substance. This is used for searching, sorting and display purposes." 508 ) 509 private java.util.List<BoundCodeableConceptDt<SubstanceCategoryCodesEnum>> myCategory; 510 511 @Child(name="code", type=CodeableConceptDt.class, order=2, min=1, max=1, summary=true, modifier=false) 512 @Description( 513 shortDefinition="what", 514 formalDefinition="A code (or set of codes) that identify this substance" 515 ) 516 private CodeableConceptDt myCode; 517 518 @Child(name="description", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false) 519 @Description( 520 shortDefinition="", 521 formalDefinition="A description of the substance - its appearance, handling requirements, and other usage notes" 522 ) 523 private StringDt myDescription; 524 525 @Child(name="instance", order=4, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 526 @Description( 527 shortDefinition="class", 528 formalDefinition="Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance" 529 ) 530 private java.util.List<Instance> myInstance; 531 532 @Child(name="ingredient", order=5, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 533 @Description( 534 shortDefinition="", 535 formalDefinition="A substance can be composed of other substances" 536 ) 537 private java.util.List<Ingredient> myIngredient; 538 539 540 @Override 541 public boolean isEmpty() { 542 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myCategory, myCode, myDescription, myInstance, myIngredient); 543 } 544 545 @Override 546 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 547 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myCategory, myCode, myDescription, myInstance, myIngredient); 548 } 549 550 /** 551 * Gets the value(s) for <b>identifier</b> (). 552 * creating it if it does 553 * not exist. Will not return <code>null</code>. 554 * 555 * <p> 556 * <b>Definition:</b> 557 * Unique identifier for the substance 558 * </p> 559 */ 560 public java.util.List<IdentifierDt> getIdentifier() { 561 if (myIdentifier == null) { 562 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 563 } 564 return myIdentifier; 565 } 566 567 /** 568 * Sets the value(s) for <b>identifier</b> () 569 * 570 * <p> 571 * <b>Definition:</b> 572 * Unique identifier for the substance 573 * </p> 574 */ 575 public Substance setIdentifier(java.util.List<IdentifierDt> theValue) { 576 myIdentifier = theValue; 577 return this; 578 } 579 580 581 582 /** 583 * Adds and returns a new value for <b>identifier</b> () 584 * 585 * <p> 586 * <b>Definition:</b> 587 * Unique identifier for the substance 588 * </p> 589 */ 590 public IdentifierDt addIdentifier() { 591 IdentifierDt newType = new IdentifierDt(); 592 getIdentifier().add(newType); 593 return newType; 594 } 595 596 /** 597 * Adds a given new value for <b>identifier</b> () 598 * 599 * <p> 600 * <b>Definition:</b> 601 * Unique identifier for the substance 602 * </p> 603 * @param theValue The identifier to add (must not be <code>null</code>) 604 */ 605 public Substance addIdentifier(IdentifierDt theValue) { 606 if (theValue == null) { 607 throw new NullPointerException("theValue must not be null"); 608 } 609 getIdentifier().add(theValue); 610 return this; 611 } 612 613 /** 614 * Gets the first repetition for <b>identifier</b> (), 615 * creating it if it does not already exist. 616 * 617 * <p> 618 * <b>Definition:</b> 619 * Unique identifier for the substance 620 * </p> 621 */ 622 public IdentifierDt getIdentifierFirstRep() { 623 if (getIdentifier().isEmpty()) { 624 return addIdentifier(); 625 } 626 return getIdentifier().get(0); 627 } 628 629 /** 630 * Gets the value(s) for <b>category</b> (class). 631 * creating it if it does 632 * not exist. Will not return <code>null</code>. 633 * 634 * <p> 635 * <b>Definition:</b> 636 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 637 * </p> 638 */ 639 public java.util.List<BoundCodeableConceptDt<SubstanceCategoryCodesEnum>> getCategory() { 640 if (myCategory == null) { 641 myCategory = new java.util.ArrayList<BoundCodeableConceptDt<SubstanceCategoryCodesEnum>>(); 642 } 643 return myCategory; 644 } 645 646 /** 647 * Sets the value(s) for <b>category</b> (class) 648 * 649 * <p> 650 * <b>Definition:</b> 651 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 652 * </p> 653 */ 654 public Substance setCategory(java.util.List<BoundCodeableConceptDt<SubstanceCategoryCodesEnum>> theValue) { 655 myCategory = theValue; 656 return this; 657 } 658 659 660 661 /** 662 * Add a value for <b>category</b> (class) using an enumerated type. This 663 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 664 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 665 * you may also use the {@link #addCategory()} method. 666 * 667 * <p> 668 * <b>Definition:</b> 669 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 670 * </p> 671 */ 672 public BoundCodeableConceptDt<SubstanceCategoryCodesEnum> addCategory(SubstanceCategoryCodesEnum theValue) { 673 BoundCodeableConceptDt<SubstanceCategoryCodesEnum> retVal = new BoundCodeableConceptDt<SubstanceCategoryCodesEnum>(SubstanceCategoryCodesEnum.VALUESET_BINDER, theValue); 674 getCategory().add(retVal); 675 return retVal; 676 } 677 678 /** 679 * Gets the first repetition for <b>category</b> (class), 680 * creating it if it does not already exist. 681 * 682 * <p> 683 * <b>Definition:</b> 684 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 685 * </p> 686 */ 687 public BoundCodeableConceptDt<SubstanceCategoryCodesEnum> getCategoryFirstRep() { 688 if (getCategory().size() == 0) { 689 addCategory(); 690 } 691 return getCategory().get(0); 692 } 693 694 /** 695 * Add a value for <b>category</b> (class) 696 * 697 * <p> 698 * <b>Definition:</b> 699 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 700 * </p> 701 */ 702 public BoundCodeableConceptDt<SubstanceCategoryCodesEnum> addCategory() { 703 BoundCodeableConceptDt<SubstanceCategoryCodesEnum> retVal = new BoundCodeableConceptDt<SubstanceCategoryCodesEnum>(SubstanceCategoryCodesEnum.VALUESET_BINDER); 704 getCategory().add(retVal); 705 return retVal; 706 } 707 708 /** 709 * Sets the value(s), and clears any existing value(s) for <b>category</b> (class) 710 * 711 * <p> 712 * <b>Definition:</b> 713 * A code that classifies the general type of substance. This is used for searching, sorting and display purposes. 714 * </p> 715 */ 716 public Substance setCategory(SubstanceCategoryCodesEnum theValue) { 717 getCategory().clear(); 718 addCategory(theValue); 719 return this; 720 } 721 722 723 /** 724 * Gets the value(s) for <b>code</b> (what). 725 * creating it if it does 726 * not exist. Will not return <code>null</code>. 727 * 728 * <p> 729 * <b>Definition:</b> 730 * A code (or set of codes) that identify this substance 731 * </p> 732 */ 733 public CodeableConceptDt getCode() { 734 if (myCode == null) { 735 myCode = new CodeableConceptDt(); 736 } 737 return myCode; 738 } 739 740 /** 741 * Sets the value(s) for <b>code</b> (what) 742 * 743 * <p> 744 * <b>Definition:</b> 745 * A code (or set of codes) that identify this substance 746 * </p> 747 */ 748 public Substance setCode(CodeableConceptDt theValue) { 749 myCode = theValue; 750 return this; 751 } 752 753 754 755 756 /** 757 * Gets the value(s) for <b>description</b> (). 758 * creating it if it does 759 * not exist. Will not return <code>null</code>. 760 * 761 * <p> 762 * <b>Definition:</b> 763 * A description of the substance - its appearance, handling requirements, and other usage notes 764 * </p> 765 */ 766 public StringDt getDescriptionElement() { 767 if (myDescription == null) { 768 myDescription = new StringDt(); 769 } 770 return myDescription; 771 } 772 773 774 /** 775 * Gets the value(s) for <b>description</b> (). 776 * creating it if it does 777 * not exist. Will not return <code>null</code>. 778 * 779 * <p> 780 * <b>Definition:</b> 781 * A description of the substance - its appearance, handling requirements, and other usage notes 782 * </p> 783 */ 784 public String getDescription() { 785 return getDescriptionElement().getValue(); 786 } 787 788 /** 789 * Sets the value(s) for <b>description</b> () 790 * 791 * <p> 792 * <b>Definition:</b> 793 * A description of the substance - its appearance, handling requirements, and other usage notes 794 * </p> 795 */ 796 public Substance setDescription(StringDt theValue) { 797 myDescription = theValue; 798 return this; 799 } 800 801 802 803 /** 804 * Sets the value for <b>description</b> () 805 * 806 * <p> 807 * <b>Definition:</b> 808 * A description of the substance - its appearance, handling requirements, and other usage notes 809 * </p> 810 */ 811 public Substance setDescription( String theString) { 812 myDescription = new StringDt(theString); 813 return this; 814 } 815 816 817 /** 818 * Gets the value(s) for <b>instance</b> (class). 819 * creating it if it does 820 * not exist. Will not return <code>null</code>. 821 * 822 * <p> 823 * <b>Definition:</b> 824 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 825 * </p> 826 */ 827 public java.util.List<Instance> getInstance() { 828 if (myInstance == null) { 829 myInstance = new java.util.ArrayList<Instance>(); 830 } 831 return myInstance; 832 } 833 834 /** 835 * Sets the value(s) for <b>instance</b> (class) 836 * 837 * <p> 838 * <b>Definition:</b> 839 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 840 * </p> 841 */ 842 public Substance setInstance(java.util.List<Instance> theValue) { 843 myInstance = theValue; 844 return this; 845 } 846 847 848 849 /** 850 * Adds and returns a new value for <b>instance</b> (class) 851 * 852 * <p> 853 * <b>Definition:</b> 854 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 855 * </p> 856 */ 857 public Instance addInstance() { 858 Instance newType = new Instance(); 859 getInstance().add(newType); 860 return newType; 861 } 862 863 /** 864 * Adds a given new value for <b>instance</b> (class) 865 * 866 * <p> 867 * <b>Definition:</b> 868 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 869 * </p> 870 * @param theValue The instance to add (must not be <code>null</code>) 871 */ 872 public Substance addInstance(Instance theValue) { 873 if (theValue == null) { 874 throw new NullPointerException("theValue must not be null"); 875 } 876 getInstance().add(theValue); 877 return this; 878 } 879 880 /** 881 * Gets the first repetition for <b>instance</b> (class), 882 * creating it if it does not already exist. 883 * 884 * <p> 885 * <b>Definition:</b> 886 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 887 * </p> 888 */ 889 public Instance getInstanceFirstRep() { 890 if (getInstance().isEmpty()) { 891 return addInstance(); 892 } 893 return getInstance().get(0); 894 } 895 896 /** 897 * Gets the value(s) for <b>ingredient</b> (). 898 * creating it if it does 899 * not exist. Will not return <code>null</code>. 900 * 901 * <p> 902 * <b>Definition:</b> 903 * A substance can be composed of other substances 904 * </p> 905 */ 906 public java.util.List<Ingredient> getIngredient() { 907 if (myIngredient == null) { 908 myIngredient = new java.util.ArrayList<Ingredient>(); 909 } 910 return myIngredient; 911 } 912 913 /** 914 * Sets the value(s) for <b>ingredient</b> () 915 * 916 * <p> 917 * <b>Definition:</b> 918 * A substance can be composed of other substances 919 * </p> 920 */ 921 public Substance setIngredient(java.util.List<Ingredient> theValue) { 922 myIngredient = theValue; 923 return this; 924 } 925 926 927 928 /** 929 * Adds and returns a new value for <b>ingredient</b> () 930 * 931 * <p> 932 * <b>Definition:</b> 933 * A substance can be composed of other substances 934 * </p> 935 */ 936 public Ingredient addIngredient() { 937 Ingredient newType = new Ingredient(); 938 getIngredient().add(newType); 939 return newType; 940 } 941 942 /** 943 * Adds a given new value for <b>ingredient</b> () 944 * 945 * <p> 946 * <b>Definition:</b> 947 * A substance can be composed of other substances 948 * </p> 949 * @param theValue The ingredient to add (must not be <code>null</code>) 950 */ 951 public Substance addIngredient(Ingredient theValue) { 952 if (theValue == null) { 953 throw new NullPointerException("theValue must not be null"); 954 } 955 getIngredient().add(theValue); 956 return this; 957 } 958 959 /** 960 * Gets the first repetition for <b>ingredient</b> (), 961 * creating it if it does not already exist. 962 * 963 * <p> 964 * <b>Definition:</b> 965 * A substance can be composed of other substances 966 * </p> 967 */ 968 public Ingredient getIngredientFirstRep() { 969 if (getIngredient().isEmpty()) { 970 return addIngredient(); 971 } 972 return getIngredient().get(0); 973 } 974 975 /** 976 * Block class for child element: <b>Substance.instance</b> (class) 977 * 978 * <p> 979 * <b>Definition:</b> 980 * Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance 981 * </p> 982 */ 983 @Block() 984 public static class Instance 985 extends BaseIdentifiableElement implements IResourceBlock { 986 987 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=1, summary=true, modifier=false) 988 @Description( 989 shortDefinition="", 990 formalDefinition="Identifier associated with the package/container (usually a label affixed directly)" 991 ) 992 private IdentifierDt myIdentifier; 993 994 @Child(name="expiry", type=DateTimeDt.class, order=1, min=0, max=1, summary=true, modifier=false) 995 @Description( 996 shortDefinition="", 997 formalDefinition="When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry." 998 ) 999 private DateTimeDt myExpiry; 1000 1001 @Child(name="quantity", type=SimpleQuantityDt.class, order=2, min=0, max=1, summary=true, modifier=false) 1002 @Description( 1003 shortDefinition="", 1004 formalDefinition="The amount of the substance" 1005 ) 1006 private SimpleQuantityDt myQuantity; 1007 1008 1009 @Override 1010 public boolean isEmpty() { 1011 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myExpiry, myQuantity); 1012 } 1013 1014 @Override 1015 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1016 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myExpiry, myQuantity); 1017 } 1018 1019 /** 1020 * Gets the value(s) for <b>identifier</b> (). 1021 * creating it if it does 1022 * not exist. Will not return <code>null</code>. 1023 * 1024 * <p> 1025 * <b>Definition:</b> 1026 * Identifier associated with the package/container (usually a label affixed directly) 1027 * </p> 1028 */ 1029 public IdentifierDt getIdentifier() { 1030 if (myIdentifier == null) { 1031 myIdentifier = new IdentifierDt(); 1032 } 1033 return myIdentifier; 1034 } 1035 1036 /** 1037 * Sets the value(s) for <b>identifier</b> () 1038 * 1039 * <p> 1040 * <b>Definition:</b> 1041 * Identifier associated with the package/container (usually a label affixed directly) 1042 * </p> 1043 */ 1044 public Instance setIdentifier(IdentifierDt theValue) { 1045 myIdentifier = theValue; 1046 return this; 1047 } 1048 1049 1050 1051 1052 /** 1053 * Gets the value(s) for <b>expiry</b> (). 1054 * creating it if it does 1055 * not exist. Will not return <code>null</code>. 1056 * 1057 * <p> 1058 * <b>Definition:</b> 1059 * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. 1060 * </p> 1061 */ 1062 public DateTimeDt getExpiryElement() { 1063 if (myExpiry == null) { 1064 myExpiry = new DateTimeDt(); 1065 } 1066 return myExpiry; 1067 } 1068 1069 1070 /** 1071 * Gets the value(s) for <b>expiry</b> (). 1072 * creating it if it does 1073 * not exist. Will not return <code>null</code>. 1074 * 1075 * <p> 1076 * <b>Definition:</b> 1077 * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. 1078 * </p> 1079 */ 1080 public Date getExpiry() { 1081 return getExpiryElement().getValue(); 1082 } 1083 1084 /** 1085 * Sets the value(s) for <b>expiry</b> () 1086 * 1087 * <p> 1088 * <b>Definition:</b> 1089 * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. 1090 * </p> 1091 */ 1092 public Instance setExpiry(DateTimeDt theValue) { 1093 myExpiry = theValue; 1094 return this; 1095 } 1096 1097 1098 1099 /** 1100 * Sets the value for <b>expiry</b> () 1101 * 1102 * <p> 1103 * <b>Definition:</b> 1104 * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. 1105 * </p> 1106 */ 1107 public Instance setExpiry( Date theDate, TemporalPrecisionEnum thePrecision) { 1108 myExpiry = new DateTimeDt(theDate, thePrecision); 1109 return this; 1110 } 1111 1112 /** 1113 * Sets the value for <b>expiry</b> () 1114 * 1115 * <p> 1116 * <b>Definition:</b> 1117 * When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry. 1118 * </p> 1119 */ 1120 public Instance setExpiryWithSecondsPrecision( Date theDate) { 1121 myExpiry = new DateTimeDt(theDate); 1122 return this; 1123 } 1124 1125 1126 /** 1127 * Gets the value(s) for <b>quantity</b> (). 1128 * creating it if it does 1129 * not exist. Will not return <code>null</code>. 1130 * 1131 * <p> 1132 * <b>Definition:</b> 1133 * The amount of the substance 1134 * </p> 1135 */ 1136 public SimpleQuantityDt getQuantity() { 1137 if (myQuantity == null) { 1138 myQuantity = new SimpleQuantityDt(); 1139 } 1140 return myQuantity; 1141 } 1142 1143 /** 1144 * Sets the value(s) for <b>quantity</b> () 1145 * 1146 * <p> 1147 * <b>Definition:</b> 1148 * The amount of the substance 1149 * </p> 1150 */ 1151 public Instance setQuantity(SimpleQuantityDt theValue) { 1152 myQuantity = theValue; 1153 return this; 1154 } 1155 1156 1157 1158 1159 1160 1161 } 1162 1163 1164 /** 1165 * Block class for child element: <b>Substance.ingredient</b> () 1166 * 1167 * <p> 1168 * <b>Definition:</b> 1169 * A substance can be composed of other substances 1170 * </p> 1171 */ 1172 @Block() 1173 public static class Ingredient 1174 extends BaseIdentifiableElement implements IResourceBlock { 1175 1176 @Child(name="quantity", type=RatioDt.class, order=0, min=0, max=1, summary=true, modifier=false) 1177 @Description( 1178 shortDefinition="", 1179 formalDefinition="The amount of the ingredient in the substance - a concentration ratio" 1180 ) 1181 private RatioDt myQuantity; 1182 1183 @Child(name="substance", order=1, min=1, max=1, summary=true, modifier=false, type={ 1184 ca.uhn.fhir.model.dstu2.resource.Substance.class }) 1185 @Description( 1186 shortDefinition="", 1187 formalDefinition="Another substance that is a component of this substance" 1188 ) 1189 private ResourceReferenceDt mySubstance; 1190 1191 1192 @Override 1193 public boolean isEmpty() { 1194 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myQuantity, mySubstance); 1195 } 1196 1197 @Override 1198 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1199 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myQuantity, mySubstance); 1200 } 1201 1202 /** 1203 * Gets the value(s) for <b>quantity</b> (). 1204 * creating it if it does 1205 * not exist. Will not return <code>null</code>. 1206 * 1207 * <p> 1208 * <b>Definition:</b> 1209 * The amount of the ingredient in the substance - a concentration ratio 1210 * </p> 1211 */ 1212 public RatioDt getQuantity() { 1213 if (myQuantity == null) { 1214 myQuantity = new RatioDt(); 1215 } 1216 return myQuantity; 1217 } 1218 1219 /** 1220 * Sets the value(s) for <b>quantity</b> () 1221 * 1222 * <p> 1223 * <b>Definition:</b> 1224 * The amount of the ingredient in the substance - a concentration ratio 1225 * </p> 1226 */ 1227 public Ingredient setQuantity(RatioDt theValue) { 1228 myQuantity = theValue; 1229 return this; 1230 } 1231 1232 1233 1234 1235 /** 1236 * Gets the value(s) for <b>substance</b> (). 1237 * creating it if it does 1238 * not exist. Will not return <code>null</code>. 1239 * 1240 * <p> 1241 * <b>Definition:</b> 1242 * Another substance that is a component of this substance 1243 * </p> 1244 */ 1245 public ResourceReferenceDt getSubstance() { 1246 if (mySubstance == null) { 1247 mySubstance = new ResourceReferenceDt(); 1248 } 1249 return mySubstance; 1250 } 1251 1252 /** 1253 * Sets the value(s) for <b>substance</b> () 1254 * 1255 * <p> 1256 * <b>Definition:</b> 1257 * Another substance that is a component of this substance 1258 * </p> 1259 */ 1260 public Ingredient setSubstance(ResourceReferenceDt theValue) { 1261 mySubstance = theValue; 1262 return this; 1263 } 1264 1265 1266 1267 1268 1269 1270 } 1271 1272 1273 1274 1275 @Override 1276 public String getResourceName() { 1277 return "Substance"; 1278 } 1279 1280 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1281 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1282 } 1283 1284 1285}