![](/hapi-fhir/images/logos/raccoon-forwards.png)
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>Observation</b> Resource 282 * (clinical.diagnostics) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * Measurements and simple assertions made about a patient, device or other subject. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * Observations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms. 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/Observation">http://hl7.org/fhir/profiles/Observation</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Observation", profile="http://hl7.org/fhir/profiles/Observation", id="observation") 301public class Observation extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>code</b> 307 * <p> 308 * Description: <b>The code of the observation type</b><br> 309 * Type: <b>token</b><br> 310 * Path: <b>Observation.code</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="code", path="Observation.code", description="The code of the observation type", type="token" 314 ) 315 public static final String SP_CODE = "code"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>code</b> 319 * <p> 320 * Description: <b>The code of the observation type</b><br> 321 * Type: <b>token</b><br> 322 * Path: <b>Observation.code</b><br> 323 * </p> 324 */ 325 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 326 327 /** 328 * Search parameter constant for <b>component-code</b> 329 * <p> 330 * Description: <b>The component code of the observation type</b><br> 331 * Type: <b>token</b><br> 332 * Path: <b>Observation.component.code</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="component-code", path="Observation.component.code", description="The component code of the observation type", type="token" 336 ) 337 public static final String SP_COMPONENT_CODE = "component-code"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>component-code</b> 341 * <p> 342 * Description: <b>The component code of the observation type</b><br> 343 * Type: <b>token</b><br> 344 * Path: <b>Observation.component.code</b><br> 345 * </p> 346 */ 347 public static final TokenClientParam COMPONENT_CODE = new TokenClientParam(SP_COMPONENT_CODE); 348 349 /** 350 * Search parameter constant for <b>value-quantity</b> 351 * <p> 352 * Description: <b>The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)</b><br> 353 * Type: <b>quantity</b><br> 354 * Path: <b>Observation.valueQuantity</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="value-quantity", path="Observation.valueQuantity", description="The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", type="quantity" 358 ) 359 public static final String SP_VALUE_QUANTITY = "value-quantity"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>value-quantity</b> 363 * <p> 364 * Description: <b>The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)</b><br> 365 * Type: <b>quantity</b><br> 366 * Path: <b>Observation.valueQuantity</b><br> 367 * </p> 368 */ 369 public static final QuantityClientParam VALUE_QUANTITY = new QuantityClientParam(SP_VALUE_QUANTITY); 370 371 /** 372 * Search parameter constant for <b>component-value-quantity</b> 373 * <p> 374 * Description: <b>The value of the component observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)</b><br> 375 * Type: <b>quantity</b><br> 376 * Path: <b>Observation.component.valueQuantity</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="component-value-quantity", path="Observation.component.valueQuantity", description="The value of the component observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)", type="quantity" 380 ) 381 public static final String SP_COMPONENT_VALUE_QUANTITY = "component-value-quantity"; 382 383 /** 384 * <b>Fluent Client</b> search parameter constant for <b>component-value-quantity</b> 385 * <p> 386 * Description: <b>The value of the component observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data)</b><br> 387 * Type: <b>quantity</b><br> 388 * Path: <b>Observation.component.valueQuantity</b><br> 389 * </p> 390 */ 391 public static final QuantityClientParam COMPONENT_VALUE_QUANTITY = new QuantityClientParam(SP_COMPONENT_VALUE_QUANTITY); 392 393 /** 394 * Search parameter constant for <b>value-concept</b> 395 * <p> 396 * Description: <b>The value of the observation, if the value is a CodeableConcept</b><br> 397 * Type: <b>token</b><br> 398 * Path: <b>Observation.valueCodeableConcept</b><br> 399 * </p> 400 */ 401 @SearchParamDefinition(name="value-concept", path="Observation.valueCodeableConcept", description="The value of the observation, if the value is a CodeableConcept", type="token" 402 ) 403 public static final String SP_VALUE_CONCEPT = "value-concept"; 404 405 /** 406 * <b>Fluent Client</b> search parameter constant for <b>value-concept</b> 407 * <p> 408 * Description: <b>The value of the observation, if the value is a CodeableConcept</b><br> 409 * Type: <b>token</b><br> 410 * Path: <b>Observation.valueCodeableConcept</b><br> 411 * </p> 412 */ 413 public static final TokenClientParam VALUE_CONCEPT = new TokenClientParam(SP_VALUE_CONCEPT); 414 415 /** 416 * Search parameter constant for <b>component-value-concept</b> 417 * <p> 418 * Description: <b>The value of the component observation, if the value is a CodeableConcept</b><br> 419 * Type: <b>token</b><br> 420 * Path: <b>Observation.component.valueCodeableConcept</b><br> 421 * </p> 422 */ 423 @SearchParamDefinition(name="component-value-concept", path="Observation.component.valueCodeableConcept", description="The value of the component observation, if the value is a CodeableConcept", type="token" 424 ) 425 public static final String SP_COMPONENT_VALUE_CONCEPT = "component-value-concept"; 426 427 /** 428 * <b>Fluent Client</b> search parameter constant for <b>component-value-concept</b> 429 * <p> 430 * Description: <b>The value of the component observation, if the value is a CodeableConcept</b><br> 431 * Type: <b>token</b><br> 432 * Path: <b>Observation.component.valueCodeableConcept</b><br> 433 * </p> 434 */ 435 public static final TokenClientParam COMPONENT_VALUE_CONCEPT = new TokenClientParam(SP_COMPONENT_VALUE_CONCEPT); 436 437 /** 438 * Search parameter constant for <b>value-date</b> 439 * <p> 440 * Description: <b>The value of the observation, if the value is a date or period of time</b><br> 441 * Type: <b>date</b><br> 442 * Path: <b>Observation.valueDateTime | Observation.valuePeriod</b><br> 443 * </p> 444 */ 445 @SearchParamDefinition(name="value-date", path="Observation.valueDateTime | Observation.valuePeriod", description="The value of the observation, if the value is a date or period of time", type="date" 446 ) 447 public static final String SP_VALUE_DATE = "value-date"; 448 449 /** 450 * <b>Fluent Client</b> search parameter constant for <b>value-date</b> 451 * <p> 452 * Description: <b>The value of the observation, if the value is a date or period of time</b><br> 453 * Type: <b>date</b><br> 454 * Path: <b>Observation.valueDateTime | Observation.valuePeriod</b><br> 455 * </p> 456 */ 457 public static final DateClientParam VALUE_DATE = new DateClientParam(SP_VALUE_DATE); 458 459 /** 460 * Search parameter constant for <b>value-string</b> 461 * <p> 462 * Description: <b>The value of the observation, if the value is a string, and also searches in CodeableConcept.text</b><br> 463 * Type: <b>string</b><br> 464 * Path: <b>Observation.valueString</b><br> 465 * </p> 466 */ 467 @SearchParamDefinition(name="value-string", path="Observation.valueString", description="The value of the observation, if the value is a string, and also searches in CodeableConcept.text", type="string" 468 ) 469 public static final String SP_VALUE_STRING = "value-string"; 470 471 /** 472 * <b>Fluent Client</b> search parameter constant for <b>value-string</b> 473 * <p> 474 * Description: <b>The value of the observation, if the value is a string, and also searches in CodeableConcept.text</b><br> 475 * Type: <b>string</b><br> 476 * Path: <b>Observation.valueString</b><br> 477 * </p> 478 */ 479 public static final StringClientParam VALUE_STRING = new StringClientParam(SP_VALUE_STRING); 480 481 /** 482 * Search parameter constant for <b>component-value-string</b> 483 * <p> 484 * Description: <b>The value of the component observation, if the value is a string, and also searches in CodeableConcept.text</b><br> 485 * Type: <b>string</b><br> 486 * Path: <b>Observation.component.valueString</b><br> 487 * </p> 488 */ 489 @SearchParamDefinition(name="component-value-string", path="Observation.component.valueString", description="The value of the component observation, if the value is a string, and also searches in CodeableConcept.text", type="string" 490 ) 491 public static final String SP_COMPONENT_VALUE_STRING = "component-value-string"; 492 493 /** 494 * <b>Fluent Client</b> search parameter constant for <b>component-value-string</b> 495 * <p> 496 * Description: <b>The value of the component observation, if the value is a string, and also searches in CodeableConcept.text</b><br> 497 * Type: <b>string</b><br> 498 * Path: <b>Observation.component.valueString</b><br> 499 * </p> 500 */ 501 public static final StringClientParam COMPONENT_VALUE_STRING = new StringClientParam(SP_COMPONENT_VALUE_STRING); 502 503 /** 504 * Search parameter constant for <b>date</b> 505 * <p> 506 * Description: <b>Obtained date/time. If the obtained element is a period, a date that falls in the period</b><br> 507 * Type: <b>date</b><br> 508 * Path: <b>Observation.effective[x]</b><br> 509 * </p> 510 */ 511 @SearchParamDefinition(name="date", path="Observation.effective[x]", description="Obtained date/time. If the obtained element is a period, a date that falls in the period", type="date" 512 ) 513 public static final String SP_DATE = "date"; 514 515 /** 516 * <b>Fluent Client</b> search parameter constant for <b>date</b> 517 * <p> 518 * Description: <b>Obtained date/time. If the obtained element is a period, a date that falls in the period</b><br> 519 * Type: <b>date</b><br> 520 * Path: <b>Observation.effective[x]</b><br> 521 * </p> 522 */ 523 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 524 525 /** 526 * Search parameter constant for <b>status</b> 527 * <p> 528 * Description: <b>The status of the observation</b><br> 529 * Type: <b>token</b><br> 530 * Path: <b>Observation.status</b><br> 531 * </p> 532 */ 533 @SearchParamDefinition(name="status", path="Observation.status", description="The status of the observation", type="token" 534 ) 535 public static final String SP_STATUS = "status"; 536 537 /** 538 * <b>Fluent Client</b> search parameter constant for <b>status</b> 539 * <p> 540 * Description: <b>The status of the observation</b><br> 541 * Type: <b>token</b><br> 542 * Path: <b>Observation.status</b><br> 543 * </p> 544 */ 545 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 546 547 /** 548 * Search parameter constant for <b>subject</b> 549 * <p> 550 * Description: <b>The subject that the observation is about</b><br> 551 * Type: <b>reference</b><br> 552 * Path: <b>Observation.subject</b><br> 553 * </p> 554 */ 555 @SearchParamDefinition(name="subject", path="Observation.subject", description="The subject that the observation is about", type="reference" 556, providesMembershipIn={ 557 @Compartment(name="Patient") , @Compartment(name="Device") } 558 ) 559 public static final String SP_SUBJECT = "subject"; 560 561 /** 562 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 563 * <p> 564 * Description: <b>The subject that the observation is about</b><br> 565 * Type: <b>reference</b><br> 566 * Path: <b>Observation.subject</b><br> 567 * </p> 568 */ 569 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 570 571 /** 572 * Search parameter constant for <b>performer</b> 573 * <p> 574 * Description: <b>Who performed the observation</b><br> 575 * Type: <b>reference</b><br> 576 * Path: <b>Observation.performer</b><br> 577 * </p> 578 */ 579 @SearchParamDefinition(name="performer", path="Observation.performer", description="Who performed the observation", type="reference" 580, providesMembershipIn={ 581 @Compartment(name="Patient") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") } 582 ) 583 public static final String SP_PERFORMER = "performer"; 584 585 /** 586 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 587 * <p> 588 * Description: <b>Who performed the observation</b><br> 589 * Type: <b>reference</b><br> 590 * Path: <b>Observation.performer</b><br> 591 * </p> 592 */ 593 public static final ReferenceClientParam PERFORMER = new ReferenceClientParam(SP_PERFORMER); 594 595 /** 596 * Search parameter constant for <b>specimen</b> 597 * <p> 598 * Description: <b></b><br> 599 * Type: <b>reference</b><br> 600 * Path: <b>Observation.specimen</b><br> 601 * </p> 602 */ 603 @SearchParamDefinition(name="specimen", path="Observation.specimen", description="", type="reference" 604 ) 605 public static final String SP_SPECIMEN = "specimen"; 606 607 /** 608 * <b>Fluent Client</b> search parameter constant for <b>specimen</b> 609 * <p> 610 * Description: <b></b><br> 611 * Type: <b>reference</b><br> 612 * Path: <b>Observation.specimen</b><br> 613 * </p> 614 */ 615 public static final ReferenceClientParam SPECIMEN = new ReferenceClientParam(SP_SPECIMEN); 616 617 /** 618 * Search parameter constant for <b>related-type</b> 619 * <p> 620 * Description: <b></b><br> 621 * Type: <b>token</b><br> 622 * Path: <b>Observation.related.type</b><br> 623 * </p> 624 */ 625 @SearchParamDefinition(name="related-type", path="Observation.related.type", description="", type="token" 626 ) 627 public static final String SP_RELATED_TYPE = "related-type"; 628 629 /** 630 * <b>Fluent Client</b> search parameter constant for <b>related-type</b> 631 * <p> 632 * Description: <b></b><br> 633 * Type: <b>token</b><br> 634 * Path: <b>Observation.related.type</b><br> 635 * </p> 636 */ 637 public static final TokenClientParam RELATED_TYPE = new TokenClientParam(SP_RELATED_TYPE); 638 639 /** 640 * Search parameter constant for <b>related-target</b> 641 * <p> 642 * Description: <b></b><br> 643 * Type: <b>reference</b><br> 644 * Path: <b>Observation.related.target</b><br> 645 * </p> 646 */ 647 @SearchParamDefinition(name="related-target", path="Observation.related.target", description="", type="reference" 648 ) 649 public static final String SP_RELATED_TARGET = "related-target"; 650 651 /** 652 * <b>Fluent Client</b> search parameter constant for <b>related-target</b> 653 * <p> 654 * Description: <b></b><br> 655 * Type: <b>reference</b><br> 656 * Path: <b>Observation.related.target</b><br> 657 * </p> 658 */ 659 public static final ReferenceClientParam RELATED_TARGET = new ReferenceClientParam(SP_RELATED_TARGET); 660 661 /** 662 * Search parameter constant for <b>encounter</b> 663 * <p> 664 * Description: <b>Healthcare event related to the observation</b><br> 665 * Type: <b>reference</b><br> 666 * Path: <b>Observation.encounter</b><br> 667 * </p> 668 */ 669 @SearchParamDefinition(name="encounter", path="Observation.encounter", description="Healthcare event related to the observation", type="reference" 670, providesMembershipIn={ 671 @Compartment(name="Encounter") } 672 ) 673 public static final String SP_ENCOUNTER = "encounter"; 674 675 /** 676 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 677 * <p> 678 * Description: <b>Healthcare event related to the observation</b><br> 679 * Type: <b>reference</b><br> 680 * Path: <b>Observation.encounter</b><br> 681 * </p> 682 */ 683 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 684 685 /** 686 * Search parameter constant for <b>data-absent-reason</b> 687 * <p> 688 * Description: <b>The reason why the expected value in the element Observation.value[x] is missing.</b><br> 689 * Type: <b>token</b><br> 690 * Path: <b>Observation.dataAbsentReason</b><br> 691 * </p> 692 */ 693 @SearchParamDefinition(name="data-absent-reason", path="Observation.dataAbsentReason", description="The reason why the expected value in the element Observation.value[x] is missing.", type="token" 694 ) 695 public static final String SP_DATA_ABSENT_REASON = "data-absent-reason"; 696 697 /** 698 * <b>Fluent Client</b> search parameter constant for <b>data-absent-reason</b> 699 * <p> 700 * Description: <b>The reason why the expected value in the element Observation.value[x] is missing.</b><br> 701 * Type: <b>token</b><br> 702 * Path: <b>Observation.dataAbsentReason</b><br> 703 * </p> 704 */ 705 public static final TokenClientParam DATA_ABSENT_REASON = new TokenClientParam(SP_DATA_ABSENT_REASON); 706 707 /** 708 * Search parameter constant for <b>component-data-absent-reason</b> 709 * <p> 710 * Description: <b>The reason why the expected value in the element Observation.component.value[x] is missing.</b><br> 711 * Type: <b>token</b><br> 712 * Path: <b>Observation.component.dataAbsentReason</b><br> 713 * </p> 714 */ 715 @SearchParamDefinition(name="component-data-absent-reason", path="Observation.component.dataAbsentReason", description="The reason why the expected value in the element Observation.component.value[x] is missing.", type="token" 716 ) 717 public static final String SP_COMPONENT_DATA_ABSENT_REASON = "component-data-absent-reason"; 718 719 /** 720 * <b>Fluent Client</b> search parameter constant for <b>component-data-absent-reason</b> 721 * <p> 722 * Description: <b>The reason why the expected value in the element Observation.component.value[x] is missing.</b><br> 723 * Type: <b>token</b><br> 724 * Path: <b>Observation.component.dataAbsentReason</b><br> 725 * </p> 726 */ 727 public static final TokenClientParam COMPONENT_DATA_ABSENT_REASON = new TokenClientParam(SP_COMPONENT_DATA_ABSENT_REASON); 728 729 /** 730 * Search parameter constant for <b>patient</b> 731 * <p> 732 * Description: <b>The subject that the observation is about (if patient)</b><br> 733 * Type: <b>reference</b><br> 734 * Path: <b>Observation.subject</b><br> 735 * </p> 736 */ 737 @SearchParamDefinition(name="patient", path="Observation.subject", description="The subject that the observation is about (if patient)", type="reference" 738, target={ 739 ca.uhn.fhir.model.dstu2.resource.Patient.class } 740 ) 741 public static final String SP_PATIENT = "patient"; 742 743 /** 744 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 745 * <p> 746 * Description: <b>The subject that the observation is about (if patient)</b><br> 747 * Type: <b>reference</b><br> 748 * Path: <b>Observation.subject</b><br> 749 * </p> 750 */ 751 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 752 753 /** 754 * Search parameter constant for <b>identifier</b> 755 * <p> 756 * Description: <b>The unique id for a particular observation</b><br> 757 * Type: <b>token</b><br> 758 * Path: <b>Observation.identifier</b><br> 759 * </p> 760 */ 761 @SearchParamDefinition(name="identifier", path="Observation.identifier", description="The unique id for a particular observation", type="token" 762 ) 763 public static final String SP_IDENTIFIER = "identifier"; 764 765 /** 766 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 767 * <p> 768 * Description: <b>The unique id for a particular observation</b><br> 769 * Type: <b>token</b><br> 770 * Path: <b>Observation.identifier</b><br> 771 * </p> 772 */ 773 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 774 775 /** 776 * Search parameter constant for <b>device</b> 777 * <p> 778 * Description: <b>The Device that generated the observation data.</b><br> 779 * Type: <b>reference</b><br> 780 * Path: <b>Observation.device</b><br> 781 * </p> 782 */ 783 @SearchParamDefinition(name="device", path="Observation.device", description="The Device that generated the observation data.", type="reference" 784, providesMembershipIn={ 785 @Compartment(name="Device") } 786 ) 787 public static final String SP_DEVICE = "device"; 788 789 /** 790 * <b>Fluent Client</b> search parameter constant for <b>device</b> 791 * <p> 792 * Description: <b>The Device that generated the observation data.</b><br> 793 * Type: <b>reference</b><br> 794 * Path: <b>Observation.device</b><br> 795 * </p> 796 */ 797 public static final ReferenceClientParam DEVICE = new ReferenceClientParam(SP_DEVICE); 798 799 /** 800 * Search parameter constant for <b>category</b> 801 * <p> 802 * Description: <b>The classification of the type of observation</b><br> 803 * Type: <b>token</b><br> 804 * Path: <b>Observation.category</b><br> 805 * </p> 806 */ 807 @SearchParamDefinition(name="category", path="Observation.category", description="The classification of the type of observation", type="token" 808 ) 809 public static final String SP_CATEGORY = "category"; 810 811 /** 812 * <b>Fluent Client</b> search parameter constant for <b>category</b> 813 * <p> 814 * Description: <b>The classification of the type of observation</b><br> 815 * Type: <b>token</b><br> 816 * Path: <b>Observation.category</b><br> 817 * </p> 818 */ 819 public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY); 820 821 /** 822 * Search parameter constant for <b>code-value-quantity</b> 823 * <p> 824 * Description: <b>Both code and one of the value parameters</b><br> 825 * Type: <b>composite</b><br> 826 * Path: <b>code & value[x]</b><br> 827 * </p> 828 */ 829 @SearchParamDefinition(name="code-value-quantity", path="code & value[x]", description="Both code and one of the value parameters", type="composite" , compositeOf={ "code", "value-quantity" } 830 ) 831 public static final String SP_CODE_VALUE_QUANTITY = "code-value-quantity"; 832 833 /** 834 * <b>Fluent Client</b> search parameter constant for <b>code-value-quantity</b> 835 * <p> 836 * Description: <b>Both code and one of the value parameters</b><br> 837 * Type: <b>composite</b><br> 838 * Path: <b>code & value[x]</b><br> 839 * </p> 840 */ 841 public static final CompositeClientParam<TokenClientParam, QuantityClientParam> CODE_VALUE_QUANTITY = new CompositeClientParam<TokenClientParam, QuantityClientParam>(SP_CODE_VALUE_QUANTITY); 842 843 /** 844 * Search parameter constant for <b>code-value-concept</b> 845 * <p> 846 * Description: <b>Both code and one of the value parameters</b><br> 847 * Type: <b>composite</b><br> 848 * Path: <b>code & value[x]</b><br> 849 * </p> 850 */ 851 @SearchParamDefinition(name="code-value-concept", path="code & value[x]", description="Both code and one of the value parameters", type="composite" , compositeOf={ "code", "value-concept" } 852 ) 853 public static final String SP_CODE_VALUE_CONCEPT = "code-value-concept"; 854 855 /** 856 * <b>Fluent Client</b> search parameter constant for <b>code-value-concept</b> 857 * <p> 858 * Description: <b>Both code and one of the value parameters</b><br> 859 * Type: <b>composite</b><br> 860 * Path: <b>code & value[x]</b><br> 861 * </p> 862 */ 863 public static final CompositeClientParam<TokenClientParam, TokenClientParam> CODE_VALUE_CONCEPT = new CompositeClientParam<TokenClientParam, TokenClientParam>(SP_CODE_VALUE_CONCEPT); 864 865 /** 866 * Search parameter constant for <b>code-value-date</b> 867 * <p> 868 * Description: <b>Both code and one of the value parameters</b><br> 869 * Type: <b>composite</b><br> 870 * Path: <b>code & value[x]</b><br> 871 * </p> 872 */ 873 @SearchParamDefinition(name="code-value-date", path="code & value[x]", description="Both code and one of the value parameters", type="composite" , compositeOf={ "code", "value-date" } 874 ) 875 public static final String SP_CODE_VALUE_DATE = "code-value-date"; 876 877 /** 878 * <b>Fluent Client</b> search parameter constant for <b>code-value-date</b> 879 * <p> 880 * Description: <b>Both code and one of the value parameters</b><br> 881 * Type: <b>composite</b><br> 882 * Path: <b>code & value[x]</b><br> 883 * </p> 884 */ 885 public static final CompositeClientParam<TokenClientParam, DateClientParam> CODE_VALUE_DATE = new CompositeClientParam<TokenClientParam, DateClientParam>(SP_CODE_VALUE_DATE); 886 887 /** 888 * Search parameter constant for <b>code-value-string</b> 889 * <p> 890 * Description: <b>Both code and one of the value parameters</b><br> 891 * Type: <b>composite</b><br> 892 * Path: <b>code & value[x]</b><br> 893 * </p> 894 */ 895 @SearchParamDefinition(name="code-value-string", path="code & value[x]", description="Both code and one of the value parameters", type="composite" , compositeOf={ "code", "value-string" } 896 ) 897 public static final String SP_CODE_VALUE_STRING = "code-value-string"; 898 899 /** 900 * <b>Fluent Client</b> search parameter constant for <b>code-value-string</b> 901 * <p> 902 * Description: <b>Both code and one of the value parameters</b><br> 903 * Type: <b>composite</b><br> 904 * Path: <b>code & value[x]</b><br> 905 * </p> 906 */ 907 public static final CompositeClientParam<TokenClientParam, StringClientParam> CODE_VALUE_STRING = new CompositeClientParam<TokenClientParam, StringClientParam>(SP_CODE_VALUE_STRING); 908 909 /** 910 * Search parameter constant for <b>component-code-component-value-quantity</b> 911 * <p> 912 * Description: <b>Both component code and one of the component value parameters</b><br> 913 * Type: <b>composite</b><br> 914 * Path: <b>component-code & component-value[x]</b><br> 915 * </p> 916 */ 917 @SearchParamDefinition(name="component-code-component-value-quantity", path="component-code & component-value[x]", description="Both component code and one of the component value parameters", type="composite" , compositeOf={ "component-code", "component-value-quantity" } 918 ) 919 public static final String SP_COMPONENT_CODE_COMPONENT_VALUE_QUANTITY = "component-code-component-value-quantity"; 920 921 /** 922 * <b>Fluent Client</b> search parameter constant for <b>component-code-component-value-quantity</b> 923 * <p> 924 * Description: <b>Both component code and one of the component value parameters</b><br> 925 * Type: <b>composite</b><br> 926 * Path: <b>component-code & component-value[x]</b><br> 927 * </p> 928 */ 929 public static final CompositeClientParam<TokenClientParam, QuantityClientParam> COMPONENT_CODE_COMPONENT_VALUE_QUANTITY = new CompositeClientParam<TokenClientParam, QuantityClientParam>(SP_COMPONENT_CODE_COMPONENT_VALUE_QUANTITY); 930 931 /** 932 * Search parameter constant for <b>component-code-component-value-concept</b> 933 * <p> 934 * Description: <b>Both component code and one of the component value parameters</b><br> 935 * Type: <b>composite</b><br> 936 * Path: <b>component-code & component-value[x]</b><br> 937 * </p> 938 */ 939 @SearchParamDefinition(name="component-code-component-value-concept", path="component-code & component-value[x]", description="Both component code and one of the component value parameters", type="composite" , compositeOf={ "component-code", "component-value-concept" } 940 ) 941 public static final String SP_COMPONENT_CODE_COMPONENT_VALUE_CONCEPT = "component-code-component-value-concept"; 942 943 /** 944 * <b>Fluent Client</b> search parameter constant for <b>component-code-component-value-concept</b> 945 * <p> 946 * Description: <b>Both component code and one of the component value parameters</b><br> 947 * Type: <b>composite</b><br> 948 * Path: <b>component-code & component-value[x]</b><br> 949 * </p> 950 */ 951 public static final CompositeClientParam<TokenClientParam, TokenClientParam> COMPONENT_CODE_COMPONENT_VALUE_CONCEPT = new CompositeClientParam<TokenClientParam, TokenClientParam>(SP_COMPONENT_CODE_COMPONENT_VALUE_CONCEPT); 952 953 /** 954 * Search parameter constant for <b>component-code-component-value-string</b> 955 * <p> 956 * Description: <b>Both component code and one of the component value parameters</b><br> 957 * Type: <b>composite</b><br> 958 * Path: <b>component-code & component-value[x]</b><br> 959 * </p> 960 */ 961 @SearchParamDefinition(name="component-code-component-value-string", path="component-code & component-value[x]", description="Both component code and one of the component value parameters", type="composite" , compositeOf={ "component-code", "component-value-string" } 962 ) 963 public static final String SP_COMPONENT_CODE_COMPONENT_VALUE_STRING = "component-code-component-value-string"; 964 965 /** 966 * <b>Fluent Client</b> search parameter constant for <b>component-code-component-value-string</b> 967 * <p> 968 * Description: <b>Both component code and one of the component value parameters</b><br> 969 * Type: <b>composite</b><br> 970 * Path: <b>component-code & component-value[x]</b><br> 971 * </p> 972 */ 973 public static final CompositeClientParam<TokenClientParam, StringClientParam> COMPONENT_CODE_COMPONENT_VALUE_STRING = new CompositeClientParam<TokenClientParam, StringClientParam>(SP_COMPONENT_CODE_COMPONENT_VALUE_STRING); 974 975 /** 976 * Search parameter constant for <b>related-target-related-type</b> 977 * <p> 978 * Description: <b>Related Observations - search on related-type and related-target together</b><br> 979 * Type: <b>composite</b><br> 980 * Path: <b>related-target & related-type</b><br> 981 * </p> 982 */ 983 @SearchParamDefinition(name="related-target-related-type", path="related-target & related-type", description="Related Observations - search on related-type and related-target together", type="composite" , compositeOf={ "related-target", "related-type" } 984 ) 985 public static final String SP_RELATED_TARGET_RELATED_TYPE = "related-target-related-type"; 986 987 /** 988 * <b>Fluent Client</b> search parameter constant for <b>related-target-related-type</b> 989 * <p> 990 * Description: <b>Related Observations - search on related-type and related-target together</b><br> 991 * Type: <b>composite</b><br> 992 * Path: <b>related-target & related-type</b><br> 993 * </p> 994 */ 995 public static final CompositeClientParam<ReferenceClientParam, TokenClientParam> RELATED_TARGET_RELATED_TYPE = new CompositeClientParam<ReferenceClientParam, TokenClientParam>(SP_RELATED_TARGET_RELATED_TYPE); 996 997 998 /** 999 * Constant for fluent queries to be used to add include statements. Specifies 1000 * the path value of "<b>Observation:device</b>". 1001 */ 1002 public static final Include INCLUDE_DEVICE = new Include("Observation:device"); 1003 1004 /** 1005 * Constant for fluent queries to be used to add include statements. Specifies 1006 * the path value of "<b>Observation:encounter</b>". 1007 */ 1008 public static final Include INCLUDE_ENCOUNTER = new Include("Observation:encounter"); 1009 1010 /** 1011 * Constant for fluent queries to be used to add include statements. Specifies 1012 * the path value of "<b>Observation:patient</b>". 1013 */ 1014 public static final Include INCLUDE_PATIENT = new Include("Observation:patient"); 1015 1016 /** 1017 * Constant for fluent queries to be used to add include statements. Specifies 1018 * the path value of "<b>Observation:performer</b>". 1019 */ 1020 public static final Include INCLUDE_PERFORMER = new Include("Observation:performer"); 1021 1022 /** 1023 * Constant for fluent queries to be used to add include statements. Specifies 1024 * the path value of "<b>Observation:related-target</b>". 1025 */ 1026 public static final Include INCLUDE_RELATED_TARGET = new Include("Observation:related-target"); 1027 1028 /** 1029 * Constant for fluent queries to be used to add include statements. Specifies 1030 * the path value of "<b>Observation:specimen</b>". 1031 */ 1032 public static final Include INCLUDE_SPECIMEN = new Include("Observation:specimen"); 1033 1034 /** 1035 * Constant for fluent queries to be used to add include statements. Specifies 1036 * the path value of "<b>Observation:subject</b>". 1037 */ 1038 public static final Include INCLUDE_SUBJECT = new Include("Observation:subject"); 1039 1040 1041 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1042 @Description( 1043 shortDefinition="id", 1044 formalDefinition="A unique identifier for the simple observation instance." 1045 ) 1046 private java.util.List<IdentifierDt> myIdentifier; 1047 1048 @Child(name="status", type=CodeDt.class, order=1, min=1, max=1, summary=true, modifier=true) 1049 @Description( 1050 shortDefinition="status", 1051 formalDefinition="The status of the result value" 1052 ) 1053 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/observation-status") 1054 private BoundCodeDt<ObservationStatusEnum> myStatus; 1055 1056 @Child(name="category", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1057 @Description( 1058 shortDefinition="class", 1059 formalDefinition="A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes." 1060 ) 1061 private CodeableConceptDt myCategory; 1062 1063 @Child(name="code", type=CodeableConceptDt.class, order=3, min=1, max=1, summary=true, modifier=false) 1064 @Description( 1065 shortDefinition="what", 1066 formalDefinition="Describes what was observed. Sometimes this is called the observation \"name\"" 1067 ) 1068 private CodeableConceptDt myCode; 1069 1070 @Child(name="subject", order=4, min=0, max=1, summary=true, modifier=false, type={ 1071 ca.uhn.fhir.model.dstu2.resource.Patient.class, 1072 ca.uhn.fhir.model.dstu2.resource.Group.class, 1073 ca.uhn.fhir.model.dstu2.resource.Device.class, 1074 ca.uhn.fhir.model.dstu2.resource.Location.class 1075 }) 1076 @Description( 1077 shortDefinition="who.focus", 1078 formalDefinition="The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject." 1079 ) 1080 private ResourceReferenceDt mySubject; 1081 1082 @Child(name="encounter", order=5, min=0, max=1, summary=false, modifier=false, type={ 1083 ca.uhn.fhir.model.dstu2.resource.Encounter.class 1084 }) 1085 @Description( 1086 shortDefinition="context", 1087 formalDefinition="The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made" 1088 ) 1089 private ResourceReferenceDt myEncounter; 1090 1091 @Child(name="effective", order=6, min=0, max=1, summary=true, modifier=false, type={ 1092 DateTimeDt.class, 1093 PeriodDt.class 1094 }) 1095 @Description( 1096 shortDefinition="when.done", 1097 formalDefinition="The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself" 1098 ) 1099 private IDatatype myEffective; 1100 1101 @Child(name="issued", type=InstantDt.class, order=7, min=0, max=1, summary=true, modifier=false) 1102 @Description( 1103 shortDefinition="when.recorded", 1104 formalDefinition="The date and time this observation was made available to providers, typically after the results have been reviewed and verified." 1105 ) 1106 private InstantDt myIssued; 1107 1108 @Child(name="performer", order=8, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={ 1109 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 1110 ca.uhn.fhir.model.dstu2.resource.Organization.class, 1111 ca.uhn.fhir.model.dstu2.resource.Patient.class, 1112 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class 1113 }) 1114 @Description( 1115 shortDefinition="who.actor", 1116 formalDefinition="Who was responsible for asserting the observed value as \"true\"" 1117 ) 1118 private java.util.List<ResourceReferenceDt> myPerformer; 1119 1120 @Child(name="value", order=9, min=0, max=1, summary=true, modifier=false, type={ 1121 QuantityDt.class, 1122 CodeableConceptDt.class, 1123 StringDt.class, 1124 RangeDt.class, 1125 RatioDt.class, 1126 SampledDataDt.class, 1127 AttachmentDt.class, 1128 TimeDt.class, 1129 DateTimeDt.class, 1130 PeriodDt.class 1131 }) 1132 @Description( 1133 shortDefinition="", 1134 formalDefinition="The information determined as a result of making the observation, if the information has a simple value" 1135 ) 1136 private IDatatype myValue; 1137 1138 @Child(name="dataAbsentReason", type=CodeableConceptDt.class, order=10, min=0, max=1, summary=false, modifier=false) 1139 @Description( 1140 shortDefinition="", 1141 formalDefinition="Provides a reason why the expected value in the element Observation.value[x] is missing." 1142 ) 1143 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-observation-valueabsentreason") 1144 private CodeableConceptDt myDataAbsentReason; 1145 1146 @Child(name="interpretation", type=CodeableConceptDt.class, order=11, min=0, max=1, summary=false, modifier=false) 1147 @Description( 1148 shortDefinition="", 1149 formalDefinition="The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag." 1150 ) 1151 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-observation-interpretation") 1152 private CodeableConceptDt myInterpretation; 1153 1154 @Child(name="comments", type=StringDt.class, order=12, min=0, max=1, summary=false, modifier=false) 1155 @Description( 1156 shortDefinition="", 1157 formalDefinition="May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result." 1158 ) 1159 private StringDt myComments; 1160 1161 @Child(name="bodySite", type=CodeableConceptDt.class, order=13, min=0, max=1, summary=false, modifier=false) 1162 @Description( 1163 shortDefinition="", 1164 formalDefinition="Indicates the site on the subject's body where the observation was made (i.e. the target site)." 1165 ) 1166 private CodeableConceptDt myBodySite; 1167 1168 @Child(name="method", type=CodeableConceptDt.class, order=14, min=0, max=1, summary=false, modifier=false) 1169 @Description( 1170 shortDefinition="", 1171 formalDefinition="Indicates the mechanism used to perform the observation" 1172 ) 1173 private CodeableConceptDt myMethod; 1174 1175 @Child(name="specimen", order=15, min=0, max=1, summary=false, modifier=false, type={ 1176 ca.uhn.fhir.model.dstu2.resource.Specimen.class 1177 }) 1178 @Description( 1179 shortDefinition="", 1180 formalDefinition="The specimen that was used when this observation was made" 1181 ) 1182 private ResourceReferenceDt mySpecimen; 1183 1184 @Child(name="device", order=16, min=0, max=1, summary=false, modifier=false, type={ 1185 ca.uhn.fhir.model.dstu2.resource.Device.class, 1186 ca.uhn.fhir.model.dstu2.resource.DeviceMetric.class 1187 }) 1188 @Description( 1189 shortDefinition="", 1190 formalDefinition="The device used to generate the observation data." 1191 ) 1192 private ResourceReferenceDt myDevice; 1193 1194 @Child(name="referenceRange", order=17, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 1195 @Description( 1196 shortDefinition="", 1197 formalDefinition="Guidance on how to interpret the value by comparison to a normal or recommended range" 1198 ) 1199 private java.util.List<ReferenceRange> myReferenceRange; 1200 1201 @Child(name="related", order=18, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1202 @Description( 1203 shortDefinition="", 1204 formalDefinition="A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code." 1205 ) 1206 private java.util.List<Related> myRelated; 1207 1208 @Child(name="component", order=19, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1209 @Description( 1210 shortDefinition="", 1211 formalDefinition="Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations." 1212 ) 1213 private java.util.List<Component> myComponent; 1214 1215 1216 @Override 1217 public boolean isEmpty() { 1218 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myStatus, myCategory, myCode, mySubject, myEncounter, myEffective, myIssued, myPerformer, myValue, myDataAbsentReason, myInterpretation, myComments, myBodySite, myMethod, mySpecimen, myDevice, myReferenceRange, myRelated, myComponent); 1219 } 1220 1221 @Override 1222 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1223 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myStatus, myCategory, myCode, mySubject, myEncounter, myEffective, myIssued, myPerformer, myValue, myDataAbsentReason, myInterpretation, myComments, myBodySite, myMethod, mySpecimen, myDevice, myReferenceRange, myRelated, myComponent); 1224 } 1225 1226 /** 1227 * Gets the value(s) for <b>identifier</b> (id). 1228 * creating it if it does 1229 * not exist. Will not return <code>null</code>. 1230 * 1231 * <p> 1232 * <b>Definition:</b> 1233 * A unique identifier for the simple observation instance. 1234 * </p> 1235 */ 1236 public java.util.List<IdentifierDt> getIdentifier() { 1237 if (myIdentifier == null) { 1238 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 1239 } 1240 return myIdentifier; 1241 } 1242 1243 /** 1244 * Sets the value(s) for <b>identifier</b> (id) 1245 * 1246 * <p> 1247 * <b>Definition:</b> 1248 * A unique identifier for the simple observation instance. 1249 * </p> 1250 */ 1251 public Observation setIdentifier(java.util.List<IdentifierDt> theValue) { 1252 myIdentifier = theValue; 1253 return this; 1254 } 1255 1256 1257 1258 /** 1259 * Adds and returns a new value for <b>identifier</b> (id) 1260 * 1261 * <p> 1262 * <b>Definition:</b> 1263 * A unique identifier for the simple observation instance. 1264 * </p> 1265 */ 1266 public IdentifierDt addIdentifier() { 1267 IdentifierDt newType = new IdentifierDt(); 1268 getIdentifier().add(newType); 1269 return newType; 1270 } 1271 1272 /** 1273 * Adds a given new value for <b>identifier</b> (id) 1274 * 1275 * <p> 1276 * <b>Definition:</b> 1277 * A unique identifier for the simple observation instance. 1278 * </p> 1279 * @param theValue The identifier to add (must not be <code>null</code>) 1280 */ 1281 public Observation addIdentifier(IdentifierDt theValue) { 1282 if (theValue == null) { 1283 throw new NullPointerException("theValue must not be null"); 1284 } 1285 getIdentifier().add(theValue); 1286 return this; 1287 } 1288 1289 /** 1290 * Gets the first repetition for <b>identifier</b> (id), 1291 * creating it if it does not already exist. 1292 * 1293 * <p> 1294 * <b>Definition:</b> 1295 * A unique identifier for the simple observation instance. 1296 * </p> 1297 */ 1298 public IdentifierDt getIdentifierFirstRep() { 1299 if (getIdentifier().isEmpty()) { 1300 return addIdentifier(); 1301 } 1302 return getIdentifier().get(0); 1303 } 1304 1305 /** 1306 * Gets the value(s) for <b>status</b> (status). 1307 * creating it if it does 1308 * not exist. Will not return <code>null</code>. 1309 * 1310 * <p> 1311 * <b>Definition:</b> 1312 * The status of the result value 1313 * </p> 1314 */ 1315 public BoundCodeDt<ObservationStatusEnum> getStatusElement() { 1316 if (myStatus == null) { 1317 myStatus = new BoundCodeDt<ObservationStatusEnum>(ObservationStatusEnum.VALUESET_BINDER); 1318 } 1319 return myStatus; 1320 } 1321 1322 1323 /** 1324 * Gets the value(s) for <b>status</b> (status). 1325 * creating it if it does 1326 * not exist. This method may return <code>null</code>. 1327 * 1328 * <p> 1329 * <b>Definition:</b> 1330 * The status of the result value 1331 * </p> 1332 */ 1333 public String getStatus() { 1334 return getStatusElement().getValue(); 1335 } 1336 1337 /** 1338 * Sets the value(s) for <b>status</b> (status) 1339 * 1340 * <p> 1341 * <b>Definition:</b> 1342 * The status of the result value 1343 * </p> 1344 */ 1345 public Observation setStatus(BoundCodeDt<ObservationStatusEnum> theValue) { 1346 myStatus = theValue; 1347 return this; 1348 } 1349 1350 1351 1352 /** 1353 * Sets the value(s) for <b>status</b> (status) 1354 * 1355 * <p> 1356 * <b>Definition:</b> 1357 * The status of the result value 1358 * </p> 1359 */ 1360 public Observation setStatus(ObservationStatusEnum theValue) { 1361 setStatus(new BoundCodeDt<ObservationStatusEnum>(ObservationStatusEnum.VALUESET_BINDER, theValue)); 1362 1363/* 1364 getStatusElement().setValueAsEnum(theValue); 1365*/ 1366 return this; 1367 } 1368 1369 1370 /** 1371 * Gets the value(s) for <b>category</b> (class). 1372 * creating it if it does 1373 * not exist. Will not return <code>null</code>. 1374 * 1375 * <p> 1376 * <b>Definition:</b> 1377 * A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes. 1378 * </p> 1379 */ 1380 public CodeableConceptDt getCategory() { 1381 if (myCategory == null) { 1382 myCategory = new CodeableConceptDt(); 1383 } 1384 return myCategory; 1385 } 1386 1387 /** 1388 * Sets the value(s) for <b>category</b> (class) 1389 * 1390 * <p> 1391 * <b>Definition:</b> 1392 * A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes. 1393 * </p> 1394 */ 1395 public Observation setCategory(CodeableConceptDt theValue) { 1396 myCategory = theValue; 1397 return this; 1398 } 1399 1400 1401 1402 1403 /** 1404 * Gets the value(s) for <b>code</b> (what). 1405 * creating it if it does 1406 * not exist. Will not return <code>null</code>. 1407 * 1408 * <p> 1409 * <b>Definition:</b> 1410 * Describes what was observed. Sometimes this is called the observation \"name\" 1411 * </p> 1412 */ 1413 public CodeableConceptDt getCode() { 1414 if (myCode == null) { 1415 myCode = new CodeableConceptDt(); 1416 } 1417 return myCode; 1418 } 1419 1420 /** 1421 * Sets the value(s) for <b>code</b> (what) 1422 * 1423 * <p> 1424 * <b>Definition:</b> 1425 * Describes what was observed. Sometimes this is called the observation \"name\" 1426 * </p> 1427 */ 1428 public Observation setCode(CodeableConceptDt theValue) { 1429 myCode = theValue; 1430 return this; 1431 } 1432 1433 1434 1435 1436 /** 1437 * Gets the value(s) for <b>subject</b> (who.focus). 1438 * creating it if it does 1439 * not exist. Will not return <code>null</code>. 1440 * 1441 * <p> 1442 * <b>Definition:</b> 1443 * The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. 1444 * </p> 1445 */ 1446 public ResourceReferenceDt getSubject() { 1447 if (mySubject == null) { 1448 mySubject = new ResourceReferenceDt(); 1449 } 1450 return mySubject; 1451 } 1452 1453 /** 1454 * Sets the value(s) for <b>subject</b> (who.focus) 1455 * 1456 * <p> 1457 * <b>Definition:</b> 1458 * The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Comments: Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. 1459 * </p> 1460 */ 1461 public Observation setSubject(ResourceReferenceDt theValue) { 1462 mySubject = theValue; 1463 return this; 1464 } 1465 1466 1467 1468 1469 /** 1470 * Gets the value(s) for <b>encounter</b> (context). 1471 * creating it if it does 1472 * not exist. Will not return <code>null</code>. 1473 * 1474 * <p> 1475 * <b>Definition:</b> 1476 * The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made 1477 * </p> 1478 */ 1479 public ResourceReferenceDt getEncounter() { 1480 if (myEncounter == null) { 1481 myEncounter = new ResourceReferenceDt(); 1482 } 1483 return myEncounter; 1484 } 1485 1486 /** 1487 * Sets the value(s) for <b>encounter</b> (context) 1488 * 1489 * <p> 1490 * <b>Definition:</b> 1491 * The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made 1492 * </p> 1493 */ 1494 public Observation setEncounter(ResourceReferenceDt theValue) { 1495 myEncounter = theValue; 1496 return this; 1497 } 1498 1499 1500 1501 1502 /** 1503 * Gets the value(s) for <b>effective[x]</b> (when.done). 1504 * creating it if it does 1505 * not exist. Will not return <code>null</code>. 1506 * 1507 * <p> 1508 * <b>Definition:</b> 1509 * The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself 1510 * </p> 1511 */ 1512 public IDatatype getEffective() { 1513 return myEffective; 1514 } 1515 1516 /** 1517 * Sets the value(s) for <b>effective[x]</b> (when.done) 1518 * 1519 * <p> 1520 * <b>Definition:</b> 1521 * The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself 1522 * </p> 1523 */ 1524 public Observation setEffective(IDatatype theValue) { 1525 myEffective = theValue; 1526 return this; 1527 } 1528 1529 1530 1531 1532 /** 1533 * Gets the value(s) for <b>issued</b> (when.recorded). 1534 * creating it if it does 1535 * not exist. Will not return <code>null</code>. 1536 * 1537 * <p> 1538 * <b>Definition:</b> 1539 * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. 1540 * </p> 1541 */ 1542 public InstantDt getIssuedElement() { 1543 if (myIssued == null) { 1544 myIssued = new InstantDt(); 1545 } 1546 return myIssued; 1547 } 1548 1549 1550 /** 1551 * Gets the value(s) for <b>issued</b> (when.recorded). 1552 * creating it if it does 1553 * not exist. This method may return <code>null</code>. 1554 * 1555 * <p> 1556 * <b>Definition:</b> 1557 * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. 1558 * </p> 1559 */ 1560 public Date getIssued() { 1561 return getIssuedElement().getValue(); 1562 } 1563 1564 /** 1565 * Sets the value(s) for <b>issued</b> (when.recorded) 1566 * 1567 * <p> 1568 * <b>Definition:</b> 1569 * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. 1570 * </p> 1571 */ 1572 public Observation setIssued(InstantDt theValue) { 1573 myIssued = theValue; 1574 return this; 1575 } 1576 1577 1578 1579 /** 1580 * Sets the value for <b>issued</b> (when.recorded) 1581 * 1582 * <p> 1583 * <b>Definition:</b> 1584 * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. 1585 * </p> 1586 */ 1587 public Observation setIssuedWithMillisPrecision( Date theDate) { 1588 myIssued = new InstantDt(theDate); 1589 return this; 1590 } 1591 1592 /** 1593 * Sets the value for <b>issued</b> (when.recorded) 1594 * 1595 * <p> 1596 * <b>Definition:</b> 1597 * The date and time this observation was made available to providers, typically after the results have been reviewed and verified. 1598 * </p> 1599 */ 1600 public Observation setIssued( Date theDate, TemporalPrecisionEnum thePrecision) { 1601 myIssued = new InstantDt(theDate, thePrecision); 1602 return this; 1603 } 1604 1605 1606 /** 1607 * Gets the value(s) for <b>performer</b> (who.actor). 1608 * creating it if it does 1609 * not exist. Will not return <code>null</code>. 1610 * 1611 * <p> 1612 * <b>Definition:</b> 1613 * Who was responsible for asserting the observed value as \"true\" 1614 * </p> 1615 */ 1616 public java.util.List<ResourceReferenceDt> getPerformer() { 1617 if (myPerformer == null) { 1618 myPerformer = new java.util.ArrayList<ResourceReferenceDt>(); 1619 } 1620 return myPerformer; 1621 } 1622 1623 /** 1624 * Sets the value(s) for <b>performer</b> (who.actor) 1625 * 1626 * <p> 1627 * <b>Definition:</b> 1628 * Who was responsible for asserting the observed value as \"true\" 1629 * </p> 1630 */ 1631 public Observation setPerformer(java.util.List<ResourceReferenceDt> theValue) { 1632 myPerformer = theValue; 1633 return this; 1634 } 1635 1636 1637 1638 /** 1639 * Adds and returns a new value for <b>performer</b> (who.actor) 1640 * 1641 * <p> 1642 * <b>Definition:</b> 1643 * Who was responsible for asserting the observed value as \"true\" 1644 * </p> 1645 */ 1646 public ResourceReferenceDt addPerformer() { 1647 ResourceReferenceDt newType = new ResourceReferenceDt(); 1648 getPerformer().add(newType); 1649 return newType; 1650 } 1651 1652 /** 1653 * Gets the value(s) for <b>value[x]</b> (). 1654 * creating it if it does 1655 * not exist. Will not return <code>null</code>. 1656 * 1657 * <p> 1658 * <b>Definition:</b> 1659 * The information determined as a result of making the observation, if the information has a simple value 1660 * </p> 1661 */ 1662 public IDatatype getValue() { 1663 return myValue; 1664 } 1665 1666 /** 1667 * Sets the value(s) for <b>value[x]</b> () 1668 * 1669 * <p> 1670 * <b>Definition:</b> 1671 * The information determined as a result of making the observation, if the information has a simple value 1672 * </p> 1673 */ 1674 public Observation setValue(IDatatype theValue) { 1675 myValue = theValue; 1676 return this; 1677 } 1678 1679 1680 1681 1682 /** 1683 * Gets the value(s) for <b>dataAbsentReason</b> (). 1684 * creating it if it does 1685 * not exist. Will not return <code>null</code>. 1686 * 1687 * <p> 1688 * <b>Definition:</b> 1689 * Provides a reason why the expected value in the element Observation.value[x] is missing. 1690 * </p> 1691 */ 1692 public CodeableConceptDt getDataAbsentReason() { 1693 if (myDataAbsentReason == null) { 1694 myDataAbsentReason = new CodeableConceptDt(); 1695 } 1696 return myDataAbsentReason; 1697 } 1698 1699 /** 1700 * Sets the value(s) for <b>dataAbsentReason</b> () 1701 * 1702 * <p> 1703 * <b>Definition:</b> 1704 * Provides a reason why the expected value in the element Observation.value[x] is missing. 1705 * </p> 1706 */ 1707 public Observation setDataAbsentReason(CodeableConceptDt theValue) { 1708 myDataAbsentReason = theValue; 1709 return this; 1710 } 1711 1712 1713 1714 1715 /** 1716 * Gets the value(s) for <b>interpretation</b> (). 1717 * creating it if it does 1718 * not exist. Will not return <code>null</code>. 1719 * 1720 * <p> 1721 * <b>Definition:</b> 1722 * The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag. 1723 * </p> 1724 */ 1725 public CodeableConceptDt getInterpretation() { 1726 if (myInterpretation == null) { 1727 myInterpretation = new CodeableConceptDt(); 1728 } 1729 return myInterpretation; 1730 } 1731 1732 /** 1733 * Sets the value(s) for <b>interpretation</b> () 1734 * 1735 * <p> 1736 * <b>Definition:</b> 1737 * The assessment made based on the result of the observation. Intended as a simple compact code often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. Otherwise known as abnormal flag. 1738 * </p> 1739 */ 1740 public Observation setInterpretation(CodeableConceptDt theValue) { 1741 myInterpretation = theValue; 1742 return this; 1743 } 1744 1745 1746 1747 1748 /** 1749 * Gets the value(s) for <b>comments</b> (). 1750 * creating it if it does 1751 * not exist. Will not return <code>null</code>. 1752 * 1753 * <p> 1754 * <b>Definition:</b> 1755 * May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result. 1756 * </p> 1757 */ 1758 public StringDt getCommentsElement() { 1759 if (myComments == null) { 1760 myComments = new StringDt(); 1761 } 1762 return myComments; 1763 } 1764 1765 1766 /** 1767 * Gets the value(s) for <b>comments</b> (). 1768 * creating it if it does 1769 * not exist. This method may return <code>null</code>. 1770 * 1771 * <p> 1772 * <b>Definition:</b> 1773 * May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result. 1774 * </p> 1775 */ 1776 public String getComments() { 1777 return getCommentsElement().getValue(); 1778 } 1779 1780 /** 1781 * Sets the value(s) for <b>comments</b> () 1782 * 1783 * <p> 1784 * <b>Definition:</b> 1785 * May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result. 1786 * </p> 1787 */ 1788 public Observation setComments(StringDt theValue) { 1789 myComments = theValue; 1790 return this; 1791 } 1792 1793 1794 1795 /** 1796 * Sets the value for <b>comments</b> () 1797 * 1798 * <p> 1799 * <b>Definition:</b> 1800 * May include statements about significant, unexpected or unreliable values, or information about the source of the value where this may be relevant to the interpretation of the result. 1801 * </p> 1802 */ 1803 public Observation setComments( String theString) { 1804 myComments = new StringDt(theString); 1805 return this; 1806 } 1807 1808 1809 /** 1810 * Gets the value(s) for <b>bodySite</b> (). 1811 * creating it if it does 1812 * not exist. Will not return <code>null</code>. 1813 * 1814 * <p> 1815 * <b>Definition:</b> 1816 * Indicates the site on the subject's body where the observation was made (i.e. the target site). 1817 * </p> 1818 */ 1819 public CodeableConceptDt getBodySite() { 1820 if (myBodySite == null) { 1821 myBodySite = new CodeableConceptDt(); 1822 } 1823 return myBodySite; 1824 } 1825 1826 /** 1827 * Sets the value(s) for <b>bodySite</b> () 1828 * 1829 * <p> 1830 * <b>Definition:</b> 1831 * Indicates the site on the subject's body where the observation was made (i.e. the target site). 1832 * </p> 1833 */ 1834 public Observation setBodySite(CodeableConceptDt theValue) { 1835 myBodySite = theValue; 1836 return this; 1837 } 1838 1839 1840 1841 1842 /** 1843 * Gets the value(s) for <b>method</b> (). 1844 * creating it if it does 1845 * not exist. Will not return <code>null</code>. 1846 * 1847 * <p> 1848 * <b>Definition:</b> 1849 * Indicates the mechanism used to perform the observation 1850 * </p> 1851 */ 1852 public CodeableConceptDt getMethod() { 1853 if (myMethod == null) { 1854 myMethod = new CodeableConceptDt(); 1855 } 1856 return myMethod; 1857 } 1858 1859 /** 1860 * Sets the value(s) for <b>method</b> () 1861 * 1862 * <p> 1863 * <b>Definition:</b> 1864 * Indicates the mechanism used to perform the observation 1865 * </p> 1866 */ 1867 public Observation setMethod(CodeableConceptDt theValue) { 1868 myMethod = theValue; 1869 return this; 1870 } 1871 1872 1873 1874 1875 /** 1876 * Gets the value(s) for <b>specimen</b> (). 1877 * creating it if it does 1878 * not exist. Will not return <code>null</code>. 1879 * 1880 * <p> 1881 * <b>Definition:</b> 1882 * The specimen that was used when this observation was made 1883 * </p> 1884 */ 1885 public ResourceReferenceDt getSpecimen() { 1886 if (mySpecimen == null) { 1887 mySpecimen = new ResourceReferenceDt(); 1888 } 1889 return mySpecimen; 1890 } 1891 1892 /** 1893 * Sets the value(s) for <b>specimen</b> () 1894 * 1895 * <p> 1896 * <b>Definition:</b> 1897 * The specimen that was used when this observation was made 1898 * </p> 1899 */ 1900 public Observation setSpecimen(ResourceReferenceDt theValue) { 1901 mySpecimen = theValue; 1902 return this; 1903 } 1904 1905 1906 1907 1908 /** 1909 * Gets the value(s) for <b>device</b> (). 1910 * creating it if it does 1911 * not exist. Will not return <code>null</code>. 1912 * 1913 * <p> 1914 * <b>Definition:</b> 1915 * The device used to generate the observation data. 1916 * </p> 1917 */ 1918 public ResourceReferenceDt getDevice() { 1919 if (myDevice == null) { 1920 myDevice = new ResourceReferenceDt(); 1921 } 1922 return myDevice; 1923 } 1924 1925 /** 1926 * Sets the value(s) for <b>device</b> () 1927 * 1928 * <p> 1929 * <b>Definition:</b> 1930 * The device used to generate the observation data. 1931 * </p> 1932 */ 1933 public Observation setDevice(ResourceReferenceDt theValue) { 1934 myDevice = theValue; 1935 return this; 1936 } 1937 1938 1939 1940 1941 /** 1942 * Gets the value(s) for <b>referenceRange</b> (). 1943 * creating it if it does 1944 * not exist. Will not return <code>null</code>. 1945 * 1946 * <p> 1947 * <b>Definition:</b> 1948 * Guidance on how to interpret the value by comparison to a normal or recommended range 1949 * </p> 1950 */ 1951 public java.util.List<ReferenceRange> getReferenceRange() { 1952 if (myReferenceRange == null) { 1953 myReferenceRange = new java.util.ArrayList<ReferenceRange>(); 1954 } 1955 return myReferenceRange; 1956 } 1957 1958 /** 1959 * Sets the value(s) for <b>referenceRange</b> () 1960 * 1961 * <p> 1962 * <b>Definition:</b> 1963 * Guidance on how to interpret the value by comparison to a normal or recommended range 1964 * </p> 1965 */ 1966 public Observation setReferenceRange(java.util.List<ReferenceRange> theValue) { 1967 myReferenceRange = theValue; 1968 return this; 1969 } 1970 1971 1972 1973 /** 1974 * Adds and returns a new value for <b>referenceRange</b> () 1975 * 1976 * <p> 1977 * <b>Definition:</b> 1978 * Guidance on how to interpret the value by comparison to a normal or recommended range 1979 * </p> 1980 */ 1981 public ReferenceRange addReferenceRange() { 1982 ReferenceRange newType = new ReferenceRange(); 1983 getReferenceRange().add(newType); 1984 return newType; 1985 } 1986 1987 /** 1988 * Adds a given new value for <b>referenceRange</b> () 1989 * 1990 * <p> 1991 * <b>Definition:</b> 1992 * Guidance on how to interpret the value by comparison to a normal or recommended range 1993 * </p> 1994 * @param theValue The referenceRange to add (must not be <code>null</code>) 1995 */ 1996 public Observation addReferenceRange(ReferenceRange theValue) { 1997 if (theValue == null) { 1998 throw new NullPointerException("theValue must not be null"); 1999 } 2000 getReferenceRange().add(theValue); 2001 return this; 2002 } 2003 2004 /** 2005 * Gets the first repetition for <b>referenceRange</b> (), 2006 * creating it if it does not already exist. 2007 * 2008 * <p> 2009 * <b>Definition:</b> 2010 * Guidance on how to interpret the value by comparison to a normal or recommended range 2011 * </p> 2012 */ 2013 public ReferenceRange getReferenceRangeFirstRep() { 2014 if (getReferenceRange().isEmpty()) { 2015 return addReferenceRange(); 2016 } 2017 return getReferenceRange().get(0); 2018 } 2019 2020 /** 2021 * Gets the value(s) for <b>related</b> (). 2022 * creating it if it does 2023 * not exist. Will not return <code>null</code>. 2024 * 2025 * <p> 2026 * <b>Definition:</b> 2027 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2028 * </p> 2029 */ 2030 public java.util.List<Related> getRelated() { 2031 if (myRelated == null) { 2032 myRelated = new java.util.ArrayList<Related>(); 2033 } 2034 return myRelated; 2035 } 2036 2037 /** 2038 * Sets the value(s) for <b>related</b> () 2039 * 2040 * <p> 2041 * <b>Definition:</b> 2042 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2043 * </p> 2044 */ 2045 public Observation setRelated(java.util.List<Related> theValue) { 2046 myRelated = theValue; 2047 return this; 2048 } 2049 2050 2051 2052 /** 2053 * Adds and returns a new value for <b>related</b> () 2054 * 2055 * <p> 2056 * <b>Definition:</b> 2057 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2058 * </p> 2059 */ 2060 public Related addRelated() { 2061 Related newType = new Related(); 2062 getRelated().add(newType); 2063 return newType; 2064 } 2065 2066 /** 2067 * Adds a given new value for <b>related</b> () 2068 * 2069 * <p> 2070 * <b>Definition:</b> 2071 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2072 * </p> 2073 * @param theValue The related to add (must not be <code>null</code>) 2074 */ 2075 public Observation addRelated(Related theValue) { 2076 if (theValue == null) { 2077 throw new NullPointerException("theValue must not be null"); 2078 } 2079 getRelated().add(theValue); 2080 return this; 2081 } 2082 2083 /** 2084 * Gets the first repetition for <b>related</b> (), 2085 * creating it if it does not already exist. 2086 * 2087 * <p> 2088 * <b>Definition:</b> 2089 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2090 * </p> 2091 */ 2092 public Related getRelatedFirstRep() { 2093 if (getRelated().isEmpty()) { 2094 return addRelated(); 2095 } 2096 return getRelated().get(0); 2097 } 2098 2099 /** 2100 * Gets the value(s) for <b>component</b> (). 2101 * creating it if it does 2102 * not exist. Will not return <code>null</code>. 2103 * 2104 * <p> 2105 * <b>Definition:</b> 2106 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2107 * </p> 2108 */ 2109 public java.util.List<Component> getComponent() { 2110 if (myComponent == null) { 2111 myComponent = new java.util.ArrayList<Component>(); 2112 } 2113 return myComponent; 2114 } 2115 2116 /** 2117 * Sets the value(s) for <b>component</b> () 2118 * 2119 * <p> 2120 * <b>Definition:</b> 2121 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2122 * </p> 2123 */ 2124 public Observation setComponent(java.util.List<Component> theValue) { 2125 myComponent = theValue; 2126 return this; 2127 } 2128 2129 2130 2131 /** 2132 * Adds and returns a new value for <b>component</b> () 2133 * 2134 * <p> 2135 * <b>Definition:</b> 2136 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2137 * </p> 2138 */ 2139 public Component addComponent() { 2140 Component newType = new Component(); 2141 getComponent().add(newType); 2142 return newType; 2143 } 2144 2145 /** 2146 * Adds a given new value for <b>component</b> () 2147 * 2148 * <p> 2149 * <b>Definition:</b> 2150 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2151 * </p> 2152 * @param theValue The component to add (must not be <code>null</code>) 2153 */ 2154 public Observation addComponent(Component theValue) { 2155 if (theValue == null) { 2156 throw new NullPointerException("theValue must not be null"); 2157 } 2158 getComponent().add(theValue); 2159 return this; 2160 } 2161 2162 /** 2163 * Gets the first repetition for <b>component</b> (), 2164 * creating it if it does not already exist. 2165 * 2166 * <p> 2167 * <b>Definition:</b> 2168 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2169 * </p> 2170 */ 2171 public Component getComponentFirstRep() { 2172 if (getComponent().isEmpty()) { 2173 return addComponent(); 2174 } 2175 return getComponent().get(0); 2176 } 2177 2178 /** 2179 * Block class for child element: <b>Observation.referenceRange</b> () 2180 * 2181 * <p> 2182 * <b>Definition:</b> 2183 * Guidance on how to interpret the value by comparison to a normal or recommended range 2184 * </p> 2185 */ 2186 @Block() 2187 public static class ReferenceRange 2188 extends BaseIdentifiableElement 2189 implements IResourceBlock { 2190 2191 @Child(name="low", type=SimpleQuantityDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2192 @Description( 2193 shortDefinition="", 2194 formalDefinition="The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3)." 2195 ) 2196 private SimpleQuantityDt myLow; 2197 2198 @Child(name="high", type=SimpleQuantityDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2199 @Description( 2200 shortDefinition="", 2201 formalDefinition="The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3)." 2202 ) 2203 private SimpleQuantityDt myHigh; 2204 2205 @Child(name="meaning", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2206 @Description( 2207 shortDefinition="", 2208 formalDefinition="Code for the meaning of the reference range" 2209 ) 2210 private CodeableConceptDt myMeaning; 2211 2212 @Child(name="age", type=RangeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2213 @Description( 2214 shortDefinition="", 2215 formalDefinition="The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so" 2216 ) 2217 private RangeDt myAge; 2218 2219 @Child(name="text", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 2220 @Description( 2221 shortDefinition="", 2222 formalDefinition="Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of 'normals'." 2223 ) 2224 private StringDt myText; 2225 2226 2227 @Override 2228 public boolean isEmpty() { 2229 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLow, myHigh, myMeaning, myAge, myText); 2230 } 2231 2232 @Override 2233 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2234 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLow, myHigh, myMeaning, myAge, myText); 2235 } 2236 2237 /** 2238 * Gets the value(s) for <b>low</b> (). 2239 * creating it if it does 2240 * not exist. Will not return <code>null</code>. 2241 * 2242 * <p> 2243 * <b>Definition:</b> 2244 * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). 2245 * </p> 2246 */ 2247 public SimpleQuantityDt getLow() { 2248 if (myLow == null) { 2249 myLow = new SimpleQuantityDt(); 2250 } 2251 return myLow; 2252 } 2253 2254 /** 2255 * Sets the value(s) for <b>low</b> () 2256 * 2257 * <p> 2258 * <b>Definition:</b> 2259 * The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). 2260 * </p> 2261 */ 2262 public ReferenceRange setLow(SimpleQuantityDt theValue) { 2263 myLow = theValue; 2264 return this; 2265 } 2266 2267 2268 2269 2270 /** 2271 * Gets the value(s) for <b>high</b> (). 2272 * creating it if it does 2273 * not exist. Will not return <code>null</code>. 2274 * 2275 * <p> 2276 * <b>Definition:</b> 2277 * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). 2278 * </p> 2279 */ 2280 public SimpleQuantityDt getHigh() { 2281 if (myHigh == null) { 2282 myHigh = new SimpleQuantityDt(); 2283 } 2284 return myHigh; 2285 } 2286 2287 /** 2288 * Sets the value(s) for <b>high</b> () 2289 * 2290 * <p> 2291 * <b>Definition:</b> 2292 * The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). 2293 * </p> 2294 */ 2295 public ReferenceRange setHigh(SimpleQuantityDt theValue) { 2296 myHigh = theValue; 2297 return this; 2298 } 2299 2300 2301 2302 2303 /** 2304 * Gets the value(s) for <b>meaning</b> (). 2305 * creating it if it does 2306 * not exist. Will not return <code>null</code>. 2307 * 2308 * <p> 2309 * <b>Definition:</b> 2310 * Code for the meaning of the reference range 2311 * </p> 2312 */ 2313 public CodeableConceptDt getMeaning() { 2314 if (myMeaning == null) { 2315 myMeaning = new CodeableConceptDt(); 2316 } 2317 return myMeaning; 2318 } 2319 2320 /** 2321 * Sets the value(s) for <b>meaning</b> () 2322 * 2323 * <p> 2324 * <b>Definition:</b> 2325 * Code for the meaning of the reference range 2326 * </p> 2327 */ 2328 public ReferenceRange setMeaning(CodeableConceptDt theValue) { 2329 myMeaning = theValue; 2330 return this; 2331 } 2332 2333 2334 2335 2336 /** 2337 * Gets the value(s) for <b>age</b> (). 2338 * creating it if it does 2339 * not exist. Will not return <code>null</code>. 2340 * 2341 * <p> 2342 * <b>Definition:</b> 2343 * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so 2344 * </p> 2345 */ 2346 public RangeDt getAge() { 2347 if (myAge == null) { 2348 myAge = new RangeDt(); 2349 } 2350 return myAge; 2351 } 2352 2353 /** 2354 * Sets the value(s) for <b>age</b> () 2355 * 2356 * <p> 2357 * <b>Definition:</b> 2358 * The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so 2359 * </p> 2360 */ 2361 public ReferenceRange setAge(RangeDt theValue) { 2362 myAge = theValue; 2363 return this; 2364 } 2365 2366 2367 2368 2369 /** 2370 * Gets the value(s) for <b>text</b> (). 2371 * creating it if it does 2372 * not exist. Will not return <code>null</code>. 2373 * 2374 * <p> 2375 * <b>Definition:</b> 2376 * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of 'normals'. 2377 * </p> 2378 */ 2379 public StringDt getTextElement() { 2380 if (myText == null) { 2381 myText = new StringDt(); 2382 } 2383 return myText; 2384 } 2385 2386 2387 /** 2388 * Gets the value(s) for <b>text</b> (). 2389 * creating it if it does 2390 * not exist. This method may return <code>null</code>. 2391 * 2392 * <p> 2393 * <b>Definition:</b> 2394 * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of 'normals'. 2395 * </p> 2396 */ 2397 public String getText() { 2398 return getTextElement().getValue(); 2399 } 2400 2401 /** 2402 * Sets the value(s) for <b>text</b> () 2403 * 2404 * <p> 2405 * <b>Definition:</b> 2406 * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of 'normals'. 2407 * </p> 2408 */ 2409 public ReferenceRange setText(StringDt theValue) { 2410 myText = theValue; 2411 return this; 2412 } 2413 2414 2415 2416 /** 2417 * Sets the value for <b>text</b> () 2418 * 2419 * <p> 2420 * <b>Definition:</b> 2421 * Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of 'normals'. 2422 * </p> 2423 */ 2424 public ReferenceRange setText( String theString) { 2425 myText = new StringDt(theString); 2426 return this; 2427 } 2428 2429 2430 2431 2432 } 2433 2434 2435 /** 2436 * Block class for child element: <b>Observation.related</b> () 2437 * 2438 * <p> 2439 * <b>Definition:</b> 2440 * A reference to another resource (usually another Observation but could also be a QuestionnaireAnswer) whose relationship is defined by the relationship type code. 2441 * </p> 2442 */ 2443 @Block() 2444 public static class Related 2445 extends BaseIdentifiableElement 2446 implements IResourceBlock { 2447 2448 @Child(name="type", type=CodeDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2449 @Description( 2450 shortDefinition="", 2451 formalDefinition="A code specifying the kind of relationship that exists with the target resource" 2452 ) 2453 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/observation-relationshiptypes") 2454 private BoundCodeDt<ObservationRelationshipTypeEnum> myType; 2455 2456 @Child(name="target", order=1, min=1, max=1, summary=false, modifier=false, type={ 2457 ca.uhn.fhir.model.dstu2.resource.Observation.class, 2458 ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse.class 2459 }) 2460 @Description( 2461 shortDefinition="", 2462 formalDefinition="A reference to the observation or [[[QuestionnaireResponse]]] resource that is related to this observation" 2463 ) 2464 private ResourceReferenceDt myTarget; 2465 2466 2467 @Override 2468 public boolean isEmpty() { 2469 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myTarget); 2470 } 2471 2472 @Override 2473 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2474 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myTarget); 2475 } 2476 2477 /** 2478 * Gets the value(s) for <b>type</b> (). 2479 * creating it if it does 2480 * not exist. Will not return <code>null</code>. 2481 * 2482 * <p> 2483 * <b>Definition:</b> 2484 * A code specifying the kind of relationship that exists with the target resource 2485 * </p> 2486 */ 2487 public BoundCodeDt<ObservationRelationshipTypeEnum> getTypeElement() { 2488 if (myType == null) { 2489 myType = new BoundCodeDt<ObservationRelationshipTypeEnum>(ObservationRelationshipTypeEnum.VALUESET_BINDER); 2490 } 2491 return myType; 2492 } 2493 2494 2495 /** 2496 * Gets the value(s) for <b>type</b> (). 2497 * creating it if it does 2498 * not exist. This method may return <code>null</code>. 2499 * 2500 * <p> 2501 * <b>Definition:</b> 2502 * A code specifying the kind of relationship that exists with the target resource 2503 * </p> 2504 */ 2505 public String getType() { 2506 return getTypeElement().getValue(); 2507 } 2508 2509 /** 2510 * Sets the value(s) for <b>type</b> () 2511 * 2512 * <p> 2513 * <b>Definition:</b> 2514 * A code specifying the kind of relationship that exists with the target resource 2515 * </p> 2516 */ 2517 public Related setType(BoundCodeDt<ObservationRelationshipTypeEnum> theValue) { 2518 myType = theValue; 2519 return this; 2520 } 2521 2522 2523 2524 /** 2525 * Sets the value(s) for <b>type</b> () 2526 * 2527 * <p> 2528 * <b>Definition:</b> 2529 * A code specifying the kind of relationship that exists with the target resource 2530 * </p> 2531 */ 2532 public Related setType(ObservationRelationshipTypeEnum theValue) { 2533 setType(new BoundCodeDt<ObservationRelationshipTypeEnum>(ObservationRelationshipTypeEnum.VALUESET_BINDER, theValue)); 2534 2535/* 2536 getTypeElement().setValueAsEnum(theValue); 2537*/ 2538 return this; 2539 } 2540 2541 2542 /** 2543 * Gets the value(s) for <b>target</b> (). 2544 * creating it if it does 2545 * not exist. Will not return <code>null</code>. 2546 * 2547 * <p> 2548 * <b>Definition:</b> 2549 * A reference to the observation or [[[QuestionnaireResponse]]] resource that is related to this observation 2550 * </p> 2551 */ 2552 public ResourceReferenceDt getTarget() { 2553 if (myTarget == null) { 2554 myTarget = new ResourceReferenceDt(); 2555 } 2556 return myTarget; 2557 } 2558 2559 /** 2560 * Sets the value(s) for <b>target</b> () 2561 * 2562 * <p> 2563 * <b>Definition:</b> 2564 * A reference to the observation or [[[QuestionnaireResponse]]] resource that is related to this observation 2565 * </p> 2566 */ 2567 public Related setTarget(ResourceReferenceDt theValue) { 2568 myTarget = theValue; 2569 return this; 2570 } 2571 2572 2573 2574 2575 2576 2577 } 2578 2579 2580 /** 2581 * Block class for child element: <b>Observation.component</b> () 2582 * 2583 * <p> 2584 * <b>Definition:</b> 2585 * Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. 2586 * </p> 2587 */ 2588 @Block() 2589 public static class Component 2590 extends BaseIdentifiableElement 2591 implements IResourceBlock { 2592 2593 @Child(name="code", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2594 @Description( 2595 shortDefinition="what", 2596 formalDefinition="Describes what was observed. Sometimes this is called the observation \"code\"" 2597 ) 2598 private CodeableConceptDt myCode; 2599 2600 @Child(name="value", order=1, min=0, max=1, summary=true, modifier=false, type={ 2601 QuantityDt.class, 2602 CodeableConceptDt.class, 2603 StringDt.class, 2604 RangeDt.class, 2605 RatioDt.class, 2606 SampledDataDt.class, 2607 AttachmentDt.class, 2608 TimeDt.class, 2609 DateTimeDt.class, 2610 PeriodDt.class 2611 }) 2612 @Description( 2613 shortDefinition="", 2614 formalDefinition="The information determined as a result of making the observation, if the information has a simple value" 2615 ) 2616 private IDatatype myValue; 2617 2618 @Child(name="dataAbsentReason", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2619 @Description( 2620 shortDefinition="", 2621 formalDefinition="Provides a reason why the expected value in the element Observation.value[x] is missing." 2622 ) 2623 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-observation-valueabsentreason") 2624 private CodeableConceptDt myDataAbsentReason; 2625 2626 @Child(name="referenceRange", type=ReferenceRange.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2627 @Description( 2628 shortDefinition="", 2629 formalDefinition="Guidance on how to interpret the value by comparison to a normal or recommended range" 2630 ) 2631 private java.util.List<ReferenceRange> myReferenceRange; 2632 2633 2634 @Override 2635 public boolean isEmpty() { 2636 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myValue, myDataAbsentReason, myReferenceRange); 2637 } 2638 2639 @Override 2640 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2641 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myValue, myDataAbsentReason, myReferenceRange); 2642 } 2643 2644 /** 2645 * Gets the value(s) for <b>code</b> (what). 2646 * creating it if it does 2647 * not exist. Will not return <code>null</code>. 2648 * 2649 * <p> 2650 * <b>Definition:</b> 2651 * Describes what was observed. Sometimes this is called the observation \"code\" 2652 * </p> 2653 */ 2654 public CodeableConceptDt getCode() { 2655 if (myCode == null) { 2656 myCode = new CodeableConceptDt(); 2657 } 2658 return myCode; 2659 } 2660 2661 /** 2662 * Sets the value(s) for <b>code</b> (what) 2663 * 2664 * <p> 2665 * <b>Definition:</b> 2666 * Describes what was observed. Sometimes this is called the observation \"code\" 2667 * </p> 2668 */ 2669 public Component setCode(CodeableConceptDt theValue) { 2670 myCode = theValue; 2671 return this; 2672 } 2673 2674 2675 2676 2677 /** 2678 * Gets the value(s) for <b>value[x]</b> (). 2679 * creating it if it does 2680 * not exist. Will not return <code>null</code>. 2681 * 2682 * <p> 2683 * <b>Definition:</b> 2684 * The information determined as a result of making the observation, if the information has a simple value 2685 * </p> 2686 */ 2687 public IDatatype getValue() { 2688 return myValue; 2689 } 2690 2691 /** 2692 * Sets the value(s) for <b>value[x]</b> () 2693 * 2694 * <p> 2695 * <b>Definition:</b> 2696 * The information determined as a result of making the observation, if the information has a simple value 2697 * </p> 2698 */ 2699 public Component setValue(IDatatype theValue) { 2700 myValue = theValue; 2701 return this; 2702 } 2703 2704 2705 2706 2707 /** 2708 * Gets the value(s) for <b>dataAbsentReason</b> (). 2709 * creating it if it does 2710 * not exist. Will not return <code>null</code>. 2711 * 2712 * <p> 2713 * <b>Definition:</b> 2714 * Provides a reason why the expected value in the element Observation.value[x] is missing. 2715 * </p> 2716 */ 2717 public CodeableConceptDt getDataAbsentReason() { 2718 if (myDataAbsentReason == null) { 2719 myDataAbsentReason = new CodeableConceptDt(); 2720 } 2721 return myDataAbsentReason; 2722 } 2723 2724 /** 2725 * Sets the value(s) for <b>dataAbsentReason</b> () 2726 * 2727 * <p> 2728 * <b>Definition:</b> 2729 * Provides a reason why the expected value in the element Observation.value[x] is missing. 2730 * </p> 2731 */ 2732 public Component setDataAbsentReason(CodeableConceptDt theValue) { 2733 myDataAbsentReason = theValue; 2734 return this; 2735 } 2736 2737 2738 2739 2740 /** 2741 * Gets the value(s) for <b>referenceRange</b> (). 2742 * creating it if it does 2743 * not exist. Will not return <code>null</code>. 2744 * 2745 * <p> 2746 * <b>Definition:</b> 2747 * Guidance on how to interpret the value by comparison to a normal or recommended range 2748 * </p> 2749 */ 2750 public java.util.List<ReferenceRange> getReferenceRange() { 2751 if (myReferenceRange == null) { 2752 myReferenceRange = new java.util.ArrayList<ReferenceRange>(); 2753 } 2754 return myReferenceRange; 2755 } 2756 2757 /** 2758 * Sets the value(s) for <b>referenceRange</b> () 2759 * 2760 * <p> 2761 * <b>Definition:</b> 2762 * Guidance on how to interpret the value by comparison to a normal or recommended range 2763 * </p> 2764 */ 2765 public Component setReferenceRange(java.util.List<ReferenceRange> theValue) { 2766 myReferenceRange = theValue; 2767 return this; 2768 } 2769 2770 2771 2772 /** 2773 * Adds and returns a new value for <b>referenceRange</b> () 2774 * 2775 * <p> 2776 * <b>Definition:</b> 2777 * Guidance on how to interpret the value by comparison to a normal or recommended range 2778 * </p> 2779 */ 2780 public ReferenceRange addReferenceRange() { 2781 ReferenceRange newType = new ReferenceRange(); 2782 getReferenceRange().add(newType); 2783 return newType; 2784 } 2785 2786 /** 2787 * Adds a given new value for <b>referenceRange</b> () 2788 * 2789 * <p> 2790 * <b>Definition:</b> 2791 * Guidance on how to interpret the value by comparison to a normal or recommended range 2792 * </p> 2793 * @param theValue The referenceRange to add (must not be <code>null</code>) 2794 */ 2795 public Component addReferenceRange(ReferenceRange theValue) { 2796 if (theValue == null) { 2797 throw new NullPointerException("theValue must not be null"); 2798 } 2799 getReferenceRange().add(theValue); 2800 return this; 2801 } 2802 2803 /** 2804 * Gets the first repetition for <b>referenceRange</b> (), 2805 * creating it if it does not already exist. 2806 * 2807 * <p> 2808 * <b>Definition:</b> 2809 * Guidance on how to interpret the value by comparison to a normal or recommended range 2810 * </p> 2811 */ 2812 public ReferenceRange getReferenceRangeFirstRep() { 2813 if (getReferenceRange().isEmpty()) { 2814 return addReferenceRange(); 2815 } 2816 return getReferenceRange().get(0); 2817 } 2818 2819 2820 2821 } 2822 2823 2824 2825 2826 @Override 2827 public String getResourceName() { 2828 return "Observation"; 2829 } 2830 2831 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2832 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2833 } 2834 2835 2836}