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>Location</b> Resource 320 * (administrative.entity) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated. 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/Location">http://hl7.org/fhir/profiles/Location</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Location", profile="http://hl7.org/fhir/profiles/Location", id="location") 339public class Location extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>identifier</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>Location.identifier</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="identifier", path="Location.identifier", description="", type="token" ) 351 public static final String SP_IDENTIFIER = "identifier"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>Location.identifier</b><br> 359 * </p> 360 */ 361 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 362 363 /** 364 * Search parameter constant for <b>name</b> 365 * <p> 366 * Description: <b>A (portion of the) name of the location</b><br> 367 * Type: <b>string</b><br> 368 * Path: <b>Location.name</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="name", path="Location.name", description="A (portion of the) name of the location", type="string" ) 372 public static final String SP_NAME = "name"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>name</b> 376 * <p> 377 * Description: <b>A (portion of the) name of the location</b><br> 378 * Type: <b>string</b><br> 379 * Path: <b>Location.name</b><br> 380 * </p> 381 */ 382 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 383 384 /** 385 * Search parameter constant for <b>type</b> 386 * <p> 387 * Description: <b>A code for the type of location</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>Location.type</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="type", path="Location.type", description="A code for the type of location", type="token" ) 393 public static final String SP_TYPE = "type"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>type</b> 397 * <p> 398 * Description: <b>A code for the type of location</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>Location.type</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 404 405 /** 406 * Search parameter constant for <b>address</b> 407 * <p> 408 * Description: <b>A (part of the) address of the location</b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>Location.address</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="address", path="Location.address", description="A (part of the) address of the location", type="string" ) 414 public static final String SP_ADDRESS = "address"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>address</b> 418 * <p> 419 * Description: <b>A (part of the) address of the location</b><br> 420 * Type: <b>string</b><br> 421 * Path: <b>Location.address</b><br> 422 * </p> 423 */ 424 public static final StringClientParam ADDRESS = new StringClientParam(SP_ADDRESS); 425 426 /** 427 * Search parameter constant for <b>address-city</b> 428 * <p> 429 * Description: <b>A city specified in an address</b><br> 430 * Type: <b>string</b><br> 431 * Path: <b>Location.address.city</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="address-city", path="Location.address.city", description="A city specified in an address", type="string" ) 435 public static final String SP_ADDRESS_CITY = "address-city"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 439 * <p> 440 * Description: <b>A city specified in an address</b><br> 441 * Type: <b>string</b><br> 442 * Path: <b>Location.address.city</b><br> 443 * </p> 444 */ 445 public static final StringClientParam ADDRESS_CITY = new StringClientParam(SP_ADDRESS_CITY); 446 447 /** 448 * Search parameter constant for <b>address-state</b> 449 * <p> 450 * Description: <b>A state specified in an address</b><br> 451 * Type: <b>string</b><br> 452 * Path: <b>Location.address.state</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="address-state", path="Location.address.state", description="A state specified in an address", type="string" ) 456 public static final String SP_ADDRESS_STATE = "address-state"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 460 * <p> 461 * Description: <b>A state specified in an address</b><br> 462 * Type: <b>string</b><br> 463 * Path: <b>Location.address.state</b><br> 464 * </p> 465 */ 466 public static final StringClientParam ADDRESS_STATE = new StringClientParam(SP_ADDRESS_STATE); 467 468 /** 469 * Search parameter constant for <b>address-postalcode</b> 470 * <p> 471 * Description: <b>A postal code specified in an address</b><br> 472 * Type: <b>string</b><br> 473 * Path: <b>Location.address.postalCode</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="address-postalcode", path="Location.address.postalCode", description="A postal code specified in an address", type="string" ) 477 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 481 * <p> 482 * Description: <b>A postal code specified in an address</b><br> 483 * Type: <b>string</b><br> 484 * Path: <b>Location.address.postalCode</b><br> 485 * </p> 486 */ 487 public static final StringClientParam ADDRESS_POSTALCODE = new StringClientParam(SP_ADDRESS_POSTALCODE); 488 489 /** 490 * Search parameter constant for <b>address-country</b> 491 * <p> 492 * Description: <b>A country specified in an address</b><br> 493 * Type: <b>string</b><br> 494 * Path: <b>Location.address.country</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="address-country", path="Location.address.country", description="A country specified in an address", type="string" ) 498 public static final String SP_ADDRESS_COUNTRY = "address-country"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 502 * <p> 503 * Description: <b>A country specified in an address</b><br> 504 * Type: <b>string</b><br> 505 * Path: <b>Location.address.country</b><br> 506 * </p> 507 */ 508 public static final StringClientParam ADDRESS_COUNTRY = new StringClientParam(SP_ADDRESS_COUNTRY); 509 510 /** 511 * Search parameter constant for <b>address-use</b> 512 * <p> 513 * Description: <b>A use code specified in an address</b><br> 514 * Type: <b>token</b><br> 515 * Path: <b>Location.address.use</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="address-use", path="Location.address.use", description="A use code specified in an address", type="token" ) 519 public static final String SP_ADDRESS_USE = "address-use"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 523 * <p> 524 * Description: <b>A use code specified in an address</b><br> 525 * Type: <b>token</b><br> 526 * Path: <b>Location.address.use</b><br> 527 * </p> 528 */ 529 public static final TokenClientParam ADDRESS_USE = new TokenClientParam(SP_ADDRESS_USE); 530 531 /** 532 * Search parameter constant for <b>status</b> 533 * <p> 534 * Description: <b>Searches for locations with a specific kind of status</b><br> 535 * Type: <b>token</b><br> 536 * Path: <b>Location.status</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="status", path="Location.status", description="Searches for locations with a specific kind of status", type="token" ) 540 public static final String SP_STATUS = "status"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>status</b> 544 * <p> 545 * Description: <b>Searches for locations with a specific kind of status</b><br> 546 * Type: <b>token</b><br> 547 * Path: <b>Location.status</b><br> 548 * </p> 549 */ 550 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 551 552 /** 553 * Search parameter constant for <b>partof</b> 554 * <p> 555 * Description: <b>The location of which this location is a part</b><br> 556 * Type: <b>reference</b><br> 557 * Path: <b>Location.partOf</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="partof", path="Location.partOf", description="The location of which this location is a part", type="reference" ) 561 public static final String SP_PARTOF = "partof"; 562 563 /** 564 * <b>Fluent Client</b> search parameter constant for <b>partof</b> 565 * <p> 566 * Description: <b>The location of which this location is a part</b><br> 567 * Type: <b>reference</b><br> 568 * Path: <b>Location.partOf</b><br> 569 * </p> 570 */ 571 public static final ReferenceClientParam PARTOF = new ReferenceClientParam(SP_PARTOF); 572 573 /** 574 * Search parameter constant for <b>near</b> 575 * <p> 576 * Description: <b>The coordinates expressed as [lat],[long] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency)</b><br> 577 * Type: <b>token</b><br> 578 * Path: <b>Location.position</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="near", path="Location.position", description="The coordinates expressed as [lat],[long] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency)", type="token" ) 582 public static final String SP_NEAR = "near"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>near</b> 586 * <p> 587 * Description: <b>The coordinates expressed as [lat],[long] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency)</b><br> 588 * Type: <b>token</b><br> 589 * Path: <b>Location.position</b><br> 590 * </p> 591 */ 592 public static final TokenClientParam NEAR = new TokenClientParam(SP_NEAR); 593 594 /** 595 * Search parameter constant for <b>near-distance</b> 596 * <p> 597 * Description: <b>A distance quantity to limit the near search to locations within a specific distance</b><br> 598 * Type: <b>token</b><br> 599 * Path: <b>Location.position</b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="near-distance", path="Location.position", description="A distance quantity to limit the near search to locations within a specific distance", type="token" ) 603 public static final String SP_NEAR_DISTANCE = "near-distance"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>near-distance</b> 607 * <p> 608 * Description: <b>A distance quantity to limit the near search to locations within a specific distance</b><br> 609 * Type: <b>token</b><br> 610 * Path: <b>Location.position</b><br> 611 * </p> 612 */ 613 public static final TokenClientParam NEAR_DISTANCE = new TokenClientParam(SP_NEAR_DISTANCE); 614 615 /** 616 * Search parameter constant for <b>organization</b> 617 * <p> 618 * Description: <b>Searches for locations that are managed by the provided organization</b><br> 619 * Type: <b>reference</b><br> 620 * Path: <b>Location.managingOrganization</b><br> 621 * </p> 622 */ 623 @SearchParamDefinition(name="organization", path="Location.managingOrganization", description="Searches for locations that are managed by the provided organization", type="reference" ) 624 public static final String SP_ORGANIZATION = "organization"; 625 626 /** 627 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 628 * <p> 629 * Description: <b>Searches for locations that are managed by the provided organization</b><br> 630 * Type: <b>reference</b><br> 631 * Path: <b>Location.managingOrganization</b><br> 632 * </p> 633 */ 634 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 635 636 637 /** 638 * Constant for fluent queries to be used to add include statements. Specifies 639 * the path value of "<b>Location:organization</b>". 640 */ 641 public static final Include INCLUDE_ORGANIZATION = new Include("Location:organization"); 642 643 /** 644 * Constant for fluent queries to be used to add include statements. Specifies 645 * the path value of "<b>Location:partof</b>". 646 */ 647 public static final Include INCLUDE_PARTOF = new Include("Location:partof"); 648 649 650 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 651 @Description( 652 shortDefinition="id", 653 formalDefinition="Unique code or number identifying the location to its users" 654 ) 655 private java.util.List<IdentifierDt> myIdentifier; 656 657 @Child(name="status", type=CodeDt.class, order=1, min=0, max=1, summary=true, modifier=true) 658 @Description( 659 shortDefinition="status", 660 formalDefinition="" 661 ) 662 private BoundCodeDt<LocationStatusEnum> myStatus; 663 664 @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=true, modifier=false) 665 @Description( 666 shortDefinition="", 667 formalDefinition="Name of the location as used by humans. Does not need to be unique." 668 ) 669 private StringDt myName; 670 671 @Child(name="description", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false) 672 @Description( 673 shortDefinition="", 674 formalDefinition="Description of the Location, which helps in finding or referencing the place" 675 ) 676 private StringDt myDescription; 677 678 @Child(name="mode", type=CodeDt.class, order=4, min=0, max=1, summary=true, modifier=true) 679 @Description( 680 shortDefinition="class", 681 formalDefinition="Indicates whether a resource instance represents a specific location or a class of locations" 682 ) 683 private BoundCodeDt<LocationModeEnum> myMode; 684 685 @Child(name="type", type=CodeableConceptDt.class, order=5, min=0, max=1, summary=true, modifier=false) 686 @Description( 687 shortDefinition="class", 688 formalDefinition="Indicates the type of function performed at the location" 689 ) 690 private BoundCodeableConceptDt<LocationTypeEnum> myType; 691 692 @Child(name="telecom", type=ContactPointDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 693 @Description( 694 shortDefinition="", 695 formalDefinition="The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites" 696 ) 697 private java.util.List<ContactPointDt> myTelecom; 698 699 @Child(name="address", type=AddressDt.class, order=7, min=0, max=1, summary=false, modifier=false) 700 @Description( 701 shortDefinition="", 702 formalDefinition="" 703 ) 704 private AddressDt myAddress; 705 706 @Child(name="physicalType", type=CodeableConceptDt.class, order=8, min=0, max=1, summary=true, modifier=false) 707 @Description( 708 shortDefinition="class", 709 formalDefinition="Physical form of the location, e.g. building, room, vehicle, road" 710 ) 711 private CodeableConceptDt myPhysicalType; 712 713 @Child(name="position", order=9, min=0, max=1, summary=false, modifier=false) 714 @Description( 715 shortDefinition="", 716 formalDefinition="The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML)" 717 ) 718 private Position myPosition; 719 720 @Child(name="managingOrganization", order=10, min=0, max=1, summary=true, modifier=false, type={ 721 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 722 @Description( 723 shortDefinition="", 724 formalDefinition="The organization responsible for the provisioning and upkeep of the location" 725 ) 726 private ResourceReferenceDt myManagingOrganization; 727 728 @Child(name="partOf", order=11, min=0, max=1, summary=false, modifier=false, type={ 729 ca.uhn.fhir.model.dstu2.resource.Location.class }) 730 @Description( 731 shortDefinition="", 732 formalDefinition="Another Location which this Location is physically part of" 733 ) 734 private ResourceReferenceDt myPartOf; 735 736 737 @Override 738 public boolean isEmpty() { 739 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myStatus, myName, myDescription, myMode, myType, myTelecom, myAddress, myPhysicalType, myPosition, myManagingOrganization, myPartOf); 740 } 741 742 @Override 743 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 744 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myStatus, myName, myDescription, myMode, myType, myTelecom, myAddress, myPhysicalType, myPosition, myManagingOrganization, myPartOf); 745 } 746 747 /** 748 * Gets the value(s) for <b>identifier</b> (id). 749 * creating it if it does 750 * not exist. Will not return <code>null</code>. 751 * 752 * <p> 753 * <b>Definition:</b> 754 * Unique code or number identifying the location to its users 755 * </p> 756 */ 757 public java.util.List<IdentifierDt> getIdentifier() { 758 if (myIdentifier == null) { 759 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 760 } 761 return myIdentifier; 762 } 763 764 /** 765 * Sets the value(s) for <b>identifier</b> (id) 766 * 767 * <p> 768 * <b>Definition:</b> 769 * Unique code or number identifying the location to its users 770 * </p> 771 */ 772 public Location setIdentifier(java.util.List<IdentifierDt> theValue) { 773 myIdentifier = theValue; 774 return this; 775 } 776 777 778 779 /** 780 * Adds and returns a new value for <b>identifier</b> (id) 781 * 782 * <p> 783 * <b>Definition:</b> 784 * Unique code or number identifying the location to its users 785 * </p> 786 */ 787 public IdentifierDt addIdentifier() { 788 IdentifierDt newType = new IdentifierDt(); 789 getIdentifier().add(newType); 790 return newType; 791 } 792 793 /** 794 * Adds a given new value for <b>identifier</b> (id) 795 * 796 * <p> 797 * <b>Definition:</b> 798 * Unique code or number identifying the location to its users 799 * </p> 800 * @param theValue The identifier to add (must not be <code>null</code>) 801 */ 802 public Location addIdentifier(IdentifierDt theValue) { 803 if (theValue == null) { 804 throw new NullPointerException("theValue must not be null"); 805 } 806 getIdentifier().add(theValue); 807 return this; 808 } 809 810 /** 811 * Gets the first repetition for <b>identifier</b> (id), 812 * creating it if it does not already exist. 813 * 814 * <p> 815 * <b>Definition:</b> 816 * Unique code or number identifying the location to its users 817 * </p> 818 */ 819 public IdentifierDt getIdentifierFirstRep() { 820 if (getIdentifier().isEmpty()) { 821 return addIdentifier(); 822 } 823 return getIdentifier().get(0); 824 } 825 826 /** 827 * Gets the value(s) for <b>status</b> (status). 828 * creating it if it does 829 * not exist. Will not return <code>null</code>. 830 * 831 * <p> 832 * <b>Definition:</b> 833 * 834 * </p> 835 */ 836 public BoundCodeDt<LocationStatusEnum> getStatusElement() { 837 if (myStatus == null) { 838 myStatus = new BoundCodeDt<LocationStatusEnum>(LocationStatusEnum.VALUESET_BINDER); 839 } 840 return myStatus; 841 } 842 843 844 /** 845 * Gets the value(s) for <b>status</b> (status). 846 * creating it if it does 847 * not exist. Will not return <code>null</code>. 848 * 849 * <p> 850 * <b>Definition:</b> 851 * 852 * </p> 853 */ 854 public String getStatus() { 855 return getStatusElement().getValue(); 856 } 857 858 /** 859 * Sets the value(s) for <b>status</b> (status) 860 * 861 * <p> 862 * <b>Definition:</b> 863 * 864 * </p> 865 */ 866 public Location setStatus(BoundCodeDt<LocationStatusEnum> theValue) { 867 myStatus = theValue; 868 return this; 869 } 870 871 872 873 /** 874 * Sets the value(s) for <b>status</b> (status) 875 * 876 * <p> 877 * <b>Definition:</b> 878 * 879 * </p> 880 */ 881 public Location setStatus(LocationStatusEnum theValue) { 882 setStatus(new BoundCodeDt<LocationStatusEnum>(LocationStatusEnum.VALUESET_BINDER, theValue)); 883 884/* 885 getStatusElement().setValueAsEnum(theValue); 886*/ 887 return this; 888 } 889 890 891 /** 892 * Gets the value(s) for <b>name</b> (). 893 * creating it if it does 894 * not exist. Will not return <code>null</code>. 895 * 896 * <p> 897 * <b>Definition:</b> 898 * Name of the location as used by humans. Does not need to be unique. 899 * </p> 900 */ 901 public StringDt getNameElement() { 902 if (myName == null) { 903 myName = new StringDt(); 904 } 905 return myName; 906 } 907 908 909 /** 910 * Gets the value(s) for <b>name</b> (). 911 * creating it if it does 912 * not exist. Will not return <code>null</code>. 913 * 914 * <p> 915 * <b>Definition:</b> 916 * Name of the location as used by humans. Does not need to be unique. 917 * </p> 918 */ 919 public String getName() { 920 return getNameElement().getValue(); 921 } 922 923 /** 924 * Sets the value(s) for <b>name</b> () 925 * 926 * <p> 927 * <b>Definition:</b> 928 * Name of the location as used by humans. Does not need to be unique. 929 * </p> 930 */ 931 public Location setName(StringDt theValue) { 932 myName = theValue; 933 return this; 934 } 935 936 937 938 /** 939 * Sets the value for <b>name</b> () 940 * 941 * <p> 942 * <b>Definition:</b> 943 * Name of the location as used by humans. Does not need to be unique. 944 * </p> 945 */ 946 public Location setName( String theString) { 947 myName = new StringDt(theString); 948 return this; 949 } 950 951 952 /** 953 * Gets the value(s) for <b>description</b> (). 954 * creating it if it does 955 * not exist. Will not return <code>null</code>. 956 * 957 * <p> 958 * <b>Definition:</b> 959 * Description of the Location, which helps in finding or referencing the place 960 * </p> 961 */ 962 public StringDt getDescriptionElement() { 963 if (myDescription == null) { 964 myDescription = new StringDt(); 965 } 966 return myDescription; 967 } 968 969 970 /** 971 * Gets the value(s) for <b>description</b> (). 972 * creating it if it does 973 * not exist. Will not return <code>null</code>. 974 * 975 * <p> 976 * <b>Definition:</b> 977 * Description of the Location, which helps in finding or referencing the place 978 * </p> 979 */ 980 public String getDescription() { 981 return getDescriptionElement().getValue(); 982 } 983 984 /** 985 * Sets the value(s) for <b>description</b> () 986 * 987 * <p> 988 * <b>Definition:</b> 989 * Description of the Location, which helps in finding or referencing the place 990 * </p> 991 */ 992 public Location setDescription(StringDt theValue) { 993 myDescription = theValue; 994 return this; 995 } 996 997 998 999 /** 1000 * Sets the value for <b>description</b> () 1001 * 1002 * <p> 1003 * <b>Definition:</b> 1004 * Description of the Location, which helps in finding or referencing the place 1005 * </p> 1006 */ 1007 public Location setDescription( String theString) { 1008 myDescription = new StringDt(theString); 1009 return this; 1010 } 1011 1012 1013 /** 1014 * Gets the value(s) for <b>mode</b> (class). 1015 * creating it if it does 1016 * not exist. Will not return <code>null</code>. 1017 * 1018 * <p> 1019 * <b>Definition:</b> 1020 * Indicates whether a resource instance represents a specific location or a class of locations 1021 * </p> 1022 */ 1023 public BoundCodeDt<LocationModeEnum> getModeElement() { 1024 if (myMode == null) { 1025 myMode = new BoundCodeDt<LocationModeEnum>(LocationModeEnum.VALUESET_BINDER); 1026 } 1027 return myMode; 1028 } 1029 1030 1031 /** 1032 * Gets the value(s) for <b>mode</b> (class). 1033 * creating it if it does 1034 * not exist. Will not return <code>null</code>. 1035 * 1036 * <p> 1037 * <b>Definition:</b> 1038 * Indicates whether a resource instance represents a specific location or a class of locations 1039 * </p> 1040 */ 1041 public String getMode() { 1042 return getModeElement().getValue(); 1043 } 1044 1045 /** 1046 * Sets the value(s) for <b>mode</b> (class) 1047 * 1048 * <p> 1049 * <b>Definition:</b> 1050 * Indicates whether a resource instance represents a specific location or a class of locations 1051 * </p> 1052 */ 1053 public Location setMode(BoundCodeDt<LocationModeEnum> theValue) { 1054 myMode = theValue; 1055 return this; 1056 } 1057 1058 1059 1060 /** 1061 * Sets the value(s) for <b>mode</b> (class) 1062 * 1063 * <p> 1064 * <b>Definition:</b> 1065 * Indicates whether a resource instance represents a specific location or a class of locations 1066 * </p> 1067 */ 1068 public Location setMode(LocationModeEnum theValue) { 1069 setMode(new BoundCodeDt<LocationModeEnum>(LocationModeEnum.VALUESET_BINDER, theValue)); 1070 1071/* 1072 getModeElement().setValueAsEnum(theValue); 1073*/ 1074 return this; 1075 } 1076 1077 1078 /** 1079 * Gets the value(s) for <b>type</b> (class). 1080 * creating it if it does 1081 * not exist. Will not return <code>null</code>. 1082 * 1083 * <p> 1084 * <b>Definition:</b> 1085 * Indicates the type of function performed at the location 1086 * </p> 1087 */ 1088 public BoundCodeableConceptDt<LocationTypeEnum> getType() { 1089 if (myType == null) { 1090 myType = new BoundCodeableConceptDt<LocationTypeEnum>(LocationTypeEnum.VALUESET_BINDER); 1091 } 1092 return myType; 1093 } 1094 1095 /** 1096 * Sets the value(s) for <b>type</b> (class) 1097 * 1098 * <p> 1099 * <b>Definition:</b> 1100 * Indicates the type of function performed at the location 1101 * </p> 1102 */ 1103 public Location setType(BoundCodeableConceptDt<LocationTypeEnum> theValue) { 1104 myType = theValue; 1105 return this; 1106 } 1107 1108 1109 1110 /** 1111 * Sets the value(s) for <b>type</b> (class) 1112 * 1113 * <p> 1114 * <b>Definition:</b> 1115 * Indicates the type of function performed at the location 1116 * </p> 1117 */ 1118 public Location setType(LocationTypeEnum theValue) { 1119 setType(new BoundCodeableConceptDt<LocationTypeEnum>(LocationTypeEnum.VALUESET_BINDER, theValue)); 1120 1121/* 1122 getType().setValueAsEnum(theValue); 1123*/ 1124 return this; 1125 } 1126 1127 1128 /** 1129 * Gets the value(s) for <b>telecom</b> (). 1130 * creating it if it does 1131 * not exist. Will not return <code>null</code>. 1132 * 1133 * <p> 1134 * <b>Definition:</b> 1135 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites 1136 * </p> 1137 */ 1138 public java.util.List<ContactPointDt> getTelecom() { 1139 if (myTelecom == null) { 1140 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1141 } 1142 return myTelecom; 1143 } 1144 1145 /** 1146 * Sets the value(s) for <b>telecom</b> () 1147 * 1148 * <p> 1149 * <b>Definition:</b> 1150 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites 1151 * </p> 1152 */ 1153 public Location setTelecom(java.util.List<ContactPointDt> theValue) { 1154 myTelecom = theValue; 1155 return this; 1156 } 1157 1158 1159 1160 /** 1161 * Adds and returns a new value for <b>telecom</b> () 1162 * 1163 * <p> 1164 * <b>Definition:</b> 1165 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites 1166 * </p> 1167 */ 1168 public ContactPointDt addTelecom() { 1169 ContactPointDt newType = new ContactPointDt(); 1170 getTelecom().add(newType); 1171 return newType; 1172 } 1173 1174 /** 1175 * Adds a given new value for <b>telecom</b> () 1176 * 1177 * <p> 1178 * <b>Definition:</b> 1179 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites 1180 * </p> 1181 * @param theValue The telecom to add (must not be <code>null</code>) 1182 */ 1183 public Location addTelecom(ContactPointDt theValue) { 1184 if (theValue == null) { 1185 throw new NullPointerException("theValue must not be null"); 1186 } 1187 getTelecom().add(theValue); 1188 return this; 1189 } 1190 1191 /** 1192 * Gets the first repetition for <b>telecom</b> (), 1193 * creating it if it does not already exist. 1194 * 1195 * <p> 1196 * <b>Definition:</b> 1197 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites 1198 * </p> 1199 */ 1200 public ContactPointDt getTelecomFirstRep() { 1201 if (getTelecom().isEmpty()) { 1202 return addTelecom(); 1203 } 1204 return getTelecom().get(0); 1205 } 1206 1207 /** 1208 * Gets the value(s) for <b>address</b> (). 1209 * creating it if it does 1210 * not exist. Will not return <code>null</code>. 1211 * 1212 * <p> 1213 * <b>Definition:</b> 1214 * 1215 * </p> 1216 */ 1217 public AddressDt getAddress() { 1218 if (myAddress == null) { 1219 myAddress = new AddressDt(); 1220 } 1221 return myAddress; 1222 } 1223 1224 /** 1225 * Sets the value(s) for <b>address</b> () 1226 * 1227 * <p> 1228 * <b>Definition:</b> 1229 * 1230 * </p> 1231 */ 1232 public Location setAddress(AddressDt theValue) { 1233 myAddress = theValue; 1234 return this; 1235 } 1236 1237 1238 1239 1240 /** 1241 * Gets the value(s) for <b>physicalType</b> (class). 1242 * creating it if it does 1243 * not exist. Will not return <code>null</code>. 1244 * 1245 * <p> 1246 * <b>Definition:</b> 1247 * Physical form of the location, e.g. building, room, vehicle, road 1248 * </p> 1249 */ 1250 public CodeableConceptDt getPhysicalType() { 1251 if (myPhysicalType == null) { 1252 myPhysicalType = new CodeableConceptDt(); 1253 } 1254 return myPhysicalType; 1255 } 1256 1257 /** 1258 * Sets the value(s) for <b>physicalType</b> (class) 1259 * 1260 * <p> 1261 * <b>Definition:</b> 1262 * Physical form of the location, e.g. building, room, vehicle, road 1263 * </p> 1264 */ 1265 public Location setPhysicalType(CodeableConceptDt theValue) { 1266 myPhysicalType = theValue; 1267 return this; 1268 } 1269 1270 1271 1272 1273 /** 1274 * Gets the value(s) for <b>position</b> (). 1275 * creating it if it does 1276 * not exist. Will not return <code>null</code>. 1277 * 1278 * <p> 1279 * <b>Definition:</b> 1280 * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML) 1281 * </p> 1282 */ 1283 public Position getPosition() { 1284 if (myPosition == null) { 1285 myPosition = new Position(); 1286 } 1287 return myPosition; 1288 } 1289 1290 /** 1291 * Sets the value(s) for <b>position</b> () 1292 * 1293 * <p> 1294 * <b>Definition:</b> 1295 * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML) 1296 * </p> 1297 */ 1298 public Location setPosition(Position theValue) { 1299 myPosition = theValue; 1300 return this; 1301 } 1302 1303 1304 1305 1306 /** 1307 * Gets the value(s) for <b>managingOrganization</b> (). 1308 * creating it if it does 1309 * not exist. Will not return <code>null</code>. 1310 * 1311 * <p> 1312 * <b>Definition:</b> 1313 * The organization responsible for the provisioning and upkeep of the location 1314 * </p> 1315 */ 1316 public ResourceReferenceDt getManagingOrganization() { 1317 if (myManagingOrganization == null) { 1318 myManagingOrganization = new ResourceReferenceDt(); 1319 } 1320 return myManagingOrganization; 1321 } 1322 1323 /** 1324 * Sets the value(s) for <b>managingOrganization</b> () 1325 * 1326 * <p> 1327 * <b>Definition:</b> 1328 * The organization responsible for the provisioning and upkeep of the location 1329 * </p> 1330 */ 1331 public Location setManagingOrganization(ResourceReferenceDt theValue) { 1332 myManagingOrganization = theValue; 1333 return this; 1334 } 1335 1336 1337 1338 1339 /** 1340 * Gets the value(s) for <b>partOf</b> (). 1341 * creating it if it does 1342 * not exist. Will not return <code>null</code>. 1343 * 1344 * <p> 1345 * <b>Definition:</b> 1346 * Another Location which this Location is physically part of 1347 * </p> 1348 */ 1349 public ResourceReferenceDt getPartOf() { 1350 if (myPartOf == null) { 1351 myPartOf = new ResourceReferenceDt(); 1352 } 1353 return myPartOf; 1354 } 1355 1356 /** 1357 * Sets the value(s) for <b>partOf</b> () 1358 * 1359 * <p> 1360 * <b>Definition:</b> 1361 * Another Location which this Location is physically part of 1362 * </p> 1363 */ 1364 public Location setPartOf(ResourceReferenceDt theValue) { 1365 myPartOf = theValue; 1366 return this; 1367 } 1368 1369 1370 1371 1372 /** 1373 * Block class for child element: <b>Location.position</b> () 1374 * 1375 * <p> 1376 * <b>Definition:</b> 1377 * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML) 1378 * </p> 1379 */ 1380 @Block() 1381 public static class Position 1382 extends BaseIdentifiableElement implements IResourceBlock { 1383 1384 @Child(name="longitude", type=DecimalDt.class, order=0, min=1, max=1, summary=false, modifier=false) 1385 @Description( 1386 shortDefinition="", 1387 formalDefinition="Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below)" 1388 ) 1389 private DecimalDt myLongitude; 1390 1391 @Child(name="latitude", type=DecimalDt.class, order=1, min=1, max=1, summary=false, modifier=false) 1392 @Description( 1393 shortDefinition="", 1394 formalDefinition="Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below)" 1395 ) 1396 private DecimalDt myLatitude; 1397 1398 @Child(name="altitude", type=DecimalDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1399 @Description( 1400 shortDefinition="", 1401 formalDefinition="Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)" 1402 ) 1403 private DecimalDt myAltitude; 1404 1405 1406 @Override 1407 public boolean isEmpty() { 1408 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLongitude, myLatitude, myAltitude); 1409 } 1410 1411 @Override 1412 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1413 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLongitude, myLatitude, myAltitude); 1414 } 1415 1416 /** 1417 * Gets the value(s) for <b>longitude</b> (). 1418 * creating it if it does 1419 * not exist. Will not return <code>null</code>. 1420 * 1421 * <p> 1422 * <b>Definition:</b> 1423 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1424 * </p> 1425 */ 1426 public DecimalDt getLongitudeElement() { 1427 if (myLongitude == null) { 1428 myLongitude = new DecimalDt(); 1429 } 1430 return myLongitude; 1431 } 1432 1433 1434 /** 1435 * Gets the value(s) for <b>longitude</b> (). 1436 * creating it if it does 1437 * not exist. Will not return <code>null</code>. 1438 * 1439 * <p> 1440 * <b>Definition:</b> 1441 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1442 * </p> 1443 */ 1444 public BigDecimal getLongitude() { 1445 return getLongitudeElement().getValue(); 1446 } 1447 1448 /** 1449 * Sets the value(s) for <b>longitude</b> () 1450 * 1451 * <p> 1452 * <b>Definition:</b> 1453 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1454 * </p> 1455 */ 1456 public Position setLongitude(DecimalDt theValue) { 1457 myLongitude = theValue; 1458 return this; 1459 } 1460 1461 1462 1463 /** 1464 * Sets the value for <b>longitude</b> () 1465 * 1466 * <p> 1467 * <b>Definition:</b> 1468 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1469 * </p> 1470 */ 1471 public Position setLongitude( long theValue) { 1472 myLongitude = new DecimalDt(theValue); 1473 return this; 1474 } 1475 1476 /** 1477 * Sets the value for <b>longitude</b> () 1478 * 1479 * <p> 1480 * <b>Definition:</b> 1481 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1482 * </p> 1483 */ 1484 public Position setLongitude( double theValue) { 1485 myLongitude = new DecimalDt(theValue); 1486 return this; 1487 } 1488 1489 /** 1490 * Sets the value for <b>longitude</b> () 1491 * 1492 * <p> 1493 * <b>Definition:</b> 1494 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below) 1495 * </p> 1496 */ 1497 public Position setLongitude( java.math.BigDecimal theValue) { 1498 myLongitude = new DecimalDt(theValue); 1499 return this; 1500 } 1501 1502 1503 /** 1504 * Gets the value(s) for <b>latitude</b> (). 1505 * creating it if it does 1506 * not exist. Will not return <code>null</code>. 1507 * 1508 * <p> 1509 * <b>Definition:</b> 1510 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1511 * </p> 1512 */ 1513 public DecimalDt getLatitudeElement() { 1514 if (myLatitude == null) { 1515 myLatitude = new DecimalDt(); 1516 } 1517 return myLatitude; 1518 } 1519 1520 1521 /** 1522 * Gets the value(s) for <b>latitude</b> (). 1523 * creating it if it does 1524 * not exist. Will not return <code>null</code>. 1525 * 1526 * <p> 1527 * <b>Definition:</b> 1528 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1529 * </p> 1530 */ 1531 public BigDecimal getLatitude() { 1532 return getLatitudeElement().getValue(); 1533 } 1534 1535 /** 1536 * Sets the value(s) for <b>latitude</b> () 1537 * 1538 * <p> 1539 * <b>Definition:</b> 1540 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1541 * </p> 1542 */ 1543 public Position setLatitude(DecimalDt theValue) { 1544 myLatitude = theValue; 1545 return this; 1546 } 1547 1548 1549 1550 /** 1551 * Sets the value for <b>latitude</b> () 1552 * 1553 * <p> 1554 * <b>Definition:</b> 1555 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1556 * </p> 1557 */ 1558 public Position setLatitude( long theValue) { 1559 myLatitude = new DecimalDt(theValue); 1560 return this; 1561 } 1562 1563 /** 1564 * Sets the value for <b>latitude</b> () 1565 * 1566 * <p> 1567 * <b>Definition:</b> 1568 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1569 * </p> 1570 */ 1571 public Position setLatitude( double theValue) { 1572 myLatitude = new DecimalDt(theValue); 1573 return this; 1574 } 1575 1576 /** 1577 * Sets the value for <b>latitude</b> () 1578 * 1579 * <p> 1580 * <b>Definition:</b> 1581 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below) 1582 * </p> 1583 */ 1584 public Position setLatitude( java.math.BigDecimal theValue) { 1585 myLatitude = new DecimalDt(theValue); 1586 return this; 1587 } 1588 1589 1590 /** 1591 * Gets the value(s) for <b>altitude</b> (). 1592 * creating it if it does 1593 * not exist. Will not return <code>null</code>. 1594 * 1595 * <p> 1596 * <b>Definition:</b> 1597 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1598 * </p> 1599 */ 1600 public DecimalDt getAltitudeElement() { 1601 if (myAltitude == null) { 1602 myAltitude = new DecimalDt(); 1603 } 1604 return myAltitude; 1605 } 1606 1607 1608 /** 1609 * Gets the value(s) for <b>altitude</b> (). 1610 * creating it if it does 1611 * not exist. Will not return <code>null</code>. 1612 * 1613 * <p> 1614 * <b>Definition:</b> 1615 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1616 * </p> 1617 */ 1618 public BigDecimal getAltitude() { 1619 return getAltitudeElement().getValue(); 1620 } 1621 1622 /** 1623 * Sets the value(s) for <b>altitude</b> () 1624 * 1625 * <p> 1626 * <b>Definition:</b> 1627 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1628 * </p> 1629 */ 1630 public Position setAltitude(DecimalDt theValue) { 1631 myAltitude = theValue; 1632 return this; 1633 } 1634 1635 1636 1637 /** 1638 * Sets the value for <b>altitude</b> () 1639 * 1640 * <p> 1641 * <b>Definition:</b> 1642 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1643 * </p> 1644 */ 1645 public Position setAltitude( long theValue) { 1646 myAltitude = new DecimalDt(theValue); 1647 return this; 1648 } 1649 1650 /** 1651 * Sets the value for <b>altitude</b> () 1652 * 1653 * <p> 1654 * <b>Definition:</b> 1655 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1656 * </p> 1657 */ 1658 public Position setAltitude( double theValue) { 1659 myAltitude = new DecimalDt(theValue); 1660 return this; 1661 } 1662 1663 /** 1664 * Sets the value for <b>altitude</b> () 1665 * 1666 * <p> 1667 * <b>Definition:</b> 1668 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below) 1669 * </p> 1670 */ 1671 public Position setAltitude( java.math.BigDecimal theValue) { 1672 myAltitude = new DecimalDt(theValue); 1673 return this; 1674 } 1675 1676 1677 1678 1679 } 1680 1681 1682 1683 1684 @Override 1685 public String getResourceName() { 1686 return "Location"; 1687 } 1688 1689 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1690 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1691 } 1692 1693 1694}