← Core Resources
Track 1 — FHIR Fundamentals

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.

LOINCNameUnitCategory
29463-7Body weightkgvital-signs
8310-5Body temperatureCelvital-signs
55284-4Blood pressure panelvital-signs
8480-6Systolic BPmm[Hg]vital-signs
8462-4Diastolic BPmm[Hg]vital-signs
2339-0Blood glucosemmol/Llaboratory
718-7Haemoglobing/dLlaboratory

See also