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>MedicationAdministration</b> Resource 282 * (clinical.medication) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner 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/MedicationAdministration">http://hl7.org/fhir/profiles/MedicationAdministration</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="MedicationAdministration", profile="http://hl7.org/fhir/profiles/MedicationAdministration", id="medicationadministration") 301public class MedicationAdministration extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>device</b> 306 * <p> 307 * Description: <b>Return administrations with this administration device identity</b><br> 308 * Type: <b>reference</b><br> 309 * Path: <b>MedicationAdministration.device</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="device", path="MedicationAdministration.device", description="Return administrations with this administration device identity", type="reference" , providesMembershipIn={ 313 @Compartment(name="Practitioner") } 314 ) 315 public static final String SP_DEVICE = "device"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>device</b> 319 * <p> 320 * Description: <b>Return administrations with this administration device identity</b><br> 321 * Type: <b>reference</b><br> 322 * Path: <b>MedicationAdministration.device</b><br> 323 * </p> 324 */ 325 public static final ReferenceClientParam DEVICE = new ReferenceClientParam(SP_DEVICE); 326 327 /** 328 * Search parameter constant for <b>encounter</b> 329 * <p> 330 * Description: <b>Return administrations that share this encounter</b><br> 331 * Type: <b>reference</b><br> 332 * Path: <b>MedicationAdministration.encounter</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="encounter", path="MedicationAdministration.encounter", description="Return administrations that share this encounter", type="reference" , providesMembershipIn={ 336 @Compartment(name="Encounter") } 337 ) 338 public static final String SP_ENCOUNTER = "encounter"; 339 340 /** 341 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 342 * <p> 343 * Description: <b>Return administrations that share this encounter</b><br> 344 * Type: <b>reference</b><br> 345 * Path: <b>MedicationAdministration.encounter</b><br> 346 * </p> 347 */ 348 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 349 350 /** 351 * Search parameter constant for <b>identifier</b> 352 * <p> 353 * Description: <b>Return administrations with this external identifier</b><br> 354 * Type: <b>token</b><br> 355 * Path: <b>MedicationAdministration.identifier</b><br> 356 * </p> 357 */ 358 @SearchParamDefinition(name="identifier", path="MedicationAdministration.identifier", description="Return administrations with this external identifier", type="token" ) 359 public static final String SP_IDENTIFIER = "identifier"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 363 * <p> 364 * Description: <b>Return administrations with this external identifier</b><br> 365 * Type: <b>token</b><br> 366 * Path: <b>MedicationAdministration.identifier</b><br> 367 * </p> 368 */ 369 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 370 371 /** 372 * Search parameter constant for <b>medication</b> 373 * <p> 374 * Description: <b>Return administrations of this medication resource</b><br> 375 * Type: <b>reference</b><br> 376 * Path: <b>MedicationAdministration.medicationReference</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="medication", path="MedicationAdministration.medicationReference", description="Return administrations of this medication resource", type="reference" ) 380 public static final String SP_MEDICATION = "medication"; 381 382 /** 383 * <b>Fluent Client</b> search parameter constant for <b>medication</b> 384 * <p> 385 * Description: <b>Return administrations of this medication resource</b><br> 386 * Type: <b>reference</b><br> 387 * Path: <b>MedicationAdministration.medicationReference</b><br> 388 * </p> 389 */ 390 public static final ReferenceClientParam MEDICATION = new ReferenceClientParam(SP_MEDICATION); 391 392 /** 393 * Search parameter constant for <b>code</b> 394 * <p> 395 * Description: <b>Return administrations of this medication code</b><br> 396 * Type: <b>token</b><br> 397 * Path: <b>MedicationAdministration.medicationCodeableConcept</b><br> 398 * </p> 399 */ 400 @SearchParamDefinition(name="code", path="MedicationAdministration.medicationCodeableConcept", description="Return administrations of this medication code", type="token" ) 401 public static final String SP_CODE = "code"; 402 403 /** 404 * <b>Fluent Client</b> search parameter constant for <b>code</b> 405 * <p> 406 * Description: <b>Return administrations of this medication code</b><br> 407 * Type: <b>token</b><br> 408 * Path: <b>MedicationAdministration.medicationCodeableConcept</b><br> 409 * </p> 410 */ 411 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 412 413 /** 414 * Search parameter constant for <b>notgiven</b> 415 * <p> 416 * Description: <b>Administrations that were not made</b><br> 417 * Type: <b>token</b><br> 418 * Path: <b>MedicationAdministration.wasNotGiven</b><br> 419 * </p> 420 */ 421 @SearchParamDefinition(name="notgiven", path="MedicationAdministration.wasNotGiven", description="Administrations that were not made", type="token" ) 422 public static final String SP_NOTGIVEN = "notgiven"; 423 424 /** 425 * <b>Fluent Client</b> search parameter constant for <b>notgiven</b> 426 * <p> 427 * Description: <b>Administrations that were not made</b><br> 428 * Type: <b>token</b><br> 429 * Path: <b>MedicationAdministration.wasNotGiven</b><br> 430 * </p> 431 */ 432 public static final TokenClientParam NOTGIVEN = new TokenClientParam(SP_NOTGIVEN); 433 434 /** 435 * Search parameter constant for <b>patient</b> 436 * <p> 437 * Description: <b>The identity of a patient to list administrations for</b><br> 438 * Type: <b>reference</b><br> 439 * Path: <b>MedicationAdministration.patient</b><br> 440 * </p> 441 */ 442 @SearchParamDefinition(name="patient", path="MedicationAdministration.patient", description="The identity of a patient to list administrations for", type="reference" , providesMembershipIn={ 443 @Compartment(name="Patient") } 444 ) 445 public static final String SP_PATIENT = "patient"; 446 447 /** 448 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 449 * <p> 450 * Description: <b>The identity of a patient to list administrations for</b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>MedicationAdministration.patient</b><br> 453 * </p> 454 */ 455 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 456 457 /** 458 * Search parameter constant for <b>prescription</b> 459 * <p> 460 * Description: <b>The identity of a prescription to list administrations from</b><br> 461 * Type: <b>reference</b><br> 462 * Path: <b>MedicationAdministration.prescription</b><br> 463 * </p> 464 */ 465 @SearchParamDefinition(name="prescription", path="MedicationAdministration.prescription", description="The identity of a prescription to list administrations from", type="reference" ) 466 public static final String SP_PRESCRIPTION = "prescription"; 467 468 /** 469 * <b>Fluent Client</b> search parameter constant for <b>prescription</b> 470 * <p> 471 * Description: <b>The identity of a prescription to list administrations from</b><br> 472 * Type: <b>reference</b><br> 473 * Path: <b>MedicationAdministration.prescription</b><br> 474 * </p> 475 */ 476 public static final ReferenceClientParam PRESCRIPTION = new ReferenceClientParam(SP_PRESCRIPTION); 477 478 /** 479 * Search parameter constant for <b>status</b> 480 * <p> 481 * Description: <b>MedicationAdministration event status (for example one of active/paused/completed/nullified)</b><br> 482 * Type: <b>token</b><br> 483 * Path: <b>MedicationAdministration.status</b><br> 484 * </p> 485 */ 486 @SearchParamDefinition(name="status", path="MedicationAdministration.status", description="MedicationAdministration event status (for example one of active/paused/completed/nullified)", type="token" ) 487 public static final String SP_STATUS = "status"; 488 489 /** 490 * <b>Fluent Client</b> search parameter constant for <b>status</b> 491 * <p> 492 * Description: <b>MedicationAdministration event status (for example one of active/paused/completed/nullified)</b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>MedicationAdministration.status</b><br> 495 * </p> 496 */ 497 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 498 499 /** 500 * Search parameter constant for <b>effectivetime</b> 501 * <p> 502 * Description: <b>Date administration happened (or did not happen)</b><br> 503 * Type: <b>date</b><br> 504 * Path: <b>MedicationAdministration.effectiveTime[x]</b><br> 505 * </p> 506 */ 507 @SearchParamDefinition(name="effectivetime", path="MedicationAdministration.effectiveTime[x]", description="Date administration happened (or did not happen)", type="date" ) 508 public static final String SP_EFFECTIVETIME = "effectivetime"; 509 510 /** 511 * <b>Fluent Client</b> search parameter constant for <b>effectivetime</b> 512 * <p> 513 * Description: <b>Date administration happened (or did not happen)</b><br> 514 * Type: <b>date</b><br> 515 * Path: <b>MedicationAdministration.effectiveTime[x]</b><br> 516 * </p> 517 */ 518 public static final DateClientParam EFFECTIVETIME = new DateClientParam(SP_EFFECTIVETIME); 519 520 /** 521 * Search parameter constant for <b>practitioner</b> 522 * <p> 523 * Description: <b></b><br> 524 * Type: <b>reference</b><br> 525 * Path: <b>MedicationAdministration.practitioner</b><br> 526 * </p> 527 */ 528 @SearchParamDefinition(name="practitioner", path="MedicationAdministration.practitioner", description="", type="reference" , providesMembershipIn={ 529 @Compartment(name="RelatedPerson") } 530 ) 531 public static final String SP_PRACTITIONER = "practitioner"; 532 533 /** 534 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 535 * <p> 536 * Description: <b></b><br> 537 * Type: <b>reference</b><br> 538 * Path: <b>MedicationAdministration.practitioner</b><br> 539 * </p> 540 */ 541 public static final ReferenceClientParam PRACTITIONER = new ReferenceClientParam(SP_PRACTITIONER); 542 543 544 /** 545 * Constant for fluent queries to be used to add include statements. Specifies 546 * the path value of "<b>MedicationAdministration:device</b>". 547 */ 548 public static final Include INCLUDE_DEVICE = new Include("MedicationAdministration:device"); 549 550 /** 551 * Constant for fluent queries to be used to add include statements. Specifies 552 * the path value of "<b>MedicationAdministration:encounter</b>". 553 */ 554 public static final Include INCLUDE_ENCOUNTER = new Include("MedicationAdministration:encounter"); 555 556 /** 557 * Constant for fluent queries to be used to add include statements. Specifies 558 * the path value of "<b>MedicationAdministration:medication</b>". 559 */ 560 public static final Include INCLUDE_MEDICATION = new Include("MedicationAdministration:medication"); 561 562 /** 563 * Constant for fluent queries to be used to add include statements. Specifies 564 * the path value of "<b>MedicationAdministration:patient</b>". 565 */ 566 public static final Include INCLUDE_PATIENT = new Include("MedicationAdministration:patient"); 567 568 /** 569 * Constant for fluent queries to be used to add include statements. Specifies 570 * the path value of "<b>MedicationAdministration:practitioner</b>". 571 */ 572 public static final Include INCLUDE_PRACTITIONER = new Include("MedicationAdministration:practitioner"); 573 574 /** 575 * Constant for fluent queries to be used to add include statements. Specifies 576 * the path value of "<b>MedicationAdministration:prescription</b>". 577 */ 578 public static final Include INCLUDE_PRESCRIPTION = new Include("MedicationAdministration:prescription"); 579 580 581 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 582 @Description( 583 shortDefinition="id", 584 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." 585 ) 586 private java.util.List<IdentifierDt> myIdentifier; 587 588 @Child(name="status", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=true) 589 @Description( 590 shortDefinition="status", 591 formalDefinition="Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way." 592 ) 593 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/medication-admin-status") 594 private BoundCodeDt<MedicationAdministrationStatusEnum> myStatus; 595 596 @Child(name="patient", order=2, min=1, max=1, summary=false, modifier=false, type={ 597 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 598 @Description( 599 shortDefinition="who.focus", 600 formalDefinition="The person or animal receiving the medication." 601 ) 602 private ResourceReferenceDt myPatient; 603 604 @Child(name="practitioner", order=3, min=0, max=1, summary=false, modifier=false, type={ 605 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class }) 606 @Description( 607 shortDefinition="who.actor", 608 formalDefinition="The individual who was responsible for giving the medication to the patient." 609 ) 610 private ResourceReferenceDt myPractitioner; 611 612 @Child(name="encounter", order=4, min=0, max=1, summary=false, modifier=false, type={ 613 ca.uhn.fhir.model.dstu2.resource.Encounter.class }) 614 @Description( 615 shortDefinition="context", 616 formalDefinition="The visit, admission or other contact between patient and health care provider the medication administration was performed as part of." 617 ) 618 private ResourceReferenceDt myEncounter; 619 620 @Child(name="prescription", order=5, min=0, max=1, summary=false, modifier=false, type={ 621 ca.uhn.fhir.model.dstu2.resource.MedicationOrder.class }) 622 @Description( 623 shortDefinition="", 624 formalDefinition="The original request, instruction or authority to perform the administration." 625 ) 626 private ResourceReferenceDt myPrescription; 627 628 @Child(name="wasNotGiven", type=BooleanDt.class, order=6, min=0, max=1, summary=false, modifier=true) 629 @Description( 630 shortDefinition="", 631 formalDefinition="Set this to true if the record is saying that the medication was NOT administered." 632 ) 633 private BooleanDt myWasNotGiven; 634 635 @Child(name="reasonNotGiven", type=CodeableConceptDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 636 @Description( 637 shortDefinition="", 638 formalDefinition="A code indicating why the administration was not performed." 639 ) 640 private java.util.List<CodeableConceptDt> myReasonNotGiven; 641 642 @Child(name="reasonGiven", type=CodeableConceptDt.class, order=8, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 643 @Description( 644 shortDefinition="", 645 formalDefinition="A code indicating why the medication was given." 646 ) 647 private java.util.List<CodeableConceptDt> myReasonGiven; 648 649 @Child(name="effectiveTime", order=9, min=1, max=1, summary=false, modifier=false, type={ 650 DateTimeDt.class, PeriodDt.class }) 651 @Description( 652 shortDefinition="when.done", 653 formalDefinition="A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate." 654 ) 655 private IDatatype myEffectiveTime; 656 657 @Child(name="medication", order=10, min=1, max=1, summary=false, modifier=false, type={ 658 CodeableConceptDt.class, Medication.class }) 659 @Description( 660 shortDefinition="", 661 formalDefinition="Identifies the medication that was 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." 662 ) 663 private IDatatype myMedication; 664 665 @Child(name="device", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 666 ca.uhn.fhir.model.dstu2.resource.Device.class }) 667 @Description( 668 shortDefinition="", 669 formalDefinition="The device used in administering the medication to the patient. For example, a particular infusion pump" 670 ) 671 private java.util.List<ResourceReferenceDt> myDevice; 672 673 @Child(name="note", type=StringDt.class, order=12, min=0, max=1, summary=false, modifier=false) 674 @Description( 675 shortDefinition="", 676 formalDefinition="Extra information about the medication administration that is not conveyed by the other attributes." 677 ) 678 private StringDt myNote; 679 680 @Child(name="dosage", order=13, min=0, max=1, summary=false, modifier=false) 681 @Description( 682 shortDefinition="", 683 formalDefinition="Describes the medication dosage information details e.g. dose, rate, site, route, etc." 684 ) 685 private Dosage myDosage; 686 687 688 @Override 689 public boolean isEmpty() { 690 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myStatus, myPatient, myPractitioner, myEncounter, myPrescription, myWasNotGiven, myReasonNotGiven, myReasonGiven, myEffectiveTime, myMedication, myDevice, myNote, myDosage); 691 } 692 693 @Override 694 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 695 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myStatus, myPatient, myPractitioner, myEncounter, myPrescription, myWasNotGiven, myReasonNotGiven, myReasonGiven, myEffectiveTime, myMedication, myDevice, myNote, myDosage); 696 } 697 698 /** 699 * Gets the value(s) for <b>identifier</b> (id). 700 * creating it if it does 701 * not exist. Will not return <code>null</code>. 702 * 703 * <p> 704 * <b>Definition:</b> 705 * 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. 706 * </p> 707 */ 708 public java.util.List<IdentifierDt> getIdentifier() { 709 if (myIdentifier == null) { 710 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 711 } 712 return myIdentifier; 713 } 714 715 /** 716 * Sets the value(s) for <b>identifier</b> (id) 717 * 718 * <p> 719 * <b>Definition:</b> 720 * 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. 721 * </p> 722 */ 723 public MedicationAdministration setIdentifier(java.util.List<IdentifierDt> theValue) { 724 myIdentifier = theValue; 725 return this; 726 } 727 728 729 730 /** 731 * Adds and returns a new value for <b>identifier</b> (id) 732 * 733 * <p> 734 * <b>Definition:</b> 735 * 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. 736 * </p> 737 */ 738 public IdentifierDt addIdentifier() { 739 IdentifierDt newType = new IdentifierDt(); 740 getIdentifier().add(newType); 741 return newType; 742 } 743 744 /** 745 * Adds a given new value for <b>identifier</b> (id) 746 * 747 * <p> 748 * <b>Definition:</b> 749 * 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. 750 * </p> 751 * @param theValue The identifier to add (must not be <code>null</code>) 752 */ 753 public MedicationAdministration addIdentifier(IdentifierDt theValue) { 754 if (theValue == null) { 755 throw new NullPointerException("theValue must not be null"); 756 } 757 getIdentifier().add(theValue); 758 return this; 759 } 760 761 /** 762 * Gets the first repetition for <b>identifier</b> (id), 763 * creating it if it does not already exist. 764 * 765 * <p> 766 * <b>Definition:</b> 767 * 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. 768 * </p> 769 */ 770 public IdentifierDt getIdentifierFirstRep() { 771 if (getIdentifier().isEmpty()) { 772 return addIdentifier(); 773 } 774 return getIdentifier().get(0); 775 } 776 777 /** 778 * Gets the value(s) for <b>status</b> (status). 779 * creating it if it does 780 * not exist. Will not return <code>null</code>. 781 * 782 * <p> 783 * <b>Definition:</b> 784 * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way. 785 * </p> 786 */ 787 public BoundCodeDt<MedicationAdministrationStatusEnum> getStatusElement() { 788 if (myStatus == null) { 789 myStatus = new BoundCodeDt<MedicationAdministrationStatusEnum>(MedicationAdministrationStatusEnum.VALUESET_BINDER); 790 } 791 return myStatus; 792 } 793 794 795 /** 796 * Gets the value(s) for <b>status</b> (status). 797 * creating it if it does 798 * not exist. This method may return <code>null</code>. 799 * 800 * <p> 801 * <b>Definition:</b> 802 * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way. 803 * </p> 804 */ 805 public String getStatus() { 806 return getStatusElement().getValue(); 807 } 808 809 /** 810 * Sets the value(s) for <b>status</b> (status) 811 * 812 * <p> 813 * <b>Definition:</b> 814 * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way. 815 * </p> 816 */ 817 public MedicationAdministration setStatus(BoundCodeDt<MedicationAdministrationStatusEnum> theValue) { 818 myStatus = theValue; 819 return this; 820 } 821 822 823 824 /** 825 * Sets the value(s) for <b>status</b> (status) 826 * 827 * <p> 828 * <b>Definition:</b> 829 * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way. 830 * </p> 831 */ 832 public MedicationAdministration setStatus(MedicationAdministrationStatusEnum theValue) { 833 setStatus(new BoundCodeDt<MedicationAdministrationStatusEnum>(MedicationAdministrationStatusEnum.VALUESET_BINDER, theValue)); 834 835/* 836 getStatusElement().setValueAsEnum(theValue); 837*/ 838 return this; 839 } 840 841 842 /** 843 * Gets the value(s) for <b>patient</b> (who.focus). 844 * creating it if it does 845 * not exist. Will not return <code>null</code>. 846 * 847 * <p> 848 * <b>Definition:</b> 849 * The person or animal receiving the medication. 850 * </p> 851 */ 852 public ResourceReferenceDt getPatient() { 853 if (myPatient == null) { 854 myPatient = new ResourceReferenceDt(); 855 } 856 return myPatient; 857 } 858 859 /** 860 * Sets the value(s) for <b>patient</b> (who.focus) 861 * 862 * <p> 863 * <b>Definition:</b> 864 * The person or animal receiving the medication. 865 * </p> 866 */ 867 public MedicationAdministration setPatient(ResourceReferenceDt theValue) { 868 myPatient = theValue; 869 return this; 870 } 871 872 873 874 875 /** 876 * Gets the value(s) for <b>practitioner</b> (who.actor). 877 * creating it if it does 878 * not exist. Will not return <code>null</code>. 879 * 880 * <p> 881 * <b>Definition:</b> 882 * The individual who was responsible for giving the medication to the patient. 883 * </p> 884 */ 885 public ResourceReferenceDt getPractitioner() { 886 if (myPractitioner == null) { 887 myPractitioner = new ResourceReferenceDt(); 888 } 889 return myPractitioner; 890 } 891 892 /** 893 * Sets the value(s) for <b>practitioner</b> (who.actor) 894 * 895 * <p> 896 * <b>Definition:</b> 897 * The individual who was responsible for giving the medication to the patient. 898 * </p> 899 */ 900 public MedicationAdministration setPractitioner(ResourceReferenceDt theValue) { 901 myPractitioner = theValue; 902 return this; 903 } 904 905 906 907 908 /** 909 * Gets the value(s) for <b>encounter</b> (context). 910 * creating it if it does 911 * not exist. Will not return <code>null</code>. 912 * 913 * <p> 914 * <b>Definition:</b> 915 * The visit, admission or other contact between patient and health care provider the medication administration was performed as part of. 916 * </p> 917 */ 918 public ResourceReferenceDt getEncounter() { 919 if (myEncounter == null) { 920 myEncounter = new ResourceReferenceDt(); 921 } 922 return myEncounter; 923 } 924 925 /** 926 * Sets the value(s) for <b>encounter</b> (context) 927 * 928 * <p> 929 * <b>Definition:</b> 930 * The visit, admission or other contact between patient and health care provider the medication administration was performed as part of. 931 * </p> 932 */ 933 public MedicationAdministration setEncounter(ResourceReferenceDt theValue) { 934 myEncounter = theValue; 935 return this; 936 } 937 938 939 940 941 /** 942 * Gets the value(s) for <b>prescription</b> (). 943 * creating it if it does 944 * not exist. Will not return <code>null</code>. 945 * 946 * <p> 947 * <b>Definition:</b> 948 * The original request, instruction or authority to perform the administration. 949 * </p> 950 */ 951 public ResourceReferenceDt getPrescription() { 952 if (myPrescription == null) { 953 myPrescription = new ResourceReferenceDt(); 954 } 955 return myPrescription; 956 } 957 958 /** 959 * Sets the value(s) for <b>prescription</b> () 960 * 961 * <p> 962 * <b>Definition:</b> 963 * The original request, instruction or authority to perform the administration. 964 * </p> 965 */ 966 public MedicationAdministration setPrescription(ResourceReferenceDt theValue) { 967 myPrescription = theValue; 968 return this; 969 } 970 971 972 973 974 /** 975 * Gets the value(s) for <b>wasNotGiven</b> (). 976 * creating it if it does 977 * not exist. Will not return <code>null</code>. 978 * 979 * <p> 980 * <b>Definition:</b> 981 * Set this to true if the record is saying that the medication was NOT administered. 982 * </p> 983 */ 984 public BooleanDt getWasNotGivenElement() { 985 if (myWasNotGiven == null) { 986 myWasNotGiven = new BooleanDt(); 987 } 988 return myWasNotGiven; 989 } 990 991 992 /** 993 * Gets the value(s) for <b>wasNotGiven</b> (). 994 * creating it if it does 995 * not exist. This method may return <code>null</code>. 996 * 997 * <p> 998 * <b>Definition:</b> 999 * Set this to true if the record is saying that the medication was NOT administered. 1000 * </p> 1001 */ 1002 public Boolean getWasNotGiven() { 1003 return getWasNotGivenElement().getValue(); 1004 } 1005 1006 /** 1007 * Sets the value(s) for <b>wasNotGiven</b> () 1008 * 1009 * <p> 1010 * <b>Definition:</b> 1011 * Set this to true if the record is saying that the medication was NOT administered. 1012 * </p> 1013 */ 1014 public MedicationAdministration setWasNotGiven(BooleanDt theValue) { 1015 myWasNotGiven = theValue; 1016 return this; 1017 } 1018 1019 1020 1021 /** 1022 * Sets the value for <b>wasNotGiven</b> () 1023 * 1024 * <p> 1025 * <b>Definition:</b> 1026 * Set this to true if the record is saying that the medication was NOT administered. 1027 * </p> 1028 */ 1029 public MedicationAdministration setWasNotGiven( boolean theBoolean) { 1030 myWasNotGiven = new BooleanDt(theBoolean); 1031 return this; 1032 } 1033 1034 1035 /** 1036 * Gets the value(s) for <b>reasonNotGiven</b> (). 1037 * creating it if it does 1038 * not exist. Will not return <code>null</code>. 1039 * 1040 * <p> 1041 * <b>Definition:</b> 1042 * A code indicating why the administration was not performed. 1043 * </p> 1044 */ 1045 public java.util.List<CodeableConceptDt> getReasonNotGiven() { 1046 if (myReasonNotGiven == null) { 1047 myReasonNotGiven = new java.util.ArrayList<CodeableConceptDt>(); 1048 } 1049 return myReasonNotGiven; 1050 } 1051 1052 /** 1053 * Sets the value(s) for <b>reasonNotGiven</b> () 1054 * 1055 * <p> 1056 * <b>Definition:</b> 1057 * A code indicating why the administration was not performed. 1058 * </p> 1059 */ 1060 public MedicationAdministration setReasonNotGiven(java.util.List<CodeableConceptDt> theValue) { 1061 myReasonNotGiven = theValue; 1062 return this; 1063 } 1064 1065 1066 1067 /** 1068 * Adds and returns a new value for <b>reasonNotGiven</b> () 1069 * 1070 * <p> 1071 * <b>Definition:</b> 1072 * A code indicating why the administration was not performed. 1073 * </p> 1074 */ 1075 public CodeableConceptDt addReasonNotGiven() { 1076 CodeableConceptDt newType = new CodeableConceptDt(); 1077 getReasonNotGiven().add(newType); 1078 return newType; 1079 } 1080 1081 /** 1082 * Adds a given new value for <b>reasonNotGiven</b> () 1083 * 1084 * <p> 1085 * <b>Definition:</b> 1086 * A code indicating why the administration was not performed. 1087 * </p> 1088 * @param theValue The reasonNotGiven to add (must not be <code>null</code>) 1089 */ 1090 public MedicationAdministration addReasonNotGiven(CodeableConceptDt theValue) { 1091 if (theValue == null) { 1092 throw new NullPointerException("theValue must not be null"); 1093 } 1094 getReasonNotGiven().add(theValue); 1095 return this; 1096 } 1097 1098 /** 1099 * Gets the first repetition for <b>reasonNotGiven</b> (), 1100 * creating it if it does not already exist. 1101 * 1102 * <p> 1103 * <b>Definition:</b> 1104 * A code indicating why the administration was not performed. 1105 * </p> 1106 */ 1107 public CodeableConceptDt getReasonNotGivenFirstRep() { 1108 if (getReasonNotGiven().isEmpty()) { 1109 return addReasonNotGiven(); 1110 } 1111 return getReasonNotGiven().get(0); 1112 } 1113 1114 /** 1115 * Gets the value(s) for <b>reasonGiven</b> (). 1116 * creating it if it does 1117 * not exist. Will not return <code>null</code>. 1118 * 1119 * <p> 1120 * <b>Definition:</b> 1121 * A code indicating why the medication was given. 1122 * </p> 1123 */ 1124 public java.util.List<CodeableConceptDt> getReasonGiven() { 1125 if (myReasonGiven == null) { 1126 myReasonGiven = new java.util.ArrayList<CodeableConceptDt>(); 1127 } 1128 return myReasonGiven; 1129 } 1130 1131 /** 1132 * Sets the value(s) for <b>reasonGiven</b> () 1133 * 1134 * <p> 1135 * <b>Definition:</b> 1136 * A code indicating why the medication was given. 1137 * </p> 1138 */ 1139 public MedicationAdministration setReasonGiven(java.util.List<CodeableConceptDt> theValue) { 1140 myReasonGiven = theValue; 1141 return this; 1142 } 1143 1144 1145 1146 /** 1147 * Adds and returns a new value for <b>reasonGiven</b> () 1148 * 1149 * <p> 1150 * <b>Definition:</b> 1151 * A code indicating why the medication was given. 1152 * </p> 1153 */ 1154 public CodeableConceptDt addReasonGiven() { 1155 CodeableConceptDt newType = new CodeableConceptDt(); 1156 getReasonGiven().add(newType); 1157 return newType; 1158 } 1159 1160 /** 1161 * Adds a given new value for <b>reasonGiven</b> () 1162 * 1163 * <p> 1164 * <b>Definition:</b> 1165 * A code indicating why the medication was given. 1166 * </p> 1167 * @param theValue The reasonGiven to add (must not be <code>null</code>) 1168 */ 1169 public MedicationAdministration addReasonGiven(CodeableConceptDt theValue) { 1170 if (theValue == null) { 1171 throw new NullPointerException("theValue must not be null"); 1172 } 1173 getReasonGiven().add(theValue); 1174 return this; 1175 } 1176 1177 /** 1178 * Gets the first repetition for <b>reasonGiven</b> (), 1179 * creating it if it does not already exist. 1180 * 1181 * <p> 1182 * <b>Definition:</b> 1183 * A code indicating why the medication was given. 1184 * </p> 1185 */ 1186 public CodeableConceptDt getReasonGivenFirstRep() { 1187 if (getReasonGiven().isEmpty()) { 1188 return addReasonGiven(); 1189 } 1190 return getReasonGiven().get(0); 1191 } 1192 1193 /** 1194 * Gets the value(s) for <b>effectiveTime[x]</b> (when.done). 1195 * creating it if it does 1196 * not exist. Will not return <code>null</code>. 1197 * 1198 * <p> 1199 * <b>Definition:</b> 1200 * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. 1201 * </p> 1202 */ 1203 public IDatatype getEffectiveTime() { 1204 return myEffectiveTime; 1205 } 1206 1207 /** 1208 * Sets the value(s) for <b>effectiveTime[x]</b> (when.done) 1209 * 1210 * <p> 1211 * <b>Definition:</b> 1212 * A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. 1213 * </p> 1214 */ 1215 public MedicationAdministration setEffectiveTime(IDatatype theValue) { 1216 myEffectiveTime = theValue; 1217 return this; 1218 } 1219 1220 1221 1222 1223 /** 1224 * Gets the value(s) for <b>medication[x]</b> (). 1225 * creating it if it does 1226 * not exist. Will not return <code>null</code>. 1227 * 1228 * <p> 1229 * <b>Definition:</b> 1230 * Identifies the medication that was 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. 1231 * </p> 1232 */ 1233 public IDatatype getMedication() { 1234 return myMedication; 1235 } 1236 1237 /** 1238 * Sets the value(s) for <b>medication[x]</b> () 1239 * 1240 * <p> 1241 * <b>Definition:</b> 1242 * Identifies the medication that was 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. 1243 * </p> 1244 */ 1245 public MedicationAdministration setMedication(IDatatype theValue) { 1246 myMedication = theValue; 1247 return this; 1248 } 1249 1250 1251 1252 1253 /** 1254 * Gets the value(s) for <b>device</b> (). 1255 * creating it if it does 1256 * not exist. Will not return <code>null</code>. 1257 * 1258 * <p> 1259 * <b>Definition:</b> 1260 * The device used in administering the medication to the patient. For example, a particular infusion pump 1261 * </p> 1262 */ 1263 public java.util.List<ResourceReferenceDt> getDevice() { 1264 if (myDevice == null) { 1265 myDevice = new java.util.ArrayList<ResourceReferenceDt>(); 1266 } 1267 return myDevice; 1268 } 1269 1270 /** 1271 * Sets the value(s) for <b>device</b> () 1272 * 1273 * <p> 1274 * <b>Definition:</b> 1275 * The device used in administering the medication to the patient. For example, a particular infusion pump 1276 * </p> 1277 */ 1278 public MedicationAdministration setDevice(java.util.List<ResourceReferenceDt> theValue) { 1279 myDevice = theValue; 1280 return this; 1281 } 1282 1283 1284 1285 /** 1286 * Adds and returns a new value for <b>device</b> () 1287 * 1288 * <p> 1289 * <b>Definition:</b> 1290 * The device used in administering the medication to the patient. For example, a particular infusion pump 1291 * </p> 1292 */ 1293 public ResourceReferenceDt addDevice() { 1294 ResourceReferenceDt newType = new ResourceReferenceDt(); 1295 getDevice().add(newType); 1296 return newType; 1297 } 1298 1299 /** 1300 * Gets the value(s) for <b>note</b> (). 1301 * creating it if it does 1302 * not exist. Will not return <code>null</code>. 1303 * 1304 * <p> 1305 * <b>Definition:</b> 1306 * Extra information about the medication administration that is not conveyed by the other attributes. 1307 * </p> 1308 */ 1309 public StringDt getNoteElement() { 1310 if (myNote == null) { 1311 myNote = new StringDt(); 1312 } 1313 return myNote; 1314 } 1315 1316 1317 /** 1318 * Gets the value(s) for <b>note</b> (). 1319 * creating it if it does 1320 * not exist. This method may return <code>null</code>. 1321 * 1322 * <p> 1323 * <b>Definition:</b> 1324 * Extra information about the medication administration that is not conveyed by the other attributes. 1325 * </p> 1326 */ 1327 public String getNote() { 1328 return getNoteElement().getValue(); 1329 } 1330 1331 /** 1332 * Sets the value(s) for <b>note</b> () 1333 * 1334 * <p> 1335 * <b>Definition:</b> 1336 * Extra information about the medication administration that is not conveyed by the other attributes. 1337 * </p> 1338 */ 1339 public MedicationAdministration setNote(StringDt theValue) { 1340 myNote = theValue; 1341 return this; 1342 } 1343 1344 1345 1346 /** 1347 * Sets the value for <b>note</b> () 1348 * 1349 * <p> 1350 * <b>Definition:</b> 1351 * Extra information about the medication administration that is not conveyed by the other attributes. 1352 * </p> 1353 */ 1354 public MedicationAdministration setNote( String theString) { 1355 myNote = new StringDt(theString); 1356 return this; 1357 } 1358 1359 1360 /** 1361 * Gets the value(s) for <b>dosage</b> (). 1362 * creating it if it does 1363 * not exist. Will not return <code>null</code>. 1364 * 1365 * <p> 1366 * <b>Definition:</b> 1367 * Describes the medication dosage information details e.g. dose, rate, site, route, etc. 1368 * </p> 1369 */ 1370 public Dosage getDosage() { 1371 if (myDosage == null) { 1372 myDosage = new Dosage(); 1373 } 1374 return myDosage; 1375 } 1376 1377 /** 1378 * Sets the value(s) for <b>dosage</b> () 1379 * 1380 * <p> 1381 * <b>Definition:</b> 1382 * Describes the medication dosage information details e.g. dose, rate, site, route, etc. 1383 * </p> 1384 */ 1385 public MedicationAdministration setDosage(Dosage theValue) { 1386 myDosage = theValue; 1387 return this; 1388 } 1389 1390 1391 1392 1393 /** 1394 * Block class for child element: <b>MedicationAdministration.dosage</b> () 1395 * 1396 * <p> 1397 * <b>Definition:</b> 1398 * Describes the medication dosage information details e.g. dose, rate, site, route, etc. 1399 * </p> 1400 */ 1401 @Block() 1402 public static class Dosage 1403 extends BaseIdentifiableElement implements IResourceBlock { 1404 1405 @Child(name="text", type=StringDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1406 @Description( 1407 shortDefinition="", 1408 formalDefinition="Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication." 1409 ) 1410 private StringDt myText; 1411 1412 @Child(name="site", order=1, min=0, max=1, summary=false, modifier=false, type={ 1413 CodeableConceptDt.class, BodySite.class }) 1414 @Description( 1415 shortDefinition="", 1416 formalDefinition="A coded specification of the anatomic site where the medication first entered the body. For example, \"left arm\"" 1417 ) 1418 private IDatatype mySite; 1419 1420 @Child(name="route", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1421 @Description( 1422 shortDefinition="", 1423 formalDefinition="A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc." 1424 ) 1425 private CodeableConceptDt myRoute; 1426 1427 @Child(name="method", type=CodeableConceptDt.class, order=3, min=0, max=1, summary=false, modifier=false) 1428 @Description( 1429 shortDefinition="", 1430 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." 1431 ) 1432 private CodeableConceptDt myMethod; 1433 1434 @Child(name="quantity", type=SimpleQuantityDt.class, order=4, min=0, max=1, summary=false, modifier=false) 1435 @Description( 1436 shortDefinition="", 1437 formalDefinition="The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection." 1438 ) 1439 private SimpleQuantityDt myQuantity; 1440 1441 @Child(name="rate", order=5, min=0, max=1, summary=false, modifier=false, type={ 1442 RatioDt.class, RangeDt.class }) 1443 @Description( 1444 shortDefinition="", 1445 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." 1446 ) 1447 private IDatatype myRate; 1448 1449 1450 @Override 1451 public boolean isEmpty() { 1452 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myText, mySite, myRoute, myMethod, myQuantity, myRate); 1453 } 1454 1455 @Override 1456 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1457 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myText, mySite, myRoute, myMethod, myQuantity, myRate); 1458 } 1459 1460 /** 1461 * Gets the value(s) for <b>text</b> (). 1462 * creating it if it does 1463 * not exist. Will not return <code>null</code>. 1464 * 1465 * <p> 1466 * <b>Definition:</b> 1467 * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. 1468 * </p> 1469 */ 1470 public StringDt getTextElement() { 1471 if (myText == null) { 1472 myText = new StringDt(); 1473 } 1474 return myText; 1475 } 1476 1477 1478 /** 1479 * Gets the value(s) for <b>text</b> (). 1480 * creating it if it does 1481 * not exist. This method may return <code>null</code>. 1482 * 1483 * <p> 1484 * <b>Definition:</b> 1485 * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. 1486 * </p> 1487 */ 1488 public String getText() { 1489 return getTextElement().getValue(); 1490 } 1491 1492 /** 1493 * Sets the value(s) for <b>text</b> () 1494 * 1495 * <p> 1496 * <b>Definition:</b> 1497 * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. 1498 * </p> 1499 */ 1500 public Dosage setText(StringDt theValue) { 1501 myText = theValue; 1502 return this; 1503 } 1504 1505 1506 1507 /** 1508 * Sets the value for <b>text</b> () 1509 * 1510 * <p> 1511 * <b>Definition:</b> 1512 * Free text dosage instructions can be used for cases where the instructions are too complex to code. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. 1513 * </p> 1514 */ 1515 public Dosage setText( String theString) { 1516 myText = new StringDt(theString); 1517 return this; 1518 } 1519 1520 1521 /** 1522 * Gets the value(s) for <b>site[x]</b> (). 1523 * creating it if it does 1524 * not exist. Will not return <code>null</code>. 1525 * 1526 * <p> 1527 * <b>Definition:</b> 1528 * A coded specification of the anatomic site where the medication first entered the body. For example, \"left arm\" 1529 * </p> 1530 */ 1531 public IDatatype getSite() { 1532 return mySite; 1533 } 1534 1535 /** 1536 * Sets the value(s) for <b>site[x]</b> () 1537 * 1538 * <p> 1539 * <b>Definition:</b> 1540 * A coded specification of the anatomic site where the medication first entered the body. For example, \"left arm\" 1541 * </p> 1542 */ 1543 public Dosage setSite(IDatatype theValue) { 1544 mySite = theValue; 1545 return this; 1546 } 1547 1548 1549 1550 1551 /** 1552 * Gets the value(s) for <b>route</b> (). 1553 * creating it if it does 1554 * not exist. Will not return <code>null</code>. 1555 * 1556 * <p> 1557 * <b>Definition:</b> 1558 * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. 1559 * </p> 1560 */ 1561 public CodeableConceptDt getRoute() { 1562 if (myRoute == null) { 1563 myRoute = new CodeableConceptDt(); 1564 } 1565 return myRoute; 1566 } 1567 1568 /** 1569 * Sets the value(s) for <b>route</b> () 1570 * 1571 * <p> 1572 * <b>Definition:</b> 1573 * A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc. 1574 * </p> 1575 */ 1576 public Dosage setRoute(CodeableConceptDt theValue) { 1577 myRoute = theValue; 1578 return this; 1579 } 1580 1581 1582 1583 1584 /** 1585 * Gets the value(s) for <b>method</b> (). 1586 * creating it if it does 1587 * not exist. Will not return <code>null</code>. 1588 * 1589 * <p> 1590 * <b>Definition:</b> 1591 * 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. 1592 * </p> 1593 */ 1594 public CodeableConceptDt getMethod() { 1595 if (myMethod == null) { 1596 myMethod = new CodeableConceptDt(); 1597 } 1598 return myMethod; 1599 } 1600 1601 /** 1602 * Sets the value(s) for <b>method</b> () 1603 * 1604 * <p> 1605 * <b>Definition:</b> 1606 * 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. 1607 * </p> 1608 */ 1609 public Dosage setMethod(CodeableConceptDt theValue) { 1610 myMethod = theValue; 1611 return this; 1612 } 1613 1614 1615 1616 1617 /** 1618 * Gets the value(s) for <b>quantity</b> (). 1619 * creating it if it does 1620 * not exist. Will not return <code>null</code>. 1621 * 1622 * <p> 1623 * <b>Definition:</b> 1624 * The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection. 1625 * </p> 1626 */ 1627 public SimpleQuantityDt getQuantity() { 1628 if (myQuantity == null) { 1629 myQuantity = new SimpleQuantityDt(); 1630 } 1631 return myQuantity; 1632 } 1633 1634 /** 1635 * Sets the value(s) for <b>quantity</b> () 1636 * 1637 * <p> 1638 * <b>Definition:</b> 1639 * The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection. 1640 * </p> 1641 */ 1642 public Dosage setQuantity(SimpleQuantityDt theValue) { 1643 myQuantity = theValue; 1644 return this; 1645 } 1646 1647 1648 1649 1650 /** 1651 * Gets the value(s) for <b>rate[x]</b> (). 1652 * creating it if it does 1653 * not exist. Will not return <code>null</code>. 1654 * 1655 * <p> 1656 * <b>Definition:</b> 1657 * 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. 1658 * </p> 1659 */ 1660 public IDatatype getRate() { 1661 return myRate; 1662 } 1663 1664 /** 1665 * Sets the value(s) for <b>rate[x]</b> () 1666 * 1667 * <p> 1668 * <b>Definition:</b> 1669 * 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. 1670 * </p> 1671 */ 1672 public Dosage setRate(IDatatype theValue) { 1673 myRate = theValue; 1674 return this; 1675 } 1676 1677 1678 1679 1680 1681 1682 } 1683 1684 1685 1686 1687 @Override 1688 public String getResourceName() { 1689 return "MedicationAdministration"; 1690 } 1691 1692 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1693 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1694 } 1695 1696 1697}