001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>DeviceUseStatement</b> Resource 320 * (workflow.order) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A record of a device being used by a patient where the record is the result of a report from the patient or another clinician. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/DeviceUseStatement">http://hl7.org/fhir/profiles/DeviceUseStatement</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="DeviceUseStatement", profile="http://hl7.org/fhir/profiles/DeviceUseStatement", id="deviceusestatement") 339public class DeviceUseStatement extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>subject</b> 344 * <p> 345 * Description: <b>Search by subject</b><br> 346 * Type: <b>reference</b><br> 347 * Path: <b>DeviceUseStatement.subject</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="subject", path="DeviceUseStatement.subject", description="Search by subject", type="reference" ) 351 public static final String SP_SUBJECT = "subject"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 355 * <p> 356 * Description: <b>Search by subject</b><br> 357 * Type: <b>reference</b><br> 358 * Path: <b>DeviceUseStatement.subject</b><br> 359 * </p> 360 */ 361 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 362 363 /** 364 * Search parameter constant for <b>patient</b> 365 * <p> 366 * Description: <b>Search by subject - a patient</b><br> 367 * Type: <b>reference</b><br> 368 * Path: <b>DeviceUseStatement.subject</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="patient", path="DeviceUseStatement.subject", description="Search by subject - a patient", type="reference" ) 372 public static final String SP_PATIENT = "patient"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 376 * <p> 377 * Description: <b>Search by subject - a patient</b><br> 378 * Type: <b>reference</b><br> 379 * Path: <b>DeviceUseStatement.subject</b><br> 380 * </p> 381 */ 382 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 383 384 /** 385 * Search parameter constant for <b>device</b> 386 * <p> 387 * Description: <b>Search by device</b><br> 388 * Type: <b>reference</b><br> 389 * Path: <b>DeviceUseStatement.device</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="device", path="DeviceUseStatement.device", description="Search by device", type="reference" ) 393 public static final String SP_DEVICE = "device"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>device</b> 397 * <p> 398 * Description: <b>Search by device</b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>DeviceUseStatement.device</b><br> 401 * </p> 402 */ 403 public static final ReferenceClientParam DEVICE = new ReferenceClientParam(SP_DEVICE); 404 405 406 /** 407 * Constant for fluent queries to be used to add include statements. Specifies 408 * the path value of "<b>DeviceUseStatement:device</b>". 409 */ 410 public static final Include INCLUDE_DEVICE = new Include("DeviceUseStatement:device"); 411 412 /** 413 * Constant for fluent queries to be used to add include statements. Specifies 414 * the path value of "<b>DeviceUseStatement:patient</b>". 415 */ 416 public static final Include INCLUDE_PATIENT = new Include("DeviceUseStatement:patient"); 417 418 /** 419 * Constant for fluent queries to be used to add include statements. Specifies 420 * the path value of "<b>DeviceUseStatement:subject</b>". 421 */ 422 public static final Include INCLUDE_SUBJECT = new Include("DeviceUseStatement:subject"); 423 424 425 @Child(name="bodySite", order=0, min=0, max=1, summary=false, modifier=false, type={ 426 CodeableConceptDt.class, BodySite.class }) 427 @Description( 428 shortDefinition="", 429 formalDefinition="Indicates the site on the subject's body where the device was used ( i.e. the target site)." 430 ) 431 private IDatatype myBodySite; 432 433 @Child(name="whenUsed", type=PeriodDt.class, order=1, min=0, max=1, summary=false, modifier=false) 434 @Description( 435 shortDefinition="when.done", 436 formalDefinition="The time period over which the device was used." 437 ) 438 private PeriodDt myWhenUsed; 439 440 @Child(name="device", order=2, min=1, max=1, summary=false, modifier=false, type={ 441 ca.uhn.fhir.model.dstu2.resource.Device.class }) 442 @Description( 443 shortDefinition="who.actor", 444 formalDefinition="The details of the device used." 445 ) 446 private ResourceReferenceDt myDevice; 447 448 @Child(name="identifier", type=IdentifierDt.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 449 @Description( 450 shortDefinition="id", 451 formalDefinition="An external identifier for this statement such as an IRI." 452 ) 453 private java.util.List<IdentifierDt> myIdentifier; 454 455 @Child(name="indication", type=CodeableConceptDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 456 @Description( 457 shortDefinition="why", 458 formalDefinition="Reason or justification for the use of the device." 459 ) 460 private java.util.List<CodeableConceptDt> myIndication; 461 462 @Child(name="notes", type=StringDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 463 @Description( 464 shortDefinition="", 465 formalDefinition="Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement." 466 ) 467 private java.util.List<StringDt> myNotes; 468 469 @Child(name="recordedOn", type=DateTimeDt.class, order=6, min=0, max=1, summary=false, modifier=false) 470 @Description( 471 shortDefinition="when.recorded", 472 formalDefinition="The time at which the statement was made/recorded." 473 ) 474 private DateTimeDt myRecordedOn; 475 476 @Child(name="subject", order=7, min=1, max=1, summary=false, modifier=false, type={ 477 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 478 @Description( 479 shortDefinition="who.focus", 480 formalDefinition="The patient who used the device." 481 ) 482 private ResourceReferenceDt mySubject; 483 484 @Child(name="timing", order=8, min=0, max=1, summary=false, modifier=false, type={ 485 TimingDt.class, PeriodDt.class, DateTimeDt.class }) 486 @Description( 487 shortDefinition="when.done", 488 formalDefinition="How often the device was used." 489 ) 490 private IDatatype myTiming; 491 492 493 @Override 494 public boolean isEmpty() { 495 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myBodySite, myWhenUsed, myDevice, myIdentifier, myIndication, myNotes, myRecordedOn, mySubject, myTiming); 496 } 497 498 @Override 499 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 500 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myBodySite, myWhenUsed, myDevice, myIdentifier, myIndication, myNotes, myRecordedOn, mySubject, myTiming); 501 } 502 503 /** 504 * Gets the value(s) for <b>bodySite[x]</b> (). 505 * creating it if it does 506 * not exist. Will not return <code>null</code>. 507 * 508 * <p> 509 * <b>Definition:</b> 510 * Indicates the site on the subject's body where the device was used ( i.e. the target site). 511 * </p> 512 */ 513 public IDatatype getBodySite() { 514 return myBodySite; 515 } 516 517 /** 518 * Sets the value(s) for <b>bodySite[x]</b> () 519 * 520 * <p> 521 * <b>Definition:</b> 522 * Indicates the site on the subject's body where the device was used ( i.e. the target site). 523 * </p> 524 */ 525 public DeviceUseStatement setBodySite(IDatatype theValue) { 526 myBodySite = theValue; 527 return this; 528 } 529 530 531 532 533 /** 534 * Gets the value(s) for <b>whenUsed</b> (when.done). 535 * creating it if it does 536 * not exist. Will not return <code>null</code>. 537 * 538 * <p> 539 * <b>Definition:</b> 540 * The time period over which the device was used. 541 * </p> 542 */ 543 public PeriodDt getWhenUsed() { 544 if (myWhenUsed == null) { 545 myWhenUsed = new PeriodDt(); 546 } 547 return myWhenUsed; 548 } 549 550 /** 551 * Sets the value(s) for <b>whenUsed</b> (when.done) 552 * 553 * <p> 554 * <b>Definition:</b> 555 * The time period over which the device was used. 556 * </p> 557 */ 558 public DeviceUseStatement setWhenUsed(PeriodDt theValue) { 559 myWhenUsed = theValue; 560 return this; 561 } 562 563 564 565 566 /** 567 * Gets the value(s) for <b>device</b> (who.actor). 568 * creating it if it does 569 * not exist. Will not return <code>null</code>. 570 * 571 * <p> 572 * <b>Definition:</b> 573 * The details of the device used. 574 * </p> 575 */ 576 public ResourceReferenceDt getDevice() { 577 if (myDevice == null) { 578 myDevice = new ResourceReferenceDt(); 579 } 580 return myDevice; 581 } 582 583 /** 584 * Sets the value(s) for <b>device</b> (who.actor) 585 * 586 * <p> 587 * <b>Definition:</b> 588 * The details of the device used. 589 * </p> 590 */ 591 public DeviceUseStatement setDevice(ResourceReferenceDt theValue) { 592 myDevice = theValue; 593 return this; 594 } 595 596 597 598 599 /** 600 * Gets the value(s) for <b>identifier</b> (id). 601 * creating it if it does 602 * not exist. Will not return <code>null</code>. 603 * 604 * <p> 605 * <b>Definition:</b> 606 * An external identifier for this statement such as an IRI. 607 * </p> 608 */ 609 public java.util.List<IdentifierDt> getIdentifier() { 610 if (myIdentifier == null) { 611 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 612 } 613 return myIdentifier; 614 } 615 616 /** 617 * Sets the value(s) for <b>identifier</b> (id) 618 * 619 * <p> 620 * <b>Definition:</b> 621 * An external identifier for this statement such as an IRI. 622 * </p> 623 */ 624 public DeviceUseStatement setIdentifier(java.util.List<IdentifierDt> theValue) { 625 myIdentifier = theValue; 626 return this; 627 } 628 629 630 631 /** 632 * Adds and returns a new value for <b>identifier</b> (id) 633 * 634 * <p> 635 * <b>Definition:</b> 636 * An external identifier for this statement such as an IRI. 637 * </p> 638 */ 639 public IdentifierDt addIdentifier() { 640 IdentifierDt newType = new IdentifierDt(); 641 getIdentifier().add(newType); 642 return newType; 643 } 644 645 /** 646 * Adds a given new value for <b>identifier</b> (id) 647 * 648 * <p> 649 * <b>Definition:</b> 650 * An external identifier for this statement such as an IRI. 651 * </p> 652 * @param theValue The identifier to add (must not be <code>null</code>) 653 */ 654 public DeviceUseStatement addIdentifier(IdentifierDt theValue) { 655 if (theValue == null) { 656 throw new NullPointerException("theValue must not be null"); 657 } 658 getIdentifier().add(theValue); 659 return this; 660 } 661 662 /** 663 * Gets the first repetition for <b>identifier</b> (id), 664 * creating it if it does not already exist. 665 * 666 * <p> 667 * <b>Definition:</b> 668 * An external identifier for this statement such as an IRI. 669 * </p> 670 */ 671 public IdentifierDt getIdentifierFirstRep() { 672 if (getIdentifier().isEmpty()) { 673 return addIdentifier(); 674 } 675 return getIdentifier().get(0); 676 } 677 678 /** 679 * Gets the value(s) for <b>indication</b> (why). 680 * creating it if it does 681 * not exist. Will not return <code>null</code>. 682 * 683 * <p> 684 * <b>Definition:</b> 685 * Reason or justification for the use of the device. 686 * </p> 687 */ 688 public java.util.List<CodeableConceptDt> getIndication() { 689 if (myIndication == null) { 690 myIndication = new java.util.ArrayList<CodeableConceptDt>(); 691 } 692 return myIndication; 693 } 694 695 /** 696 * Sets the value(s) for <b>indication</b> (why) 697 * 698 * <p> 699 * <b>Definition:</b> 700 * Reason or justification for the use of the device. 701 * </p> 702 */ 703 public DeviceUseStatement setIndication(java.util.List<CodeableConceptDt> theValue) { 704 myIndication = theValue; 705 return this; 706 } 707 708 709 710 /** 711 * Adds and returns a new value for <b>indication</b> (why) 712 * 713 * <p> 714 * <b>Definition:</b> 715 * Reason or justification for the use of the device. 716 * </p> 717 */ 718 public CodeableConceptDt addIndication() { 719 CodeableConceptDt newType = new CodeableConceptDt(); 720 getIndication().add(newType); 721 return newType; 722 } 723 724 /** 725 * Adds a given new value for <b>indication</b> (why) 726 * 727 * <p> 728 * <b>Definition:</b> 729 * Reason or justification for the use of the device. 730 * </p> 731 * @param theValue The indication to add (must not be <code>null</code>) 732 */ 733 public DeviceUseStatement addIndication(CodeableConceptDt theValue) { 734 if (theValue == null) { 735 throw new NullPointerException("theValue must not be null"); 736 } 737 getIndication().add(theValue); 738 return this; 739 } 740 741 /** 742 * Gets the first repetition for <b>indication</b> (why), 743 * creating it if it does not already exist. 744 * 745 * <p> 746 * <b>Definition:</b> 747 * Reason or justification for the use of the device. 748 * </p> 749 */ 750 public CodeableConceptDt getIndicationFirstRep() { 751 if (getIndication().isEmpty()) { 752 return addIndication(); 753 } 754 return getIndication().get(0); 755 } 756 757 /** 758 * Gets the value(s) for <b>notes</b> (). 759 * creating it if it does 760 * not exist. Will not return <code>null</code>. 761 * 762 * <p> 763 * <b>Definition:</b> 764 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 765 * </p> 766 */ 767 public java.util.List<StringDt> getNotes() { 768 if (myNotes == null) { 769 myNotes = new java.util.ArrayList<StringDt>(); 770 } 771 return myNotes; 772 } 773 774 /** 775 * Sets the value(s) for <b>notes</b> () 776 * 777 * <p> 778 * <b>Definition:</b> 779 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 780 * </p> 781 */ 782 public DeviceUseStatement setNotes(java.util.List<StringDt> theValue) { 783 myNotes = theValue; 784 return this; 785 } 786 787 788 789 /** 790 * Adds and returns a new value for <b>notes</b> () 791 * 792 * <p> 793 * <b>Definition:</b> 794 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 795 * </p> 796 */ 797 public StringDt addNotes() { 798 StringDt newType = new StringDt(); 799 getNotes().add(newType); 800 return newType; 801 } 802 803 /** 804 * Adds a given new value for <b>notes</b> () 805 * 806 * <p> 807 * <b>Definition:</b> 808 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 809 * </p> 810 * @param theValue The notes to add (must not be <code>null</code>) 811 */ 812 public DeviceUseStatement addNotes(StringDt theValue) { 813 if (theValue == null) { 814 throw new NullPointerException("theValue must not be null"); 815 } 816 getNotes().add(theValue); 817 return this; 818 } 819 820 /** 821 * Gets the first repetition for <b>notes</b> (), 822 * creating it if it does not already exist. 823 * 824 * <p> 825 * <b>Definition:</b> 826 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 827 * </p> 828 */ 829 public StringDt getNotesFirstRep() { 830 if (getNotes().isEmpty()) { 831 return addNotes(); 832 } 833 return getNotes().get(0); 834 } 835 /** 836 * Adds a new value for <b>notes</b> () 837 * 838 * <p> 839 * <b>Definition:</b> 840 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 841 * </p> 842 * 843 * @return Returns a reference to this object, to allow for simple chaining. 844 */ 845 public DeviceUseStatement addNotes( String theString) { 846 if (myNotes == null) { 847 myNotes = new java.util.ArrayList<StringDt>(); 848 } 849 myNotes.add(new StringDt(theString)); 850 return this; 851 } 852 853 854 /** 855 * Gets the value(s) for <b>recordedOn</b> (when.recorded). 856 * creating it if it does 857 * not exist. Will not return <code>null</code>. 858 * 859 * <p> 860 * <b>Definition:</b> 861 * The time at which the statement was made/recorded. 862 * </p> 863 */ 864 public DateTimeDt getRecordedOnElement() { 865 if (myRecordedOn == null) { 866 myRecordedOn = new DateTimeDt(); 867 } 868 return myRecordedOn; 869 } 870 871 872 /** 873 * Gets the value(s) for <b>recordedOn</b> (when.recorded). 874 * creating it if it does 875 * not exist. Will not return <code>null</code>. 876 * 877 * <p> 878 * <b>Definition:</b> 879 * The time at which the statement was made/recorded. 880 * </p> 881 */ 882 public Date getRecordedOn() { 883 return getRecordedOnElement().getValue(); 884 } 885 886 /** 887 * Sets the value(s) for <b>recordedOn</b> (when.recorded) 888 * 889 * <p> 890 * <b>Definition:</b> 891 * The time at which the statement was made/recorded. 892 * </p> 893 */ 894 public DeviceUseStatement setRecordedOn(DateTimeDt theValue) { 895 myRecordedOn = theValue; 896 return this; 897 } 898 899 900 901 /** 902 * Sets the value for <b>recordedOn</b> (when.recorded) 903 * 904 * <p> 905 * <b>Definition:</b> 906 * The time at which the statement was made/recorded. 907 * </p> 908 */ 909 public DeviceUseStatement setRecordedOn( Date theDate, TemporalPrecisionEnum thePrecision) { 910 myRecordedOn = new DateTimeDt(theDate, thePrecision); 911 return this; 912 } 913 914 /** 915 * Sets the value for <b>recordedOn</b> (when.recorded) 916 * 917 * <p> 918 * <b>Definition:</b> 919 * The time at which the statement was made/recorded. 920 * </p> 921 */ 922 public DeviceUseStatement setRecordedOnWithSecondsPrecision( Date theDate) { 923 myRecordedOn = new DateTimeDt(theDate); 924 return this; 925 } 926 927 928 /** 929 * Gets the value(s) for <b>subject</b> (who.focus). 930 * creating it if it does 931 * not exist. Will not return <code>null</code>. 932 * 933 * <p> 934 * <b>Definition:</b> 935 * The patient who used the device. 936 * </p> 937 */ 938 public ResourceReferenceDt getSubject() { 939 if (mySubject == null) { 940 mySubject = new ResourceReferenceDt(); 941 } 942 return mySubject; 943 } 944 945 /** 946 * Sets the value(s) for <b>subject</b> (who.focus) 947 * 948 * <p> 949 * <b>Definition:</b> 950 * The patient who used the device. 951 * </p> 952 */ 953 public DeviceUseStatement setSubject(ResourceReferenceDt theValue) { 954 mySubject = theValue; 955 return this; 956 } 957 958 959 960 961 /** 962 * Gets the value(s) for <b>timing[x]</b> (when.done). 963 * creating it if it does 964 * not exist. Will not return <code>null</code>. 965 * 966 * <p> 967 * <b>Definition:</b> 968 * How often the device was used. 969 * </p> 970 */ 971 public IDatatype getTiming() { 972 return myTiming; 973 } 974 975 /** 976 * Sets the value(s) for <b>timing[x]</b> (when.done) 977 * 978 * <p> 979 * <b>Definition:</b> 980 * How often the device was used. 981 * </p> 982 */ 983 public DeviceUseStatement setTiming(IDatatype theValue) { 984 myTiming = theValue; 985 return this; 986 } 987 988 989 990 991 992 993 @Override 994 public String getResourceName() { 995 return "DeviceUseStatement"; 996 } 997 998 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 999 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1000 } 1001 1002 1003}