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