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