
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>Practitioner</b> Resource 282 * (administrative.individual) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A person who is directly or indirectly involved in the provisioning of healthcare. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * Need to track doctors, staff, locums etc. for both healthcare practitioners, funders, etc. 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/Practitioner">http://hl7.org/fhir/profiles/Practitioner</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Practitioner", profile="http://hl7.org/fhir/profiles/Practitioner", id="practitioner") 301public class Practitioner 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 practitioner's Identifier</b><br> 308 * Type: <b>token</b><br> 309 * Path: <b>Practitioner.identifier</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="identifier", path="Practitioner.identifier", description="A practitioner's 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 practitioner's Identifier</b><br> 319 * Type: <b>token</b><br> 320 * Path: <b>Practitioner.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 either family or given name</b><br> 329 * Type: <b>string</b><br> 330 * Path: <b>Practitioner.name</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="name", path="Practitioner.name", description="A portion of either family or given name", 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 either family or given name</b><br> 340 * Type: <b>string</b><br> 341 * Path: <b>Practitioner.name</b><br> 342 * </p> 343 */ 344 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 345 346 /** 347 * Search parameter constant for <b>family</b> 348 * <p> 349 * Description: <b>A portion of the family name</b><br> 350 * Type: <b>string</b><br> 351 * Path: <b>Practitioner.name.family</b><br> 352 * </p> 353 */ 354 @SearchParamDefinition(name="family", path="Practitioner.name.family", description="A portion of the family name", type="string" ) 355 public static final String SP_FAMILY = "family"; 356 357 /** 358 * <b>Fluent Client</b> search parameter constant for <b>family</b> 359 * <p> 360 * Description: <b>A portion of the family name</b><br> 361 * Type: <b>string</b><br> 362 * Path: <b>Practitioner.name.family</b><br> 363 * </p> 364 */ 365 public static final StringClientParam FAMILY = new StringClientParam(SP_FAMILY); 366 367 /** 368 * Search parameter constant for <b>given</b> 369 * <p> 370 * Description: <b>A portion of the given name</b><br> 371 * Type: <b>string</b><br> 372 * Path: <b>Practitioner.name.given</b><br> 373 * </p> 374 */ 375 @SearchParamDefinition(name="given", path="Practitioner.name.given", description="A portion of the given name", type="string" ) 376 public static final String SP_GIVEN = "given"; 377 378 /** 379 * <b>Fluent Client</b> search parameter constant for <b>given</b> 380 * <p> 381 * Description: <b>A portion of the given name</b><br> 382 * Type: <b>string</b><br> 383 * Path: <b>Practitioner.name.given</b><br> 384 * </p> 385 */ 386 public static final StringClientParam GIVEN = new StringClientParam(SP_GIVEN); 387 388 /** 389 * Search parameter constant for <b>phonetic</b> 390 * <p> 391 * Description: <b>A portion of either family or given name using some kind of phonetic matching algorithm</b><br> 392 * Type: <b>string</b><br> 393 * Path: <b>Practitioner.name</b><br> 394 * </p> 395 */ 396 @SearchParamDefinition(name="phonetic", path="Practitioner.name", description="A portion of either family or given name using some kind of phonetic matching algorithm", type="string" ) 397 public static final String SP_PHONETIC = "phonetic"; 398 399 /** 400 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 401 * <p> 402 * Description: <b>A portion of either family or given name using some kind of phonetic matching algorithm</b><br> 403 * Type: <b>string</b><br> 404 * Path: <b>Practitioner.name</b><br> 405 * </p> 406 */ 407 public static final StringClientParam PHONETIC = new StringClientParam(SP_PHONETIC); 408 409 /** 410 * Search parameter constant for <b>telecom</b> 411 * <p> 412 * Description: <b>The value in any kind of contact</b><br> 413 * Type: <b>token</b><br> 414 * Path: <b>Practitioner.telecom</b><br> 415 * </p> 416 */ 417 @SearchParamDefinition(name="telecom", path="Practitioner.telecom", description="The value in any kind of contact", type="token" ) 418 public static final String SP_TELECOM = "telecom"; 419 420 /** 421 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 422 * <p> 423 * Description: <b>The value in any kind of contact</b><br> 424 * Type: <b>token</b><br> 425 * Path: <b>Practitioner.telecom</b><br> 426 * </p> 427 */ 428 public static final TokenClientParam TELECOM = new TokenClientParam(SP_TELECOM); 429 430 /** 431 * Search parameter constant for <b>phone</b> 432 * <p> 433 * Description: <b>A value in a phone contact</b><br> 434 * Type: <b>token</b><br> 435 * Path: <b>Practitioner.telecom(system=phone)</b><br> 436 * </p> 437 */ 438 @SearchParamDefinition(name="phone", path="Practitioner.telecom(system=phone)", description="A value in a phone contact", type="token" ) 439 public static final String SP_PHONE = "phone"; 440 441 /** 442 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 443 * <p> 444 * Description: <b>A value in a phone contact</b><br> 445 * Type: <b>token</b><br> 446 * Path: <b>Practitioner.telecom(system=phone)</b><br> 447 * </p> 448 */ 449 public static final TokenClientParam PHONE = new TokenClientParam(SP_PHONE); 450 451 /** 452 * Search parameter constant for <b>email</b> 453 * <p> 454 * Description: <b>A value in an email contact</b><br> 455 * Type: <b>token</b><br> 456 * Path: <b>Practitioner.telecom(system=email)</b><br> 457 * </p> 458 */ 459 @SearchParamDefinition(name="email", path="Practitioner.telecom(system=email)", description="A value in an email contact", type="token" ) 460 public static final String SP_EMAIL = "email"; 461 462 /** 463 * <b>Fluent Client</b> search parameter constant for <b>email</b> 464 * <p> 465 * Description: <b>A value in an email contact</b><br> 466 * Type: <b>token</b><br> 467 * Path: <b>Practitioner.telecom(system=email)</b><br> 468 * </p> 469 */ 470 public static final TokenClientParam EMAIL = new TokenClientParam(SP_EMAIL); 471 472 /** 473 * Search parameter constant for <b>address</b> 474 * <p> 475 * Description: <b>An address in any kind of address/part</b><br> 476 * Type: <b>string</b><br> 477 * Path: <b>Practitioner.address</b><br> 478 * </p> 479 */ 480 @SearchParamDefinition(name="address", path="Practitioner.address", description="An address in any kind of address/part", type="string" ) 481 public static final String SP_ADDRESS = "address"; 482 483 /** 484 * <b>Fluent Client</b> search parameter constant for <b>address</b> 485 * <p> 486 * Description: <b>An address in any kind of address/part</b><br> 487 * Type: <b>string</b><br> 488 * Path: <b>Practitioner.address</b><br> 489 * </p> 490 */ 491 public static final StringClientParam ADDRESS = new StringClientParam(SP_ADDRESS); 492 493 /** 494 * Search parameter constant for <b>address-city</b> 495 * <p> 496 * Description: <b>A city specified in an address</b><br> 497 * Type: <b>string</b><br> 498 * Path: <b>Practitioner.address.city</b><br> 499 * </p> 500 */ 501 @SearchParamDefinition(name="address-city", path="Practitioner.address.city", description="A city specified in an address", type="string" ) 502 public static final String SP_ADDRESS_CITY = "address-city"; 503 504 /** 505 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 506 * <p> 507 * Description: <b>A city specified in an address</b><br> 508 * Type: <b>string</b><br> 509 * Path: <b>Practitioner.address.city</b><br> 510 * </p> 511 */ 512 public static final StringClientParam ADDRESS_CITY = new StringClientParam(SP_ADDRESS_CITY); 513 514 /** 515 * Search parameter constant for <b>address-state</b> 516 * <p> 517 * Description: <b>A state specified in an address</b><br> 518 * Type: <b>string</b><br> 519 * Path: <b>Practitioner.address.state</b><br> 520 * </p> 521 */ 522 @SearchParamDefinition(name="address-state", path="Practitioner.address.state", description="A state specified in an address", type="string" ) 523 public static final String SP_ADDRESS_STATE = "address-state"; 524 525 /** 526 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 527 * <p> 528 * Description: <b>A state specified in an address</b><br> 529 * Type: <b>string</b><br> 530 * Path: <b>Practitioner.address.state</b><br> 531 * </p> 532 */ 533 public static final StringClientParam ADDRESS_STATE = new StringClientParam(SP_ADDRESS_STATE); 534 535 /** 536 * Search parameter constant for <b>address-postalcode</b> 537 * <p> 538 * Description: <b>A postalCode specified in an address</b><br> 539 * Type: <b>string</b><br> 540 * Path: <b>Practitioner.address.postalCode</b><br> 541 * </p> 542 */ 543 @SearchParamDefinition(name="address-postalcode", path="Practitioner.address.postalCode", description="A postalCode specified in an address", type="string" ) 544 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 545 546 /** 547 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 548 * <p> 549 * Description: <b>A postalCode specified in an address</b><br> 550 * Type: <b>string</b><br> 551 * Path: <b>Practitioner.address.postalCode</b><br> 552 * </p> 553 */ 554 public static final StringClientParam ADDRESS_POSTALCODE = new StringClientParam(SP_ADDRESS_POSTALCODE); 555 556 /** 557 * Search parameter constant for <b>address-country</b> 558 * <p> 559 * Description: <b>A country specified in an address</b><br> 560 * Type: <b>string</b><br> 561 * Path: <b>Practitioner.address.country</b><br> 562 * </p> 563 */ 564 @SearchParamDefinition(name="address-country", path="Practitioner.address.country", description="A country specified in an address", type="string" ) 565 public static final String SP_ADDRESS_COUNTRY = "address-country"; 566 567 /** 568 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 569 * <p> 570 * Description: <b>A country specified in an address</b><br> 571 * Type: <b>string</b><br> 572 * Path: <b>Practitioner.address.country</b><br> 573 * </p> 574 */ 575 public static final StringClientParam ADDRESS_COUNTRY = new StringClientParam(SP_ADDRESS_COUNTRY); 576 577 /** 578 * Search parameter constant for <b>address-use</b> 579 * <p> 580 * Description: <b>A use code specified in an address</b><br> 581 * Type: <b>token</b><br> 582 * Path: <b>Practitioner.address.use</b><br> 583 * </p> 584 */ 585 @SearchParamDefinition(name="address-use", path="Practitioner.address.use", description="A use code specified in an address", type="token" ) 586 public static final String SP_ADDRESS_USE = "address-use"; 587 588 /** 589 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 590 * <p> 591 * Description: <b>A use code specified in an address</b><br> 592 * Type: <b>token</b><br> 593 * Path: <b>Practitioner.address.use</b><br> 594 * </p> 595 */ 596 public static final TokenClientParam ADDRESS_USE = new TokenClientParam(SP_ADDRESS_USE); 597 598 /** 599 * Search parameter constant for <b>gender</b> 600 * <p> 601 * Description: <b>Gender of the practitioner</b><br> 602 * Type: <b>token</b><br> 603 * Path: <b>Practitioner.gender</b><br> 604 * </p> 605 */ 606 @SearchParamDefinition(name="gender", path="Practitioner.gender", description="Gender of the practitioner", type="token" ) 607 public static final String SP_GENDER = "gender"; 608 609 /** 610 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 611 * <p> 612 * Description: <b>Gender of the practitioner</b><br> 613 * Type: <b>token</b><br> 614 * Path: <b>Practitioner.gender</b><br> 615 * </p> 616 */ 617 public static final TokenClientParam GENDER = new TokenClientParam(SP_GENDER); 618 619 /** 620 * Search parameter constant for <b>organization</b> 621 * <p> 622 * Description: <b>The identity of the organization the practitioner represents / acts on behalf of</b><br> 623 * Type: <b>reference</b><br> 624 * Path: <b>Practitioner.practitionerRole.managingOrganization</b><br> 625 * </p> 626 */ 627 @SearchParamDefinition(name="organization", path="Practitioner.practitionerRole.managingOrganization", description="The identity of the organization the practitioner represents / acts on behalf of", type="reference" ) 628 public static final String SP_ORGANIZATION = "organization"; 629 630 /** 631 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 632 * <p> 633 * Description: <b>The identity of the organization the practitioner represents / acts on behalf of</b><br> 634 * Type: <b>reference</b><br> 635 * Path: <b>Practitioner.practitionerRole.managingOrganization</b><br> 636 * </p> 637 */ 638 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 639 640 /** 641 * Search parameter constant for <b>communication</b> 642 * <p> 643 * Description: <b>One of the languages that the practitioner can communicate with</b><br> 644 * Type: <b>token</b><br> 645 * Path: <b>Practitioner.communication</b><br> 646 * </p> 647 */ 648 @SearchParamDefinition(name="communication", path="Practitioner.communication", description="One of the languages that the practitioner can communicate with", type="token" ) 649 public static final String SP_COMMUNICATION = "communication"; 650 651 /** 652 * <b>Fluent Client</b> search parameter constant for <b>communication</b> 653 * <p> 654 * Description: <b>One of the languages that the practitioner can communicate with</b><br> 655 * Type: <b>token</b><br> 656 * Path: <b>Practitioner.communication</b><br> 657 * </p> 658 */ 659 public static final TokenClientParam COMMUNICATION = new TokenClientParam(SP_COMMUNICATION); 660 661 /** 662 * Search parameter constant for <b>location</b> 663 * <p> 664 * Description: <b>One of the locations at which this practitioner provides care</b><br> 665 * Type: <b>reference</b><br> 666 * Path: <b>Practitioner.practitionerRole.location</b><br> 667 * </p> 668 */ 669 @SearchParamDefinition(name="location", path="Practitioner.practitionerRole.location", description="One of the locations at which this practitioner provides care", type="reference" ) 670 public static final String SP_LOCATION = "location"; 671 672 /** 673 * <b>Fluent Client</b> search parameter constant for <b>location</b> 674 * <p> 675 * Description: <b>One of the locations at which this practitioner provides care</b><br> 676 * Type: <b>reference</b><br> 677 * Path: <b>Practitioner.practitionerRole.location</b><br> 678 * </p> 679 */ 680 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 681 682 /** 683 * Search parameter constant for <b>specialty</b> 684 * <p> 685 * Description: <b>The practitioner has this specialty at an organization</b><br> 686 * Type: <b>token</b><br> 687 * Path: <b>Practitioner.practitionerRole.specialty</b><br> 688 * </p> 689 */ 690 @SearchParamDefinition(name="specialty", path="Practitioner.practitionerRole.specialty", description="The practitioner has this specialty at an organization", type="token" ) 691 public static final String SP_SPECIALTY = "specialty"; 692 693 /** 694 * <b>Fluent Client</b> search parameter constant for <b>specialty</b> 695 * <p> 696 * Description: <b>The practitioner has this specialty at an organization</b><br> 697 * Type: <b>token</b><br> 698 * Path: <b>Practitioner.practitionerRole.specialty</b><br> 699 * </p> 700 */ 701 public static final TokenClientParam SPECIALTY = new TokenClientParam(SP_SPECIALTY); 702 703 /** 704 * Search parameter constant for <b>role</b> 705 * <p> 706 * Description: <b>The practitioner can perform this role at for the organization</b><br> 707 * Type: <b>token</b><br> 708 * Path: <b>Practitioner.practitionerRole.role</b><br> 709 * </p> 710 */ 711 @SearchParamDefinition(name="role", path="Practitioner.practitionerRole.role", description="The practitioner can perform this role at for the organization", type="token" ) 712 public static final String SP_ROLE = "role"; 713 714 /** 715 * <b>Fluent Client</b> search parameter constant for <b>role</b> 716 * <p> 717 * Description: <b>The practitioner can perform this role at for the organization</b><br> 718 * Type: <b>token</b><br> 719 * Path: <b>Practitioner.practitionerRole.role</b><br> 720 * </p> 721 */ 722 public static final TokenClientParam ROLE = new TokenClientParam(SP_ROLE); 723 724 725 /** 726 * Constant for fluent queries to be used to add include statements. Specifies 727 * the path value of "<b>Practitioner:location</b>". 728 */ 729 public static final Include INCLUDE_LOCATION = new Include("Practitioner:location"); 730 731 /** 732 * Constant for fluent queries to be used to add include statements. Specifies 733 * the path value of "<b>Practitioner:organization</b>". 734 */ 735 public static final Include INCLUDE_ORGANIZATION = new Include("Practitioner:organization"); 736 737 738 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 739 @Description( 740 shortDefinition="id", 741 formalDefinition="An identifier that applies to this person in this role" 742 ) 743 private java.util.List<IdentifierDt> myIdentifier; 744 745 @Child(name="active", type=BooleanDt.class, order=1, min=0, max=1, summary=true, modifier=false) 746 @Description( 747 shortDefinition="status", 748 formalDefinition="Whether this practitioner's record is in active use" 749 ) 750 private BooleanDt myActive; 751 752 @Child(name="name", type=HumanNameDt.class, order=2, min=0, max=1, summary=true, modifier=false) 753 @Description( 754 shortDefinition="", 755 formalDefinition="A name associated with the person" 756 ) 757 private HumanNameDt myName; 758 759 @Child(name="telecom", type=ContactPointDt.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 760 @Description( 761 shortDefinition="", 762 formalDefinition="A contact detail for the practitioner, e.g. a telephone number or an email address." 763 ) 764 private java.util.List<ContactPointDt> myTelecom; 765 766 @Child(name="address", type=AddressDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 767 @Description( 768 shortDefinition="", 769 formalDefinition="The postal address where the practitioner can be found or visited or to which mail can be delivered" 770 ) 771 private java.util.List<AddressDt> myAddress; 772 773 @Child(name="gender", type=CodeDt.class, order=5, min=0, max=1, summary=true, modifier=false) 774 @Description( 775 shortDefinition="", 776 formalDefinition="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." 777 ) 778 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/administrative-gender") 779 private BoundCodeDt<AdministrativeGenderEnum> myGender; 780 781 @Child(name="birthDate", type=DateDt.class, order=6, min=0, max=1, summary=true, modifier=false) 782 @Description( 783 shortDefinition="", 784 formalDefinition="The date of birth for the practitioner" 785 ) 786 private DateDt myBirthDate; 787 788 @Child(name="photo", type=AttachmentDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 789 @Description( 790 shortDefinition="", 791 formalDefinition="Image of the person" 792 ) 793 private java.util.List<AttachmentDt> myPhoto; 794 795 @Child(name="practitionerRole", order=8, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 796 @Description( 797 shortDefinition="", 798 formalDefinition="The list of roles/organizations that the practitioner is associated with" 799 ) 800 private java.util.List<PractitionerRole> myPractitionerRole; 801 802 @Child(name="qualification", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 803 @Description( 804 shortDefinition="", 805 formalDefinition="" 806 ) 807 private java.util.List<Qualification> myQualification; 808 809 @Child(name="communication", type=CodeableConceptDt.class, order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 810 @Description( 811 shortDefinition="", 812 formalDefinition="A language the practitioner is able to use in patient communication" 813 ) 814 private java.util.List<CodeableConceptDt> myCommunication; 815 816 817 @Override 818 public boolean isEmpty() { 819 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myActive, myName, myTelecom, myAddress, myGender, myBirthDate, myPhoto, myPractitionerRole, myQualification, myCommunication); 820 } 821 822 @Override 823 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 824 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myActive, myName, myTelecom, myAddress, myGender, myBirthDate, myPhoto, myPractitionerRole, myQualification, myCommunication); 825 } 826 827 /** 828 * Gets the value(s) for <b>identifier</b> (id). 829 * creating it if it does 830 * not exist. Will not return <code>null</code>. 831 * 832 * <p> 833 * <b>Definition:</b> 834 * An identifier that applies to this person in this role 835 * </p> 836 */ 837 public java.util.List<IdentifierDt> getIdentifier() { 838 if (myIdentifier == null) { 839 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 840 } 841 return myIdentifier; 842 } 843 844 /** 845 * Sets the value(s) for <b>identifier</b> (id) 846 * 847 * <p> 848 * <b>Definition:</b> 849 * An identifier that applies to this person in this role 850 * </p> 851 */ 852 public Practitioner setIdentifier(java.util.List<IdentifierDt> theValue) { 853 myIdentifier = theValue; 854 return this; 855 } 856 857 858 859 /** 860 * Adds and returns a new value for <b>identifier</b> (id) 861 * 862 * <p> 863 * <b>Definition:</b> 864 * An identifier that applies to this person in this role 865 * </p> 866 */ 867 public IdentifierDt addIdentifier() { 868 IdentifierDt newType = new IdentifierDt(); 869 getIdentifier().add(newType); 870 return newType; 871 } 872 873 /** 874 * Adds a given new value for <b>identifier</b> (id) 875 * 876 * <p> 877 * <b>Definition:</b> 878 * An identifier that applies to this person in this role 879 * </p> 880 * @param theValue The identifier to add (must not be <code>null</code>) 881 */ 882 public Practitioner addIdentifier(IdentifierDt theValue) { 883 if (theValue == null) { 884 throw new NullPointerException("theValue must not be null"); 885 } 886 getIdentifier().add(theValue); 887 return this; 888 } 889 890 /** 891 * Gets the first repetition for <b>identifier</b> (id), 892 * creating it if it does not already exist. 893 * 894 * <p> 895 * <b>Definition:</b> 896 * An identifier that applies to this person in this role 897 * </p> 898 */ 899 public IdentifierDt getIdentifierFirstRep() { 900 if (getIdentifier().isEmpty()) { 901 return addIdentifier(); 902 } 903 return getIdentifier().get(0); 904 } 905 906 /** 907 * Gets the value(s) for <b>active</b> (status). 908 * creating it if it does 909 * not exist. Will not return <code>null</code>. 910 * 911 * <p> 912 * <b>Definition:</b> 913 * Whether this practitioner's record is in active use 914 * </p> 915 */ 916 public BooleanDt getActiveElement() { 917 if (myActive == null) { 918 myActive = new BooleanDt(); 919 } 920 return myActive; 921 } 922 923 924 /** 925 * Gets the value(s) for <b>active</b> (status). 926 * creating it if it does 927 * not exist. This method may return <code>null</code>. 928 * 929 * <p> 930 * <b>Definition:</b> 931 * Whether this practitioner's record is in active use 932 * </p> 933 */ 934 public Boolean getActive() { 935 return getActiveElement().getValue(); 936 } 937 938 /** 939 * Sets the value(s) for <b>active</b> (status) 940 * 941 * <p> 942 * <b>Definition:</b> 943 * Whether this practitioner's record is in active use 944 * </p> 945 */ 946 public Practitioner setActive(BooleanDt theValue) { 947 myActive = theValue; 948 return this; 949 } 950 951 952 953 /** 954 * Sets the value for <b>active</b> (status) 955 * 956 * <p> 957 * <b>Definition:</b> 958 * Whether this practitioner's record is in active use 959 * </p> 960 */ 961 public Practitioner setActive( boolean theBoolean) { 962 myActive = new BooleanDt(theBoolean); 963 return this; 964 } 965 966 967 /** 968 * Gets the value(s) for <b>name</b> (). 969 * creating it if it does 970 * not exist. Will not return <code>null</code>. 971 * 972 * <p> 973 * <b>Definition:</b> 974 * A name associated with the person 975 * </p> 976 */ 977 public HumanNameDt getName() { 978 if (myName == null) { 979 myName = new HumanNameDt(); 980 } 981 return myName; 982 } 983 984 /** 985 * Sets the value(s) for <b>name</b> () 986 * 987 * <p> 988 * <b>Definition:</b> 989 * A name associated with the person 990 * </p> 991 */ 992 public Practitioner setName(HumanNameDt theValue) { 993 myName = theValue; 994 return this; 995 } 996 997 998 999 1000 /** 1001 * Gets the value(s) for <b>telecom</b> (). 1002 * creating it if it does 1003 * not exist. Will not return <code>null</code>. 1004 * 1005 * <p> 1006 * <b>Definition:</b> 1007 * A contact detail for the practitioner, e.g. a telephone number or an email address. 1008 * </p> 1009 */ 1010 public java.util.List<ContactPointDt> getTelecom() { 1011 if (myTelecom == null) { 1012 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1013 } 1014 return myTelecom; 1015 } 1016 1017 /** 1018 * Sets the value(s) for <b>telecom</b> () 1019 * 1020 * <p> 1021 * <b>Definition:</b> 1022 * A contact detail for the practitioner, e.g. a telephone number or an email address. 1023 * </p> 1024 */ 1025 public Practitioner setTelecom(java.util.List<ContactPointDt> theValue) { 1026 myTelecom = theValue; 1027 return this; 1028 } 1029 1030 1031 1032 /** 1033 * Adds and returns a new value for <b>telecom</b> () 1034 * 1035 * <p> 1036 * <b>Definition:</b> 1037 * A contact detail for the practitioner, e.g. a telephone number or an email address. 1038 * </p> 1039 */ 1040 public ContactPointDt addTelecom() { 1041 ContactPointDt newType = new ContactPointDt(); 1042 getTelecom().add(newType); 1043 return newType; 1044 } 1045 1046 /** 1047 * Adds a given new value for <b>telecom</b> () 1048 * 1049 * <p> 1050 * <b>Definition:</b> 1051 * A contact detail for the practitioner, e.g. a telephone number or an email address. 1052 * </p> 1053 * @param theValue The telecom to add (must not be <code>null</code>) 1054 */ 1055 public Practitioner addTelecom(ContactPointDt theValue) { 1056 if (theValue == null) { 1057 throw new NullPointerException("theValue must not be null"); 1058 } 1059 getTelecom().add(theValue); 1060 return this; 1061 } 1062 1063 /** 1064 * Gets the first repetition for <b>telecom</b> (), 1065 * creating it if it does not already exist. 1066 * 1067 * <p> 1068 * <b>Definition:</b> 1069 * A contact detail for the practitioner, e.g. a telephone number or an email address. 1070 * </p> 1071 */ 1072 public ContactPointDt getTelecomFirstRep() { 1073 if (getTelecom().isEmpty()) { 1074 return addTelecom(); 1075 } 1076 return getTelecom().get(0); 1077 } 1078 1079 /** 1080 * Gets the value(s) for <b>address</b> (). 1081 * creating it if it does 1082 * not exist. Will not return <code>null</code>. 1083 * 1084 * <p> 1085 * <b>Definition:</b> 1086 * The postal address where the practitioner can be found or visited or to which mail can be delivered 1087 * </p> 1088 */ 1089 public java.util.List<AddressDt> getAddress() { 1090 if (myAddress == null) { 1091 myAddress = new java.util.ArrayList<AddressDt>(); 1092 } 1093 return myAddress; 1094 } 1095 1096 /** 1097 * Sets the value(s) for <b>address</b> () 1098 * 1099 * <p> 1100 * <b>Definition:</b> 1101 * The postal address where the practitioner can be found or visited or to which mail can be delivered 1102 * </p> 1103 */ 1104 public Practitioner setAddress(java.util.List<AddressDt> theValue) { 1105 myAddress = theValue; 1106 return this; 1107 } 1108 1109 1110 1111 /** 1112 * Adds and returns a new value for <b>address</b> () 1113 * 1114 * <p> 1115 * <b>Definition:</b> 1116 * The postal address where the practitioner can be found or visited or to which mail can be delivered 1117 * </p> 1118 */ 1119 public AddressDt addAddress() { 1120 AddressDt newType = new AddressDt(); 1121 getAddress().add(newType); 1122 return newType; 1123 } 1124 1125 /** 1126 * Adds a given new value for <b>address</b> () 1127 * 1128 * <p> 1129 * <b>Definition:</b> 1130 * The postal address where the practitioner can be found or visited or to which mail can be delivered 1131 * </p> 1132 * @param theValue The address to add (must not be <code>null</code>) 1133 */ 1134 public Practitioner addAddress(AddressDt theValue) { 1135 if (theValue == null) { 1136 throw new NullPointerException("theValue must not be null"); 1137 } 1138 getAddress().add(theValue); 1139 return this; 1140 } 1141 1142 /** 1143 * Gets the first repetition for <b>address</b> (), 1144 * creating it if it does not already exist. 1145 * 1146 * <p> 1147 * <b>Definition:</b> 1148 * The postal address where the practitioner can be found or visited or to which mail can be delivered 1149 * </p> 1150 */ 1151 public AddressDt getAddressFirstRep() { 1152 if (getAddress().isEmpty()) { 1153 return addAddress(); 1154 } 1155 return getAddress().get(0); 1156 } 1157 1158 /** 1159 * Gets the value(s) for <b>gender</b> (). 1160 * creating it if it does 1161 * not exist. Will not return <code>null</code>. 1162 * 1163 * <p> 1164 * <b>Definition:</b> 1165 * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 1166 * </p> 1167 */ 1168 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 1169 if (myGender == null) { 1170 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 1171 } 1172 return myGender; 1173 } 1174 1175 1176 /** 1177 * Gets the value(s) for <b>gender</b> (). 1178 * creating it if it does 1179 * not exist. This method may return <code>null</code>. 1180 * 1181 * <p> 1182 * <b>Definition:</b> 1183 * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 1184 * </p> 1185 */ 1186 public String getGender() { 1187 return getGenderElement().getValue(); 1188 } 1189 1190 /** 1191 * Sets the value(s) for <b>gender</b> () 1192 * 1193 * <p> 1194 * <b>Definition:</b> 1195 * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 1196 * </p> 1197 */ 1198 public Practitioner setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 1199 myGender = theValue; 1200 return this; 1201 } 1202 1203 1204 1205 /** 1206 * Sets the value(s) for <b>gender</b> () 1207 * 1208 * <p> 1209 * <b>Definition:</b> 1210 * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 1211 * </p> 1212 */ 1213 public Practitioner setGender(AdministrativeGenderEnum theValue) { 1214 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 1215 1216/* 1217 getGenderElement().setValueAsEnum(theValue); 1218*/ 1219 return this; 1220 } 1221 1222 1223 /** 1224 * Gets the value(s) for <b>birthDate</b> (). 1225 * creating it if it does 1226 * not exist. Will not return <code>null</code>. 1227 * 1228 * <p> 1229 * <b>Definition:</b> 1230 * The date of birth for the practitioner 1231 * </p> 1232 */ 1233 public DateDt getBirthDateElement() { 1234 if (myBirthDate == null) { 1235 myBirthDate = new DateDt(); 1236 } 1237 return myBirthDate; 1238 } 1239 1240 1241 /** 1242 * Gets the value(s) for <b>birthDate</b> (). 1243 * creating it if it does 1244 * not exist. This method may return <code>null</code>. 1245 * 1246 * <p> 1247 * <b>Definition:</b> 1248 * The date of birth for the practitioner 1249 * </p> 1250 */ 1251 public Date getBirthDate() { 1252 return getBirthDateElement().getValue(); 1253 } 1254 1255 /** 1256 * Sets the value(s) for <b>birthDate</b> () 1257 * 1258 * <p> 1259 * <b>Definition:</b> 1260 * The date of birth for the practitioner 1261 * </p> 1262 */ 1263 public Practitioner setBirthDate(DateDt theValue) { 1264 myBirthDate = theValue; 1265 return this; 1266 } 1267 1268 1269 1270 /** 1271 * Sets the value for <b>birthDate</b> () 1272 * 1273 * <p> 1274 * <b>Definition:</b> 1275 * The date of birth for the practitioner 1276 * </p> 1277 */ 1278 public Practitioner setBirthDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1279 myBirthDate = new DateDt(theDate, thePrecision); 1280 return this; 1281 } 1282 1283 /** 1284 * Sets the value for <b>birthDate</b> () 1285 * 1286 * <p> 1287 * <b>Definition:</b> 1288 * The date of birth for the practitioner 1289 * </p> 1290 */ 1291 public Practitioner setBirthDateWithDayPrecision( Date theDate) { 1292 myBirthDate = new DateDt(theDate); 1293 return this; 1294 } 1295 1296 1297 /** 1298 * Gets the value(s) for <b>photo</b> (). 1299 * creating it if it does 1300 * not exist. Will not return <code>null</code>. 1301 * 1302 * <p> 1303 * <b>Definition:</b> 1304 * Image of the person 1305 * </p> 1306 */ 1307 public java.util.List<AttachmentDt> getPhoto() { 1308 if (myPhoto == null) { 1309 myPhoto = new java.util.ArrayList<AttachmentDt>(); 1310 } 1311 return myPhoto; 1312 } 1313 1314 /** 1315 * Sets the value(s) for <b>photo</b> () 1316 * 1317 * <p> 1318 * <b>Definition:</b> 1319 * Image of the person 1320 * </p> 1321 */ 1322 public Practitioner setPhoto(java.util.List<AttachmentDt> theValue) { 1323 myPhoto = theValue; 1324 return this; 1325 } 1326 1327 1328 1329 /** 1330 * Adds and returns a new value for <b>photo</b> () 1331 * 1332 * <p> 1333 * <b>Definition:</b> 1334 * Image of the person 1335 * </p> 1336 */ 1337 public AttachmentDt addPhoto() { 1338 AttachmentDt newType = new AttachmentDt(); 1339 getPhoto().add(newType); 1340 return newType; 1341 } 1342 1343 /** 1344 * Adds a given new value for <b>photo</b> () 1345 * 1346 * <p> 1347 * <b>Definition:</b> 1348 * Image of the person 1349 * </p> 1350 * @param theValue The photo to add (must not be <code>null</code>) 1351 */ 1352 public Practitioner addPhoto(AttachmentDt theValue) { 1353 if (theValue == null) { 1354 throw new NullPointerException("theValue must not be null"); 1355 } 1356 getPhoto().add(theValue); 1357 return this; 1358 } 1359 1360 /** 1361 * Gets the first repetition for <b>photo</b> (), 1362 * creating it if it does not already exist. 1363 * 1364 * <p> 1365 * <b>Definition:</b> 1366 * Image of the person 1367 * </p> 1368 */ 1369 public AttachmentDt getPhotoFirstRep() { 1370 if (getPhoto().isEmpty()) { 1371 return addPhoto(); 1372 } 1373 return getPhoto().get(0); 1374 } 1375 1376 /** 1377 * Gets the value(s) for <b>practitionerRole</b> (). 1378 * creating it if it does 1379 * not exist. Will not return <code>null</code>. 1380 * 1381 * <p> 1382 * <b>Definition:</b> 1383 * The list of roles/organizations that the practitioner is associated with 1384 * </p> 1385 */ 1386 public java.util.List<PractitionerRole> getPractitionerRole() { 1387 if (myPractitionerRole == null) { 1388 myPractitionerRole = new java.util.ArrayList<PractitionerRole>(); 1389 } 1390 return myPractitionerRole; 1391 } 1392 1393 /** 1394 * Sets the value(s) for <b>practitionerRole</b> () 1395 * 1396 * <p> 1397 * <b>Definition:</b> 1398 * The list of roles/organizations that the practitioner is associated with 1399 * </p> 1400 */ 1401 public Practitioner setPractitionerRole(java.util.List<PractitionerRole> theValue) { 1402 myPractitionerRole = theValue; 1403 return this; 1404 } 1405 1406 1407 1408 /** 1409 * Adds and returns a new value for <b>practitionerRole</b> () 1410 * 1411 * <p> 1412 * <b>Definition:</b> 1413 * The list of roles/organizations that the practitioner is associated with 1414 * </p> 1415 */ 1416 public PractitionerRole addPractitionerRole() { 1417 PractitionerRole newType = new PractitionerRole(); 1418 getPractitionerRole().add(newType); 1419 return newType; 1420 } 1421 1422 /** 1423 * Adds a given new value for <b>practitionerRole</b> () 1424 * 1425 * <p> 1426 * <b>Definition:</b> 1427 * The list of roles/organizations that the practitioner is associated with 1428 * </p> 1429 * @param theValue The practitionerRole to add (must not be <code>null</code>) 1430 */ 1431 public Practitioner addPractitionerRole(PractitionerRole theValue) { 1432 if (theValue == null) { 1433 throw new NullPointerException("theValue must not be null"); 1434 } 1435 getPractitionerRole().add(theValue); 1436 return this; 1437 } 1438 1439 /** 1440 * Gets the first repetition for <b>practitionerRole</b> (), 1441 * creating it if it does not already exist. 1442 * 1443 * <p> 1444 * <b>Definition:</b> 1445 * The list of roles/organizations that the practitioner is associated with 1446 * </p> 1447 */ 1448 public PractitionerRole getPractitionerRoleFirstRep() { 1449 if (getPractitionerRole().isEmpty()) { 1450 return addPractitionerRole(); 1451 } 1452 return getPractitionerRole().get(0); 1453 } 1454 1455 /** 1456 * Gets the value(s) for <b>qualification</b> (). 1457 * creating it if it does 1458 * not exist. Will not return <code>null</code>. 1459 * 1460 * <p> 1461 * <b>Definition:</b> 1462 * 1463 * </p> 1464 */ 1465 public java.util.List<Qualification> getQualification() { 1466 if (myQualification == null) { 1467 myQualification = new java.util.ArrayList<Qualification>(); 1468 } 1469 return myQualification; 1470 } 1471 1472 /** 1473 * Sets the value(s) for <b>qualification</b> () 1474 * 1475 * <p> 1476 * <b>Definition:</b> 1477 * 1478 * </p> 1479 */ 1480 public Practitioner setQualification(java.util.List<Qualification> theValue) { 1481 myQualification = theValue; 1482 return this; 1483 } 1484 1485 1486 1487 /** 1488 * Adds and returns a new value for <b>qualification</b> () 1489 * 1490 * <p> 1491 * <b>Definition:</b> 1492 * 1493 * </p> 1494 */ 1495 public Qualification addQualification() { 1496 Qualification newType = new Qualification(); 1497 getQualification().add(newType); 1498 return newType; 1499 } 1500 1501 /** 1502 * Adds a given new value for <b>qualification</b> () 1503 * 1504 * <p> 1505 * <b>Definition:</b> 1506 * 1507 * </p> 1508 * @param theValue The qualification to add (must not be <code>null</code>) 1509 */ 1510 public Practitioner addQualification(Qualification theValue) { 1511 if (theValue == null) { 1512 throw new NullPointerException("theValue must not be null"); 1513 } 1514 getQualification().add(theValue); 1515 return this; 1516 } 1517 1518 /** 1519 * Gets the first repetition for <b>qualification</b> (), 1520 * creating it if it does not already exist. 1521 * 1522 * <p> 1523 * <b>Definition:</b> 1524 * 1525 * </p> 1526 */ 1527 public Qualification getQualificationFirstRep() { 1528 if (getQualification().isEmpty()) { 1529 return addQualification(); 1530 } 1531 return getQualification().get(0); 1532 } 1533 1534 /** 1535 * Gets the value(s) for <b>communication</b> (). 1536 * creating it if it does 1537 * not exist. Will not return <code>null</code>. 1538 * 1539 * <p> 1540 * <b>Definition:</b> 1541 * A language the practitioner is able to use in patient communication 1542 * </p> 1543 */ 1544 public java.util.List<CodeableConceptDt> getCommunication() { 1545 if (myCommunication == null) { 1546 myCommunication = new java.util.ArrayList<CodeableConceptDt>(); 1547 } 1548 return myCommunication; 1549 } 1550 1551 /** 1552 * Sets the value(s) for <b>communication</b> () 1553 * 1554 * <p> 1555 * <b>Definition:</b> 1556 * A language the practitioner is able to use in patient communication 1557 * </p> 1558 */ 1559 public Practitioner setCommunication(java.util.List<CodeableConceptDt> theValue) { 1560 myCommunication = theValue; 1561 return this; 1562 } 1563 1564 1565 1566 /** 1567 * Adds and returns a new value for <b>communication</b> () 1568 * 1569 * <p> 1570 * <b>Definition:</b> 1571 * A language the practitioner is able to use in patient communication 1572 * </p> 1573 */ 1574 public CodeableConceptDt addCommunication() { 1575 CodeableConceptDt newType = new CodeableConceptDt(); 1576 getCommunication().add(newType); 1577 return newType; 1578 } 1579 1580 /** 1581 * Adds a given new value for <b>communication</b> () 1582 * 1583 * <p> 1584 * <b>Definition:</b> 1585 * A language the practitioner is able to use in patient communication 1586 * </p> 1587 * @param theValue The communication to add (must not be <code>null</code>) 1588 */ 1589 public Practitioner addCommunication(CodeableConceptDt theValue) { 1590 if (theValue == null) { 1591 throw new NullPointerException("theValue must not be null"); 1592 } 1593 getCommunication().add(theValue); 1594 return this; 1595 } 1596 1597 /** 1598 * Gets the first repetition for <b>communication</b> (), 1599 * creating it if it does not already exist. 1600 * 1601 * <p> 1602 * <b>Definition:</b> 1603 * A language the practitioner is able to use in patient communication 1604 * </p> 1605 */ 1606 public CodeableConceptDt getCommunicationFirstRep() { 1607 if (getCommunication().isEmpty()) { 1608 return addCommunication(); 1609 } 1610 return getCommunication().get(0); 1611 } 1612 1613 /** 1614 * Block class for child element: <b>Practitioner.practitionerRole</b> () 1615 * 1616 * <p> 1617 * <b>Definition:</b> 1618 * The list of roles/organizations that the practitioner is associated with 1619 * </p> 1620 */ 1621 @Block() 1622 public static class PractitionerRole 1623 extends BaseIdentifiableElement implements IResourceBlock { 1624 1625 @Child(name="managingOrganization", order=0, min=0, max=1, summary=false, modifier=false, type={ 1626 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 1627 @Description( 1628 shortDefinition="", 1629 formalDefinition="The organization where the Practitioner performs the roles associated" 1630 ) 1631 private ResourceReferenceDt myManagingOrganization; 1632 1633 @Child(name="role", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1634 @Description( 1635 shortDefinition="", 1636 formalDefinition="Roles which this practitioner is authorized to perform for the organization" 1637 ) 1638 private CodeableConceptDt myRole; 1639 1640 @Child(name="specialty", type=CodeableConceptDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1641 @Description( 1642 shortDefinition="", 1643 formalDefinition="Specific specialty of the practitioner" 1644 ) 1645 private java.util.List<CodeableConceptDt> mySpecialty; 1646 1647 @Child(name="period", type=PeriodDt.class, order=3, min=0, max=1, summary=true, modifier=false) 1648 @Description( 1649 shortDefinition="when.done", 1650 formalDefinition="The period during which the person is authorized to act as a practitioner in these role(s) for the organization" 1651 ) 1652 private PeriodDt myPeriod; 1653 1654 @Child(name="location", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 1655 ca.uhn.fhir.model.dstu2.resource.Location.class }) 1656 @Description( 1657 shortDefinition="where", 1658 formalDefinition="The location(s) at which this practitioner provides care" 1659 ) 1660 private java.util.List<ResourceReferenceDt> myLocation; 1661 1662 @Child(name="healthcareService", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 1663 ca.uhn.fhir.model.dstu2.resource.HealthcareService.class }) 1664 @Description( 1665 shortDefinition="", 1666 formalDefinition="" 1667 ) 1668 private java.util.List<ResourceReferenceDt> myHealthcareService; 1669 1670 1671 @Override 1672 public boolean isEmpty() { 1673 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myManagingOrganization, myRole, mySpecialty, myPeriod, myLocation, myHealthcareService); 1674 } 1675 1676 @Override 1677 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1678 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myManagingOrganization, myRole, mySpecialty, myPeriod, myLocation, myHealthcareService); 1679 } 1680 1681 /** 1682 * Gets the value(s) for <b>managingOrganization</b> (). 1683 * creating it if it does 1684 * not exist. Will not return <code>null</code>. 1685 * 1686 * <p> 1687 * <b>Definition:</b> 1688 * The organization where the Practitioner performs the roles associated 1689 * </p> 1690 */ 1691 public ResourceReferenceDt getManagingOrganization() { 1692 if (myManagingOrganization == null) { 1693 myManagingOrganization = new ResourceReferenceDt(); 1694 } 1695 return myManagingOrganization; 1696 } 1697 1698 /** 1699 * Sets the value(s) for <b>managingOrganization</b> () 1700 * 1701 * <p> 1702 * <b>Definition:</b> 1703 * The organization where the Practitioner performs the roles associated 1704 * </p> 1705 */ 1706 public PractitionerRole setManagingOrganization(ResourceReferenceDt theValue) { 1707 myManagingOrganization = theValue; 1708 return this; 1709 } 1710 1711 1712 1713 1714 /** 1715 * Gets the value(s) for <b>role</b> (). 1716 * creating it if it does 1717 * not exist. Will not return <code>null</code>. 1718 * 1719 * <p> 1720 * <b>Definition:</b> 1721 * Roles which this practitioner is authorized to perform for the organization 1722 * </p> 1723 */ 1724 public CodeableConceptDt getRole() { 1725 if (myRole == null) { 1726 myRole = new CodeableConceptDt(); 1727 } 1728 return myRole; 1729 } 1730 1731 /** 1732 * Sets the value(s) for <b>role</b> () 1733 * 1734 * <p> 1735 * <b>Definition:</b> 1736 * Roles which this practitioner is authorized to perform for the organization 1737 * </p> 1738 */ 1739 public PractitionerRole setRole(CodeableConceptDt theValue) { 1740 myRole = theValue; 1741 return this; 1742 } 1743 1744 1745 1746 1747 /** 1748 * Gets the value(s) for <b>specialty</b> (). 1749 * creating it if it does 1750 * not exist. Will not return <code>null</code>. 1751 * 1752 * <p> 1753 * <b>Definition:</b> 1754 * Specific specialty of the practitioner 1755 * </p> 1756 */ 1757 public java.util.List<CodeableConceptDt> getSpecialty() { 1758 if (mySpecialty == null) { 1759 mySpecialty = new java.util.ArrayList<CodeableConceptDt>(); 1760 } 1761 return mySpecialty; 1762 } 1763 1764 /** 1765 * Sets the value(s) for <b>specialty</b> () 1766 * 1767 * <p> 1768 * <b>Definition:</b> 1769 * Specific specialty of the practitioner 1770 * </p> 1771 */ 1772 public PractitionerRole setSpecialty(java.util.List<CodeableConceptDt> theValue) { 1773 mySpecialty = theValue; 1774 return this; 1775 } 1776 1777 1778 1779 /** 1780 * Adds and returns a new value for <b>specialty</b> () 1781 * 1782 * <p> 1783 * <b>Definition:</b> 1784 * Specific specialty of the practitioner 1785 * </p> 1786 */ 1787 public CodeableConceptDt addSpecialty() { 1788 CodeableConceptDt newType = new CodeableConceptDt(); 1789 getSpecialty().add(newType); 1790 return newType; 1791 } 1792 1793 /** 1794 * Adds a given new value for <b>specialty</b> () 1795 * 1796 * <p> 1797 * <b>Definition:</b> 1798 * Specific specialty of the practitioner 1799 * </p> 1800 * @param theValue The specialty to add (must not be <code>null</code>) 1801 */ 1802 public PractitionerRole addSpecialty(CodeableConceptDt theValue) { 1803 if (theValue == null) { 1804 throw new NullPointerException("theValue must not be null"); 1805 } 1806 getSpecialty().add(theValue); 1807 return this; 1808 } 1809 1810 /** 1811 * Gets the first repetition for <b>specialty</b> (), 1812 * creating it if it does not already exist. 1813 * 1814 * <p> 1815 * <b>Definition:</b> 1816 * Specific specialty of the practitioner 1817 * </p> 1818 */ 1819 public CodeableConceptDt getSpecialtyFirstRep() { 1820 if (getSpecialty().isEmpty()) { 1821 return addSpecialty(); 1822 } 1823 return getSpecialty().get(0); 1824 } 1825 1826 /** 1827 * Gets the value(s) for <b>period</b> (when.done). 1828 * creating it if it does 1829 * not exist. Will not return <code>null</code>. 1830 * 1831 * <p> 1832 * <b>Definition:</b> 1833 * The period during which the person is authorized to act as a practitioner in these role(s) for the organization 1834 * </p> 1835 */ 1836 public PeriodDt getPeriod() { 1837 if (myPeriod == null) { 1838 myPeriod = new PeriodDt(); 1839 } 1840 return myPeriod; 1841 } 1842 1843 /** 1844 * Sets the value(s) for <b>period</b> (when.done) 1845 * 1846 * <p> 1847 * <b>Definition:</b> 1848 * The period during which the person is authorized to act as a practitioner in these role(s) for the organization 1849 * </p> 1850 */ 1851 public PractitionerRole setPeriod(PeriodDt theValue) { 1852 myPeriod = theValue; 1853 return this; 1854 } 1855 1856 1857 1858 1859 /** 1860 * Gets the value(s) for <b>location</b> (where). 1861 * creating it if it does 1862 * not exist. Will not return <code>null</code>. 1863 * 1864 * <p> 1865 * <b>Definition:</b> 1866 * The location(s) at which this practitioner provides care 1867 * </p> 1868 */ 1869 public java.util.List<ResourceReferenceDt> getLocation() { 1870 if (myLocation == null) { 1871 myLocation = new java.util.ArrayList<ResourceReferenceDt>(); 1872 } 1873 return myLocation; 1874 } 1875 1876 /** 1877 * Sets the value(s) for <b>location</b> (where) 1878 * 1879 * <p> 1880 * <b>Definition:</b> 1881 * The location(s) at which this practitioner provides care 1882 * </p> 1883 */ 1884 public PractitionerRole setLocation(java.util.List<ResourceReferenceDt> theValue) { 1885 myLocation = theValue; 1886 return this; 1887 } 1888 1889 1890 1891 /** 1892 * Adds and returns a new value for <b>location</b> (where) 1893 * 1894 * <p> 1895 * <b>Definition:</b> 1896 * The location(s) at which this practitioner provides care 1897 * </p> 1898 */ 1899 public ResourceReferenceDt addLocation() { 1900 ResourceReferenceDt newType = new ResourceReferenceDt(); 1901 getLocation().add(newType); 1902 return newType; 1903 } 1904 1905 /** 1906 * Gets the value(s) for <b>healthcareService</b> (). 1907 * creating it if it does 1908 * not exist. Will not return <code>null</code>. 1909 * 1910 * <p> 1911 * <b>Definition:</b> 1912 * 1913 * </p> 1914 */ 1915 public java.util.List<ResourceReferenceDt> getHealthcareService() { 1916 if (myHealthcareService == null) { 1917 myHealthcareService = new java.util.ArrayList<ResourceReferenceDt>(); 1918 } 1919 return myHealthcareService; 1920 } 1921 1922 /** 1923 * Sets the value(s) for <b>healthcareService</b> () 1924 * 1925 * <p> 1926 * <b>Definition:</b> 1927 * 1928 * </p> 1929 */ 1930 public PractitionerRole setHealthcareService(java.util.List<ResourceReferenceDt> theValue) { 1931 myHealthcareService = theValue; 1932 return this; 1933 } 1934 1935 1936 1937 /** 1938 * Adds and returns a new value for <b>healthcareService</b> () 1939 * 1940 * <p> 1941 * <b>Definition:</b> 1942 * 1943 * </p> 1944 */ 1945 public ResourceReferenceDt addHealthcareService() { 1946 ResourceReferenceDt newType = new ResourceReferenceDt(); 1947 getHealthcareService().add(newType); 1948 return newType; 1949 } 1950 1951 1952 1953 } 1954 1955 1956 /** 1957 * Block class for child element: <b>Practitioner.qualification</b> () 1958 * 1959 * <p> 1960 * <b>Definition:</b> 1961 * 1962 * </p> 1963 */ 1964 @Block() 1965 public static class Qualification 1966 extends BaseIdentifiableElement implements IResourceBlock { 1967 1968 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1969 @Description( 1970 shortDefinition="", 1971 formalDefinition="An identifier that applies to this person's qualification in this role" 1972 ) 1973 private java.util.List<IdentifierDt> myIdentifier; 1974 1975 @Child(name="code", type=CodeableConceptDt.class, order=1, min=1, max=1, summary=false, modifier=false) 1976 @Description( 1977 shortDefinition="", 1978 formalDefinition="" 1979 ) 1980 private CodeableConceptDt myCode; 1981 1982 @Child(name="period", type=PeriodDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1983 @Description( 1984 shortDefinition="", 1985 formalDefinition="Period during which the qualification is valid" 1986 ) 1987 private PeriodDt myPeriod; 1988 1989 @Child(name="issuer", order=3, min=0, max=1, summary=false, modifier=false, type={ 1990 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 1991 @Description( 1992 shortDefinition="", 1993 formalDefinition="Organization that regulates and issues the qualification" 1994 ) 1995 private ResourceReferenceDt myIssuer; 1996 1997 1998 @Override 1999 public boolean isEmpty() { 2000 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myCode, myPeriod, myIssuer); 2001 } 2002 2003 @Override 2004 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2005 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myCode, myPeriod, myIssuer); 2006 } 2007 2008 /** 2009 * Gets the value(s) for <b>identifier</b> (). 2010 * creating it if it does 2011 * not exist. Will not return <code>null</code>. 2012 * 2013 * <p> 2014 * <b>Definition:</b> 2015 * An identifier that applies to this person's qualification in this role 2016 * </p> 2017 */ 2018 public java.util.List<IdentifierDt> getIdentifier() { 2019 if (myIdentifier == null) { 2020 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 2021 } 2022 return myIdentifier; 2023 } 2024 2025 /** 2026 * Sets the value(s) for <b>identifier</b> () 2027 * 2028 * <p> 2029 * <b>Definition:</b> 2030 * An identifier that applies to this person's qualification in this role 2031 * </p> 2032 */ 2033 public Qualification setIdentifier(java.util.List<IdentifierDt> theValue) { 2034 myIdentifier = theValue; 2035 return this; 2036 } 2037 2038 2039 2040 /** 2041 * Adds and returns a new value for <b>identifier</b> () 2042 * 2043 * <p> 2044 * <b>Definition:</b> 2045 * An identifier that applies to this person's qualification in this role 2046 * </p> 2047 */ 2048 public IdentifierDt addIdentifier() { 2049 IdentifierDt newType = new IdentifierDt(); 2050 getIdentifier().add(newType); 2051 return newType; 2052 } 2053 2054 /** 2055 * Adds a given new value for <b>identifier</b> () 2056 * 2057 * <p> 2058 * <b>Definition:</b> 2059 * An identifier that applies to this person's qualification in this role 2060 * </p> 2061 * @param theValue The identifier to add (must not be <code>null</code>) 2062 */ 2063 public Qualification addIdentifier(IdentifierDt theValue) { 2064 if (theValue == null) { 2065 throw new NullPointerException("theValue must not be null"); 2066 } 2067 getIdentifier().add(theValue); 2068 return this; 2069 } 2070 2071 /** 2072 * Gets the first repetition for <b>identifier</b> (), 2073 * creating it if it does not already exist. 2074 * 2075 * <p> 2076 * <b>Definition:</b> 2077 * An identifier that applies to this person's qualification in this role 2078 * </p> 2079 */ 2080 public IdentifierDt getIdentifierFirstRep() { 2081 if (getIdentifier().isEmpty()) { 2082 return addIdentifier(); 2083 } 2084 return getIdentifier().get(0); 2085 } 2086 2087 /** 2088 * Gets the value(s) for <b>code</b> (). 2089 * creating it if it does 2090 * not exist. Will not return <code>null</code>. 2091 * 2092 * <p> 2093 * <b>Definition:</b> 2094 * 2095 * </p> 2096 */ 2097 public CodeableConceptDt getCode() { 2098 if (myCode == null) { 2099 myCode = new CodeableConceptDt(); 2100 } 2101 return myCode; 2102 } 2103 2104 /** 2105 * Sets the value(s) for <b>code</b> () 2106 * 2107 * <p> 2108 * <b>Definition:</b> 2109 * 2110 * </p> 2111 */ 2112 public Qualification setCode(CodeableConceptDt theValue) { 2113 myCode = theValue; 2114 return this; 2115 } 2116 2117 2118 2119 2120 /** 2121 * Gets the value(s) for <b>period</b> (). 2122 * creating it if it does 2123 * not exist. Will not return <code>null</code>. 2124 * 2125 * <p> 2126 * <b>Definition:</b> 2127 * Period during which the qualification is valid 2128 * </p> 2129 */ 2130 public PeriodDt getPeriod() { 2131 if (myPeriod == null) { 2132 myPeriod = new PeriodDt(); 2133 } 2134 return myPeriod; 2135 } 2136 2137 /** 2138 * Sets the value(s) for <b>period</b> () 2139 * 2140 * <p> 2141 * <b>Definition:</b> 2142 * Period during which the qualification is valid 2143 * </p> 2144 */ 2145 public Qualification setPeriod(PeriodDt theValue) { 2146 myPeriod = theValue; 2147 return this; 2148 } 2149 2150 2151 2152 2153 /** 2154 * Gets the value(s) for <b>issuer</b> (). 2155 * creating it if it does 2156 * not exist. Will not return <code>null</code>. 2157 * 2158 * <p> 2159 * <b>Definition:</b> 2160 * Organization that regulates and issues the qualification 2161 * </p> 2162 */ 2163 public ResourceReferenceDt getIssuer() { 2164 if (myIssuer == null) { 2165 myIssuer = new ResourceReferenceDt(); 2166 } 2167 return myIssuer; 2168 } 2169 2170 /** 2171 * Sets the value(s) for <b>issuer</b> () 2172 * 2173 * <p> 2174 * <b>Definition:</b> 2175 * Organization that regulates and issues the qualification 2176 * </p> 2177 */ 2178 public Qualification setIssuer(ResourceReferenceDt theValue) { 2179 myIssuer = theValue; 2180 return this; 2181 } 2182 2183 2184 2185 2186 2187 2188 } 2189 2190 2191 2192 2193 @Override 2194 public String getResourceName() { 2195 return "Practitioner"; 2196 } 2197 2198 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2199 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2200 } 2201 2202 2203}