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>Device</b> Resource 320 * () 321 * 322 * <p> 323 * <b>Definition:</b> 324 * This resource identifies an instance of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * Allows institutions to track their devices. 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/Device">http://hl7.org/fhir/profiles/Device</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Device", profile="http://hl7.org/fhir/profiles/Device", id="device") 339public class Device extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>type</b> 344 * <p> 345 * Description: <b>The type of the device</b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>Device.type</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="type", path="Device.type", description="The type of the device", type="token" ) 351 public static final String SP_TYPE = "type"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>type</b> 355 * <p> 356 * Description: <b>The type of the device</b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>Device.type</b><br> 359 * </p> 360 */ 361 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 362 363 /** 364 * Search parameter constant for <b>manufacturer</b> 365 * <p> 366 * Description: <b>The manufacturer of the device</b><br> 367 * Type: <b>string</b><br> 368 * Path: <b>Device.manufacturer</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="manufacturer", path="Device.manufacturer", description="The manufacturer of the device", type="string" ) 372 public static final String SP_MANUFACTURER = "manufacturer"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>manufacturer</b> 376 * <p> 377 * Description: <b>The manufacturer of the device</b><br> 378 * Type: <b>string</b><br> 379 * Path: <b>Device.manufacturer</b><br> 380 * </p> 381 */ 382 public static final StringClientParam MANUFACTURER = new StringClientParam(SP_MANUFACTURER); 383 384 /** 385 * Search parameter constant for <b>model</b> 386 * <p> 387 * Description: <b>The model of the device</b><br> 388 * Type: <b>string</b><br> 389 * Path: <b>Device.model</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="model", path="Device.model", description="The model of the device", type="string" ) 393 public static final String SP_MODEL = "model"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>model</b> 397 * <p> 398 * Description: <b>The model of the device</b><br> 399 * Type: <b>string</b><br> 400 * Path: <b>Device.model</b><br> 401 * </p> 402 */ 403 public static final StringClientParam MODEL = new StringClientParam(SP_MODEL); 404 405 /** 406 * Search parameter constant for <b>organization</b> 407 * <p> 408 * Description: <b>The organization responsible for the device</b><br> 409 * Type: <b>reference</b><br> 410 * Path: <b>Device.owner</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="organization", path="Device.owner", description="The organization responsible for the device", type="reference" ) 414 public static final String SP_ORGANIZATION = "organization"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 418 * <p> 419 * Description: <b>The organization responsible for the device</b><br> 420 * Type: <b>reference</b><br> 421 * Path: <b>Device.owner</b><br> 422 * </p> 423 */ 424 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 425 426 /** 427 * Search parameter constant for <b>identifier</b> 428 * <p> 429 * Description: <b>Instance id from manufacturer, owner, and others</b><br> 430 * Type: <b>token</b><br> 431 * Path: <b>Device.identifier</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="identifier", path="Device.identifier", description="Instance id from manufacturer, owner, and others", type="token" ) 435 public static final String SP_IDENTIFIER = "identifier"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 439 * <p> 440 * Description: <b>Instance id from manufacturer, owner, and others</b><br> 441 * Type: <b>token</b><br> 442 * Path: <b>Device.identifier</b><br> 443 * </p> 444 */ 445 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 446 447 /** 448 * Search parameter constant for <b>location</b> 449 * <p> 450 * Description: <b>A location, where the resource is found</b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>Device.location</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="location", path="Device.location", description="A location, where the resource is found", type="reference" ) 456 public static final String SP_LOCATION = "location"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>location</b> 460 * <p> 461 * Description: <b>A location, where the resource is found</b><br> 462 * Type: <b>reference</b><br> 463 * Path: <b>Device.location</b><br> 464 * </p> 465 */ 466 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 467 468 /** 469 * Search parameter constant for <b>patient</b> 470 * <p> 471 * Description: <b>Patient information, if the resource is affixed to a person</b><br> 472 * Type: <b>reference</b><br> 473 * Path: <b>Device.patient</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="patient", path="Device.patient", description="Patient information, if the resource is affixed to a person", type="reference" ) 477 public static final String SP_PATIENT = "patient"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 481 * <p> 482 * Description: <b>Patient information, if the resource is affixed to a person</b><br> 483 * Type: <b>reference</b><br> 484 * Path: <b>Device.patient</b><br> 485 * </p> 486 */ 487 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 488 489 /** 490 * Search parameter constant for <b>udi</b> 491 * <p> 492 * Description: <b>FDA mandated Unique Device Identifier</b><br> 493 * Type: <b>string</b><br> 494 * Path: <b>Device.udi</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="udi", path="Device.udi", description="FDA mandated Unique Device Identifier", type="string" ) 498 public static final String SP_UDI = "udi"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>udi</b> 502 * <p> 503 * Description: <b>FDA mandated Unique Device Identifier</b><br> 504 * Type: <b>string</b><br> 505 * Path: <b>Device.udi</b><br> 506 * </p> 507 */ 508 public static final StringClientParam UDI = new StringClientParam(SP_UDI); 509 510 /** 511 * Search parameter constant for <b>url</b> 512 * <p> 513 * Description: <b>Network address to contact device</b><br> 514 * Type: <b>uri</b><br> 515 * Path: <b>Device.url</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="url", path="Device.url", description="Network address to contact device", type="uri" ) 519 public static final String SP_URL = "url"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>url</b> 523 * <p> 524 * Description: <b>Network address to contact device</b><br> 525 * Type: <b>uri</b><br> 526 * Path: <b>Device.url</b><br> 527 * </p> 528 */ 529 public static final UriClientParam URL = new UriClientParam(SP_URL); 530 531 532 /** 533 * Constant for fluent queries to be used to add include statements. Specifies 534 * the path value of "<b>Device:location</b>". 535 */ 536 public static final Include INCLUDE_LOCATION = new Include("Device:location"); 537 538 /** 539 * Constant for fluent queries to be used to add include statements. Specifies 540 * the path value of "<b>Device:organization</b>". 541 */ 542 public static final Include INCLUDE_ORGANIZATION = new Include("Device:organization"); 543 544 /** 545 * Constant for fluent queries to be used to add include statements. Specifies 546 * the path value of "<b>Device:patient</b>". 547 */ 548 public static final Include INCLUDE_PATIENT = new Include("Device:patient"); 549 550 551 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 552 @Description( 553 shortDefinition="", 554 formalDefinition="Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used." 555 ) 556 private java.util.List<IdentifierDt> myIdentifier; 557 558 @Child(name="type", type=CodeableConceptDt.class, order=1, min=1, max=1, summary=false, modifier=false) 559 @Description( 560 shortDefinition="", 561 formalDefinition="Code or identifier to identify a kind of device." 562 ) 563 private CodeableConceptDt myType; 564 565 @Child(name="note", type=AnnotationDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 566 @Description( 567 shortDefinition="", 568 formalDefinition="Descriptive information, usage information or implantation information that is not captured in an existing element." 569 ) 570 private java.util.List<AnnotationDt> myNote; 571 572 @Child(name="status", type=CodeDt.class, order=3, min=0, max=1, summary=true, modifier=true) 573 @Description( 574 shortDefinition="", 575 formalDefinition="Status of the Device availability." 576 ) 577 private BoundCodeDt<DeviceStatusEnum> myStatus; 578 579 @Child(name="manufacturer", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 580 @Description( 581 shortDefinition="", 582 formalDefinition="A name of the manufacturer" 583 ) 584 private StringDt myManufacturer; 585 586 @Child(name="model", type=StringDt.class, order=5, min=0, max=1, summary=false, modifier=false) 587 @Description( 588 shortDefinition="", 589 formalDefinition="The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type." 590 ) 591 private StringDt myModel; 592 593 @Child(name="version", type=StringDt.class, order=6, min=0, max=1, summary=false, modifier=false) 594 @Description( 595 shortDefinition="", 596 formalDefinition="The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware." 597 ) 598 private StringDt myVersion; 599 600 @Child(name="manufactureDate", type=DateTimeDt.class, order=7, min=0, max=1, summary=false, modifier=false) 601 @Description( 602 shortDefinition="", 603 formalDefinition="The date and time when the device was manufactured." 604 ) 605 private DateTimeDt myManufactureDate; 606 607 @Child(name="expiry", type=DateTimeDt.class, order=8, min=0, max=1, summary=false, modifier=false) 608 @Description( 609 shortDefinition="", 610 formalDefinition="The date and time beyond which this device is no longer valid or should not be used (if applicable)" 611 ) 612 private DateTimeDt myExpiry; 613 614 @Child(name="udi", type=StringDt.class, order=9, min=0, max=1, summary=false, modifier=false) 615 @Description( 616 shortDefinition="", 617 formalDefinition="United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm" 618 ) 619 private StringDt myUdi; 620 621 @Child(name="lotNumber", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) 622 @Description( 623 shortDefinition="", 624 formalDefinition="Lot number assigned by the manufacturer" 625 ) 626 private StringDt myLotNumber; 627 628 @Child(name="owner", order=11, min=0, max=1, summary=false, modifier=false, type={ 629 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 630 @Description( 631 shortDefinition="", 632 formalDefinition="An organization that is responsible for the provision and ongoing maintenance of the device." 633 ) 634 private ResourceReferenceDt myOwner; 635 636 @Child(name="location", order=12, min=0, max=1, summary=false, modifier=false, type={ 637 ca.uhn.fhir.model.dstu2.resource.Location.class }) 638 @Description( 639 shortDefinition="", 640 formalDefinition="The place where the device can be found." 641 ) 642 private ResourceReferenceDt myLocation; 643 644 @Child(name="patient", order=13, min=0, max=1, summary=false, modifier=false, type={ 645 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 646 @Description( 647 shortDefinition="", 648 formalDefinition="Patient information, if the resource is affixed to a person" 649 ) 650 private ResourceReferenceDt myPatient; 651 652 @Child(name="contact", type=ContactPointDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 653 @Description( 654 shortDefinition="", 655 formalDefinition="Contact details for an organization or a particular human that is responsible for the device" 656 ) 657 private java.util.List<ContactPointDt> myContact; 658 659 @Child(name="url", type=UriDt.class, order=15, min=0, max=1, summary=false, modifier=false) 660 @Description( 661 shortDefinition="", 662 formalDefinition="A network address on which the device may be contacted directly" 663 ) 664 private UriDt myUrl; 665 666 667 @Override 668 public boolean isEmpty() { 669 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myType, myNote, myStatus, myManufacturer, myModel, myVersion, myManufactureDate, myExpiry, myUdi, myLotNumber, myOwner, myLocation, myPatient, myContact, myUrl); 670 } 671 672 @Override 673 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 674 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myType, myNote, myStatus, myManufacturer, myModel, myVersion, myManufactureDate, myExpiry, myUdi, myLotNumber, myOwner, myLocation, myPatient, myContact, myUrl); 675 } 676 677 /** 678 * Gets the value(s) for <b>identifier</b> (). 679 * creating it if it does 680 * not exist. Will not return <code>null</code>. 681 * 682 * <p> 683 * <b>Definition:</b> 684 * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. 685 * </p> 686 */ 687 public java.util.List<IdentifierDt> getIdentifier() { 688 if (myIdentifier == null) { 689 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 690 } 691 return myIdentifier; 692 } 693 694 /** 695 * Sets the value(s) for <b>identifier</b> () 696 * 697 * <p> 698 * <b>Definition:</b> 699 * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. 700 * </p> 701 */ 702 public Device setIdentifier(java.util.List<IdentifierDt> theValue) { 703 myIdentifier = theValue; 704 return this; 705 } 706 707 708 709 /** 710 * Adds and returns a new value for <b>identifier</b> () 711 * 712 * <p> 713 * <b>Definition:</b> 714 * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. 715 * </p> 716 */ 717 public IdentifierDt addIdentifier() { 718 IdentifierDt newType = new IdentifierDt(); 719 getIdentifier().add(newType); 720 return newType; 721 } 722 723 /** 724 * Adds a given new value for <b>identifier</b> () 725 * 726 * <p> 727 * <b>Definition:</b> 728 * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. 729 * </p> 730 * @param theValue The identifier to add (must not be <code>null</code>) 731 */ 732 public Device addIdentifier(IdentifierDt theValue) { 733 if (theValue == null) { 734 throw new NullPointerException("theValue must not be null"); 735 } 736 getIdentifier().add(theValue); 737 return this; 738 } 739 740 /** 741 * Gets the first repetition for <b>identifier</b> (), 742 * creating it if it does not already exist. 743 * 744 * <p> 745 * <b>Definition:</b> 746 * Unique instance identifiers assigned to a device by organizations like manufacturers or owners. If the identifier identifies the type of device, Device.type should be used. 747 * </p> 748 */ 749 public IdentifierDt getIdentifierFirstRep() { 750 if (getIdentifier().isEmpty()) { 751 return addIdentifier(); 752 } 753 return getIdentifier().get(0); 754 } 755 756 /** 757 * Gets the value(s) for <b>type</b> (). 758 * creating it if it does 759 * not exist. Will not return <code>null</code>. 760 * 761 * <p> 762 * <b>Definition:</b> 763 * Code or identifier to identify a kind of device. 764 * </p> 765 */ 766 public CodeableConceptDt getType() { 767 if (myType == null) { 768 myType = new CodeableConceptDt(); 769 } 770 return myType; 771 } 772 773 /** 774 * Sets the value(s) for <b>type</b> () 775 * 776 * <p> 777 * <b>Definition:</b> 778 * Code or identifier to identify a kind of device. 779 * </p> 780 */ 781 public Device setType(CodeableConceptDt theValue) { 782 myType = theValue; 783 return this; 784 } 785 786 787 788 789 /** 790 * Gets the value(s) for <b>note</b> (). 791 * creating it if it does 792 * not exist. Will not return <code>null</code>. 793 * 794 * <p> 795 * <b>Definition:</b> 796 * Descriptive information, usage information or implantation information that is not captured in an existing element. 797 * </p> 798 */ 799 public java.util.List<AnnotationDt> getNote() { 800 if (myNote == null) { 801 myNote = new java.util.ArrayList<AnnotationDt>(); 802 } 803 return myNote; 804 } 805 806 /** 807 * Sets the value(s) for <b>note</b> () 808 * 809 * <p> 810 * <b>Definition:</b> 811 * Descriptive information, usage information or implantation information that is not captured in an existing element. 812 * </p> 813 */ 814 public Device setNote(java.util.List<AnnotationDt> theValue) { 815 myNote = theValue; 816 return this; 817 } 818 819 820 821 /** 822 * Adds and returns a new value for <b>note</b> () 823 * 824 * <p> 825 * <b>Definition:</b> 826 * Descriptive information, usage information or implantation information that is not captured in an existing element. 827 * </p> 828 */ 829 public AnnotationDt addNote() { 830 AnnotationDt newType = new AnnotationDt(); 831 getNote().add(newType); 832 return newType; 833 } 834 835 /** 836 * Adds a given new value for <b>note</b> () 837 * 838 * <p> 839 * <b>Definition:</b> 840 * Descriptive information, usage information or implantation information that is not captured in an existing element. 841 * </p> 842 * @param theValue The note to add (must not be <code>null</code>) 843 */ 844 public Device addNote(AnnotationDt theValue) { 845 if (theValue == null) { 846 throw new NullPointerException("theValue must not be null"); 847 } 848 getNote().add(theValue); 849 return this; 850 } 851 852 /** 853 * Gets the first repetition for <b>note</b> (), 854 * creating it if it does not already exist. 855 * 856 * <p> 857 * <b>Definition:</b> 858 * Descriptive information, usage information or implantation information that is not captured in an existing element. 859 * </p> 860 */ 861 public AnnotationDt getNoteFirstRep() { 862 if (getNote().isEmpty()) { 863 return addNote(); 864 } 865 return getNote().get(0); 866 } 867 868 /** 869 * Gets the value(s) for <b>status</b> (). 870 * creating it if it does 871 * not exist. Will not return <code>null</code>. 872 * 873 * <p> 874 * <b>Definition:</b> 875 * Status of the Device availability. 876 * </p> 877 */ 878 public BoundCodeDt<DeviceStatusEnum> getStatusElement() { 879 if (myStatus == null) { 880 myStatus = new BoundCodeDt<DeviceStatusEnum>(DeviceStatusEnum.VALUESET_BINDER); 881 } 882 return myStatus; 883 } 884 885 886 /** 887 * Gets the value(s) for <b>status</b> (). 888 * creating it if it does 889 * not exist. Will not return <code>null</code>. 890 * 891 * <p> 892 * <b>Definition:</b> 893 * Status of the Device availability. 894 * </p> 895 */ 896 public String getStatus() { 897 return getStatusElement().getValue(); 898 } 899 900 /** 901 * Sets the value(s) for <b>status</b> () 902 * 903 * <p> 904 * <b>Definition:</b> 905 * Status of the Device availability. 906 * </p> 907 */ 908 public Device setStatus(BoundCodeDt<DeviceStatusEnum> theValue) { 909 myStatus = theValue; 910 return this; 911 } 912 913 914 915 /** 916 * Sets the value(s) for <b>status</b> () 917 * 918 * <p> 919 * <b>Definition:</b> 920 * Status of the Device availability. 921 * </p> 922 */ 923 public Device setStatus(DeviceStatusEnum theValue) { 924 setStatus(new BoundCodeDt<DeviceStatusEnum>(DeviceStatusEnum.VALUESET_BINDER, theValue)); 925 926/* 927 getStatusElement().setValueAsEnum(theValue); 928*/ 929 return this; 930 } 931 932 933 /** 934 * Gets the value(s) for <b>manufacturer</b> (). 935 * creating it if it does 936 * not exist. Will not return <code>null</code>. 937 * 938 * <p> 939 * <b>Definition:</b> 940 * A name of the manufacturer 941 * </p> 942 */ 943 public StringDt getManufacturerElement() { 944 if (myManufacturer == null) { 945 myManufacturer = new StringDt(); 946 } 947 return myManufacturer; 948 } 949 950 951 /** 952 * Gets the value(s) for <b>manufacturer</b> (). 953 * creating it if it does 954 * not exist. Will not return <code>null</code>. 955 * 956 * <p> 957 * <b>Definition:</b> 958 * A name of the manufacturer 959 * </p> 960 */ 961 public String getManufacturer() { 962 return getManufacturerElement().getValue(); 963 } 964 965 /** 966 * Sets the value(s) for <b>manufacturer</b> () 967 * 968 * <p> 969 * <b>Definition:</b> 970 * A name of the manufacturer 971 * </p> 972 */ 973 public Device setManufacturer(StringDt theValue) { 974 myManufacturer = theValue; 975 return this; 976 } 977 978 979 980 /** 981 * Sets the value for <b>manufacturer</b> () 982 * 983 * <p> 984 * <b>Definition:</b> 985 * A name of the manufacturer 986 * </p> 987 */ 988 public Device setManufacturer( String theString) { 989 myManufacturer = new StringDt(theString); 990 return this; 991 } 992 993 994 /** 995 * Gets the value(s) for <b>model</b> (). 996 * creating it if it does 997 * not exist. Will not return <code>null</code>. 998 * 999 * <p> 1000 * <b>Definition:</b> 1001 * The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. 1002 * </p> 1003 */ 1004 public StringDt getModelElement() { 1005 if (myModel == null) { 1006 myModel = new StringDt(); 1007 } 1008 return myModel; 1009 } 1010 1011 1012 /** 1013 * Gets the value(s) for <b>model</b> (). 1014 * creating it if it does 1015 * not exist. Will not return <code>null</code>. 1016 * 1017 * <p> 1018 * <b>Definition:</b> 1019 * The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. 1020 * </p> 1021 */ 1022 public String getModel() { 1023 return getModelElement().getValue(); 1024 } 1025 1026 /** 1027 * Sets the value(s) for <b>model</b> () 1028 * 1029 * <p> 1030 * <b>Definition:</b> 1031 * The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. 1032 * </p> 1033 */ 1034 public Device setModel(StringDt theValue) { 1035 myModel = theValue; 1036 return this; 1037 } 1038 1039 1040 1041 /** 1042 * Sets the value for <b>model</b> () 1043 * 1044 * <p> 1045 * <b>Definition:</b> 1046 * The \"model\" is an identifier assigned by the manufacturer to identify the product by its type. This number is shared by the all devices sold as the same type. 1047 * </p> 1048 */ 1049 public Device setModel( String theString) { 1050 myModel = new StringDt(theString); 1051 return this; 1052 } 1053 1054 1055 /** 1056 * Gets the value(s) for <b>version</b> (). 1057 * creating it if it does 1058 * not exist. Will not return <code>null</code>. 1059 * 1060 * <p> 1061 * <b>Definition:</b> 1062 * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. 1063 * </p> 1064 */ 1065 public StringDt getVersionElement() { 1066 if (myVersion == null) { 1067 myVersion = new StringDt(); 1068 } 1069 return myVersion; 1070 } 1071 1072 1073 /** 1074 * Gets the value(s) for <b>version</b> (). 1075 * creating it if it does 1076 * not exist. Will not return <code>null</code>. 1077 * 1078 * <p> 1079 * <b>Definition:</b> 1080 * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. 1081 * </p> 1082 */ 1083 public String getVersion() { 1084 return getVersionElement().getValue(); 1085 } 1086 1087 /** 1088 * Sets the value(s) for <b>version</b> () 1089 * 1090 * <p> 1091 * <b>Definition:</b> 1092 * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. 1093 * </p> 1094 */ 1095 public Device setVersion(StringDt theValue) { 1096 myVersion = theValue; 1097 return this; 1098 } 1099 1100 1101 1102 /** 1103 * Sets the value for <b>version</b> () 1104 * 1105 * <p> 1106 * <b>Definition:</b> 1107 * The version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware. 1108 * </p> 1109 */ 1110 public Device setVersion( String theString) { 1111 myVersion = new StringDt(theString); 1112 return this; 1113 } 1114 1115 1116 /** 1117 * Gets the value(s) for <b>manufactureDate</b> (). 1118 * creating it if it does 1119 * not exist. Will not return <code>null</code>. 1120 * 1121 * <p> 1122 * <b>Definition:</b> 1123 * The date and time when the device was manufactured. 1124 * </p> 1125 */ 1126 public DateTimeDt getManufactureDateElement() { 1127 if (myManufactureDate == null) { 1128 myManufactureDate = new DateTimeDt(); 1129 } 1130 return myManufactureDate; 1131 } 1132 1133 1134 /** 1135 * Gets the value(s) for <b>manufactureDate</b> (). 1136 * creating it if it does 1137 * not exist. Will not return <code>null</code>. 1138 * 1139 * <p> 1140 * <b>Definition:</b> 1141 * The date and time when the device was manufactured. 1142 * </p> 1143 */ 1144 public Date getManufactureDate() { 1145 return getManufactureDateElement().getValue(); 1146 } 1147 1148 /** 1149 * Sets the value(s) for <b>manufactureDate</b> () 1150 * 1151 * <p> 1152 * <b>Definition:</b> 1153 * The date and time when the device was manufactured. 1154 * </p> 1155 */ 1156 public Device setManufactureDate(DateTimeDt theValue) { 1157 myManufactureDate = theValue; 1158 return this; 1159 } 1160 1161 1162 1163 /** 1164 * Sets the value for <b>manufactureDate</b> () 1165 * 1166 * <p> 1167 * <b>Definition:</b> 1168 * The date and time when the device was manufactured. 1169 * </p> 1170 */ 1171 public Device setManufactureDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1172 myManufactureDate = new DateTimeDt(theDate, thePrecision); 1173 return this; 1174 } 1175 1176 /** 1177 * Sets the value for <b>manufactureDate</b> () 1178 * 1179 * <p> 1180 * <b>Definition:</b> 1181 * The date and time when the device was manufactured. 1182 * </p> 1183 */ 1184 public Device setManufactureDateWithSecondsPrecision( Date theDate) { 1185 myManufactureDate = new DateTimeDt(theDate); 1186 return this; 1187 } 1188 1189 1190 /** 1191 * Gets the value(s) for <b>expiry</b> (). 1192 * creating it if it does 1193 * not exist. Will not return <code>null</code>. 1194 * 1195 * <p> 1196 * <b>Definition:</b> 1197 * The date and time beyond which this device is no longer valid or should not be used (if applicable) 1198 * </p> 1199 */ 1200 public DateTimeDt getExpiryElement() { 1201 if (myExpiry == null) { 1202 myExpiry = new DateTimeDt(); 1203 } 1204 return myExpiry; 1205 } 1206 1207 1208 /** 1209 * Gets the value(s) for <b>expiry</b> (). 1210 * creating it if it does 1211 * not exist. Will not return <code>null</code>. 1212 * 1213 * <p> 1214 * <b>Definition:</b> 1215 * The date and time beyond which this device is no longer valid or should not be used (if applicable) 1216 * </p> 1217 */ 1218 public Date getExpiry() { 1219 return getExpiryElement().getValue(); 1220 } 1221 1222 /** 1223 * Sets the value(s) for <b>expiry</b> () 1224 * 1225 * <p> 1226 * <b>Definition:</b> 1227 * The date and time beyond which this device is no longer valid or should not be used (if applicable) 1228 * </p> 1229 */ 1230 public Device setExpiry(DateTimeDt theValue) { 1231 myExpiry = theValue; 1232 return this; 1233 } 1234 1235 1236 1237 /** 1238 * Sets the value for <b>expiry</b> () 1239 * 1240 * <p> 1241 * <b>Definition:</b> 1242 * The date and time beyond which this device is no longer valid or should not be used (if applicable) 1243 * </p> 1244 */ 1245 public Device setExpiry( Date theDate, TemporalPrecisionEnum thePrecision) { 1246 myExpiry = new DateTimeDt(theDate, thePrecision); 1247 return this; 1248 } 1249 1250 /** 1251 * Sets the value for <b>expiry</b> () 1252 * 1253 * <p> 1254 * <b>Definition:</b> 1255 * The date and time beyond which this device is no longer valid or should not be used (if applicable) 1256 * </p> 1257 */ 1258 public Device setExpiryWithSecondsPrecision( Date theDate) { 1259 myExpiry = new DateTimeDt(theDate); 1260 return this; 1261 } 1262 1263 1264 /** 1265 * Gets the value(s) for <b>udi</b> (). 1266 * creating it if it does 1267 * not exist. Will not return <code>null</code>. 1268 * 1269 * <p> 1270 * <b>Definition:</b> 1271 * United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm 1272 * </p> 1273 */ 1274 public StringDt getUdiElement() { 1275 if (myUdi == null) { 1276 myUdi = new StringDt(); 1277 } 1278 return myUdi; 1279 } 1280 1281 1282 /** 1283 * Gets the value(s) for <b>udi</b> (). 1284 * creating it if it does 1285 * not exist. Will not return <code>null</code>. 1286 * 1287 * <p> 1288 * <b>Definition:</b> 1289 * United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm 1290 * </p> 1291 */ 1292 public String getUdi() { 1293 return getUdiElement().getValue(); 1294 } 1295 1296 /** 1297 * Sets the value(s) for <b>udi</b> () 1298 * 1299 * <p> 1300 * <b>Definition:</b> 1301 * United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm 1302 * </p> 1303 */ 1304 public Device setUdi(StringDt theValue) { 1305 myUdi = theValue; 1306 return this; 1307 } 1308 1309 1310 1311 /** 1312 * Sets the value for <b>udi</b> () 1313 * 1314 * <p> 1315 * <b>Definition:</b> 1316 * United States Food and Drug Administration mandated Unique Device Identifier (UDI). Use the human readable information (the content that the user sees, which is sometimes different to the exact syntax represented in the barcode) - see http://www.fda.gov/MedicalDevices/DeviceRegulationandGuidance/UniqueDeviceIdentification/default.htm 1317 * </p> 1318 */ 1319 public Device setUdi( String theString) { 1320 myUdi = new StringDt(theString); 1321 return this; 1322 } 1323 1324 1325 /** 1326 * Gets the value(s) for <b>lotNumber</b> (). 1327 * creating it if it does 1328 * not exist. Will not return <code>null</code>. 1329 * 1330 * <p> 1331 * <b>Definition:</b> 1332 * Lot number assigned by the manufacturer 1333 * </p> 1334 */ 1335 public StringDt getLotNumberElement() { 1336 if (myLotNumber == null) { 1337 myLotNumber = new StringDt(); 1338 } 1339 return myLotNumber; 1340 } 1341 1342 1343 /** 1344 * Gets the value(s) for <b>lotNumber</b> (). 1345 * creating it if it does 1346 * not exist. Will not return <code>null</code>. 1347 * 1348 * <p> 1349 * <b>Definition:</b> 1350 * Lot number assigned by the manufacturer 1351 * </p> 1352 */ 1353 public String getLotNumber() { 1354 return getLotNumberElement().getValue(); 1355 } 1356 1357 /** 1358 * Sets the value(s) for <b>lotNumber</b> () 1359 * 1360 * <p> 1361 * <b>Definition:</b> 1362 * Lot number assigned by the manufacturer 1363 * </p> 1364 */ 1365 public Device setLotNumber(StringDt theValue) { 1366 myLotNumber = theValue; 1367 return this; 1368 } 1369 1370 1371 1372 /** 1373 * Sets the value for <b>lotNumber</b> () 1374 * 1375 * <p> 1376 * <b>Definition:</b> 1377 * Lot number assigned by the manufacturer 1378 * </p> 1379 */ 1380 public Device setLotNumber( String theString) { 1381 myLotNumber = new StringDt(theString); 1382 return this; 1383 } 1384 1385 1386 /** 1387 * Gets the value(s) for <b>owner</b> (). 1388 * creating it if it does 1389 * not exist. Will not return <code>null</code>. 1390 * 1391 * <p> 1392 * <b>Definition:</b> 1393 * An organization that is responsible for the provision and ongoing maintenance of the device. 1394 * </p> 1395 */ 1396 public ResourceReferenceDt getOwner() { 1397 if (myOwner == null) { 1398 myOwner = new ResourceReferenceDt(); 1399 } 1400 return myOwner; 1401 } 1402 1403 /** 1404 * Sets the value(s) for <b>owner</b> () 1405 * 1406 * <p> 1407 * <b>Definition:</b> 1408 * An organization that is responsible for the provision and ongoing maintenance of the device. 1409 * </p> 1410 */ 1411 public Device setOwner(ResourceReferenceDt theValue) { 1412 myOwner = theValue; 1413 return this; 1414 } 1415 1416 1417 1418 1419 /** 1420 * Gets the value(s) for <b>location</b> (). 1421 * creating it if it does 1422 * not exist. Will not return <code>null</code>. 1423 * 1424 * <p> 1425 * <b>Definition:</b> 1426 * The place where the device can be found. 1427 * </p> 1428 */ 1429 public ResourceReferenceDt getLocation() { 1430 if (myLocation == null) { 1431 myLocation = new ResourceReferenceDt(); 1432 } 1433 return myLocation; 1434 } 1435 1436 /** 1437 * Sets the value(s) for <b>location</b> () 1438 * 1439 * <p> 1440 * <b>Definition:</b> 1441 * The place where the device can be found. 1442 * </p> 1443 */ 1444 public Device setLocation(ResourceReferenceDt theValue) { 1445 myLocation = theValue; 1446 return this; 1447 } 1448 1449 1450 1451 1452 /** 1453 * Gets the value(s) for <b>patient</b> (). 1454 * creating it if it does 1455 * not exist. Will not return <code>null</code>. 1456 * 1457 * <p> 1458 * <b>Definition:</b> 1459 * Patient information, if the resource is affixed to a person 1460 * </p> 1461 */ 1462 public ResourceReferenceDt getPatient() { 1463 if (myPatient == null) { 1464 myPatient = new ResourceReferenceDt(); 1465 } 1466 return myPatient; 1467 } 1468 1469 /** 1470 * Sets the value(s) for <b>patient</b> () 1471 * 1472 * <p> 1473 * <b>Definition:</b> 1474 * Patient information, if the resource is affixed to a person 1475 * </p> 1476 */ 1477 public Device setPatient(ResourceReferenceDt theValue) { 1478 myPatient = theValue; 1479 return this; 1480 } 1481 1482 1483 1484 1485 /** 1486 * Gets the value(s) for <b>contact</b> (). 1487 * creating it if it does 1488 * not exist. Will not return <code>null</code>. 1489 * 1490 * <p> 1491 * <b>Definition:</b> 1492 * Contact details for an organization or a particular human that is responsible for the device 1493 * </p> 1494 */ 1495 public java.util.List<ContactPointDt> getContact() { 1496 if (myContact == null) { 1497 myContact = new java.util.ArrayList<ContactPointDt>(); 1498 } 1499 return myContact; 1500 } 1501 1502 /** 1503 * Sets the value(s) for <b>contact</b> () 1504 * 1505 * <p> 1506 * <b>Definition:</b> 1507 * Contact details for an organization or a particular human that is responsible for the device 1508 * </p> 1509 */ 1510 public Device setContact(java.util.List<ContactPointDt> theValue) { 1511 myContact = theValue; 1512 return this; 1513 } 1514 1515 1516 1517 /** 1518 * Adds and returns a new value for <b>contact</b> () 1519 * 1520 * <p> 1521 * <b>Definition:</b> 1522 * Contact details for an organization or a particular human that is responsible for the device 1523 * </p> 1524 */ 1525 public ContactPointDt addContact() { 1526 ContactPointDt newType = new ContactPointDt(); 1527 getContact().add(newType); 1528 return newType; 1529 } 1530 1531 /** 1532 * Adds a given new value for <b>contact</b> () 1533 * 1534 * <p> 1535 * <b>Definition:</b> 1536 * Contact details for an organization or a particular human that is responsible for the device 1537 * </p> 1538 * @param theValue The contact to add (must not be <code>null</code>) 1539 */ 1540 public Device addContact(ContactPointDt theValue) { 1541 if (theValue == null) { 1542 throw new NullPointerException("theValue must not be null"); 1543 } 1544 getContact().add(theValue); 1545 return this; 1546 } 1547 1548 /** 1549 * Gets the first repetition for <b>contact</b> (), 1550 * creating it if it does not already exist. 1551 * 1552 * <p> 1553 * <b>Definition:</b> 1554 * Contact details for an organization or a particular human that is responsible for the device 1555 * </p> 1556 */ 1557 public ContactPointDt getContactFirstRep() { 1558 if (getContact().isEmpty()) { 1559 return addContact(); 1560 } 1561 return getContact().get(0); 1562 } 1563 1564 /** 1565 * Gets the value(s) for <b>url</b> (). 1566 * creating it if it does 1567 * not exist. Will not return <code>null</code>. 1568 * 1569 * <p> 1570 * <b>Definition:</b> 1571 * A network address on which the device may be contacted directly 1572 * </p> 1573 */ 1574 public UriDt getUrlElement() { 1575 if (myUrl == null) { 1576 myUrl = new UriDt(); 1577 } 1578 return myUrl; 1579 } 1580 1581 1582 /** 1583 * Gets the value(s) for <b>url</b> (). 1584 * creating it if it does 1585 * not exist. Will not return <code>null</code>. 1586 * 1587 * <p> 1588 * <b>Definition:</b> 1589 * A network address on which the device may be contacted directly 1590 * </p> 1591 */ 1592 public String getUrl() { 1593 return getUrlElement().getValue(); 1594 } 1595 1596 /** 1597 * Sets the value(s) for <b>url</b> () 1598 * 1599 * <p> 1600 * <b>Definition:</b> 1601 * A network address on which the device may be contacted directly 1602 * </p> 1603 */ 1604 public Device setUrl(UriDt theValue) { 1605 myUrl = theValue; 1606 return this; 1607 } 1608 1609 1610 1611 /** 1612 * Sets the value for <b>url</b> () 1613 * 1614 * <p> 1615 * <b>Definition:</b> 1616 * A network address on which the device may be contacted directly 1617 * </p> 1618 */ 1619 public Device setUrl( String theUri) { 1620 myUrl = new UriDt(theUri); 1621 return this; 1622 } 1623 1624 1625 1626 1627 @Override 1628 public String getResourceName() { 1629 return "Device"; 1630 } 1631 1632 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1633 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1634 } 1635 1636 1637}