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>Patient</b> Resource 320 * (administrative.individual) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * Demographics and other administrative information about an individual or animal receiving care or other health-related services. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * Tracking patient is the center of the healthcare process 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/Patient">http://hl7.org/fhir/profiles/Patient</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Patient", profile="http://hl7.org/fhir/profiles/Patient", id="patient") 339public class Patient 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 patient identifier</b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>Patient.identifier</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="identifier", path="Patient.identifier", description="A patient 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 patient identifier</b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>Patient.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 either family or given name of the patient</b><br> 367 * Type: <b>string</b><br> 368 * Path: <b>Patient.name</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="name", path="Patient.name", description="A portion of either family or given name of the patient", 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 either family or given name of the patient</b><br> 378 * Type: <b>string</b><br> 379 * Path: <b>Patient.name</b><br> 380 * </p> 381 */ 382 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 383 384 /** 385 * Search parameter constant for <b>family</b> 386 * <p> 387 * Description: <b>A portion of the family name of the patient</b><br> 388 * Type: <b>string</b><br> 389 * Path: <b>Patient.name.family</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="family", path="Patient.name.family", description="A portion of the family name of the patient", type="string" ) 393 public static final String SP_FAMILY = "family"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>family</b> 397 * <p> 398 * Description: <b>A portion of the family name of the patient</b><br> 399 * Type: <b>string</b><br> 400 * Path: <b>Patient.name.family</b><br> 401 * </p> 402 */ 403 public static final StringClientParam FAMILY = new StringClientParam(SP_FAMILY); 404 405 /** 406 * Search parameter constant for <b>given</b> 407 * <p> 408 * Description: <b>A portion of the given name of the patient</b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>Patient.name.given</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="given", path="Patient.name.given", description="A portion of the given name of the patient", type="string" ) 414 public static final String SP_GIVEN = "given"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>given</b> 418 * <p> 419 * Description: <b>A portion of the given name of the patient</b><br> 420 * Type: <b>string</b><br> 421 * Path: <b>Patient.name.given</b><br> 422 * </p> 423 */ 424 public static final StringClientParam GIVEN = new StringClientParam(SP_GIVEN); 425 426 /** 427 * Search parameter constant for <b>phonetic</b> 428 * <p> 429 * Description: <b>A portion of either family or given name using some kind of phonetic matching algorithm</b><br> 430 * Type: <b>string</b><br> 431 * Path: <b>Patient.name</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="phonetic", path="Patient.name", description="A portion of either family or given name using some kind of phonetic matching algorithm", type="string" ) 435 public static final String SP_PHONETIC = "phonetic"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 439 * <p> 440 * Description: <b>A portion of either family or given name using some kind of phonetic matching algorithm</b><br> 441 * Type: <b>string</b><br> 442 * Path: <b>Patient.name</b><br> 443 * </p> 444 */ 445 public static final StringClientParam PHONETIC = new StringClientParam(SP_PHONETIC); 446 447 /** 448 * Search parameter constant for <b>telecom</b> 449 * <p> 450 * Description: <b>The value in any kind of telecom details of the patient</b><br> 451 * Type: <b>token</b><br> 452 * Path: <b>Patient.telecom</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="telecom", path="Patient.telecom", description="The value in any kind of telecom details of the patient", type="token" ) 456 public static final String SP_TELECOM = "telecom"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 460 * <p> 461 * Description: <b>The value in any kind of telecom details of the patient</b><br> 462 * Type: <b>token</b><br> 463 * Path: <b>Patient.telecom</b><br> 464 * </p> 465 */ 466 public static final TokenClientParam TELECOM = new TokenClientParam(SP_TELECOM); 467 468 /** 469 * Search parameter constant for <b>phone</b> 470 * <p> 471 * Description: <b>A value in a phone contact</b><br> 472 * Type: <b>token</b><br> 473 * Path: <b>Patient.telecom(system=phone)</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="phone", path="Patient.telecom(system=phone)", description="A value in a phone contact", type="token" ) 477 public static final String SP_PHONE = "phone"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 481 * <p> 482 * Description: <b>A value in a phone contact</b><br> 483 * Type: <b>token</b><br> 484 * Path: <b>Patient.telecom(system=phone)</b><br> 485 * </p> 486 */ 487 public static final TokenClientParam PHONE = new TokenClientParam(SP_PHONE); 488 489 /** 490 * Search parameter constant for <b>email</b> 491 * <p> 492 * Description: <b>A value in an email contact</b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>Patient.telecom(system=email)</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="email", path="Patient.telecom(system=email)", description="A value in an email contact", type="token" ) 498 public static final String SP_EMAIL = "email"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>email</b> 502 * <p> 503 * Description: <b>A value in an email contact</b><br> 504 * Type: <b>token</b><br> 505 * Path: <b>Patient.telecom(system=email)</b><br> 506 * </p> 507 */ 508 public static final TokenClientParam EMAIL = new TokenClientParam(SP_EMAIL); 509 510 /** 511 * Search parameter constant for <b>address</b> 512 * <p> 513 * Description: <b>An address in any kind of address/part of the patient</b><br> 514 * Type: <b>string</b><br> 515 * Path: <b>Patient.address</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="address", path="Patient.address", description="An address in any kind of address/part of the patient", type="string" ) 519 public static final String SP_ADDRESS = "address"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>address</b> 523 * <p> 524 * Description: <b>An address in any kind of address/part of the patient</b><br> 525 * Type: <b>string</b><br> 526 * Path: <b>Patient.address</b><br> 527 * </p> 528 */ 529 public static final StringClientParam ADDRESS = new StringClientParam(SP_ADDRESS); 530 531 /** 532 * Search parameter constant for <b>address-city</b> 533 * <p> 534 * Description: <b>A city specified in an address</b><br> 535 * Type: <b>string</b><br> 536 * Path: <b>Patient.address.city</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="address-city", path="Patient.address.city", description="A city specified in an address", type="string" ) 540 public static final String SP_ADDRESS_CITY = "address-city"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 544 * <p> 545 * Description: <b>A city specified in an address</b><br> 546 * Type: <b>string</b><br> 547 * Path: <b>Patient.address.city</b><br> 548 * </p> 549 */ 550 public static final StringClientParam ADDRESS_CITY = new StringClientParam(SP_ADDRESS_CITY); 551 552 /** 553 * Search parameter constant for <b>address-state</b> 554 * <p> 555 * Description: <b>A state specified in an address</b><br> 556 * Type: <b>string</b><br> 557 * Path: <b>Patient.address.state</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="address-state", path="Patient.address.state", description="A state specified in an address", type="string" ) 561 public static final String SP_ADDRESS_STATE = "address-state"; 562 563 /** 564 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 565 * <p> 566 * Description: <b>A state specified in an address</b><br> 567 * Type: <b>string</b><br> 568 * Path: <b>Patient.address.state</b><br> 569 * </p> 570 */ 571 public static final StringClientParam ADDRESS_STATE = new StringClientParam(SP_ADDRESS_STATE); 572 573 /** 574 * Search parameter constant for <b>address-postalcode</b> 575 * <p> 576 * Description: <b>A postalCode specified in an address</b><br> 577 * Type: <b>string</b><br> 578 * Path: <b>Patient.address.postalCode</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="address-postalcode", path="Patient.address.postalCode", description="A postalCode specified in an address", type="string" ) 582 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 586 * <p> 587 * Description: <b>A postalCode specified in an address</b><br> 588 * Type: <b>string</b><br> 589 * Path: <b>Patient.address.postalCode</b><br> 590 * </p> 591 */ 592 public static final StringClientParam ADDRESS_POSTALCODE = new StringClientParam(SP_ADDRESS_POSTALCODE); 593 594 /** 595 * Search parameter constant for <b>address-country</b> 596 * <p> 597 * Description: <b>A country specified in an address</b><br> 598 * Type: <b>string</b><br> 599 * Path: <b>Patient.address.country</b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="address-country", path="Patient.address.country", description="A country specified in an address", type="string" ) 603 public static final String SP_ADDRESS_COUNTRY = "address-country"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 607 * <p> 608 * Description: <b>A country specified in an address</b><br> 609 * Type: <b>string</b><br> 610 * Path: <b>Patient.address.country</b><br> 611 * </p> 612 */ 613 public static final StringClientParam ADDRESS_COUNTRY = new StringClientParam(SP_ADDRESS_COUNTRY); 614 615 /** 616 * Search parameter constant for <b>address-use</b> 617 * <p> 618 * Description: <b>A use code specified in an address</b><br> 619 * Type: <b>token</b><br> 620 * Path: <b>Patient.address.use</b><br> 621 * </p> 622 */ 623 @SearchParamDefinition(name="address-use", path="Patient.address.use", description="A use code specified in an address", type="token" ) 624 public static final String SP_ADDRESS_USE = "address-use"; 625 626 /** 627 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 628 * <p> 629 * Description: <b>A use code specified in an address</b><br> 630 * Type: <b>token</b><br> 631 * Path: <b>Patient.address.use</b><br> 632 * </p> 633 */ 634 public static final TokenClientParam ADDRESS_USE = new TokenClientParam(SP_ADDRESS_USE); 635 636 /** 637 * Search parameter constant for <b>gender</b> 638 * <p> 639 * Description: <b>Gender of the patient</b><br> 640 * Type: <b>token</b><br> 641 * Path: <b>Patient.gender</b><br> 642 * </p> 643 */ 644 @SearchParamDefinition(name="gender", path="Patient.gender", description="Gender of the patient", type="token" ) 645 public static final String SP_GENDER = "gender"; 646 647 /** 648 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 649 * <p> 650 * Description: <b>Gender of the patient</b><br> 651 * Type: <b>token</b><br> 652 * Path: <b>Patient.gender</b><br> 653 * </p> 654 */ 655 public static final TokenClientParam GENDER = new TokenClientParam(SP_GENDER); 656 657 /** 658 * Search parameter constant for <b>language</b> 659 * <p> 660 * Description: <b>Language code (irrespective of use value)</b><br> 661 * Type: <b>token</b><br> 662 * Path: <b>Patient.communication.language</b><br> 663 * </p> 664 */ 665 @SearchParamDefinition(name="language", path="Patient.communication.language", description="Language code (irrespective of use value)", type="token" ) 666 public static final String SP_LANGUAGE = "language"; 667 668 /** 669 * <b>Fluent Client</b> search parameter constant for <b>language</b> 670 * <p> 671 * Description: <b>Language code (irrespective of use value)</b><br> 672 * Type: <b>token</b><br> 673 * Path: <b>Patient.communication.language</b><br> 674 * </p> 675 */ 676 public static final TokenClientParam LANGUAGE = new TokenClientParam(SP_LANGUAGE); 677 678 /** 679 * Search parameter constant for <b>birthdate</b> 680 * <p> 681 * Description: <b>The patient's date of birth</b><br> 682 * Type: <b>date</b><br> 683 * Path: <b>Patient.birthDate</b><br> 684 * </p> 685 */ 686 @SearchParamDefinition(name="birthdate", path="Patient.birthDate", description="The patient's date of birth", type="date" ) 687 public static final String SP_BIRTHDATE = "birthdate"; 688 689 /** 690 * <b>Fluent Client</b> search parameter constant for <b>birthdate</b> 691 * <p> 692 * Description: <b>The patient's date of birth</b><br> 693 * Type: <b>date</b><br> 694 * Path: <b>Patient.birthDate</b><br> 695 * </p> 696 */ 697 public static final DateClientParam BIRTHDATE = new DateClientParam(SP_BIRTHDATE); 698 699 /** 700 * Search parameter constant for <b>organization</b> 701 * <p> 702 * Description: <b>The organization at which this person is a patient</b><br> 703 * Type: <b>reference</b><br> 704 * Path: <b>Patient.managingOrganization</b><br> 705 * </p> 706 */ 707 @SearchParamDefinition(name="organization", path="Patient.managingOrganization", description="The organization at which this person is a patient", type="reference" ) 708 public static final String SP_ORGANIZATION = "organization"; 709 710 /** 711 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 712 * <p> 713 * Description: <b>The organization at which this person is a patient</b><br> 714 * Type: <b>reference</b><br> 715 * Path: <b>Patient.managingOrganization</b><br> 716 * </p> 717 */ 718 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 719 720 /** 721 * Search parameter constant for <b>careprovider</b> 722 * <p> 723 * Description: <b>Patient's nominated care provider, could be a care manager, not the organization that manages the record</b><br> 724 * Type: <b>reference</b><br> 725 * Path: <b>Patient.careProvider</b><br> 726 * </p> 727 */ 728 @SearchParamDefinition(name="careprovider", path="Patient.careProvider", description="Patient's nominated care provider, could be a care manager, not the organization that manages the record", type="reference" ) 729 public static final String SP_CAREPROVIDER = "careprovider"; 730 731 /** 732 * <b>Fluent Client</b> search parameter constant for <b>careprovider</b> 733 * <p> 734 * Description: <b>Patient's nominated care provider, could be a care manager, not the organization that manages the record</b><br> 735 * Type: <b>reference</b><br> 736 * Path: <b>Patient.careProvider</b><br> 737 * </p> 738 */ 739 public static final ReferenceClientParam CAREPROVIDER = new ReferenceClientParam(SP_CAREPROVIDER); 740 741 /** 742 * Search parameter constant for <b>active</b> 743 * <p> 744 * Description: <b>Whether the patient record is active</b><br> 745 * Type: <b>token</b><br> 746 * Path: <b>Patient.active</b><br> 747 * </p> 748 */ 749 @SearchParamDefinition(name="active", path="Patient.active", description="Whether the patient record is active", type="token" ) 750 public static final String SP_ACTIVE = "active"; 751 752 /** 753 * <b>Fluent Client</b> search parameter constant for <b>active</b> 754 * <p> 755 * Description: <b>Whether the patient record is active</b><br> 756 * Type: <b>token</b><br> 757 * Path: <b>Patient.active</b><br> 758 * </p> 759 */ 760 public static final TokenClientParam ACTIVE = new TokenClientParam(SP_ACTIVE); 761 762 /** 763 * Search parameter constant for <b>animal-species</b> 764 * <p> 765 * Description: <b>The species for animal patients</b><br> 766 * Type: <b>token</b><br> 767 * Path: <b>Patient.animal.species</b><br> 768 * </p> 769 */ 770 @SearchParamDefinition(name="animal-species", path="Patient.animal.species", description="The species for animal patients", type="token" ) 771 public static final String SP_ANIMAL_SPECIES = "animal-species"; 772 773 /** 774 * <b>Fluent Client</b> search parameter constant for <b>animal-species</b> 775 * <p> 776 * Description: <b>The species for animal patients</b><br> 777 * Type: <b>token</b><br> 778 * Path: <b>Patient.animal.species</b><br> 779 * </p> 780 */ 781 public static final TokenClientParam ANIMAL_SPECIES = new TokenClientParam(SP_ANIMAL_SPECIES); 782 783 /** 784 * Search parameter constant for <b>animal-breed</b> 785 * <p> 786 * Description: <b>The breed for animal patients</b><br> 787 * Type: <b>token</b><br> 788 * Path: <b>Patient.animal.breed</b><br> 789 * </p> 790 */ 791 @SearchParamDefinition(name="animal-breed", path="Patient.animal.breed", description="The breed for animal patients", type="token" ) 792 public static final String SP_ANIMAL_BREED = "animal-breed"; 793 794 /** 795 * <b>Fluent Client</b> search parameter constant for <b>animal-breed</b> 796 * <p> 797 * Description: <b>The breed for animal patients</b><br> 798 * Type: <b>token</b><br> 799 * Path: <b>Patient.animal.breed</b><br> 800 * </p> 801 */ 802 public static final TokenClientParam ANIMAL_BREED = new TokenClientParam(SP_ANIMAL_BREED); 803 804 /** 805 * Search parameter constant for <b>link</b> 806 * <p> 807 * Description: <b>All patients linked to the given patient</b><br> 808 * Type: <b>reference</b><br> 809 * Path: <b>Patient.link.other</b><br> 810 * </p> 811 */ 812 @SearchParamDefinition(name="link", path="Patient.link.other", description="All patients linked to the given patient", type="reference" ) 813 public static final String SP_LINK = "link"; 814 815 /** 816 * <b>Fluent Client</b> search parameter constant for <b>link</b> 817 * <p> 818 * Description: <b>All patients linked to the given patient</b><br> 819 * Type: <b>reference</b><br> 820 * Path: <b>Patient.link.other</b><br> 821 * </p> 822 */ 823 public static final ReferenceClientParam LINK = new ReferenceClientParam(SP_LINK); 824 825 /** 826 * Search parameter constant for <b>deceased</b> 827 * <p> 828 * Description: <b>This patient has been marked as deceased, or as a death date entered</b><br> 829 * Type: <b>token</b><br> 830 * Path: <b>Patient.deceased[x]</b><br> 831 * </p> 832 */ 833 @SearchParamDefinition(name="deceased", path="Patient.deceased[x]", description="This patient has been marked as deceased, or as a death date entered", type="token" ) 834 public static final String SP_DECEASED = "deceased"; 835 836 /** 837 * <b>Fluent Client</b> search parameter constant for <b>deceased</b> 838 * <p> 839 * Description: <b>This patient has been marked as deceased, or as a death date entered</b><br> 840 * Type: <b>token</b><br> 841 * Path: <b>Patient.deceased[x]</b><br> 842 * </p> 843 */ 844 public static final TokenClientParam DECEASED = new TokenClientParam(SP_DECEASED); 845 846 /** 847 * Search parameter constant for <b>deathdate</b> 848 * <p> 849 * Description: <b>The date of death has been provided and satisfies this search value</b><br> 850 * Type: <b>date</b><br> 851 * Path: <b>Patient.deceasedDateTime</b><br> 852 * </p> 853 */ 854 @SearchParamDefinition(name="deathdate", path="Patient.deceasedDateTime", description="The date of death has been provided and satisfies this search value", type="date" ) 855 public static final String SP_DEATHDATE = "deathdate"; 856 857 /** 858 * <b>Fluent Client</b> search parameter constant for <b>deathdate</b> 859 * <p> 860 * Description: <b>The date of death has been provided and satisfies this search value</b><br> 861 * Type: <b>date</b><br> 862 * Path: <b>Patient.deceasedDateTime</b><br> 863 * </p> 864 */ 865 public static final DateClientParam DEATHDATE = new DateClientParam(SP_DEATHDATE); 866 867 868 /** 869 * Constant for fluent queries to be used to add include statements. Specifies 870 * the path value of "<b>Patient:careprovider</b>". 871 */ 872 public static final Include INCLUDE_CAREPROVIDER = new Include("Patient:careprovider"); 873 874 /** 875 * Constant for fluent queries to be used to add include statements. Specifies 876 * the path value of "<b>Patient:link</b>". 877 */ 878 public static final Include INCLUDE_LINK = new Include("Patient:link"); 879 880 /** 881 * Constant for fluent queries to be used to add include statements. Specifies 882 * the path value of "<b>Patient:organization</b>". 883 */ 884 public static final Include INCLUDE_ORGANIZATION = new Include("Patient:organization"); 885 886 887 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 888 @Description( 889 shortDefinition="id", 890 formalDefinition="An identifier for this patient" 891 ) 892 private java.util.List<IdentifierDt> myIdentifier; 893 894 @Child(name="active", type=BooleanDt.class, order=1, min=0, max=1, summary=true, modifier=true) 895 @Description( 896 shortDefinition="status", 897 formalDefinition="Whether this patient record is in active use" 898 ) 899 private BooleanDt myActive; 900 901 @Child(name="name", type=HumanNameDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 902 @Description( 903 shortDefinition="", 904 formalDefinition="A name associated with the individual." 905 ) 906 private java.util.List<HumanNameDt> myName; 907 908 @Child(name="telecom", type=ContactPointDt.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 909 @Description( 910 shortDefinition="", 911 formalDefinition="A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted." 912 ) 913 private java.util.List<ContactPointDt> myTelecom; 914 915 @Child(name="gender", type=CodeDt.class, order=4, min=0, max=1, summary=true, modifier=false) 916 @Description( 917 shortDefinition="", 918 formalDefinition="Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes." 919 ) 920 private BoundCodeDt<AdministrativeGenderEnum> myGender; 921 922 @Child(name="birthDate", type=DateDt.class, order=5, min=0, max=1, summary=true, modifier=false) 923 @Description( 924 shortDefinition="", 925 formalDefinition="The date of birth for the individual" 926 ) 927 private DateDt myBirthDate; 928 929 @Child(name="deceased", order=6, min=0, max=1, summary=true, modifier=true, type={ 930 BooleanDt.class, DateTimeDt.class }) 931 @Description( 932 shortDefinition="", 933 formalDefinition="Indicates if the individual is deceased or not" 934 ) 935 private IDatatype myDeceased; 936 937 @Child(name="address", type=AddressDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 938 @Description( 939 shortDefinition="", 940 formalDefinition="Addresses for the individual" 941 ) 942 private java.util.List<AddressDt> myAddress; 943 944 @Child(name="maritalStatus", type=CodeableConceptDt.class, order=8, min=0, max=1, summary=false, modifier=false) 945 @Description( 946 shortDefinition="", 947 formalDefinition="This field contains a patient's most recent marital (civil) status." 948 ) 949 private BoundCodeableConceptDt<MaritalStatusCodesEnum> myMaritalStatus; 950 951 @Child(name="multipleBirth", order=9, min=0, max=1, summary=false, modifier=false, type={ 952 BooleanDt.class, IntegerDt.class }) 953 @Description( 954 shortDefinition="", 955 formalDefinition="Indicates whether the patient is part of a multiple or indicates the actual birth order." 956 ) 957 private IDatatype myMultipleBirth; 958 959 @Child(name="photo", type=AttachmentDt.class, order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 960 @Description( 961 shortDefinition="", 962 formalDefinition="Image of the patient" 963 ) 964 private java.util.List<AttachmentDt> myPhoto; 965 966 @Child(name="contact", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 967 @Description( 968 shortDefinition="", 969 formalDefinition="A contact party (e.g. guardian, partner, friend) for the patient" 970 ) 971 private java.util.List<Contact> myContact; 972 973 @Child(name="animal", order=12, min=0, max=1, summary=true, modifier=true) 974 @Description( 975 shortDefinition="", 976 formalDefinition="This patient is known to be an animal" 977 ) 978 private Animal myAnimal; 979 980 @Child(name="communication", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 981 @Description( 982 shortDefinition="", 983 formalDefinition="Languages which may be used to communicate with the patient about his or her health" 984 ) 985 private java.util.List<Communication> myCommunication; 986 987 @Child(name="careProvider", order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 988 ca.uhn.fhir.model.dstu2.resource.Organization.class, ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 989 @Description( 990 shortDefinition="", 991 formalDefinition="Patient's nominated care provider" 992 ) 993 private java.util.List<ResourceReferenceDt> myCareProvider; 994 995 @Child(name="managingOrganization", order=15, min=0, max=1, summary=true, modifier=false, type={ 996 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 997 @Description( 998 shortDefinition="", 999 formalDefinition="Organization that is the custodian of the patient record" 1000 ) 1001 private ResourceReferenceDt myManagingOrganization; 1002 1003 @Child(name="link", order=16, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=true) 1004 @Description( 1005 shortDefinition="", 1006 formalDefinition="Link to another patient resource that concerns the same actual patient" 1007 ) 1008 private java.util.List<Link> myLink; 1009 1010 1011 @Override 1012 public boolean isEmpty() { 1013 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myActive, myName, myTelecom, myGender, myBirthDate, myDeceased, myAddress, myMaritalStatus, myMultipleBirth, myPhoto, myContact, myAnimal, myCommunication, myCareProvider, myManagingOrganization, myLink); 1014 } 1015 1016 @Override 1017 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1018 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myActive, myName, myTelecom, myGender, myBirthDate, myDeceased, myAddress, myMaritalStatus, myMultipleBirth, myPhoto, myContact, myAnimal, myCommunication, myCareProvider, myManagingOrganization, myLink); 1019 } 1020 1021 /** 1022 * Gets the value(s) for <b>identifier</b> (id). 1023 * creating it if it does 1024 * not exist. Will not return <code>null</code>. 1025 * 1026 * <p> 1027 * <b>Definition:</b> 1028 * An identifier for this patient 1029 * </p> 1030 */ 1031 public java.util.List<IdentifierDt> getIdentifier() { 1032 if (myIdentifier == null) { 1033 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 1034 } 1035 return myIdentifier; 1036 } 1037 1038 /** 1039 * Sets the value(s) for <b>identifier</b> (id) 1040 * 1041 * <p> 1042 * <b>Definition:</b> 1043 * An identifier for this patient 1044 * </p> 1045 */ 1046 public Patient setIdentifier(java.util.List<IdentifierDt> theValue) { 1047 myIdentifier = theValue; 1048 return this; 1049 } 1050 1051 1052 1053 /** 1054 * Adds and returns a new value for <b>identifier</b> (id) 1055 * 1056 * <p> 1057 * <b>Definition:</b> 1058 * An identifier for this patient 1059 * </p> 1060 */ 1061 public IdentifierDt addIdentifier() { 1062 IdentifierDt newType = new IdentifierDt(); 1063 getIdentifier().add(newType); 1064 return newType; 1065 } 1066 1067 /** 1068 * Adds a given new value for <b>identifier</b> (id) 1069 * 1070 * <p> 1071 * <b>Definition:</b> 1072 * An identifier for this patient 1073 * </p> 1074 * @param theValue The identifier to add (must not be <code>null</code>) 1075 */ 1076 public Patient addIdentifier(IdentifierDt theValue) { 1077 if (theValue == null) { 1078 throw new NullPointerException("theValue must not be null"); 1079 } 1080 getIdentifier().add(theValue); 1081 return this; 1082 } 1083 1084 /** 1085 * Gets the first repetition for <b>identifier</b> (id), 1086 * creating it if it does not already exist. 1087 * 1088 * <p> 1089 * <b>Definition:</b> 1090 * An identifier for this patient 1091 * </p> 1092 */ 1093 public IdentifierDt getIdentifierFirstRep() { 1094 if (getIdentifier().isEmpty()) { 1095 return addIdentifier(); 1096 } 1097 return getIdentifier().get(0); 1098 } 1099 1100 /** 1101 * Gets the value(s) for <b>active</b> (status). 1102 * creating it if it does 1103 * not exist. Will not return <code>null</code>. 1104 * 1105 * <p> 1106 * <b>Definition:</b> 1107 * Whether this patient record is in active use 1108 * </p> 1109 */ 1110 public BooleanDt getActiveElement() { 1111 if (myActive == null) { 1112 myActive = new BooleanDt(); 1113 } 1114 return myActive; 1115 } 1116 1117 1118 /** 1119 * Gets the value(s) for <b>active</b> (status). 1120 * creating it if it does 1121 * not exist. Will not return <code>null</code>. 1122 * 1123 * <p> 1124 * <b>Definition:</b> 1125 * Whether this patient record is in active use 1126 * </p> 1127 */ 1128 public Boolean getActive() { 1129 return getActiveElement().getValue(); 1130 } 1131 1132 /** 1133 * Sets the value(s) for <b>active</b> (status) 1134 * 1135 * <p> 1136 * <b>Definition:</b> 1137 * Whether this patient record is in active use 1138 * </p> 1139 */ 1140 public Patient setActive(BooleanDt theValue) { 1141 myActive = theValue; 1142 return this; 1143 } 1144 1145 1146 1147 /** 1148 * Sets the value for <b>active</b> (status) 1149 * 1150 * <p> 1151 * <b>Definition:</b> 1152 * Whether this patient record is in active use 1153 * </p> 1154 */ 1155 public Patient setActive( boolean theBoolean) { 1156 myActive = new BooleanDt(theBoolean); 1157 return this; 1158 } 1159 1160 1161 /** 1162 * Gets the value(s) for <b>name</b> (). 1163 * creating it if it does 1164 * not exist. Will not return <code>null</code>. 1165 * 1166 * <p> 1167 * <b>Definition:</b> 1168 * A name associated with the individual. 1169 * </p> 1170 */ 1171 public java.util.List<HumanNameDt> getName() { 1172 if (myName == null) { 1173 myName = new java.util.ArrayList<HumanNameDt>(); 1174 } 1175 return myName; 1176 } 1177 1178 /** 1179 * Sets the value(s) for <b>name</b> () 1180 * 1181 * <p> 1182 * <b>Definition:</b> 1183 * A name associated with the individual. 1184 * </p> 1185 */ 1186 public Patient setName(java.util.List<HumanNameDt> theValue) { 1187 myName = theValue; 1188 return this; 1189 } 1190 1191 1192 1193 /** 1194 * Adds and returns a new value for <b>name</b> () 1195 * 1196 * <p> 1197 * <b>Definition:</b> 1198 * A name associated with the individual. 1199 * </p> 1200 */ 1201 public HumanNameDt addName() { 1202 HumanNameDt newType = new HumanNameDt(); 1203 getName().add(newType); 1204 return newType; 1205 } 1206 1207 /** 1208 * Adds a given new value for <b>name</b> () 1209 * 1210 * <p> 1211 * <b>Definition:</b> 1212 * A name associated with the individual. 1213 * </p> 1214 * @param theValue The name to add (must not be <code>null</code>) 1215 */ 1216 public Patient addName(HumanNameDt theValue) { 1217 if (theValue == null) { 1218 throw new NullPointerException("theValue must not be null"); 1219 } 1220 getName().add(theValue); 1221 return this; 1222 } 1223 1224 /** 1225 * Gets the first repetition for <b>name</b> (), 1226 * creating it if it does not already exist. 1227 * 1228 * <p> 1229 * <b>Definition:</b> 1230 * A name associated with the individual. 1231 * </p> 1232 */ 1233 public HumanNameDt getNameFirstRep() { 1234 if (getName().isEmpty()) { 1235 return addName(); 1236 } 1237 return getName().get(0); 1238 } 1239 1240 /** 1241 * Gets the value(s) for <b>telecom</b> (). 1242 * creating it if it does 1243 * not exist. Will not return <code>null</code>. 1244 * 1245 * <p> 1246 * <b>Definition:</b> 1247 * A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. 1248 * </p> 1249 */ 1250 public java.util.List<ContactPointDt> getTelecom() { 1251 if (myTelecom == null) { 1252 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1253 } 1254 return myTelecom; 1255 } 1256 1257 /** 1258 * Sets the value(s) for <b>telecom</b> () 1259 * 1260 * <p> 1261 * <b>Definition:</b> 1262 * A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. 1263 * </p> 1264 */ 1265 public Patient setTelecom(java.util.List<ContactPointDt> theValue) { 1266 myTelecom = theValue; 1267 return this; 1268 } 1269 1270 1271 1272 /** 1273 * Adds and returns a new value for <b>telecom</b> () 1274 * 1275 * <p> 1276 * <b>Definition:</b> 1277 * A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. 1278 * </p> 1279 */ 1280 public ContactPointDt addTelecom() { 1281 ContactPointDt newType = new ContactPointDt(); 1282 getTelecom().add(newType); 1283 return newType; 1284 } 1285 1286 /** 1287 * Adds a given new value for <b>telecom</b> () 1288 * 1289 * <p> 1290 * <b>Definition:</b> 1291 * A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. 1292 * </p> 1293 * @param theValue The telecom to add (must not be <code>null</code>) 1294 */ 1295 public Patient addTelecom(ContactPointDt theValue) { 1296 if (theValue == null) { 1297 throw new NullPointerException("theValue must not be null"); 1298 } 1299 getTelecom().add(theValue); 1300 return this; 1301 } 1302 1303 /** 1304 * Gets the first repetition for <b>telecom</b> (), 1305 * creating it if it does not already exist. 1306 * 1307 * <p> 1308 * <b>Definition:</b> 1309 * A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. 1310 * </p> 1311 */ 1312 public ContactPointDt getTelecomFirstRep() { 1313 if (getTelecom().isEmpty()) { 1314 return addTelecom(); 1315 } 1316 return getTelecom().get(0); 1317 } 1318 1319 /** 1320 * Gets the value(s) for <b>gender</b> (). 1321 * creating it if it does 1322 * not exist. Will not return <code>null</code>. 1323 * 1324 * <p> 1325 * <b>Definition:</b> 1326 * Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. 1327 * </p> 1328 */ 1329 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 1330 if (myGender == null) { 1331 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 1332 } 1333 return myGender; 1334 } 1335 1336 1337 /** 1338 * Gets the value(s) for <b>gender</b> (). 1339 * creating it if it does 1340 * not exist. Will not return <code>null</code>. 1341 * 1342 * <p> 1343 * <b>Definition:</b> 1344 * Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. 1345 * </p> 1346 */ 1347 public String getGender() { 1348 return getGenderElement().getValue(); 1349 } 1350 1351 /** 1352 * Sets the value(s) for <b>gender</b> () 1353 * 1354 * <p> 1355 * <b>Definition:</b> 1356 * Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. 1357 * </p> 1358 */ 1359 public Patient setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 1360 myGender = theValue; 1361 return this; 1362 } 1363 1364 1365 1366 /** 1367 * Sets the value(s) for <b>gender</b> () 1368 * 1369 * <p> 1370 * <b>Definition:</b> 1371 * Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. 1372 * </p> 1373 */ 1374 public Patient setGender(AdministrativeGenderEnum theValue) { 1375 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 1376 1377/* 1378 getGenderElement().setValueAsEnum(theValue); 1379*/ 1380 return this; 1381 } 1382 1383 1384 /** 1385 * Gets the value(s) for <b>birthDate</b> (). 1386 * creating it if it does 1387 * not exist. Will not return <code>null</code>. 1388 * 1389 * <p> 1390 * <b>Definition:</b> 1391 * The date of birth for the individual 1392 * </p> 1393 */ 1394 public DateDt getBirthDateElement() { 1395 if (myBirthDate == null) { 1396 myBirthDate = new DateDt(); 1397 } 1398 return myBirthDate; 1399 } 1400 1401 1402 /** 1403 * Gets the value(s) for <b>birthDate</b> (). 1404 * creating it if it does 1405 * not exist. Will not return <code>null</code>. 1406 * 1407 * <p> 1408 * <b>Definition:</b> 1409 * The date of birth for the individual 1410 * </p> 1411 */ 1412 public Date getBirthDate() { 1413 return getBirthDateElement().getValue(); 1414 } 1415 1416 /** 1417 * Sets the value(s) for <b>birthDate</b> () 1418 * 1419 * <p> 1420 * <b>Definition:</b> 1421 * The date of birth for the individual 1422 * </p> 1423 */ 1424 public Patient setBirthDate(DateDt theValue) { 1425 myBirthDate = theValue; 1426 return this; 1427 } 1428 1429 1430 1431 /** 1432 * Sets the value for <b>birthDate</b> () 1433 * 1434 * <p> 1435 * <b>Definition:</b> 1436 * The date of birth for the individual 1437 * </p> 1438 */ 1439 public Patient setBirthDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1440 myBirthDate = new DateDt(theDate, thePrecision); 1441 return this; 1442 } 1443 1444 /** 1445 * Sets the value for <b>birthDate</b> () 1446 * 1447 * <p> 1448 * <b>Definition:</b> 1449 * The date of birth for the individual 1450 * </p> 1451 */ 1452 public Patient setBirthDateWithDayPrecision( Date theDate) { 1453 myBirthDate = new DateDt(theDate); 1454 return this; 1455 } 1456 1457 1458 /** 1459 * Gets the value(s) for <b>deceased[x]</b> (). 1460 * creating it if it does 1461 * not exist. Will not return <code>null</code>. 1462 * 1463 * <p> 1464 * <b>Definition:</b> 1465 * Indicates if the individual is deceased or not 1466 * </p> 1467 */ 1468 public IDatatype getDeceased() { 1469 return myDeceased; 1470 } 1471 1472 /** 1473 * Sets the value(s) for <b>deceased[x]</b> () 1474 * 1475 * <p> 1476 * <b>Definition:</b> 1477 * Indicates if the individual is deceased or not 1478 * </p> 1479 */ 1480 public Patient setDeceased(IDatatype theValue) { 1481 myDeceased = theValue; 1482 return this; 1483 } 1484 1485 1486 1487 1488 /** 1489 * Gets the value(s) for <b>address</b> (). 1490 * creating it if it does 1491 * not exist. Will not return <code>null</code>. 1492 * 1493 * <p> 1494 * <b>Definition:</b> 1495 * Addresses for the individual 1496 * </p> 1497 */ 1498 public java.util.List<AddressDt> getAddress() { 1499 if (myAddress == null) { 1500 myAddress = new java.util.ArrayList<AddressDt>(); 1501 } 1502 return myAddress; 1503 } 1504 1505 /** 1506 * Sets the value(s) for <b>address</b> () 1507 * 1508 * <p> 1509 * <b>Definition:</b> 1510 * Addresses for the individual 1511 * </p> 1512 */ 1513 public Patient setAddress(java.util.List<AddressDt> theValue) { 1514 myAddress = theValue; 1515 return this; 1516 } 1517 1518 1519 1520 /** 1521 * Adds and returns a new value for <b>address</b> () 1522 * 1523 * <p> 1524 * <b>Definition:</b> 1525 * Addresses for the individual 1526 * </p> 1527 */ 1528 public AddressDt addAddress() { 1529 AddressDt newType = new AddressDt(); 1530 getAddress().add(newType); 1531 return newType; 1532 } 1533 1534 /** 1535 * Adds a given new value for <b>address</b> () 1536 * 1537 * <p> 1538 * <b>Definition:</b> 1539 * Addresses for the individual 1540 * </p> 1541 * @param theValue The address to add (must not be <code>null</code>) 1542 */ 1543 public Patient addAddress(AddressDt theValue) { 1544 if (theValue == null) { 1545 throw new NullPointerException("theValue must not be null"); 1546 } 1547 getAddress().add(theValue); 1548 return this; 1549 } 1550 1551 /** 1552 * Gets the first repetition for <b>address</b> (), 1553 * creating it if it does not already exist. 1554 * 1555 * <p> 1556 * <b>Definition:</b> 1557 * Addresses for the individual 1558 * </p> 1559 */ 1560 public AddressDt getAddressFirstRep() { 1561 if (getAddress().isEmpty()) { 1562 return addAddress(); 1563 } 1564 return getAddress().get(0); 1565 } 1566 1567 /** 1568 * Gets the value(s) for <b>maritalStatus</b> (). 1569 * creating it if it does 1570 * not exist. Will not return <code>null</code>. 1571 * 1572 * <p> 1573 * <b>Definition:</b> 1574 * This field contains a patient's most recent marital (civil) status. 1575 * </p> 1576 */ 1577 public BoundCodeableConceptDt<MaritalStatusCodesEnum> getMaritalStatus() { 1578 if (myMaritalStatus == null) { 1579 myMaritalStatus = new BoundCodeableConceptDt<MaritalStatusCodesEnum>(MaritalStatusCodesEnum.VALUESET_BINDER); 1580 } 1581 return myMaritalStatus; 1582 } 1583 1584 /** 1585 * Sets the value(s) for <b>maritalStatus</b> () 1586 * 1587 * <p> 1588 * <b>Definition:</b> 1589 * This field contains a patient's most recent marital (civil) status. 1590 * </p> 1591 */ 1592 public Patient setMaritalStatus(BoundCodeableConceptDt<MaritalStatusCodesEnum> theValue) { 1593 myMaritalStatus = theValue; 1594 return this; 1595 } 1596 1597 1598 1599 /** 1600 * Sets the value(s) for <b>maritalStatus</b> () 1601 * 1602 * <p> 1603 * <b>Definition:</b> 1604 * This field contains a patient's most recent marital (civil) status. 1605 * </p> 1606 */ 1607 public Patient setMaritalStatus(MaritalStatusCodesEnum theValue) { 1608 setMaritalStatus(new BoundCodeableConceptDt<MaritalStatusCodesEnum>(MaritalStatusCodesEnum.VALUESET_BINDER, theValue)); 1609 1610/* 1611 getMaritalStatus().setValueAsEnum(theValue); 1612*/ 1613 return this; 1614 } 1615 1616 1617 /** 1618 * Gets the value(s) for <b>multipleBirth[x]</b> (). 1619 * creating it if it does 1620 * not exist. Will not return <code>null</code>. 1621 * 1622 * <p> 1623 * <b>Definition:</b> 1624 * Indicates whether the patient is part of a multiple or indicates the actual birth order. 1625 * </p> 1626 */ 1627 public IDatatype getMultipleBirth() { 1628 return myMultipleBirth; 1629 } 1630 1631 /** 1632 * Sets the value(s) for <b>multipleBirth[x]</b> () 1633 * 1634 * <p> 1635 * <b>Definition:</b> 1636 * Indicates whether the patient is part of a multiple or indicates the actual birth order. 1637 * </p> 1638 */ 1639 public Patient setMultipleBirth(IDatatype theValue) { 1640 myMultipleBirth = theValue; 1641 return this; 1642 } 1643 1644 1645 1646 1647 /** 1648 * Gets the value(s) for <b>photo</b> (). 1649 * creating it if it does 1650 * not exist. Will not return <code>null</code>. 1651 * 1652 * <p> 1653 * <b>Definition:</b> 1654 * Image of the patient 1655 * </p> 1656 */ 1657 public java.util.List<AttachmentDt> getPhoto() { 1658 if (myPhoto == null) { 1659 myPhoto = new java.util.ArrayList<AttachmentDt>(); 1660 } 1661 return myPhoto; 1662 } 1663 1664 /** 1665 * Sets the value(s) for <b>photo</b> () 1666 * 1667 * <p> 1668 * <b>Definition:</b> 1669 * Image of the patient 1670 * </p> 1671 */ 1672 public Patient setPhoto(java.util.List<AttachmentDt> theValue) { 1673 myPhoto = theValue; 1674 return this; 1675 } 1676 1677 1678 1679 /** 1680 * Adds and returns a new value for <b>photo</b> () 1681 * 1682 * <p> 1683 * <b>Definition:</b> 1684 * Image of the patient 1685 * </p> 1686 */ 1687 public AttachmentDt addPhoto() { 1688 AttachmentDt newType = new AttachmentDt(); 1689 getPhoto().add(newType); 1690 return newType; 1691 } 1692 1693 /** 1694 * Adds a given new value for <b>photo</b> () 1695 * 1696 * <p> 1697 * <b>Definition:</b> 1698 * Image of the patient 1699 * </p> 1700 * @param theValue The photo to add (must not be <code>null</code>) 1701 */ 1702 public Patient addPhoto(AttachmentDt theValue) { 1703 if (theValue == null) { 1704 throw new NullPointerException("theValue must not be null"); 1705 } 1706 getPhoto().add(theValue); 1707 return this; 1708 } 1709 1710 /** 1711 * Gets the first repetition for <b>photo</b> (), 1712 * creating it if it does not already exist. 1713 * 1714 * <p> 1715 * <b>Definition:</b> 1716 * Image of the patient 1717 * </p> 1718 */ 1719 public AttachmentDt getPhotoFirstRep() { 1720 if (getPhoto().isEmpty()) { 1721 return addPhoto(); 1722 } 1723 return getPhoto().get(0); 1724 } 1725 1726 /** 1727 * Gets the value(s) for <b>contact</b> (). 1728 * creating it if it does 1729 * not exist. Will not return <code>null</code>. 1730 * 1731 * <p> 1732 * <b>Definition:</b> 1733 * A contact party (e.g. guardian, partner, friend) for the patient 1734 * </p> 1735 */ 1736 public java.util.List<Contact> getContact() { 1737 if (myContact == null) { 1738 myContact = new java.util.ArrayList<Contact>(); 1739 } 1740 return myContact; 1741 } 1742 1743 /** 1744 * Sets the value(s) for <b>contact</b> () 1745 * 1746 * <p> 1747 * <b>Definition:</b> 1748 * A contact party (e.g. guardian, partner, friend) for the patient 1749 * </p> 1750 */ 1751 public Patient setContact(java.util.List<Contact> theValue) { 1752 myContact = theValue; 1753 return this; 1754 } 1755 1756 1757 1758 /** 1759 * Adds and returns a new value for <b>contact</b> () 1760 * 1761 * <p> 1762 * <b>Definition:</b> 1763 * A contact party (e.g. guardian, partner, friend) for the patient 1764 * </p> 1765 */ 1766 public Contact addContact() { 1767 Contact newType = new Contact(); 1768 getContact().add(newType); 1769 return newType; 1770 } 1771 1772 /** 1773 * Adds a given new value for <b>contact</b> () 1774 * 1775 * <p> 1776 * <b>Definition:</b> 1777 * A contact party (e.g. guardian, partner, friend) for the patient 1778 * </p> 1779 * @param theValue The contact to add (must not be <code>null</code>) 1780 */ 1781 public Patient addContact(Contact theValue) { 1782 if (theValue == null) { 1783 throw new NullPointerException("theValue must not be null"); 1784 } 1785 getContact().add(theValue); 1786 return this; 1787 } 1788 1789 /** 1790 * Gets the first repetition for <b>contact</b> (), 1791 * creating it if it does not already exist. 1792 * 1793 * <p> 1794 * <b>Definition:</b> 1795 * A contact party (e.g. guardian, partner, friend) for the patient 1796 * </p> 1797 */ 1798 public Contact getContactFirstRep() { 1799 if (getContact().isEmpty()) { 1800 return addContact(); 1801 } 1802 return getContact().get(0); 1803 } 1804 1805 /** 1806 * Gets the value(s) for <b>animal</b> (). 1807 * creating it if it does 1808 * not exist. Will not return <code>null</code>. 1809 * 1810 * <p> 1811 * <b>Definition:</b> 1812 * This patient is known to be an animal 1813 * </p> 1814 */ 1815 public Animal getAnimal() { 1816 if (myAnimal == null) { 1817 myAnimal = new Animal(); 1818 } 1819 return myAnimal; 1820 } 1821 1822 /** 1823 * Sets the value(s) for <b>animal</b> () 1824 * 1825 * <p> 1826 * <b>Definition:</b> 1827 * This patient is known to be an animal 1828 * </p> 1829 */ 1830 public Patient setAnimal(Animal theValue) { 1831 myAnimal = theValue; 1832 return this; 1833 } 1834 1835 1836 1837 1838 /** 1839 * Gets the value(s) for <b>communication</b> (). 1840 * creating it if it does 1841 * not exist. Will not return <code>null</code>. 1842 * 1843 * <p> 1844 * <b>Definition:</b> 1845 * Languages which may be used to communicate with the patient about his or her health 1846 * </p> 1847 */ 1848 public java.util.List<Communication> getCommunication() { 1849 if (myCommunication == null) { 1850 myCommunication = new java.util.ArrayList<Communication>(); 1851 } 1852 return myCommunication; 1853 } 1854 1855 /** 1856 * Sets the value(s) for <b>communication</b> () 1857 * 1858 * <p> 1859 * <b>Definition:</b> 1860 * Languages which may be used to communicate with the patient about his or her health 1861 * </p> 1862 */ 1863 public Patient setCommunication(java.util.List<Communication> theValue) { 1864 myCommunication = theValue; 1865 return this; 1866 } 1867 1868 1869 1870 /** 1871 * Adds and returns a new value for <b>communication</b> () 1872 * 1873 * <p> 1874 * <b>Definition:</b> 1875 * Languages which may be used to communicate with the patient about his or her health 1876 * </p> 1877 */ 1878 public Communication addCommunication() { 1879 Communication newType = new Communication(); 1880 getCommunication().add(newType); 1881 return newType; 1882 } 1883 1884 /** 1885 * Adds a given new value for <b>communication</b> () 1886 * 1887 * <p> 1888 * <b>Definition:</b> 1889 * Languages which may be used to communicate with the patient about his or her health 1890 * </p> 1891 * @param theValue The communication to add (must not be <code>null</code>) 1892 */ 1893 public Patient addCommunication(Communication theValue) { 1894 if (theValue == null) { 1895 throw new NullPointerException("theValue must not be null"); 1896 } 1897 getCommunication().add(theValue); 1898 return this; 1899 } 1900 1901 /** 1902 * Gets the first repetition for <b>communication</b> (), 1903 * creating it if it does not already exist. 1904 * 1905 * <p> 1906 * <b>Definition:</b> 1907 * Languages which may be used to communicate with the patient about his or her health 1908 * </p> 1909 */ 1910 public Communication getCommunicationFirstRep() { 1911 if (getCommunication().isEmpty()) { 1912 return addCommunication(); 1913 } 1914 return getCommunication().get(0); 1915 } 1916 1917 /** 1918 * Gets the value(s) for <b>careProvider</b> (). 1919 * creating it if it does 1920 * not exist. Will not return <code>null</code>. 1921 * 1922 * <p> 1923 * <b>Definition:</b> 1924 * Patient's nominated care provider 1925 * </p> 1926 */ 1927 public java.util.List<ResourceReferenceDt> getCareProvider() { 1928 if (myCareProvider == null) { 1929 myCareProvider = new java.util.ArrayList<ResourceReferenceDt>(); 1930 } 1931 return myCareProvider; 1932 } 1933 1934 /** 1935 * Sets the value(s) for <b>careProvider</b> () 1936 * 1937 * <p> 1938 * <b>Definition:</b> 1939 * Patient's nominated care provider 1940 * </p> 1941 */ 1942 public Patient setCareProvider(java.util.List<ResourceReferenceDt> theValue) { 1943 myCareProvider = theValue; 1944 return this; 1945 } 1946 1947 1948 1949 /** 1950 * Adds and returns a new value for <b>careProvider</b> () 1951 * 1952 * <p> 1953 * <b>Definition:</b> 1954 * Patient's nominated care provider 1955 * </p> 1956 */ 1957 public ResourceReferenceDt addCareProvider() { 1958 ResourceReferenceDt newType = new ResourceReferenceDt(); 1959 getCareProvider().add(newType); 1960 return newType; 1961 } 1962 1963 /** 1964 * Gets the value(s) for <b>managingOrganization</b> (). 1965 * creating it if it does 1966 * not exist. Will not return <code>null</code>. 1967 * 1968 * <p> 1969 * <b>Definition:</b> 1970 * Organization that is the custodian of the patient record 1971 * </p> 1972 */ 1973 public ResourceReferenceDt getManagingOrganization() { 1974 if (myManagingOrganization == null) { 1975 myManagingOrganization = new ResourceReferenceDt(); 1976 } 1977 return myManagingOrganization; 1978 } 1979 1980 /** 1981 * Sets the value(s) for <b>managingOrganization</b> () 1982 * 1983 * <p> 1984 * <b>Definition:</b> 1985 * Organization that is the custodian of the patient record 1986 * </p> 1987 */ 1988 public Patient setManagingOrganization(ResourceReferenceDt theValue) { 1989 myManagingOrganization = theValue; 1990 return this; 1991 } 1992 1993 1994 1995 1996 /** 1997 * Gets the value(s) for <b>link</b> (). 1998 * creating it if it does 1999 * not exist. Will not return <code>null</code>. 2000 * 2001 * <p> 2002 * <b>Definition:</b> 2003 * Link to another patient resource that concerns the same actual patient 2004 * </p> 2005 */ 2006 public java.util.List<Link> getLink() { 2007 if (myLink == null) { 2008 myLink = new java.util.ArrayList<Link>(); 2009 } 2010 return myLink; 2011 } 2012 2013 /** 2014 * Sets the value(s) for <b>link</b> () 2015 * 2016 * <p> 2017 * <b>Definition:</b> 2018 * Link to another patient resource that concerns the same actual patient 2019 * </p> 2020 */ 2021 public Patient setLink(java.util.List<Link> theValue) { 2022 myLink = theValue; 2023 return this; 2024 } 2025 2026 2027 2028 /** 2029 * Adds and returns a new value for <b>link</b> () 2030 * 2031 * <p> 2032 * <b>Definition:</b> 2033 * Link to another patient resource that concerns the same actual patient 2034 * </p> 2035 */ 2036 public Link addLink() { 2037 Link newType = new Link(); 2038 getLink().add(newType); 2039 return newType; 2040 } 2041 2042 /** 2043 * Adds a given new value for <b>link</b> () 2044 * 2045 * <p> 2046 * <b>Definition:</b> 2047 * Link to another patient resource that concerns the same actual patient 2048 * </p> 2049 * @param theValue The link to add (must not be <code>null</code>) 2050 */ 2051 public Patient addLink(Link theValue) { 2052 if (theValue == null) { 2053 throw new NullPointerException("theValue must not be null"); 2054 } 2055 getLink().add(theValue); 2056 return this; 2057 } 2058 2059 /** 2060 * Gets the first repetition for <b>link</b> (), 2061 * creating it if it does not already exist. 2062 * 2063 * <p> 2064 * <b>Definition:</b> 2065 * Link to another patient resource that concerns the same actual patient 2066 * </p> 2067 */ 2068 public Link getLinkFirstRep() { 2069 if (getLink().isEmpty()) { 2070 return addLink(); 2071 } 2072 return getLink().get(0); 2073 } 2074 2075 /** 2076 * Block class for child element: <b>Patient.contact</b> () 2077 * 2078 * <p> 2079 * <b>Definition:</b> 2080 * A contact party (e.g. guardian, partner, friend) for the patient 2081 * </p> 2082 */ 2083 @Block() 2084 public static class Contact 2085 extends BaseIdentifiableElement implements IResourceBlock { 2086 2087 @Child(name="relationship", type=CodeableConceptDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2088 @Description( 2089 shortDefinition="", 2090 formalDefinition="The nature of the relationship between the patient and the contact person" 2091 ) 2092 private java.util.List<CodeableConceptDt> myRelationship; 2093 2094 @Child(name="name", type=HumanNameDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2095 @Description( 2096 shortDefinition="", 2097 formalDefinition="A name associated with the contact person" 2098 ) 2099 private HumanNameDt myName; 2100 2101 @Child(name="telecom", type=ContactPointDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2102 @Description( 2103 shortDefinition="", 2104 formalDefinition="A contact detail for the person, e.g. a telephone number or an email address." 2105 ) 2106 private java.util.List<ContactPointDt> myTelecom; 2107 2108 @Child(name="address", type=AddressDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2109 @Description( 2110 shortDefinition="", 2111 formalDefinition="Address for the contact person" 2112 ) 2113 private AddressDt myAddress; 2114 2115 @Child(name="gender", type=CodeDt.class, order=4, min=0, max=1, summary=false, modifier=false) 2116 @Description( 2117 shortDefinition="", 2118 formalDefinition="Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes." 2119 ) 2120 private BoundCodeDt<AdministrativeGenderEnum> myGender; 2121 2122 @Child(name="organization", order=5, min=0, max=1, summary=false, modifier=false, type={ 2123 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 2124 @Description( 2125 shortDefinition="", 2126 formalDefinition="Organization on behalf of which the contact is acting or for which the contact is working." 2127 ) 2128 private ResourceReferenceDt myOrganization; 2129 2130 @Child(name="period", type=PeriodDt.class, order=6, min=0, max=1, summary=false, modifier=false) 2131 @Description( 2132 shortDefinition="", 2133 formalDefinition="The period during which this contact person or organization is valid to be contacted relating to this patient" 2134 ) 2135 private PeriodDt myPeriod; 2136 2137 2138 @Override 2139 public boolean isEmpty() { 2140 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myRelationship, myName, myTelecom, myAddress, myGender, myOrganization, myPeriod); 2141 } 2142 2143 @Override 2144 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2145 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myRelationship, myName, myTelecom, myAddress, myGender, myOrganization, myPeriod); 2146 } 2147 2148 /** 2149 * Gets the value(s) for <b>relationship</b> (). 2150 * creating it if it does 2151 * not exist. Will not return <code>null</code>. 2152 * 2153 * <p> 2154 * <b>Definition:</b> 2155 * The nature of the relationship between the patient and the contact person 2156 * </p> 2157 */ 2158 public java.util.List<CodeableConceptDt> getRelationship() { 2159 if (myRelationship == null) { 2160 myRelationship = new java.util.ArrayList<CodeableConceptDt>(); 2161 } 2162 return myRelationship; 2163 } 2164 2165 /** 2166 * Sets the value(s) for <b>relationship</b> () 2167 * 2168 * <p> 2169 * <b>Definition:</b> 2170 * The nature of the relationship between the patient and the contact person 2171 * </p> 2172 */ 2173 public Contact setRelationship(java.util.List<CodeableConceptDt> theValue) { 2174 myRelationship = theValue; 2175 return this; 2176 } 2177 2178 2179 2180 /** 2181 * Adds and returns a new value for <b>relationship</b> () 2182 * 2183 * <p> 2184 * <b>Definition:</b> 2185 * The nature of the relationship between the patient and the contact person 2186 * </p> 2187 */ 2188 public CodeableConceptDt addRelationship() { 2189 CodeableConceptDt newType = new CodeableConceptDt(); 2190 getRelationship().add(newType); 2191 return newType; 2192 } 2193 2194 /** 2195 * Adds a given new value for <b>relationship</b> () 2196 * 2197 * <p> 2198 * <b>Definition:</b> 2199 * The nature of the relationship between the patient and the contact person 2200 * </p> 2201 * @param theValue The relationship to add (must not be <code>null</code>) 2202 */ 2203 public Contact addRelationship(CodeableConceptDt theValue) { 2204 if (theValue == null) { 2205 throw new NullPointerException("theValue must not be null"); 2206 } 2207 getRelationship().add(theValue); 2208 return this; 2209 } 2210 2211 /** 2212 * Gets the first repetition for <b>relationship</b> (), 2213 * creating it if it does not already exist. 2214 * 2215 * <p> 2216 * <b>Definition:</b> 2217 * The nature of the relationship between the patient and the contact person 2218 * </p> 2219 */ 2220 public CodeableConceptDt getRelationshipFirstRep() { 2221 if (getRelationship().isEmpty()) { 2222 return addRelationship(); 2223 } 2224 return getRelationship().get(0); 2225 } 2226 2227 /** 2228 * Gets the value(s) for <b>name</b> (). 2229 * creating it if it does 2230 * not exist. Will not return <code>null</code>. 2231 * 2232 * <p> 2233 * <b>Definition:</b> 2234 * A name associated with the contact person 2235 * </p> 2236 */ 2237 public HumanNameDt getName() { 2238 if (myName == null) { 2239 myName = new HumanNameDt(); 2240 } 2241 return myName; 2242 } 2243 2244 /** 2245 * Sets the value(s) for <b>name</b> () 2246 * 2247 * <p> 2248 * <b>Definition:</b> 2249 * A name associated with the contact person 2250 * </p> 2251 */ 2252 public Contact setName(HumanNameDt theValue) { 2253 myName = theValue; 2254 return this; 2255 } 2256 2257 2258 2259 2260 /** 2261 * Gets the value(s) for <b>telecom</b> (). 2262 * creating it if it does 2263 * not exist. Will not return <code>null</code>. 2264 * 2265 * <p> 2266 * <b>Definition:</b> 2267 * A contact detail for the person, e.g. a telephone number or an email address. 2268 * </p> 2269 */ 2270 public java.util.List<ContactPointDt> getTelecom() { 2271 if (myTelecom == null) { 2272 myTelecom = new java.util.ArrayList<ContactPointDt>(); 2273 } 2274 return myTelecom; 2275 } 2276 2277 /** 2278 * Sets the value(s) for <b>telecom</b> () 2279 * 2280 * <p> 2281 * <b>Definition:</b> 2282 * A contact detail for the person, e.g. a telephone number or an email address. 2283 * </p> 2284 */ 2285 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 2286 myTelecom = theValue; 2287 return this; 2288 } 2289 2290 2291 2292 /** 2293 * Adds and returns a new value for <b>telecom</b> () 2294 * 2295 * <p> 2296 * <b>Definition:</b> 2297 * A contact detail for the person, e.g. a telephone number or an email address. 2298 * </p> 2299 */ 2300 public ContactPointDt addTelecom() { 2301 ContactPointDt newType = new ContactPointDt(); 2302 getTelecom().add(newType); 2303 return newType; 2304 } 2305 2306 /** 2307 * Adds a given new value for <b>telecom</b> () 2308 * 2309 * <p> 2310 * <b>Definition:</b> 2311 * A contact detail for the person, e.g. a telephone number or an email address. 2312 * </p> 2313 * @param theValue The telecom to add (must not be <code>null</code>) 2314 */ 2315 public Contact addTelecom(ContactPointDt theValue) { 2316 if (theValue == null) { 2317 throw new NullPointerException("theValue must not be null"); 2318 } 2319 getTelecom().add(theValue); 2320 return this; 2321 } 2322 2323 /** 2324 * Gets the first repetition for <b>telecom</b> (), 2325 * creating it if it does not already exist. 2326 * 2327 * <p> 2328 * <b>Definition:</b> 2329 * A contact detail for the person, e.g. a telephone number or an email address. 2330 * </p> 2331 */ 2332 public ContactPointDt getTelecomFirstRep() { 2333 if (getTelecom().isEmpty()) { 2334 return addTelecom(); 2335 } 2336 return getTelecom().get(0); 2337 } 2338 2339 /** 2340 * Gets the value(s) for <b>address</b> (). 2341 * creating it if it does 2342 * not exist. Will not return <code>null</code>. 2343 * 2344 * <p> 2345 * <b>Definition:</b> 2346 * Address for the contact person 2347 * </p> 2348 */ 2349 public AddressDt getAddress() { 2350 if (myAddress == null) { 2351 myAddress = new AddressDt(); 2352 } 2353 return myAddress; 2354 } 2355 2356 /** 2357 * Sets the value(s) for <b>address</b> () 2358 * 2359 * <p> 2360 * <b>Definition:</b> 2361 * Address for the contact person 2362 * </p> 2363 */ 2364 public Contact setAddress(AddressDt theValue) { 2365 myAddress = theValue; 2366 return this; 2367 } 2368 2369 2370 2371 2372 /** 2373 * Gets the value(s) for <b>gender</b> (). 2374 * creating it if it does 2375 * not exist. Will not return <code>null</code>. 2376 * 2377 * <p> 2378 * <b>Definition:</b> 2379 * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. 2380 * </p> 2381 */ 2382 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 2383 if (myGender == null) { 2384 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 2385 } 2386 return myGender; 2387 } 2388 2389 2390 /** 2391 * Gets the value(s) for <b>gender</b> (). 2392 * creating it if it does 2393 * not exist. Will not return <code>null</code>. 2394 * 2395 * <p> 2396 * <b>Definition:</b> 2397 * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. 2398 * </p> 2399 */ 2400 public String getGender() { 2401 return getGenderElement().getValue(); 2402 } 2403 2404 /** 2405 * Sets the value(s) for <b>gender</b> () 2406 * 2407 * <p> 2408 * <b>Definition:</b> 2409 * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. 2410 * </p> 2411 */ 2412 public Contact setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 2413 myGender = theValue; 2414 return this; 2415 } 2416 2417 2418 2419 /** 2420 * Sets the value(s) for <b>gender</b> () 2421 * 2422 * <p> 2423 * <b>Definition:</b> 2424 * Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. 2425 * </p> 2426 */ 2427 public Contact setGender(AdministrativeGenderEnum theValue) { 2428 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 2429 2430/* 2431 getGenderElement().setValueAsEnum(theValue); 2432*/ 2433 return this; 2434 } 2435 2436 2437 /** 2438 * Gets the value(s) for <b>organization</b> (). 2439 * creating it if it does 2440 * not exist. Will not return <code>null</code>. 2441 * 2442 * <p> 2443 * <b>Definition:</b> 2444 * Organization on behalf of which the contact is acting or for which the contact is working. 2445 * </p> 2446 */ 2447 public ResourceReferenceDt getOrganization() { 2448 if (myOrganization == null) { 2449 myOrganization = new ResourceReferenceDt(); 2450 } 2451 return myOrganization; 2452 } 2453 2454 /** 2455 * Sets the value(s) for <b>organization</b> () 2456 * 2457 * <p> 2458 * <b>Definition:</b> 2459 * Organization on behalf of which the contact is acting or for which the contact is working. 2460 * </p> 2461 */ 2462 public Contact setOrganization(ResourceReferenceDt theValue) { 2463 myOrganization = theValue; 2464 return this; 2465 } 2466 2467 2468 2469 2470 /** 2471 * Gets the value(s) for <b>period</b> (). 2472 * creating it if it does 2473 * not exist. Will not return <code>null</code>. 2474 * 2475 * <p> 2476 * <b>Definition:</b> 2477 * The period during which this contact person or organization is valid to be contacted relating to this patient 2478 * </p> 2479 */ 2480 public PeriodDt getPeriod() { 2481 if (myPeriod == null) { 2482 myPeriod = new PeriodDt(); 2483 } 2484 return myPeriod; 2485 } 2486 2487 /** 2488 * Sets the value(s) for <b>period</b> () 2489 * 2490 * <p> 2491 * <b>Definition:</b> 2492 * The period during which this contact person or organization is valid to be contacted relating to this patient 2493 * </p> 2494 */ 2495 public Contact setPeriod(PeriodDt theValue) { 2496 myPeriod = theValue; 2497 return this; 2498 } 2499 2500 2501 2502 2503 2504 2505 } 2506 2507 2508 /** 2509 * Block class for child element: <b>Patient.animal</b> () 2510 * 2511 * <p> 2512 * <b>Definition:</b> 2513 * This patient is known to be an animal 2514 * </p> 2515 */ 2516 @Block() 2517 public static class Animal 2518 extends BaseIdentifiableElement implements IResourceBlock { 2519 2520 @Child(name="species", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2521 @Description( 2522 shortDefinition="", 2523 formalDefinition="Identifies the high level taxonomic categorization of the kind of animal" 2524 ) 2525 private BoundCodeableConceptDt<AnimalSpeciesEnum> mySpecies; 2526 2527 @Child(name="breed", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2528 @Description( 2529 shortDefinition="", 2530 formalDefinition="Identifies the detailed categorization of the kind of animal." 2531 ) 2532 private CodeableConceptDt myBreed; 2533 2534 @Child(name="genderStatus", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=true, modifier=false) 2535 @Description( 2536 shortDefinition="", 2537 formalDefinition="Indicates the current state of the animal's reproductive organs" 2538 ) 2539 private CodeableConceptDt myGenderStatus; 2540 2541 2542 @Override 2543 public boolean isEmpty() { 2544 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySpecies, myBreed, myGenderStatus); 2545 } 2546 2547 @Override 2548 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2549 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySpecies, myBreed, myGenderStatus); 2550 } 2551 2552 /** 2553 * Gets the value(s) for <b>species</b> (). 2554 * creating it if it does 2555 * not exist. Will not return <code>null</code>. 2556 * 2557 * <p> 2558 * <b>Definition:</b> 2559 * Identifies the high level taxonomic categorization of the kind of animal 2560 * </p> 2561 */ 2562 public BoundCodeableConceptDt<AnimalSpeciesEnum> getSpecies() { 2563 if (mySpecies == null) { 2564 mySpecies = new BoundCodeableConceptDt<AnimalSpeciesEnum>(AnimalSpeciesEnum.VALUESET_BINDER); 2565 } 2566 return mySpecies; 2567 } 2568 2569 /** 2570 * Sets the value(s) for <b>species</b> () 2571 * 2572 * <p> 2573 * <b>Definition:</b> 2574 * Identifies the high level taxonomic categorization of the kind of animal 2575 * </p> 2576 */ 2577 public Animal setSpecies(BoundCodeableConceptDt<AnimalSpeciesEnum> theValue) { 2578 mySpecies = theValue; 2579 return this; 2580 } 2581 2582 2583 2584 /** 2585 * Sets the value(s) for <b>species</b> () 2586 * 2587 * <p> 2588 * <b>Definition:</b> 2589 * Identifies the high level taxonomic categorization of the kind of animal 2590 * </p> 2591 */ 2592 public Animal setSpecies(AnimalSpeciesEnum theValue) { 2593 setSpecies(new BoundCodeableConceptDt<AnimalSpeciesEnum>(AnimalSpeciesEnum.VALUESET_BINDER, theValue)); 2594 2595/* 2596 getSpecies().setValueAsEnum(theValue); 2597*/ 2598 return this; 2599 } 2600 2601 2602 /** 2603 * Gets the value(s) for <b>breed</b> (). 2604 * creating it if it does 2605 * not exist. Will not return <code>null</code>. 2606 * 2607 * <p> 2608 * <b>Definition:</b> 2609 * Identifies the detailed categorization of the kind of animal. 2610 * </p> 2611 */ 2612 public CodeableConceptDt getBreed() { 2613 if (myBreed == null) { 2614 myBreed = new CodeableConceptDt(); 2615 } 2616 return myBreed; 2617 } 2618 2619 /** 2620 * Sets the value(s) for <b>breed</b> () 2621 * 2622 * <p> 2623 * <b>Definition:</b> 2624 * Identifies the detailed categorization of the kind of animal. 2625 * </p> 2626 */ 2627 public Animal setBreed(CodeableConceptDt theValue) { 2628 myBreed = theValue; 2629 return this; 2630 } 2631 2632 2633 2634 2635 /** 2636 * Gets the value(s) for <b>genderStatus</b> (). 2637 * creating it if it does 2638 * not exist. Will not return <code>null</code>. 2639 * 2640 * <p> 2641 * <b>Definition:</b> 2642 * Indicates the current state of the animal's reproductive organs 2643 * </p> 2644 */ 2645 public CodeableConceptDt getGenderStatus() { 2646 if (myGenderStatus == null) { 2647 myGenderStatus = new CodeableConceptDt(); 2648 } 2649 return myGenderStatus; 2650 } 2651 2652 /** 2653 * Sets the value(s) for <b>genderStatus</b> () 2654 * 2655 * <p> 2656 * <b>Definition:</b> 2657 * Indicates the current state of the animal's reproductive organs 2658 * </p> 2659 */ 2660 public Animal setGenderStatus(CodeableConceptDt theValue) { 2661 myGenderStatus = theValue; 2662 return this; 2663 } 2664 2665 2666 2667 2668 2669 2670 } 2671 2672 2673 /** 2674 * Block class for child element: <b>Patient.communication</b> () 2675 * 2676 * <p> 2677 * <b>Definition:</b> 2678 * Languages which may be used to communicate with the patient about his or her health 2679 * </p> 2680 */ 2681 @Block() 2682 public static class Communication 2683 extends BaseIdentifiableElement implements IResourceBlock { 2684 2685 @Child(name="language", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2686 @Description( 2687 shortDefinition="", 2688 formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English" 2689 ) 2690 private CodeableConceptDt myLanguage; 2691 2692 @Child(name="preferred", type=BooleanDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2693 @Description( 2694 shortDefinition="", 2695 formalDefinition="Indicates whether or not the patient prefers this language (over other languages he masters up a certain level)" 2696 ) 2697 private BooleanDt myPreferred; 2698 2699 2700 @Override 2701 public boolean isEmpty() { 2702 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLanguage, myPreferred); 2703 } 2704 2705 @Override 2706 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2707 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLanguage, myPreferred); 2708 } 2709 2710 /** 2711 * Gets the value(s) for <b>language</b> (). 2712 * creating it if it does 2713 * not exist. Will not return <code>null</code>. 2714 * 2715 * <p> 2716 * <b>Definition:</b> 2717 * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English 2718 * </p> 2719 */ 2720 public CodeableConceptDt getLanguage() { 2721 if (myLanguage == null) { 2722 myLanguage = new CodeableConceptDt(); 2723 } 2724 return myLanguage; 2725 } 2726 2727 /** 2728 * Sets the value(s) for <b>language</b> () 2729 * 2730 * <p> 2731 * <b>Definition:</b> 2732 * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English 2733 * </p> 2734 */ 2735 public Communication setLanguage(CodeableConceptDt theValue) { 2736 myLanguage = theValue; 2737 return this; 2738 } 2739 2740 2741 2742 2743 /** 2744 * Gets the value(s) for <b>preferred</b> (). 2745 * creating it if it does 2746 * not exist. Will not return <code>null</code>. 2747 * 2748 * <p> 2749 * <b>Definition:</b> 2750 * Indicates whether or not the patient prefers this language (over other languages he masters up a certain level) 2751 * </p> 2752 */ 2753 public BooleanDt getPreferredElement() { 2754 if (myPreferred == null) { 2755 myPreferred = new BooleanDt(); 2756 } 2757 return myPreferred; 2758 } 2759 2760 2761 /** 2762 * Gets the value(s) for <b>preferred</b> (). 2763 * creating it if it does 2764 * not exist. Will not return <code>null</code>. 2765 * 2766 * <p> 2767 * <b>Definition:</b> 2768 * Indicates whether or not the patient prefers this language (over other languages he masters up a certain level) 2769 * </p> 2770 */ 2771 public Boolean getPreferred() { 2772 return getPreferredElement().getValue(); 2773 } 2774 2775 /** 2776 * Sets the value(s) for <b>preferred</b> () 2777 * 2778 * <p> 2779 * <b>Definition:</b> 2780 * Indicates whether or not the patient prefers this language (over other languages he masters up a certain level) 2781 * </p> 2782 */ 2783 public Communication setPreferred(BooleanDt theValue) { 2784 myPreferred = theValue; 2785 return this; 2786 } 2787 2788 2789 2790 /** 2791 * Sets the value for <b>preferred</b> () 2792 * 2793 * <p> 2794 * <b>Definition:</b> 2795 * Indicates whether or not the patient prefers this language (over other languages he masters up a certain level) 2796 * </p> 2797 */ 2798 public Communication setPreferred( boolean theBoolean) { 2799 myPreferred = new BooleanDt(theBoolean); 2800 return this; 2801 } 2802 2803 2804 2805 2806 } 2807 2808 2809 /** 2810 * Block class for child element: <b>Patient.link</b> () 2811 * 2812 * <p> 2813 * <b>Definition:</b> 2814 * Link to another patient resource that concerns the same actual patient 2815 * </p> 2816 */ 2817 @Block() 2818 public static class Link 2819 extends BaseIdentifiableElement implements IResourceBlock { 2820 2821 @Child(name="other", order=0, min=1, max=1, summary=false, modifier=true, type={ 2822 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 2823 @Description( 2824 shortDefinition="", 2825 formalDefinition="The other patient resource that the link refers to" 2826 ) 2827 private ResourceReferenceDt myOther; 2828 2829 @Child(name="type", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=true) 2830 @Description( 2831 shortDefinition="", 2832 formalDefinition="The type of link between this patient resource and another patient resource." 2833 ) 2834 private BoundCodeDt<LinkTypeEnum> myType; 2835 2836 2837 @Override 2838 public boolean isEmpty() { 2839 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myOther, myType); 2840 } 2841 2842 @Override 2843 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2844 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myOther, myType); 2845 } 2846 2847 /** 2848 * Gets the value(s) for <b>other</b> (). 2849 * creating it if it does 2850 * not exist. Will not return <code>null</code>. 2851 * 2852 * <p> 2853 * <b>Definition:</b> 2854 * The other patient resource that the link refers to 2855 * </p> 2856 */ 2857 public ResourceReferenceDt getOther() { 2858 if (myOther == null) { 2859 myOther = new ResourceReferenceDt(); 2860 } 2861 return myOther; 2862 } 2863 2864 /** 2865 * Sets the value(s) for <b>other</b> () 2866 * 2867 * <p> 2868 * <b>Definition:</b> 2869 * The other patient resource that the link refers to 2870 * </p> 2871 */ 2872 public Link setOther(ResourceReferenceDt theValue) { 2873 myOther = theValue; 2874 return this; 2875 } 2876 2877 2878 2879 2880 /** 2881 * Gets the value(s) for <b>type</b> (). 2882 * creating it if it does 2883 * not exist. Will not return <code>null</code>. 2884 * 2885 * <p> 2886 * <b>Definition:</b> 2887 * The type of link between this patient resource and another patient resource. 2888 * </p> 2889 */ 2890 public BoundCodeDt<LinkTypeEnum> getTypeElement() { 2891 if (myType == null) { 2892 myType = new BoundCodeDt<LinkTypeEnum>(LinkTypeEnum.VALUESET_BINDER); 2893 } 2894 return myType; 2895 } 2896 2897 2898 /** 2899 * Gets the value(s) for <b>type</b> (). 2900 * creating it if it does 2901 * not exist. Will not return <code>null</code>. 2902 * 2903 * <p> 2904 * <b>Definition:</b> 2905 * The type of link between this patient resource and another patient resource. 2906 * </p> 2907 */ 2908 public String getType() { 2909 return getTypeElement().getValue(); 2910 } 2911 2912 /** 2913 * Sets the value(s) for <b>type</b> () 2914 * 2915 * <p> 2916 * <b>Definition:</b> 2917 * The type of link between this patient resource and another patient resource. 2918 * </p> 2919 */ 2920 public Link setType(BoundCodeDt<LinkTypeEnum> theValue) { 2921 myType = theValue; 2922 return this; 2923 } 2924 2925 2926 2927 /** 2928 * Sets the value(s) for <b>type</b> () 2929 * 2930 * <p> 2931 * <b>Definition:</b> 2932 * The type of link between this patient resource and another patient resource. 2933 * </p> 2934 */ 2935 public Link setType(LinkTypeEnum theValue) { 2936 setType(new BoundCodeDt<LinkTypeEnum>(LinkTypeEnum.VALUESET_BINDER, theValue)); 2937 2938/* 2939 getTypeElement().setValueAsEnum(theValue); 2940*/ 2941 return this; 2942 } 2943 2944 2945 2946 2947 } 2948 2949 2950 2951 2952 @Override 2953 public String getResourceName() { 2954 return "Patient"; 2955 } 2956 2957 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2958 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2959 } 2960 2961 2962}