001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>HealthcareService</b> Resource 320 * (administrative.group) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * The details of a healthcare service available at a location. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/HealthcareService">http://hl7.org/fhir/profiles/HealthcareService</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="HealthcareService", profile="http://hl7.org/fhir/profiles/HealthcareService", id="healthcareservice") 339public class HealthcareService extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>identifier</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>HealthcareService.identifier</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="identifier", path="HealthcareService.identifier", description="", type="token" ) 351 public static final String SP_IDENTIFIER = "identifier"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>HealthcareService.identifier</b><br> 359 * </p> 360 */ 361 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 362 363 /** 364 * Search parameter constant for <b>servicecategory</b> 365 * <p> 366 * Description: <b>Service Category of the Healthcare Service</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>HealthcareService.serviceCategory</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="servicecategory", path="HealthcareService.serviceCategory", description="Service Category of the Healthcare Service", type="token" ) 372 public static final String SP_SERVICECATEGORY = "servicecategory"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>servicecategory</b> 376 * <p> 377 * Description: <b>Service Category of the Healthcare Service</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>HealthcareService.serviceCategory</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam SERVICECATEGORY = new TokenClientParam(SP_SERVICECATEGORY); 383 384 /** 385 * Search parameter constant for <b>servicetype</b> 386 * <p> 387 * Description: <b>The type of service provided by this healthcare service</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>HealthcareService.serviceType.type</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="servicetype", path="HealthcareService.serviceType.type", description="The type of service provided by this healthcare service", type="token" ) 393 public static final String SP_SERVICETYPE = "servicetype"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>servicetype</b> 397 * <p> 398 * Description: <b>The type of service provided by this healthcare service</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>HealthcareService.serviceType.type</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam SERVICETYPE = new TokenClientParam(SP_SERVICETYPE); 404 405 /** 406 * Search parameter constant for <b>name</b> 407 * <p> 408 * Description: <b>A portion of the Healthcare service name</b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>HealthcareService.serviceName</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="name", path="HealthcareService.serviceName", description="A portion of the Healthcare service name", type="string" ) 414 public static final String SP_NAME = "name"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>name</b> 418 * <p> 419 * Description: <b>A portion of the Healthcare service name</b><br> 420 * Type: <b>string</b><br> 421 * Path: <b>HealthcareService.serviceName</b><br> 422 * </p> 423 */ 424 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 425 426 /** 427 * Search parameter constant for <b>location</b> 428 * <p> 429 * Description: <b>The location of the Healthcare Service</b><br> 430 * Type: <b>reference</b><br> 431 * Path: <b>HealthcareService.location</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="location", path="HealthcareService.location", description="The location of the Healthcare Service", type="reference" ) 435 public static final String SP_LOCATION = "location"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>location</b> 439 * <p> 440 * Description: <b>The location of the Healthcare Service</b><br> 441 * Type: <b>reference</b><br> 442 * Path: <b>HealthcareService.location</b><br> 443 * </p> 444 */ 445 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 446 447 /** 448 * Search parameter constant for <b>organization</b> 449 * <p> 450 * Description: <b>The organization that provides this Healthcare Service</b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>HealthcareService.providedBy</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="organization", path="HealthcareService.providedBy", description="The organization that provides this Healthcare Service", type="reference" ) 456 public static final String SP_ORGANIZATION = "organization"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 460 * <p> 461 * Description: <b>The organization that provides this Healthcare Service</b><br> 462 * Type: <b>reference</b><br> 463 * Path: <b>HealthcareService.providedBy</b><br> 464 * </p> 465 */ 466 public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION); 467 468 /** 469 * Search parameter constant for <b>programname</b> 470 * <p> 471 * Description: <b>One of the Program Names serviced by this HealthcareService</b><br> 472 * Type: <b>string</b><br> 473 * Path: <b>HealthcareService.programName</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="programname", path="HealthcareService.programName", description="One of the Program Names serviced by this HealthcareService", type="string" ) 477 public static final String SP_PROGRAMNAME = "programname"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>programname</b> 481 * <p> 482 * Description: <b>One of the Program Names serviced by this HealthcareService</b><br> 483 * Type: <b>string</b><br> 484 * Path: <b>HealthcareService.programName</b><br> 485 * </p> 486 */ 487 public static final StringClientParam PROGRAMNAME = new StringClientParam(SP_PROGRAMNAME); 488 489 /** 490 * Search parameter constant for <b>characteristic</b> 491 * <p> 492 * Description: <b>One of the HealthcareService's characteristics</b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>HealthcareService.characteristic</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="characteristic", path="HealthcareService.characteristic", description="One of the HealthcareService's characteristics", type="token" ) 498 public static final String SP_CHARACTERISTIC = "characteristic"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>characteristic</b> 502 * <p> 503 * Description: <b>One of the HealthcareService's characteristics</b><br> 504 * Type: <b>token</b><br> 505 * Path: <b>HealthcareService.characteristic</b><br> 506 * </p> 507 */ 508 public static final TokenClientParam CHARACTERISTIC = new TokenClientParam(SP_CHARACTERISTIC); 509 510 511 /** 512 * Constant for fluent queries to be used to add include statements. Specifies 513 * the path value of "<b>HealthcareService:location</b>". 514 */ 515 public static final Include INCLUDE_LOCATION = new Include("HealthcareService:location"); 516 517 /** 518 * Constant for fluent queries to be used to add include statements. Specifies 519 * the path value of "<b>HealthcareService:organization</b>". 520 */ 521 public static final Include INCLUDE_ORGANIZATION = new Include("HealthcareService:organization"); 522 523 524 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 525 @Description( 526 shortDefinition="id", 527 formalDefinition="External identifiers for this item" 528 ) 529 private java.util.List<IdentifierDt> myIdentifier; 530 531 @Child(name="providedBy", order=1, min=0, max=1, summary=true, modifier=false, type={ 532 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 533 @Description( 534 shortDefinition="", 535 formalDefinition="The organization that provides this healthcare service" 536 ) 537 private ResourceReferenceDt myProvidedBy; 538 539 @Child(name="serviceCategory", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=true, modifier=false) 540 @Description( 541 shortDefinition="class", 542 formalDefinition="Identifies the broad category of service being performed or delivered" 543 ) 544 private CodeableConceptDt myServiceCategory; 545 546 @Child(name="serviceType", order=3, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 547 @Description( 548 shortDefinition="", 549 formalDefinition="A specific type of service that may be delivered or performed" 550 ) 551 private java.util.List<ServiceType> myServiceType; 552 553 @Child(name="location", order=4, min=1, max=1, summary=true, modifier=false, type={ 554 ca.uhn.fhir.model.dstu2.resource.Location.class }) 555 @Description( 556 shortDefinition="where", 557 formalDefinition="The location where this healthcare service may be provided" 558 ) 559 private ResourceReferenceDt myLocation; 560 561 @Child(name="serviceName", type=StringDt.class, order=5, min=0, max=1, summary=true, modifier=false) 562 @Description( 563 shortDefinition="", 564 formalDefinition="Further description of the service as it would be presented to a consumer while searching" 565 ) 566 private StringDt myServiceName; 567 568 @Child(name="comment", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false) 569 @Description( 570 shortDefinition="", 571 formalDefinition="Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName" 572 ) 573 private StringDt myComment; 574 575 @Child(name="extraDetails", type=StringDt.class, order=7, min=0, max=1, summary=false, modifier=false) 576 @Description( 577 shortDefinition="", 578 formalDefinition="Extra details about the service that can't be placed in the other fields" 579 ) 580 private StringDt myExtraDetails; 581 582 @Child(name="photo", type=AttachmentDt.class, order=8, min=0, max=1, summary=true, modifier=false) 583 @Description( 584 shortDefinition="", 585 formalDefinition="If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list" 586 ) 587 private AttachmentDt myPhoto; 588 589 @Child(name="telecom", type=ContactPointDt.class, order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 590 @Description( 591 shortDefinition="", 592 formalDefinition="List of contacts related to this specific healthcare service" 593 ) 594 private java.util.List<ContactPointDt> myTelecom; 595 596 @Child(name="coverageArea", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 597 ca.uhn.fhir.model.dstu2.resource.Location.class }) 598 @Description( 599 shortDefinition="", 600 formalDefinition="The location(s) that this service is available to (not where the service is provided)" 601 ) 602 private java.util.List<ResourceReferenceDt> myCoverageArea; 603 604 @Child(name="serviceProvisionCode", type=CodeableConceptDt.class, order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 605 @Description( 606 shortDefinition="", 607 formalDefinition="The code(s) that detail the conditions under which the healthcare service is available/offered" 608 ) 609 private java.util.List<BoundCodeableConceptDt<ServiceProvisionConditionsEnum>> myServiceProvisionCode; 610 611 @Child(name="eligibility", type=CodeableConceptDt.class, order=12, min=0, max=1, summary=false, modifier=false) 612 @Description( 613 shortDefinition="", 614 formalDefinition="Does this service have specific eligibility requirements that need to be met in order to use the service?" 615 ) 616 private CodeableConceptDt myEligibility; 617 618 @Child(name="eligibilityNote", type=StringDt.class, order=13, min=0, max=1, summary=false, modifier=false) 619 @Description( 620 shortDefinition="", 621 formalDefinition="Describes the eligibility conditions for the service" 622 ) 623 private StringDt myEligibilityNote; 624 625 @Child(name="programName", type=StringDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 626 @Description( 627 shortDefinition="", 628 formalDefinition="Program Names that can be used to categorize the service" 629 ) 630 private java.util.List<StringDt> myProgramName; 631 632 @Child(name="characteristic", type=CodeableConceptDt.class, order=15, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 633 @Description( 634 shortDefinition="", 635 formalDefinition="Collection of characteristics (attributes)" 636 ) 637 private java.util.List<CodeableConceptDt> myCharacteristic; 638 639 @Child(name="referralMethod", type=CodeableConceptDt.class, order=16, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 640 @Description( 641 shortDefinition="", 642 formalDefinition="Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required" 643 ) 644 private java.util.List<BoundCodeableConceptDt<ReferralMethodEnum>> myReferralMethod; 645 646 @Child(name="publicKey", type=StringDt.class, order=17, min=0, max=1, summary=false, modifier=false) 647 @Description( 648 shortDefinition="", 649 formalDefinition="The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available" 650 ) 651 private StringDt myPublicKey; 652 653 @Child(name="appointmentRequired", type=BooleanDt.class, order=18, min=0, max=1, summary=false, modifier=false) 654 @Description( 655 shortDefinition="", 656 formalDefinition="Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service." 657 ) 658 private BooleanDt myAppointmentRequired; 659 660 @Child(name="availableTime", order=19, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 661 @Description( 662 shortDefinition="", 663 formalDefinition="A collection of times that the Service Site is available" 664 ) 665 private java.util.List<AvailableTime> myAvailableTime; 666 667 @Child(name="notAvailable", order=20, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 668 @Description( 669 shortDefinition="", 670 formalDefinition="The HealthcareService is not available during this period of time due to the provided reason" 671 ) 672 private java.util.List<NotAvailable> myNotAvailable; 673 674 @Child(name="availabilityExceptions", type=StringDt.class, order=21, min=0, max=1, summary=false, modifier=false) 675 @Description( 676 shortDefinition="", 677 formalDefinition="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times" 678 ) 679 private StringDt myAvailabilityExceptions; 680 681 682 @Override 683 public boolean isEmpty() { 684 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myProvidedBy, myServiceCategory, myServiceType, myLocation, myServiceName, myComment, myExtraDetails, myPhoto, myTelecom, myCoverageArea, myServiceProvisionCode, myEligibility, myEligibilityNote, myProgramName, myCharacteristic, myReferralMethod, myPublicKey, myAppointmentRequired, myAvailableTime, myNotAvailable, myAvailabilityExceptions); 685 } 686 687 @Override 688 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 689 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myProvidedBy, myServiceCategory, myServiceType, myLocation, myServiceName, myComment, myExtraDetails, myPhoto, myTelecom, myCoverageArea, myServiceProvisionCode, myEligibility, myEligibilityNote, myProgramName, myCharacteristic, myReferralMethod, myPublicKey, myAppointmentRequired, myAvailableTime, myNotAvailable, myAvailabilityExceptions); 690 } 691 692 /** 693 * Gets the value(s) for <b>identifier</b> (id). 694 * creating it if it does 695 * not exist. Will not return <code>null</code>. 696 * 697 * <p> 698 * <b>Definition:</b> 699 * External identifiers for this item 700 * </p> 701 */ 702 public java.util.List<IdentifierDt> getIdentifier() { 703 if (myIdentifier == null) { 704 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 705 } 706 return myIdentifier; 707 } 708 709 /** 710 * Sets the value(s) for <b>identifier</b> (id) 711 * 712 * <p> 713 * <b>Definition:</b> 714 * External identifiers for this item 715 * </p> 716 */ 717 public HealthcareService setIdentifier(java.util.List<IdentifierDt> theValue) { 718 myIdentifier = theValue; 719 return this; 720 } 721 722 723 724 /** 725 * Adds and returns a new value for <b>identifier</b> (id) 726 * 727 * <p> 728 * <b>Definition:</b> 729 * External identifiers for this item 730 * </p> 731 */ 732 public IdentifierDt addIdentifier() { 733 IdentifierDt newType = new IdentifierDt(); 734 getIdentifier().add(newType); 735 return newType; 736 } 737 738 /** 739 * Adds a given new value for <b>identifier</b> (id) 740 * 741 * <p> 742 * <b>Definition:</b> 743 * External identifiers for this item 744 * </p> 745 * @param theValue The identifier to add (must not be <code>null</code>) 746 */ 747 public HealthcareService addIdentifier(IdentifierDt theValue) { 748 if (theValue == null) { 749 throw new NullPointerException("theValue must not be null"); 750 } 751 getIdentifier().add(theValue); 752 return this; 753 } 754 755 /** 756 * Gets the first repetition for <b>identifier</b> (id), 757 * creating it if it does not already exist. 758 * 759 * <p> 760 * <b>Definition:</b> 761 * External identifiers for this item 762 * </p> 763 */ 764 public IdentifierDt getIdentifierFirstRep() { 765 if (getIdentifier().isEmpty()) { 766 return addIdentifier(); 767 } 768 return getIdentifier().get(0); 769 } 770 771 /** 772 * Gets the value(s) for <b>providedBy</b> (). 773 * creating it if it does 774 * not exist. Will not return <code>null</code>. 775 * 776 * <p> 777 * <b>Definition:</b> 778 * The organization that provides this healthcare service 779 * </p> 780 */ 781 public ResourceReferenceDt getProvidedBy() { 782 if (myProvidedBy == null) { 783 myProvidedBy = new ResourceReferenceDt(); 784 } 785 return myProvidedBy; 786 } 787 788 /** 789 * Sets the value(s) for <b>providedBy</b> () 790 * 791 * <p> 792 * <b>Definition:</b> 793 * The organization that provides this healthcare service 794 * </p> 795 */ 796 public HealthcareService setProvidedBy(ResourceReferenceDt theValue) { 797 myProvidedBy = theValue; 798 return this; 799 } 800 801 802 803 804 /** 805 * Gets the value(s) for <b>serviceCategory</b> (class). 806 * creating it if it does 807 * not exist. Will not return <code>null</code>. 808 * 809 * <p> 810 * <b>Definition:</b> 811 * Identifies the broad category of service being performed or delivered 812 * </p> 813 */ 814 public CodeableConceptDt getServiceCategory() { 815 if (myServiceCategory == null) { 816 myServiceCategory = new CodeableConceptDt(); 817 } 818 return myServiceCategory; 819 } 820 821 /** 822 * Sets the value(s) for <b>serviceCategory</b> (class) 823 * 824 * <p> 825 * <b>Definition:</b> 826 * Identifies the broad category of service being performed or delivered 827 * </p> 828 */ 829 public HealthcareService setServiceCategory(CodeableConceptDt theValue) { 830 myServiceCategory = theValue; 831 return this; 832 } 833 834 835 836 837 /** 838 * Gets the value(s) for <b>serviceType</b> (). 839 * creating it if it does 840 * not exist. Will not return <code>null</code>. 841 * 842 * <p> 843 * <b>Definition:</b> 844 * A specific type of service that may be delivered or performed 845 * </p> 846 */ 847 public java.util.List<ServiceType> getServiceType() { 848 if (myServiceType == null) { 849 myServiceType = new java.util.ArrayList<ServiceType>(); 850 } 851 return myServiceType; 852 } 853 854 /** 855 * Sets the value(s) for <b>serviceType</b> () 856 * 857 * <p> 858 * <b>Definition:</b> 859 * A specific type of service that may be delivered or performed 860 * </p> 861 */ 862 public HealthcareService setServiceType(java.util.List<ServiceType> theValue) { 863 myServiceType = theValue; 864 return this; 865 } 866 867 868 869 /** 870 * Adds and returns a new value for <b>serviceType</b> () 871 * 872 * <p> 873 * <b>Definition:</b> 874 * A specific type of service that may be delivered or performed 875 * </p> 876 */ 877 public ServiceType addServiceType() { 878 ServiceType newType = new ServiceType(); 879 getServiceType().add(newType); 880 return newType; 881 } 882 883 /** 884 * Adds a given new value for <b>serviceType</b> () 885 * 886 * <p> 887 * <b>Definition:</b> 888 * A specific type of service that may be delivered or performed 889 * </p> 890 * @param theValue The serviceType to add (must not be <code>null</code>) 891 */ 892 public HealthcareService addServiceType(ServiceType theValue) { 893 if (theValue == null) { 894 throw new NullPointerException("theValue must not be null"); 895 } 896 getServiceType().add(theValue); 897 return this; 898 } 899 900 /** 901 * Gets the first repetition for <b>serviceType</b> (), 902 * creating it if it does not already exist. 903 * 904 * <p> 905 * <b>Definition:</b> 906 * A specific type of service that may be delivered or performed 907 * </p> 908 */ 909 public ServiceType getServiceTypeFirstRep() { 910 if (getServiceType().isEmpty()) { 911 return addServiceType(); 912 } 913 return getServiceType().get(0); 914 } 915 916 /** 917 * Gets the value(s) for <b>location</b> (where). 918 * creating it if it does 919 * not exist. Will not return <code>null</code>. 920 * 921 * <p> 922 * <b>Definition:</b> 923 * The location where this healthcare service may be provided 924 * </p> 925 */ 926 public ResourceReferenceDt getLocation() { 927 if (myLocation == null) { 928 myLocation = new ResourceReferenceDt(); 929 } 930 return myLocation; 931 } 932 933 /** 934 * Sets the value(s) for <b>location</b> (where) 935 * 936 * <p> 937 * <b>Definition:</b> 938 * The location where this healthcare service may be provided 939 * </p> 940 */ 941 public HealthcareService setLocation(ResourceReferenceDt theValue) { 942 myLocation = theValue; 943 return this; 944 } 945 946 947 948 949 /** 950 * Gets the value(s) for <b>serviceName</b> (). 951 * creating it if it does 952 * not exist. Will not return <code>null</code>. 953 * 954 * <p> 955 * <b>Definition:</b> 956 * Further description of the service as it would be presented to a consumer while searching 957 * </p> 958 */ 959 public StringDt getServiceNameElement() { 960 if (myServiceName == null) { 961 myServiceName = new StringDt(); 962 } 963 return myServiceName; 964 } 965 966 967 /** 968 * Gets the value(s) for <b>serviceName</b> (). 969 * creating it if it does 970 * not exist. Will not return <code>null</code>. 971 * 972 * <p> 973 * <b>Definition:</b> 974 * Further description of the service as it would be presented to a consumer while searching 975 * </p> 976 */ 977 public String getServiceName() { 978 return getServiceNameElement().getValue(); 979 } 980 981 /** 982 * Sets the value(s) for <b>serviceName</b> () 983 * 984 * <p> 985 * <b>Definition:</b> 986 * Further description of the service as it would be presented to a consumer while searching 987 * </p> 988 */ 989 public HealthcareService setServiceName(StringDt theValue) { 990 myServiceName = theValue; 991 return this; 992 } 993 994 995 996 /** 997 * Sets the value for <b>serviceName</b> () 998 * 999 * <p> 1000 * <b>Definition:</b> 1001 * Further description of the service as it would be presented to a consumer while searching 1002 * </p> 1003 */ 1004 public HealthcareService setServiceName( String theString) { 1005 myServiceName = new StringDt(theString); 1006 return this; 1007 } 1008 1009 1010 /** 1011 * Gets the value(s) for <b>comment</b> (). 1012 * creating it if it does 1013 * not exist. Will not return <code>null</code>. 1014 * 1015 * <p> 1016 * <b>Definition:</b> 1017 * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName 1018 * </p> 1019 */ 1020 public StringDt getCommentElement() { 1021 if (myComment == null) { 1022 myComment = new StringDt(); 1023 } 1024 return myComment; 1025 } 1026 1027 1028 /** 1029 * Gets the value(s) for <b>comment</b> (). 1030 * creating it if it does 1031 * not exist. Will not return <code>null</code>. 1032 * 1033 * <p> 1034 * <b>Definition:</b> 1035 * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName 1036 * </p> 1037 */ 1038 public String getComment() { 1039 return getCommentElement().getValue(); 1040 } 1041 1042 /** 1043 * Sets the value(s) for <b>comment</b> () 1044 * 1045 * <p> 1046 * <b>Definition:</b> 1047 * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName 1048 * </p> 1049 */ 1050 public HealthcareService setComment(StringDt theValue) { 1051 myComment = theValue; 1052 return this; 1053 } 1054 1055 1056 1057 /** 1058 * Sets the value for <b>comment</b> () 1059 * 1060 * <p> 1061 * <b>Definition:</b> 1062 * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName 1063 * </p> 1064 */ 1065 public HealthcareService setComment( String theString) { 1066 myComment = new StringDt(theString); 1067 return this; 1068 } 1069 1070 1071 /** 1072 * Gets the value(s) for <b>extraDetails</b> (). 1073 * creating it if it does 1074 * not exist. Will not return <code>null</code>. 1075 * 1076 * <p> 1077 * <b>Definition:</b> 1078 * Extra details about the service that can't be placed in the other fields 1079 * </p> 1080 */ 1081 public StringDt getExtraDetailsElement() { 1082 if (myExtraDetails == null) { 1083 myExtraDetails = new StringDt(); 1084 } 1085 return myExtraDetails; 1086 } 1087 1088 1089 /** 1090 * Gets the value(s) for <b>extraDetails</b> (). 1091 * creating it if it does 1092 * not exist. Will not return <code>null</code>. 1093 * 1094 * <p> 1095 * <b>Definition:</b> 1096 * Extra details about the service that can't be placed in the other fields 1097 * </p> 1098 */ 1099 public String getExtraDetails() { 1100 return getExtraDetailsElement().getValue(); 1101 } 1102 1103 /** 1104 * Sets the value(s) for <b>extraDetails</b> () 1105 * 1106 * <p> 1107 * <b>Definition:</b> 1108 * Extra details about the service that can't be placed in the other fields 1109 * </p> 1110 */ 1111 public HealthcareService setExtraDetails(StringDt theValue) { 1112 myExtraDetails = theValue; 1113 return this; 1114 } 1115 1116 1117 1118 /** 1119 * Sets the value for <b>extraDetails</b> () 1120 * 1121 * <p> 1122 * <b>Definition:</b> 1123 * Extra details about the service that can't be placed in the other fields 1124 * </p> 1125 */ 1126 public HealthcareService setExtraDetails( String theString) { 1127 myExtraDetails = new StringDt(theString); 1128 return this; 1129 } 1130 1131 1132 /** 1133 * Gets the value(s) for <b>photo</b> (). 1134 * creating it if it does 1135 * not exist. Will not return <code>null</code>. 1136 * 1137 * <p> 1138 * <b>Definition:</b> 1139 * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list 1140 * </p> 1141 */ 1142 public AttachmentDt getPhoto() { 1143 if (myPhoto == null) { 1144 myPhoto = new AttachmentDt(); 1145 } 1146 return myPhoto; 1147 } 1148 1149 /** 1150 * Sets the value(s) for <b>photo</b> () 1151 * 1152 * <p> 1153 * <b>Definition:</b> 1154 * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list 1155 * </p> 1156 */ 1157 public HealthcareService setPhoto(AttachmentDt theValue) { 1158 myPhoto = theValue; 1159 return this; 1160 } 1161 1162 1163 1164 1165 /** 1166 * Gets the value(s) for <b>telecom</b> (). 1167 * creating it if it does 1168 * not exist. Will not return <code>null</code>. 1169 * 1170 * <p> 1171 * <b>Definition:</b> 1172 * List of contacts related to this specific healthcare service 1173 * </p> 1174 */ 1175 public java.util.List<ContactPointDt> getTelecom() { 1176 if (myTelecom == null) { 1177 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1178 } 1179 return myTelecom; 1180 } 1181 1182 /** 1183 * Sets the value(s) for <b>telecom</b> () 1184 * 1185 * <p> 1186 * <b>Definition:</b> 1187 * List of contacts related to this specific healthcare service 1188 * </p> 1189 */ 1190 public HealthcareService setTelecom(java.util.List<ContactPointDt> theValue) { 1191 myTelecom = theValue; 1192 return this; 1193 } 1194 1195 1196 1197 /** 1198 * Adds and returns a new value for <b>telecom</b> () 1199 * 1200 * <p> 1201 * <b>Definition:</b> 1202 * List of contacts related to this specific healthcare service 1203 * </p> 1204 */ 1205 public ContactPointDt addTelecom() { 1206 ContactPointDt newType = new ContactPointDt(); 1207 getTelecom().add(newType); 1208 return newType; 1209 } 1210 1211 /** 1212 * Adds a given new value for <b>telecom</b> () 1213 * 1214 * <p> 1215 * <b>Definition:</b> 1216 * List of contacts related to this specific healthcare service 1217 * </p> 1218 * @param theValue The telecom to add (must not be <code>null</code>) 1219 */ 1220 public HealthcareService addTelecom(ContactPointDt theValue) { 1221 if (theValue == null) { 1222 throw new NullPointerException("theValue must not be null"); 1223 } 1224 getTelecom().add(theValue); 1225 return this; 1226 } 1227 1228 /** 1229 * Gets the first repetition for <b>telecom</b> (), 1230 * creating it if it does not already exist. 1231 * 1232 * <p> 1233 * <b>Definition:</b> 1234 * List of contacts related to this specific healthcare service 1235 * </p> 1236 */ 1237 public ContactPointDt getTelecomFirstRep() { 1238 if (getTelecom().isEmpty()) { 1239 return addTelecom(); 1240 } 1241 return getTelecom().get(0); 1242 } 1243 1244 /** 1245 * Gets the value(s) for <b>coverageArea</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 location(s) that this service is available to (not where the service is provided) 1252 * </p> 1253 */ 1254 public java.util.List<ResourceReferenceDt> getCoverageArea() { 1255 if (myCoverageArea == null) { 1256 myCoverageArea = new java.util.ArrayList<ResourceReferenceDt>(); 1257 } 1258 return myCoverageArea; 1259 } 1260 1261 /** 1262 * Sets the value(s) for <b>coverageArea</b> () 1263 * 1264 * <p> 1265 * <b>Definition:</b> 1266 * The location(s) that this service is available to (not where the service is provided) 1267 * </p> 1268 */ 1269 public HealthcareService setCoverageArea(java.util.List<ResourceReferenceDt> theValue) { 1270 myCoverageArea = theValue; 1271 return this; 1272 } 1273 1274 1275 1276 /** 1277 * Adds and returns a new value for <b>coverageArea</b> () 1278 * 1279 * <p> 1280 * <b>Definition:</b> 1281 * The location(s) that this service is available to (not where the service is provided) 1282 * </p> 1283 */ 1284 public ResourceReferenceDt addCoverageArea() { 1285 ResourceReferenceDt newType = new ResourceReferenceDt(); 1286 getCoverageArea().add(newType); 1287 return newType; 1288 } 1289 1290 /** 1291 * Gets the value(s) for <b>serviceProvisionCode</b> (). 1292 * creating it if it does 1293 * not exist. Will not return <code>null</code>. 1294 * 1295 * <p> 1296 * <b>Definition:</b> 1297 * The code(s) that detail the conditions under which the healthcare service is available/offered 1298 * </p> 1299 */ 1300 public java.util.List<BoundCodeableConceptDt<ServiceProvisionConditionsEnum>> getServiceProvisionCode() { 1301 if (myServiceProvisionCode == null) { 1302 myServiceProvisionCode = new java.util.ArrayList<BoundCodeableConceptDt<ServiceProvisionConditionsEnum>>(); 1303 } 1304 return myServiceProvisionCode; 1305 } 1306 1307 /** 1308 * Sets the value(s) for <b>serviceProvisionCode</b> () 1309 * 1310 * <p> 1311 * <b>Definition:</b> 1312 * The code(s) that detail the conditions under which the healthcare service is available/offered 1313 * </p> 1314 */ 1315 public HealthcareService setServiceProvisionCode(java.util.List<BoundCodeableConceptDt<ServiceProvisionConditionsEnum>> theValue) { 1316 myServiceProvisionCode = theValue; 1317 return this; 1318 } 1319 1320 1321 1322 /** 1323 * Add a value for <b>serviceProvisionCode</b> () using an enumerated type. This 1324 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1325 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1326 * you may also use the {@link #addServiceProvisionCode()} method. 1327 * 1328 * <p> 1329 * <b>Definition:</b> 1330 * The code(s) that detail the conditions under which the healthcare service is available/offered 1331 * </p> 1332 */ 1333 public BoundCodeableConceptDt<ServiceProvisionConditionsEnum> addServiceProvisionCode(ServiceProvisionConditionsEnum theValue) { 1334 BoundCodeableConceptDt<ServiceProvisionConditionsEnum> retVal = new BoundCodeableConceptDt<ServiceProvisionConditionsEnum>(ServiceProvisionConditionsEnum.VALUESET_BINDER, theValue); 1335 getServiceProvisionCode().add(retVal); 1336 return retVal; 1337 } 1338 1339 /** 1340 * Gets the first repetition for <b>serviceProvisionCode</b> (), 1341 * creating it if it does not already exist. 1342 * 1343 * <p> 1344 * <b>Definition:</b> 1345 * The code(s) that detail the conditions under which the healthcare service is available/offered 1346 * </p> 1347 */ 1348 public BoundCodeableConceptDt<ServiceProvisionConditionsEnum> getServiceProvisionCodeFirstRep() { 1349 if (getServiceProvisionCode().size() == 0) { 1350 addServiceProvisionCode(); 1351 } 1352 return getServiceProvisionCode().get(0); 1353 } 1354 1355 /** 1356 * Add a value for <b>serviceProvisionCode</b> () 1357 * 1358 * <p> 1359 * <b>Definition:</b> 1360 * The code(s) that detail the conditions under which the healthcare service is available/offered 1361 * </p> 1362 */ 1363 public BoundCodeableConceptDt<ServiceProvisionConditionsEnum> addServiceProvisionCode() { 1364 BoundCodeableConceptDt<ServiceProvisionConditionsEnum> retVal = new BoundCodeableConceptDt<ServiceProvisionConditionsEnum>(ServiceProvisionConditionsEnum.VALUESET_BINDER); 1365 getServiceProvisionCode().add(retVal); 1366 return retVal; 1367 } 1368 1369 /** 1370 * Sets the value(s), and clears any existing value(s) for <b>serviceProvisionCode</b> () 1371 * 1372 * <p> 1373 * <b>Definition:</b> 1374 * The code(s) that detail the conditions under which the healthcare service is available/offered 1375 * </p> 1376 */ 1377 public HealthcareService setServiceProvisionCode(ServiceProvisionConditionsEnum theValue) { 1378 getServiceProvisionCode().clear(); 1379 addServiceProvisionCode(theValue); 1380 return this; 1381 } 1382 1383 1384 /** 1385 * Gets the value(s) for <b>eligibility</b> (). 1386 * creating it if it does 1387 * not exist. Will not return <code>null</code>. 1388 * 1389 * <p> 1390 * <b>Definition:</b> 1391 * Does this service have specific eligibility requirements that need to be met in order to use the service? 1392 * </p> 1393 */ 1394 public CodeableConceptDt getEligibility() { 1395 if (myEligibility == null) { 1396 myEligibility = new CodeableConceptDt(); 1397 } 1398 return myEligibility; 1399 } 1400 1401 /** 1402 * Sets the value(s) for <b>eligibility</b> () 1403 * 1404 * <p> 1405 * <b>Definition:</b> 1406 * Does this service have specific eligibility requirements that need to be met in order to use the service? 1407 * </p> 1408 */ 1409 public HealthcareService setEligibility(CodeableConceptDt theValue) { 1410 myEligibility = theValue; 1411 return this; 1412 } 1413 1414 1415 1416 1417 /** 1418 * Gets the value(s) for <b>eligibilityNote</b> (). 1419 * creating it if it does 1420 * not exist. Will not return <code>null</code>. 1421 * 1422 * <p> 1423 * <b>Definition:</b> 1424 * Describes the eligibility conditions for the service 1425 * </p> 1426 */ 1427 public StringDt getEligibilityNoteElement() { 1428 if (myEligibilityNote == null) { 1429 myEligibilityNote = new StringDt(); 1430 } 1431 return myEligibilityNote; 1432 } 1433 1434 1435 /** 1436 * Gets the value(s) for <b>eligibilityNote</b> (). 1437 * creating it if it does 1438 * not exist. Will not return <code>null</code>. 1439 * 1440 * <p> 1441 * <b>Definition:</b> 1442 * Describes the eligibility conditions for the service 1443 * </p> 1444 */ 1445 public String getEligibilityNote() { 1446 return getEligibilityNoteElement().getValue(); 1447 } 1448 1449 /** 1450 * Sets the value(s) for <b>eligibilityNote</b> () 1451 * 1452 * <p> 1453 * <b>Definition:</b> 1454 * Describes the eligibility conditions for the service 1455 * </p> 1456 */ 1457 public HealthcareService setEligibilityNote(StringDt theValue) { 1458 myEligibilityNote = theValue; 1459 return this; 1460 } 1461 1462 1463 1464 /** 1465 * Sets the value for <b>eligibilityNote</b> () 1466 * 1467 * <p> 1468 * <b>Definition:</b> 1469 * Describes the eligibility conditions for the service 1470 * </p> 1471 */ 1472 public HealthcareService setEligibilityNote( String theString) { 1473 myEligibilityNote = new StringDt(theString); 1474 return this; 1475 } 1476 1477 1478 /** 1479 * Gets the value(s) for <b>programName</b> (). 1480 * creating it if it does 1481 * not exist. Will not return <code>null</code>. 1482 * 1483 * <p> 1484 * <b>Definition:</b> 1485 * Program Names that can be used to categorize the service 1486 * </p> 1487 */ 1488 public java.util.List<StringDt> getProgramName() { 1489 if (myProgramName == null) { 1490 myProgramName = new java.util.ArrayList<StringDt>(); 1491 } 1492 return myProgramName; 1493 } 1494 1495 /** 1496 * Sets the value(s) for <b>programName</b> () 1497 * 1498 * <p> 1499 * <b>Definition:</b> 1500 * Program Names that can be used to categorize the service 1501 * </p> 1502 */ 1503 public HealthcareService setProgramName(java.util.List<StringDt> theValue) { 1504 myProgramName = theValue; 1505 return this; 1506 } 1507 1508 1509 1510 /** 1511 * Adds and returns a new value for <b>programName</b> () 1512 * 1513 * <p> 1514 * <b>Definition:</b> 1515 * Program Names that can be used to categorize the service 1516 * </p> 1517 */ 1518 public StringDt addProgramName() { 1519 StringDt newType = new StringDt(); 1520 getProgramName().add(newType); 1521 return newType; 1522 } 1523 1524 /** 1525 * Adds a given new value for <b>programName</b> () 1526 * 1527 * <p> 1528 * <b>Definition:</b> 1529 * Program Names that can be used to categorize the service 1530 * </p> 1531 * @param theValue The programName to add (must not be <code>null</code>) 1532 */ 1533 public HealthcareService addProgramName(StringDt theValue) { 1534 if (theValue == null) { 1535 throw new NullPointerException("theValue must not be null"); 1536 } 1537 getProgramName().add(theValue); 1538 return this; 1539 } 1540 1541 /** 1542 * Gets the first repetition for <b>programName</b> (), 1543 * creating it if it does not already exist. 1544 * 1545 * <p> 1546 * <b>Definition:</b> 1547 * Program Names that can be used to categorize the service 1548 * </p> 1549 */ 1550 public StringDt getProgramNameFirstRep() { 1551 if (getProgramName().isEmpty()) { 1552 return addProgramName(); 1553 } 1554 return getProgramName().get(0); 1555 } 1556 /** 1557 * Adds a new value for <b>programName</b> () 1558 * 1559 * <p> 1560 * <b>Definition:</b> 1561 * Program Names that can be used to categorize the service 1562 * </p> 1563 * 1564 * @return Returns a reference to this object, to allow for simple chaining. 1565 */ 1566 public HealthcareService addProgramName( String theString) { 1567 if (myProgramName == null) { 1568 myProgramName = new java.util.ArrayList<StringDt>(); 1569 } 1570 myProgramName.add(new StringDt(theString)); 1571 return this; 1572 } 1573 1574 1575 /** 1576 * Gets the value(s) for <b>characteristic</b> (). 1577 * creating it if it does 1578 * not exist. Will not return <code>null</code>. 1579 * 1580 * <p> 1581 * <b>Definition:</b> 1582 * Collection of characteristics (attributes) 1583 * </p> 1584 */ 1585 public java.util.List<CodeableConceptDt> getCharacteristic() { 1586 if (myCharacteristic == null) { 1587 myCharacteristic = new java.util.ArrayList<CodeableConceptDt>(); 1588 } 1589 return myCharacteristic; 1590 } 1591 1592 /** 1593 * Sets the value(s) for <b>characteristic</b> () 1594 * 1595 * <p> 1596 * <b>Definition:</b> 1597 * Collection of characteristics (attributes) 1598 * </p> 1599 */ 1600 public HealthcareService setCharacteristic(java.util.List<CodeableConceptDt> theValue) { 1601 myCharacteristic = theValue; 1602 return this; 1603 } 1604 1605 1606 1607 /** 1608 * Adds and returns a new value for <b>characteristic</b> () 1609 * 1610 * <p> 1611 * <b>Definition:</b> 1612 * Collection of characteristics (attributes) 1613 * </p> 1614 */ 1615 public CodeableConceptDt addCharacteristic() { 1616 CodeableConceptDt newType = new CodeableConceptDt(); 1617 getCharacteristic().add(newType); 1618 return newType; 1619 } 1620 1621 /** 1622 * Adds a given new value for <b>characteristic</b> () 1623 * 1624 * <p> 1625 * <b>Definition:</b> 1626 * Collection of characteristics (attributes) 1627 * </p> 1628 * @param theValue The characteristic to add (must not be <code>null</code>) 1629 */ 1630 public HealthcareService addCharacteristic(CodeableConceptDt theValue) { 1631 if (theValue == null) { 1632 throw new NullPointerException("theValue must not be null"); 1633 } 1634 getCharacteristic().add(theValue); 1635 return this; 1636 } 1637 1638 /** 1639 * Gets the first repetition for <b>characteristic</b> (), 1640 * creating it if it does not already exist. 1641 * 1642 * <p> 1643 * <b>Definition:</b> 1644 * Collection of characteristics (attributes) 1645 * </p> 1646 */ 1647 public CodeableConceptDt getCharacteristicFirstRep() { 1648 if (getCharacteristic().isEmpty()) { 1649 return addCharacteristic(); 1650 } 1651 return getCharacteristic().get(0); 1652 } 1653 1654 /** 1655 * Gets the value(s) for <b>referralMethod</b> (). 1656 * creating it if it does 1657 * not exist. Will not return <code>null</code>. 1658 * 1659 * <p> 1660 * <b>Definition:</b> 1661 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1662 * </p> 1663 */ 1664 public java.util.List<BoundCodeableConceptDt<ReferralMethodEnum>> getReferralMethod() { 1665 if (myReferralMethod == null) { 1666 myReferralMethod = new java.util.ArrayList<BoundCodeableConceptDt<ReferralMethodEnum>>(); 1667 } 1668 return myReferralMethod; 1669 } 1670 1671 /** 1672 * Sets the value(s) for <b>referralMethod</b> () 1673 * 1674 * <p> 1675 * <b>Definition:</b> 1676 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1677 * </p> 1678 */ 1679 public HealthcareService setReferralMethod(java.util.List<BoundCodeableConceptDt<ReferralMethodEnum>> theValue) { 1680 myReferralMethod = theValue; 1681 return this; 1682 } 1683 1684 1685 1686 /** 1687 * Add a value for <b>referralMethod</b> () using an enumerated type. This 1688 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1689 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1690 * you may also use the {@link #addReferralMethod()} method. 1691 * 1692 * <p> 1693 * <b>Definition:</b> 1694 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1695 * </p> 1696 */ 1697 public BoundCodeableConceptDt<ReferralMethodEnum> addReferralMethod(ReferralMethodEnum theValue) { 1698 BoundCodeableConceptDt<ReferralMethodEnum> retVal = new BoundCodeableConceptDt<ReferralMethodEnum>(ReferralMethodEnum.VALUESET_BINDER, theValue); 1699 getReferralMethod().add(retVal); 1700 return retVal; 1701 } 1702 1703 /** 1704 * Gets the first repetition for <b>referralMethod</b> (), 1705 * creating it if it does not already exist. 1706 * 1707 * <p> 1708 * <b>Definition:</b> 1709 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1710 * </p> 1711 */ 1712 public BoundCodeableConceptDt<ReferralMethodEnum> getReferralMethodFirstRep() { 1713 if (getReferralMethod().size() == 0) { 1714 addReferralMethod(); 1715 } 1716 return getReferralMethod().get(0); 1717 } 1718 1719 /** 1720 * Add a value for <b>referralMethod</b> () 1721 * 1722 * <p> 1723 * <b>Definition:</b> 1724 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1725 * </p> 1726 */ 1727 public BoundCodeableConceptDt<ReferralMethodEnum> addReferralMethod() { 1728 BoundCodeableConceptDt<ReferralMethodEnum> retVal = new BoundCodeableConceptDt<ReferralMethodEnum>(ReferralMethodEnum.VALUESET_BINDER); 1729 getReferralMethod().add(retVal); 1730 return retVal; 1731 } 1732 1733 /** 1734 * Sets the value(s), and clears any existing value(s) for <b>referralMethod</b> () 1735 * 1736 * <p> 1737 * <b>Definition:</b> 1738 * Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required 1739 * </p> 1740 */ 1741 public HealthcareService setReferralMethod(ReferralMethodEnum theValue) { 1742 getReferralMethod().clear(); 1743 addReferralMethod(theValue); 1744 return this; 1745 } 1746 1747 1748 /** 1749 * Gets the value(s) for <b>publicKey</b> (). 1750 * creating it if it does 1751 * not exist. Will not return <code>null</code>. 1752 * 1753 * <p> 1754 * <b>Definition:</b> 1755 * The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available 1756 * </p> 1757 */ 1758 public StringDt getPublicKeyElement() { 1759 if (myPublicKey == null) { 1760 myPublicKey = new StringDt(); 1761 } 1762 return myPublicKey; 1763 } 1764 1765 1766 /** 1767 * Gets the value(s) for <b>publicKey</b> (). 1768 * creating it if it does 1769 * not exist. Will not return <code>null</code>. 1770 * 1771 * <p> 1772 * <b>Definition:</b> 1773 * The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available 1774 * </p> 1775 */ 1776 public String getPublicKey() { 1777 return getPublicKeyElement().getValue(); 1778 } 1779 1780 /** 1781 * Sets the value(s) for <b>publicKey</b> () 1782 * 1783 * <p> 1784 * <b>Definition:</b> 1785 * The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available 1786 * </p> 1787 */ 1788 public HealthcareService setPublicKey(StringDt theValue) { 1789 myPublicKey = theValue; 1790 return this; 1791 } 1792 1793 1794 1795 /** 1796 * Sets the value for <b>publicKey</b> () 1797 * 1798 * <p> 1799 * <b>Definition:</b> 1800 * The public part of the 'keys' allocated to an Organization by an accredited body to support secure exchange of data over the internet. To be provided by the Organization, where available 1801 * </p> 1802 */ 1803 public HealthcareService setPublicKey( String theString) { 1804 myPublicKey = new StringDt(theString); 1805 return this; 1806 } 1807 1808 1809 /** 1810 * Gets the value(s) for <b>appointmentRequired</b> (). 1811 * creating it if it does 1812 * not exist. Will not return <code>null</code>. 1813 * 1814 * <p> 1815 * <b>Definition:</b> 1816 * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. 1817 * </p> 1818 */ 1819 public BooleanDt getAppointmentRequiredElement() { 1820 if (myAppointmentRequired == null) { 1821 myAppointmentRequired = new BooleanDt(); 1822 } 1823 return myAppointmentRequired; 1824 } 1825 1826 1827 /** 1828 * Gets the value(s) for <b>appointmentRequired</b> (). 1829 * creating it if it does 1830 * not exist. Will not return <code>null</code>. 1831 * 1832 * <p> 1833 * <b>Definition:</b> 1834 * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. 1835 * </p> 1836 */ 1837 public Boolean getAppointmentRequired() { 1838 return getAppointmentRequiredElement().getValue(); 1839 } 1840 1841 /** 1842 * Sets the value(s) for <b>appointmentRequired</b> () 1843 * 1844 * <p> 1845 * <b>Definition:</b> 1846 * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. 1847 * </p> 1848 */ 1849 public HealthcareService setAppointmentRequired(BooleanDt theValue) { 1850 myAppointmentRequired = theValue; 1851 return this; 1852 } 1853 1854 1855 1856 /** 1857 * Sets the value for <b>appointmentRequired</b> () 1858 * 1859 * <p> 1860 * <b>Definition:</b> 1861 * Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service. 1862 * </p> 1863 */ 1864 public HealthcareService setAppointmentRequired( boolean theBoolean) { 1865 myAppointmentRequired = new BooleanDt(theBoolean); 1866 return this; 1867 } 1868 1869 1870 /** 1871 * Gets the value(s) for <b>availableTime</b> (). 1872 * creating it if it does 1873 * not exist. Will not return <code>null</code>. 1874 * 1875 * <p> 1876 * <b>Definition:</b> 1877 * A collection of times that the Service Site is available 1878 * </p> 1879 */ 1880 public java.util.List<AvailableTime> getAvailableTime() { 1881 if (myAvailableTime == null) { 1882 myAvailableTime = new java.util.ArrayList<AvailableTime>(); 1883 } 1884 return myAvailableTime; 1885 } 1886 1887 /** 1888 * Sets the value(s) for <b>availableTime</b> () 1889 * 1890 * <p> 1891 * <b>Definition:</b> 1892 * A collection of times that the Service Site is available 1893 * </p> 1894 */ 1895 public HealthcareService setAvailableTime(java.util.List<AvailableTime> theValue) { 1896 myAvailableTime = theValue; 1897 return this; 1898 } 1899 1900 1901 1902 /** 1903 * Adds and returns a new value for <b>availableTime</b> () 1904 * 1905 * <p> 1906 * <b>Definition:</b> 1907 * A collection of times that the Service Site is available 1908 * </p> 1909 */ 1910 public AvailableTime addAvailableTime() { 1911 AvailableTime newType = new AvailableTime(); 1912 getAvailableTime().add(newType); 1913 return newType; 1914 } 1915 1916 /** 1917 * Adds a given new value for <b>availableTime</b> () 1918 * 1919 * <p> 1920 * <b>Definition:</b> 1921 * A collection of times that the Service Site is available 1922 * </p> 1923 * @param theValue The availableTime to add (must not be <code>null</code>) 1924 */ 1925 public HealthcareService addAvailableTime(AvailableTime theValue) { 1926 if (theValue == null) { 1927 throw new NullPointerException("theValue must not be null"); 1928 } 1929 getAvailableTime().add(theValue); 1930 return this; 1931 } 1932 1933 /** 1934 * Gets the first repetition for <b>availableTime</b> (), 1935 * creating it if it does not already exist. 1936 * 1937 * <p> 1938 * <b>Definition:</b> 1939 * A collection of times that the Service Site is available 1940 * </p> 1941 */ 1942 public AvailableTime getAvailableTimeFirstRep() { 1943 if (getAvailableTime().isEmpty()) { 1944 return addAvailableTime(); 1945 } 1946 return getAvailableTime().get(0); 1947 } 1948 1949 /** 1950 * Gets the value(s) for <b>notAvailable</b> (). 1951 * creating it if it does 1952 * not exist. Will not return <code>null</code>. 1953 * 1954 * <p> 1955 * <b>Definition:</b> 1956 * The HealthcareService is not available during this period of time due to the provided reason 1957 * </p> 1958 */ 1959 public java.util.List<NotAvailable> getNotAvailable() { 1960 if (myNotAvailable == null) { 1961 myNotAvailable = new java.util.ArrayList<NotAvailable>(); 1962 } 1963 return myNotAvailable; 1964 } 1965 1966 /** 1967 * Sets the value(s) for <b>notAvailable</b> () 1968 * 1969 * <p> 1970 * <b>Definition:</b> 1971 * The HealthcareService is not available during this period of time due to the provided reason 1972 * </p> 1973 */ 1974 public HealthcareService setNotAvailable(java.util.List<NotAvailable> theValue) { 1975 myNotAvailable = theValue; 1976 return this; 1977 } 1978 1979 1980 1981 /** 1982 * Adds and returns a new value for <b>notAvailable</b> () 1983 * 1984 * <p> 1985 * <b>Definition:</b> 1986 * The HealthcareService is not available during this period of time due to the provided reason 1987 * </p> 1988 */ 1989 public NotAvailable addNotAvailable() { 1990 NotAvailable newType = new NotAvailable(); 1991 getNotAvailable().add(newType); 1992 return newType; 1993 } 1994 1995 /** 1996 * Adds a given new value for <b>notAvailable</b> () 1997 * 1998 * <p> 1999 * <b>Definition:</b> 2000 * The HealthcareService is not available during this period of time due to the provided reason 2001 * </p> 2002 * @param theValue The notAvailable to add (must not be <code>null</code>) 2003 */ 2004 public HealthcareService addNotAvailable(NotAvailable theValue) { 2005 if (theValue == null) { 2006 throw new NullPointerException("theValue must not be null"); 2007 } 2008 getNotAvailable().add(theValue); 2009 return this; 2010 } 2011 2012 /** 2013 * Gets the first repetition for <b>notAvailable</b> (), 2014 * creating it if it does not already exist. 2015 * 2016 * <p> 2017 * <b>Definition:</b> 2018 * The HealthcareService is not available during this period of time due to the provided reason 2019 * </p> 2020 */ 2021 public NotAvailable getNotAvailableFirstRep() { 2022 if (getNotAvailable().isEmpty()) { 2023 return addNotAvailable(); 2024 } 2025 return getNotAvailable().get(0); 2026 } 2027 2028 /** 2029 * Gets the value(s) for <b>availabilityExceptions</b> (). 2030 * creating it if it does 2031 * not exist. Will not return <code>null</code>. 2032 * 2033 * <p> 2034 * <b>Definition:</b> 2035 * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times 2036 * </p> 2037 */ 2038 public StringDt getAvailabilityExceptionsElement() { 2039 if (myAvailabilityExceptions == null) { 2040 myAvailabilityExceptions = new StringDt(); 2041 } 2042 return myAvailabilityExceptions; 2043 } 2044 2045 2046 /** 2047 * Gets the value(s) for <b>availabilityExceptions</b> (). 2048 * creating it if it does 2049 * not exist. Will not return <code>null</code>. 2050 * 2051 * <p> 2052 * <b>Definition:</b> 2053 * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times 2054 * </p> 2055 */ 2056 public String getAvailabilityExceptions() { 2057 return getAvailabilityExceptionsElement().getValue(); 2058 } 2059 2060 /** 2061 * Sets the value(s) for <b>availabilityExceptions</b> () 2062 * 2063 * <p> 2064 * <b>Definition:</b> 2065 * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times 2066 * </p> 2067 */ 2068 public HealthcareService setAvailabilityExceptions(StringDt theValue) { 2069 myAvailabilityExceptions = theValue; 2070 return this; 2071 } 2072 2073 2074 2075 /** 2076 * Sets the value for <b>availabilityExceptions</b> () 2077 * 2078 * <p> 2079 * <b>Definition:</b> 2080 * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times 2081 * </p> 2082 */ 2083 public HealthcareService setAvailabilityExceptions( String theString) { 2084 myAvailabilityExceptions = new StringDt(theString); 2085 return this; 2086 } 2087 2088 2089 /** 2090 * Block class for child element: <b>HealthcareService.serviceType</b> () 2091 * 2092 * <p> 2093 * <b>Definition:</b> 2094 * A specific type of service that may be delivered or performed 2095 * </p> 2096 */ 2097 @Block() 2098 public static class ServiceType 2099 extends BaseIdentifiableElement implements IResourceBlock { 2100 2101 @Child(name="type", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2102 @Description( 2103 shortDefinition="", 2104 formalDefinition="The specific type of service being delivered or performed" 2105 ) 2106 private CodeableConceptDt myType; 2107 2108 @Child(name="specialty", type=CodeableConceptDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2109 @Description( 2110 shortDefinition="", 2111 formalDefinition="Collection of specialties handled by the service site. This is more of a medical term" 2112 ) 2113 private java.util.List<CodeableConceptDt> mySpecialty; 2114 2115 2116 @Override 2117 public boolean isEmpty() { 2118 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, mySpecialty); 2119 } 2120 2121 @Override 2122 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2123 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, mySpecialty); 2124 } 2125 2126 /** 2127 * Gets the value(s) for <b>type</b> (). 2128 * creating it if it does 2129 * not exist. Will not return <code>null</code>. 2130 * 2131 * <p> 2132 * <b>Definition:</b> 2133 * The specific type of service being delivered or performed 2134 * </p> 2135 */ 2136 public CodeableConceptDt getType() { 2137 if (myType == null) { 2138 myType = new CodeableConceptDt(); 2139 } 2140 return myType; 2141 } 2142 2143 /** 2144 * Sets the value(s) for <b>type</b> () 2145 * 2146 * <p> 2147 * <b>Definition:</b> 2148 * The specific type of service being delivered or performed 2149 * </p> 2150 */ 2151 public ServiceType setType(CodeableConceptDt theValue) { 2152 myType = theValue; 2153 return this; 2154 } 2155 2156 2157 2158 2159 /** 2160 * Gets the value(s) for <b>specialty</b> (). 2161 * creating it if it does 2162 * not exist. Will not return <code>null</code>. 2163 * 2164 * <p> 2165 * <b>Definition:</b> 2166 * Collection of specialties handled by the service site. This is more of a medical term 2167 * </p> 2168 */ 2169 public java.util.List<CodeableConceptDt> getSpecialty() { 2170 if (mySpecialty == null) { 2171 mySpecialty = new java.util.ArrayList<CodeableConceptDt>(); 2172 } 2173 return mySpecialty; 2174 } 2175 2176 /** 2177 * Sets the value(s) for <b>specialty</b> () 2178 * 2179 * <p> 2180 * <b>Definition:</b> 2181 * Collection of specialties handled by the service site. This is more of a medical term 2182 * </p> 2183 */ 2184 public ServiceType setSpecialty(java.util.List<CodeableConceptDt> theValue) { 2185 mySpecialty = theValue; 2186 return this; 2187 } 2188 2189 2190 2191 /** 2192 * Adds and returns a new value for <b>specialty</b> () 2193 * 2194 * <p> 2195 * <b>Definition:</b> 2196 * Collection of specialties handled by the service site. This is more of a medical term 2197 * </p> 2198 */ 2199 public CodeableConceptDt addSpecialty() { 2200 CodeableConceptDt newType = new CodeableConceptDt(); 2201 getSpecialty().add(newType); 2202 return newType; 2203 } 2204 2205 /** 2206 * Adds a given new value for <b>specialty</b> () 2207 * 2208 * <p> 2209 * <b>Definition:</b> 2210 * Collection of specialties handled by the service site. This is more of a medical term 2211 * </p> 2212 * @param theValue The specialty to add (must not be <code>null</code>) 2213 */ 2214 public ServiceType addSpecialty(CodeableConceptDt theValue) { 2215 if (theValue == null) { 2216 throw new NullPointerException("theValue must not be null"); 2217 } 2218 getSpecialty().add(theValue); 2219 return this; 2220 } 2221 2222 /** 2223 * Gets the first repetition for <b>specialty</b> (), 2224 * creating it if it does not already exist. 2225 * 2226 * <p> 2227 * <b>Definition:</b> 2228 * Collection of specialties handled by the service site. This is more of a medical term 2229 * </p> 2230 */ 2231 public CodeableConceptDt getSpecialtyFirstRep() { 2232 if (getSpecialty().isEmpty()) { 2233 return addSpecialty(); 2234 } 2235 return getSpecialty().get(0); 2236 } 2237 2238 2239 2240 } 2241 2242 2243 /** 2244 * Block class for child element: <b>HealthcareService.availableTime</b> () 2245 * 2246 * <p> 2247 * <b>Definition:</b> 2248 * A collection of times that the Service Site is available 2249 * </p> 2250 */ 2251 @Block() 2252 public static class AvailableTime 2253 extends BaseIdentifiableElement implements IResourceBlock { 2254 2255 @Child(name="daysOfWeek", type=CodeDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2256 @Description( 2257 shortDefinition="", 2258 formalDefinition="Indicates which days of the week are available between the start and end Times" 2259 ) 2260 private java.util.List<BoundCodeDt<DaysOfWeekEnum>> myDaysOfWeek; 2261 2262 @Child(name="allDay", type=BooleanDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2263 @Description( 2264 shortDefinition="", 2265 formalDefinition="Is this always available? (hence times are irrelevant) e.g. 24 hour service" 2266 ) 2267 private BooleanDt myAllDay; 2268 2269 @Child(name="availableStartTime", type=TimeDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2270 @Description( 2271 shortDefinition="", 2272 formalDefinition="The opening time of day. Note: If the AllDay flag is set, then this time is ignored" 2273 ) 2274 private TimeDt myAvailableStartTime; 2275 2276 @Child(name="availableEndTime", type=TimeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2277 @Description( 2278 shortDefinition="", 2279 formalDefinition="The closing time of day. Note: If the AllDay flag is set, then this time is ignored" 2280 ) 2281 private TimeDt myAvailableEndTime; 2282 2283 2284 @Override 2285 public boolean isEmpty() { 2286 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myDaysOfWeek, myAllDay, myAvailableStartTime, myAvailableEndTime); 2287 } 2288 2289 @Override 2290 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2291 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myDaysOfWeek, myAllDay, myAvailableStartTime, myAvailableEndTime); 2292 } 2293 2294 /** 2295 * Gets the value(s) for <b>daysOfWeek</b> (). 2296 * creating it if it does 2297 * not exist. Will not return <code>null</code>. 2298 * 2299 * <p> 2300 * <b>Definition:</b> 2301 * Indicates which days of the week are available between the start and end Times 2302 * </p> 2303 */ 2304 public java.util.List<BoundCodeDt<DaysOfWeekEnum>> getDaysOfWeek() { 2305 if (myDaysOfWeek == null) { 2306 myDaysOfWeek = new java.util.ArrayList<BoundCodeDt<DaysOfWeekEnum>>(); 2307 } 2308 return myDaysOfWeek; 2309 } 2310 2311 /** 2312 * Sets the value(s) for <b>daysOfWeek</b> () 2313 * 2314 * <p> 2315 * <b>Definition:</b> 2316 * Indicates which days of the week are available between the start and end Times 2317 * </p> 2318 */ 2319 public AvailableTime setDaysOfWeek(java.util.List<BoundCodeDt<DaysOfWeekEnum>> theValue) { 2320 myDaysOfWeek = theValue; 2321 return this; 2322 } 2323 2324 2325 2326 /** 2327 * Add a value for <b>daysOfWeek</b> () using an enumerated type. This 2328 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 2329 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 2330 * you may also use the {@link #addDaysOfWeek()} method. 2331 * 2332 * <p> 2333 * <b>Definition:</b> 2334 * Indicates which days of the week are available between the start and end Times 2335 * </p> 2336 */ 2337 public BoundCodeDt<DaysOfWeekEnum> addDaysOfWeek(DaysOfWeekEnum theValue) { 2338 BoundCodeDt<DaysOfWeekEnum> retVal = new BoundCodeDt<DaysOfWeekEnum>(DaysOfWeekEnum.VALUESET_BINDER, theValue); 2339 getDaysOfWeek().add(retVal); 2340 return retVal; 2341 } 2342 2343 /** 2344 * Gets the first repetition for <b>daysOfWeek</b> (), 2345 * creating it if it does not already exist. 2346 * 2347 * <p> 2348 * <b>Definition:</b> 2349 * Indicates which days of the week are available between the start and end Times 2350 * </p> 2351 */ 2352 public BoundCodeDt<DaysOfWeekEnum> getDaysOfWeekFirstRep() { 2353 if (getDaysOfWeek().size() == 0) { 2354 addDaysOfWeek(); 2355 } 2356 return getDaysOfWeek().get(0); 2357 } 2358 2359 /** 2360 * Add a value for <b>daysOfWeek</b> () 2361 * 2362 * <p> 2363 * <b>Definition:</b> 2364 * Indicates which days of the week are available between the start and end Times 2365 * </p> 2366 */ 2367 public BoundCodeDt<DaysOfWeekEnum> addDaysOfWeek() { 2368 BoundCodeDt<DaysOfWeekEnum> retVal = new BoundCodeDt<DaysOfWeekEnum>(DaysOfWeekEnum.VALUESET_BINDER); 2369 getDaysOfWeek().add(retVal); 2370 return retVal; 2371 } 2372 2373 /** 2374 * Sets the value(s), and clears any existing value(s) for <b>daysOfWeek</b> () 2375 * 2376 * <p> 2377 * <b>Definition:</b> 2378 * Indicates which days of the week are available between the start and end Times 2379 * </p> 2380 */ 2381 public AvailableTime setDaysOfWeek(DaysOfWeekEnum theValue) { 2382 getDaysOfWeek().clear(); 2383 addDaysOfWeek(theValue); 2384 return this; 2385 } 2386 2387 2388 /** 2389 * Gets the value(s) for <b>allDay</b> (). 2390 * creating it if it does 2391 * not exist. Will not return <code>null</code>. 2392 * 2393 * <p> 2394 * <b>Definition:</b> 2395 * Is this always available? (hence times are irrelevant) e.g. 24 hour service 2396 * </p> 2397 */ 2398 public BooleanDt getAllDayElement() { 2399 if (myAllDay == null) { 2400 myAllDay = new BooleanDt(); 2401 } 2402 return myAllDay; 2403 } 2404 2405 2406 /** 2407 * Gets the value(s) for <b>allDay</b> (). 2408 * creating it if it does 2409 * not exist. Will not return <code>null</code>. 2410 * 2411 * <p> 2412 * <b>Definition:</b> 2413 * Is this always available? (hence times are irrelevant) e.g. 24 hour service 2414 * </p> 2415 */ 2416 public Boolean getAllDay() { 2417 return getAllDayElement().getValue(); 2418 } 2419 2420 /** 2421 * Sets the value(s) for <b>allDay</b> () 2422 * 2423 * <p> 2424 * <b>Definition:</b> 2425 * Is this always available? (hence times are irrelevant) e.g. 24 hour service 2426 * </p> 2427 */ 2428 public AvailableTime setAllDay(BooleanDt theValue) { 2429 myAllDay = theValue; 2430 return this; 2431 } 2432 2433 2434 2435 /** 2436 * Sets the value for <b>allDay</b> () 2437 * 2438 * <p> 2439 * <b>Definition:</b> 2440 * Is this always available? (hence times are irrelevant) e.g. 24 hour service 2441 * </p> 2442 */ 2443 public AvailableTime setAllDay( boolean theBoolean) { 2444 myAllDay = new BooleanDt(theBoolean); 2445 return this; 2446 } 2447 2448 2449 /** 2450 * Gets the value(s) for <b>availableStartTime</b> (). 2451 * creating it if it does 2452 * not exist. Will not return <code>null</code>. 2453 * 2454 * <p> 2455 * <b>Definition:</b> 2456 * The opening time of day. Note: If the AllDay flag is set, then this time is ignored 2457 * </p> 2458 */ 2459 public TimeDt getAvailableStartTimeElement() { 2460 if (myAvailableStartTime == null) { 2461 myAvailableStartTime = new TimeDt(); 2462 } 2463 return myAvailableStartTime; 2464 } 2465 2466 2467 /** 2468 * Gets the value(s) for <b>availableStartTime</b> (). 2469 * creating it if it does 2470 * not exist. Will not return <code>null</code>. 2471 * 2472 * <p> 2473 * <b>Definition:</b> 2474 * The opening time of day. Note: If the AllDay flag is set, then this time is ignored 2475 * </p> 2476 */ 2477 public String getAvailableStartTime() { 2478 return getAvailableStartTimeElement().getValue(); 2479 } 2480 2481 /** 2482 * Sets the value(s) for <b>availableStartTime</b> () 2483 * 2484 * <p> 2485 * <b>Definition:</b> 2486 * The opening time of day. Note: If the AllDay flag is set, then this time is ignored 2487 * </p> 2488 */ 2489 public AvailableTime setAvailableStartTime(TimeDt theValue) { 2490 myAvailableStartTime = theValue; 2491 return this; 2492 } 2493 2494 2495 2496 /** 2497 * Sets the value for <b>availableStartTime</b> () 2498 * 2499 * <p> 2500 * <b>Definition:</b> 2501 * The opening time of day. Note: If the AllDay flag is set, then this time is ignored 2502 * </p> 2503 */ 2504 public AvailableTime setAvailableStartTime( String theString) { 2505 myAvailableStartTime = new TimeDt(theString); 2506 return this; 2507 } 2508 2509 2510 /** 2511 * Gets the value(s) for <b>availableEndTime</b> (). 2512 * creating it if it does 2513 * not exist. Will not return <code>null</code>. 2514 * 2515 * <p> 2516 * <b>Definition:</b> 2517 * The closing time of day. Note: If the AllDay flag is set, then this time is ignored 2518 * </p> 2519 */ 2520 public TimeDt getAvailableEndTimeElement() { 2521 if (myAvailableEndTime == null) { 2522 myAvailableEndTime = new TimeDt(); 2523 } 2524 return myAvailableEndTime; 2525 } 2526 2527 2528 /** 2529 * Gets the value(s) for <b>availableEndTime</b> (). 2530 * creating it if it does 2531 * not exist. Will not return <code>null</code>. 2532 * 2533 * <p> 2534 * <b>Definition:</b> 2535 * The closing time of day. Note: If the AllDay flag is set, then this time is ignored 2536 * </p> 2537 */ 2538 public String getAvailableEndTime() { 2539 return getAvailableEndTimeElement().getValue(); 2540 } 2541 2542 /** 2543 * Sets the value(s) for <b>availableEndTime</b> () 2544 * 2545 * <p> 2546 * <b>Definition:</b> 2547 * The closing time of day. Note: If the AllDay flag is set, then this time is ignored 2548 * </p> 2549 */ 2550 public AvailableTime setAvailableEndTime(TimeDt theValue) { 2551 myAvailableEndTime = theValue; 2552 return this; 2553 } 2554 2555 2556 2557 /** 2558 * Sets the value for <b>availableEndTime</b> () 2559 * 2560 * <p> 2561 * <b>Definition:</b> 2562 * The closing time of day. Note: If the AllDay flag is set, then this time is ignored 2563 * </p> 2564 */ 2565 public AvailableTime setAvailableEndTime( String theString) { 2566 myAvailableEndTime = new TimeDt(theString); 2567 return this; 2568 } 2569 2570 2571 2572 2573 } 2574 2575 2576 /** 2577 * Block class for child element: <b>HealthcareService.notAvailable</b> () 2578 * 2579 * <p> 2580 * <b>Definition:</b> 2581 * The HealthcareService is not available during this period of time due to the provided reason 2582 * </p> 2583 */ 2584 @Block() 2585 public static class NotAvailable 2586 extends BaseIdentifiableElement implements IResourceBlock { 2587 2588 @Child(name="description", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2589 @Description( 2590 shortDefinition="", 2591 formalDefinition="The reason that can be presented to the user as to why this time is not available" 2592 ) 2593 private StringDt myDescription; 2594 2595 @Child(name="during", type=PeriodDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2596 @Description( 2597 shortDefinition="", 2598 formalDefinition="Service is not available (seasonally or for a public holiday) from this date" 2599 ) 2600 private PeriodDt myDuring; 2601 2602 2603 @Override 2604 public boolean isEmpty() { 2605 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myDescription, myDuring); 2606 } 2607 2608 @Override 2609 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2610 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myDescription, myDuring); 2611 } 2612 2613 /** 2614 * Gets the value(s) for <b>description</b> (). 2615 * creating it if it does 2616 * not exist. Will not return <code>null</code>. 2617 * 2618 * <p> 2619 * <b>Definition:</b> 2620 * The reason that can be presented to the user as to why this time is not available 2621 * </p> 2622 */ 2623 public StringDt getDescriptionElement() { 2624 if (myDescription == null) { 2625 myDescription = new StringDt(); 2626 } 2627 return myDescription; 2628 } 2629 2630 2631 /** 2632 * Gets the value(s) for <b>description</b> (). 2633 * creating it if it does 2634 * not exist. Will not return <code>null</code>. 2635 * 2636 * <p> 2637 * <b>Definition:</b> 2638 * The reason that can be presented to the user as to why this time is not available 2639 * </p> 2640 */ 2641 public String getDescription() { 2642 return getDescriptionElement().getValue(); 2643 } 2644 2645 /** 2646 * Sets the value(s) for <b>description</b> () 2647 * 2648 * <p> 2649 * <b>Definition:</b> 2650 * The reason that can be presented to the user as to why this time is not available 2651 * </p> 2652 */ 2653 public NotAvailable setDescription(StringDt theValue) { 2654 myDescription = theValue; 2655 return this; 2656 } 2657 2658 2659 2660 /** 2661 * Sets the value for <b>description</b> () 2662 * 2663 * <p> 2664 * <b>Definition:</b> 2665 * The reason that can be presented to the user as to why this time is not available 2666 * </p> 2667 */ 2668 public NotAvailable setDescription( String theString) { 2669 myDescription = new StringDt(theString); 2670 return this; 2671 } 2672 2673 2674 /** 2675 * Gets the value(s) for <b>during</b> (). 2676 * creating it if it does 2677 * not exist. Will not return <code>null</code>. 2678 * 2679 * <p> 2680 * <b>Definition:</b> 2681 * Service is not available (seasonally or for a public holiday) from this date 2682 * </p> 2683 */ 2684 public PeriodDt getDuring() { 2685 if (myDuring == null) { 2686 myDuring = new PeriodDt(); 2687 } 2688 return myDuring; 2689 } 2690 2691 /** 2692 * Sets the value(s) for <b>during</b> () 2693 * 2694 * <p> 2695 * <b>Definition:</b> 2696 * Service is not available (seasonally or for a public holiday) from this date 2697 * </p> 2698 */ 2699 public NotAvailable setDuring(PeriodDt theValue) { 2700 myDuring = theValue; 2701 return this; 2702 } 2703 2704 2705 2706 2707 2708 2709 } 2710 2711 2712 2713 2714 @Override 2715 public String getResourceName() { 2716 return "HealthcareService"; 2717 } 2718 2719 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2720 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2721 } 2722 2723 2724}