Observation
Observation is the most frequently used FHIR resource. Anything measured or asserted about a patient — a blood glucose reading, a blood pressure, a body weight, a lab result — is an Observation.
What Observation represents
An Observation captures a single measurement or finding at a point in time. It answers: what was measured, on whom, when, and what was the result?
The resource covers a wide range of use cases. Vital signs (blood pressure, temperature, weight), laboratory results (glucose, haemoglobin), clinical scores (Glasgow Coma Scale), social history (smoking status), and imaging findings are all modelled as Observations in FHIR R4.
One Observation = one measurement. Blood pressure is the classic exception — it uses two components (systolic and diastolic) within a single Observation, because the two values are always taken together and interpreted together.
Minimal Observation (JSON)
{
"resourceType": "Observation",
"id": "obs-glucose-001",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "laboratory"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "2339-0",
"display": "Glucose [Mass/volume] in Blood"
}]
},
"subject": { "reference": "Patient/patient-001" },
"effectiveDateTime": "2026-06-06T08:30:00Z",
"valueQuantity": {
"value": 7.8,
"unit": "mmol/L",
"system": "http://unitsofmeasure.org",
"code": "mmol/L"
}
}Key elements
status
Lifecycle of the observation. Most observations are final. Common values: registered → preliminary → final → amended. Cancelled if the test was ordered but not performed.
category
Classifies the type of observation. Standard categories: vital-signs, laboratory, imaging, social-history, survey, exam. Used for filtering — e.g. GET /Observation?category=vital-signs.
code
What was measured. Coded with LOINC (preferred for labs and vitals), SNOMED CT, or local codes. The code determines how the observation is interpreted — without it, a result number has no meaning.
subject
Who was observed — almost always a reference to a Patient. Can also be Group, Device, or Location for non-clinical observations.
effective[x]
When the observation was made. Polymorphic: effectiveDateTime (single point), effectivePeriod (interval), effectiveTiming, effectiveInstant. Most lab results use effectiveDateTime.
value[x]
The result. Polymorphic: valueQuantity (number + unit), valueCodeableConcept (coded result like 'positive'), valueString (free text), valueBoolean, valueRange (min–max). Blood pressure uses component[] instead of value[x].
component
Sub-measurements within a single observation. Used for blood pressure: systolic (LOINC 8480-6) and diastolic (LOINC 8462-4) are both components of a blood pressure panel (LOINC 55284-4).
Blood pressure with component[]
Blood pressure is measured as two values simultaneously. FHIR models this as one Observation with two components — not two separate Observations. The parent code is the blood pressure panel; each component has its own LOINC code and value.
{
"resourceType": "Observation",
"status": "final",
"category": [{ "coding": [{ "code": "vital-signs" }] }],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "55284-4",
"display": "Blood pressure systolic and diastolic"
}]
},
"subject": { "reference": "Patient/patient-001" },
"effectiveDateTime": "2026-06-06T09:00:00Z",
"component": [
{
"code": {
"coding": [{ "system": "http://loinc.org", "code": "8480-6", "display": "Systolic" }]
},
"valueQuantity": { "value": 138, "unit": "mm[Hg]", "system": "http://unitsofmeasure.org" }
},
{
"code": {
"coding": [{ "system": "http://loinc.org", "code": "8462-4", "display": "Diastolic" }]
},
"valueQuantity": { "value": 88, "unit": "mm[Hg]", "system": "http://unitsofmeasure.org" }
}
]
}LOINC codes in practice
LOINC (Logical Observation Identifiers Names and Codes) is the standard coding system for laboratory and clinical observations. Every lab test and vital sign has a LOINC code. FHIR requires the LOINC system URI: http://loinc.org.
| LOINC | Name | Unit | Category |
|---|---|---|---|
| 29463-7 | Body weight | kg | vital-signs |
| 8310-5 | Body temperature | Cel | vital-signs |
| 55284-4 | Blood pressure panel | — | vital-signs |
| 8480-6 | Systolic BP | mm[Hg] | vital-signs |
| 8462-4 | Diastolic BP | mm[Hg] | vital-signs |
| 2339-0 | Blood glucose | mmol/L | laboratory |
| 718-7 | Haemoglobin | g/dL | laboratory |