Skip to main content
An Observation resource records one measurement or one finding about the patient. Observations hold what the clinician measured or saw. The interpretation, such as a diagnosis, goes into a Condition. The resource follows the FHIR R4 Observation specification, and each field name below links to its R4 definition.
If you already receive lab results or vital signs as structured data, use that source and turn off the laboratory and vital-signs categories. A value copied into a note can be wrong or out of date. See Reduce extraction errors.

One Observation per value

Each number or finding gets its own Observation. A blood pressure of “150/90” becomes two Observations, one systolic and one diastolic. A panel such as “Na 139, K 4.1” becomes one Observation per analyte. The endpoint does not use the FHIR component field.

Measurements and findings

Every Observation is one of two kinds. The kind decides which coding system code uses, and where the result goes. Read it as a question and an answer. For a measurement, code asks “what is the HbA1c?” and the value answers “7.2 %”. For a finding, code names the finding, “heart murmur”, and the value says whether the clinician found it: “absent”.

Same topic, different kinds

A single topic can produce both kinds. The wording in the note decides:
When you read an Observation, check the value field before you use code. A finding Observation with the value Absent means the patient does not have that finding. Code 88610006 Heart murmur on its own does not mean the patient has a murmur.
A finding names the finding in positive form, with presence or absence in the value. “No acute hemorrhage” becomes the code for intracranial hemorrhage, with the value Absent, not a code meaning “no hemorrhage”.

Normal and absent findings

Findings let you record what the clinician did not find. A list of codes has no way to say “no murmur”. An Observation does:

Categories

The endpoint sorts every Observation into one of seven categories. Some categories only hold measurements, one only holds findings, and three hold both: This matters for filtering. A LOINC filter on social-history only affects the measurements in that category. To restrict the findings, add a SNOMED CT filter.

Fields

Units

A unit comes from the note, or from a fixed default for a few common measurements. For example, a heart rate written without a unit gets beats/min, and a temperature of 37.2 gets °C. The endpoint does not guess an ambiguous unit: “weight 180” keeps no unit. Every unit uses system: "http://unitsofmeasure.org" (UCUM). The unit is the text as the note writes it, and the Quantity carries no UCUM code.

Codes the endpoint can assign

The endpoint only searches a fixed part of each coding system for each field. A code outside that part never appears, and a filter can only narrow the part further, never widen it. Codes come from a fixed scope explains why. The allowed codes depend on the category, and on whether the Observation is a measurement or a finding: What the short names mean: category, status, and interpretation use the fixed HL7 value sets listed under Fields.

Examples

Lab result

The earlier value of 6.8 % gets its own laboratory Observation. It has no effectiveDateTime, because the note does not say when the lab measured it.

Exam finding

“Regular rhythm” is a separate finding, so it gets its own exam Observation. For a vital-sign example with two Observations for one blood pressure, see the full response in Extract FHIR resources.

Next steps

Procedure resource group

Learn how surgery, therapy, and other interventions look in FHIR.

Filter FHIR resources

Turn off the Observation categories you already have.