001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>Appointment</b> Resource 320 * () 321 * 322 * <p> 323 * <b>Definition:</b> 324 * 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/Appointment">http://hl7.org/fhir/profiles/Appointment</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Appointment", profile="http://hl7.org/fhir/profiles/Appointment", id="appointment") 339public class Appointment extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>date</b> 344 * <p> 345 * Description: <b>Appointment date/time.</b><br> 346 * Type: <b>date</b><br> 347 * Path: <b>Appointment.start</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="date", path="Appointment.start", description="Appointment date/time.", type="date" ) 351 public static final String SP_DATE = "date"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>date</b> 355 * <p> 356 * Description: <b>Appointment date/time.</b><br> 357 * Type: <b>date</b><br> 358 * Path: <b>Appointment.start</b><br> 359 * </p> 360 */ 361 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 362 363 /** 364 * Search parameter constant for <b>status</b> 365 * <p> 366 * Description: <b>The overall status of the appointment</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>Appointment.status</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="status", path="Appointment.status", description="The overall status of the appointment", type="token" ) 372 public static final String SP_STATUS = "status"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>status</b> 376 * <p> 377 * Description: <b>The overall status of the appointment</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>Appointment.status</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 383 384 /** 385 * Search parameter constant for <b>actor</b> 386 * <p> 387 * Description: <b>Any one of the individuals participating in the appointment</b><br> 388 * Type: <b>reference</b><br> 389 * Path: <b>Appointment.participant.actor</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="actor", path="Appointment.participant.actor", description="Any one of the individuals participating in the appointment", type="reference" ) 393 public static final String SP_ACTOR = "actor"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>actor</b> 397 * <p> 398 * Description: <b>Any one of the individuals participating in the appointment</b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>Appointment.participant.actor</b><br> 401 * </p> 402 */ 403 public static final ReferenceClientParam ACTOR = new ReferenceClientParam(SP_ACTOR); 404 405 /** 406 * Search parameter constant for <b>part-status</b> 407 * <p> 408 * 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> 409 * Type: <b>token</b><br> 410 * Path: <b>Appointment.participant.status</b><br> 411 * </p> 412 */ 413 @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" ) 414 public static final String SP_PART_STATUS = "part-status"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>part-status</b> 418 * <p> 419 * 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> 420 * Type: <b>token</b><br> 421 * Path: <b>Appointment.participant.status</b><br> 422 * </p> 423 */ 424 public static final TokenClientParam PART_STATUS = new TokenClientParam(SP_PART_STATUS); 425 426 /** 427 * Search parameter constant for <b>patient</b> 428 * <p> 429 * Description: <b>One of the individuals of the appointment is this patient</b><br> 430 * Type: <b>reference</b><br> 431 * Path: <b>Appointment.participant.actor</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="patient", path="Appointment.participant.actor", description="One of the individuals of the appointment is this patient", type="reference" ) 435 public static final String SP_PATIENT = "patient"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 439 * <p> 440 * Description: <b>One of the individuals of the appointment is this patient</b><br> 441 * Type: <b>reference</b><br> 442 * Path: <b>Appointment.participant.actor</b><br> 443 * </p> 444 */ 445 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 446 447 /** 448 * Search parameter constant for <b>practitioner</b> 449 * <p> 450 * Description: <b>One of the individuals of the appointment is this practitioner</b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>Appointment.participant.actor</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="practitioner", path="Appointment.participant.actor", description="One of the individuals of the appointment is this practitioner", type="reference" ) 456 public static final String SP_PRACTITIONER = "practitioner"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 460 * <p> 461 * Description: <b>One of the individuals of the appointment is this practitioner</b><br> 462 * Type: <b>reference</b><br> 463 * Path: <b>Appointment.participant.actor</b><br> 464 * </p> 465 */ 466 public static final ReferenceClientParam PRACTITIONER = new ReferenceClientParam(SP_PRACTITIONER); 467 468 /** 469 * Search parameter constant for <b>location</b> 470 * <p> 471 * Description: <b>This location is listed in the participants of the appointment</b><br> 472 * Type: <b>reference</b><br> 473 * Path: <b>Appointment.participant.actor</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="location", path="Appointment.participant.actor", description="This location is listed in the participants of the appointment", type="reference" ) 477 public static final String SP_LOCATION = "location"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>location</b> 481 * <p> 482 * Description: <b>This location is listed in the participants of the appointment</b><br> 483 * Type: <b>reference</b><br> 484 * Path: <b>Appointment.participant.actor</b><br> 485 * </p> 486 */ 487 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 488 489 /** 490 * Search parameter constant for <b>identifier</b> 491 * <p> 492 * Description: <b>An Identifier of the Appointment</b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>Appointment.identifier</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="identifier", path="Appointment.identifier", description="An Identifier of the Appointment", type="token" ) 498 public static final String SP_IDENTIFIER = "identifier"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 502 * <p> 503 * Description: <b>An Identifier of the Appointment</b><br> 504 * Type: <b>token</b><br> 505 * Path: <b>Appointment.identifier</b><br> 506 * </p> 507 */ 508 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 509 510 511 /** 512 * Constant for fluent queries to be used to add include statements. Specifies 513 * the path value of "<b>Appointment:actor</b>". 514 */ 515 public static final Include INCLUDE_ACTOR = new Include("Appointment:actor"); 516 517 /** 518 * Constant for fluent queries to be used to add include statements. Specifies 519 * the path value of "<b>Appointment:location</b>". 520 */ 521 public static final Include INCLUDE_LOCATION = new Include("Appointment:location"); 522 523 /** 524 * Constant for fluent queries to be used to add include statements. Specifies 525 * the path value of "<b>Appointment:patient</b>". 526 */ 527 public static final Include INCLUDE_PATIENT = new Include("Appointment:patient"); 528 529 /** 530 * Constant for fluent queries to be used to add include statements. Specifies 531 * the path value of "<b>Appointment:practitioner</b>". 532 */ 533 public static final Include INCLUDE_PRACTITIONER = new Include("Appointment:practitioner"); 534 535 536 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 537 @Description( 538 shortDefinition="", 539 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)" 540 ) 541 private java.util.List<IdentifierDt> myIdentifier; 542 543 @Child(name="status", type=CodeDt.class, order=1, min=1, max=1, summary=true, modifier=true) 544 @Description( 545 shortDefinition="", 546 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" 547 ) 548 private BoundCodeDt<AppointmentStatusEnum> myStatus; 549 550 @Child(name="type", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=true, modifier=false) 551 @Description( 552 shortDefinition="", 553 formalDefinition="The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService)" 554 ) 555 private CodeableConceptDt myType; 556 557 @Child(name="reason", type=CodeableConceptDt.class, order=3, min=0, max=1, summary=true, modifier=false) 558 @Description( 559 shortDefinition="", 560 formalDefinition="The reason that this appointment is being scheduled. This is more clinical than administrative" 561 ) 562 private CodeableConceptDt myReason; 563 564 @Child(name="priority", type=UnsignedIntDt.class, order=4, min=0, max=1, summary=false, modifier=false) 565 @Description( 566 shortDefinition="", 567 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)" 568 ) 569 private UnsignedIntDt myPriority; 570 571 @Child(name="description", type=StringDt.class, order=5, min=0, max=1, summary=false, modifier=false) 572 @Description( 573 shortDefinition="", 574 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" 575 ) 576 private StringDt myDescription; 577 578 @Child(name="start", type=InstantDt.class, order=6, min=0, max=1, summary=true, modifier=false) 579 @Description( 580 shortDefinition="", 581 formalDefinition="Date/Time that the appointment is to take place" 582 ) 583 private InstantDt myStart; 584 585 @Child(name="end", type=InstantDt.class, order=7, min=0, max=1, summary=true, modifier=false) 586 @Description( 587 shortDefinition="", 588 formalDefinition="Date/Time that the appointment is to conclude" 589 ) 590 private InstantDt myEnd; 591 592 @Child(name="minutesDuration", type=PositiveIntDt.class, order=8, min=0, max=1, summary=false, modifier=false) 593 @Description( 594 shortDefinition="", 595 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)" 596 ) 597 private PositiveIntDt myMinutesDuration; 598 599 @Child(name="slot", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 600 ca.uhn.fhir.model.dstu2.resource.Slot.class }) 601 @Description( 602 shortDefinition="", 603 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" 604 ) 605 private java.util.List<ResourceReferenceDt> mySlot; 606 607 @Child(name="comment", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) 608 @Description( 609 shortDefinition="", 610 formalDefinition="Additional comments about the appointment" 611 ) 612 private StringDt myComment; 613 614 @Child(name="participant", order=11, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 615 @Description( 616 shortDefinition="", 617 formalDefinition="List of participants involved in the appointment" 618 ) 619 private java.util.List<Participant> myParticipant; 620 621 622 @Override 623 public boolean isEmpty() { 624 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myStatus, myType, myReason, myPriority, myDescription, myStart, myEnd, myMinutesDuration, mySlot, myComment, myParticipant); 625 } 626 627 @Override 628 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 629 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myStatus, myType, myReason, myPriority, myDescription, myStart, myEnd, myMinutesDuration, mySlot, myComment, myParticipant); 630 } 631 632 /** 633 * Gets the value(s) for <b>identifier</b> (). 634 * creating it if it does 635 * not exist. Will not return <code>null</code>. 636 * 637 * <p> 638 * <b>Definition:</b> 639 * 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) 640 * </p> 641 */ 642 public java.util.List<IdentifierDt> getIdentifier() { 643 if (myIdentifier == null) { 644 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 645 } 646 return myIdentifier; 647 } 648 649 /** 650 * Sets the value(s) for <b>identifier</b> () 651 * 652 * <p> 653 * <b>Definition:</b> 654 * 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) 655 * </p> 656 */ 657 public Appointment setIdentifier(java.util.List<IdentifierDt> theValue) { 658 myIdentifier = theValue; 659 return this; 660 } 661 662 663 664 /** 665 * Adds and returns a new value for <b>identifier</b> () 666 * 667 * <p> 668 * <b>Definition:</b> 669 * 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) 670 * </p> 671 */ 672 public IdentifierDt addIdentifier() { 673 IdentifierDt newType = new IdentifierDt(); 674 getIdentifier().add(newType); 675 return newType; 676 } 677 678 /** 679 * Adds a given new value for <b>identifier</b> () 680 * 681 * <p> 682 * <b>Definition:</b> 683 * 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) 684 * </p> 685 * @param theValue The identifier to add (must not be <code>null</code>) 686 */ 687 public Appointment addIdentifier(IdentifierDt theValue) { 688 if (theValue == null) { 689 throw new NullPointerException("theValue must not be null"); 690 } 691 getIdentifier().add(theValue); 692 return this; 693 } 694 695 /** 696 * Gets the first repetition for <b>identifier</b> (), 697 * creating it if it does not already exist. 698 * 699 * <p> 700 * <b>Definition:</b> 701 * 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) 702 * </p> 703 */ 704 public IdentifierDt getIdentifierFirstRep() { 705 if (getIdentifier().isEmpty()) { 706 return addIdentifier(); 707 } 708 return getIdentifier().get(0); 709 } 710 711 /** 712 * Gets the value(s) for <b>status</b> (). 713 * creating it if it does 714 * not exist. Will not return <code>null</code>. 715 * 716 * <p> 717 * <b>Definition:</b> 718 * 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 719 * </p> 720 */ 721 public BoundCodeDt<AppointmentStatusEnum> getStatusElement() { 722 if (myStatus == null) { 723 myStatus = new BoundCodeDt<AppointmentStatusEnum>(AppointmentStatusEnum.VALUESET_BINDER); 724 } 725 return myStatus; 726 } 727 728 729 /** 730 * Gets the value(s) for <b>status</b> (). 731 * creating it if it does 732 * not exist. Will not return <code>null</code>. 733 * 734 * <p> 735 * <b>Definition:</b> 736 * 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 737 * </p> 738 */ 739 public String getStatus() { 740 return getStatusElement().getValue(); 741 } 742 743 /** 744 * Sets the value(s) for <b>status</b> () 745 * 746 * <p> 747 * <b>Definition:</b> 748 * 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 749 * </p> 750 */ 751 public Appointment setStatus(BoundCodeDt<AppointmentStatusEnum> theValue) { 752 myStatus = theValue; 753 return this; 754 } 755 756 757 758 /** 759 * Sets the value(s) for <b>status</b> () 760 * 761 * <p> 762 * <b>Definition:</b> 763 * 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 764 * </p> 765 */ 766 public Appointment setStatus(AppointmentStatusEnum theValue) { 767 setStatus(new BoundCodeDt<AppointmentStatusEnum>(AppointmentStatusEnum.VALUESET_BINDER, theValue)); 768 769/* 770 getStatusElement().setValueAsEnum(theValue); 771*/ 772 return this; 773 } 774 775 776 /** 777 * Gets the value(s) for <b>type</b> (). 778 * creating it if it does 779 * not exist. Will not return <code>null</code>. 780 * 781 * <p> 782 * <b>Definition:</b> 783 * The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService) 784 * </p> 785 */ 786 public CodeableConceptDt getType() { 787 if (myType == null) { 788 myType = new CodeableConceptDt(); 789 } 790 return myType; 791 } 792 793 /** 794 * Sets the value(s) for <b>type</b> () 795 * 796 * <p> 797 * <b>Definition:</b> 798 * The type of appointment that is being booked (This may also be associated with participants for location, and/or a HealthcareService) 799 * </p> 800 */ 801 public Appointment setType(CodeableConceptDt theValue) { 802 myType = theValue; 803 return this; 804 } 805 806 807 808 809 /** 810 * Gets the value(s) for <b>reason</b> (). 811 * creating it if it does 812 * not exist. Will not return <code>null</code>. 813 * 814 * <p> 815 * <b>Definition:</b> 816 * The reason that this appointment is being scheduled. This is more clinical than administrative 817 * </p> 818 */ 819 public CodeableConceptDt getReason() { 820 if (myReason == null) { 821 myReason = new CodeableConceptDt(); 822 } 823 return myReason; 824 } 825 826 /** 827 * Sets the value(s) for <b>reason</b> () 828 * 829 * <p> 830 * <b>Definition:</b> 831 * The reason that this appointment is being scheduled. This is more clinical than administrative 832 * </p> 833 */ 834 public Appointment setReason(CodeableConceptDt theValue) { 835 myReason = theValue; 836 return this; 837 } 838 839 840 841 842 /** 843 * Gets the value(s) for <b>priority</b> (). 844 * creating it if it does 845 * not exist. Will not return <code>null</code>. 846 * 847 * <p> 848 * <b>Definition:</b> 849 * 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) 850 * </p> 851 */ 852 public UnsignedIntDt getPriorityElement() { 853 if (myPriority == null) { 854 myPriority = new UnsignedIntDt(); 855 } 856 return myPriority; 857 } 858 859 860 /** 861 * Gets the value(s) for <b>priority</b> (). 862 * creating it if it does 863 * not exist. Will not return <code>null</code>. 864 * 865 * <p> 866 * <b>Definition:</b> 867 * 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) 868 * </p> 869 */ 870 public Integer getPriority() { 871 return getPriorityElement().getValue(); 872 } 873 874 /** 875 * Sets the value(s) for <b>priority</b> () 876 * 877 * <p> 878 * <b>Definition:</b> 879 * 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) 880 * </p> 881 */ 882 public Appointment setPriority(UnsignedIntDt theValue) { 883 myPriority = theValue; 884 return this; 885 } 886 887 888 889 /** 890 * Sets the value for <b>priority</b> () 891 * 892 * <p> 893 * <b>Definition:</b> 894 * 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) 895 * </p> 896 */ 897 public Appointment setPriority( int theInteger) { 898 myPriority = new UnsignedIntDt(theInteger); 899 return this; 900 } 901 902 903 /** 904 * Gets the value(s) for <b>description</b> (). 905 * creating it if it does 906 * not exist. Will not return <code>null</code>. 907 * 908 * <p> 909 * <b>Definition:</b> 910 * 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 911 * </p> 912 */ 913 public StringDt getDescriptionElement() { 914 if (myDescription == null) { 915 myDescription = new StringDt(); 916 } 917 return myDescription; 918 } 919 920 921 /** 922 * Gets the value(s) for <b>description</b> (). 923 * creating it if it does 924 * not exist. Will not return <code>null</code>. 925 * 926 * <p> 927 * <b>Definition:</b> 928 * 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 929 * </p> 930 */ 931 public String getDescription() { 932 return getDescriptionElement().getValue(); 933 } 934 935 /** 936 * Sets the value(s) for <b>description</b> () 937 * 938 * <p> 939 * <b>Definition:</b> 940 * 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 941 * </p> 942 */ 943 public Appointment setDescription(StringDt theValue) { 944 myDescription = theValue; 945 return this; 946 } 947 948 949 950 /** 951 * Sets the value for <b>description</b> () 952 * 953 * <p> 954 * <b>Definition:</b> 955 * 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 956 * </p> 957 */ 958 public Appointment setDescription( String theString) { 959 myDescription = new StringDt(theString); 960 return this; 961 } 962 963 964 /** 965 * Gets the value(s) for <b>start</b> (). 966 * creating it if it does 967 * not exist. Will not return <code>null</code>. 968 * 969 * <p> 970 * <b>Definition:</b> 971 * Date/Time that the appointment is to take place 972 * </p> 973 */ 974 public InstantDt getStartElement() { 975 if (myStart == null) { 976 myStart = new InstantDt(); 977 } 978 return myStart; 979 } 980 981 982 /** 983 * Gets the value(s) for <b>start</b> (). 984 * creating it if it does 985 * not exist. Will not return <code>null</code>. 986 * 987 * <p> 988 * <b>Definition:</b> 989 * Date/Time that the appointment is to take place 990 * </p> 991 */ 992 public Date getStart() { 993 return getStartElement().getValue(); 994 } 995 996 /** 997 * Sets the value(s) for <b>start</b> () 998 * 999 * <p> 1000 * <b>Definition:</b> 1001 * Date/Time that the appointment is to take place 1002 * </p> 1003 */ 1004 public Appointment setStart(InstantDt theValue) { 1005 myStart = theValue; 1006 return this; 1007 } 1008 1009 1010 1011 /** 1012 * Sets the value for <b>start</b> () 1013 * 1014 * <p> 1015 * <b>Definition:</b> 1016 * Date/Time that the appointment is to take place 1017 * </p> 1018 */ 1019 public Appointment setStartWithMillisPrecision( Date theDate) { 1020 myStart = new InstantDt(theDate); 1021 return this; 1022 } 1023 1024 /** 1025 * Sets the value for <b>start</b> () 1026 * 1027 * <p> 1028 * <b>Definition:</b> 1029 * Date/Time that the appointment is to take place 1030 * </p> 1031 */ 1032 public Appointment setStart( Date theDate, TemporalPrecisionEnum thePrecision) { 1033 myStart = new InstantDt(theDate, thePrecision); 1034 return this; 1035 } 1036 1037 1038 /** 1039 * Gets the value(s) for <b>end</b> (). 1040 * creating it if it does 1041 * not exist. Will not return <code>null</code>. 1042 * 1043 * <p> 1044 * <b>Definition:</b> 1045 * Date/Time that the appointment is to conclude 1046 * </p> 1047 */ 1048 public InstantDt getEndElement() { 1049 if (myEnd == null) { 1050 myEnd = new InstantDt(); 1051 } 1052 return myEnd; 1053 } 1054 1055 1056 /** 1057 * Gets the value(s) for <b>end</b> (). 1058 * creating it if it does 1059 * not exist. Will not return <code>null</code>. 1060 * 1061 * <p> 1062 * <b>Definition:</b> 1063 * Date/Time that the appointment is to conclude 1064 * </p> 1065 */ 1066 public Date getEnd() { 1067 return getEndElement().getValue(); 1068 } 1069 1070 /** 1071 * Sets the value(s) for <b>end</b> () 1072 * 1073 * <p> 1074 * <b>Definition:</b> 1075 * Date/Time that the appointment is to conclude 1076 * </p> 1077 */ 1078 public Appointment setEnd(InstantDt theValue) { 1079 myEnd = theValue; 1080 return this; 1081 } 1082 1083 1084 1085 /** 1086 * Sets the value for <b>end</b> () 1087 * 1088 * <p> 1089 * <b>Definition:</b> 1090 * Date/Time that the appointment is to conclude 1091 * </p> 1092 */ 1093 public Appointment setEndWithMillisPrecision( Date theDate) { 1094 myEnd = new InstantDt(theDate); 1095 return this; 1096 } 1097 1098 /** 1099 * Sets the value for <b>end</b> () 1100 * 1101 * <p> 1102 * <b>Definition:</b> 1103 * Date/Time that the appointment is to conclude 1104 * </p> 1105 */ 1106 public Appointment setEnd( Date theDate, TemporalPrecisionEnum thePrecision) { 1107 myEnd = new InstantDt(theDate, thePrecision); 1108 return this; 1109 } 1110 1111 1112 /** 1113 * Gets the value(s) for <b>minutesDuration</b> (). 1114 * creating it if it does 1115 * not exist. Will not return <code>null</code>. 1116 * 1117 * <p> 1118 * <b>Definition:</b> 1119 * 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) 1120 * </p> 1121 */ 1122 public PositiveIntDt getMinutesDurationElement() { 1123 if (myMinutesDuration == null) { 1124 myMinutesDuration = new PositiveIntDt(); 1125 } 1126 return myMinutesDuration; 1127 } 1128 1129 1130 /** 1131 * Gets the value(s) for <b>minutesDuration</b> (). 1132 * creating it if it does 1133 * not exist. Will not return <code>null</code>. 1134 * 1135 * <p> 1136 * <b>Definition:</b> 1137 * 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) 1138 * </p> 1139 */ 1140 public Integer getMinutesDuration() { 1141 return getMinutesDurationElement().getValue(); 1142 } 1143 1144 /** 1145 * Sets the value(s) for <b>minutesDuration</b> () 1146 * 1147 * <p> 1148 * <b>Definition:</b> 1149 * 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) 1150 * </p> 1151 */ 1152 public Appointment setMinutesDuration(PositiveIntDt theValue) { 1153 myMinutesDuration = theValue; 1154 return this; 1155 } 1156 1157 1158 1159 /** 1160 * Sets the value for <b>minutesDuration</b> () 1161 * 1162 * <p> 1163 * <b>Definition:</b> 1164 * 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) 1165 * </p> 1166 */ 1167 public Appointment setMinutesDuration( int theInteger) { 1168 myMinutesDuration = new PositiveIntDt(theInteger); 1169 return this; 1170 } 1171 1172 1173 /** 1174 * Gets the value(s) for <b>slot</b> (). 1175 * creating it if it does 1176 * not exist. Will not return <code>null</code>. 1177 * 1178 * <p> 1179 * <b>Definition:</b> 1180 * 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 1181 * </p> 1182 */ 1183 public java.util.List<ResourceReferenceDt> getSlot() { 1184 if (mySlot == null) { 1185 mySlot = new java.util.ArrayList<ResourceReferenceDt>(); 1186 } 1187 return mySlot; 1188 } 1189 1190 /** 1191 * Sets the value(s) for <b>slot</b> () 1192 * 1193 * <p> 1194 * <b>Definition:</b> 1195 * 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 1196 * </p> 1197 */ 1198 public Appointment setSlot(java.util.List<ResourceReferenceDt> theValue) { 1199 mySlot = theValue; 1200 return this; 1201 } 1202 1203 1204 1205 /** 1206 * Adds and returns a new value for <b>slot</b> () 1207 * 1208 * <p> 1209 * <b>Definition:</b> 1210 * 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 1211 * </p> 1212 */ 1213 public ResourceReferenceDt addSlot() { 1214 ResourceReferenceDt newType = new ResourceReferenceDt(); 1215 getSlot().add(newType); 1216 return newType; 1217 } 1218 1219 /** 1220 * Gets the value(s) for <b>comment</b> (). 1221 * creating it if it does 1222 * not exist. Will not return <code>null</code>. 1223 * 1224 * <p> 1225 * <b>Definition:</b> 1226 * Additional comments about the appointment 1227 * </p> 1228 */ 1229 public StringDt getCommentElement() { 1230 if (myComment == null) { 1231 myComment = new StringDt(); 1232 } 1233 return myComment; 1234 } 1235 1236 1237 /** 1238 * Gets the value(s) for <b>comment</b> (). 1239 * creating it if it does 1240 * not exist. Will not return <code>null</code>. 1241 * 1242 * <p> 1243 * <b>Definition:</b> 1244 * Additional comments about the appointment 1245 * </p> 1246 */ 1247 public String getComment() { 1248 return getCommentElement().getValue(); 1249 } 1250 1251 /** 1252 * Sets the value(s) for <b>comment</b> () 1253 * 1254 * <p> 1255 * <b>Definition:</b> 1256 * Additional comments about the appointment 1257 * </p> 1258 */ 1259 public Appointment setComment(StringDt theValue) { 1260 myComment = theValue; 1261 return this; 1262 } 1263 1264 1265 1266 /** 1267 * Sets the value for <b>comment</b> () 1268 * 1269 * <p> 1270 * <b>Definition:</b> 1271 * Additional comments about the appointment 1272 * </p> 1273 */ 1274 public Appointment setComment( String theString) { 1275 myComment = new StringDt(theString); 1276 return this; 1277 } 1278 1279 1280 /** 1281 * Gets the value(s) for <b>participant</b> (). 1282 * creating it if it does 1283 * not exist. Will not return <code>null</code>. 1284 * 1285 * <p> 1286 * <b>Definition:</b> 1287 * List of participants involved in the appointment 1288 * </p> 1289 */ 1290 public java.util.List<Participant> getParticipant() { 1291 if (myParticipant == null) { 1292 myParticipant = new java.util.ArrayList<Participant>(); 1293 } 1294 return myParticipant; 1295 } 1296 1297 /** 1298 * Sets the value(s) for <b>participant</b> () 1299 * 1300 * <p> 1301 * <b>Definition:</b> 1302 * List of participants involved in the appointment 1303 * </p> 1304 */ 1305 public Appointment setParticipant(java.util.List<Participant> theValue) { 1306 myParticipant = theValue; 1307 return this; 1308 } 1309 1310 1311 1312 /** 1313 * Adds and returns a new value for <b>participant</b> () 1314 * 1315 * <p> 1316 * <b>Definition:</b> 1317 * List of participants involved in the appointment 1318 * </p> 1319 */ 1320 public Participant addParticipant() { 1321 Participant newType = new Participant(); 1322 getParticipant().add(newType); 1323 return newType; 1324 } 1325 1326 /** 1327 * Adds a given new value for <b>participant</b> () 1328 * 1329 * <p> 1330 * <b>Definition:</b> 1331 * List of participants involved in the appointment 1332 * </p> 1333 * @param theValue The participant to add (must not be <code>null</code>) 1334 */ 1335 public Appointment addParticipant(Participant theValue) { 1336 if (theValue == null) { 1337 throw new NullPointerException("theValue must not be null"); 1338 } 1339 getParticipant().add(theValue); 1340 return this; 1341 } 1342 1343 /** 1344 * Gets the first repetition for <b>participant</b> (), 1345 * creating it if it does not already exist. 1346 * 1347 * <p> 1348 * <b>Definition:</b> 1349 * List of participants involved in the appointment 1350 * </p> 1351 */ 1352 public Participant getParticipantFirstRep() { 1353 if (getParticipant().isEmpty()) { 1354 return addParticipant(); 1355 } 1356 return getParticipant().get(0); 1357 } 1358 1359 /** 1360 * Block class for child element: <b>Appointment.participant</b> () 1361 * 1362 * <p> 1363 * <b>Definition:</b> 1364 * List of participants involved in the appointment 1365 * </p> 1366 */ 1367 @Block() 1368 public static class Participant 1369 extends BaseIdentifiableElement implements IResourceBlock { 1370 1371 @Child(name="type", type=CodeableConceptDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1372 @Description( 1373 shortDefinition="", 1374 formalDefinition="Role of participant in the appointment" 1375 ) 1376 private java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> myType; 1377 1378 @Child(name="actor", order=1, min=0, max=1, summary=true, modifier=false, type={ 1379 ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, ca.uhn.fhir.model.dstu2.resource.Device.class, ca.uhn.fhir.model.dstu2.resource.HealthcareService.class, ca.uhn.fhir.model.dstu2.resource.Location.class }) 1380 @Description( 1381 shortDefinition="", 1382 formalDefinition="A Person, Location/HealthcareService or Device that is participating in the appointment" 1383 ) 1384 private ResourceReferenceDt myActor; 1385 1386 @Child(name="required", type=CodeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 1387 @Description( 1388 shortDefinition="", 1389 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." 1390 ) 1391 private BoundCodeDt<ParticipantRequiredEnum> myRequired; 1392 1393 @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=false, modifier=false) 1394 @Description( 1395 shortDefinition="", 1396 formalDefinition="Participation status of the Patient" 1397 ) 1398 private BoundCodeDt<ParticipationStatusEnum> myStatus; 1399 1400 1401 @Override 1402 public boolean isEmpty() { 1403 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myActor, myRequired, myStatus); 1404 } 1405 1406 @Override 1407 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1408 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myActor, myRequired, myStatus); 1409 } 1410 1411 /** 1412 * Gets the value(s) for <b>type</b> (). 1413 * creating it if it does 1414 * not exist. Will not return <code>null</code>. 1415 * 1416 * <p> 1417 * <b>Definition:</b> 1418 * Role of participant in the appointment 1419 * </p> 1420 */ 1421 public java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> getType() { 1422 if (myType == null) { 1423 myType = new java.util.ArrayList<BoundCodeableConceptDt<ParticipantTypeEnum>>(); 1424 } 1425 return myType; 1426 } 1427 1428 /** 1429 * Sets the value(s) for <b>type</b> () 1430 * 1431 * <p> 1432 * <b>Definition:</b> 1433 * Role of participant in the appointment 1434 * </p> 1435 */ 1436 public Participant setType(java.util.List<BoundCodeableConceptDt<ParticipantTypeEnum>> theValue) { 1437 myType = theValue; 1438 return this; 1439 } 1440 1441 1442 1443 /** 1444 * Add a value for <b>type</b> () using an enumerated type. This 1445 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1446 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1447 * you may also use the {@link #addType()} method. 1448 * 1449 * <p> 1450 * <b>Definition:</b> 1451 * Role of participant in the appointment 1452 * </p> 1453 */ 1454 public BoundCodeableConceptDt<ParticipantTypeEnum> addType(ParticipantTypeEnum theValue) { 1455 BoundCodeableConceptDt<ParticipantTypeEnum> retVal = new BoundCodeableConceptDt<ParticipantTypeEnum>(ParticipantTypeEnum.VALUESET_BINDER, theValue); 1456 getType().add(retVal); 1457 return retVal; 1458 } 1459 1460 /** 1461 * Gets the first repetition for <b>type</b> (), 1462 * creating it if it does not already exist. 1463 * 1464 * <p> 1465 * <b>Definition:</b> 1466 * Role of participant in the appointment 1467 * </p> 1468 */ 1469 public BoundCodeableConceptDt<ParticipantTypeEnum> getTypeFirstRep() { 1470 if (getType().size() == 0) { 1471 addType(); 1472 } 1473 return getType().get(0); 1474 } 1475 1476 /** 1477 * Add a value for <b>type</b> () 1478 * 1479 * <p> 1480 * <b>Definition:</b> 1481 * Role of participant in the appointment 1482 * </p> 1483 */ 1484 public BoundCodeableConceptDt<ParticipantTypeEnum> addType() { 1485 BoundCodeableConceptDt<ParticipantTypeEnum> retVal = new BoundCodeableConceptDt<ParticipantTypeEnum>(ParticipantTypeEnum.VALUESET_BINDER); 1486 getType().add(retVal); 1487 return retVal; 1488 } 1489 1490 /** 1491 * Sets the value(s), and clears any existing value(s) for <b>type</b> () 1492 * 1493 * <p> 1494 * <b>Definition:</b> 1495 * Role of participant in the appointment 1496 * </p> 1497 */ 1498 public Participant setType(ParticipantTypeEnum theValue) { 1499 getType().clear(); 1500 addType(theValue); 1501 return this; 1502 } 1503 1504 1505 /** 1506 * Gets the value(s) for <b>actor</b> (). 1507 * creating it if it does 1508 * not exist. Will not return <code>null</code>. 1509 * 1510 * <p> 1511 * <b>Definition:</b> 1512 * A Person, Location/HealthcareService or Device that is participating in the appointment 1513 * </p> 1514 */ 1515 public ResourceReferenceDt getActor() { 1516 if (myActor == null) { 1517 myActor = new ResourceReferenceDt(); 1518 } 1519 return myActor; 1520 } 1521 1522 /** 1523 * Sets the value(s) for <b>actor</b> () 1524 * 1525 * <p> 1526 * <b>Definition:</b> 1527 * A Person, Location/HealthcareService or Device that is participating in the appointment 1528 * </p> 1529 */ 1530 public Participant setActor(ResourceReferenceDt theValue) { 1531 myActor = theValue; 1532 return this; 1533 } 1534 1535 1536 1537 1538 /** 1539 * Gets the value(s) for <b>required</b> (). 1540 * creating it if it does 1541 * not exist. Will not return <code>null</code>. 1542 * 1543 * <p> 1544 * <b>Definition:</b> 1545 * 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. 1546 * </p> 1547 */ 1548 public BoundCodeDt<ParticipantRequiredEnum> getRequiredElement() { 1549 if (myRequired == null) { 1550 myRequired = new BoundCodeDt<ParticipantRequiredEnum>(ParticipantRequiredEnum.VALUESET_BINDER); 1551 } 1552 return myRequired; 1553 } 1554 1555 1556 /** 1557 * Gets the value(s) for <b>required</b> (). 1558 * creating it if it does 1559 * not exist. Will not return <code>null</code>. 1560 * 1561 * <p> 1562 * <b>Definition:</b> 1563 * 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. 1564 * </p> 1565 */ 1566 public String getRequired() { 1567 return getRequiredElement().getValue(); 1568 } 1569 1570 /** 1571 * Sets the value(s) for <b>required</b> () 1572 * 1573 * <p> 1574 * <b>Definition:</b> 1575 * 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. 1576 * </p> 1577 */ 1578 public Participant setRequired(BoundCodeDt<ParticipantRequiredEnum> theValue) { 1579 myRequired = theValue; 1580 return this; 1581 } 1582 1583 1584 1585 /** 1586 * Sets the value(s) for <b>required</b> () 1587 * 1588 * <p> 1589 * <b>Definition:</b> 1590 * 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. 1591 * </p> 1592 */ 1593 public Participant setRequired(ParticipantRequiredEnum theValue) { 1594 setRequired(new BoundCodeDt<ParticipantRequiredEnum>(ParticipantRequiredEnum.VALUESET_BINDER, theValue)); 1595 1596/* 1597 getRequiredElement().setValueAsEnum(theValue); 1598*/ 1599 return this; 1600 } 1601 1602 1603 /** 1604 * Gets the value(s) for <b>status</b> (). 1605 * creating it if it does 1606 * not exist. Will not return <code>null</code>. 1607 * 1608 * <p> 1609 * <b>Definition:</b> 1610 * Participation status of the Patient 1611 * </p> 1612 */ 1613 public BoundCodeDt<ParticipationStatusEnum> getStatusElement() { 1614 if (myStatus == null) { 1615 myStatus = new BoundCodeDt<ParticipationStatusEnum>(ParticipationStatusEnum.VALUESET_BINDER); 1616 } 1617 return myStatus; 1618 } 1619 1620 1621 /** 1622 * Gets the value(s) for <b>status</b> (). 1623 * creating it if it does 1624 * not exist. Will not return <code>null</code>. 1625 * 1626 * <p> 1627 * <b>Definition:</b> 1628 * Participation status of the Patient 1629 * </p> 1630 */ 1631 public String getStatus() { 1632 return getStatusElement().getValue(); 1633 } 1634 1635 /** 1636 * Sets the value(s) for <b>status</b> () 1637 * 1638 * <p> 1639 * <b>Definition:</b> 1640 * Participation status of the Patient 1641 * </p> 1642 */ 1643 public Participant setStatus(BoundCodeDt<ParticipationStatusEnum> theValue) { 1644 myStatus = theValue; 1645 return this; 1646 } 1647 1648 1649 1650 /** 1651 * Sets the value(s) for <b>status</b> () 1652 * 1653 * <p> 1654 * <b>Definition:</b> 1655 * Participation status of the Patient 1656 * </p> 1657 */ 1658 public Participant setStatus(ParticipationStatusEnum theValue) { 1659 setStatus(new BoundCodeDt<ParticipationStatusEnum>(ParticipationStatusEnum.VALUESET_BINDER, theValue)); 1660 1661/* 1662 getStatusElement().setValueAsEnum(theValue); 1663*/ 1664 return this; 1665 } 1666 1667 1668 1669 1670 } 1671 1672 1673 1674 1675 @Override 1676 public String getResourceName() { 1677 return "Appointment"; 1678 } 1679 1680 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1681 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1682 } 1683 1684 1685}