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.composite.AnnotationDt; 042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 043import ca.uhn.fhir.model.dstu2.resource.Appointment; 044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 057import ca.uhn.fhir.model.dstu2.resource.BodySite; 058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 059import ca.uhn.fhir.model.dstu2.resource.CarePlan; 060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 063import ca.uhn.fhir.model.dstu2.resource.Claim; 064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 069import ca.uhn.fhir.model.dstu2.composite.CodingDt; 070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 073import ca.uhn.fhir.model.dstu2.resource.Composition; 074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 077import ca.uhn.fhir.model.dstu2.resource.Condition; 078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 082import ca.uhn.fhir.model.dstu2.resource.Conformance; 083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 088import ca.uhn.fhir.model.dstu2.resource.Contract; 089import ca.uhn.fhir.model.dstu2.resource.Coverage; 090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 093import ca.uhn.fhir.model.dstu2.resource.Device; 094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 112import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 117import ca.uhn.fhir.model.dstu2.resource.Encounter; 118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 129import ca.uhn.fhir.model.dstu2.resource.Goal; 130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 132import ca.uhn.fhir.model.dstu2.resource.Group; 133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 138import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 145import ca.uhn.fhir.model.dstu2.resource.Immunization; 146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 154import ca.uhn.fhir.model.dstu2.resource.Location; 155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 160import ca.uhn.fhir.model.dstu2.resource.Media; 161import ca.uhn.fhir.model.dstu2.resource.Medication; 162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 171import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 177import ca.uhn.fhir.model.dstu2.resource.Observation; 178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 184import ca.uhn.fhir.model.dstu2.resource.Order; 185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.Organization; 187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 191import ca.uhn.fhir.model.dstu2.resource.Patient; 192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 193import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 194import ca.uhn.fhir.model.dstu2.resource.Person; 195import ca.uhn.fhir.model.dstu2.resource.Practitioner; 196import ca.uhn.fhir.model.dstu2.resource.Procedure; 197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 203import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 204import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 208import ca.uhn.fhir.model.dstu2.composite.RangeDt; 209import ca.uhn.fhir.model.dstu2.composite.RatioDt; 210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 223import ca.uhn.fhir.model.dstu2.resource.Schedule; 224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 228import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 229import ca.uhn.fhir.model.dstu2.resource.Slot; 230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.Specimen; 232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 237import ca.uhn.fhir.model.dstu2.resource.Substance; 238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 243import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 244import ca.uhn.fhir.model.dstu2.composite.TimingDt; 245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 249import ca.uhn.fhir.model.dstu2.resource.ValueSet; 250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 254import ca.uhn.fhir.model.api.IResource; 255import ca.uhn.fhir.model.dstu2.composite.AgeDt; 256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 257import ca.uhn.fhir.model.dstu2.composite.DurationDt; 258import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 262import ca.uhn.fhir.model.primitive.Base64BinaryDt; 263import ca.uhn.fhir.model.primitive.BooleanDt; 264import ca.uhn.fhir.model.primitive.BoundCodeDt; 265import ca.uhn.fhir.model.primitive.CodeDt; 266import ca.uhn.fhir.model.primitive.DateDt; 267import ca.uhn.fhir.model.primitive.DateTimeDt; 268import ca.uhn.fhir.model.primitive.DecimalDt; 269import ca.uhn.fhir.model.primitive.IdDt; 270import ca.uhn.fhir.model.primitive.InstantDt; 271import ca.uhn.fhir.model.primitive.IntegerDt; 272import ca.uhn.fhir.model.primitive.OidDt; 273import ca.uhn.fhir.model.primitive.PositiveIntDt; 274import ca.uhn.fhir.model.primitive.StringDt; 275import ca.uhn.fhir.model.primitive.TimeDt; 276import ca.uhn.fhir.model.primitive.UnsignedIntDt; 277import ca.uhn.fhir.model.primitive.UriDt; 278 279 280/** 281 * HAPI/FHIR <b>Person</b> Resource 282 * (administrative.entity) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * Demographics and administrative information about a person independent of a specific health-related context. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * Need to track persons potentially across multiple roles 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/Person">http://hl7.org/fhir/profiles/Person</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Person", profile="http://hl7.org/fhir/profiles/Person", id="person") 301public class Person extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>identifier</b> 306 * <p> 307 * Description: <b>A person Identifier</b><br> 308 * Type: <b>token</b><br> 309 * Path: <b>Person.identifier</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="identifier", path="Person.identifier", description="A person Identifier", type="token" ) 313 public static final String SP_IDENTIFIER = "identifier"; 314 315 /** 316 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 317 * <p> 318 * Description: <b>A person Identifier</b><br> 319 * Type: <b>token</b><br> 320 * Path: <b>Person.identifier</b><br> 321 * </p> 322 */ 323 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 324 325 /** 326 * Search parameter constant for <b>name</b> 327 * <p> 328 * Description: <b>A portion of name in any name part</b><br> 329 * Type: <b>string</b><br> 330 * Path: <b>Person.name</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="name", path="Person.name", description="A portion of name in any name part", type="string" ) 334 public static final String SP_NAME = "name"; 335 336 /** 337 * <b>Fluent Client</b> search parameter constant for <b>name</b> 338 * <p> 339 * Description: <b>A portion of name in any name part</b><br> 340 * Type: <b>string</b><br> 341 * Path: <b>Person.name</b><br> 342 * </p> 343 */ 344 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 345 346 /** 347 * Search parameter constant for <b>phonetic</b> 348 * <p> 349 * Description: <b>A portion of name using some kind of phonetic matching algorithm</b><br> 350 * Type: <b>string</b><br> 351 * Path: <b>Person.name</b><br> 352 * </p> 353 */ 354 @SearchParamDefinition(name="phonetic", path="Person.name", description="A portion of name using some kind of phonetic matching algorithm", type="string" ) 355 public static final String SP_PHONETIC = "phonetic"; 356 357 /** 358 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 359 * <p> 360 * Description: <b>A portion of name using some kind of phonetic matching algorithm</b><br> 361 * Type: <b>string</b><br> 362 * Path: <b>Person.name</b><br> 363 * </p> 364 */ 365 public static final StringClientParam PHONETIC = new StringClientParam(SP_PHONETIC); 366 367 /** 368 * Search parameter constant for <b>telecom</b> 369 * <p> 370 * Description: <b>The value in any kind of contact</b><br> 371 * Type: <b>token</b><br> 372 * Path: <b>Person.telecom</b><br> 373 * </p> 374 */ 375 @SearchParamDefinition(name="telecom", path="Person.telecom", description="The value in any kind of contact", type="token" ) 376 public static final String SP_TELECOM = "telecom"; 377 378 /** 379 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 380 * <p> 381 * Description: <b>The value in any kind of contact</b><br> 382 * Type: <b>token</b><br> 383 * Path: <b>Person.telecom</b><br> 384 * </p> 385 */ 386 public static final TokenClientParam TELECOM = new TokenClientParam(SP_TELECOM); 387 388 /** 389 * Search parameter constant for <b>phone</b> 390 * <p> 391 * Description: <b>A value in a phone contact</b><br> 392 * Type: <b>token</b><br> 393 * Path: <b>Person.telecom(system=phone)</b><br> 394 * </p> 395 */ 396 @SearchParamDefinition(name="phone", path="Person.telecom(system=phone)", description="A value in a phone contact", type="token" ) 397 public static final String SP_PHONE = "phone"; 398 399 /** 400 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 401 * <p> 402 * Description: <b>A value in a phone contact</b><br> 403 * Type: <b>token</b><br> 404 * Path: <b>Person.telecom(system=phone)</b><br> 405 * </p> 406 */ 407 public static final TokenClientParam PHONE = new TokenClientParam(SP_PHONE); 408 409 /** 410 * Search parameter constant for <b>email</b> 411 * <p> 412 * Description: <b>A value in an email contact</b><br> 413 * Type: <b>token</b><br> 414 * Path: <b>Person.telecom(system=email)</b><br> 415 * </p> 416 */ 417 @SearchParamDefinition(name="email", path="Person.telecom(system=email)", description="A value in an email contact", type="token" ) 418 public static final String SP_EMAIL = "email"; 419 420 /** 421 * <b>Fluent Client</b> search parameter constant for <b>email</b> 422 * <p> 423 * Description: <b>A value in an email contact</b><br> 424 * Type: <b>token</b><br> 425 * Path: <b>Person.telecom(system=email)</b><br> 426 * </p> 427 */ 428 public static final TokenClientParam EMAIL = new TokenClientParam(SP_EMAIL); 429 430 /** 431 * Search parameter constant for <b>address</b> 432 * <p> 433 * Description: <b>An address in any kind of address/part</b><br> 434 * Type: <b>string</b><br> 435 * Path: <b>Person.address</b><br> 436 * </p> 437 */ 438 @SearchParamDefinition(name="address", path="Person.address", description="An address in any kind of address/part", type="string" ) 439 public static final String SP_ADDRESS = "address"; 440 441 /** 442 * <b>Fluent Client</b> search parameter constant for <b>address</b> 443 * <p> 444 * Description: <b>An address in any kind of address/part</b><br> 445 * Type: <b>string</b><br> 446 * Path: <b>Person.address</b><br> 447 * </p> 448 */ 449 public static final StringClientParam ADDRESS = new StringClientParam(SP_ADDRESS); 450 451 /** 452 * Search parameter constant for <b>address-city</b> 453 * <p> 454 * Description: <b>A city specified in an address</b><br> 455 * Type: <b>string</b><br> 456 * Path: <b>Person.address.city</b><br> 457 * </p> 458 */ 459 @SearchParamDefinition(name="address-city", path="Person.address.city", description="A city specified in an address", type="string" ) 460 public static final String SP_ADDRESS_CITY = "address-city"; 461 462 /** 463 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 464 * <p> 465 * Description: <b>A city specified in an address</b><br> 466 * Type: <b>string</b><br> 467 * Path: <b>Person.address.city</b><br> 468 * </p> 469 */ 470 public static final StringClientParam ADDRESS_CITY = new StringClientParam(SP_ADDRESS_CITY); 471 472 /** 473 * Search parameter constant for <b>address-state</b> 474 * <p> 475 * Description: <b>A state specified in an address</b><br> 476 * Type: <b>string</b><br> 477 * Path: <b>Person.address.state</b><br> 478 * </p> 479 */ 480 @SearchParamDefinition(name="address-state", path="Person.address.state", description="A state specified in an address", type="string" ) 481 public static final String SP_ADDRESS_STATE = "address-state"; 482 483 /** 484 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 485 * <p> 486 * Description: <b>A state specified in an address</b><br> 487 * Type: <b>string</b><br> 488 * Path: <b>Person.address.state</b><br> 489 * </p> 490 */ 491 public static final StringClientParam ADDRESS_STATE = new StringClientParam(SP_ADDRESS_STATE); 492 493 /** 494 * Search parameter constant for <b>address-postalcode</b> 495 * <p> 496 * Description: <b>A postal code specified in an address</b><br> 497 * Type: <b>string</b><br> 498 * Path: <b>Person.address.postalCode</b><br> 499 * </p> 500 */ 501 @SearchParamDefinition(name="address-postalcode", path="Person.address.postalCode", description="A postal code specified in an address", type="string" ) 502 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 503 504 /** 505 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 506 * <p> 507 * Description: <b>A postal code specified in an address</b><br> 508 * Type: <b>string</b><br> 509 * Path: <b>Person.address.postalCode</b><br> 510 * </p> 511 */ 512 public static final StringClientParam ADDRESS_POSTALCODE = new StringClientParam(SP_ADDRESS_POSTALCODE); 513 514 /** 515 * Search parameter constant for <b>address-country</b> 516 * <p> 517 * Description: <b>A country specified in an address</b><br> 518 * Type: <b>string</b><br> 519 * Path: <b>Person.address.country</b><br> 520 * </p> 521 */ 522 @SearchParamDefinition(name="address-country", path="Person.address.country", description="A country specified in an address", type="string" ) 523 public static final String SP_ADDRESS_COUNTRY = "address-country"; 524 525 /** 526 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 527 * <p> 528 * Description: <b>A country specified in an address</b><br> 529 * Type: <b>string</b><br> 530 * Path: <b>Person.address.country</b><br> 531 * </p> 532 */ 533 public static final StringClientParam ADDRESS_COUNTRY = new StringClientParam(SP_ADDRESS_COUNTRY); 534 535 /** 536 * Search parameter constant for <b>address-use</b> 537 * <p> 538 * Description: <b>A use code specified in an address</b><br> 539 * Type: <b>token</b><br> 540 * Path: <b>Person.address.use</b><br> 541 * </p> 542 */ 543 @SearchParamDefinition(name="address-use", path="Person.address.use", description="A use code specified in an address", type="token" ) 544 public static final String SP_ADDRESS_USE = "address-use"; 545 546 /** 547 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 548 * <p> 549 * Description: <b>A use code specified in an address</b><br> 550 * Type: <b>token</b><br> 551 * Path: <b>Person.address.use</b><br> 552 * </p> 553 */ 554 public static final TokenClientParam ADDRESS_USE = new TokenClientParam(SP_ADDRESS_USE); 555 556 /** 557 * Search parameter constant for <b>gender</b> 558 * <p> 559 * Description: <b>The gender of the person</b><br> 560 * Type: <b>token</b><br> 561 * Path: <b>Person.gender</b><br> 562 * </p> 563 */ 564 @SearchParamDefinition(name="gender", path="Person.gender", description="The gender of the person", type="token" ) 565 public static final String SP_GENDER = "gender"; 566 567 /** 568 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 569 * <p> 570 * Description: <b>The gender of the person</b><br> 571 * Type: <b>token</b><br> 572 * Path: <b>Person.gender</b><br> 573 * </p> 574 */ 575 public static final TokenClientParam GENDER = new TokenClientParam(SP_GENDER); 576 577 /** 578 * Search parameter constant for <b>birthdate</b> 579 * <p> 580 * Description: <b>The person's date of birth</b><br> 581 * Type: <b>date</b><br> 582 * Path: <b>Person.birthDate</b><br> 583 * </p> 584 */ 585 @SearchParamDefinition(name="birthdate", path="Person.birthDate", description="The person's date of birth", type="date" ) 586 public static final String SP_BIRTHDATE = "birthdate"; 587 588 /** 589 * <b>Fluent Client</b> search parameter constant for <b>birthdate</b> 590 * <p> 591 * Description: <b>The person's date of birth</b><br> 592 * Type: <b>date</b><br> 593 * Path: <b>Person.birthDate</b><br> 594 * </p> 595 */ 596 public static final DateClientParam BIRTHDATE = new DateClientParam(SP_BIRTHDATE); 597 598 /** 599 * Search parameter constant for <b>organization</b> 600 * <p> 601 * Description: <b>The organization at which this person record is being managed</b><br> 602 * Type: <b>reference</b><br> 603 * Path: <b>Person.managingOrganization</b><br> 604 * </p> 605 */ 606 @SearchParamDefinition(name="organization", path="Person.managingOrganization", description="The organization at which this person record is being managed", type="reference" ) 607 public static final String SP_ORGANIZATION = "organization"; 608 609 /** 610 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 611 * <p> 612 * Description: <b>The organization at which this person record is being managed</b><br> 613 * Type: <b>reference</b><br> 614 * Path: <b>Person.managingOrganization</b><br> 615 * </p> 616 */ 617 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 618 619 /** 620 * Search parameter constant for <b>link</b> 621 * <p> 622 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 623 * Type: <b>reference</b><br> 624 * Path: <b>Person.link.target</b><br> 625 * </p> 626 */ 627 @SearchParamDefinition(name="link", path="Person.link.target", description="Any link has this Patient, Person, RelatedPerson or Practitioner reference", type="reference" , providesMembershipIn={ 628 @Compartment(name="Encounter") } 629 ) 630 public static final String SP_LINK = "link"; 631 632 /** 633 * <b>Fluent Client</b> search parameter constant for <b>link</b> 634 * <p> 635 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 636 * Type: <b>reference</b><br> 637 * Path: <b>Person.link.target</b><br> 638 * </p> 639 */ 640 public static final ReferenceClientParam LINK = new ReferenceClientParam(SP_LINK); 641 642 /** 643 * Search parameter constant for <b>patient</b> 644 * <p> 645 * Description: <b>The Person links to this Patient</b><br> 646 * Type: <b>reference</b><br> 647 * Path: <b>Person.link.target</b><br> 648 * </p> 649 */ 650 @SearchParamDefinition(name="patient", path="Person.link.target", description="The Person links to this Patient", type="reference" , providesMembershipIn={ 651 @Compartment(name="Patient") } 652, target={ 653 ca.uhn.fhir.model.dstu2.resource.Patient.class } 654 ) 655 public static final String SP_PATIENT = "patient"; 656 657 /** 658 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 659 * <p> 660 * Description: <b>The Person links to this Patient</b><br> 661 * Type: <b>reference</b><br> 662 * Path: <b>Person.link.target</b><br> 663 * </p> 664 */ 665 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 666 667 /** 668 * Search parameter constant for <b>practitioner</b> 669 * <p> 670 * Description: <b>The Person links to this Practitioner</b><br> 671 * Type: <b>reference</b><br> 672 * Path: <b>Person.link.target</b><br> 673 * </p> 674 */ 675 @SearchParamDefinition(name="practitioner", path="Person.link.target", description="The Person links to this Practitioner", type="reference" , providesMembershipIn={ 676 @Compartment(name="RelatedPerson") } 677, target={ 678 ca.uhn.fhir.model.dstu2.resource.Practitioner.class } 679 ) 680 public static final String SP_PRACTITIONER = "practitioner"; 681 682 /** 683 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 684 * <p> 685 * Description: <b>The Person links to this Practitioner</b><br> 686 * Type: <b>reference</b><br> 687 * Path: <b>Person.link.target</b><br> 688 * </p> 689 */ 690 public static final ReferenceClientParam PRACTITIONER = new ReferenceClientParam(SP_PRACTITIONER); 691 692 /** 693 * Search parameter constant for <b>relatedperson</b> 694 * <p> 695 * Description: <b>The Person links to this RelatedPerson</b><br> 696 * Type: <b>reference</b><br> 697 * Path: <b>Person.link.target</b><br> 698 * </p> 699 */ 700 @SearchParamDefinition(name="relatedperson", path="Person.link.target", description="The Person links to this RelatedPerson", type="reference" , target={ 701 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class } 702 ) 703 public static final String SP_RELATEDPERSON = "relatedperson"; 704 705 /** 706 * <b>Fluent Client</b> search parameter constant for <b>relatedperson</b> 707 * <p> 708 * Description: <b>The Person links to this RelatedPerson</b><br> 709 * Type: <b>reference</b><br> 710 * Path: <b>Person.link.target</b><br> 711 * </p> 712 */ 713 public static final ReferenceClientParam RELATEDPERSON = new ReferenceClientParam(SP_RELATEDPERSON); 714 715 716 /** 717 * Constant for fluent queries to be used to add include statements. Specifies 718 * the path value of "<b>Person:link</b>". 719 */ 720 public static final Include INCLUDE_LINK = new Include("Person:link"); 721 722 /** 723 * Constant for fluent queries to be used to add include statements. Specifies 724 * the path value of "<b>Person:organization</b>". 725 */ 726 public static final Include INCLUDE_ORGANIZATION = new Include("Person:organization"); 727 728 /** 729 * Constant for fluent queries to be used to add include statements. Specifies 730 * the path value of "<b>Person:patient</b>". 731 */ 732 public static final Include INCLUDE_PATIENT = new Include("Person:patient"); 733 734 /** 735 * Constant for fluent queries to be used to add include statements. Specifies 736 * the path value of "<b>Person:practitioner</b>". 737 */ 738 public static final Include INCLUDE_PRACTITIONER = new Include("Person:practitioner"); 739 740 /** 741 * Constant for fluent queries to be used to add include statements. Specifies 742 * the path value of "<b>Person:relatedperson</b>". 743 */ 744 public static final Include INCLUDE_RELATEDPERSON = new Include("Person:relatedperson"); 745 746 747 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 748 @Description( 749 shortDefinition="id", 750 formalDefinition="Identifier for a person within a particular scope." 751 ) 752 private java.util.List<IdentifierDt> myIdentifier; 753 754 @Child(name="name", type=HumanNameDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 755 @Description( 756 shortDefinition="", 757 formalDefinition="A name associated with the person" 758 ) 759 private java.util.List<HumanNameDt> myName; 760 761 @Child(name="telecom", type=ContactPointDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 762 @Description( 763 shortDefinition="", 764 formalDefinition="A contact detail for the person, e.g. a telephone number or an email address." 765 ) 766 private java.util.List<ContactPointDt> myTelecom; 767 768 @Child(name="gender", type=CodeDt.class, order=3, min=0, max=1, summary=true, modifier=false) 769 @Description( 770 shortDefinition="", 771 formalDefinition="Administrative Gender" 772 ) 773 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/administrative-gender") 774 private BoundCodeDt<AdministrativeGenderEnum> myGender; 775 776 @Child(name="birthDate", type=DateDt.class, order=4, min=0, max=1, summary=true, modifier=false) 777 @Description( 778 shortDefinition="", 779 formalDefinition="The birth date for the person." 780 ) 781 private DateDt myBirthDate; 782 783 @Child(name="address", type=AddressDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 784 @Description( 785 shortDefinition="", 786 formalDefinition="One or more addresses for the person" 787 ) 788 private java.util.List<AddressDt> myAddress; 789 790 @Child(name="photo", type=AttachmentDt.class, order=6, min=0, max=1, summary=false, modifier=false) 791 @Description( 792 shortDefinition="", 793 formalDefinition="An image that can be displayed as a thumbnail of the person to enhance the identification of the individual" 794 ) 795 private AttachmentDt myPhoto; 796 797 @Child(name="managingOrganization", order=7, min=0, max=1, summary=true, modifier=false, type={ 798 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 799 @Description( 800 shortDefinition="", 801 formalDefinition="The organization that is the custodian of the person record" 802 ) 803 private ResourceReferenceDt myManagingOrganization; 804 805 @Child(name="active", type=BooleanDt.class, order=8, min=0, max=1, summary=true, modifier=true) 806 @Description( 807 shortDefinition="status", 808 formalDefinition="Whether this person's record is in active use" 809 ) 810 private BooleanDt myActive; 811 812 @Child(name="link", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 813 @Description( 814 shortDefinition="", 815 formalDefinition="" 816 ) 817 private java.util.List<Link> myLink; 818 819 820 @Override 821 public boolean isEmpty() { 822 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myName, myTelecom, myGender, myBirthDate, myAddress, myPhoto, myManagingOrganization, myActive, myLink); 823 } 824 825 @Override 826 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 827 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myName, myTelecom, myGender, myBirthDate, myAddress, myPhoto, myManagingOrganization, myActive, myLink); 828 } 829 830 /** 831 * Gets the value(s) for <b>identifier</b> (id). 832 * creating it if it does 833 * not exist. Will not return <code>null</code>. 834 * 835 * <p> 836 * <b>Definition:</b> 837 * Identifier for a person within a particular scope. 838 * </p> 839 */ 840 public java.util.List<IdentifierDt> getIdentifier() { 841 if (myIdentifier == null) { 842 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 843 } 844 return myIdentifier; 845 } 846 847 /** 848 * Sets the value(s) for <b>identifier</b> (id) 849 * 850 * <p> 851 * <b>Definition:</b> 852 * Identifier for a person within a particular scope. 853 * </p> 854 */ 855 public Person setIdentifier(java.util.List<IdentifierDt> theValue) { 856 myIdentifier = theValue; 857 return this; 858 } 859 860 861 862 /** 863 * Adds and returns a new value for <b>identifier</b> (id) 864 * 865 * <p> 866 * <b>Definition:</b> 867 * Identifier for a person within a particular scope. 868 * </p> 869 */ 870 public IdentifierDt addIdentifier() { 871 IdentifierDt newType = new IdentifierDt(); 872 getIdentifier().add(newType); 873 return newType; 874 } 875 876 /** 877 * Adds a given new value for <b>identifier</b> (id) 878 * 879 * <p> 880 * <b>Definition:</b> 881 * Identifier for a person within a particular scope. 882 * </p> 883 * @param theValue The identifier to add (must not be <code>null</code>) 884 */ 885 public Person addIdentifier(IdentifierDt theValue) { 886 if (theValue == null) { 887 throw new NullPointerException("theValue must not be null"); 888 } 889 getIdentifier().add(theValue); 890 return this; 891 } 892 893 /** 894 * Gets the first repetition for <b>identifier</b> (id), 895 * creating it if it does not already exist. 896 * 897 * <p> 898 * <b>Definition:</b> 899 * Identifier for a person within a particular scope. 900 * </p> 901 */ 902 public IdentifierDt getIdentifierFirstRep() { 903 if (getIdentifier().isEmpty()) { 904 return addIdentifier(); 905 } 906 return getIdentifier().get(0); 907 } 908 909 /** 910 * Gets the value(s) for <b>name</b> (). 911 * creating it if it does 912 * not exist. Will not return <code>null</code>. 913 * 914 * <p> 915 * <b>Definition:</b> 916 * A name associated with the person 917 * </p> 918 */ 919 public java.util.List<HumanNameDt> getName() { 920 if (myName == null) { 921 myName = new java.util.ArrayList<HumanNameDt>(); 922 } 923 return myName; 924 } 925 926 /** 927 * Sets the value(s) for <b>name</b> () 928 * 929 * <p> 930 * <b>Definition:</b> 931 * A name associated with the person 932 * </p> 933 */ 934 public Person setName(java.util.List<HumanNameDt> theValue) { 935 myName = theValue; 936 return this; 937 } 938 939 940 941 /** 942 * Adds and returns a new value for <b>name</b> () 943 * 944 * <p> 945 * <b>Definition:</b> 946 * A name associated with the person 947 * </p> 948 */ 949 public HumanNameDt addName() { 950 HumanNameDt newType = new HumanNameDt(); 951 getName().add(newType); 952 return newType; 953 } 954 955 /** 956 * Adds a given new value for <b>name</b> () 957 * 958 * <p> 959 * <b>Definition:</b> 960 * A name associated with the person 961 * </p> 962 * @param theValue The name to add (must not be <code>null</code>) 963 */ 964 public Person addName(HumanNameDt theValue) { 965 if (theValue == null) { 966 throw new NullPointerException("theValue must not be null"); 967 } 968 getName().add(theValue); 969 return this; 970 } 971 972 /** 973 * Gets the first repetition for <b>name</b> (), 974 * creating it if it does not already exist. 975 * 976 * <p> 977 * <b>Definition:</b> 978 * A name associated with the person 979 * </p> 980 */ 981 public HumanNameDt getNameFirstRep() { 982 if (getName().isEmpty()) { 983 return addName(); 984 } 985 return getName().get(0); 986 } 987 988 /** 989 * Gets the value(s) for <b>telecom</b> (). 990 * creating it if it does 991 * not exist. Will not return <code>null</code>. 992 * 993 * <p> 994 * <b>Definition:</b> 995 * A contact detail for the person, e.g. a telephone number or an email address. 996 * </p> 997 */ 998 public java.util.List<ContactPointDt> getTelecom() { 999 if (myTelecom == null) { 1000 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1001 } 1002 return myTelecom; 1003 } 1004 1005 /** 1006 * Sets the value(s) for <b>telecom</b> () 1007 * 1008 * <p> 1009 * <b>Definition:</b> 1010 * A contact detail for the person, e.g. a telephone number or an email address. 1011 * </p> 1012 */ 1013 public Person setTelecom(java.util.List<ContactPointDt> theValue) { 1014 myTelecom = theValue; 1015 return this; 1016 } 1017 1018 1019 1020 /** 1021 * Adds and returns a new value for <b>telecom</b> () 1022 * 1023 * <p> 1024 * <b>Definition:</b> 1025 * A contact detail for the person, e.g. a telephone number or an email address. 1026 * </p> 1027 */ 1028 public ContactPointDt addTelecom() { 1029 ContactPointDt newType = new ContactPointDt(); 1030 getTelecom().add(newType); 1031 return newType; 1032 } 1033 1034 /** 1035 * Adds a given new value for <b>telecom</b> () 1036 * 1037 * <p> 1038 * <b>Definition:</b> 1039 * A contact detail for the person, e.g. a telephone number or an email address. 1040 * </p> 1041 * @param theValue The telecom to add (must not be <code>null</code>) 1042 */ 1043 public Person addTelecom(ContactPointDt theValue) { 1044 if (theValue == null) { 1045 throw new NullPointerException("theValue must not be null"); 1046 } 1047 getTelecom().add(theValue); 1048 return this; 1049 } 1050 1051 /** 1052 * Gets the first repetition for <b>telecom</b> (), 1053 * creating it if it does not already exist. 1054 * 1055 * <p> 1056 * <b>Definition:</b> 1057 * A contact detail for the person, e.g. a telephone number or an email address. 1058 * </p> 1059 */ 1060 public ContactPointDt getTelecomFirstRep() { 1061 if (getTelecom().isEmpty()) { 1062 return addTelecom(); 1063 } 1064 return getTelecom().get(0); 1065 } 1066 1067 /** 1068 * Gets the value(s) for <b>gender</b> (). 1069 * creating it if it does 1070 * not exist. Will not return <code>null</code>. 1071 * 1072 * <p> 1073 * <b>Definition:</b> 1074 * Administrative Gender 1075 * </p> 1076 */ 1077 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 1078 if (myGender == null) { 1079 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 1080 } 1081 return myGender; 1082 } 1083 1084 1085 /** 1086 * Gets the value(s) for <b>gender</b> (). 1087 * creating it if it does 1088 * not exist. This method may return <code>null</code>. 1089 * 1090 * <p> 1091 * <b>Definition:</b> 1092 * Administrative Gender 1093 * </p> 1094 */ 1095 public String getGender() { 1096 return getGenderElement().getValue(); 1097 } 1098 1099 /** 1100 * Sets the value(s) for <b>gender</b> () 1101 * 1102 * <p> 1103 * <b>Definition:</b> 1104 * Administrative Gender 1105 * </p> 1106 */ 1107 public Person setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 1108 myGender = theValue; 1109 return this; 1110 } 1111 1112 1113 1114 /** 1115 * Sets the value(s) for <b>gender</b> () 1116 * 1117 * <p> 1118 * <b>Definition:</b> 1119 * Administrative Gender 1120 * </p> 1121 */ 1122 public Person setGender(AdministrativeGenderEnum theValue) { 1123 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 1124 1125/* 1126 getGenderElement().setValueAsEnum(theValue); 1127*/ 1128 return this; 1129 } 1130 1131 1132 /** 1133 * Gets the value(s) for <b>birthDate</b> (). 1134 * creating it if it does 1135 * not exist. Will not return <code>null</code>. 1136 * 1137 * <p> 1138 * <b>Definition:</b> 1139 * The birth date for the person. 1140 * </p> 1141 */ 1142 public DateDt getBirthDateElement() { 1143 if (myBirthDate == null) { 1144 myBirthDate = new DateDt(); 1145 } 1146 return myBirthDate; 1147 } 1148 1149 1150 /** 1151 * Gets the value(s) for <b>birthDate</b> (). 1152 * creating it if it does 1153 * not exist. This method may return <code>null</code>. 1154 * 1155 * <p> 1156 * <b>Definition:</b> 1157 * The birth date for the person. 1158 * </p> 1159 */ 1160 public Date getBirthDate() { 1161 return getBirthDateElement().getValue(); 1162 } 1163 1164 /** 1165 * Sets the value(s) for <b>birthDate</b> () 1166 * 1167 * <p> 1168 * <b>Definition:</b> 1169 * The birth date for the person. 1170 * </p> 1171 */ 1172 public Person setBirthDate(DateDt theValue) { 1173 myBirthDate = theValue; 1174 return this; 1175 } 1176 1177 1178 1179 /** 1180 * Sets the value for <b>birthDate</b> () 1181 * 1182 * <p> 1183 * <b>Definition:</b> 1184 * The birth date for the person. 1185 * </p> 1186 */ 1187 public Person setBirthDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1188 myBirthDate = new DateDt(theDate, thePrecision); 1189 return this; 1190 } 1191 1192 /** 1193 * Sets the value for <b>birthDate</b> () 1194 * 1195 * <p> 1196 * <b>Definition:</b> 1197 * The birth date for the person. 1198 * </p> 1199 */ 1200 public Person setBirthDateWithDayPrecision( Date theDate) { 1201 myBirthDate = new DateDt(theDate); 1202 return this; 1203 } 1204 1205 1206 /** 1207 * Gets the value(s) for <b>address</b> (). 1208 * creating it if it does 1209 * not exist. Will not return <code>null</code>. 1210 * 1211 * <p> 1212 * <b>Definition:</b> 1213 * One or more addresses for the person 1214 * </p> 1215 */ 1216 public java.util.List<AddressDt> getAddress() { 1217 if (myAddress == null) { 1218 myAddress = new java.util.ArrayList<AddressDt>(); 1219 } 1220 return myAddress; 1221 } 1222 1223 /** 1224 * Sets the value(s) for <b>address</b> () 1225 * 1226 * <p> 1227 * <b>Definition:</b> 1228 * One or more addresses for the person 1229 * </p> 1230 */ 1231 public Person setAddress(java.util.List<AddressDt> theValue) { 1232 myAddress = theValue; 1233 return this; 1234 } 1235 1236 1237 1238 /** 1239 * Adds and returns a new value for <b>address</b> () 1240 * 1241 * <p> 1242 * <b>Definition:</b> 1243 * One or more addresses for the person 1244 * </p> 1245 */ 1246 public AddressDt addAddress() { 1247 AddressDt newType = new AddressDt(); 1248 getAddress().add(newType); 1249 return newType; 1250 } 1251 1252 /** 1253 * Adds a given new value for <b>address</b> () 1254 * 1255 * <p> 1256 * <b>Definition:</b> 1257 * One or more addresses for the person 1258 * </p> 1259 * @param theValue The address to add (must not be <code>null</code>) 1260 */ 1261 public Person addAddress(AddressDt theValue) { 1262 if (theValue == null) { 1263 throw new NullPointerException("theValue must not be null"); 1264 } 1265 getAddress().add(theValue); 1266 return this; 1267 } 1268 1269 /** 1270 * Gets the first repetition for <b>address</b> (), 1271 * creating it if it does not already exist. 1272 * 1273 * <p> 1274 * <b>Definition:</b> 1275 * One or more addresses for the person 1276 * </p> 1277 */ 1278 public AddressDt getAddressFirstRep() { 1279 if (getAddress().isEmpty()) { 1280 return addAddress(); 1281 } 1282 return getAddress().get(0); 1283 } 1284 1285 /** 1286 * Gets the value(s) for <b>photo</b> (). 1287 * creating it if it does 1288 * not exist. Will not return <code>null</code>. 1289 * 1290 * <p> 1291 * <b>Definition:</b> 1292 * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual 1293 * </p> 1294 */ 1295 public AttachmentDt getPhoto() { 1296 if (myPhoto == null) { 1297 myPhoto = new AttachmentDt(); 1298 } 1299 return myPhoto; 1300 } 1301 1302 /** 1303 * Sets the value(s) for <b>photo</b> () 1304 * 1305 * <p> 1306 * <b>Definition:</b> 1307 * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual 1308 * </p> 1309 */ 1310 public Person setPhoto(AttachmentDt theValue) { 1311 myPhoto = theValue; 1312 return this; 1313 } 1314 1315 1316 1317 1318 /** 1319 * Gets the value(s) for <b>managingOrganization</b> (). 1320 * creating it if it does 1321 * not exist. Will not return <code>null</code>. 1322 * 1323 * <p> 1324 * <b>Definition:</b> 1325 * The organization that is the custodian of the person record 1326 * </p> 1327 */ 1328 public ResourceReferenceDt getManagingOrganization() { 1329 if (myManagingOrganization == null) { 1330 myManagingOrganization = new ResourceReferenceDt(); 1331 } 1332 return myManagingOrganization; 1333 } 1334 1335 /** 1336 * Sets the value(s) for <b>managingOrganization</b> () 1337 * 1338 * <p> 1339 * <b>Definition:</b> 1340 * The organization that is the custodian of the person record 1341 * </p> 1342 */ 1343 public Person setManagingOrganization(ResourceReferenceDt theValue) { 1344 myManagingOrganization = theValue; 1345 return this; 1346 } 1347 1348 1349 1350 1351 /** 1352 * Gets the value(s) for <b>active</b> (status). 1353 * creating it if it does 1354 * not exist. Will not return <code>null</code>. 1355 * 1356 * <p> 1357 * <b>Definition:</b> 1358 * Whether this person's record is in active use 1359 * </p> 1360 */ 1361 public BooleanDt getActiveElement() { 1362 if (myActive == null) { 1363 myActive = new BooleanDt(); 1364 } 1365 return myActive; 1366 } 1367 1368 1369 /** 1370 * Gets the value(s) for <b>active</b> (status). 1371 * creating it if it does 1372 * not exist. This method may return <code>null</code>. 1373 * 1374 * <p> 1375 * <b>Definition:</b> 1376 * Whether this person's record is in active use 1377 * </p> 1378 */ 1379 public Boolean getActive() { 1380 return getActiveElement().getValue(); 1381 } 1382 1383 /** 1384 * Sets the value(s) for <b>active</b> (status) 1385 * 1386 * <p> 1387 * <b>Definition:</b> 1388 * Whether this person's record is in active use 1389 * </p> 1390 */ 1391 public Person setActive(BooleanDt theValue) { 1392 myActive = theValue; 1393 return this; 1394 } 1395 1396 1397 1398 /** 1399 * Sets the value for <b>active</b> (status) 1400 * 1401 * <p> 1402 * <b>Definition:</b> 1403 * Whether this person's record is in active use 1404 * </p> 1405 */ 1406 public Person setActive( boolean theBoolean) { 1407 myActive = new BooleanDt(theBoolean); 1408 return this; 1409 } 1410 1411 1412 /** 1413 * Gets the value(s) for <b>link</b> (). 1414 * creating it if it does 1415 * not exist. Will not return <code>null</code>. 1416 * 1417 * <p> 1418 * <b>Definition:</b> 1419 * 1420 * </p> 1421 */ 1422 public java.util.List<Link> getLink() { 1423 if (myLink == null) { 1424 myLink = new java.util.ArrayList<Link>(); 1425 } 1426 return myLink; 1427 } 1428 1429 /** 1430 * Sets the value(s) for <b>link</b> () 1431 * 1432 * <p> 1433 * <b>Definition:</b> 1434 * 1435 * </p> 1436 */ 1437 public Person setLink(java.util.List<Link> theValue) { 1438 myLink = theValue; 1439 return this; 1440 } 1441 1442 1443 1444 /** 1445 * Adds and returns a new value for <b>link</b> () 1446 * 1447 * <p> 1448 * <b>Definition:</b> 1449 * 1450 * </p> 1451 */ 1452 public Link addLink() { 1453 Link newType = new Link(); 1454 getLink().add(newType); 1455 return newType; 1456 } 1457 1458 /** 1459 * Adds a given new value for <b>link</b> () 1460 * 1461 * <p> 1462 * <b>Definition:</b> 1463 * 1464 * </p> 1465 * @param theValue The link to add (must not be <code>null</code>) 1466 */ 1467 public Person addLink(Link theValue) { 1468 if (theValue == null) { 1469 throw new NullPointerException("theValue must not be null"); 1470 } 1471 getLink().add(theValue); 1472 return this; 1473 } 1474 1475 /** 1476 * Gets the first repetition for <b>link</b> (), 1477 * creating it if it does not already exist. 1478 * 1479 * <p> 1480 * <b>Definition:</b> 1481 * 1482 * </p> 1483 */ 1484 public Link getLinkFirstRep() { 1485 if (getLink().isEmpty()) { 1486 return addLink(); 1487 } 1488 return getLink().get(0); 1489 } 1490 1491 /** 1492 * Block class for child element: <b>Person.link</b> () 1493 * 1494 * <p> 1495 * <b>Definition:</b> 1496 * 1497 * </p> 1498 */ 1499 @Block() 1500 public static class Link 1501 extends BaseIdentifiableElement implements IResourceBlock { 1502 1503 @Child(name="target", order=0, min=1, max=1, summary=false, modifier=false, type={ 1504 ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, ca.uhn.fhir.model.dstu2.resource.Person.class }) 1505 @Description( 1506 shortDefinition="", 1507 formalDefinition="" 1508 ) 1509 private ResourceReferenceDt myTarget; 1510 1511 @Child(name="assurance", type=CodeDt.class, order=1, min=0, max=1, summary=false, modifier=false) 1512 @Description( 1513 shortDefinition="", 1514 formalDefinition="Level of assurance that this link is actually associated with the target resource" 1515 ) 1516 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/identity-assuranceLevel") 1517 private BoundCodeDt<IdentityAssuranceLevelEnum> myAssurance; 1518 1519 1520 @Override 1521 public boolean isEmpty() { 1522 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myTarget, myAssurance); 1523 } 1524 1525 @Override 1526 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1527 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myTarget, myAssurance); 1528 } 1529 1530 /** 1531 * Gets the value(s) for <b>target</b> (). 1532 * creating it if it does 1533 * not exist. Will not return <code>null</code>. 1534 * 1535 * <p> 1536 * <b>Definition:</b> 1537 * 1538 * </p> 1539 */ 1540 public ResourceReferenceDt getTarget() { 1541 if (myTarget == null) { 1542 myTarget = new ResourceReferenceDt(); 1543 } 1544 return myTarget; 1545 } 1546 1547 /** 1548 * Sets the value(s) for <b>target</b> () 1549 * 1550 * <p> 1551 * <b>Definition:</b> 1552 * 1553 * </p> 1554 */ 1555 public Link setTarget(ResourceReferenceDt theValue) { 1556 myTarget = theValue; 1557 return this; 1558 } 1559 1560 1561 1562 1563 /** 1564 * Gets the value(s) for <b>assurance</b> (). 1565 * creating it if it does 1566 * not exist. Will not return <code>null</code>. 1567 * 1568 * <p> 1569 * <b>Definition:</b> 1570 * Level of assurance that this link is actually associated with the target resource 1571 * </p> 1572 */ 1573 public BoundCodeDt<IdentityAssuranceLevelEnum> getAssuranceElement() { 1574 if (myAssurance == null) { 1575 myAssurance = new BoundCodeDt<IdentityAssuranceLevelEnum>(IdentityAssuranceLevelEnum.VALUESET_BINDER); 1576 } 1577 return myAssurance; 1578 } 1579 1580 1581 /** 1582 * Gets the value(s) for <b>assurance</b> (). 1583 * creating it if it does 1584 * not exist. This method may return <code>null</code>. 1585 * 1586 * <p> 1587 * <b>Definition:</b> 1588 * Level of assurance that this link is actually associated with the target resource 1589 * </p> 1590 */ 1591 public String getAssurance() { 1592 return getAssuranceElement().getValue(); 1593 } 1594 1595 /** 1596 * Sets the value(s) for <b>assurance</b> () 1597 * 1598 * <p> 1599 * <b>Definition:</b> 1600 * Level of assurance that this link is actually associated with the target resource 1601 * </p> 1602 */ 1603 public Link setAssurance(BoundCodeDt<IdentityAssuranceLevelEnum> theValue) { 1604 myAssurance = theValue; 1605 return this; 1606 } 1607 1608 1609 1610 /** 1611 * Sets the value(s) for <b>assurance</b> () 1612 * 1613 * <p> 1614 * <b>Definition:</b> 1615 * Level of assurance that this link is actually associated with the target resource 1616 * </p> 1617 */ 1618 public Link setAssurance(IdentityAssuranceLevelEnum theValue) { 1619 setAssurance(new BoundCodeDt<IdentityAssuranceLevelEnum>(IdentityAssuranceLevelEnum.VALUESET_BINDER, theValue)); 1620 1621/* 1622 getAssuranceElement().setValueAsEnum(theValue); 1623*/ 1624 return this; 1625 } 1626 1627 1628 1629 1630 } 1631 1632 1633 1634 1635 @Override 1636 public String getResourceName() { 1637 return "Person"; 1638 } 1639 1640 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1641 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1642 } 1643 1644 1645}