001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 043import ca.uhn.fhir.model.dstu2.resource.Appointment; 044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 057import ca.uhn.fhir.model.dstu2.resource.BodySite; 058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 059import ca.uhn.fhir.model.dstu2.resource.CarePlan; 060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 063import ca.uhn.fhir.model.dstu2.resource.Claim; 064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 069import ca.uhn.fhir.model.dstu2.composite.CodingDt; 070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 073import ca.uhn.fhir.model.dstu2.resource.Composition; 074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 077import ca.uhn.fhir.model.dstu2.resource.Condition; 078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 082import ca.uhn.fhir.model.dstu2.resource.Conformance; 083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 088import ca.uhn.fhir.model.dstu2.resource.Contract; 089import ca.uhn.fhir.model.dstu2.resource.Coverage; 090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 093import ca.uhn.fhir.model.dstu2.resource.Device; 094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 112import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 117import ca.uhn.fhir.model.dstu2.resource.Encounter; 118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 129import ca.uhn.fhir.model.dstu2.resource.Goal; 130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 132import ca.uhn.fhir.model.dstu2.resource.Group; 133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 138import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 145import ca.uhn.fhir.model.dstu2.resource.Immunization; 146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 154import ca.uhn.fhir.model.dstu2.resource.Location; 155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 160import ca.uhn.fhir.model.dstu2.resource.Media; 161import ca.uhn.fhir.model.dstu2.resource.Medication; 162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 171import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 177import ca.uhn.fhir.model.dstu2.resource.Observation; 178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 184import ca.uhn.fhir.model.dstu2.resource.Order; 185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.Organization; 187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 191import ca.uhn.fhir.model.dstu2.resource.Patient; 192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 193import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 194import ca.uhn.fhir.model.dstu2.resource.Person; 195import ca.uhn.fhir.model.dstu2.resource.Practitioner; 196import ca.uhn.fhir.model.dstu2.resource.Procedure; 197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 203import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 204import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 208import ca.uhn.fhir.model.dstu2.composite.RangeDt; 209import ca.uhn.fhir.model.dstu2.composite.RatioDt; 210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 223import ca.uhn.fhir.model.dstu2.resource.Schedule; 224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 228import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 229import ca.uhn.fhir.model.dstu2.resource.Slot; 230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.Specimen; 232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 237import ca.uhn.fhir.model.dstu2.resource.Substance; 238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 243import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 244import ca.uhn.fhir.model.dstu2.composite.TimingDt; 245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 249import ca.uhn.fhir.model.dstu2.resource.ValueSet; 250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 254import ca.uhn.fhir.model.api.IResource; 255import ca.uhn.fhir.model.dstu2.composite.AgeDt; 256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 257import ca.uhn.fhir.model.dstu2.composite.DurationDt; 258import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 262import ca.uhn.fhir.model.primitive.Base64BinaryDt; 263import ca.uhn.fhir.model.primitive.BooleanDt; 264import ca.uhn.fhir.model.primitive.BoundCodeDt; 265import ca.uhn.fhir.model.primitive.CodeDt; 266import ca.uhn.fhir.model.primitive.DateDt; 267import ca.uhn.fhir.model.primitive.DateTimeDt; 268import ca.uhn.fhir.model.primitive.DecimalDt; 269import ca.uhn.fhir.model.primitive.IdDt; 270import ca.uhn.fhir.model.primitive.InstantDt; 271import ca.uhn.fhir.model.primitive.IntegerDt; 272import ca.uhn.fhir.model.primitive.OidDt; 273import ca.uhn.fhir.model.primitive.PositiveIntDt; 274import ca.uhn.fhir.model.primitive.StringDt; 275import ca.uhn.fhir.model.primitive.TimeDt; 276import ca.uhn.fhir.model.primitive.UnsignedIntDt; 277import ca.uhn.fhir.model.primitive.UriDt; 278 279 280/** 281 * HAPI/FHIR <b>FamilyMemberHistory</b> Resource 282 * (clinical.general) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/FamilyMemberHistory">http://hl7.org/fhir/profiles/FamilyMemberHistory</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="FamilyMemberHistory", profile="http://hl7.org/fhir/profiles/FamilyMemberHistory", id="familymemberhistory") 301public class FamilyMemberHistory extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>date</b> 306 * <p> 307 * Description: <b></b><br> 308 * Type: <b>date</b><br> 309 * Path: <b>FamilyMemberHistory.date</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="date", path="FamilyMemberHistory.date", description="", type="date" ) 313 public static final String SP_DATE = "date"; 314 315 /** 316 * <b>Fluent Client</b> search parameter constant for <b>date</b> 317 * <p> 318 * Description: <b></b><br> 319 * Type: <b>date</b><br> 320 * Path: <b>FamilyMemberHistory.date</b><br> 321 * </p> 322 */ 323 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 324 325 /** 326 * Search parameter constant for <b>patient</b> 327 * <p> 328 * Description: <b>The identity of a subject to list family member history items for</b><br> 329 * Type: <b>reference</b><br> 330 * Path: <b>FamilyMemberHistory.patient</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="patient", path="FamilyMemberHistory.patient", description="The identity of a subject to list family member history items for", type="reference" , providesMembershipIn={ 334 @Compartment(name="Patient") } 335, target={ 336 ca.uhn.fhir.model.dstu2.resource.Patient.class } 337 ) 338 public static final String SP_PATIENT = "patient"; 339 340 /** 341 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 342 * <p> 343 * Description: <b>The identity of a subject to list family member history items for</b><br> 344 * Type: <b>reference</b><br> 345 * Path: <b>FamilyMemberHistory.patient</b><br> 346 * </p> 347 */ 348 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 349 350 /** 351 * Search parameter constant for <b>code</b> 352 * <p> 353 * Description: <b>A search by a condition code</b><br> 354 * Type: <b>token</b><br> 355 * Path: <b>FamilyMemberHistory.condition.code</b><br> 356 * </p> 357 */ 358 @SearchParamDefinition(name="code", path="FamilyMemberHistory.condition.code", description="A search by a condition code", type="token" ) 359 public static final String SP_CODE = "code"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>code</b> 363 * <p> 364 * Description: <b>A search by a condition code</b><br> 365 * Type: <b>token</b><br> 366 * Path: <b>FamilyMemberHistory.condition.code</b><br> 367 * </p> 368 */ 369 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 370 371 /** 372 * Search parameter constant for <b>identifier</b> 373 * <p> 374 * Description: <b>A search by a record identifier</b><br> 375 * Type: <b>token</b><br> 376 * Path: <b>FamilyMemberHistory.identifier</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="identifier", path="FamilyMemberHistory.identifier", description="A search by a record identifier", type="token" ) 380 public static final String SP_IDENTIFIER = "identifier"; 381 382 /** 383 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 384 * <p> 385 * Description: <b>A search by a record identifier</b><br> 386 * Type: <b>token</b><br> 387 * Path: <b>FamilyMemberHistory.identifier</b><br> 388 * </p> 389 */ 390 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 391 392 /** 393 * Search parameter constant for <b>relationship</b> 394 * <p> 395 * Description: <b>A search by a relationship type</b><br> 396 * Type: <b>token</b><br> 397 * Path: <b>FamilyMemberHistory.relationship</b><br> 398 * </p> 399 */ 400 @SearchParamDefinition(name="relationship", path="FamilyMemberHistory.relationship", description="A search by a relationship type", type="token" ) 401 public static final String SP_RELATIONSHIP = "relationship"; 402 403 /** 404 * <b>Fluent Client</b> search parameter constant for <b>relationship</b> 405 * <p> 406 * Description: <b>A search by a relationship type</b><br> 407 * Type: <b>token</b><br> 408 * Path: <b>FamilyMemberHistory.relationship</b><br> 409 * </p> 410 */ 411 public static final TokenClientParam RELATIONSHIP = new TokenClientParam(SP_RELATIONSHIP); 412 413 /** 414 * Search parameter constant for <b>gender</b> 415 * <p> 416 * Description: <b>A search by a gender code of a family member</b><br> 417 * Type: <b>token</b><br> 418 * Path: <b>FamilyMemberHistory.gender</b><br> 419 * </p> 420 */ 421 @SearchParamDefinition(name="gender", path="FamilyMemberHistory.gender", description="A search by a gender code of a family member", type="token" ) 422 public static final String SP_GENDER = "gender"; 423 424 /** 425 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 426 * <p> 427 * Description: <b>A search by a gender code of a family member</b><br> 428 * Type: <b>token</b><br> 429 * Path: <b>FamilyMemberHistory.gender</b><br> 430 * </p> 431 */ 432 public static final TokenClientParam GENDER = new TokenClientParam(SP_GENDER); 433 434 435 /** 436 * Constant for fluent queries to be used to add include statements. Specifies 437 * the path value of "<b>FamilyMemberHistory:patient</b>". 438 */ 439 public static final Include INCLUDE_PATIENT = new Include("FamilyMemberHistory:patient"); 440 441 442 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 443 @Description( 444 shortDefinition="id", 445 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)" 446 ) 447 private java.util.List<IdentifierDt> myIdentifier; 448 449 @Child(name="patient", order=1, min=1, max=1, summary=true, modifier=false, type={ 450 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 451 @Description( 452 shortDefinition="who.focus", 453 formalDefinition="The person who this history concerns" 454 ) 455 private ResourceReferenceDt myPatient; 456 457 @Child(name="date", type=DateTimeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 458 @Description( 459 shortDefinition="when.recorded", 460 formalDefinition="The date (and possibly time) when the family member history was taken" 461 ) 462 private DateTimeDt myDate; 463 464 @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=true, modifier=true) 465 @Description( 466 shortDefinition="status", 467 formalDefinition="A code specifying a state of a Family Member History record." 468 ) 469 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/history-status") 470 private BoundCodeDt<FamilyHistoryStatusEnum> myStatus; 471 472 @Child(name="name", type=StringDt.class, order=4, min=0, max=1, summary=true, modifier=false) 473 @Description( 474 shortDefinition="", 475 formalDefinition="This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\"" 476 ) 477 private StringDt myName; 478 479 @Child(name="relationship", type=CodeableConceptDt.class, order=5, min=1, max=1, summary=true, modifier=false) 480 @Description( 481 shortDefinition="", 482 formalDefinition="The type of relationship this person has to the patient (father, mother, brother etc.)" 483 ) 484 private CodeableConceptDt myRelationship; 485 486 @Child(name="gender", type=CodeDt.class, order=6, min=0, max=1, summary=true, modifier=false) 487 @Description( 488 shortDefinition="", 489 formalDefinition="Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes." 490 ) 491 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/administrative-gender") 492 private BoundCodeDt<AdministrativeGenderEnum> myGender; 493 494 @Child(name="born", order=7, min=0, max=1, summary=false, modifier=false, type={ 495 PeriodDt.class, DateDt.class, StringDt.class }) 496 @Description( 497 shortDefinition="", 498 formalDefinition="The actual or approximate date of birth of the relative" 499 ) 500 private IDatatype myBorn; 501 502 @Child(name="age", order=8, min=0, max=1, summary=false, modifier=false, type={ 503 AgeDt.class, RangeDt.class, StringDt.class }) 504 @Description( 505 shortDefinition="", 506 formalDefinition="The actual or approximate age of the relative at the time the family member history is recorded" 507 ) 508 private IDatatype myAge; 509 510 @Child(name="deceased", order=9, min=0, max=1, summary=false, modifier=false, type={ 511 BooleanDt.class, AgeDt.class, RangeDt.class, DateDt.class, StringDt.class }) 512 @Description( 513 shortDefinition="", 514 formalDefinition="Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record" 515 ) 516 private IDatatype myDeceased; 517 518 @Child(name="note", type=AnnotationDt.class, order=10, min=0, max=1, summary=false, modifier=false) 519 @Description( 520 shortDefinition="", 521 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." 522 ) 523 private AnnotationDt myNote; 524 525 @Child(name="condition", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 526 @Description( 527 shortDefinition="", 528 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." 529 ) 530 private java.util.List<Condition> myCondition; 531 532 533 @Override 534 public boolean isEmpty() { 535 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myPatient, myDate, myStatus, myName, myRelationship, myGender, myBorn, myAge, myDeceased, myNote, myCondition); 536 } 537 538 @Override 539 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 540 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myPatient, myDate, myStatus, myName, myRelationship, myGender, myBorn, myAge, myDeceased, myNote, myCondition); 541 } 542 543 /** 544 * Gets the value(s) for <b>identifier</b> (id). 545 * creating it if it does 546 * not exist. Will not return <code>null</code>. 547 * 548 * <p> 549 * <b>Definition:</b> 550 * 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) 551 * </p> 552 */ 553 public java.util.List<IdentifierDt> getIdentifier() { 554 if (myIdentifier == null) { 555 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 556 } 557 return myIdentifier; 558 } 559 560 /** 561 * Sets the value(s) for <b>identifier</b> (id) 562 * 563 * <p> 564 * <b>Definition:</b> 565 * 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) 566 * </p> 567 */ 568 public FamilyMemberHistory setIdentifier(java.util.List<IdentifierDt> theValue) { 569 myIdentifier = theValue; 570 return this; 571 } 572 573 574 575 /** 576 * Adds and returns a new value for <b>identifier</b> (id) 577 * 578 * <p> 579 * <b>Definition:</b> 580 * 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) 581 * </p> 582 */ 583 public IdentifierDt addIdentifier() { 584 IdentifierDt newType = new IdentifierDt(); 585 getIdentifier().add(newType); 586 return newType; 587 } 588 589 /** 590 * Adds a given new value for <b>identifier</b> (id) 591 * 592 * <p> 593 * <b>Definition:</b> 594 * 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) 595 * </p> 596 * @param theValue The identifier to add (must not be <code>null</code>) 597 */ 598 public FamilyMemberHistory addIdentifier(IdentifierDt theValue) { 599 if (theValue == null) { 600 throw new NullPointerException("theValue must not be null"); 601 } 602 getIdentifier().add(theValue); 603 return this; 604 } 605 606 /** 607 * Gets the first repetition for <b>identifier</b> (id), 608 * creating it if it does not already exist. 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 getIdentifierFirstRep() { 616 if (getIdentifier().isEmpty()) { 617 return addIdentifier(); 618 } 619 return getIdentifier().get(0); 620 } 621 622 /** 623 * Gets the value(s) for <b>patient</b> (who.focus). 624 * creating it if it does 625 * not exist. Will not return <code>null</code>. 626 * 627 * <p> 628 * <b>Definition:</b> 629 * The person who this history concerns 630 * </p> 631 */ 632 public ResourceReferenceDt getPatient() { 633 if (myPatient == null) { 634 myPatient = new ResourceReferenceDt(); 635 } 636 return myPatient; 637 } 638 639 /** 640 * Sets the value(s) for <b>patient</b> (who.focus) 641 * 642 * <p> 643 * <b>Definition:</b> 644 * The person who this history concerns 645 * </p> 646 */ 647 public FamilyMemberHistory setPatient(ResourceReferenceDt theValue) { 648 myPatient = theValue; 649 return this; 650 } 651 652 653 654 655 /** 656 * Gets the value(s) for <b>date</b> (when.recorded). 657 * creating it if it does 658 * not exist. Will not return <code>null</code>. 659 * 660 * <p> 661 * <b>Definition:</b> 662 * The date (and possibly time) when the family member history was taken 663 * </p> 664 */ 665 public DateTimeDt getDateElement() { 666 if (myDate == null) { 667 myDate = new DateTimeDt(); 668 } 669 return myDate; 670 } 671 672 673 /** 674 * Gets the value(s) for <b>date</b> (when.recorded). 675 * creating it if it does 676 * not exist. This method may return <code>null</code>. 677 * 678 * <p> 679 * <b>Definition:</b> 680 * The date (and possibly time) when the family member history was taken 681 * </p> 682 */ 683 public Date getDate() { 684 return getDateElement().getValue(); 685 } 686 687 /** 688 * Sets the value(s) for <b>date</b> (when.recorded) 689 * 690 * <p> 691 * <b>Definition:</b> 692 * The date (and possibly time) when the family member history was taken 693 * </p> 694 */ 695 public FamilyMemberHistory setDate(DateTimeDt theValue) { 696 myDate = theValue; 697 return this; 698 } 699 700 701 702 /** 703 * Sets the value for <b>date</b> (when.recorded) 704 * 705 * <p> 706 * <b>Definition:</b> 707 * The date (and possibly time) when the family member history was taken 708 * </p> 709 */ 710 public FamilyMemberHistory setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 711 myDate = new DateTimeDt(theDate, thePrecision); 712 return this; 713 } 714 715 /** 716 * Sets the value for <b>date</b> (when.recorded) 717 * 718 * <p> 719 * <b>Definition:</b> 720 * The date (and possibly time) when the family member history was taken 721 * </p> 722 */ 723 public FamilyMemberHistory setDateWithSecondsPrecision( Date theDate) { 724 myDate = new DateTimeDt(theDate); 725 return this; 726 } 727 728 729 /** 730 * Gets the value(s) for <b>status</b> (status). 731 * creating it if it does 732 * not exist. Will not return <code>null</code>. 733 * 734 * <p> 735 * <b>Definition:</b> 736 * A code specifying a state of a Family Member History record. 737 * </p> 738 */ 739 public BoundCodeDt<FamilyHistoryStatusEnum> getStatusElement() { 740 if (myStatus == null) { 741 myStatus = new BoundCodeDt<FamilyHistoryStatusEnum>(FamilyHistoryStatusEnum.VALUESET_BINDER); 742 } 743 return myStatus; 744 } 745 746 747 /** 748 * Gets the value(s) for <b>status</b> (status). 749 * creating it if it does 750 * not exist. This method may return <code>null</code>. 751 * 752 * <p> 753 * <b>Definition:</b> 754 * A code specifying a state of a Family Member History record. 755 * </p> 756 */ 757 public String getStatus() { 758 return getStatusElement().getValue(); 759 } 760 761 /** 762 * Sets the value(s) for <b>status</b> (status) 763 * 764 * <p> 765 * <b>Definition:</b> 766 * A code specifying a state of a Family Member History record. 767 * </p> 768 */ 769 public FamilyMemberHistory setStatus(BoundCodeDt<FamilyHistoryStatusEnum> theValue) { 770 myStatus = theValue; 771 return this; 772 } 773 774 775 776 /** 777 * Sets the value(s) for <b>status</b> (status) 778 * 779 * <p> 780 * <b>Definition:</b> 781 * A code specifying a state of a Family Member History record. 782 * </p> 783 */ 784 public FamilyMemberHistory setStatus(FamilyHistoryStatusEnum theValue) { 785 setStatus(new BoundCodeDt<FamilyHistoryStatusEnum>(FamilyHistoryStatusEnum.VALUESET_BINDER, theValue)); 786 787/* 788 getStatusElement().setValueAsEnum(theValue); 789*/ 790 return this; 791 } 792 793 794 /** 795 * Gets the value(s) for <b>name</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 will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 802 * </p> 803 */ 804 public StringDt getNameElement() { 805 if (myName == null) { 806 myName = new StringDt(); 807 } 808 return myName; 809 } 810 811 812 /** 813 * Gets the value(s) for <b>name</b> (). 814 * creating it if it does 815 * not exist. This method may return <code>null</code>. 816 * 817 * <p> 818 * <b>Definition:</b> 819 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 820 * </p> 821 */ 822 public String getName() { 823 return getNameElement().getValue(); 824 } 825 826 /** 827 * Sets the value(s) for <b>name</b> () 828 * 829 * <p> 830 * <b>Definition:</b> 831 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 832 * </p> 833 */ 834 public FamilyMemberHistory setName(StringDt theValue) { 835 myName = theValue; 836 return this; 837 } 838 839 840 841 /** 842 * Sets the value for <b>name</b> () 843 * 844 * <p> 845 * <b>Definition:</b> 846 * This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\" 847 * </p> 848 */ 849 public FamilyMemberHistory setName( String theString) { 850 myName = new StringDt(theString); 851 return this; 852 } 853 854 855 /** 856 * Gets the value(s) for <b>relationship</b> (). 857 * creating it if it does 858 * not exist. Will not return <code>null</code>. 859 * 860 * <p> 861 * <b>Definition:</b> 862 * The type of relationship this person has to the patient (father, mother, brother etc.) 863 * </p> 864 */ 865 public CodeableConceptDt getRelationship() { 866 if (myRelationship == null) { 867 myRelationship = new CodeableConceptDt(); 868 } 869 return myRelationship; 870 } 871 872 /** 873 * Sets the value(s) for <b>relationship</b> () 874 * 875 * <p> 876 * <b>Definition:</b> 877 * The type of relationship this person has to the patient (father, mother, brother etc.) 878 * </p> 879 */ 880 public FamilyMemberHistory setRelationship(CodeableConceptDt theValue) { 881 myRelationship = theValue; 882 return this; 883 } 884 885 886 887 888 /** 889 * Gets the value(s) for <b>gender</b> (). 890 * creating it if it does 891 * not exist. Will not return <code>null</code>. 892 * 893 * <p> 894 * <b>Definition:</b> 895 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 896 * </p> 897 */ 898 public BoundCodeDt<AdministrativeGenderEnum> getGenderElement() { 899 if (myGender == null) { 900 myGender = new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER); 901 } 902 return myGender; 903 } 904 905 906 /** 907 * Gets the value(s) for <b>gender</b> (). 908 * creating it if it does 909 * not exist. This method may return <code>null</code>. 910 * 911 * <p> 912 * <b>Definition:</b> 913 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 914 * </p> 915 */ 916 public String getGender() { 917 return getGenderElement().getValue(); 918 } 919 920 /** 921 * Sets the value(s) for <b>gender</b> () 922 * 923 * <p> 924 * <b>Definition:</b> 925 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 926 * </p> 927 */ 928 public FamilyMemberHistory setGender(BoundCodeDt<AdministrativeGenderEnum> theValue) { 929 myGender = theValue; 930 return this; 931 } 932 933 934 935 /** 936 * Sets the value(s) for <b>gender</b> () 937 * 938 * <p> 939 * <b>Definition:</b> 940 * Administrative Gender - the gender that the relative is considered to have for administration and record keeping purposes. 941 * </p> 942 */ 943 public FamilyMemberHistory setGender(AdministrativeGenderEnum theValue) { 944 setGender(new BoundCodeDt<AdministrativeGenderEnum>(AdministrativeGenderEnum.VALUESET_BINDER, theValue)); 945 946/* 947 getGenderElement().setValueAsEnum(theValue); 948*/ 949 return this; 950 } 951 952 953 /** 954 * Gets the value(s) for <b>born[x]</b> (). 955 * creating it if it does 956 * not exist. Will not return <code>null</code>. 957 * 958 * <p> 959 * <b>Definition:</b> 960 * The actual or approximate date of birth of the relative 961 * </p> 962 */ 963 public IDatatype getBorn() { 964 return myBorn; 965 } 966 967 /** 968 * Sets the value(s) for <b>born[x]</b> () 969 * 970 * <p> 971 * <b>Definition:</b> 972 * The actual or approximate date of birth of the relative 973 * </p> 974 */ 975 public FamilyMemberHistory setBorn(IDatatype theValue) { 976 myBorn = theValue; 977 return this; 978 } 979 980 981 982 983 /** 984 * Gets the value(s) for <b>age[x]</b> (). 985 * creating it if it does 986 * not exist. Will not return <code>null</code>. 987 * 988 * <p> 989 * <b>Definition:</b> 990 * The actual or approximate age of the relative at the time the family member history is recorded 991 * </p> 992 */ 993 public IDatatype getAge() { 994 return myAge; 995 } 996 997 /** 998 * Sets the value(s) for <b>age[x]</b> () 999 * 1000 * <p> 1001 * <b>Definition:</b> 1002 * The actual or approximate age of the relative at the time the family member history is recorded 1003 * </p> 1004 */ 1005 public FamilyMemberHistory setAge(IDatatype theValue) { 1006 myAge = theValue; 1007 return this; 1008 } 1009 1010 1011 1012 1013 /** 1014 * Gets the value(s) for <b>deceased[x]</b> (). 1015 * creating it if it does 1016 * not exist. Will not return <code>null</code>. 1017 * 1018 * <p> 1019 * <b>Definition:</b> 1020 * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record 1021 * </p> 1022 */ 1023 public IDatatype getDeceased() { 1024 return myDeceased; 1025 } 1026 1027 /** 1028 * Sets the value(s) for <b>deceased[x]</b> () 1029 * 1030 * <p> 1031 * <b>Definition:</b> 1032 * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record 1033 * </p> 1034 */ 1035 public FamilyMemberHistory setDeceased(IDatatype theValue) { 1036 myDeceased = theValue; 1037 return this; 1038 } 1039 1040 1041 1042 1043 /** 1044 * Gets the value(s) for <b>note</b> (). 1045 * creating it if it does 1046 * not exist. Will not return <code>null</code>. 1047 * 1048 * <p> 1049 * <b>Definition:</b> 1050 * 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. 1051 * </p> 1052 */ 1053 public AnnotationDt getNote() { 1054 if (myNote == null) { 1055 myNote = new AnnotationDt(); 1056 } 1057 return myNote; 1058 } 1059 1060 /** 1061 * Sets the value(s) for <b>note</b> () 1062 * 1063 * <p> 1064 * <b>Definition:</b> 1065 * 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. 1066 * </p> 1067 */ 1068 public FamilyMemberHistory setNote(AnnotationDt theValue) { 1069 myNote = theValue; 1070 return this; 1071 } 1072 1073 1074 1075 1076 /** 1077 * Gets the value(s) for <b>condition</b> (). 1078 * creating it if it does 1079 * not exist. Will not return <code>null</code>. 1080 * 1081 * <p> 1082 * <b>Definition:</b> 1083 * 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. 1084 * </p> 1085 */ 1086 public java.util.List<Condition> getCondition() { 1087 if (myCondition == null) { 1088 myCondition = new java.util.ArrayList<Condition>(); 1089 } 1090 return myCondition; 1091 } 1092 1093 /** 1094 * Sets the value(s) for <b>condition</b> () 1095 * 1096 * <p> 1097 * <b>Definition:</b> 1098 * 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. 1099 * </p> 1100 */ 1101 public FamilyMemberHistory setCondition(java.util.List<Condition> theValue) { 1102 myCondition = theValue; 1103 return this; 1104 } 1105 1106 1107 1108 /** 1109 * Adds and returns a new value for <b>condition</b> () 1110 * 1111 * <p> 1112 * <b>Definition:</b> 1113 * 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. 1114 * </p> 1115 */ 1116 public Condition addCondition() { 1117 Condition newType = new Condition(); 1118 getCondition().add(newType); 1119 return newType; 1120 } 1121 1122 /** 1123 * Adds a given new value for <b>condition</b> () 1124 * 1125 * <p> 1126 * <b>Definition:</b> 1127 * 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. 1128 * </p> 1129 * @param theValue The condition to add (must not be <code>null</code>) 1130 */ 1131 public FamilyMemberHistory addCondition(Condition theValue) { 1132 if (theValue == null) { 1133 throw new NullPointerException("theValue must not be null"); 1134 } 1135 getCondition().add(theValue); 1136 return this; 1137 } 1138 1139 /** 1140 * Gets the first repetition for <b>condition</b> (), 1141 * creating it if it does not already exist. 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 getConditionFirstRep() { 1149 if (getCondition().isEmpty()) { 1150 return addCondition(); 1151 } 1152 return getCondition().get(0); 1153 } 1154 1155 /** 1156 * Block class for child element: <b>FamilyMemberHistory.condition</b> () 1157 * 1158 * <p> 1159 * <b>Definition:</b> 1160 * 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. 1161 * </p> 1162 */ 1163 @Block() 1164 public static class Condition 1165 extends BaseIdentifiableElement implements IResourceBlock { 1166 1167 @Child(name="code", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=false, modifier=false) 1168 @Description( 1169 shortDefinition="", 1170 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" 1171 ) 1172 private CodeableConceptDt myCode; 1173 1174 @Child(name="outcome", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=false, modifier=false) 1175 @Description( 1176 shortDefinition="", 1177 formalDefinition="Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation." 1178 ) 1179 private CodeableConceptDt myOutcome; 1180 1181 @Child(name="onset", order=2, min=0, max=1, summary=false, modifier=false, type={ 1182 AgeDt.class, RangeDt.class, PeriodDt.class, StringDt.class }) 1183 @Description( 1184 shortDefinition="", 1185 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." 1186 ) 1187 private IDatatype myOnset; 1188 1189 @Child(name="note", type=AnnotationDt.class, order=3, min=0, max=1, summary=false, modifier=false) 1190 @Description( 1191 shortDefinition="", 1192 formalDefinition="An area where general notes can be placed about this specific condition." 1193 ) 1194 private AnnotationDt myNote; 1195 1196 1197 @Override 1198 public boolean isEmpty() { 1199 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myOutcome, myOnset, myNote); 1200 } 1201 1202 @Override 1203 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1204 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myOutcome, myOnset, myNote); 1205 } 1206 1207 /** 1208 * Gets the value(s) for <b>code</b> (). 1209 * creating it if it does 1210 * not exist. Will not return <code>null</code>. 1211 * 1212 * <p> 1213 * <b>Definition:</b> 1214 * 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 1215 * </p> 1216 */ 1217 public CodeableConceptDt getCode() { 1218 if (myCode == null) { 1219 myCode = new CodeableConceptDt(); 1220 } 1221 return myCode; 1222 } 1223 1224 /** 1225 * Sets the value(s) for <b>code</b> () 1226 * 1227 * <p> 1228 * <b>Definition:</b> 1229 * 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 1230 * </p> 1231 */ 1232 public Condition setCode(CodeableConceptDt theValue) { 1233 myCode = theValue; 1234 return this; 1235 } 1236 1237 1238 1239 1240 /** 1241 * Gets the value(s) for <b>outcome</b> (). 1242 * creating it if it does 1243 * not exist. Will not return <code>null</code>. 1244 * 1245 * <p> 1246 * <b>Definition:</b> 1247 * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. 1248 * </p> 1249 */ 1250 public CodeableConceptDt getOutcome() { 1251 if (myOutcome == null) { 1252 myOutcome = new CodeableConceptDt(); 1253 } 1254 return myOutcome; 1255 } 1256 1257 /** 1258 * Sets the value(s) for <b>outcome</b> () 1259 * 1260 * <p> 1261 * <b>Definition:</b> 1262 * Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation. 1263 * </p> 1264 */ 1265 public Condition setOutcome(CodeableConceptDt theValue) { 1266 myOutcome = theValue; 1267 return this; 1268 } 1269 1270 1271 1272 1273 /** 1274 * Gets the value(s) for <b>onset[x]</b> (). 1275 * creating it if it does 1276 * not exist. Will not return <code>null</code>. 1277 * 1278 * <p> 1279 * <b>Definition:</b> 1280 * 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. 1281 * </p> 1282 */ 1283 public IDatatype getOnset() { 1284 return myOnset; 1285 } 1286 1287 /** 1288 * Sets the value(s) for <b>onset[x]</b> () 1289 * 1290 * <p> 1291 * <b>Definition:</b> 1292 * 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. 1293 * </p> 1294 */ 1295 public Condition setOnset(IDatatype theValue) { 1296 myOnset = theValue; 1297 return this; 1298 } 1299 1300 1301 1302 1303 /** 1304 * Gets the value(s) for <b>note</b> (). 1305 * creating it if it does 1306 * not exist. Will not return <code>null</code>. 1307 * 1308 * <p> 1309 * <b>Definition:</b> 1310 * An area where general notes can be placed about this specific condition. 1311 * </p> 1312 */ 1313 public AnnotationDt getNote() { 1314 if (myNote == null) { 1315 myNote = new AnnotationDt(); 1316 } 1317 return myNote; 1318 } 1319 1320 /** 1321 * Sets the value(s) for <b>note</b> () 1322 * 1323 * <p> 1324 * <b>Definition:</b> 1325 * An area where general notes can be placed about this specific condition. 1326 * </p> 1327 */ 1328 public Condition setNote(AnnotationDt theValue) { 1329 myNote = theValue; 1330 return this; 1331 } 1332 1333 1334 1335 1336 1337 1338 } 1339 1340 1341 1342 1343 @Override 1344 public String getResourceName() { 1345 return "FamilyMemberHistory"; 1346 } 1347 1348 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1349 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1350 } 1351 1352 1353}