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>FamilyMemberHistory</b> Resource 320 * (clinical.general) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. 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/FamilyMemberHistory">http://hl7.org/fhir/profiles/FamilyMemberHistory</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="FamilyMemberHistory", profile="http://hl7.org/fhir/profiles/FamilyMemberHistory", id="familymemberhistory") 339public class FamilyMemberHistory extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>date</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>date</b><br> 347 * Path: <b>FamilyMemberHistory.date</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="date", path="FamilyMemberHistory.date", description="", type="date" ) 351 public static final String SP_DATE = "date"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>date</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>date</b><br> 358 * Path: <b>FamilyMemberHistory.date</b><br> 359 * </p> 360 */ 361 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 362 363 /** 364 * Search parameter constant for <b>patient</b> 365 * <p> 366 * Description: <b>The identity of a subject to list family member history items for</b><br> 367 * Type: <b>reference</b><br> 368 * Path: <b>FamilyMemberHistory.patient</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="patient", path="FamilyMemberHistory.patient", description="The identity of a subject to list family member history items for", type="reference" ) 372 public static final String SP_PATIENT = "patient"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 376 * <p> 377 * Description: <b>The identity of a subject to list family member history items for</b><br> 378 * Type: <b>reference</b><br> 379 * Path: <b>FamilyMemberHistory.patient</b><br> 380 * </p> 381 */ 382 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 383 384 /** 385 * Search parameter constant for <b>code</b> 386 * <p> 387 * Description: <b>A search by a condition code</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>FamilyMemberHistory.condition.code</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="code", path="FamilyMemberHistory.condition.code", description="A search by a condition code", type="token" ) 393 public static final String SP_CODE = "code"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>code</b> 397 * <p> 398 * Description: <b>A search by a condition code</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>FamilyMemberHistory.condition.code</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 404 405 /** 406 * Search parameter constant for <b>identifier</b> 407 * <p> 408 * Description: <b>A search by a record identifier</b><br> 409 * Type: <b>token</b><br> 410 * Path: <b>FamilyMemberHistory.identifier</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="identifier", path="FamilyMemberHistory.identifier", description="A search by a record identifier", type="token" ) 414 public static final String SP_IDENTIFIER = "identifier"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 418 * <p> 419 * Description: <b>A search by a record identifier</b><br> 420 * Type: <b>token</b><br> 421 * Path: <b>FamilyMemberHistory.identifier</b><br> 422 * </p> 423 */ 424 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 425 426 /** 427 * Search parameter constant for <b>relationship</b> 428 * <p> 429 * Description: <b>A search by a relationship type</b><br> 430 * Type: <b>token</b><br> 431 * Path: <b>FamilyMemberHistory.relationship</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="relationship", path="FamilyMemberHistory.relationship", description="A search by a relationship type", type="token" ) 435 public static final String SP_RELATIONSHIP = "relationship"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>relationship</b> 439 * <p> 440 * Description: <b>A search by a relationship type</b><br> 441 * Type: <b>token</b><br> 442 * Path: <b>FamilyMemberHistory.relationship</b><br> 443 * </p> 444 */ 445 public static final TokenClientParam RELATIONSHIP = new TokenClientParam(SP_RELATIONSHIP); 446 447 /** 448 * Search parameter constant for <b>gender</b> 449 * <p> 450 * Description: <b>A search by a gender code of a family member</b><br> 451 * Type: <b>token</b><br> 452 * Path: <b>FamilyMemberHistory.gender</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="gender", path="FamilyMemberHistory.gender", description="A search by a gender code of a family member", type="token" ) 456 public static final String SP_GENDER = "gender"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 460 * <p> 461 * Description: <b>A search by a gender code of a family member</b><br> 462 * Type: <b>token</b><br> 463 * Path: <b>FamilyMemberHistory.gender</b><br> 464 * </p> 465 */ 466 public static final TokenClientParam GENDER = new TokenClientParam(SP_GENDER); 467 468 469 /** 470 * Constant for fluent queries to be used to add include statements. Specifies 471 * the path value of "<b>FamilyMemberHistory:patient</b>". 472 */ 473 public static final Include INCLUDE_PATIENT = new Include("FamilyMemberHistory:patient"); 474 475 476 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 477 @Description( 478 shortDefinition="id", 479 formalDefinition="This records identifiers associated with this family member history record 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)" 480 ) 481 private java.util.List<IdentifierDt> myIdentifier; 482 483 @Child(name="patient", order=1, min=1, max=1, summary=true, modifier=false, type={ 484 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 485 @Description( 486 shortDefinition="who.focus", 487 formalDefinition="The person who this history concerns" 488 ) 489 private ResourceReferenceDt myPatient; 490 491 @Child(name="date", type=DateTimeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 492 @Description( 493 shortDefinition="when.recorded", 494 formalDefinition="The date (and possibly time) when the family member history was taken" 495 ) 496 private DateTimeDt myDate; 497 498 @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=true, modifier=true) 499 @Description( 500 shortDefinition="status", 501 formalDefinition="A code specifying a state of a Family Member History record." 502 ) 503 private BoundCodeDt<FamilyHistoryStatusEnum> myStatus; 504 505 @Child(name="name", type=StringDt.class, order=4, min=0, max=1, summary=true, modifier=false) 506 @Description( 507 shortDefinition="", 508 formalDefinition="This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\"" 509 ) 510 private StringDt myName; 511 512 @Child(name="relationship", type=CodeableConceptDt.class, order=5, min=1, max=1, summary=true, modifier=false) 513 @Description( 514 shortDefinition="", 515 formalDefinition="The type of relationship this person has to the patient (father, mother, brother etc.)" 516 ) 517 private CodeableConceptDt myRelationship; 518 519 @Child(name="gender", type=CodeDt.class, order=6, min=0, max=1, summary=true, modifier=false) 520 @Description( 521 shortDefinition="", 522 formalDefinition="Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes." 523 ) 524 private BoundCodeDt<AdministrativeGenderEnum> myGender; 525 526 @Child(name="born", order=7, min=0, max=1, summary=false, modifier=false, type={ 527 PeriodDt.class, DateDt.class, StringDt.class }) 528 @Description( 529 shortDefinition="", 530 formalDefinition="The actual or approximate date of birth of the relative" 531 ) 532 private IDatatype myBorn; 533 534 @Child(name="age", order=8, min=0, max=1, summary=false, modifier=false, type={ 535 AgeDt.class, RangeDt.class, StringDt.class }) 536 @Description( 537 shortDefinition="", 538 formalDefinition="The actual or approximate age of the relative at the time the family member history is recorded" 539 ) 540 private IDatatype myAge; 541 542 @Child(name="deceased", order=9, min=0, max=1, summary=false, modifier=false, type={ 543 BooleanDt.class, AgeDt.class, RangeDt.class, DateDt.class, StringDt.class }) 544 @Description( 545 shortDefinition="", 546 formalDefinition="Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record" 547 ) 548 private IDatatype myDeceased; 549 550 @Child(name="note", type=AnnotationDt.class, order=10, min=0, max=1, summary=false, modifier=false) 551 @Description( 552 shortDefinition="", 553 formalDefinition="This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible." 554 ) 555 private AnnotationDt myNote; 556 557 @Child(name="condition", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 558 @Description( 559 shortDefinition="", 560 formalDefinition="The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition." 561 ) 562 private java.util.List<Condition> myCondition; 563 564 565 @Override 566 public boolean isEmpty() { 567 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myPatient, myDate, myStatus, myName, myRelationship, myGender, myBorn, myAge, myDeceased, myNote, myCondition); 568 } 569 570 @Override 571 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 572 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myPatient, myDate, myStatus, myName, myRelationship, myGender, myBorn, myAge, myDeceased, myNote, myCondition); 573 } 574 575 /** 576 * Gets the value(s) for <b>identifier</b> (id). 577 * creating it if it does 578 * not exist. Will not return <code>null</code>. 579 * 580 * <p> 581 * <b>Definition:</b> 582 * This records identifiers associated with this family member history record 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) 583 * </p> 584 */ 585 public java.util.List<IdentifierDt> getIdentifier() { 586 if (myIdentifier == null) { 587 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 588 } 589 return myIdentifier; 590 } 591 592 /** 593 * Sets the value(s) for <b>identifier</b> (id) 594 * 595 * <p> 596 * <b>Definition:</b> 597 * This records identifiers associated with this family member history record 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) 598 * </p> 599 */ 600 public FamilyMemberHistory setIdentifier(java.util.List<IdentifierDt> theValue) { 601 myIdentifier = theValue; 602 return this; 603 } 604 605 606 607 /** 608 * Adds and returns a new value for <b>identifier</b> (id) 609 * 610 * <p> 611 * <b>Definition:</b> 612 * This records identifiers associated with this family member history record 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) 613 * </p> 614 */ 615 public IdentifierDt addIdentifier() { 616 IdentifierDt newType = new IdentifierDt(); 617 getIdentifier().add(newType); 618 return newType; 619 } 620 621 /** 622 * Adds a given new value for <b>identifier</b> (id) 623 * 624 * <p> 625 * <b>Definition:</b> 626 * This records identifiers associated with this family member history record 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) 627 * </p> 628 * @param theValue The identifier to add (must not be <code>null</code>) 629 */ 630 public FamilyMemberHistory addIdentifier(IdentifierDt theValue) { 631 if (theValue == null) { 632 throw new NullPointerException("theValue must not be null"); 633 } 634 getIdentifier().add(theValue); 635 return this; 636 } 637 638 /** 639 * Gets the first repetition for <b>identifier</b> (id), 640 * creating it if it does not already exist. 641 * 642 * <p> 643 * <b>Definition:</b> 644 * This records identifiers associated with this family member history record 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) 645 * </p> 646 */ 647 public IdentifierDt getIdentifierFirstRep() { 648 if (getIdentifier().isEmpty()) { 649 return addIdentifier(); 650 } 651 return getIdentifier().get(0); 652 } 653 654 /** 655 * Gets the value(s) for <b>patient</b> (who.focus). 656 * creating it if it does 657 * not exist. Will not return <code>null</code>. 658 * 659 * <p> 660 * <b>Definition:</b> 661 * The person who this history concerns 662 * </p> 663 */ 664 public ResourceReferenceDt getPatient() { 665 if (myPatient == null) { 666 myPatient = new ResourceReferenceDt(); 667 } 668 return myPatient; 669 } 670 671 /** 672 * Sets the value(s) for <b>patient</b> (who.focus) 673 * 674 * <p> 675 * <b>Definition:</b> 676 * The person who this history concerns 677 * </p> 678 */ 679 public FamilyMemberHistory setPatient(ResourceReferenceDt theValue) { 680 myPatient = theValue; 681 return this; 682 } 683 684 685 686 687 /** 688 * Gets the value(s) for <b>date</b> (when.recorded). 689 * creating it if it does 690 * not exist. Will not return <code>null</code>. 691 * 692 * <p> 693 * <b>Definition:</b> 694 * The date (and possibly time) when the family member history was taken 695 * </p> 696 */ 697 public DateTimeDt getDateElement() { 698 if (myDate == null) { 699 myDate = new DateTimeDt(); 700 } 701 return myDate; 702 } 703 704 705 /** 706 * Gets the value(s) for <b>date</b> (when.recorded). 707 * creating it if it does 708 * not exist. Will not return <code>null</code>. 709 * 710 * <p> 711 * <b>Definition:</b> 712 * The date (and possibly time) when the family member history was taken 713 * </p> 714 */ 715 public Date getDate() { 716 return getDateElement().getValue(); 717 } 718 719 /** 720 * Sets the value(s) for <b>date</b> (when.recorded) 721 * 722 * <p> 723 * <b>Definition:</b> 724 * The date (and possibly time) when the family member history was taken 725 * </p> 726 */ 727 public FamilyMemberHistory setDate(DateTimeDt theValue) { 728 myDate = theValue; 729 return this; 730 } 731 732 733 734 /** 735 * Sets the value for <b>date</b> (when.recorded) 736 * 737 * <p> 738 * <b>Definition:</b> 739 * The date (and possibly time) when the family member history was taken 740 * </p> 741 */ 742 public FamilyMemberHistory setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 743 myDate = new DateTimeDt(theDate, thePrecision); 744 return this; 745 } 746 747 /** 748 * Sets the value for <b>date</b> (when.recorded) 749 * 750 * <p> 751 * <b>Definition:</b> 752 * The date (and possibly time) when the family member history was taken 753 * </p> 754 */ 755 public FamilyMemberHistory setDateWithSecondsPrecision( Date theDate) { 756 myDate = new DateTimeDt(theDate); 757 return this; 758 } 759 760 761 /** 762 * Gets the value(s) for <b>status</b> (status). 763 * creating it if it does 764 * not exist. Will not return <code>null</code>. 765 * 766 * <p> 767 * <b>Definition:</b> 768 * A code specifying a state of a Family Member History record. 769 * </p> 770 */ 771 public BoundCodeDt<FamilyHistoryStatusEnum> getStatusElement() { 772 if (myStatus == null) { 773 myStatus = new BoundCodeDt<FamilyHistoryStatusEnum>(FamilyHistoryStatusEnum.VALUESET_BINDER); 774 } 775 return myStatus; 776 } 777 778 779 /** 780 * Gets the value(s) for <b>status</b> (status). 781 * creating it if it does 782 * not exist. Will not return <code>null</code>. 783 * 784 * <p> 785 * <b>Definition:</b> 786 * A code specifying a state of a Family Member History record. 787 * </p> 788 */ 789 public String getStatus() { 790 return getStatusElement().getValue(); 791 } 792 793 /** 794 * Sets the value(s) for <b>status</b> (status) 795 * 796 * <p> 797 * <b>Definition:</b> 798 * A code specifying a state of a Family Member History record. 799 * </p> 800 */ 801 public FamilyMemberHistory setStatus(BoundCodeDt<FamilyHistoryStatusEnum> theValue) { 802 myStatus = theValue; 803 return this; 804 } 805 806 807 808 /** 809 * Sets the value(s) for <b>status</b> (status) 810 * 811 * <p> 812 * <b>Definition:</b> 813 * A code specifying a state of a Family Member History record. 814 * </p> 815 */ 816 public FamilyMemberHistory setStatus(FamilyHistoryStatusEnum theValue) { 817 setStatus(new BoundCodeDt<FamilyHistoryStatusEnum>(FamilyHistoryStatusEnum.VALUESET_BINDER, theValue)); 818 819/* 820 getStatusElement().setValueAsEnum(theValue); 821*/ 822 return this; 823 } 824 825 826 /** 827 * Gets the value(s) for <b>name</b> (). 828 * creating it if it does 829 * not exist. Will not return <code>null</code>. 830 * 831 * <p> 832 * <b>Definition:</b> 833 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 834 * </p> 835 */ 836 public StringDt getNameElement() { 837 if (myName == null) { 838 myName = new StringDt(); 839 } 840 return myName; 841 } 842 843 844 /** 845 * Gets the value(s) for <b>name</b> (). 846 * creating it if it does 847 * not exist. Will not return <code>null</code>. 848 * 849 * <p> 850 * <b>Definition:</b> 851 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 852 * </p> 853 */ 854 public String getName() { 855 return getNameElement().getValue(); 856 } 857 858 /** 859 * Sets the value(s) for <b>name</b> () 860 * 861 * <p> 862 * <b>Definition:</b> 863 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 864 * </p> 865 */ 866 public FamilyMemberHistory setName(StringDt theValue) { 867 myName = theValue; 868 return this; 869 } 870 871 872 873 /** 874 * Sets the value for <b>name</b> () 875 * 876 * <p> 877 * <b>Definition:</b> 878 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 879 * </p> 880 */ 881 public FamilyMemberHistory setName( String theString) { 882 myName = new StringDt(theString); 883 return this; 884 } 885 886 887 /** 888 * Gets the value(s) for <b>relationship</b> (). 889 * creating it if it does 890 * not exist. Will not return <code>null</code>. 891 * 892 * <p> 893 * <b>Definition:</b> 894 * The type of relationship this person has to the patient (father, mother, brother etc.) 895 * </p> 896 */ 897 public CodeableConceptDt getRelationship() { 898 if (myRelationship == null) { 899 myRelationship = new CodeableConceptDt(); 900 } 901 return myRelationship; 902 } 903 904 /** 905 * Sets the value(s) for <b>relationship</b> () 906 * 907 * <p> 908 * <b>Definition:</b> 909 * The type of relationship this person has to the patient (father, mother, brother etc.) 910 * </p> 911 */ 912 public FamilyMemberHistory setRelationship(CodeableConceptDt theValue) { 913 myRelationship = theValue; 914 return this; 915 } 916 917 918 919 920 /** 921 * Gets the value(s) for <b>gender</b> (). 922 * creating it if it does 923 * not exist. Will not return <code>null</code>. 924 * 925 * <p> 926 * <b>Definition:</b> 927 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 928 * </p> 929 */ 930 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 931 if (myGender == null) { 932 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 933 } 934 return myGender; 935 } 936 937 938 /** 939 * Gets the value(s) for <b>gender</b> (). 940 * creating it if it does 941 * not exist. Will not return <code>null</code>. 942 * 943 * <p> 944 * <b>Definition:</b> 945 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 946 * </p> 947 */ 948 public String getGender() { 949 return getGenderElement().getValue(); 950 } 951 952 /** 953 * Sets the value(s) for <b>gender</b> () 954 * 955 * <p> 956 * <b>Definition:</b> 957 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 958 * </p> 959 */ 960 public FamilyMemberHistory setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 961 myGender = theValue; 962 return this; 963 } 964 965 966 967 /** 968 * Sets the value(s) for <b>gender</b> () 969 * 970 * <p> 971 * <b>Definition:</b> 972 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 973 * </p> 974 */ 975 public FamilyMemberHistory setGender(AdministrativeGenderEnum theValue) { 976 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 977 978/* 979 getGenderElement().setValueAsEnum(theValue); 980*/ 981 return this; 982 } 983 984 985 /** 986 * Gets the value(s) for <b>born[x]</b> (). 987 * creating it if it does 988 * not exist. Will not return <code>null</code>. 989 * 990 * <p> 991 * <b>Definition:</b> 992 * The actual or approximate date of birth of the relative 993 * </p> 994 */ 995 public IDatatype getBorn() { 996 return myBorn; 997 } 998 999 /** 1000 * Sets the value(s) for <b>born[x]</b> () 1001 * 1002 * <p> 1003 * <b>Definition:</b> 1004 * The actual or approximate date of birth of the relative 1005 * </p> 1006 */ 1007 public FamilyMemberHistory setBorn(IDatatype theValue) { 1008 myBorn = theValue; 1009 return this; 1010 } 1011 1012 1013 1014 1015 /** 1016 * Gets the value(s) for <b>age[x]</b> (). 1017 * creating it if it does 1018 * not exist. Will not return <code>null</code>. 1019 * 1020 * <p> 1021 * <b>Definition:</b> 1022 * The actual or approximate age of the relative at the time the family member history is recorded 1023 * </p> 1024 */ 1025 public IDatatype getAge() { 1026 return myAge; 1027 } 1028 1029 /** 1030 * Sets the value(s) for <b>age[x]</b> () 1031 * 1032 * <p> 1033 * <b>Definition:</b> 1034 * The actual or approximate age of the relative at the time the family member history is recorded 1035 * </p> 1036 */ 1037 public FamilyMemberHistory setAge(IDatatype theValue) { 1038 myAge = theValue; 1039 return this; 1040 } 1041 1042 1043 1044 1045 /** 1046 * Gets the value(s) for <b>deceased[x]</b> (). 1047 * creating it if it does 1048 * not exist. Will not return <code>null</code>. 1049 * 1050 * <p> 1051 * <b>Definition:</b> 1052 * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record 1053 * </p> 1054 */ 1055 public IDatatype getDeceased() { 1056 return myDeceased; 1057 } 1058 1059 /** 1060 * Sets the value(s) for <b>deceased[x]</b> () 1061 * 1062 * <p> 1063 * <b>Definition:</b> 1064 * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record 1065 * </p> 1066 */ 1067 public FamilyMemberHistory setDeceased(IDatatype theValue) { 1068 myDeceased = theValue; 1069 return this; 1070 } 1071 1072 1073 1074 1075 /** 1076 * Gets the value(s) for <b>note</b> (). 1077 * creating it if it does 1078 * not exist. Will not return <code>null</code>. 1079 * 1080 * <p> 1081 * <b>Definition:</b> 1082 * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. 1083 * </p> 1084 */ 1085 public AnnotationDt getNote() { 1086 if (myNote == null) { 1087 myNote = new AnnotationDt(); 1088 } 1089 return myNote; 1090 } 1091 1092 /** 1093 * Sets the value(s) for <b>note</b> () 1094 * 1095 * <p> 1096 * <b>Definition:</b> 1097 * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. 1098 * </p> 1099 */ 1100 public FamilyMemberHistory setNote(AnnotationDt theValue) { 1101 myNote = theValue; 1102 return this; 1103 } 1104 1105 1106 1107 1108 /** 1109 * Gets the value(s) for <b>condition</b> (). 1110 * creating it if it does 1111 * not exist. Will not return <code>null</code>. 1112 * 1113 * <p> 1114 * <b>Definition:</b> 1115 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1116 * </p> 1117 */ 1118 public java.util.List<Condition> getCondition() { 1119 if (myCondition == null) { 1120 myCondition = new java.util.ArrayList<Condition>(); 1121 } 1122 return myCondition; 1123 } 1124 1125 /** 1126 * Sets the value(s) for <b>condition</b> () 1127 * 1128 * <p> 1129 * <b>Definition:</b> 1130 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1131 * </p> 1132 */ 1133 public FamilyMemberHistory setCondition(java.util.List<Condition> theValue) { 1134 myCondition = theValue; 1135 return this; 1136 } 1137 1138 1139 1140 /** 1141 * Adds and returns a new value for <b>condition</b> () 1142 * 1143 * <p> 1144 * <b>Definition:</b> 1145 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1146 * </p> 1147 */ 1148 public Condition addCondition() { 1149 Condition newType = new Condition(); 1150 getCondition().add(newType); 1151 return newType; 1152 } 1153 1154 /** 1155 * Adds a given new value for <b>condition</b> () 1156 * 1157 * <p> 1158 * <b>Definition:</b> 1159 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1160 * </p> 1161 * @param theValue The condition to add (must not be <code>null</code>) 1162 */ 1163 public FamilyMemberHistory addCondition(Condition theValue) { 1164 if (theValue == null) { 1165 throw new NullPointerException("theValue must not be null"); 1166 } 1167 getCondition().add(theValue); 1168 return this; 1169 } 1170 1171 /** 1172 * Gets the first repetition for <b>condition</b> (), 1173 * creating it if it does not already exist. 1174 * 1175 * <p> 1176 * <b>Definition:</b> 1177 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1178 * </p> 1179 */ 1180 public Condition getConditionFirstRep() { 1181 if (getCondition().isEmpty()) { 1182 return addCondition(); 1183 } 1184 return getCondition().get(0); 1185 } 1186 1187 /** 1188 * Block class for child element: <b>FamilyMemberHistory.condition</b> () 1189 * 1190 * <p> 1191 * <b>Definition:</b> 1192 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1193 * </p> 1194 */ 1195 @Block() 1196 public static class Condition 1197 extends BaseIdentifiableElement implements IResourceBlock { 1198 1199 @Child(name="code", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=false, modifier=false) 1200 @Description( 1201 shortDefinition="", 1202 formalDefinition="The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system" 1203 ) 1204 private CodeableConceptDt myCode; 1205 1206 @Child(name="outcome", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=false, modifier=false) 1207 @Description( 1208 shortDefinition="", 1209 formalDefinition="Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation." 1210 ) 1211 private CodeableConceptDt myOutcome; 1212 1213 @Child(name="onset", order=2, min=0, max=1, summary=false, modifier=false, type={ 1214 AgeDt.class, RangeDt.class, PeriodDt.class, StringDt.class }) 1215 @Description( 1216 shortDefinition="", 1217 formalDefinition="Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence." 1218 ) 1219 private IDatatype myOnset; 1220 1221 @Child(name="note", type=AnnotationDt.class, order=3, min=0, max=1, summary=false, modifier=false) 1222 @Description( 1223 shortDefinition="", 1224 formalDefinition="An area where general notes can be placed about this specific condition." 1225 ) 1226 private AnnotationDt myNote; 1227 1228 1229 @Override 1230 public boolean isEmpty() { 1231 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myOutcome, myOnset, myNote); 1232 } 1233 1234 @Override 1235 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1236 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myOutcome, myOnset, myNote); 1237 } 1238 1239 /** 1240 * Gets the value(s) for <b>code</b> (). 1241 * creating it if it does 1242 * not exist. Will not return <code>null</code>. 1243 * 1244 * <p> 1245 * <b>Definition:</b> 1246 * The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system 1247 * </p> 1248 */ 1249 public CodeableConceptDt getCode() { 1250 if (myCode == null) { 1251 myCode = new CodeableConceptDt(); 1252 } 1253 return myCode; 1254 } 1255 1256 /** 1257 * Sets the value(s) for <b>code</b> () 1258 * 1259 * <p> 1260 * <b>Definition:</b> 1261 * The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system 1262 * </p> 1263 */ 1264 public Condition setCode(CodeableConceptDt theValue) { 1265 myCode = theValue; 1266 return this; 1267 } 1268 1269 1270 1271 1272 /** 1273 * Gets the value(s) for <b>outcome</b> (). 1274 * creating it if it does 1275 * not exist. Will not return <code>null</code>. 1276 * 1277 * <p> 1278 * <b>Definition:</b> 1279 * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. 1280 * </p> 1281 */ 1282 public CodeableConceptDt getOutcome() { 1283 if (myOutcome == null) { 1284 myOutcome = new CodeableConceptDt(); 1285 } 1286 return myOutcome; 1287 } 1288 1289 /** 1290 * Sets the value(s) for <b>outcome</b> () 1291 * 1292 * <p> 1293 * <b>Definition:</b> 1294 * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. 1295 * </p> 1296 */ 1297 public Condition setOutcome(CodeableConceptDt theValue) { 1298 myOutcome = theValue; 1299 return this; 1300 } 1301 1302 1303 1304 1305 /** 1306 * Gets the value(s) for <b>onset[x]</b> (). 1307 * creating it if it does 1308 * not exist. Will not return <code>null</code>. 1309 * 1310 * <p> 1311 * <b>Definition:</b> 1312 * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. 1313 * </p> 1314 */ 1315 public IDatatype getOnset() { 1316 return myOnset; 1317 } 1318 1319 /** 1320 * Sets the value(s) for <b>onset[x]</b> () 1321 * 1322 * <p> 1323 * <b>Definition:</b> 1324 * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. 1325 * </p> 1326 */ 1327 public Condition setOnset(IDatatype theValue) { 1328 myOnset = theValue; 1329 return this; 1330 } 1331 1332 1333 1334 1335 /** 1336 * Gets the value(s) for <b>note</b> (). 1337 * creating it if it does 1338 * not exist. Will not return <code>null</code>. 1339 * 1340 * <p> 1341 * <b>Definition:</b> 1342 * An area where general notes can be placed about this specific condition. 1343 * </p> 1344 */ 1345 public AnnotationDt getNote() { 1346 if (myNote == null) { 1347 myNote = new AnnotationDt(); 1348 } 1349 return myNote; 1350 } 1351 1352 /** 1353 * Sets the value(s) for <b>note</b> () 1354 * 1355 * <p> 1356 * <b>Definition:</b> 1357 * An area where general notes can be placed about this specific condition. 1358 * </p> 1359 */ 1360 public Condition setNote(AnnotationDt theValue) { 1361 myNote = theValue; 1362 return this; 1363 } 1364 1365 1366 1367 1368 1369 1370 } 1371 1372 1373 1374 1375 @Override 1376 public String getResourceName() { 1377 return "FamilyMemberHistory"; 1378 } 1379 1380 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1381 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1382 } 1383 1384 1385}