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>Appointment</b> Resource 282 * () 283 * 284 * <p> 285 * <b>Definition:</b> 286 * 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/Appointment">http://hl7.org/fhir/profiles/Appointment</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Appointment", profile="http://hl7.org/fhir/profiles/Appointment", id="appointment") 301public class Appointment extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>date</b> 307 * <p> 308 * Description: <b>Appointment date/time.</b><br> 309 * Type: <b>date</b><br> 310 * Path: <b>Appointment.start</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="date", path="Appointment.start", description="Appointment date/time.", type="date" 314 ) 315 public static final String SP_DATE = "date"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>date</b> 319 * <p> 320 * Description: <b>Appointment date/time.</b><br> 321 * Type: <b>date</b><br> 322 * Path: <b>Appointment.start</b><br> 323 * </p> 324 */ 325 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 326 327 /** 328 * Search parameter constant for <b>status</b> 329 * <p> 330 * Description: <b>The overall status of the appointment</b><br> 331 * Type: <b>token</b><br> 332 * Path: <b>Appointment.status</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="status", path="Appointment.status", description="The overall status of the appointment", type="token" 336 ) 337 public static final String SP_STATUS = "status"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>status</b> 341 * <p> 342 * Description: <b>The overall status of the appointment</b><br> 343 * Type: <b>token</b><br> 344 * Path: <b>Appointment.status</b><br> 345 * </p> 346 */ 347 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 348 349 /** 350 * Search parameter constant for <b>actor</b> 351 * <p> 352 * Description: <b>Any one of the individuals participating in the appointment</b><br> 353 * Type: <b>reference</b><br> 354 * Path: <b>Appointment.participant.actor</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="actor", path="Appointment.participant.actor", description="Any one of the individuals participating in the appointment", type="reference" 358, providesMembershipIn={ 359 @Compartment(name="Patient") , @Compartment(name="Encounter") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") } 360 ) 361 public static final String SP_ACTOR = "actor"; 362 363 /** 364 * <b>Fluent Client</b> search parameter constant for <b>actor</b> 365 * <p> 366 * Description: <b>Any one of the individuals participating in the appointment</b><br> 367 * Type: <b>reference</b><br> 368 * Path: <b>Appointment.participant.actor</b><br> 369 * </p> 370 */ 371 public static final ReferenceClientParam ACTOR = new ReferenceClientParam(SP_ACTOR); 372 373 /** 374 * Search parameter constant for <b>part-status</b> 375 * <p> 376 * Description: <b>The Participation status of the subject, or other participant on the appointment. Can be used to locate participants that have not responded to meeting requests.</b><br> 377 * Type: <b>token</b><br> 378 * Path: <b>Appointment.participant.status</b><br> 379 * </p> 380 */ 381 @SearchParamDefinition(name="part-status", path="Appointment.participant.status", description="The Participation status of the subject, or other participant on the appointment. Can be used to locate participants that have not responded to meeting requests.", type="token" 382 ) 383 public static final String SP_PART_STATUS = "part-status"; 384 385 /** 386 * <b>Fluent Client</b> search parameter constant for <b>part-status</b> 387 * <p> 388 * Description: <b>The Participation status of the subject, or other participant on the appointment. Can be used to locate participants that have not responded to meeting requests.</b><br> 389 * Type: <b>token</b><br> 390 * Path: <b>Appointment.participant.status</b><br> 391 * </p> 392 */ 393 public static final TokenClientParam PART_STATUS = new TokenClientParam(SP_PART_STATUS); 394 395 /** 396 * Search parameter constant for <b>patient</b> 397 * <p> 398 * Description: <b>One of the individuals of the appointment is this patient</b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>Appointment.participant.actor</b><br> 401 * </p> 402 */ 403 @SearchParamDefinition(name="patient", path="Appointment.participant.actor", description="One of the individuals of the appointment is this patient", type="reference" 404, target={ 405 ca.uhn.fhir.model.dstu2.resource.Patient.class } 406 ) 407 public static final String SP_PATIENT = "patient"; 408 409 /** 410 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 411 * <p> 412 * Description: <b>One of the individuals of the appointment is this patient</b><br> 413 * Type: <b>reference</b><br> 414 * Path: <b>Appointment.participant.actor</b><br> 415 * </p> 416 */ 417 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 418 419 /** 420 * Search parameter constant for <b>practitioner</b> 421 * <p> 422 * Description: <b>One of the individuals of the appointment is this practitioner</b><br> 423 * Type: <b>reference</b><br> 424 * Path: <b>Appointment.participant.actor</b><br> 425 * </p> 426 */ 427 @SearchParamDefinition(name="practitioner", path="Appointment.participant.actor", description="One of the individuals of the appointment is this practitioner", type="reference" 428, target={ 429 ca.uhn.fhir.model.dstu2.resource.Practitioner.class } 430 ) 431 public static final String SP_PRACTITIONER = "practitioner"; 432 433 /** 434 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 435 * <p> 436 * Description: <b>One of the individuals of the appointment is this practitioner</b><br> 437 * Type: <b>reference</b><br> 438 * Path: <b>Appointment.participant.actor</b><br> 439 * </p> 440 */ 441 public static final ReferenceClientParam PRACTITIONER = new ReferenceClientParam(SP_PRACTITIONER); 442 443 /** 444 * Search parameter constant for <b>location</b> 445 * <p> 446 * Description: <b>This location is listed in the participants of the appointment</b><br> 447 * Type: <b>reference</b><br> 448 * Path: <b>Appointment.participant.actor</b><br> 449 * </p> 450 */ 451 @SearchParamDefinition(name="location", path="Appointment.participant.actor", description="This location is listed in the participants of the appointment", type="reference" 452, target={ 453 ca.uhn.fhir.model.dstu2.resource.Location.class } 454 ) 455 public static final String SP_LOCATION = "location"; 456 457 /** 458 * <b>Fluent Client</b> search parameter constant for <b>location</b> 459 * <p> 460 * Description: <b>This location is listed in the participants of the appointment</b><br> 461 * Type: <b>reference</b><br> 462 * Path: <b>Appointment.participant.actor</b><br> 463 * </p> 464 */ 465 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 466 467 /** 468 * Search parameter constant for <b>identifier</b> 469 * <p> 470 * Description: <b>An Identifier of the Appointment</b><br> 471 * Type: <b>token</b><br> 472 * Path: <b>Appointment.identifier</b><br> 473 * </p> 474 */ 475 @SearchParamDefinition(name="identifier", path="Appointment.identifier", description="An Identifier of the Appointment", type="token" 476 ) 477 public static final String SP_IDENTIFIER = "identifier"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 481 * <p> 482 * Description: <b>An Identifier of the Appointment</b><br> 483 * Type: <b>token</b><br> 484 * Path: <b>Appointment.identifier</b><br> 485 * </p> 486 */ 487 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 488 489 490 /** 491 * Constant for fluent queries to be used to add include statements. Specifies 492 * the path value of "<b>Appointment:actor</b>". 493 */ 494 public static final Include INCLUDE_ACTOR = new Include("Appointment:actor"); 495 496 /** 497 * Constant for fluent queries to be used to add include statements. Specifies 498 * the path value of "<b>Appointment:location</b>". 499 */ 500 public static final Include INCLUDE_LOCATION = new Include("Appointment:location"); 501 502 /** 503 * Constant for fluent queries to be used to add include statements. Specifies 504 * the path value of "<b>Appointment:patient</b>". 505 */ 506 public static final Include INCLUDE_PATIENT = new Include("Appointment:patient"); 507 508 /** 509 * Constant for fluent queries to be used to add include statements. Specifies 510 * the path value of "<b>Appointment:practitioner</b>". 511 */ 512 public static final Include INCLUDE_PRACTITIONER = new Include("Appointment:practitioner"); 513 514 515 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 516 @Description( 517 shortDefinition="", 518 formalDefinition="This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)" 519 ) 520 private java.util.List<IdentifierDt> myIdentifier; 521 522 @Child(name="status", type=CodeDt.class, order=1, min=1, max=1, summary=true, modifier=true) 523 @Description( 524 shortDefinition="", 525 formalDefinition="The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status" 526 ) 527 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/appointmentstatus") 528 private BoundCodeDt<AppointmentStatusEnum> myStatus; 529 530 @Child(name="type", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=true, modifier=false) 531 @Description( 532 shortDefinition="", 533 formalDefinition="The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService)" 534 ) 535 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/c80-practice-codes") 536 private CodeableConceptDt myType; 537 538 @Child(name="reason", type=CodeableConceptDt.class, order=3, min=0, max=1, summary=true, modifier=false) 539 @Description( 540 shortDefinition="", 541 formalDefinition="The reason that this appointment is being scheduled. This is more clinical than administrative" 542 ) 543 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/encounter-reason") 544 private CodeableConceptDt myReason; 545 546 @Child(name="priority", type=UnsignedIntDt.class, order=4, min=0, max=1, summary=false, modifier=false) 547 @Description( 548 shortDefinition="", 549 formalDefinition="The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority)" 550 ) 551 private UnsignedIntDt myPriority; 552 553 @Child(name="description", type=StringDt.class, order=5, min=0, max=1, summary=false, modifier=false) 554 @Description( 555 shortDefinition="", 556 formalDefinition="The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field" 557 ) 558 private StringDt myDescription; 559 560 @Child(name="start", type=InstantDt.class, order=6, min=0, max=1, summary=true, modifier=false) 561 @Description( 562 shortDefinition="", 563 formalDefinition="Date/Time that the appointment is to take place" 564 ) 565 private InstantDt myStart; 566 567 @Child(name="end", type=InstantDt.class, order=7, min=0, max=1, summary=true, modifier=false) 568 @Description( 569 shortDefinition="", 570 formalDefinition="Date/Time that the appointment is to conclude" 571 ) 572 private InstantDt myEnd; 573 574 @Child(name="minutesDuration", type=PositiveIntDt.class, order=8, min=0, max=1, summary=false, modifier=false) 575 @Description( 576 shortDefinition="", 577 formalDefinition="Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request)" 578 ) 579 private PositiveIntDt myMinutesDuration; 580 581 @Child(name="slot", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 582 ca.uhn.fhir.model.dstu2.resource.Slot.class 583 }) 584 @Description( 585 shortDefinition="", 586 formalDefinition="The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot" 587 ) 588 private java.util.List<ResourceReferenceDt> mySlot; 589 590 @Child(name="comment", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) 591 @Description( 592 shortDefinition="", 593 formalDefinition="Additional comments about the appointment" 594 ) 595 private StringDt myComment; 596 597 @Child(name="participant", order=11, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 598 @Description( 599 shortDefinition="", 600 formalDefinition="List of participants involved in the appointment" 601 ) 602 private java.util.List<Participant> myParticipant; 603 604 605 @Override 606 public boolean isEmpty() { 607 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myStatus, myType, myReason, myPriority, myDescription, myStart, myEnd, myMinutesDuration, mySlot, myComment, myParticipant); 608 } 609 610 @Override 611 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 612 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myStatus, myType, myReason, myPriority, myDescription, myStart, myEnd, myMinutesDuration, mySlot, myComment, myParticipant); 613 } 614 615 /** 616 * Gets the value(s) for <b>identifier</b> (). 617 * creating it if it does 618 * not exist. Will not return <code>null</code>. 619 * 620 * <p> 621 * <b>Definition:</b> 622 * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 623 * </p> 624 */ 625 public java.util.List<IdentifierDt> getIdentifier() { 626 if (myIdentifier == null) { 627 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 628 } 629 return myIdentifier; 630 } 631 632 /** 633 * Sets the value(s) for <b>identifier</b> () 634 * 635 * <p> 636 * <b>Definition:</b> 637 * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 638 * </p> 639 */ 640 public Appointment setIdentifier(java.util.List<IdentifierDt> theValue) { 641 myIdentifier = theValue; 642 return this; 643 } 644 645 646 647 /** 648 * Adds and returns a new value for <b>identifier</b> () 649 * 650 * <p> 651 * <b>Definition:</b> 652 * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 653 * </p> 654 */ 655 public IdentifierDt addIdentifier() { 656 IdentifierDt newType = new IdentifierDt(); 657 getIdentifier().add(newType); 658 return newType; 659 } 660 661 /** 662 * Adds a given new value for <b>identifier</b> () 663 * 664 * <p> 665 * <b>Definition:</b> 666 * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 667 * </p> 668 * @param theValue The identifier to add (must not be <code>null</code>) 669 */ 670 public Appointment addIdentifier(IdentifierDt theValue) { 671 if (theValue == null) { 672 throw new NullPointerException("theValue must not be null"); 673 } 674 getIdentifier().add(theValue); 675 return this; 676 } 677 678 /** 679 * Gets the first repetition for <b>identifier</b> (), 680 * creating it if it does not already exist. 681 * 682 * <p> 683 * <b>Definition:</b> 684 * This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) 685 * </p> 686 */ 687 public IdentifierDt getIdentifierFirstRep() { 688 if (getIdentifier().isEmpty()) { 689 return addIdentifier(); 690 } 691 return getIdentifier().get(0); 692 } 693 694 /** 695 * Gets the value(s) for <b>status</b> (). 696 * creating it if it does 697 * not exist. Will not return <code>null</code>. 698 * 699 * <p> 700 * <b>Definition:</b> 701 * The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status 702 * </p> 703 */ 704 public BoundCodeDt<AppointmentStatusEnum> getStatusElement() { 705 if (myStatus == null) { 706 myStatus = new BoundCodeDt<AppointmentStatusEnum>(AppointmentStatusEnum.VALUESET_BINDER); 707 } 708 return myStatus; 709 } 710 711 712 /** 713 * Gets the value(s) for <b>status</b> (). 714 * creating it if it does 715 * not exist. This method may return <code>null</code>. 716 * 717 * <p> 718 * <b>Definition:</b> 719 * The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status 720 * </p> 721 */ 722 public String getStatus() { 723 return getStatusElement().getValue(); 724 } 725 726 /** 727 * Sets the value(s) for <b>status</b> () 728 * 729 * <p> 730 * <b>Definition:</b> 731 * The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status 732 * </p> 733 */ 734 public Appointment setStatus(BoundCodeDt<AppointmentStatusEnum> theValue) { 735 myStatus = theValue; 736 return this; 737 } 738 739 740 741 /** 742 * Sets the value(s) for <b>status</b> () 743 * 744 * <p> 745 * <b>Definition:</b> 746 * The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status 747 * </p> 748 */ 749 public Appointment setStatus(AppointmentStatusEnum theValue) { 750 setStatus(new BoundCodeDt<AppointmentStatusEnum>(AppointmentStatusEnum.VALUESET_BINDER, theValue)); 751 752/* 753 getStatusElement().setValueAsEnum(theValue); 754*/ 755 return this; 756 } 757 758 759 /** 760 * Gets the value(s) for <b>type</b> (). 761 * creating it if it does 762 * not exist. Will not return <code>null</code>. 763 * 764 * <p> 765 * <b>Definition:</b> 766 * The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService) 767 * </p> 768 */ 769 public CodeableConceptDt getType() { 770 if (myType == null) { 771 myType = new CodeableConceptDt(); 772 } 773 return myType; 774 } 775 776 /** 777 * Sets the value(s) for <b>type</b> () 778 * 779 * <p> 780 * <b>Definition:</b> 781 * The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService) 782 * </p> 783 */ 784 public Appointment setType(CodeableConceptDt theValue) { 785 myType = theValue; 786 return this; 787 } 788 789 790 791 792 /** 793 * Gets the value(s) for <b>reason</b> (). 794 * creating it if it does 795 * not exist. Will not return <code>null</code>. 796 * 797 * <p> 798 * <b>Definition:</b> 799 * The reason that this appointment is being scheduled. This is more clinical than administrative 800 * </p> 801 */ 802 public CodeableConceptDt getReason() { 803 if (myReason == null) { 804 myReason = new CodeableConceptDt(); 805 } 806 return myReason; 807 } 808 809 /** 810 * Sets the value(s) for <b>reason</b> () 811 * 812 * <p> 813 * <b>Definition:</b> 814 * The reason that this appointment is being scheduled. This is more clinical than administrative 815 * </p> 816 */ 817 public Appointment setReason(CodeableConceptDt theValue) { 818 myReason = theValue; 819 return this; 820 } 821 822 823 824 825 /** 826 * Gets the value(s) for <b>priority</b> (). 827 * creating it if it does 828 * not exist. Will not return <code>null</code>. 829 * 830 * <p> 831 * <b>Definition:</b> 832 * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority) 833 * </p> 834 */ 835 public UnsignedIntDt getPriorityElement() { 836 if (myPriority == null) { 837 myPriority = new UnsignedIntDt(); 838 } 839 return myPriority; 840 } 841 842 843 /** 844 * Gets the value(s) for <b>priority</b> (). 845 * creating it if it does 846 * not exist. This method may return <code>null</code>. 847 * 848 * <p> 849 * <b>Definition:</b> 850 * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority) 851 * </p> 852 */ 853 public Integer getPriority() { 854 return getPriorityElement().getValue(); 855 } 856 857 /** 858 * Sets the value(s) for <b>priority</b> () 859 * 860 * <p> 861 * <b>Definition:</b> 862 * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority) 863 * </p> 864 */ 865 public Appointment setPriority(UnsignedIntDt theValue) { 866 myPriority = theValue; 867 return this; 868 } 869 870 871 872 /** 873 * Sets the value for <b>priority</b> () 874 * 875 * <p> 876 * <b>Definition:</b> 877 * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority) 878 * </p> 879 */ 880 public Appointment setPriority( int theInteger) { 881 myPriority = new UnsignedIntDt(theInteger); 882 return this; 883 } 884 885 886 /** 887 * Gets the value(s) for <b>description</b> (). 888 * creating it if it does 889 * not exist. Will not return <code>null</code>. 890 * 891 * <p> 892 * <b>Definition:</b> 893 * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field 894 * </p> 895 */ 896 public StringDt getDescriptionElement() { 897 if (myDescription == null) { 898 myDescription = new StringDt(); 899 } 900 return myDescription; 901 } 902 903 904 /** 905 * Gets the value(s) for <b>description</b> (). 906 * creating it if it does 907 * not exist. This method may return <code>null</code>. 908 * 909 * <p> 910 * <b>Definition:</b> 911 * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field 912 * </p> 913 */ 914 public String getDescription() { 915 return getDescriptionElement().getValue(); 916 } 917 918 /** 919 * Sets the value(s) for <b>description</b> () 920 * 921 * <p> 922 * <b>Definition:</b> 923 * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field 924 * </p> 925 */ 926 public Appointment setDescription(StringDt theValue) { 927 myDescription = theValue; 928 return this; 929 } 930 931 932 933 /** 934 * Sets the value for <b>description</b> () 935 * 936 * <p> 937 * <b>Definition:</b> 938 * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field 939 * </p> 940 */ 941 public Appointment setDescription( String theString) { 942 myDescription = new StringDt(theString); 943 return this; 944 } 945 946 947 /** 948 * Gets the value(s) for <b>start</b> (). 949 * creating it if it does 950 * not exist. Will not return <code>null</code>. 951 * 952 * <p> 953 * <b>Definition:</b> 954 * Date/Time that the appointment is to take place 955 * </p> 956 */ 957 public InstantDt getStartElement() { 958 if (myStart == null) { 959 myStart = new InstantDt(); 960 } 961 return myStart; 962 } 963 964 965 /** 966 * Gets the value(s) for <b>start</b> (). 967 * creating it if it does 968 * not exist. This method may return <code>null</code>. 969 * 970 * <p> 971 * <b>Definition:</b> 972 * Date/Time that the appointment is to take place 973 * </p> 974 */ 975 public Date getStart() { 976 return getStartElement().getValue(); 977 } 978 979 /** 980 * Sets the value(s) for <b>start</b> () 981 * 982 * <p> 983 * <b>Definition:</b> 984 * Date/Time that the appointment is to take place 985 * </p> 986 */ 987 public Appointment setStart(InstantDt theValue) { 988 myStart = theValue; 989 return this; 990 } 991 992 993 994 /** 995 * Sets the value for <b>start</b> () 996 * 997 * <p> 998 * <b>Definition:</b> 999 * Date/Time that the appointment is to take place 1000 * </p> 1001 */ 1002 public Appointment setStartWithMillisPrecision( Date theDate) { 1003 myStart = new InstantDt(theDate); 1004 return this; 1005 } 1006 1007 /** 1008 * Sets the value for <b>start</b> () 1009 * 1010 * <p> 1011 * <b>Definition:</b> 1012 * Date/Time that the appointment is to take place 1013 * </p> 1014 */ 1015 public Appointment setStart( Date theDate, TemporalPrecisionEnum thePrecision) { 1016 myStart = new InstantDt(theDate, thePrecision); 1017 return this; 1018 } 1019 1020 1021 /** 1022 * Gets the value(s) for <b>end</b> (). 1023 * creating it if it does 1024 * not exist. Will not return <code>null</code>. 1025 * 1026 * <p> 1027 * <b>Definition:</b> 1028 * Date/Time that the appointment is to conclude 1029 * </p> 1030 */ 1031 public InstantDt getEndElement() { 1032 if (myEnd == null) { 1033 myEnd = new InstantDt(); 1034 } 1035 return myEnd; 1036 } 1037 1038 1039 /** 1040 * Gets the value(s) for <b>end</b> (). 1041 * creating it if it does 1042 * not exist. This method may return <code>null</code>. 1043 * 1044 * <p> 1045 * <b>Definition:</b> 1046 * Date/Time that the appointment is to conclude 1047 * </p> 1048 */ 1049 public Date getEnd() { 1050 return getEndElement().getValue(); 1051 } 1052 1053 /** 1054 * Sets the value(s) for <b>end</b> () 1055 * 1056 * <p> 1057 * <b>Definition:</b> 1058 * Date/Time that the appointment is to conclude 1059 * </p> 1060 */ 1061 public Appointment setEnd(InstantDt theValue) { 1062 myEnd = theValue; 1063 return this; 1064 } 1065 1066 1067 1068 /** 1069 * Sets the value for <b>end</b> () 1070 * 1071 * <p> 1072 * <b>Definition:</b> 1073 * Date/Time that the appointment is to conclude 1074 * </p> 1075 */ 1076 public Appointment setEndWithMillisPrecision( Date theDate) { 1077 myEnd = new InstantDt(theDate); 1078 return this; 1079 } 1080 1081 /** 1082 * Sets the value for <b>end</b> () 1083 * 1084 * <p> 1085 * <b>Definition:</b> 1086 * Date/Time that the appointment is to conclude 1087 * </p> 1088 */ 1089 public Appointment setEnd( Date theDate, TemporalPrecisionEnum thePrecision) { 1090 myEnd = new InstantDt(theDate, thePrecision); 1091 return this; 1092 } 1093 1094 1095 /** 1096 * Gets the value(s) for <b>minutesDuration</b> (). 1097 * creating it if it does 1098 * not exist. Will not return <code>null</code>. 1099 * 1100 * <p> 1101 * <b>Definition:</b> 1102 * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request) 1103 * </p> 1104 */ 1105 public PositiveIntDt getMinutesDurationElement() { 1106 if (myMinutesDuration == null) { 1107 myMinutesDuration = new PositiveIntDt(); 1108 } 1109 return myMinutesDuration; 1110 } 1111 1112 1113 /** 1114 * Gets the value(s) for <b>minutesDuration</b> (). 1115 * creating it if it does 1116 * not exist. This method may return <code>null</code>. 1117 * 1118 * <p> 1119 * <b>Definition:</b> 1120 * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request) 1121 * </p> 1122 */ 1123 public Integer getMinutesDuration() { 1124 return getMinutesDurationElement().getValue(); 1125 } 1126 1127 /** 1128 * Sets the value(s) for <b>minutesDuration</b> () 1129 * 1130 * <p> 1131 * <b>Definition:</b> 1132 * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request) 1133 * </p> 1134 */ 1135 public Appointment setMinutesDuration(PositiveIntDt theValue) { 1136 myMinutesDuration = theValue; 1137 return this; 1138 } 1139 1140 1141 1142 /** 1143 * Sets the value for <b>minutesDuration</b> () 1144 * 1145 * <p> 1146 * <b>Definition:</b> 1147 * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times (where actual time of appointment is only an estimate or is a planned appointment request) 1148 * </p> 1149 */ 1150 public Appointment setMinutesDuration( int theInteger) { 1151 myMinutesDuration = new PositiveIntDt(theInteger); 1152 return this; 1153 } 1154 1155 1156 /** 1157 * Gets the value(s) for <b>slot</b> (). 1158 * creating it if it does 1159 * not exist. Will not return <code>null</code>. 1160 * 1161 * <p> 1162 * <b>Definition:</b> 1163 * The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot 1164 * </p> 1165 */ 1166 public java.util.List<ResourceReferenceDt> getSlot() { 1167 if (mySlot == null) { 1168 mySlot = new java.util.ArrayList<ResourceReferenceDt>(); 1169 } 1170 return mySlot; 1171 } 1172 1173 /** 1174 * Sets the value(s) for <b>slot</b> () 1175 * 1176 * <p> 1177 * <b>Definition:</b> 1178 * The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot 1179 * </p> 1180 */ 1181 public Appointment setSlot(java.util.List<ResourceReferenceDt> theValue) { 1182 mySlot = theValue; 1183 return this; 1184 } 1185 1186 1187 1188 /** 1189 * Adds and returns a new value for <b>slot</b> () 1190 * 1191 * <p> 1192 * <b>Definition:</b> 1193 * The slot that this appointment is filling. If provided then the schedule will not be provided as slots are not recursive, and the start/end values MUST be the same as from the slot 1194 * </p> 1195 */ 1196 public ResourceReferenceDt addSlot() { 1197 ResourceReferenceDt newType = new ResourceReferenceDt(); 1198 getSlot().add(newType); 1199 return newType; 1200 } 1201 1202 /** 1203 * Gets the value(s) for <b>comment</b> (). 1204 * creating it if it does 1205 * not exist. Will not return <code>null</code>. 1206 * 1207 * <p> 1208 * <b>Definition:</b> 1209 * Additional comments about the appointment 1210 * </p> 1211 */ 1212 public StringDt getCommentElement() { 1213 if (myComment == null) { 1214 myComment = new StringDt(); 1215 } 1216 return myComment; 1217 } 1218 1219 1220 /** 1221 * Gets the value(s) for <b>comment</b> (). 1222 * creating it if it does 1223 * not exist. This method may return <code>null</code>. 1224 * 1225 * <p> 1226 * <b>Definition:</b> 1227 * Additional comments about the appointment 1228 * </p> 1229 */ 1230 public String getComment() { 1231 return getCommentElement().getValue(); 1232 } 1233 1234 /** 1235 * Sets the value(s) for <b>comment</b> () 1236 * 1237 * <p> 1238 * <b>Definition:</b> 1239 * Additional comments about the appointment 1240 * </p> 1241 */ 1242 public Appointment setComment(StringDt theValue) { 1243 myComment = theValue; 1244 return this; 1245 } 1246 1247 1248 1249 /** 1250 * Sets the value for <b>comment</b> () 1251 * 1252 * <p> 1253 * <b>Definition:</b> 1254 * Additional comments about the appointment 1255 * </p> 1256 */ 1257 public Appointment setComment( String theString) { 1258 myComment = new StringDt(theString); 1259 return this; 1260 } 1261 1262 1263 /** 1264 * Gets the value(s) for <b>participant</b> (). 1265 * creating it if it does 1266 * not exist. Will not return <code>null</code>. 1267 * 1268 * <p> 1269 * <b>Definition:</b> 1270 * List of participants involved in the appointment 1271 * </p> 1272 */ 1273 public java.util.List<Participant> getParticipant() { 1274 if (myParticipant == null) { 1275 myParticipant = new java.util.ArrayList<Participant>(); 1276 } 1277 return myParticipant; 1278 } 1279 1280 /** 1281 * Sets the value(s) for <b>participant</b> () 1282 * 1283 * <p> 1284 * <b>Definition:</b> 1285 * List of participants involved in the appointment 1286 * </p> 1287 */ 1288 public Appointment setParticipant(java.util.List<Participant> theValue) { 1289 myParticipant = theValue; 1290 return this; 1291 } 1292 1293 1294 1295 /** 1296 * Adds and returns a new value for <b>participant</b> () 1297 * 1298 * <p> 1299 * <b>Definition:</b> 1300 * List of participants involved in the appointment 1301 * </p> 1302 */ 1303 public Participant addParticipant() { 1304 Participant newType = new Participant(); 1305 getParticipant().add(newType); 1306 return newType; 1307 } 1308 1309 /** 1310 * Adds a given new value for <b>participant</b> () 1311 * 1312 * <p> 1313 * <b>Definition:</b> 1314 * List of participants involved in the appointment 1315 * </p> 1316 * @param theValue The participant to add (must not be <code>null</code>) 1317 */ 1318 public Appointment addParticipant(Participant theValue) { 1319 if (theValue == null) { 1320 throw new NullPointerException("theValue must not be null"); 1321 } 1322 getParticipant().add(theValue); 1323 return this; 1324 } 1325 1326 /** 1327 * Gets the first repetition for <b>participant</b> (), 1328 * creating it if it does not already exist. 1329 * 1330 * <p> 1331 * <b>Definition:</b> 1332 * List of participants involved in the appointment 1333 * </p> 1334 */ 1335 public Participant getParticipantFirstRep() { 1336 if (getParticipant().isEmpty()) { 1337 return addParticipant(); 1338 } 1339 return getParticipant().get(0); 1340 } 1341 1342 /** 1343 * Block class for child element: <b>Appointment.participant</b> () 1344 * 1345 * <p> 1346 * <b>Definition:</b> 1347 * List of participants involved in the appointment 1348 * </p> 1349 */ 1350 @Block() 1351 public static class Participant 1352 extends BaseIdentifiableElement 1353 implements IResourceBlock { 1354 1355 @Child(name="type", type=CodeableConceptDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1356 @Description( 1357 shortDefinition="", 1358 formalDefinition="Role of participant in the appointment" 1359 ) 1360 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/encounter-participant-type") 1361 private java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> myType; 1362 1363 @Child(name="actor", order=1, min=0, max=1, summary=true, modifier=false, type={ 1364 ca.uhn.fhir.model.dstu2.resource.Patient.class, 1365 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 1366 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, 1367 ca.uhn.fhir.model.dstu2.resource.Device.class, 1368 ca.uhn.fhir.model.dstu2.resource.HealthcareService.class, 1369 ca.uhn.fhir.model.dstu2.resource.Location.class 1370 }) 1371 @Description( 1372 shortDefinition="", 1373 formalDefinition="A Person, Location/HealthcareService or Device that is participating in the appointment" 1374 ) 1375 private ResourceReferenceDt myActor; 1376 1377 @Child(name="required", type=CodeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 1378 @Description( 1379 shortDefinition="", 1380 formalDefinition="Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present." 1381 ) 1382 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/participantrequired") 1383 private BoundCodeDt<ParticipantRequiredEnum> myRequired; 1384 1385 @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=false, modifier=false) 1386 @Description( 1387 shortDefinition="", 1388 formalDefinition="Participation status of the Patient" 1389 ) 1390 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/participationstatus") 1391 private BoundCodeDt<ParticipationStatusEnum> myStatus; 1392 1393 1394 @Override 1395 public boolean isEmpty() { 1396 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myActor, myRequired, myStatus); 1397 } 1398 1399 @Override 1400 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1401 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myActor, myRequired, myStatus); 1402 } 1403 1404 /** 1405 * Gets the value(s) for <b>type</b> (). 1406 * creating it if it does 1407 * not exist. Will not return <code>null</code>. 1408 * 1409 * <p> 1410 * <b>Definition:</b> 1411 * Role of participant in the appointment 1412 * </p> 1413 */ 1414 public java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> getType() { 1415 if (myType == null) { 1416 myType = new java.util.ArrayList<BoundCodeableConceptDt<ParticipantTypeEnum>>(); 1417 } 1418 return myType; 1419 } 1420 1421 /** 1422 * Sets the value(s) for <b>type</b> () 1423 * 1424 * <p> 1425 * <b>Definition:</b> 1426 * Role of participant in the appointment 1427 * </p> 1428 */ 1429 public Participant setType(java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> theValue) { 1430 myType = theValue; 1431 return this; 1432 } 1433 1434 1435 1436 /** 1437 * Add a value for <b>type</b> () using an enumerated type. This 1438 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1439 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1440 * you may also use the {@link #addType()} method. 1441 * 1442 * <p> 1443 * <b>Definition:</b> 1444 * Role of participant in the appointment 1445 * </p> 1446 */ 1447 public BoundCodeableConceptDt<ParticipantTypeEnum> addType(ParticipantTypeEnum theValue) { 1448 BoundCodeableConceptDt<ParticipantTypeEnum> retVal = new BoundCodeableConceptDt<ParticipantTypeEnum>(ParticipantTypeEnum.VALUESET_BINDER, theValue); 1449 getType().add(retVal); 1450 return retVal; 1451 } 1452 1453 /** 1454 * Gets the first repetition for <b>type</b> (), 1455 * creating it if it does not already exist. 1456 * 1457 * <p> 1458 * <b>Definition:</b> 1459 * Role of participant in the appointment 1460 * </p> 1461 */ 1462 public BoundCodeableConceptDt<ParticipantTypeEnum> getTypeFirstRep() { 1463 if (getType().size() == 0) { 1464 addType(); 1465 } 1466 return getType().get(0); 1467 } 1468 1469 /** 1470 * Add a value for <b>type</b> () 1471 * 1472 * <p> 1473 * <b>Definition:</b> 1474 * Role of participant in the appointment 1475 * </p> 1476 */ 1477 public BoundCodeableConceptDt<ParticipantTypeEnum> addType() { 1478 BoundCodeableConceptDt<ParticipantTypeEnum> retVal = new BoundCodeableConceptDt<ParticipantTypeEnum>(ParticipantTypeEnum.VALUESET_BINDER); 1479 getType().add(retVal); 1480 return retVal; 1481 } 1482 1483 /** 1484 * Sets the value(s), and clears any existing value(s) for <b>type</b> () 1485 * 1486 * <p> 1487 * <b>Definition:</b> 1488 * Role of participant in the appointment 1489 * </p> 1490 */ 1491 public Participant setType(ParticipantTypeEnum theValue) { 1492 getType().clear(); 1493 addType(theValue); 1494 return this; 1495 } 1496 1497 1498 /** 1499 * Gets the value(s) for <b>actor</b> (). 1500 * creating it if it does 1501 * not exist. Will not return <code>null</code>. 1502 * 1503 * <p> 1504 * <b>Definition:</b> 1505 * A Person, Location/HealthcareService or Device that is participating in the appointment 1506 * </p> 1507 */ 1508 public ResourceReferenceDt getActor() { 1509 if (myActor == null) { 1510 myActor = new ResourceReferenceDt(); 1511 } 1512 return myActor; 1513 } 1514 1515 /** 1516 * Sets the value(s) for <b>actor</b> () 1517 * 1518 * <p> 1519 * <b>Definition:</b> 1520 * A Person, Location/HealthcareService or Device that is participating in the appointment 1521 * </p> 1522 */ 1523 public Participant setActor(ResourceReferenceDt theValue) { 1524 myActor = theValue; 1525 return this; 1526 } 1527 1528 1529 1530 1531 /** 1532 * Gets the value(s) for <b>required</b> (). 1533 * creating it if it does 1534 * not exist. Will not return <code>null</code>. 1535 * 1536 * <p> 1537 * <b>Definition:</b> 1538 * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. 1539 * </p> 1540 */ 1541 public BoundCodeDt<ParticipantRequiredEnum> getRequiredElement() { 1542 if (myRequired == null) { 1543 myRequired = new BoundCodeDt<ParticipantRequiredEnum>(ParticipantRequiredEnum.VALUESET_BINDER); 1544 } 1545 return myRequired; 1546 } 1547 1548 1549 /** 1550 * Gets the value(s) for <b>required</b> (). 1551 * creating it if it does 1552 * not exist. This method may return <code>null</code>. 1553 * 1554 * <p> 1555 * <b>Definition:</b> 1556 * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. 1557 * </p> 1558 */ 1559 public String getRequired() { 1560 return getRequiredElement().getValue(); 1561 } 1562 1563 /** 1564 * Sets the value(s) for <b>required</b> () 1565 * 1566 * <p> 1567 * <b>Definition:</b> 1568 * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. 1569 * </p> 1570 */ 1571 public Participant setRequired(BoundCodeDt<ParticipantRequiredEnum> theValue) { 1572 myRequired = theValue; 1573 return this; 1574 } 1575 1576 1577 1578 /** 1579 * Sets the value(s) for <b>required</b> () 1580 * 1581 * <p> 1582 * <b>Definition:</b> 1583 * Is this participant required to be present at the meeting. This covers a use-case where 2 doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present. 1584 * </p> 1585 */ 1586 public Participant setRequired(ParticipantRequiredEnum theValue) { 1587 setRequired(new BoundCodeDt<ParticipantRequiredEnum>(ParticipantRequiredEnum.VALUESET_BINDER, theValue)); 1588 1589/* 1590 getRequiredElement().setValueAsEnum(theValue); 1591*/ 1592 return this; 1593 } 1594 1595 1596 /** 1597 * Gets the value(s) for <b>status</b> (). 1598 * creating it if it does 1599 * not exist. Will not return <code>null</code>. 1600 * 1601 * <p> 1602 * <b>Definition:</b> 1603 * Participation status of the Patient 1604 * </p> 1605 */ 1606 public BoundCodeDt<ParticipationStatusEnum> getStatusElement() { 1607 if (myStatus == null) { 1608 myStatus = new BoundCodeDt<ParticipationStatusEnum>(ParticipationStatusEnum.VALUESET_BINDER); 1609 } 1610 return myStatus; 1611 } 1612 1613 1614 /** 1615 * Gets the value(s) for <b>status</b> (). 1616 * creating it if it does 1617 * not exist. This method may return <code>null</code>. 1618 * 1619 * <p> 1620 * <b>Definition:</b> 1621 * Participation status of the Patient 1622 * </p> 1623 */ 1624 public String getStatus() { 1625 return getStatusElement().getValue(); 1626 } 1627 1628 /** 1629 * Sets the value(s) for <b>status</b> () 1630 * 1631 * <p> 1632 * <b>Definition:</b> 1633 * Participation status of the Patient 1634 * </p> 1635 */ 1636 public Participant setStatus(BoundCodeDt<ParticipationStatusEnum> theValue) { 1637 myStatus = theValue; 1638 return this; 1639 } 1640 1641 1642 1643 /** 1644 * Sets the value(s) for <b>status</b> () 1645 * 1646 * <p> 1647 * <b>Definition:</b> 1648 * Participation status of the Patient 1649 * </p> 1650 */ 1651 public Participant setStatus(ParticipationStatusEnum theValue) { 1652 setStatus(new BoundCodeDt<ParticipationStatusEnum>(ParticipationStatusEnum.VALUESET_BINDER, theValue)); 1653 1654/* 1655 getStatusElement().setValueAsEnum(theValue); 1656*/ 1657 return this; 1658 } 1659 1660 1661 1662 1663 } 1664 1665 1666 1667 1668 @Override 1669 public String getResourceName() { 1670 return "Appointment"; 1671 } 1672 1673 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1674 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1675 } 1676 1677 1678}