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