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>CarePlan</b> Resource 320 * () 321 * 322 * <p> 323 * <b>Definition:</b> 324 * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. 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/CarePlan">http://hl7.org/fhir/profiles/CarePlan</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="CarePlan", profile="http://hl7.org/fhir/profiles/CarePlan", id="careplan") 339public class CarePlan extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>patient</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>reference</b><br> 347 * Path: <b>CarePlan.subject</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="patient", path="CarePlan.subject", description="", type="reference" ) 351 public static final String SP_PATIENT = "patient"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>reference</b><br> 358 * Path: <b>CarePlan.subject</b><br> 359 * </p> 360 */ 361 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 362 363 /** 364 * Search parameter constant for <b>subject</b> 365 * <p> 366 * Description: <b></b><br> 367 * Type: <b>reference</b><br> 368 * Path: <b>CarePlan.subject</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="subject", path="CarePlan.subject", description="", type="reference" ) 372 public static final String SP_SUBJECT = "subject"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 376 * <p> 377 * Description: <b></b><br> 378 * Type: <b>reference</b><br> 379 * Path: <b>CarePlan.subject</b><br> 380 * </p> 381 */ 382 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 383 384 /** 385 * Search parameter constant for <b>condition</b> 386 * <p> 387 * Description: <b></b><br> 388 * Type: <b>reference</b><br> 389 * Path: <b>CarePlan.addresses</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="condition", path="CarePlan.addresses", description="", type="reference" ) 393 public static final String SP_CONDITION = "condition"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>condition</b> 397 * <p> 398 * Description: <b></b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>CarePlan.addresses</b><br> 401 * </p> 402 */ 403 public static final ReferenceClientParam CONDITION = new ReferenceClientParam(SP_CONDITION); 404 405 /** 406 * Search parameter constant for <b>date</b> 407 * <p> 408 * Description: <b></b><br> 409 * Type: <b>date</b><br> 410 * Path: <b>CarePlan.period</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="date", path="CarePlan.period", description="", type="date" ) 414 public static final String SP_DATE = "date"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>date</b> 418 * <p> 419 * Description: <b></b><br> 420 * Type: <b>date</b><br> 421 * Path: <b>CarePlan.period</b><br> 422 * </p> 423 */ 424 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 425 426 /** 427 * Search parameter constant for <b>participant</b> 428 * <p> 429 * Description: <b></b><br> 430 * Type: <b>reference</b><br> 431 * Path: <b>CarePlan.participant.member</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="participant", path="CarePlan.participant.member", description="", type="reference" ) 435 public static final String SP_PARTICIPANT = "participant"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 439 * <p> 440 * Description: <b></b><br> 441 * Type: <b>reference</b><br> 442 * Path: <b>CarePlan.participant.member</b><br> 443 * </p> 444 */ 445 public static final ReferenceClientParam PARTICIPANT = new ReferenceClientParam(SP_PARTICIPANT); 446 447 /** 448 * Search parameter constant for <b>activitycode</b> 449 * <p> 450 * Description: <b></b><br> 451 * Type: <b>token</b><br> 452 * Path: <b>CarePlan.activity.detail.code</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="activitycode", path="CarePlan.activity.detail.code", description="", type="token" ) 456 public static final String SP_ACTIVITYCODE = "activitycode"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>activitycode</b> 460 * <p> 461 * Description: <b></b><br> 462 * Type: <b>token</b><br> 463 * Path: <b>CarePlan.activity.detail.code</b><br> 464 * </p> 465 */ 466 public static final TokenClientParam ACTIVITYCODE = new TokenClientParam(SP_ACTIVITYCODE); 467 468 /** 469 * Search parameter constant for <b>activitydate</b> 470 * <p> 471 * Description: <b>Specified date occurs within period specified by CarePlan.activity.timingSchedule</b><br> 472 * Type: <b>date</b><br> 473 * Path: <b>CarePlan.activity.detail.scheduled[x]</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="activitydate", path="CarePlan.activity.detail.scheduled[x]", description="Specified date occurs within period specified by CarePlan.activity.timingSchedule", type="date" ) 477 public static final String SP_ACTIVITYDATE = "activitydate"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>activitydate</b> 481 * <p> 482 * Description: <b>Specified date occurs within period specified by CarePlan.activity.timingSchedule</b><br> 483 * Type: <b>date</b><br> 484 * Path: <b>CarePlan.activity.detail.scheduled[x]</b><br> 485 * </p> 486 */ 487 public static final DateClientParam ACTIVITYDATE = new DateClientParam(SP_ACTIVITYDATE); 488 489 /** 490 * Search parameter constant for <b>activityreference</b> 491 * <p> 492 * Description: <b></b><br> 493 * Type: <b>reference</b><br> 494 * Path: <b>CarePlan.activity.reference</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="activityreference", path="CarePlan.activity.reference", description="", type="reference" ) 498 public static final String SP_ACTIVITYREFERENCE = "activityreference"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>activityreference</b> 502 * <p> 503 * Description: <b></b><br> 504 * Type: <b>reference</b><br> 505 * Path: <b>CarePlan.activity.reference</b><br> 506 * </p> 507 */ 508 public static final ReferenceClientParam ACTIVITYREFERENCE = new ReferenceClientParam(SP_ACTIVITYREFERENCE); 509 510 /** 511 * Search parameter constant for <b>performer</b> 512 * <p> 513 * Description: <b>Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)</b><br> 514 * Type: <b>reference</b><br> 515 * Path: <b>CarePlan.activity.detail.performer</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="performer", path="CarePlan.activity.detail.performer", description="Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)", type="reference" ) 519 public static final String SP_PERFORMER = "performer"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 523 * <p> 524 * Description: <b>Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)</b><br> 525 * Type: <b>reference</b><br> 526 * Path: <b>CarePlan.activity.detail.performer</b><br> 527 * </p> 528 */ 529 public static final ReferenceClientParam PERFORMER = new ReferenceClientParam(SP_PERFORMER); 530 531 /** 532 * Search parameter constant for <b>goal</b> 533 * <p> 534 * Description: <b></b><br> 535 * Type: <b>reference</b><br> 536 * Path: <b>CarePlan.goal</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="goal", path="CarePlan.goal", description="", type="reference" ) 540 public static final String SP_GOAL = "goal"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>goal</b> 544 * <p> 545 * Description: <b></b><br> 546 * Type: <b>reference</b><br> 547 * Path: <b>CarePlan.goal</b><br> 548 * </p> 549 */ 550 public static final ReferenceClientParam GOAL = new ReferenceClientParam(SP_GOAL); 551 552 /** 553 * Search parameter constant for <b>relatedcode</b> 554 * <p> 555 * Description: <b></b><br> 556 * Type: <b>token</b><br> 557 * Path: <b>CarePlan.relatedPlan.code</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="relatedcode", path="CarePlan.relatedPlan.code", description="", type="token" ) 561 public static final String SP_RELATEDCODE = "relatedcode"; 562 563 /** 564 * <b>Fluent Client</b> search parameter constant for <b>relatedcode</b> 565 * <p> 566 * Description: <b></b><br> 567 * Type: <b>token</b><br> 568 * Path: <b>CarePlan.relatedPlan.code</b><br> 569 * </p> 570 */ 571 public static final TokenClientParam RELATEDCODE = new TokenClientParam(SP_RELATEDCODE); 572 573 /** 574 * Search parameter constant for <b>relatedplan</b> 575 * <p> 576 * Description: <b></b><br> 577 * Type: <b>reference</b><br> 578 * Path: <b>CarePlan.relatedPlan.plan</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="relatedplan", path="CarePlan.relatedPlan.plan", description="", type="reference" ) 582 public static final String SP_RELATEDPLAN = "relatedplan"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>relatedplan</b> 586 * <p> 587 * Description: <b></b><br> 588 * Type: <b>reference</b><br> 589 * Path: <b>CarePlan.relatedPlan.plan</b><br> 590 * </p> 591 */ 592 public static final ReferenceClientParam RELATEDPLAN = new ReferenceClientParam(SP_RELATEDPLAN); 593 594 /** 595 * Search parameter constant for <b>relatedcode-relatedplan</b> 596 * <p> 597 * Description: <b>A combination of the type of relationship and the related plan</b><br> 598 * Type: <b>composite</b><br> 599 * Path: <b>relatedcode & relatedplan</b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="relatedcode-relatedplan", path="relatedcode & relatedplan", description="A combination of the type of relationship and the related plan", type="composite" , compositeOf={ "relatedcode", "relatedplan" } ) 603 public static final String SP_RELATEDCODE_RELATEDPLAN = "relatedcode-relatedplan"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>relatedcode-relatedplan</b> 607 * <p> 608 * Description: <b>A combination of the type of relationship and the related plan</b><br> 609 * Type: <b>composite</b><br> 610 * Path: <b>relatedcode & relatedplan</b><br> 611 * </p> 612 */ 613 public static final CompositeClientParam<TokenClientParam, ReferenceClientParam> RELATEDCODE_RELATEDPLAN = new CompositeClientParam<TokenClientParam, ReferenceClientParam>(SP_RELATEDCODE_RELATEDPLAN); 614 615 616 /** 617 * Constant for fluent queries to be used to add include statements. Specifies 618 * the path value of "<b>CarePlan:activityreference</b>". 619 */ 620 public static final Include INCLUDE_ACTIVITYREFERENCE = new Include("CarePlan:activityreference"); 621 622 /** 623 * Constant for fluent queries to be used to add include statements. Specifies 624 * the path value of "<b>CarePlan:condition</b>". 625 */ 626 public static final Include INCLUDE_CONDITION = new Include("CarePlan:condition"); 627 628 /** 629 * Constant for fluent queries to be used to add include statements. Specifies 630 * the path value of "<b>CarePlan:goal</b>". 631 */ 632 public static final Include INCLUDE_GOAL = new Include("CarePlan:goal"); 633 634 /** 635 * Constant for fluent queries to be used to add include statements. Specifies 636 * the path value of "<b>CarePlan:participant</b>". 637 */ 638 public static final Include INCLUDE_PARTICIPANT = new Include("CarePlan:participant"); 639 640 /** 641 * Constant for fluent queries to be used to add include statements. Specifies 642 * the path value of "<b>CarePlan:patient</b>". 643 */ 644 public static final Include INCLUDE_PATIENT = new Include("CarePlan:patient"); 645 646 /** 647 * Constant for fluent queries to be used to add include statements. Specifies 648 * the path value of "<b>CarePlan:performer</b>". 649 */ 650 public static final Include INCLUDE_PERFORMER = new Include("CarePlan:performer"); 651 652 /** 653 * Constant for fluent queries to be used to add include statements. Specifies 654 * the path value of "<b>CarePlan:relatedplan</b>". 655 */ 656 public static final Include INCLUDE_RELATEDPLAN = new Include("CarePlan:relatedplan"); 657 658 /** 659 * Constant for fluent queries to be used to add include statements. Specifies 660 * the path value of "<b>CarePlan:subject</b>". 661 */ 662 public static final Include INCLUDE_SUBJECT = new Include("CarePlan:subject"); 663 664 665 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 666 @Description( 667 shortDefinition="", 668 formalDefinition="This records identifiers associated with this care plan 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)" 669 ) 670 private java.util.List<IdentifierDt> myIdentifier; 671 672 @Child(name="subject", order=1, min=0, max=1, summary=true, modifier=false, type={ 673 ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Group.class }) 674 @Description( 675 shortDefinition="", 676 formalDefinition="Identifies the patient or group whose intended care is described by the plan." 677 ) 678 private ResourceReferenceDt mySubject; 679 680 @Child(name="status", type=CodeDt.class, order=2, min=1, max=1, summary=true, modifier=true) 681 @Description( 682 shortDefinition="", 683 formalDefinition="Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record." 684 ) 685 private BoundCodeDt<CarePlanStatusEnum> myStatus; 686 687 @Child(name="context", order=3, min=0, max=1, summary=true, modifier=false, type={ 688 ca.uhn.fhir.model.dstu2.resource.Encounter.class, ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare.class }) 689 @Description( 690 shortDefinition="", 691 formalDefinition="Identifies the context in which this particular CarePlan is defined." 692 ) 693 private ResourceReferenceDt myContext; 694 695 @Child(name="period", type=PeriodDt.class, order=4, min=0, max=1, summary=true, modifier=false) 696 @Description( 697 shortDefinition="", 698 formalDefinition="Indicates when the plan did (or is intended to) come into effect and end." 699 ) 700 private PeriodDt myPeriod; 701 702 @Child(name="author", order=5, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={ 703 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.Organization.class }) 704 @Description( 705 shortDefinition="", 706 formalDefinition="Identifies the individual(s) or ogranization who is responsible for the content of the care plan." 707 ) 708 private java.util.List<ResourceReferenceDt> myAuthor; 709 710 @Child(name="modified", type=DateTimeDt.class, order=6, min=0, max=1, summary=true, modifier=false) 711 @Description( 712 shortDefinition="", 713 formalDefinition="Identifies the most recent date on which the plan has been revised." 714 ) 715 private DateTimeDt myModified; 716 717 @Child(name="category", type=CodeableConceptDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 718 @Description( 719 shortDefinition="", 720 formalDefinition="Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc." 721 ) 722 private java.util.List<CodeableConceptDt> myCategory; 723 724 @Child(name="description", type=StringDt.class, order=8, min=0, max=1, summary=true, modifier=false) 725 @Description( 726 shortDefinition="", 727 formalDefinition="A description of the scope and nature of the plan" 728 ) 729 private StringDt myDescription; 730 731 @Child(name="addresses", order=9, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={ 732 ca.uhn.fhir.model.dstu2.resource.Condition.class }) 733 @Description( 734 shortDefinition="", 735 formalDefinition="Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan." 736 ) 737 private java.util.List<ResourceReferenceDt> myAddresses; 738 739 @Child(name="support", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 740 IResource.class }) 741 @Description( 742 shortDefinition="", 743 formalDefinition="Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include co-morbidities, recent procedures, limitations, recent assessments, etc." 744 ) 745 private java.util.List<ResourceReferenceDt> mySupport; 746 747 @Child(name="relatedPlan", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 748 @Description( 749 shortDefinition="", 750 formalDefinition="Identifies CarePlans with some sort of formal relationship to the current plan." 751 ) 752 private java.util.List<RelatedPlan> myRelatedPlan; 753 754 @Child(name="participant", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 755 @Description( 756 shortDefinition="", 757 formalDefinition="Identifies all people and organizations who are expected to be involved in the care envisioned by this plan." 758 ) 759 private java.util.List<Participant> myParticipant; 760 761 @Child(name="goal", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 762 ca.uhn.fhir.model.dstu2.resource.Goal.class }) 763 @Description( 764 shortDefinition="", 765 formalDefinition="Describes the intended objective(s) of carrying out the care plan." 766 ) 767 private java.util.List<ResourceReferenceDt> myGoal; 768 769 @Child(name="activity", order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 770 @Description( 771 shortDefinition="", 772 formalDefinition="Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc." 773 ) 774 private java.util.List<Activity> myActivity; 775 776 @Child(name="note", type=AnnotationDt.class, order=15, min=0, max=1, summary=false, modifier=false) 777 @Description( 778 shortDefinition="", 779 formalDefinition="General notes about the care plan not covered elsewhere" 780 ) 781 private AnnotationDt myNote; 782 783 784 @Override 785 public boolean isEmpty() { 786 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, mySubject, myStatus, myContext, myPeriod, myAuthor, myModified, myCategory, myDescription, myAddresses, mySupport, myRelatedPlan, myParticipant, myGoal, myActivity, myNote); 787 } 788 789 @Override 790 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 791 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, mySubject, myStatus, myContext, myPeriod, myAuthor, myModified, myCategory, myDescription, myAddresses, mySupport, myRelatedPlan, myParticipant, myGoal, myActivity, myNote); 792 } 793 794 /** 795 * Gets the value(s) for <b>identifier</b> (). 796 * creating it if it does 797 * not exist. Will not return <code>null</code>. 798 * 799 * <p> 800 * <b>Definition:</b> 801 * This records identifiers associated with this care plan 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) 802 * </p> 803 */ 804 public java.util.List<IdentifierDt> getIdentifier() { 805 if (myIdentifier == null) { 806 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 807 } 808 return myIdentifier; 809 } 810 811 /** 812 * Sets the value(s) for <b>identifier</b> () 813 * 814 * <p> 815 * <b>Definition:</b> 816 * This records identifiers associated with this care plan 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) 817 * </p> 818 */ 819 public CarePlan setIdentifier(java.util.List<IdentifierDt> theValue) { 820 myIdentifier = theValue; 821 return this; 822 } 823 824 825 826 /** 827 * Adds and returns a new value for <b>identifier</b> () 828 * 829 * <p> 830 * <b>Definition:</b> 831 * This records identifiers associated with this care plan 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) 832 * </p> 833 */ 834 public IdentifierDt addIdentifier() { 835 IdentifierDt newType = new IdentifierDt(); 836 getIdentifier().add(newType); 837 return newType; 838 } 839 840 /** 841 * Adds a given new value for <b>identifier</b> () 842 * 843 * <p> 844 * <b>Definition:</b> 845 * This records identifiers associated with this care plan 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) 846 * </p> 847 * @param theValue The identifier to add (must not be <code>null</code>) 848 */ 849 public CarePlan addIdentifier(IdentifierDt theValue) { 850 if (theValue == null) { 851 throw new NullPointerException("theValue must not be null"); 852 } 853 getIdentifier().add(theValue); 854 return this; 855 } 856 857 /** 858 * Gets the first repetition for <b>identifier</b> (), 859 * creating it if it does not already exist. 860 * 861 * <p> 862 * <b>Definition:</b> 863 * This records identifiers associated with this care plan 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) 864 * </p> 865 */ 866 public IdentifierDt getIdentifierFirstRep() { 867 if (getIdentifier().isEmpty()) { 868 return addIdentifier(); 869 } 870 return getIdentifier().get(0); 871 } 872 873 /** 874 * Gets the value(s) for <b>subject</b> (). 875 * creating it if it does 876 * not exist. Will not return <code>null</code>. 877 * 878 * <p> 879 * <b>Definition:</b> 880 * Identifies the patient or group whose intended care is described by the plan. 881 * </p> 882 */ 883 public ResourceReferenceDt getSubject() { 884 if (mySubject == null) { 885 mySubject = new ResourceReferenceDt(); 886 } 887 return mySubject; 888 } 889 890 /** 891 * Sets the value(s) for <b>subject</b> () 892 * 893 * <p> 894 * <b>Definition:</b> 895 * Identifies the patient or group whose intended care is described by the plan. 896 * </p> 897 */ 898 public CarePlan setSubject(ResourceReferenceDt theValue) { 899 mySubject = theValue; 900 return this; 901 } 902 903 904 905 906 /** 907 * Gets the value(s) for <b>status</b> (). 908 * creating it if it does 909 * not exist. Will not return <code>null</code>. 910 * 911 * <p> 912 * <b>Definition:</b> 913 * Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 914 * </p> 915 */ 916 public BoundCodeDt<CarePlanStatusEnum> getStatusElement() { 917 if (myStatus == null) { 918 myStatus = new BoundCodeDt<CarePlanStatusEnum>(CarePlanStatusEnum.VALUESET_BINDER); 919 } 920 return myStatus; 921 } 922 923 924 /** 925 * Gets the value(s) for <b>status</b> (). 926 * creating it if it does 927 * not exist. Will not return <code>null</code>. 928 * 929 * <p> 930 * <b>Definition:</b> 931 * Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 932 * </p> 933 */ 934 public String getStatus() { 935 return getStatusElement().getValue(); 936 } 937 938 /** 939 * Sets the value(s) for <b>status</b> () 940 * 941 * <p> 942 * <b>Definition:</b> 943 * Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 944 * </p> 945 */ 946 public CarePlan setStatus(BoundCodeDt<CarePlanStatusEnum> theValue) { 947 myStatus = theValue; 948 return this; 949 } 950 951 952 953 /** 954 * Sets the value(s) for <b>status</b> () 955 * 956 * <p> 957 * <b>Definition:</b> 958 * Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 959 * </p> 960 */ 961 public CarePlan setStatus(CarePlanStatusEnum theValue) { 962 setStatus(new BoundCodeDt<CarePlanStatusEnum>(CarePlanStatusEnum.VALUESET_BINDER, theValue)); 963 964/* 965 getStatusElement().setValueAsEnum(theValue); 966*/ 967 return this; 968 } 969 970 971 /** 972 * Gets the value(s) for <b>context</b> (). 973 * creating it if it does 974 * not exist. Will not return <code>null</code>. 975 * 976 * <p> 977 * <b>Definition:</b> 978 * Identifies the context in which this particular CarePlan is defined. 979 * </p> 980 */ 981 public ResourceReferenceDt getContext() { 982 if (myContext == null) { 983 myContext = new ResourceReferenceDt(); 984 } 985 return myContext; 986 } 987 988 /** 989 * Sets the value(s) for <b>context</b> () 990 * 991 * <p> 992 * <b>Definition:</b> 993 * Identifies the context in which this particular CarePlan is defined. 994 * </p> 995 */ 996 public CarePlan setContext(ResourceReferenceDt theValue) { 997 myContext = theValue; 998 return this; 999 } 1000 1001 1002 1003 1004 /** 1005 * Gets the value(s) for <b>period</b> (). 1006 * creating it if it does 1007 * not exist. Will not return <code>null</code>. 1008 * 1009 * <p> 1010 * <b>Definition:</b> 1011 * Indicates when the plan did (or is intended to) come into effect and end. 1012 * </p> 1013 */ 1014 public PeriodDt getPeriod() { 1015 if (myPeriod == null) { 1016 myPeriod = new PeriodDt(); 1017 } 1018 return myPeriod; 1019 } 1020 1021 /** 1022 * Sets the value(s) for <b>period</b> () 1023 * 1024 * <p> 1025 * <b>Definition:</b> 1026 * Indicates when the plan did (or is intended to) come into effect and end. 1027 * </p> 1028 */ 1029 public CarePlan setPeriod(PeriodDt theValue) { 1030 myPeriod = theValue; 1031 return this; 1032 } 1033 1034 1035 1036 1037 /** 1038 * Gets the value(s) for <b>author</b> (). 1039 * creating it if it does 1040 * not exist. Will not return <code>null</code>. 1041 * 1042 * <p> 1043 * <b>Definition:</b> 1044 * Identifies the individual(s) or ogranization who is responsible for the content of the care plan. 1045 * </p> 1046 */ 1047 public java.util.List<ResourceReferenceDt> getAuthor() { 1048 if (myAuthor == null) { 1049 myAuthor = new java.util.ArrayList<ResourceReferenceDt>(); 1050 } 1051 return myAuthor; 1052 } 1053 1054 /** 1055 * Sets the value(s) for <b>author</b> () 1056 * 1057 * <p> 1058 * <b>Definition:</b> 1059 * Identifies the individual(s) or ogranization who is responsible for the content of the care plan. 1060 * </p> 1061 */ 1062 public CarePlan setAuthor(java.util.List<ResourceReferenceDt> theValue) { 1063 myAuthor = theValue; 1064 return this; 1065 } 1066 1067 1068 1069 /** 1070 * Adds and returns a new value for <b>author</b> () 1071 * 1072 * <p> 1073 * <b>Definition:</b> 1074 * Identifies the individual(s) or ogranization who is responsible for the content of the care plan. 1075 * </p> 1076 */ 1077 public ResourceReferenceDt addAuthor() { 1078 ResourceReferenceDt newType = new ResourceReferenceDt(); 1079 getAuthor().add(newType); 1080 return newType; 1081 } 1082 1083 /** 1084 * Gets the value(s) for <b>modified</b> (). 1085 * creating it if it does 1086 * not exist. Will not return <code>null</code>. 1087 * 1088 * <p> 1089 * <b>Definition:</b> 1090 * Identifies the most recent date on which the plan has been revised. 1091 * </p> 1092 */ 1093 public DateTimeDt getModifiedElement() { 1094 if (myModified == null) { 1095 myModified = new DateTimeDt(); 1096 } 1097 return myModified; 1098 } 1099 1100 1101 /** 1102 * Gets the value(s) for <b>modified</b> (). 1103 * creating it if it does 1104 * not exist. Will not return <code>null</code>. 1105 * 1106 * <p> 1107 * <b>Definition:</b> 1108 * Identifies the most recent date on which the plan has been revised. 1109 * </p> 1110 */ 1111 public Date getModified() { 1112 return getModifiedElement().getValue(); 1113 } 1114 1115 /** 1116 * Sets the value(s) for <b>modified</b> () 1117 * 1118 * <p> 1119 * <b>Definition:</b> 1120 * Identifies the most recent date on which the plan has been revised. 1121 * </p> 1122 */ 1123 public CarePlan setModified(DateTimeDt theValue) { 1124 myModified = theValue; 1125 return this; 1126 } 1127 1128 1129 1130 /** 1131 * Sets the value for <b>modified</b> () 1132 * 1133 * <p> 1134 * <b>Definition:</b> 1135 * Identifies the most recent date on which the plan has been revised. 1136 * </p> 1137 */ 1138 public CarePlan setModified( Date theDate, TemporalPrecisionEnum thePrecision) { 1139 myModified = new DateTimeDt(theDate, thePrecision); 1140 return this; 1141 } 1142 1143 /** 1144 * Sets the value for <b>modified</b> () 1145 * 1146 * <p> 1147 * <b>Definition:</b> 1148 * Identifies the most recent date on which the plan has been revised. 1149 * </p> 1150 */ 1151 public CarePlan setModifiedWithSecondsPrecision( Date theDate) { 1152 myModified = new DateTimeDt(theDate); 1153 return this; 1154 } 1155 1156 1157 /** 1158 * Gets the value(s) for <b>category</b> (). 1159 * creating it if it does 1160 * not exist. Will not return <code>null</code>. 1161 * 1162 * <p> 1163 * <b>Definition:</b> 1164 * Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. 1165 * </p> 1166 */ 1167 public java.util.List<CodeableConceptDt> getCategory() { 1168 if (myCategory == null) { 1169 myCategory = new java.util.ArrayList<CodeableConceptDt>(); 1170 } 1171 return myCategory; 1172 } 1173 1174 /** 1175 * Sets the value(s) for <b>category</b> () 1176 * 1177 * <p> 1178 * <b>Definition:</b> 1179 * Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. 1180 * </p> 1181 */ 1182 public CarePlan setCategory(java.util.List<CodeableConceptDt> theValue) { 1183 myCategory = theValue; 1184 return this; 1185 } 1186 1187 1188 1189 /** 1190 * Adds and returns a new value for <b>category</b> () 1191 * 1192 * <p> 1193 * <b>Definition:</b> 1194 * Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. 1195 * </p> 1196 */ 1197 public CodeableConceptDt addCategory() { 1198 CodeableConceptDt newType = new CodeableConceptDt(); 1199 getCategory().add(newType); 1200 return newType; 1201 } 1202 1203 /** 1204 * Adds a given new value for <b>category</b> () 1205 * 1206 * <p> 1207 * <b>Definition:</b> 1208 * Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. 1209 * </p> 1210 * @param theValue The category to add (must not be <code>null</code>) 1211 */ 1212 public CarePlan addCategory(CodeableConceptDt theValue) { 1213 if (theValue == null) { 1214 throw new NullPointerException("theValue must not be null"); 1215 } 1216 getCategory().add(theValue); 1217 return this; 1218 } 1219 1220 /** 1221 * Gets the first repetition for <b>category</b> (), 1222 * creating it if it does not already exist. 1223 * 1224 * <p> 1225 * <b>Definition:</b> 1226 * Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc. 1227 * </p> 1228 */ 1229 public CodeableConceptDt getCategoryFirstRep() { 1230 if (getCategory().isEmpty()) { 1231 return addCategory(); 1232 } 1233 return getCategory().get(0); 1234 } 1235 1236 /** 1237 * Gets the value(s) for <b>description</b> (). 1238 * creating it if it does 1239 * not exist. Will not return <code>null</code>. 1240 * 1241 * <p> 1242 * <b>Definition:</b> 1243 * A description of the scope and nature of the plan 1244 * </p> 1245 */ 1246 public StringDt getDescriptionElement() { 1247 if (myDescription == null) { 1248 myDescription = new StringDt(); 1249 } 1250 return myDescription; 1251 } 1252 1253 1254 /** 1255 * Gets the value(s) for <b>description</b> (). 1256 * creating it if it does 1257 * not exist. Will not return <code>null</code>. 1258 * 1259 * <p> 1260 * <b>Definition:</b> 1261 * A description of the scope and nature of the plan 1262 * </p> 1263 */ 1264 public String getDescription() { 1265 return getDescriptionElement().getValue(); 1266 } 1267 1268 /** 1269 * Sets the value(s) for <b>description</b> () 1270 * 1271 * <p> 1272 * <b>Definition:</b> 1273 * A description of the scope and nature of the plan 1274 * </p> 1275 */ 1276 public CarePlan setDescription(StringDt theValue) { 1277 myDescription = theValue; 1278 return this; 1279 } 1280 1281 1282 1283 /** 1284 * Sets the value for <b>description</b> () 1285 * 1286 * <p> 1287 * <b>Definition:</b> 1288 * A description of the scope and nature of the plan 1289 * </p> 1290 */ 1291 public CarePlan setDescription( String theString) { 1292 myDescription = new StringDt(theString); 1293 return this; 1294 } 1295 1296 1297 /** 1298 * Gets the value(s) for <b>addresses</b> (). 1299 * creating it if it does 1300 * not exist. Will not return <code>null</code>. 1301 * 1302 * <p> 1303 * <b>Definition:</b> 1304 * Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. 1305 * </p> 1306 */ 1307 public java.util.List<ResourceReferenceDt> getAddresses() { 1308 if (myAddresses == null) { 1309 myAddresses = new java.util.ArrayList<ResourceReferenceDt>(); 1310 } 1311 return myAddresses; 1312 } 1313 1314 /** 1315 * Sets the value(s) for <b>addresses</b> () 1316 * 1317 * <p> 1318 * <b>Definition:</b> 1319 * Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. 1320 * </p> 1321 */ 1322 public CarePlan setAddresses(java.util.List<ResourceReferenceDt> theValue) { 1323 myAddresses = theValue; 1324 return this; 1325 } 1326 1327 1328 1329 /** 1330 * Adds and returns a new value for <b>addresses</b> () 1331 * 1332 * <p> 1333 * <b>Definition:</b> 1334 * Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. 1335 * </p> 1336 */ 1337 public ResourceReferenceDt addAddresses() { 1338 ResourceReferenceDt newType = new ResourceReferenceDt(); 1339 getAddresses().add(newType); 1340 return newType; 1341 } 1342 1343 /** 1344 * Gets the value(s) for <b>support</b> (). 1345 * creating it if it does 1346 * not exist. Will not return <code>null</code>. 1347 * 1348 * <p> 1349 * <b>Definition:</b> 1350 * Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include co-morbidities, recent procedures, limitations, recent assessments, etc. 1351 * </p> 1352 */ 1353 public java.util.List<ResourceReferenceDt> getSupport() { 1354 if (mySupport == null) { 1355 mySupport = new java.util.ArrayList<ResourceReferenceDt>(); 1356 } 1357 return mySupport; 1358 } 1359 1360 /** 1361 * Sets the value(s) for <b>support</b> () 1362 * 1363 * <p> 1364 * <b>Definition:</b> 1365 * Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include co-morbidities, recent procedures, limitations, recent assessments, etc. 1366 * </p> 1367 */ 1368 public CarePlan setSupport(java.util.List<ResourceReferenceDt> theValue) { 1369 mySupport = theValue; 1370 return this; 1371 } 1372 1373 1374 1375 /** 1376 * Adds and returns a new value for <b>support</b> () 1377 * 1378 * <p> 1379 * <b>Definition:</b> 1380 * Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include co-morbidities, recent procedures, limitations, recent assessments, etc. 1381 * </p> 1382 */ 1383 public ResourceReferenceDt addSupport() { 1384 ResourceReferenceDt newType = new ResourceReferenceDt(); 1385 getSupport().add(newType); 1386 return newType; 1387 } 1388 1389 /** 1390 * Gets the value(s) for <b>relatedPlan</b> (). 1391 * creating it if it does 1392 * not exist. Will not return <code>null</code>. 1393 * 1394 * <p> 1395 * <b>Definition:</b> 1396 * Identifies CarePlans with some sort of formal relationship to the current plan. 1397 * </p> 1398 */ 1399 public java.util.List<RelatedPlan> getRelatedPlan() { 1400 if (myRelatedPlan == null) { 1401 myRelatedPlan = new java.util.ArrayList<RelatedPlan>(); 1402 } 1403 return myRelatedPlan; 1404 } 1405 1406 /** 1407 * Sets the value(s) for <b>relatedPlan</b> () 1408 * 1409 * <p> 1410 * <b>Definition:</b> 1411 * Identifies CarePlans with some sort of formal relationship to the current plan. 1412 * </p> 1413 */ 1414 public CarePlan setRelatedPlan(java.util.List<RelatedPlan> theValue) { 1415 myRelatedPlan = theValue; 1416 return this; 1417 } 1418 1419 1420 1421 /** 1422 * Adds and returns a new value for <b>relatedPlan</b> () 1423 * 1424 * <p> 1425 * <b>Definition:</b> 1426 * Identifies CarePlans with some sort of formal relationship to the current plan. 1427 * </p> 1428 */ 1429 public RelatedPlan addRelatedPlan() { 1430 RelatedPlan newType = new RelatedPlan(); 1431 getRelatedPlan().add(newType); 1432 return newType; 1433 } 1434 1435 /** 1436 * Adds a given new value for <b>relatedPlan</b> () 1437 * 1438 * <p> 1439 * <b>Definition:</b> 1440 * Identifies CarePlans with some sort of formal relationship to the current plan. 1441 * </p> 1442 * @param theValue The relatedPlan to add (must not be <code>null</code>) 1443 */ 1444 public CarePlan addRelatedPlan(RelatedPlan theValue) { 1445 if (theValue == null) { 1446 throw new NullPointerException("theValue must not be null"); 1447 } 1448 getRelatedPlan().add(theValue); 1449 return this; 1450 } 1451 1452 /** 1453 * Gets the first repetition for <b>relatedPlan</b> (), 1454 * creating it if it does not already exist. 1455 * 1456 * <p> 1457 * <b>Definition:</b> 1458 * Identifies CarePlans with some sort of formal relationship to the current plan. 1459 * </p> 1460 */ 1461 public RelatedPlan getRelatedPlanFirstRep() { 1462 if (getRelatedPlan().isEmpty()) { 1463 return addRelatedPlan(); 1464 } 1465 return getRelatedPlan().get(0); 1466 } 1467 1468 /** 1469 * Gets the value(s) for <b>participant</b> (). 1470 * creating it if it does 1471 * not exist. Will not return <code>null</code>. 1472 * 1473 * <p> 1474 * <b>Definition:</b> 1475 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1476 * </p> 1477 */ 1478 public java.util.List<Participant> getParticipant() { 1479 if (myParticipant == null) { 1480 myParticipant = new java.util.ArrayList<Participant>(); 1481 } 1482 return myParticipant; 1483 } 1484 1485 /** 1486 * Sets the value(s) for <b>participant</b> () 1487 * 1488 * <p> 1489 * <b>Definition:</b> 1490 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1491 * </p> 1492 */ 1493 public CarePlan setParticipant(java.util.List<Participant> theValue) { 1494 myParticipant = theValue; 1495 return this; 1496 } 1497 1498 1499 1500 /** 1501 * Adds and returns a new value for <b>participant</b> () 1502 * 1503 * <p> 1504 * <b>Definition:</b> 1505 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1506 * </p> 1507 */ 1508 public Participant addParticipant() { 1509 Participant newType = new Participant(); 1510 getParticipant().add(newType); 1511 return newType; 1512 } 1513 1514 /** 1515 * Adds a given new value for <b>participant</b> () 1516 * 1517 * <p> 1518 * <b>Definition:</b> 1519 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1520 * </p> 1521 * @param theValue The participant to add (must not be <code>null</code>) 1522 */ 1523 public CarePlan addParticipant(Participant theValue) { 1524 if (theValue == null) { 1525 throw new NullPointerException("theValue must not be null"); 1526 } 1527 getParticipant().add(theValue); 1528 return this; 1529 } 1530 1531 /** 1532 * Gets the first repetition for <b>participant</b> (), 1533 * creating it if it does not already exist. 1534 * 1535 * <p> 1536 * <b>Definition:</b> 1537 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1538 * </p> 1539 */ 1540 public Participant getParticipantFirstRep() { 1541 if (getParticipant().isEmpty()) { 1542 return addParticipant(); 1543 } 1544 return getParticipant().get(0); 1545 } 1546 1547 /** 1548 * Gets the value(s) for <b>goal</b> (). 1549 * creating it if it does 1550 * not exist. Will not return <code>null</code>. 1551 * 1552 * <p> 1553 * <b>Definition:</b> 1554 * Describes the intended objective(s) of carrying out the care plan. 1555 * </p> 1556 */ 1557 public java.util.List<ResourceReferenceDt> getGoal() { 1558 if (myGoal == null) { 1559 myGoal = new java.util.ArrayList<ResourceReferenceDt>(); 1560 } 1561 return myGoal; 1562 } 1563 1564 /** 1565 * Sets the value(s) for <b>goal</b> () 1566 * 1567 * <p> 1568 * <b>Definition:</b> 1569 * Describes the intended objective(s) of carrying out the care plan. 1570 * </p> 1571 */ 1572 public CarePlan setGoal(java.util.List<ResourceReferenceDt> theValue) { 1573 myGoal = theValue; 1574 return this; 1575 } 1576 1577 1578 1579 /** 1580 * Adds and returns a new value for <b>goal</b> () 1581 * 1582 * <p> 1583 * <b>Definition:</b> 1584 * Describes the intended objective(s) of carrying out the care plan. 1585 * </p> 1586 */ 1587 public ResourceReferenceDt addGoal() { 1588 ResourceReferenceDt newType = new ResourceReferenceDt(); 1589 getGoal().add(newType); 1590 return newType; 1591 } 1592 1593 /** 1594 * Gets the value(s) for <b>activity</b> (). 1595 * creating it if it does 1596 * not exist. Will not return <code>null</code>. 1597 * 1598 * <p> 1599 * <b>Definition:</b> 1600 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1601 * </p> 1602 */ 1603 public java.util.List<Activity> getActivity() { 1604 if (myActivity == null) { 1605 myActivity = new java.util.ArrayList<Activity>(); 1606 } 1607 return myActivity; 1608 } 1609 1610 /** 1611 * Sets the value(s) for <b>activity</b> () 1612 * 1613 * <p> 1614 * <b>Definition:</b> 1615 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1616 * </p> 1617 */ 1618 public CarePlan setActivity(java.util.List<Activity> theValue) { 1619 myActivity = theValue; 1620 return this; 1621 } 1622 1623 1624 1625 /** 1626 * Adds and returns a new value for <b>activity</b> () 1627 * 1628 * <p> 1629 * <b>Definition:</b> 1630 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1631 * </p> 1632 */ 1633 public Activity addActivity() { 1634 Activity newType = new Activity(); 1635 getActivity().add(newType); 1636 return newType; 1637 } 1638 1639 /** 1640 * Adds a given new value for <b>activity</b> () 1641 * 1642 * <p> 1643 * <b>Definition:</b> 1644 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1645 * </p> 1646 * @param theValue The activity to add (must not be <code>null</code>) 1647 */ 1648 public CarePlan addActivity(Activity theValue) { 1649 if (theValue == null) { 1650 throw new NullPointerException("theValue must not be null"); 1651 } 1652 getActivity().add(theValue); 1653 return this; 1654 } 1655 1656 /** 1657 * Gets the first repetition for <b>activity</b> (), 1658 * creating it if it does not already exist. 1659 * 1660 * <p> 1661 * <b>Definition:</b> 1662 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1663 * </p> 1664 */ 1665 public Activity getActivityFirstRep() { 1666 if (getActivity().isEmpty()) { 1667 return addActivity(); 1668 } 1669 return getActivity().get(0); 1670 } 1671 1672 /** 1673 * Gets the value(s) for <b>note</b> (). 1674 * creating it if it does 1675 * not exist. Will not return <code>null</code>. 1676 * 1677 * <p> 1678 * <b>Definition:</b> 1679 * General notes about the care plan not covered elsewhere 1680 * </p> 1681 */ 1682 public AnnotationDt getNote() { 1683 if (myNote == null) { 1684 myNote = new AnnotationDt(); 1685 } 1686 return myNote; 1687 } 1688 1689 /** 1690 * Sets the value(s) for <b>note</b> () 1691 * 1692 * <p> 1693 * <b>Definition:</b> 1694 * General notes about the care plan not covered elsewhere 1695 * </p> 1696 */ 1697 public CarePlan setNote(AnnotationDt theValue) { 1698 myNote = theValue; 1699 return this; 1700 } 1701 1702 1703 1704 1705 /** 1706 * Block class for child element: <b>CarePlan.relatedPlan</b> () 1707 * 1708 * <p> 1709 * <b>Definition:</b> 1710 * Identifies CarePlans with some sort of formal relationship to the current plan. 1711 * </p> 1712 */ 1713 @Block() 1714 public static class RelatedPlan 1715 extends BaseIdentifiableElement implements IResourceBlock { 1716 1717 @Child(name="code", type=CodeDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1718 @Description( 1719 shortDefinition="", 1720 formalDefinition="Identifies the type of relationship this plan has to the target plan." 1721 ) 1722 private BoundCodeDt<CarePlanRelationshipEnum> myCode; 1723 1724 @Child(name="plan", order=1, min=1, max=1, summary=false, modifier=false, type={ 1725 ca.uhn.fhir.model.dstu2.resource.CarePlan.class }) 1726 @Description( 1727 shortDefinition="", 1728 formalDefinition="A reference to the plan to which a relationship is asserted." 1729 ) 1730 private ResourceReferenceDt myPlan; 1731 1732 1733 @Override 1734 public boolean isEmpty() { 1735 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myPlan); 1736 } 1737 1738 @Override 1739 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1740 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myPlan); 1741 } 1742 1743 /** 1744 * Gets the value(s) for <b>code</b> (). 1745 * creating it if it does 1746 * not exist. Will not return <code>null</code>. 1747 * 1748 * <p> 1749 * <b>Definition:</b> 1750 * Identifies the type of relationship this plan has to the target plan. 1751 * </p> 1752 */ 1753 public BoundCodeDt<CarePlanRelationshipEnum> getCodeElement() { 1754 if (myCode == null) { 1755 myCode = new BoundCodeDt<CarePlanRelationshipEnum>(CarePlanRelationshipEnum.VALUESET_BINDER); 1756 } 1757 return myCode; 1758 } 1759 1760 1761 /** 1762 * Gets the value(s) for <b>code</b> (). 1763 * creating it if it does 1764 * not exist. Will not return <code>null</code>. 1765 * 1766 * <p> 1767 * <b>Definition:</b> 1768 * Identifies the type of relationship this plan has to the target plan. 1769 * </p> 1770 */ 1771 public String getCode() { 1772 return getCodeElement().getValue(); 1773 } 1774 1775 /** 1776 * Sets the value(s) for <b>code</b> () 1777 * 1778 * <p> 1779 * <b>Definition:</b> 1780 * Identifies the type of relationship this plan has to the target plan. 1781 * </p> 1782 */ 1783 public RelatedPlan setCode(BoundCodeDt<CarePlanRelationshipEnum> theValue) { 1784 myCode = theValue; 1785 return this; 1786 } 1787 1788 1789 1790 /** 1791 * Sets the value(s) for <b>code</b> () 1792 * 1793 * <p> 1794 * <b>Definition:</b> 1795 * Identifies the type of relationship this plan has to the target plan. 1796 * </p> 1797 */ 1798 public RelatedPlan setCode(CarePlanRelationshipEnum theValue) { 1799 setCode(new BoundCodeDt<CarePlanRelationshipEnum>(CarePlanRelationshipEnum.VALUESET_BINDER, theValue)); 1800 1801/* 1802 getCodeElement().setValueAsEnum(theValue); 1803*/ 1804 return this; 1805 } 1806 1807 1808 /** 1809 * Gets the value(s) for <b>plan</b> (). 1810 * creating it if it does 1811 * not exist. Will not return <code>null</code>. 1812 * 1813 * <p> 1814 * <b>Definition:</b> 1815 * A reference to the plan to which a relationship is asserted. 1816 * </p> 1817 */ 1818 public ResourceReferenceDt getPlan() { 1819 if (myPlan == null) { 1820 myPlan = new ResourceReferenceDt(); 1821 } 1822 return myPlan; 1823 } 1824 1825 /** 1826 * Sets the value(s) for <b>plan</b> () 1827 * 1828 * <p> 1829 * <b>Definition:</b> 1830 * A reference to the plan to which a relationship is asserted. 1831 * </p> 1832 */ 1833 public RelatedPlan setPlan(ResourceReferenceDt theValue) { 1834 myPlan = theValue; 1835 return this; 1836 } 1837 1838 1839 1840 1841 1842 1843 } 1844 1845 1846 /** 1847 * Block class for child element: <b>CarePlan.participant</b> () 1848 * 1849 * <p> 1850 * <b>Definition:</b> 1851 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 1852 * </p> 1853 */ 1854 @Block() 1855 public static class Participant 1856 extends BaseIdentifiableElement implements IResourceBlock { 1857 1858 @Child(name="role", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1859 @Description( 1860 shortDefinition="", 1861 formalDefinition="Indicates specific responsibility of an individual within the care plan; e.g. \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc." 1862 ) 1863 private CodeableConceptDt myRole; 1864 1865 @Child(name="member", order=1, min=0, max=1, summary=false, modifier=false, type={ 1866 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Organization.class }) 1867 @Description( 1868 shortDefinition="", 1869 formalDefinition="The specific person or organization who is participating/expected to participate in the care plan." 1870 ) 1871 private ResourceReferenceDt myMember; 1872 1873 1874 @Override 1875 public boolean isEmpty() { 1876 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myRole, myMember); 1877 } 1878 1879 @Override 1880 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1881 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myRole, myMember); 1882 } 1883 1884 /** 1885 * Gets the value(s) for <b>role</b> (). 1886 * creating it if it does 1887 * not exist. Will not return <code>null</code>. 1888 * 1889 * <p> 1890 * <b>Definition:</b> 1891 * Indicates specific responsibility of an individual within the care plan; e.g. \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc. 1892 * </p> 1893 */ 1894 public CodeableConceptDt getRole() { 1895 if (myRole == null) { 1896 myRole = new CodeableConceptDt(); 1897 } 1898 return myRole; 1899 } 1900 1901 /** 1902 * Sets the value(s) for <b>role</b> () 1903 * 1904 * <p> 1905 * <b>Definition:</b> 1906 * Indicates specific responsibility of an individual within the care plan; e.g. \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc. 1907 * </p> 1908 */ 1909 public Participant setRole(CodeableConceptDt theValue) { 1910 myRole = theValue; 1911 return this; 1912 } 1913 1914 1915 1916 1917 /** 1918 * Gets the value(s) for <b>member</b> (). 1919 * creating it if it does 1920 * not exist. Will not return <code>null</code>. 1921 * 1922 * <p> 1923 * <b>Definition:</b> 1924 * The specific person or organization who is participating/expected to participate in the care plan. 1925 * </p> 1926 */ 1927 public ResourceReferenceDt getMember() { 1928 if (myMember == null) { 1929 myMember = new ResourceReferenceDt(); 1930 } 1931 return myMember; 1932 } 1933 1934 /** 1935 * Sets the value(s) for <b>member</b> () 1936 * 1937 * <p> 1938 * <b>Definition:</b> 1939 * The specific person or organization who is participating/expected to participate in the care plan. 1940 * </p> 1941 */ 1942 public Participant setMember(ResourceReferenceDt theValue) { 1943 myMember = theValue; 1944 return this; 1945 } 1946 1947 1948 1949 1950 1951 1952 } 1953 1954 1955 /** 1956 * Block class for child element: <b>CarePlan.activity</b> () 1957 * 1958 * <p> 1959 * <b>Definition:</b> 1960 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 1961 * </p> 1962 */ 1963 @Block() 1964 public static class Activity 1965 extends BaseIdentifiableElement implements IResourceBlock { 1966 1967 @Child(name="actionResulting", order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 1968 IResource.class }) 1969 @Description( 1970 shortDefinition="", 1971 formalDefinition="Resources that describe follow-on actions resulting from the plan, such as drug prescriptions, encounter records, appointments, etc." 1972 ) 1973 private java.util.List<ResourceReferenceDt> myActionResulting; 1974 1975 @Child(name="progress", type=AnnotationDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1976 @Description( 1977 shortDefinition="", 1978 formalDefinition="Notes about the adherence/status/progress of the activity" 1979 ) 1980 private java.util.List<AnnotationDt> myProgress; 1981 1982 @Child(name="reference", order=2, min=0, max=1, summary=false, modifier=false, type={ 1983 ca.uhn.fhir.model.dstu2.resource.Appointment.class, ca.uhn.fhir.model.dstu2.resource.CommunicationRequest.class, ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest.class, ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder.class, ca.uhn.fhir.model.dstu2.resource.MedicationOrder.class, ca.uhn.fhir.model.dstu2.resource.NutritionOrder.class, ca.uhn.fhir.model.dstu2.resource.Order.class, ca.uhn.fhir.model.dstu2.resource.ProcedureRequest.class, ca.uhn.fhir.model.dstu2.resource.ProcessRequest.class, ca.uhn.fhir.model.dstu2.resource.ReferralRequest.class, ca.uhn.fhir.model.dstu2.resource.SupplyRequest.class, ca.uhn.fhir.model.dstu2.resource.VisionPrescription.class }) 1984 @Description( 1985 shortDefinition="", 1986 formalDefinition="The details of the proposed activity represented in a specific resource" 1987 ) 1988 private ResourceReferenceDt myReference; 1989 1990 @Child(name="detail", order=3, min=0, max=1, summary=false, modifier=false) 1991 @Description( 1992 shortDefinition="", 1993 formalDefinition="A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc." 1994 ) 1995 private ActivityDetail myDetail; 1996 1997 1998 @Override 1999 public boolean isEmpty() { 2000 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myActionResulting, myProgress, myReference, myDetail); 2001 } 2002 2003 @Override 2004 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2005 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myActionResulting, myProgress, myReference, myDetail); 2006 } 2007 2008 /** 2009 * Gets the value(s) for <b>actionResulting</b> (). 2010 * creating it if it does 2011 * not exist. Will not return <code>null</code>. 2012 * 2013 * <p> 2014 * <b>Definition:</b> 2015 * Resources that describe follow-on actions resulting from the plan, such as drug prescriptions, encounter records, appointments, etc. 2016 * </p> 2017 */ 2018 public java.util.List<ResourceReferenceDt> getActionResulting() { 2019 if (myActionResulting == null) { 2020 myActionResulting = new java.util.ArrayList<ResourceReferenceDt>(); 2021 } 2022 return myActionResulting; 2023 } 2024 2025 /** 2026 * Sets the value(s) for <b>actionResulting</b> () 2027 * 2028 * <p> 2029 * <b>Definition:</b> 2030 * Resources that describe follow-on actions resulting from the plan, such as drug prescriptions, encounter records, appointments, etc. 2031 * </p> 2032 */ 2033 public Activity setActionResulting(java.util.List<ResourceReferenceDt> theValue) { 2034 myActionResulting = theValue; 2035 return this; 2036 } 2037 2038 2039 2040 /** 2041 * Adds and returns a new value for <b>actionResulting</b> () 2042 * 2043 * <p> 2044 * <b>Definition:</b> 2045 * Resources that describe follow-on actions resulting from the plan, such as drug prescriptions, encounter records, appointments, etc. 2046 * </p> 2047 */ 2048 public ResourceReferenceDt addActionResulting() { 2049 ResourceReferenceDt newType = new ResourceReferenceDt(); 2050 getActionResulting().add(newType); 2051 return newType; 2052 } 2053 2054 /** 2055 * Gets the value(s) for <b>progress</b> (). 2056 * creating it if it does 2057 * not exist. Will not return <code>null</code>. 2058 * 2059 * <p> 2060 * <b>Definition:</b> 2061 * Notes about the adherence/status/progress of the activity 2062 * </p> 2063 */ 2064 public java.util.List<AnnotationDt> getProgress() { 2065 if (myProgress == null) { 2066 myProgress = new java.util.ArrayList<AnnotationDt>(); 2067 } 2068 return myProgress; 2069 } 2070 2071 /** 2072 * Sets the value(s) for <b>progress</b> () 2073 * 2074 * <p> 2075 * <b>Definition:</b> 2076 * Notes about the adherence/status/progress of the activity 2077 * </p> 2078 */ 2079 public Activity setProgress(java.util.List<AnnotationDt> theValue) { 2080 myProgress = theValue; 2081 return this; 2082 } 2083 2084 2085 2086 /** 2087 * Adds and returns a new value for <b>progress</b> () 2088 * 2089 * <p> 2090 * <b>Definition:</b> 2091 * Notes about the adherence/status/progress of the activity 2092 * </p> 2093 */ 2094 public AnnotationDt addProgress() { 2095 AnnotationDt newType = new AnnotationDt(); 2096 getProgress().add(newType); 2097 return newType; 2098 } 2099 2100 /** 2101 * Adds a given new value for <b>progress</b> () 2102 * 2103 * <p> 2104 * <b>Definition:</b> 2105 * Notes about the adherence/status/progress of the activity 2106 * </p> 2107 * @param theValue The progress to add (must not be <code>null</code>) 2108 */ 2109 public Activity addProgress(AnnotationDt theValue) { 2110 if (theValue == null) { 2111 throw new NullPointerException("theValue must not be null"); 2112 } 2113 getProgress().add(theValue); 2114 return this; 2115 } 2116 2117 /** 2118 * Gets the first repetition for <b>progress</b> (), 2119 * creating it if it does not already exist. 2120 * 2121 * <p> 2122 * <b>Definition:</b> 2123 * Notes about the adherence/status/progress of the activity 2124 * </p> 2125 */ 2126 public AnnotationDt getProgressFirstRep() { 2127 if (getProgress().isEmpty()) { 2128 return addProgress(); 2129 } 2130 return getProgress().get(0); 2131 } 2132 2133 /** 2134 * Gets the value(s) for <b>reference</b> (). 2135 * creating it if it does 2136 * not exist. Will not return <code>null</code>. 2137 * 2138 * <p> 2139 * <b>Definition:</b> 2140 * The details of the proposed activity represented in a specific resource 2141 * </p> 2142 */ 2143 public ResourceReferenceDt getReference() { 2144 if (myReference == null) { 2145 myReference = new ResourceReferenceDt(); 2146 } 2147 return myReference; 2148 } 2149 2150 /** 2151 * Sets the value(s) for <b>reference</b> () 2152 * 2153 * <p> 2154 * <b>Definition:</b> 2155 * The details of the proposed activity represented in a specific resource 2156 * </p> 2157 */ 2158 public Activity setReference(ResourceReferenceDt theValue) { 2159 myReference = theValue; 2160 return this; 2161 } 2162 2163 2164 2165 2166 /** 2167 * Gets the value(s) for <b>detail</b> (). 2168 * creating it if it does 2169 * not exist. Will not return <code>null</code>. 2170 * 2171 * <p> 2172 * <b>Definition:</b> 2173 * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. 2174 * </p> 2175 */ 2176 public ActivityDetail getDetail() { 2177 if (myDetail == null) { 2178 myDetail = new ActivityDetail(); 2179 } 2180 return myDetail; 2181 } 2182 2183 /** 2184 * Sets the value(s) for <b>detail</b> () 2185 * 2186 * <p> 2187 * <b>Definition:</b> 2188 * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. 2189 * </p> 2190 */ 2191 public Activity setDetail(ActivityDetail theValue) { 2192 myDetail = theValue; 2193 return this; 2194 } 2195 2196 2197 2198 2199 2200 2201 } 2202 2203 /** 2204 * Block class for child element: <b>CarePlan.activity.detail</b> () 2205 * 2206 * <p> 2207 * <b>Definition:</b> 2208 * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. 2209 * </p> 2210 */ 2211 @Block() 2212 public static class ActivityDetail 2213 extends BaseIdentifiableElement implements IResourceBlock { 2214 2215 @Child(name="category", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2216 @Description( 2217 shortDefinition="", 2218 formalDefinition="High-level categorization of the type of activity in a care plan." 2219 ) 2220 private BoundCodeableConceptDt<CarePlanActivityCategoryEnum> myCategory; 2221 2222 @Child(name="code", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2223 @Description( 2224 shortDefinition="", 2225 formalDefinition="Detailed description of the type of planned activity; e.g. What lab test, what procedure, what kind of encounter." 2226 ) 2227 private CodeableConceptDt myCode; 2228 2229 @Child(name="reasonCode", type=CodeableConceptDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2230 @Description( 2231 shortDefinition="", 2232 formalDefinition="Provides the rationale that drove the inclusion of this particular activity as part of the plan." 2233 ) 2234 private java.util.List<CodeableConceptDt> myReasonCode; 2235 2236 @Child(name="reasonReference", order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 2237 ca.uhn.fhir.model.dstu2.resource.Condition.class }) 2238 @Description( 2239 shortDefinition="", 2240 formalDefinition="Provides the health condition(s) that drove the inclusion of this particular activity as part of the plan." 2241 ) 2242 private java.util.List<ResourceReferenceDt> myReasonReference; 2243 2244 @Child(name="goal", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 2245 ca.uhn.fhir.model.dstu2.resource.Goal.class }) 2246 @Description( 2247 shortDefinition="", 2248 formalDefinition="Internal reference that identifies the goals that this activity is intended to contribute towards meeting" 2249 ) 2250 private java.util.List<ResourceReferenceDt> myGoal; 2251 2252 @Child(name="status", type=CodeDt.class, order=5, min=0, max=1, summary=false, modifier=true) 2253 @Description( 2254 shortDefinition="", 2255 formalDefinition="Identifies what progress is being made for the specific activity." 2256 ) 2257 private BoundCodeDt<CarePlanActivityStatusEnum> myStatus; 2258 2259 @Child(name="statusReason", type=CodeableConceptDt.class, order=6, min=0, max=1, summary=false, modifier=false) 2260 @Description( 2261 shortDefinition="", 2262 formalDefinition="Provides reason why the activity isn't yet started, is on hold, was cancelled, etc." 2263 ) 2264 private CodeableConceptDt myStatusReason; 2265 2266 @Child(name="prohibited", type=BooleanDt.class, order=7, min=1, max=1, summary=false, modifier=true) 2267 @Description( 2268 shortDefinition="", 2269 formalDefinition="If true, indicates that the described activity is one that must NOT be engaged in when following the plan." 2270 ) 2271 private BooleanDt myProhibited; 2272 2273 @Child(name="scheduled", order=8, min=0, max=1, summary=false, modifier=false, type={ 2274 TimingDt.class, PeriodDt.class, StringDt.class }) 2275 @Description( 2276 shortDefinition="", 2277 formalDefinition="The period, timing or frequency upon which the described activity is to occur." 2278 ) 2279 private IDatatype myScheduled; 2280 2281 @Child(name="location", order=9, min=0, max=1, summary=false, modifier=false, type={ 2282 ca.uhn.fhir.model.dstu2.resource.Location.class }) 2283 @Description( 2284 shortDefinition="", 2285 formalDefinition="Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc." 2286 ) 2287 private ResourceReferenceDt myLocation; 2288 2289 @Child(name="performer", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 2290 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.Organization.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, ca.uhn.fhir.model.dstu2.resource.Patient.class }) 2291 @Description( 2292 shortDefinition="", 2293 formalDefinition="Identifies who's expected to be involved in the activity." 2294 ) 2295 private java.util.List<ResourceReferenceDt> myPerformer; 2296 2297 @Child(name="product", order=11, min=0, max=1, summary=false, modifier=false, type={ 2298 CodeableConceptDt.class, Medication.class, Substance.class }) 2299 @Description( 2300 shortDefinition="", 2301 formalDefinition="Identifies the food, drug or other product to be consumed or supplied in the activity." 2302 ) 2303 private IDatatype myProduct; 2304 2305 @Child(name="dailyAmount", type=SimpleQuantityDt.class, order=12, min=0, max=1, summary=false, modifier=false) 2306 @Description( 2307 shortDefinition="", 2308 formalDefinition="Identifies the quantity expected to be consumed in a given day." 2309 ) 2310 private SimpleQuantityDt myDailyAmount; 2311 2312 @Child(name="quantity", type=SimpleQuantityDt.class, order=13, min=0, max=1, summary=false, modifier=false) 2313 @Description( 2314 shortDefinition="", 2315 formalDefinition="Identifies the quantity expected to be supplied, administered or consumed by the subject" 2316 ) 2317 private SimpleQuantityDt myQuantity; 2318 2319 @Child(name="description", type=StringDt.class, order=14, min=0, max=1, summary=false, modifier=false) 2320 @Description( 2321 shortDefinition="", 2322 formalDefinition="This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc." 2323 ) 2324 private StringDt myDescription; 2325 2326 2327 @Override 2328 public boolean isEmpty() { 2329 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCategory, myCode, myReasonCode, myReasonReference, myGoal, myStatus, myStatusReason, myProhibited, myScheduled, myLocation, myPerformer, myProduct, myDailyAmount, myQuantity, myDescription); 2330 } 2331 2332 @Override 2333 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2334 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCategory, myCode, myReasonCode, myReasonReference, myGoal, myStatus, myStatusReason, myProhibited, myScheduled, myLocation, myPerformer, myProduct, myDailyAmount, myQuantity, myDescription); 2335 } 2336 2337 /** 2338 * Gets the value(s) for <b>category</b> (). 2339 * creating it if it does 2340 * not exist. Will not return <code>null</code>. 2341 * 2342 * <p> 2343 * <b>Definition:</b> 2344 * High-level categorization of the type of activity in a care plan. 2345 * </p> 2346 */ 2347 public BoundCodeableConceptDt<CarePlanActivityCategoryEnum> getCategory() { 2348 if (myCategory == null) { 2349 myCategory = new BoundCodeableConceptDt<CarePlanActivityCategoryEnum>(CarePlanActivityCategoryEnum.VALUESET_BINDER); 2350 } 2351 return myCategory; 2352 } 2353 2354 /** 2355 * Sets the value(s) for <b>category</b> () 2356 * 2357 * <p> 2358 * <b>Definition:</b> 2359 * High-level categorization of the type of activity in a care plan. 2360 * </p> 2361 */ 2362 public ActivityDetail setCategory(BoundCodeableConceptDt<CarePlanActivityCategoryEnum> theValue) { 2363 myCategory = theValue; 2364 return this; 2365 } 2366 2367 2368 2369 /** 2370 * Sets the value(s) for <b>category</b> () 2371 * 2372 * <p> 2373 * <b>Definition:</b> 2374 * High-level categorization of the type of activity in a care plan. 2375 * </p> 2376 */ 2377 public ActivityDetail setCategory(CarePlanActivityCategoryEnum theValue) { 2378 setCategory(new BoundCodeableConceptDt<CarePlanActivityCategoryEnum>(CarePlanActivityCategoryEnum.VALUESET_BINDER, theValue)); 2379 2380/* 2381 getCategory().setValueAsEnum(theValue); 2382*/ 2383 return this; 2384 } 2385 2386 2387 /** 2388 * Gets the value(s) for <b>code</b> (). 2389 * creating it if it does 2390 * not exist. Will not return <code>null</code>. 2391 * 2392 * <p> 2393 * <b>Definition:</b> 2394 * Detailed description of the type of planned activity; e.g. What lab test, what procedure, what kind of encounter. 2395 * </p> 2396 */ 2397 public CodeableConceptDt getCode() { 2398 if (myCode == null) { 2399 myCode = new CodeableConceptDt(); 2400 } 2401 return myCode; 2402 } 2403 2404 /** 2405 * Sets the value(s) for <b>code</b> () 2406 * 2407 * <p> 2408 * <b>Definition:</b> 2409 * Detailed description of the type of planned activity; e.g. What lab test, what procedure, what kind of encounter. 2410 * </p> 2411 */ 2412 public ActivityDetail setCode(CodeableConceptDt theValue) { 2413 myCode = theValue; 2414 return this; 2415 } 2416 2417 2418 2419 2420 /** 2421 * Gets the value(s) for <b>reasonCode</b> (). 2422 * creating it if it does 2423 * not exist. Will not return <code>null</code>. 2424 * 2425 * <p> 2426 * <b>Definition:</b> 2427 * Provides the rationale that drove the inclusion of this particular activity as part of the plan. 2428 * </p> 2429 */ 2430 public java.util.List<CodeableConceptDt> getReasonCode() { 2431 if (myReasonCode == null) { 2432 myReasonCode = new java.util.ArrayList<CodeableConceptDt>(); 2433 } 2434 return myReasonCode; 2435 } 2436 2437 /** 2438 * Sets the value(s) for <b>reasonCode</b> () 2439 * 2440 * <p> 2441 * <b>Definition:</b> 2442 * Provides the rationale that drove the inclusion of this particular activity as part of the plan. 2443 * </p> 2444 */ 2445 public ActivityDetail setReasonCode(java.util.List<CodeableConceptDt> theValue) { 2446 myReasonCode = theValue; 2447 return this; 2448 } 2449 2450 2451 2452 /** 2453 * Adds and returns a new value for <b>reasonCode</b> () 2454 * 2455 * <p> 2456 * <b>Definition:</b> 2457 * Provides the rationale that drove the inclusion of this particular activity as part of the plan. 2458 * </p> 2459 */ 2460 public CodeableConceptDt addReasonCode() { 2461 CodeableConceptDt newType = new CodeableConceptDt(); 2462 getReasonCode().add(newType); 2463 return newType; 2464 } 2465 2466 /** 2467 * Adds a given new value for <b>reasonCode</b> () 2468 * 2469 * <p> 2470 * <b>Definition:</b> 2471 * Provides the rationale that drove the inclusion of this particular activity as part of the plan. 2472 * </p> 2473 * @param theValue The reasonCode to add (must not be <code>null</code>) 2474 */ 2475 public ActivityDetail addReasonCode(CodeableConceptDt theValue) { 2476 if (theValue == null) { 2477 throw new NullPointerException("theValue must not be null"); 2478 } 2479 getReasonCode().add(theValue); 2480 return this; 2481 } 2482 2483 /** 2484 * Gets the first repetition for <b>reasonCode</b> (), 2485 * creating it if it does not already exist. 2486 * 2487 * <p> 2488 * <b>Definition:</b> 2489 * Provides the rationale that drove the inclusion of this particular activity as part of the plan. 2490 * </p> 2491 */ 2492 public CodeableConceptDt getReasonCodeFirstRep() { 2493 if (getReasonCode().isEmpty()) { 2494 return addReasonCode(); 2495 } 2496 return getReasonCode().get(0); 2497 } 2498 2499 /** 2500 * Gets the value(s) for <b>reasonReference</b> (). 2501 * creating it if it does 2502 * not exist. Will not return <code>null</code>. 2503 * 2504 * <p> 2505 * <b>Definition:</b> 2506 * Provides the health condition(s) that drove the inclusion of this particular activity as part of the plan. 2507 * </p> 2508 */ 2509 public java.util.List<ResourceReferenceDt> getReasonReference() { 2510 if (myReasonReference == null) { 2511 myReasonReference = new java.util.ArrayList<ResourceReferenceDt>(); 2512 } 2513 return myReasonReference; 2514 } 2515 2516 /** 2517 * Sets the value(s) for <b>reasonReference</b> () 2518 * 2519 * <p> 2520 * <b>Definition:</b> 2521 * Provides the health condition(s) that drove the inclusion of this particular activity as part of the plan. 2522 * </p> 2523 */ 2524 public ActivityDetail setReasonReference(java.util.List<ResourceReferenceDt> theValue) { 2525 myReasonReference = theValue; 2526 return this; 2527 } 2528 2529 2530 2531 /** 2532 * Adds and returns a new value for <b>reasonReference</b> () 2533 * 2534 * <p> 2535 * <b>Definition:</b> 2536 * Provides the health condition(s) that drove the inclusion of this particular activity as part of the plan. 2537 * </p> 2538 */ 2539 public ResourceReferenceDt addReasonReference() { 2540 ResourceReferenceDt newType = new ResourceReferenceDt(); 2541 getReasonReference().add(newType); 2542 return newType; 2543 } 2544 2545 /** 2546 * Gets the value(s) for <b>goal</b> (). 2547 * creating it if it does 2548 * not exist. Will not return <code>null</code>. 2549 * 2550 * <p> 2551 * <b>Definition:</b> 2552 * Internal reference that identifies the goals that this activity is intended to contribute towards meeting 2553 * </p> 2554 */ 2555 public java.util.List<ResourceReferenceDt> getGoal() { 2556 if (myGoal == null) { 2557 myGoal = new java.util.ArrayList<ResourceReferenceDt>(); 2558 } 2559 return myGoal; 2560 } 2561 2562 /** 2563 * Sets the value(s) for <b>goal</b> () 2564 * 2565 * <p> 2566 * <b>Definition:</b> 2567 * Internal reference that identifies the goals that this activity is intended to contribute towards meeting 2568 * </p> 2569 */ 2570 public ActivityDetail setGoal(java.util.List<ResourceReferenceDt> theValue) { 2571 myGoal = theValue; 2572 return this; 2573 } 2574 2575 2576 2577 /** 2578 * Adds and returns a new value for <b>goal</b> () 2579 * 2580 * <p> 2581 * <b>Definition:</b> 2582 * Internal reference that identifies the goals that this activity is intended to contribute towards meeting 2583 * </p> 2584 */ 2585 public ResourceReferenceDt addGoal() { 2586 ResourceReferenceDt newType = new ResourceReferenceDt(); 2587 getGoal().add(newType); 2588 return newType; 2589 } 2590 2591 /** 2592 * Gets the value(s) for <b>status</b> (). 2593 * creating it if it does 2594 * not exist. Will not return <code>null</code>. 2595 * 2596 * <p> 2597 * <b>Definition:</b> 2598 * Identifies what progress is being made for the specific activity. 2599 * </p> 2600 */ 2601 public BoundCodeDt<CarePlanActivityStatusEnum> getStatusElement() { 2602 if (myStatus == null) { 2603 myStatus = new BoundCodeDt<CarePlanActivityStatusEnum>(CarePlanActivityStatusEnum.VALUESET_BINDER); 2604 } 2605 return myStatus; 2606 } 2607 2608 2609 /** 2610 * Gets the value(s) for <b>status</b> (). 2611 * creating it if it does 2612 * not exist. Will not return <code>null</code>. 2613 * 2614 * <p> 2615 * <b>Definition:</b> 2616 * Identifies what progress is being made for the specific activity. 2617 * </p> 2618 */ 2619 public String getStatus() { 2620 return getStatusElement().getValue(); 2621 } 2622 2623 /** 2624 * Sets the value(s) for <b>status</b> () 2625 * 2626 * <p> 2627 * <b>Definition:</b> 2628 * Identifies what progress is being made for the specific activity. 2629 * </p> 2630 */ 2631 public ActivityDetail setStatus(BoundCodeDt<CarePlanActivityStatusEnum> theValue) { 2632 myStatus = theValue; 2633 return this; 2634 } 2635 2636 2637 2638 /** 2639 * Sets the value(s) for <b>status</b> () 2640 * 2641 * <p> 2642 * <b>Definition:</b> 2643 * Identifies what progress is being made for the specific activity. 2644 * </p> 2645 */ 2646 public ActivityDetail setStatus(CarePlanActivityStatusEnum theValue) { 2647 setStatus(new BoundCodeDt<CarePlanActivityStatusEnum>(CarePlanActivityStatusEnum.VALUESET_BINDER, theValue)); 2648 2649/* 2650 getStatusElement().setValueAsEnum(theValue); 2651*/ 2652 return this; 2653 } 2654 2655 2656 /** 2657 * Gets the value(s) for <b>statusReason</b> (). 2658 * creating it if it does 2659 * not exist. Will not return <code>null</code>. 2660 * 2661 * <p> 2662 * <b>Definition:</b> 2663 * Provides reason why the activity isn't yet started, is on hold, was cancelled, etc. 2664 * </p> 2665 */ 2666 public CodeableConceptDt getStatusReason() { 2667 if (myStatusReason == null) { 2668 myStatusReason = new CodeableConceptDt(); 2669 } 2670 return myStatusReason; 2671 } 2672 2673 /** 2674 * Sets the value(s) for <b>statusReason</b> () 2675 * 2676 * <p> 2677 * <b>Definition:</b> 2678 * Provides reason why the activity isn't yet started, is on hold, was cancelled, etc. 2679 * </p> 2680 */ 2681 public ActivityDetail setStatusReason(CodeableConceptDt theValue) { 2682 myStatusReason = theValue; 2683 return this; 2684 } 2685 2686 2687 2688 2689 /** 2690 * Gets the value(s) for <b>prohibited</b> (). 2691 * creating it if it does 2692 * not exist. Will not return <code>null</code>. 2693 * 2694 * <p> 2695 * <b>Definition:</b> 2696 * If true, indicates that the described activity is one that must NOT be engaged in when following the plan. 2697 * </p> 2698 */ 2699 public BooleanDt getProhibitedElement() { 2700 if (myProhibited == null) { 2701 myProhibited = new BooleanDt(); 2702 } 2703 return myProhibited; 2704 } 2705 2706 2707 /** 2708 * Gets the value(s) for <b>prohibited</b> (). 2709 * creating it if it does 2710 * not exist. Will not return <code>null</code>. 2711 * 2712 * <p> 2713 * <b>Definition:</b> 2714 * If true, indicates that the described activity is one that must NOT be engaged in when following the plan. 2715 * </p> 2716 */ 2717 public Boolean getProhibited() { 2718 return getProhibitedElement().getValue(); 2719 } 2720 2721 /** 2722 * Sets the value(s) for <b>prohibited</b> () 2723 * 2724 * <p> 2725 * <b>Definition:</b> 2726 * If true, indicates that the described activity is one that must NOT be engaged in when following the plan. 2727 * </p> 2728 */ 2729 public ActivityDetail setProhibited(BooleanDt theValue) { 2730 myProhibited = theValue; 2731 return this; 2732 } 2733 2734 2735 2736 /** 2737 * Sets the value for <b>prohibited</b> () 2738 * 2739 * <p> 2740 * <b>Definition:</b> 2741 * If true, indicates that the described activity is one that must NOT be engaged in when following the plan. 2742 * </p> 2743 */ 2744 public ActivityDetail setProhibited( boolean theBoolean) { 2745 myProhibited = new BooleanDt(theBoolean); 2746 return this; 2747 } 2748 2749 2750 /** 2751 * Gets the value(s) for <b>scheduled[x]</b> (). 2752 * creating it if it does 2753 * not exist. Will not return <code>null</code>. 2754 * 2755 * <p> 2756 * <b>Definition:</b> 2757 * The period, timing or frequency upon which the described activity is to occur. 2758 * </p> 2759 */ 2760 public IDatatype getScheduled() { 2761 return myScheduled; 2762 } 2763 2764 /** 2765 * Sets the value(s) for <b>scheduled[x]</b> () 2766 * 2767 * <p> 2768 * <b>Definition:</b> 2769 * The period, timing or frequency upon which the described activity is to occur. 2770 * </p> 2771 */ 2772 public ActivityDetail setScheduled(IDatatype theValue) { 2773 myScheduled = theValue; 2774 return this; 2775 } 2776 2777 2778 2779 2780 /** 2781 * Gets the value(s) for <b>location</b> (). 2782 * creating it if it does 2783 * not exist. Will not return <code>null</code>. 2784 * 2785 * <p> 2786 * <b>Definition:</b> 2787 * Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. 2788 * </p> 2789 */ 2790 public ResourceReferenceDt getLocation() { 2791 if (myLocation == null) { 2792 myLocation = new ResourceReferenceDt(); 2793 } 2794 return myLocation; 2795 } 2796 2797 /** 2798 * Sets the value(s) for <b>location</b> () 2799 * 2800 * <p> 2801 * <b>Definition:</b> 2802 * Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. 2803 * </p> 2804 */ 2805 public ActivityDetail setLocation(ResourceReferenceDt theValue) { 2806 myLocation = theValue; 2807 return this; 2808 } 2809 2810 2811 2812 2813 /** 2814 * Gets the value(s) for <b>performer</b> (). 2815 * creating it if it does 2816 * not exist. Will not return <code>null</code>. 2817 * 2818 * <p> 2819 * <b>Definition:</b> 2820 * Identifies who's expected to be involved in the activity. 2821 * </p> 2822 */ 2823 public java.util.List<ResourceReferenceDt> getPerformer() { 2824 if (myPerformer == null) { 2825 myPerformer = new java.util.ArrayList<ResourceReferenceDt>(); 2826 } 2827 return myPerformer; 2828 } 2829 2830 /** 2831 * Sets the value(s) for <b>performer</b> () 2832 * 2833 * <p> 2834 * <b>Definition:</b> 2835 * Identifies who's expected to be involved in the activity. 2836 * </p> 2837 */ 2838 public ActivityDetail setPerformer(java.util.List<ResourceReferenceDt> theValue) { 2839 myPerformer = theValue; 2840 return this; 2841 } 2842 2843 2844 2845 /** 2846 * Adds and returns a new value for <b>performer</b> () 2847 * 2848 * <p> 2849 * <b>Definition:</b> 2850 * Identifies who's expected to be involved in the activity. 2851 * </p> 2852 */ 2853 public ResourceReferenceDt addPerformer() { 2854 ResourceReferenceDt newType = new ResourceReferenceDt(); 2855 getPerformer().add(newType); 2856 return newType; 2857 } 2858 2859 /** 2860 * Gets the value(s) for <b>product[x]</b> (). 2861 * creating it if it does 2862 * not exist. Will not return <code>null</code>. 2863 * 2864 * <p> 2865 * <b>Definition:</b> 2866 * Identifies the food, drug or other product to be consumed or supplied in the activity. 2867 * </p> 2868 */ 2869 public IDatatype getProduct() { 2870 return myProduct; 2871 } 2872 2873 /** 2874 * Sets the value(s) for <b>product[x]</b> () 2875 * 2876 * <p> 2877 * <b>Definition:</b> 2878 * Identifies the food, drug or other product to be consumed or supplied in the activity. 2879 * </p> 2880 */ 2881 public ActivityDetail setProduct(IDatatype theValue) { 2882 myProduct = theValue; 2883 return this; 2884 } 2885 2886 2887 2888 2889 /** 2890 * Gets the value(s) for <b>dailyAmount</b> (). 2891 * creating it if it does 2892 * not exist. Will not return <code>null</code>. 2893 * 2894 * <p> 2895 * <b>Definition:</b> 2896 * Identifies the quantity expected to be consumed in a given day. 2897 * </p> 2898 */ 2899 public SimpleQuantityDt getDailyAmount() { 2900 if (myDailyAmount == null) { 2901 myDailyAmount = new SimpleQuantityDt(); 2902 } 2903 return myDailyAmount; 2904 } 2905 2906 /** 2907 * Sets the value(s) for <b>dailyAmount</b> () 2908 * 2909 * <p> 2910 * <b>Definition:</b> 2911 * Identifies the quantity expected to be consumed in a given day. 2912 * </p> 2913 */ 2914 public ActivityDetail setDailyAmount(SimpleQuantityDt theValue) { 2915 myDailyAmount = theValue; 2916 return this; 2917 } 2918 2919 2920 2921 2922 /** 2923 * Gets the value(s) for <b>quantity</b> (). 2924 * creating it if it does 2925 * not exist. Will not return <code>null</code>. 2926 * 2927 * <p> 2928 * <b>Definition:</b> 2929 * Identifies the quantity expected to be supplied, administered or consumed by the subject 2930 * </p> 2931 */ 2932 public SimpleQuantityDt getQuantity() { 2933 if (myQuantity == null) { 2934 myQuantity = new SimpleQuantityDt(); 2935 } 2936 return myQuantity; 2937 } 2938 2939 /** 2940 * Sets the value(s) for <b>quantity</b> () 2941 * 2942 * <p> 2943 * <b>Definition:</b> 2944 * Identifies the quantity expected to be supplied, administered or consumed by the subject 2945 * </p> 2946 */ 2947 public ActivityDetail setQuantity(SimpleQuantityDt theValue) { 2948 myQuantity = theValue; 2949 return this; 2950 } 2951 2952 2953 2954 2955 /** 2956 * Gets the value(s) for <b>description</b> (). 2957 * creating it if it does 2958 * not exist. Will not return <code>null</code>. 2959 * 2960 * <p> 2961 * <b>Definition:</b> 2962 * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 2963 * </p> 2964 */ 2965 public StringDt getDescriptionElement() { 2966 if (myDescription == null) { 2967 myDescription = new StringDt(); 2968 } 2969 return myDescription; 2970 } 2971 2972 2973 /** 2974 * Gets the value(s) for <b>description</b> (). 2975 * creating it if it does 2976 * not exist. Will not return <code>null</code>. 2977 * 2978 * <p> 2979 * <b>Definition:</b> 2980 * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 2981 * </p> 2982 */ 2983 public String getDescription() { 2984 return getDescriptionElement().getValue(); 2985 } 2986 2987 /** 2988 * Sets the value(s) for <b>description</b> () 2989 * 2990 * <p> 2991 * <b>Definition:</b> 2992 * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 2993 * </p> 2994 */ 2995 public ActivityDetail setDescription(StringDt theValue) { 2996 myDescription = theValue; 2997 return this; 2998 } 2999 3000 3001 3002 /** 3003 * Sets the value for <b>description</b> () 3004 * 3005 * <p> 3006 * <b>Definition:</b> 3007 * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 3008 * </p> 3009 */ 3010 public ActivityDetail setDescription( String theString) { 3011 myDescription = new StringDt(theString); 3012 return this; 3013 } 3014 3015 3016 3017 3018 } 3019 3020 3021 3022 3023 3024 @Override 3025 public String getResourceName() { 3026 return "CarePlan"; 3027 } 3028 3029 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 3030 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 3031 } 3032 3033 3034}