001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 043import ca.uhn.fhir.model.dstu2.resource.Appointment; 044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 057import ca.uhn.fhir.model.dstu2.resource.BodySite; 058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 059import ca.uhn.fhir.model.dstu2.resource.CarePlan; 060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 063import ca.uhn.fhir.model.dstu2.resource.Claim; 064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 069import ca.uhn.fhir.model.dstu2.composite.CodingDt; 070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 073import ca.uhn.fhir.model.dstu2.resource.Composition; 074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 077import ca.uhn.fhir.model.dstu2.resource.Condition; 078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 082import ca.uhn.fhir.model.dstu2.resource.Conformance; 083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 088import ca.uhn.fhir.model.dstu2.resource.Contract; 089import ca.uhn.fhir.model.dstu2.resource.Coverage; 090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 093import ca.uhn.fhir.model.dstu2.resource.Device; 094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 112import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 117import ca.uhn.fhir.model.dstu2.resource.Encounter; 118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 129import ca.uhn.fhir.model.dstu2.resource.Goal; 130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 132import ca.uhn.fhir.model.dstu2.resource.Group; 133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 138import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 145import ca.uhn.fhir.model.dstu2.resource.Immunization; 146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 154import ca.uhn.fhir.model.dstu2.resource.Location; 155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 160import ca.uhn.fhir.model.dstu2.resource.Media; 161import ca.uhn.fhir.model.dstu2.resource.Medication; 162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 171import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 177import ca.uhn.fhir.model.dstu2.resource.Observation; 178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 184import ca.uhn.fhir.model.dstu2.resource.Order; 185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.Organization; 187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 191import ca.uhn.fhir.model.dstu2.resource.Patient; 192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 193import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 194import ca.uhn.fhir.model.dstu2.resource.Person; 195import ca.uhn.fhir.model.dstu2.resource.Practitioner; 196import ca.uhn.fhir.model.dstu2.resource.Procedure; 197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 203import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 204import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 208import ca.uhn.fhir.model.dstu2.composite.RangeDt; 209import ca.uhn.fhir.model.dstu2.composite.RatioDt; 210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 223import ca.uhn.fhir.model.dstu2.resource.Schedule; 224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 228import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 229import ca.uhn.fhir.model.dstu2.resource.Slot; 230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.Specimen; 232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 237import ca.uhn.fhir.model.dstu2.resource.Substance; 238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 243import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 244import ca.uhn.fhir.model.dstu2.composite.TimingDt; 245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 249import ca.uhn.fhir.model.dstu2.resource.ValueSet; 250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 254import ca.uhn.fhir.model.api.IResource; 255import ca.uhn.fhir.model.dstu2.composite.AgeDt; 256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 257import ca.uhn.fhir.model.dstu2.composite.DurationDt; 258import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 262import ca.uhn.fhir.model.primitive.Base64BinaryDt; 263import ca.uhn.fhir.model.primitive.BooleanDt; 264import ca.uhn.fhir.model.primitive.BoundCodeDt; 265import ca.uhn.fhir.model.primitive.CodeDt; 266import ca.uhn.fhir.model.primitive.DateDt; 267import ca.uhn.fhir.model.primitive.DateTimeDt; 268import ca.uhn.fhir.model.primitive.DecimalDt; 269import ca.uhn.fhir.model.primitive.IdDt; 270import ca.uhn.fhir.model.primitive.InstantDt; 271import ca.uhn.fhir.model.primitive.IntegerDt; 272import ca.uhn.fhir.model.primitive.OidDt; 273import ca.uhn.fhir.model.primitive.PositiveIntDt; 274import ca.uhn.fhir.model.primitive.StringDt; 275import ca.uhn.fhir.model.primitive.TimeDt; 276import ca.uhn.fhir.model.primitive.UnsignedIntDt; 277import ca.uhn.fhir.model.primitive.UriDt; 278 279 280/** 281 * HAPI/FHIR <b>MedicationStatement</b> Resource 282 * (clinical.medication) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/MedicationStatement">http://hl7.org/fhir/profiles/MedicationStatement</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="MedicationStatement", profile="http://hl7.org/fhir/profiles/MedicationStatement", id="medicationstatement") 301public class MedicationStatement extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>identifier</b> 307 * <p> 308 * Description: <b>Return statements with this external identifier</b><br> 309 * Type: <b>token</b><br> 310 * Path: <b>MedicationStatement.identifier</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="identifier", path="MedicationStatement.identifier", description="Return statements with this external identifier", type="token" 314 ) 315 public static final String SP_IDENTIFIER = "identifier"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 319 * <p> 320 * Description: <b>Return statements with this external identifier</b><br> 321 * Type: <b>token</b><br> 322 * Path: <b>MedicationStatement.identifier</b><br> 323 * </p> 324 */ 325 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 326 327 /** 328 * Search parameter constant for <b>medication</b> 329 * <p> 330 * Description: <b>Return administrations of this medication reference</b><br> 331 * Type: <b>reference</b><br> 332 * Path: <b>MedicationStatement.medicationReference</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="medication", path="MedicationStatement.medicationReference", description="Return administrations of this medication reference", type="reference" 336 ) 337 public static final String SP_MEDICATION = "medication"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>medication</b> 341 * <p> 342 * Description: <b>Return administrations of this medication reference</b><br> 343 * Type: <b>reference</b><br> 344 * Path: <b>MedicationStatement.medicationReference</b><br> 345 * </p> 346 */ 347 public static final ReferenceClientParam MEDICATION = new ReferenceClientParam(SP_MEDICATION); 348 349 /** 350 * Search parameter constant for <b>code</b> 351 * <p> 352 * Description: <b>Return administrations of this medication code</b><br> 353 * Type: <b>token</b><br> 354 * Path: <b>MedicationStatement.medicationCodeableConcept</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="code", path="MedicationStatement.medicationCodeableConcept", description="Return administrations of this medication code", type="token" 358 ) 359 public static final String SP_CODE = "code"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>code</b> 363 * <p> 364 * Description: <b>Return administrations of this medication code</b><br> 365 * Type: <b>token</b><br> 366 * Path: <b>MedicationStatement.medicationCodeableConcept</b><br> 367 * </p> 368 */ 369 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 370 371 /** 372 * Search parameter constant for <b>patient</b> 373 * <p> 374 * Description: <b>The identity of a patient to list statements for</b><br> 375 * Type: <b>reference</b><br> 376 * Path: <b>MedicationStatement.patient</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="patient", path="MedicationStatement.patient", description="The identity of a patient to list statements for", type="reference" 380, providesMembershipIn={ 381 @Compartment(name="Patient") } 382 ) 383 public static final String SP_PATIENT = "patient"; 384 385 /** 386 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 387 * <p> 388 * Description: <b>The identity of a patient to list statements for</b><br> 389 * Type: <b>reference</b><br> 390 * Path: <b>MedicationStatement.patient</b><br> 391 * </p> 392 */ 393 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 394 395 /** 396 * Search parameter constant for <b>effectivedate</b> 397 * <p> 398 * Description: <b>Date when patient was taking (or not taking) the medication</b><br> 399 * Type: <b>date</b><br> 400 * Path: <b>MedicationStatement.effective[x]</b><br> 401 * </p> 402 */ 403 @SearchParamDefinition(name="effectivedate", path="MedicationStatement.effective[x]", description="Date when patient was taking (or not taking) the medication", type="date" 404 ) 405 public static final String SP_EFFECTIVEDATE = "effectivedate"; 406 407 /** 408 * <b>Fluent Client</b> search parameter constant for <b>effectivedate</b> 409 * <p> 410 * Description: <b>Date when patient was taking (or not taking) the medication</b><br> 411 * Type: <b>date</b><br> 412 * Path: <b>MedicationStatement.effective[x]</b><br> 413 * </p> 414 */ 415 public static final DateClientParam EFFECTIVEDATE = new DateClientParam(SP_EFFECTIVEDATE); 416 417 /** 418 * Search parameter constant for <b>status</b> 419 * <p> 420 * Description: <b>Return statements that match the given status</b><br> 421 * Type: <b>token</b><br> 422 * Path: <b>MedicationStatement.status</b><br> 423 * </p> 424 */ 425 @SearchParamDefinition(name="status", path="MedicationStatement.status", description="Return statements that match the given status", type="token" 426 ) 427 public static final String SP_STATUS = "status"; 428 429 /** 430 * <b>Fluent Client</b> search parameter constant for <b>status</b> 431 * <p> 432 * Description: <b>Return statements that match the given status</b><br> 433 * Type: <b>token</b><br> 434 * Path: <b>MedicationStatement.status</b><br> 435 * </p> 436 */ 437 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 438 439 /** 440 * Search parameter constant for <b>source</b> 441 * <p> 442 * Description: <b>Who the information in the statement came from</b><br> 443 * Type: <b>reference</b><br> 444 * Path: <b>MedicationStatement.informationSource</b><br> 445 * </p> 446 */ 447 @SearchParamDefinition(name="source", path="MedicationStatement.informationSource", description="Who the information in the statement came from", type="reference" 448, providesMembershipIn={ 449 @Compartment(name="Patient") , @Compartment(name="Encounter") , @Compartment(name="RelatedPerson") } 450 ) 451 public static final String SP_SOURCE = "source"; 452 453 /** 454 * <b>Fluent Client</b> search parameter constant for <b>source</b> 455 * <p> 456 * Description: <b>Who the information in the statement came from</b><br> 457 * Type: <b>reference</b><br> 458 * Path: <b>MedicationStatement.informationSource</b><br> 459 * </p> 460 */ 461 public static final ReferenceClientParam SOURCE = new ReferenceClientParam(SP_SOURCE); 462 463 464 /** 465 * Constant for fluent queries to be used to add include statements. Specifies 466 * the path value of "<b>MedicationStatement:medication</b>". 467 */ 468 public static final Include INCLUDE_MEDICATION = new Include("MedicationStatement:medication"); 469 470 /** 471 * Constant for fluent queries to be used to add include statements. Specifies 472 * the path value of "<b>MedicationStatement:patient</b>". 473 */ 474 public static final Include INCLUDE_PATIENT = new Include("MedicationStatement:patient"); 475 476 /** 477 * Constant for fluent queries to be used to add include statements. Specifies 478 * the path value of "<b>MedicationStatement:source</b>". 479 */ 480 public static final Include INCLUDE_SOURCE = new Include("MedicationStatement:source"); 481 482 483 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 484 @Description( 485 shortDefinition="id", 486 formalDefinition="External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated." 487 ) 488 private java.util.List<IdentifierDt> myIdentifier; 489 490 @Child(name="patient", order=1, min=1, max=1, summary=false, modifier=false, type={ 491 ca.uhn.fhir.model.dstu2.resource.Patient.class 492 }) 493 @Description( 494 shortDefinition="who.focus", 495 formalDefinition="The person or animal who is/was taking the medication." 496 ) 497 private ResourceReferenceDt myPatient; 498 499 @Child(name="informationSource", order=2, min=0, max=1, summary=false, modifier=false, type={ 500 ca.uhn.fhir.model.dstu2.resource.Patient.class, 501 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 502 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class 503 }) 504 @Description( 505 shortDefinition="who.source", 506 formalDefinition="The person who provided the information about the taking of this medication." 507 ) 508 private ResourceReferenceDt myInformationSource; 509 510 @Child(name="dateAsserted", type=DateTimeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 511 @Description( 512 shortDefinition="", 513 formalDefinition="The date when the medication statement was asserted by the information source." 514 ) 515 private DateTimeDt myDateAsserted; 516 517 @Child(name="status", type=CodeDt.class, order=4, min=1, max=1, summary=false, modifier=true) 518 @Description( 519 shortDefinition="", 520 formalDefinition="A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed." 521 ) 522 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/medication-statement-status") 523 private BoundCodeDt<MedicationStatementStatusEnum> myStatus; 524 525 @Child(name="wasNotTaken", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=true) 526 @Description( 527 shortDefinition="status", 528 formalDefinition="Set this to true if the record is saying that the medication was NOT taken." 529 ) 530 private BooleanDt myWasNotTaken; 531 532 @Child(name="reasonNotTaken", type=CodeableConceptDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 533 @Description( 534 shortDefinition="", 535 formalDefinition="A code indicating why the medication was not taken." 536 ) 537 private java.util.List<CodeableConceptDt> myReasonNotTaken; 538 539 @Child(name="reasonForUse", order=7, min=0, max=1, summary=false, modifier=false, type={ 540 CodeableConceptDt.class, 541 Condition.class 542 }) 543 @Description( 544 shortDefinition="", 545 formalDefinition="A reason for why the medication is being/was taken." 546 ) 547 private IDatatype myReasonForUse; 548 549 @Child(name="effective", order=8, min=0, max=1, summary=false, modifier=false, type={ 550 DateTimeDt.class, 551 PeriodDt.class 552 }) 553 @Description( 554 shortDefinition="when.done", 555 formalDefinition="The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true)." 556 ) 557 private IDatatype myEffective; 558 559 @Child(name="note", type=StringDt.class, order=9, min=0, max=1, summary=false, modifier=false) 560 @Description( 561 shortDefinition="", 562 formalDefinition="Provides extra information about the medication statement that is not conveyed by the other attributes." 563 ) 564 private StringDt myNote; 565 566 @Child(name="supportingInformation", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 567 IResource.class 568 }) 569 @Description( 570 shortDefinition="", 571 formalDefinition="Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement." 572 ) 573 private java.util.List<ResourceReferenceDt> mySupportingInformation; 574 575 @Child(name="medication", order=11, min=1, max=1, summary=false, modifier=false, type={ 576 CodeableConceptDt.class, 577 Medication.class 578 }) 579 @Description( 580 shortDefinition="what", 581 formalDefinition="Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications." 582 ) 583 private IDatatype myMedication; 584 585 @Child(name="dosage", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 586 @Description( 587 shortDefinition="", 588 formalDefinition="Indicates how the medication is/was used by the patient" 589 ) 590 private java.util.List<Dosage> myDosage; 591 592 593 @Override 594 public boolean isEmpty() { 595 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myPatient, myInformationSource, myDateAsserted, myStatus, myWasNotTaken, myReasonNotTaken, myReasonForUse, myEffective, myNote, mySupportingInformation, myMedication, myDosage); 596 } 597 598 @Override 599 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 600 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myPatient, myInformationSource, myDateAsserted, myStatus, myWasNotTaken, myReasonNotTaken, myReasonForUse, myEffective, myNote, mySupportingInformation, myMedication, myDosage); 601 } 602 603 /** 604 * Gets the value(s) for <b>identifier</b> (id). 605 * creating it if it does 606 * not exist. Will not return <code>null</code>. 607 * 608 * <p> 609 * <b>Definition:</b> 610 * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. 611 * </p> 612 */ 613 public java.util.List<IdentifierDt> getIdentifier() { 614 if (myIdentifier == null) { 615 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 616 } 617 return myIdentifier; 618 } 619 620 /** 621 * Sets the value(s) for <b>identifier</b> (id) 622 * 623 * <p> 624 * <b>Definition:</b> 625 * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. 626 * </p> 627 */ 628 public MedicationStatement setIdentifier(java.util.List<IdentifierDt> theValue) { 629 myIdentifier = theValue; 630 return this; 631 } 632 633 634 635 /** 636 * Adds and returns a new value for <b>identifier</b> (id) 637 * 638 * <p> 639 * <b>Definition:</b> 640 * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. 641 * </p> 642 */ 643 public IdentifierDt addIdentifier() { 644 IdentifierDt newType = new IdentifierDt(); 645 getIdentifier().add(newType); 646 return newType; 647 } 648 649 /** 650 * Adds a given new value for <b>identifier</b> (id) 651 * 652 * <p> 653 * <b>Definition:</b> 654 * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. 655 * </p> 656 * @param theValue The identifier to add (must not be <code>null</code>) 657 */ 658 public MedicationStatement addIdentifier(IdentifierDt theValue) { 659 if (theValue == null) { 660 throw new NullPointerException("theValue must not be null"); 661 } 662 getIdentifier().add(theValue); 663 return this; 664 } 665 666 /** 667 * Gets the first repetition for <b>identifier</b> (id), 668 * creating it if it does not already exist. 669 * 670 * <p> 671 * <b>Definition:</b> 672 * External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated. 673 * </p> 674 */ 675 public IdentifierDt getIdentifierFirstRep() { 676 if (getIdentifier().isEmpty()) { 677 return addIdentifier(); 678 } 679 return getIdentifier().get(0); 680 } 681 682 /** 683 * Gets the value(s) for <b>patient</b> (who.focus). 684 * creating it if it does 685 * not exist. Will not return <code>null</code>. 686 * 687 * <p> 688 * <b>Definition:</b> 689 * The person or animal who is/was taking the medication. 690 * </p> 691 */ 692 public ResourceReferenceDt getPatient() { 693 if (myPatient == null) { 694 myPatient = new ResourceReferenceDt(); 695 } 696 return myPatient; 697 } 698 699 /** 700 * Sets the value(s) for <b>patient</b> (who.focus) 701 * 702 * <p> 703 * <b>Definition:</b> 704 * The person or animal who is/was taking the medication. 705 * </p> 706 */ 707 public MedicationStatement setPatient(ResourceReferenceDt theValue) { 708 myPatient = theValue; 709 return this; 710 } 711 712 713 714 715 /** 716 * Gets the value(s) for <b>informationSource</b> (who.source). 717 * creating it if it does 718 * not exist. Will not return <code>null</code>. 719 * 720 * <p> 721 * <b>Definition:</b> 722 * The person who provided the information about the taking of this medication. 723 * </p> 724 */ 725 public ResourceReferenceDt getInformationSource() { 726 if (myInformationSource == null) { 727 myInformationSource = new ResourceReferenceDt(); 728 } 729 return myInformationSource; 730 } 731 732 /** 733 * Sets the value(s) for <b>informationSource</b> (who.source) 734 * 735 * <p> 736 * <b>Definition:</b> 737 * The person who provided the information about the taking of this medication. 738 * </p> 739 */ 740 public MedicationStatement setInformationSource(ResourceReferenceDt theValue) { 741 myInformationSource = theValue; 742 return this; 743 } 744 745 746 747 748 /** 749 * Gets the value(s) for <b>dateAsserted</b> (). 750 * creating it if it does 751 * not exist. Will not return <code>null</code>. 752 * 753 * <p> 754 * <b>Definition:</b> 755 * The date when the medication statement was asserted by the information source. 756 * </p> 757 */ 758 public DateTimeDt getDateAssertedElement() { 759 if (myDateAsserted == null) { 760 myDateAsserted = new DateTimeDt(); 761 } 762 return myDateAsserted; 763 } 764 765 766 /** 767 * Gets the value(s) for <b>dateAsserted</b> (). 768 * creating it if it does 769 * not exist. This method may return <code>null</code>. 770 * 771 * <p> 772 * <b>Definition:</b> 773 * The date when the medication statement was asserted by the information source. 774 * </p> 775 */ 776 public Date getDateAsserted() { 777 return getDateAssertedElement().getValue(); 778 } 779 780 /** 781 * Sets the value(s) for <b>dateAsserted</b> () 782 * 783 * <p> 784 * <b>Definition:</b> 785 * The date when the medication statement was asserted by the information source. 786 * </p> 787 */ 788 public MedicationStatement setDateAsserted(DateTimeDt theValue) { 789 myDateAsserted = theValue; 790 return this; 791 } 792 793 794 795 /** 796 * Sets the value for <b>dateAsserted</b> () 797 * 798 * <p> 799 * <b>Definition:</b> 800 * The date when the medication statement was asserted by the information source. 801 * </p> 802 */ 803 public MedicationStatement setDateAssertedWithSecondsPrecision( Date theDate) { 804 myDateAsserted = new DateTimeDt(theDate); 805 return this; 806 } 807 808 /** 809 * Sets the value for <b>dateAsserted</b> () 810 * 811 * <p> 812 * <b>Definition:</b> 813 * The date when the medication statement was asserted by the information source. 814 * </p> 815 */ 816 public MedicationStatement setDateAsserted( Date theDate, TemporalPrecisionEnum thePrecision) { 817 myDateAsserted = new DateTimeDt(theDate, thePrecision); 818 return this; 819 } 820 821 822 /** 823 * Gets the value(s) for <b>status</b> (). 824 * creating it if it does 825 * not exist. Will not return <code>null</code>. 826 * 827 * <p> 828 * <b>Definition:</b> 829 * A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. 830 * </p> 831 */ 832 public BoundCodeDt<MedicationStatementStatusEnum> getStatusElement() { 833 if (myStatus == null) { 834 myStatus = new BoundCodeDt<MedicationStatementStatusEnum>(MedicationStatementStatusEnum.VALUESET_BINDER); 835 } 836 return myStatus; 837 } 838 839 840 /** 841 * Gets the value(s) for <b>status</b> (). 842 * creating it if it does 843 * not exist. This method may return <code>null</code>. 844 * 845 * <p> 846 * <b>Definition:</b> 847 * A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. 848 * </p> 849 */ 850 public String getStatus() { 851 return getStatusElement().getValue(); 852 } 853 854 /** 855 * Sets the value(s) for <b>status</b> () 856 * 857 * <p> 858 * <b>Definition:</b> 859 * A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. 860 * </p> 861 */ 862 public MedicationStatement setStatus(BoundCodeDt<MedicationStatementStatusEnum> theValue) { 863 myStatus = theValue; 864 return this; 865 } 866 867 868 869 /** 870 * Sets the value(s) for <b>status</b> () 871 * 872 * <p> 873 * <b>Definition:</b> 874 * A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. 875 * </p> 876 */ 877 public MedicationStatement setStatus(MedicationStatementStatusEnum theValue) { 878 setStatus(new BoundCodeDt<MedicationStatementStatusEnum>(MedicationStatementStatusEnum.VALUESET_BINDER, theValue)); 879 880/* 881 getStatusElement().setValueAsEnum(theValue); 882*/ 883 return this; 884 } 885 886 887 /** 888 * Gets the value(s) for <b>wasNotTaken</b> (status). 889 * creating it if it does 890 * not exist. Will not return <code>null</code>. 891 * 892 * <p> 893 * <b>Definition:</b> 894 * Set this to true if the record is saying that the medication was NOT taken. 895 * </p> 896 */ 897 public BooleanDt getWasNotTakenElement() { 898 if (myWasNotTaken == null) { 899 myWasNotTaken = new BooleanDt(); 900 } 901 return myWasNotTaken; 902 } 903 904 905 /** 906 * Gets the value(s) for <b>wasNotTaken</b> (status). 907 * creating it if it does 908 * not exist. This method may return <code>null</code>. 909 * 910 * <p> 911 * <b>Definition:</b> 912 * Set this to true if the record is saying that the medication was NOT taken. 913 * </p> 914 */ 915 public Boolean getWasNotTaken() { 916 return getWasNotTakenElement().getValue(); 917 } 918 919 /** 920 * Sets the value(s) for <b>wasNotTaken</b> (status) 921 * 922 * <p> 923 * <b>Definition:</b> 924 * Set this to true if the record is saying that the medication was NOT taken. 925 * </p> 926 */ 927 public MedicationStatement setWasNotTaken(BooleanDt theValue) { 928 myWasNotTaken = theValue; 929 return this; 930 } 931 932 933 934 /** 935 * Sets the value for <b>wasNotTaken</b> (status) 936 * 937 * <p> 938 * <b>Definition:</b> 939 * Set this to true if the record is saying that the medication was NOT taken. 940 * </p> 941 */ 942 public MedicationStatement setWasNotTaken( boolean theBoolean) { 943 myWasNotTaken = new BooleanDt(theBoolean); 944 return this; 945 } 946 947 948 /** 949 * Gets the value(s) for <b>reasonNotTaken</b> (). 950 * creating it if it does 951 * not exist. Will not return <code>null</code>. 952 * 953 * <p> 954 * <b>Definition:</b> 955 * A code indicating why the medication was not taken. 956 * </p> 957 */ 958 public java.util.List<CodeableConceptDt> getReasonNotTaken() { 959 if (myReasonNotTaken == null) { 960 myReasonNotTaken = new java.util.ArrayList<CodeableConceptDt>(); 961 } 962 return myReasonNotTaken; 963 } 964 965 /** 966 * Sets the value(s) for <b>reasonNotTaken</b> () 967 * 968 * <p> 969 * <b>Definition:</b> 970 * A code indicating why the medication was not taken. 971 * </p> 972 */ 973 public MedicationStatement setReasonNotTaken(java.util.List<CodeableConceptDt> theValue) { 974 myReasonNotTaken = theValue; 975 return this; 976 } 977 978 979 980 /** 981 * Adds and returns a new value for <b>reasonNotTaken</b> () 982 * 983 * <p> 984 * <b>Definition:</b> 985 * A code indicating why the medication was not taken. 986 * </p> 987 */ 988 public CodeableConceptDt addReasonNotTaken() { 989 CodeableConceptDt newType = new CodeableConceptDt(); 990 getReasonNotTaken().add(newType); 991 return newType; 992 } 993 994 /** 995 * Adds a given new value for <b>reasonNotTaken</b> () 996 * 997 * <p> 998 * <b>Definition:</b> 999 * A code indicating why the medication was not taken. 1000 * </p> 1001 * @param theValue The reasonNotTaken to add (must not be <code>null</code>) 1002 */ 1003 public MedicationStatement addReasonNotTaken(CodeableConceptDt theValue) { 1004 if (theValue == null) { 1005 throw new NullPointerException("theValue must not be null"); 1006 } 1007 getReasonNotTaken().add(theValue); 1008 return this; 1009 } 1010 1011 /** 1012 * Gets the first repetition for <b>reasonNotTaken</b> (), 1013 * creating it if it does not already exist. 1014 * 1015 * <p> 1016 * <b>Definition:</b> 1017 * A code indicating why the medication was not taken. 1018 * </p> 1019 */ 1020 public CodeableConceptDt getReasonNotTakenFirstRep() { 1021 if (getReasonNotTaken().isEmpty()) { 1022 return addReasonNotTaken(); 1023 } 1024 return getReasonNotTaken().get(0); 1025 } 1026 1027 /** 1028 * Gets the value(s) for <b>reasonForUse[x]</b> (). 1029 * creating it if it does 1030 * not exist. Will not return <code>null</code>. 1031 * 1032 * <p> 1033 * <b>Definition:</b> 1034 * A reason for why the medication is being/was taken. 1035 * </p> 1036 */ 1037 public IDatatype getReasonForUse() { 1038 return myReasonForUse; 1039 } 1040 1041 /** 1042 * Sets the value(s) for <b>reasonForUse[x]</b> () 1043 * 1044 * <p> 1045 * <b>Definition:</b> 1046 * A reason for why the medication is being/was taken. 1047 * </p> 1048 */ 1049 public MedicationStatement setReasonForUse(IDatatype theValue) { 1050 myReasonForUse = theValue; 1051 return this; 1052 } 1053 1054 1055 1056 1057 /** 1058 * Gets the value(s) for <b>effective[x]</b> (when.done). 1059 * creating it if it does 1060 * not exist. Will not return <code>null</code>. 1061 * 1062 * <p> 1063 * <b>Definition:</b> 1064 * The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). 1065 * </p> 1066 */ 1067 public IDatatype getEffective() { 1068 return myEffective; 1069 } 1070 1071 /** 1072 * Sets the value(s) for <b>effective[x]</b> (when.done) 1073 * 1074 * <p> 1075 * <b>Definition:</b> 1076 * The interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). 1077 * </p> 1078 */ 1079 public MedicationStatement setEffective(IDatatype theValue) { 1080 myEffective = theValue; 1081 return this; 1082 } 1083 1084 1085 1086 1087 /** 1088 * Gets the value(s) for <b>note</b> (). 1089 * creating it if it does 1090 * not exist. Will not return <code>null</code>. 1091 * 1092 * <p> 1093 * <b>Definition:</b> 1094 * Provides extra information about the medication statement that is not conveyed by the other attributes. 1095 * </p> 1096 */ 1097 public StringDt getNoteElement() { 1098 if (myNote == null) { 1099 myNote = new StringDt(); 1100 } 1101 return myNote; 1102 } 1103 1104 1105 /** 1106 * Gets the value(s) for <b>note</b> (). 1107 * creating it if it does 1108 * not exist. This method may return <code>null</code>. 1109 * 1110 * <p> 1111 * <b>Definition:</b> 1112 * Provides extra information about the medication statement that is not conveyed by the other attributes. 1113 * </p> 1114 */ 1115 public String getNote() { 1116 return getNoteElement().getValue(); 1117 } 1118 1119 /** 1120 * Sets the value(s) for <b>note</b> () 1121 * 1122 * <p> 1123 * <b>Definition:</b> 1124 * Provides extra information about the medication statement that is not conveyed by the other attributes. 1125 * </p> 1126 */ 1127 public MedicationStatement setNote(StringDt theValue) { 1128 myNote = theValue; 1129 return this; 1130 } 1131 1132 1133 1134 /** 1135 * Sets the value for <b>note</b> () 1136 * 1137 * <p> 1138 * <b>Definition:</b> 1139 * Provides extra information about the medication statement that is not conveyed by the other attributes. 1140 * </p> 1141 */ 1142 public MedicationStatement setNote( String theString) { 1143 myNote = new StringDt(theString); 1144 return this; 1145 } 1146 1147 1148 /** 1149 * Gets the value(s) for <b>supportingInformation</b> (). 1150 * creating it if it does 1151 * not exist. Will not return <code>null</code>. 1152 * 1153 * <p> 1154 * <b>Definition:</b> 1155 * Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement. 1156 * </p> 1157 */ 1158 public java.util.List<ResourceReferenceDt> getSupportingInformation() { 1159 if (mySupportingInformation == null) { 1160 mySupportingInformation = new java.util.ArrayList<ResourceReferenceDt>(); 1161 } 1162 return mySupportingInformation; 1163 } 1164 1165 /** 1166 * Sets the value(s) for <b>supportingInformation</b> () 1167 * 1168 * <p> 1169 * <b>Definition:</b> 1170 * Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement. 1171 * </p> 1172 */ 1173 public MedicationStatement setSupportingInformation(java.util.List<ResourceReferenceDt> theValue) { 1174 mySupportingInformation = theValue; 1175 return this; 1176 } 1177 1178 1179 1180 /** 1181 * Adds and returns a new value for <b>supportingInformation</b> () 1182 * 1183 * <p> 1184 * <b>Definition:</b> 1185 * Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement. 1186 * </p> 1187 */ 1188 public ResourceReferenceDt addSupportingInformation() { 1189 ResourceReferenceDt newType = new ResourceReferenceDt(); 1190 getSupportingInformation().add(newType); 1191 return newType; 1192 } 1193 1194 /** 1195 * Gets the value(s) for <b>medication[x]</b> (what). 1196 * creating it if it does 1197 * not exist. Will not return <code>null</code>. 1198 * 1199 * <p> 1200 * <b>Definition:</b> 1201 * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. 1202 * </p> 1203 */ 1204 public IDatatype getMedication() { 1205 return myMedication; 1206 } 1207 1208 /** 1209 * Sets the value(s) for <b>medication[x]</b> (what) 1210 * 1211 * <p> 1212 * <b>Definition:</b> 1213 * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. 1214 * </p> 1215 */ 1216 public MedicationStatement setMedication(IDatatype theValue) { 1217 myMedication = theValue; 1218 return this; 1219 } 1220 1221 1222 1223 1224 /** 1225 * Gets the value(s) for <b>dosage</b> (). 1226 * creating it if it does 1227 * not exist. Will not return <code>null</code>. 1228 * 1229 * <p> 1230 * <b>Definition:</b> 1231 * Indicates how the medication is/was used by the patient 1232 * </p> 1233 */ 1234 public java.util.List<Dosage> getDosage() { 1235 if (myDosage == null) { 1236 myDosage = new java.util.ArrayList<Dosage>(); 1237 } 1238 return myDosage; 1239 } 1240 1241 /** 1242 * Sets the value(s) for <b>dosage</b> () 1243 * 1244 * <p> 1245 * <b>Definition:</b> 1246 * Indicates how the medication is/was used by the patient 1247 * </p> 1248 */ 1249 public MedicationStatement setDosage(java.util.List<Dosage> theValue) { 1250 myDosage = theValue; 1251 return this; 1252 } 1253 1254 1255 1256 /** 1257 * Adds and returns a new value for <b>dosage</b> () 1258 * 1259 * <p> 1260 * <b>Definition:</b> 1261 * Indicates how the medication is/was used by the patient 1262 * </p> 1263 */ 1264 public Dosage addDosage() { 1265 Dosage newType = new Dosage(); 1266 getDosage().add(newType); 1267 return newType; 1268 } 1269 1270 /** 1271 * Adds a given new value for <b>dosage</b> () 1272 * 1273 * <p> 1274 * <b>Definition:</b> 1275 * Indicates how the medication is/was used by the patient 1276 * </p> 1277 * @param theValue The dosage to add (must not be <code>null</code>) 1278 */ 1279 public MedicationStatement addDosage(Dosage theValue) { 1280 if (theValue == null) { 1281 throw new NullPointerException("theValue must not be null"); 1282 } 1283 getDosage().add(theValue); 1284 return this; 1285 } 1286 1287 /** 1288 * Gets the first repetition for <b>dosage</b> (), 1289 * creating it if it does not already exist. 1290 * 1291 * <p> 1292 * <b>Definition:</b> 1293 * Indicates how the medication is/was used by the patient 1294 * </p> 1295 */ 1296 public Dosage getDosageFirstRep() { 1297 if (getDosage().isEmpty()) { 1298 return addDosage(); 1299 } 1300 return getDosage().get(0); 1301 } 1302 1303 /** 1304 * Block class for child element: <b>MedicationStatement.dosage</b> () 1305 * 1306 * <p> 1307 * <b>Definition:</b> 1308 * Indicates how the medication is/was used by the patient 1309 * </p> 1310 */ 1311 @Block() 1312 public static class Dosage 1313 extends BaseIdentifiableElement 1314 implements IResourceBlock { 1315 1316 @Child(name="text", type=StringDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1317 @Description( 1318 shortDefinition="", 1319 formalDefinition="Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans." 1320 ) 1321 private StringDt myText; 1322 1323 @Child(name="timing", type=TimingDt.class, order=1, min=0, max=1, summary=false, modifier=false) 1324 @Description( 1325 shortDefinition="", 1326 formalDefinition="The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\"" 1327 ) 1328 private TimingDt myTiming; 1329 1330 @Child(name="asNeeded", order=2, min=0, max=1, summary=false, modifier=false, type={ 1331 BooleanDt.class, 1332 CodeableConceptDt.class 1333 }) 1334 @Description( 1335 shortDefinition="", 1336 formalDefinition="Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule." 1337 ) 1338 private IDatatype myAsNeeded; 1339 1340 @Child(name="site", order=3, min=0, max=1, summary=false, modifier=false, type={ 1341 CodeableConceptDt.class, 1342 BodySite.class 1343 }) 1344 @Description( 1345 shortDefinition="", 1346 formalDefinition="A coded specification of or a reference to the anatomic site where the medication first enters the body" 1347 ) 1348 private IDatatype mySite; 1349 1350 @Child(name="route", type=CodeableConceptDt.class, order=4, min=0, max=1, summary=false, modifier=false) 1351 @Description( 1352 shortDefinition="", 1353 formalDefinition="A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject." 1354 ) 1355 private CodeableConceptDt myRoute; 1356 1357 @Child(name="method", type=CodeableConceptDt.class, order=5, min=0, max=1, summary=false, modifier=false) 1358 @Description( 1359 shortDefinition="", 1360 formalDefinition="A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV." 1361 ) 1362 private CodeableConceptDt myMethod; 1363 1364 @Child(name="quantity", order=6, min=0, max=1, summary=false, modifier=false, type={ 1365 SimpleQuantityDt.class, 1366 RangeDt.class 1367 }) 1368 @Description( 1369 shortDefinition="", 1370 formalDefinition="The amount of therapeutic or other substance given at one administration event." 1371 ) 1372 private IDatatype myQuantity; 1373 1374 @Child(name="rate", order=7, min=0, max=1, summary=false, modifier=false, type={ 1375 RatioDt.class, 1376 RangeDt.class 1377 }) 1378 @Description( 1379 shortDefinition="", 1380 formalDefinition="Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours" 1381 ) 1382 private IDatatype myRate; 1383 1384 @Child(name="maxDosePerPeriod", type=RatioDt.class, order=8, min=0, max=1, summary=false, modifier=false) 1385 @Description( 1386 shortDefinition="", 1387 formalDefinition="The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours." 1388 ) 1389 private RatioDt myMaxDosePerPeriod; 1390 1391 1392 @Override 1393 public boolean isEmpty() { 1394 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myText, myTiming, myAsNeeded, mySite, myRoute, myMethod, myQuantity, myRate, myMaxDosePerPeriod); 1395 } 1396 1397 @Override 1398 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1399 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myText, myTiming, myAsNeeded, mySite, myRoute, myMethod, myQuantity, myRate, myMaxDosePerPeriod); 1400 } 1401 1402 /** 1403 * Gets the value(s) for <b>text</b> (). 1404 * creating it if it does 1405 * not exist. Will not return <code>null</code>. 1406 * 1407 * <p> 1408 * <b>Definition:</b> 1409 * Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. 1410 * </p> 1411 */ 1412 public StringDt getTextElement() { 1413 if (myText == null) { 1414 myText = new StringDt(); 1415 } 1416 return myText; 1417 } 1418 1419 1420 /** 1421 * Gets the value(s) for <b>text</b> (). 1422 * creating it if it does 1423 * not exist. This method may return <code>null</code>. 1424 * 1425 * <p> 1426 * <b>Definition:</b> 1427 * Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. 1428 * </p> 1429 */ 1430 public String getText() { 1431 return getTextElement().getValue(); 1432 } 1433 1434 /** 1435 * Sets the value(s) for <b>text</b> () 1436 * 1437 * <p> 1438 * <b>Definition:</b> 1439 * Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. 1440 * </p> 1441 */ 1442 public Dosage setText(StringDt theValue) { 1443 myText = theValue; 1444 return this; 1445 } 1446 1447 1448 1449 /** 1450 * Sets the value for <b>text</b> () 1451 * 1452 * <p> 1453 * <b>Definition:</b> 1454 * Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. 1455 * </p> 1456 */ 1457 public Dosage setText( String theString) { 1458 myText = new StringDt(theString); 1459 return this; 1460 } 1461 1462 1463 /** 1464 * Gets the value(s) for <b>timing</b> (). 1465 * creating it if it does 1466 * not exist. Will not return <code>null</code>. 1467 * 1468 * <p> 1469 * <b>Definition:</b> 1470 * The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\" 1471 * </p> 1472 */ 1473 public TimingDt getTiming() { 1474 if (myTiming == null) { 1475 myTiming = new TimingDt(); 1476 } 1477 return myTiming; 1478 } 1479 1480 /** 1481 * Sets the value(s) for <b>timing</b> () 1482 * 1483 * <p> 1484 * <b>Definition:</b> 1485 * The timing schedule for giving the medication to the patient. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\" 1486 * </p> 1487 */ 1488 public Dosage setTiming(TimingDt theValue) { 1489 myTiming = theValue; 1490 return this; 1491 } 1492 1493 1494 1495 1496 /** 1497 * Gets the value(s) for <b>asNeeded[x]</b> (). 1498 * creating it if it does 1499 * not exist. Will not return <code>null</code>. 1500 * 1501 * <p> 1502 * <b>Definition:</b> 1503 * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. 1504 * </p> 1505 */ 1506 public IDatatype getAsNeeded() { 1507 return myAsNeeded; 1508 } 1509 1510 /** 1511 * Sets the value(s) for <b>asNeeded[x]</b> () 1512 * 1513 * <p> 1514 * <b>Definition:</b> 1515 * Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. 1516 * </p> 1517 */ 1518 public Dosage setAsNeeded(IDatatype theValue) { 1519 myAsNeeded = theValue; 1520 return this; 1521 } 1522 1523 1524 1525 1526 /** 1527 * Gets the value(s) for <b>site[x]</b> (). 1528 * creating it if it does 1529 * not exist. Will not return <code>null</code>. 1530 * 1531 * <p> 1532 * <b>Definition:</b> 1533 * A coded specification of or a reference to the anatomic site where the medication first enters the body 1534 * </p> 1535 */ 1536 public IDatatype getSite() { 1537 return mySite; 1538 } 1539 1540 /** 1541 * Sets the value(s) for <b>site[x]</b> () 1542 * 1543 * <p> 1544 * <b>Definition:</b> 1545 * A coded specification of or a reference to the anatomic site where the medication first enters the body 1546 * </p> 1547 */ 1548 public Dosage setSite(IDatatype theValue) { 1549 mySite = theValue; 1550 return this; 1551 } 1552 1553 1554 1555 1556 /** 1557 * Gets the value(s) for <b>route</b> (). 1558 * creating it if it does 1559 * not exist. Will not return <code>null</code>. 1560 * 1561 * <p> 1562 * <b>Definition:</b> 1563 * A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject. 1564 * </p> 1565 */ 1566 public CodeableConceptDt getRoute() { 1567 if (myRoute == null) { 1568 myRoute = new CodeableConceptDt(); 1569 } 1570 return myRoute; 1571 } 1572 1573 /** 1574 * Sets the value(s) for <b>route</b> () 1575 * 1576 * <p> 1577 * <b>Definition:</b> 1578 * A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject. 1579 * </p> 1580 */ 1581 public Dosage setRoute(CodeableConceptDt theValue) { 1582 myRoute = theValue; 1583 return this; 1584 } 1585 1586 1587 1588 1589 /** 1590 * Gets the value(s) for <b>method</b> (). 1591 * creating it if it does 1592 * not exist. Will not return <code>null</code>. 1593 * 1594 * <p> 1595 * <b>Definition:</b> 1596 * A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV. 1597 * </p> 1598 */ 1599 public CodeableConceptDt getMethod() { 1600 if (myMethod == null) { 1601 myMethod = new CodeableConceptDt(); 1602 } 1603 return myMethod; 1604 } 1605 1606 /** 1607 * Sets the value(s) for <b>method</b> () 1608 * 1609 * <p> 1610 * <b>Definition:</b> 1611 * A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV. 1612 * </p> 1613 */ 1614 public Dosage setMethod(CodeableConceptDt theValue) { 1615 myMethod = theValue; 1616 return this; 1617 } 1618 1619 1620 1621 1622 /** 1623 * Gets the value(s) for <b>quantity[x]</b> (). 1624 * creating it if it does 1625 * not exist. Will not return <code>null</code>. 1626 * 1627 * <p> 1628 * <b>Definition:</b> 1629 * The amount of therapeutic or other substance given at one administration event. 1630 * </p> 1631 */ 1632 public IDatatype getQuantity() { 1633 return myQuantity; 1634 } 1635 1636 /** 1637 * Sets the value(s) for <b>quantity[x]</b> () 1638 * 1639 * <p> 1640 * <b>Definition:</b> 1641 * The amount of therapeutic or other substance given at one administration event. 1642 * </p> 1643 */ 1644 public Dosage setQuantity(IDatatype theValue) { 1645 myQuantity = theValue; 1646 return this; 1647 } 1648 1649 1650 1651 1652 /** 1653 * Gets the value(s) for <b>rate[x]</b> (). 1654 * creating it if it does 1655 * not exist. Will not return <code>null</code>. 1656 * 1657 * <p> 1658 * <b>Definition:</b> 1659 * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours 1660 * </p> 1661 */ 1662 public IDatatype getRate() { 1663 return myRate; 1664 } 1665 1666 /** 1667 * Sets the value(s) for <b>rate[x]</b> () 1668 * 1669 * <p> 1670 * <b>Definition:</b> 1671 * Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours 1672 * </p> 1673 */ 1674 public Dosage setRate(IDatatype theValue) { 1675 myRate = theValue; 1676 return this; 1677 } 1678 1679 1680 1681 1682 /** 1683 * Gets the value(s) for <b>maxDosePerPeriod</b> (). 1684 * creating it if it does 1685 * not exist. Will not return <code>null</code>. 1686 * 1687 * <p> 1688 * <b>Definition:</b> 1689 * The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. 1690 * </p> 1691 */ 1692 public RatioDt getMaxDosePerPeriod() { 1693 if (myMaxDosePerPeriod == null) { 1694 myMaxDosePerPeriod = new RatioDt(); 1695 } 1696 return myMaxDosePerPeriod; 1697 } 1698 1699 /** 1700 * Sets the value(s) for <b>maxDosePerPeriod</b> () 1701 * 1702 * <p> 1703 * <b>Definition:</b> 1704 * The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. 1705 * </p> 1706 */ 1707 public Dosage setMaxDosePerPeriod(RatioDt theValue) { 1708 myMaxDosePerPeriod = theValue; 1709 return this; 1710 } 1711 1712 1713 1714 1715 1716 1717 } 1718 1719 1720 1721 1722 @Override 1723 public String getResourceName() { 1724 return "MedicationStatement"; 1725 } 1726 1727 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1728 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1729 } 1730 1731 1732}