FHIR

FHIR Observation explained: how a lab result or a vital sign is stored, with an example

The Observation is the FHIR resource for measurements: lab results, vital signs, symptoms, scores. Its key elements (status, category, code, subject, effective, value, referenceRange, interpretation), a valid FHIR R4 JSON example for HbA1c and the mistakes that break interoperability.

by Published 2 min read

Short answer: In HL7 FHIR, an Observation is one measurement or finding about a patient: a lab value, a blood pressure, a heart rate, a symptom score. It says what was measured (a code, usually LOINC), about whom, when, and the result with its unit, plus the lab's reference range and an interpretation flag if there is one.

The elements that matter

  • status: final, preliminary, amended, cancelled, entered-in-error.
  • category: laboratory, vital-signs, survey, imaging, and so on.
  • code: what was measured, as a CodeableConcept, usually with a LOINC coding.
  • subject: the Patient.
  • effective[x]: when the measurement applies (for a lab, when the sample was taken).
  • value[x]: the result, most often a Quantity with value, unit, UCUM system and code; sometimes a CodeableConcept or a string.
  • referenceRange: low and high from the lab.
  • interpretation: H, L, N and so on.
  • component: for measurements with several parts, such as systolic and diastolic blood pressure.

Example: HbA1c in FHIR R4

{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "4548-4", "display": "Hemoglobin A1c/Hemoglobin.total in Blood"}], "text": "HbA1c"},
  "subject": {"reference": "Patient/example"},
  "effectiveDateTime": "2026-10-20T08:15:00+02:00",
  "valueQuantity": {"value": 5.6, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"},
  "referenceRange": [{"low": {"value": 4.0, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"}, "high": {"value": 5.6, "unit": "%", "system": "http://unitsofmeasure.org", "code": "%"}}]
}

Mistakes that break interoperability

  • A local code without a LOINC coding: other systems cannot recognise the test.
  • A unit as free text ("mg/dl ") instead of a UCUM code: values cannot be converted or compared. See UCUM units.
  • The time of the report used as effective time instead of the sample time.
  • Blood pressure stored as two separate Observations instead of one with two components (LOINC 85354-9 panel with 8480-6 and 8462-4).

In Anpheros

Every lab value and measurement in Anpheros is an Observation like the one above, with its LOINC code and UCUM unit, which is how results from different labs land on one chart. Developers can read and write them through the API: see the lab results API and importing lab results to FHIR.

Sources

Frequently asked questions

What is a FHIR Observation?

The FHIR resource for one measurement or finding about a patient: a lab value, a vital sign, a score.

Should the code be LOINC?

For lab results and vital signs, yes in practice: profiles such as US Core and the IPS require LOINC.

How is blood pressure stored in FHIR?

As one Observation (LOINC 85354-9) with two components: systolic (8480-6) and diastolic (8462-4).

What is the difference between Observation and DiagnosticReport?

An Observation is one result; a DiagnosticReport groups the results of a test or panel and the conclusion. See DocumentReference vs DiagnosticReport.

Anpheros Platform

Try it free in the sandbox

Your first FHIR call in 5 minutes. An HL7 FHIR R4 API with the patient's consent built in: try it in the sandbox, then connect your own app or clinic system.

Free · 30 synthetic patients · no card

This guide is for information and does not replace medical advice. For decisions about your health, talk to your doctor. In an emergency, call your local emergency number (112 in Europe).
Written by
The Anpheros team

Anpheros builds a medical record that the patient controls and can share with any clinic, on an HL7 FHIR R4 platform, based in the EU. These guides help you understand and organise your health; they do not replace your doctor.

About Anpheros →
Anpheros

The more you log, the clearer your record

Your health history in one place, under your control.

Symptom diaryPatterns show over time
Emergency cardQR in your phone's Wallet
All your resultsLabs and reports together
You decideWho sees what, and for how long
Create your free account

Free · Works in your browser · No card