Observation
| Maturity Level | Security Category | Resource Category |
|---|---|---|
| Normative | Patient | Clinical |
Measurements and simple assertions made about a patient, device or other subject.
Resource Content
Name | Required | Type | Description & Constraints |
|---|---|---|---|
| identifier | Identifier | Business Identifier for observation | |
| basedOn | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | |
| partOf | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | |
| status | ✓ | code | registered | preliminary | final | amended + |
| category | CodeableConcept | Classification of type of observation | |
| code | ✓ | CodeableConcept | Type of observation (code / type) |
| subject | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about | |
| focus | Reference(Any) | What the observation is about, when it is not about the subject of record | |
| encounter | Reference(Encounter) | Healthcare event during which this observation is made | |
| effective[x] | * | Clinically relevant time/time-period for observation | |
| └─ effectiveDateTime | dateTime | Date/time of observation | |
| └─ effectivePeriod | Period | Period of observation | |
| └─ effectiveTiming | Timing | Timing of observation | |
| └─ effectiveInstant | instant | Instant of observation | |
| issued | instant | Date/Time this version was made available | |
| performer | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | |
| value[x] | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period | Actual result* | |
| dataAbsentReason | CodeableConcept | Why the result is missing | |
| interpretation | CodeableConcept | High, low, normal, etc. | |
| note | Annotation | Comments about the observation | |
| bodySite | CodeableConcept | Observed body part | |
| method | CodeableConcept | How it was done | |
| specimen | Reference(Specimen) | Specimen used for this observation | |
| device | Reference(Device | DeviceMetric) | (Measurement) Device | |
| referenceRange | * | Provides guide for interpretation | |
| └─ low | Quantity | Low Range | |
| └─ high | Quantity | High Range | |
| └─ type | CodeableConcept | Reference range qualifier | |
| └─ appliesTo | * | Reference range population | |
| └─ age | Range | Applicable age range | |
| └─ text | string | Text based reference range | |
| hasMember | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | |
| derivedFrom | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | |
| component | * | Component results | |
| └─ code | CodeableConcept | Type of component observation | |
| └─ value[x] | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period | Actual component result* | |
| └─ dataAbsentReason | CodeableConcept | Why the component result is missing | |
| └─ interpretation | CodeableConcept | High, low, normal, etc. | |
| └─ referenceRange | * | Provides guide for interpretation of component result | |
| signature | Signature | Digital Signature |
Search Parameters
| Name | Type | Description | Expression |
|---|---|---|---|
| code | token | The code of the observation type | Observation.code |
| date | date | Obtained date/time. If the obtained element is a period, a date that falls in the period | Observation.effective |
| identifier | token | The unique id for a particular observation | Observation.identifier |
| patient | reference | The subject that the observation is about (if patient) | Observation.subject.where(resolve() is Patient) |
| encounter | reference | Encounter related to the observation | Observation.encounter |
| based-on | reference | Reference to the service request. | Observation.basedOn |
| category | token | The classification of the type of observation | Observation.category |
| combo-code | token | The code of the observation type or component type | Observation.code | Observation.component.code |
| combo-data-absent-reason | token | The reason why the expected value in the element Observation.value[x] or Observation.component.value[x] is missing. | Observation.dataAbsentReason | Observation.component.dataAbsentReason |
| combo-value-concept | token | The value or component value of the observation, if the value is a CodeableConcept | Observation.value as CodeableConcept | Observation.component.value as CodeableConcept |
| combo-value-quantity | quantity | The value or component value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data) | Observation.value as Quantity | Observation.value as SampledData | Observation.component.value as Quantity | Observation.component.value as SampledData |
| component-code | token | The component code of the observation type | Observation.component.code |
| component-data-absent-reason | token | The reason why the expected value in the element Observation.component.value[x] is missing. | Observation.component.dataAbsentReason |
| component-value-concept | token | The value of the component observation, if the value is a CodeableConcept | Observation.component.value as CodeableConcept |
| component-value-quantity | quantity | 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) | Observation.component.value as Quantity | Observation.component.value as SampledData |
| data-absent-reason | token | The reason why the expected value in the element Observation.value[x] is missing. | Observation.dataAbsentReason |
| derived-from | reference | Related measurements the observation is made from | Observation.derivedFrom |
| device | reference | The Device that generated the observation data. | Observation.device |
| focus | reference | The focus of an observation when the focus is not the patient of record. | Observation.focus |
| has-member | reference | Related resource that belongs to the Observation group | Observation.hasMember |
| method | token | The method used for the observation | Observation.method |
| part-of | reference | Part of referenced event | Observation.partOf |
| performer | reference | Who performed the observation | Observation.performer |
| specimen | reference | Specimen used for this observation | Observation.specimen |
| status | token | The status of the observation | Observation.status |
| subject | reference | The subject that the observation is about | Observation.subject |
| value-concept | token | The value of the observation, if the value is a CodeableConcept | Observation.value as CodeableConcept |
| value-date | date | The value of the observation, if the value is a date or period of time | Observation.value as dateTime | Observation.value as Period |
| value-quantity | quantity | 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) | Observation.value as Quantity | Observation.value as SampledData |
| value-string | string | The value of the observation, if the value is a string, and also searches in CodeableConcept.text | Observation.value as string | Observation.value as CodeableConcept.text |
| code-value-concept | composite | Code and coded value parameter pair | Observation |
| code-value-date | composite | Code and date/time value parameter pair | Observation |
| code-value-quantity | composite | Code and quantity value parameter pair | Observation |
| code-value-string | composite | Code and string value parameter pair | Observation |
| combo-code-value-concept | composite | Code and coded value parameter pair, including in components | Observation.component |
| combo-code-value-quantity | composite | Code and quantity value parameter pair, including in components | Observation.component |
| component-code-value-concept | composite | Component code and component coded value parameter pair | Observation.component |
| component-code-value-quantity | composite | Component code and component quantity value parameter pair | Observation.component |
Scope and Usage
Observations are a central element in healthcare, used to support diagnosis, monitor progress, determine baselines and patterns and even capture demographic characteristics. Most observations are simple name/value pair assertions with some metadata, but some observations group other observations together logically, or even are multi-component observations.
Common Use Cases
- Vital Signs
- Body weight
- Blood pressure
- Temperature
- Laboratory Data
- Blood glucose
- Estimated GFR
- Imaging Results
- Bone density
- Fetal measurements
- Clinical Findings*
- Abdominal tenderness
- Device Measurements
- EKG data
- Pulse Oximetry data
- Clinical Assessment Tools
- APGAR score
- Glasgow Coma Score
- Personal and Social Information
- Personal characteristics (e.g., eye color)
- Social history (e.g., tobacco use, family support)
- Core characteristics (e.g., pregnancy status, death assertion)
*Note: The boundaries between clinical findings and disorders remains a challenge in medical ontology. These boundaries can be clarified by profiling Observation for a particular use case.
Boundaries and Relationships
Primary Purpose
- Observation is intended for capturing measurements and subjective point-in-time assessments
- Supports name-value pairs or structured collections of name-value pairs
Related Resources
Instead of Observation, use these specialized resources when appropriate:
| Resource Type | Use Case |
|---|---|
| AllergyIntolerance | Patient allergies |
| MedicationStatement | Medications taken by patient |
| FamilyMemberHistory | Patient's family history |
| Procedure | Procedure information |
| QuestionnaireResponse | Answers to questions |
| Condition | Clinical diagnoses |
| ClinicalImpression | Clinical assessments |
| Media | Audio, video, or image data |
| DiagnosticReport | Laboratory, pathology, and imaging reports |
Special Considerations
Relationship with DiagnosticReport
- DiagnosticReport provides clinical context for a set of observations
- DiagnosticReport includes:
- Additional clinical context
- Atomic results
- Images and imaging reports
- Textual and coded interpretation
- Formatted representations
- Observation is referenced by DiagnosticReport for atomic results
Edge Cases
-
Overlapping Scenarios
- Some data could fit multiple resources (e.g., illicit drug use could be MedicationStatement or Observation)
- Convention and common practice often guide the choice
-
Legacy Data
- When importing HL7 v2 data, specialized observations may appear in this resource due to limited source information
- This is considered appropriate use of Observation
-
Implementation Guidance
- If uncertain about appropriate use, consult with implementers on chat.fhir.org implementer's stream
Referenced Elements
This resource is referenced by:
- AdverseEvent
- Appointment
- CarePlan
- ChargeItem
- ClinicalImpression
- Communication
- CommunicationRequest
- Condition
- Contract
- DeviceRequest
- DeviceUseStatement
- DiagnosticReport
- Encounter
- FamilyMemberHistory
- Goal
- GuidanceResponse
- ImagingStudy
- Immunization
- MedicationAdministration
- MedicationRequest
- MedicationStatement
- MolecularSequence
- Observation
- Procedure
- QuestionnaireResponse
- RequestGroup
- RiskAssessment
- ServiceRequest
- SupplyRequest