> ## Documentation Index
> Fetch the complete documentation index at: https://docs.connectivehealth.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Observation

> The FHIR Observation resource as produced by Connective Health

[FHIR R4 Observation](https://www.hl7.org/fhir/R4/observation.html) ·
[US Core Laboratory Result Observation](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-observation-lab.html) ·
[US Core Vital Signs](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-vital-signs.html) ·
[US Core Clinical Result Observation](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-observation-clinical-result.html)

<Info>
  `Observation` covers **three** distinct kinds of data in the [Patient Everything](/fhir/patient-everything-bundle)
  and [Patient Summary](/fhir/patient-summary-bundle) bundles -- laboratory results, vital signs, and the findings
  contained inside a [DiagnosticReport](/fhir/resources/diagnostic-report). Each uses a different US Core profile
  and is documented separately below. It is not produced for
  [Bulk Medication History](/fhir/bulk-medication-history-bundle).
</Info>

# Usage 1: Laboratory results

Laboratory `Observation` resources are top-level entries in the bundle, and are produced identically for both bundles.

## Stable ID

The `id` is derived from the patient, the result date, the result code, the value, the unit, and the reference range
(low, high, and text).

## Fields

| Field               | Cardinality | Notes                                                                                                                                                               |
| ------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `meta.profile`      | 1..1        | Always set to the US Core Laboratory Result Observation profile URL.                                                                                                |
| `status`            | 1..1        | Always `final`.                                                                                                                                                     |
| `category`          | 1..1        | Always `laboratory` from the [observation-category](http://terminology.hl7.org/CodeSystem/observation-category) system.                                             |
| `subject`           | 1..1        | Reference to the [Patient](/fhir/resources/patient).                                                                                                                |
| `effectiveDateTime` | 1..1        | The result date.                                                                                                                                                    |
| `code`              | 1..2        | The result's own coding, plus a second coding for the Connective Health panel classification when one applies -- see [Panel classification](#panel-classification). |
| `value[x]`          | 0..1        | See [Result values](#result-values).                                                                                                                                |
| `referenceRange`    | 0..1        | See [Reference ranges](#reference-ranges).                                                                                                                          |
| `performer`         | 0..1        | Contained [PractitionerRole](/fhir/resources/practitioner-role) built from the result's provider and performing facility. Omitted when neither is known.            |

<Note>
  `interpretation`, `specimen`, `issued`, and `note` are not populated.
</Note>

## Result values

| Source data                                     | Published as                                                                                                                                           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| A value **with** a unit                         | `valueQuantity`, with the value and unit normalized to [UCUM](http://unitsofmeasure.org). The original unit text is preserved in `valueQuantity.unit`. |
| A value with **no** unit                        | `valueString`, carrying the raw source text -- this covers qualitative results such as `POSITIVE` or `NEGATIVE`.                                       |
| A value whose unit cannot be normalized to UCUM | Nothing. `value[x]` is left unset rather than published with an invalid unit.                                                                          |

## Reference ranges

| Source data                          | Published as                                                                                             |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| A numeric low **and** a numeric high | `referenceRange.low` and `referenceRange.high` as quantities.                                            |
| A non-numeric or single-sided range  | `referenceRange.text`, carrying the raw source text -- this covers ranges such as `< 5.0` or `NEGATIVE`. |
| Neither                              | Nothing. `referenceRange` is omitted.                                                                    |

## Panel classification

Where a result belongs to a Connective Health panel grouping, that grouping is published as an additional coding on
`code` using the `http://connectivehealth.io/fhir/panel-classification` system. This is a Connective Health
terminology, not a standard one, and is additive -- the result's own standard coding is always present as well.

# Usage 2: Vital signs

Vital sign `Observation` resources are top-level entries in the bundle, and are produced identically for both bundles.

<Warning>
  Only the vital signs in the table below are published. A vital sign recorded under any other
  [LOINC](http://loinc.org) code, or with no value or no date, is **not** included in either bundle.
</Warning>

| Vital sign           | LOINC code          | Additional US Core profile                                                                                      |
| -------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------- |
| Blood pressure panel | `85354-9`           | [US Core Blood Pressure](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-blood-pressure.html)     |
| Body height          | `8302-2`            | [US Core Body Height](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-body-height.html)           |
| Body weight          | `29463-7`           | [US Core Body Weight](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-body-weight.html)           |
| Body temperature     | `8310-5`            | [US Core Body Temperature](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-body-temperature.html) |
| Body mass index      | `39156-5`           | [US Core BMI](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-bmi.html)                           |
| Heart rate           | `8867-4`            | [US Core Heart Rate](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-heart-rate.html)             |
| Respiratory rate     | `9279-1`            | [US Core Respiratory Rate](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-respiratory-rate.html) |
| Oxygen saturation    | `2708-6`, `59408-5` | [US Core Pulse Oximetry](https://hl7.org/fhir/us/core/STU9/StructureDefinition-us-core-pulse-oximetry.html)     |

## Stable ID

The `id` is derived from the patient, the observation date, the vital sign code, the value, and the unit.

## Fields

| Field               | Cardinality | Notes                                                                                                                                                                                                                                                |
| ------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `meta.profile`      | 2..2        | Always **two** profiles: the US Core Vital Signs profile, plus the specific profile for that vital sign from the table above.                                                                                                                        |
| `status`            | 1..1        | Always `final`.                                                                                                                                                                                                                                      |
| `category`          | 1..1        | Always `vital-signs` from the [observation-category](http://terminology.hl7.org/CodeSystem/observation-category) system.                                                                                                                             |
| `subject`           | 1..1        | Reference to the [Patient](/fhir/resources/patient).                                                                                                                                                                                                 |
| `effectiveDateTime` | 1..1        | The observation date. Vital signs with no date are excluded entirely.                                                                                                                                                                                |
| `code`              | 1..1        | The vital sign's LOINC coding. For a blood pressure panel this is fixed to LOINC `85354-9`, "Blood pressure panel with all children optional".                                                                                                       |
| `valueQuantity`     | 0..1        | The measured value, normalized to [UCUM](http://unitsofmeasure.org), with the source unit preserved in `valueQuantity.unit`. Omitted for blood pressure panels, whose values live on `component` instead, and omitted when the value is not numeric. |
| `component`         | 0..2        | **Blood pressure only** -- see [Blood pressure](#blood-pressure).                                                                                                                                                                                    |
| `performer`         | 0..1        | Contained [PractitionerRole](/fhir/resources/practitioner-role) built from the recording provider and facility. Omitted when neither is known.                                                                                                       |

## Blood pressure

Blood pressure is always published as a **panel** rather than as two independent observations: one `Observation` coded
`85354-9` with a systolic and a diastolic `component`.

| Component | Notes                                                                                                                                                      |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Systolic  | `component.code` carries the source systolic coding (normally LOINC `8480-6`); `component.valueQuantity` uses UCUM `mm[Hg]` with a display unit of `mmHg`. |
| Diastolic | `component.code` carries the source diastolic coding (normally LOINC `8462-4`); same unit handling as systolic.                                            |

The panel's `effectiveDateTime` and stable `id` are taken from the **systolic** reading.

# Usage 3: Diagnostic report findings

Findings belonging to a [DiagnosticReport](/fhir/resources/diagnostic-report) are published as `Observation`
resources **contained** inside that report and referenced from `DiagnosticReport.result`.

## Stable ID

No `id` is assigned -- these observations exist only inside their parent report and are neither addressable on their
own nor deduplicated. Use the parent `DiagnosticReport`'s `id` to track them over time.

## Fields

| Field               | Cardinality | Notes                                                                                                                                                                                                   |
| ------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `meta.profile`      | 1..1        | Always set to the US Core Clinical Result Observation profile URL -- note this differs from the laboratory profile above.                                                                               |
| `status`            | 1..1        | Always `final`.                                                                                                                                                                                         |
| `category`          | 1..1        | Always `imaging` from the [observation-category](http://terminology.hl7.org/CodeSystem/observation-category) system.                                                                                    |
| `subject`           | 1..1        | Reference to the [Patient](/fhir/resources/patient).                                                                                                                                                    |
| `effectiveDateTime` | 1..1        | The report date.                                                                                                                                                                                        |
| `code`              | 1..2        | The report's panel coding. In the **Patient Everything** bundle a [panel classification](#panel-classification) coding is added where one applies; in the **Patient Summary** bundle it is never added. |
| `value[x]`          | 1..1        | Either the discrete result value or the narrative report text -- see below.                                                                                                                             |
| `referenceRange`    | 0..1        | Populated on the discrete-value observation only, using the same rules as [Reference ranges](#reference-ranges).                                                                                        |
| `performer`         | 0..1        | Contained [PractitionerRole](/fhir/resources/practitioner-role) built from the report's provider and facility.                                                                                          |

A report produces up to two contained observations, depending on what the source carries:

| Source data             | Contained observations                                                                                        |
| ----------------------- | ------------------------------------------------------------------------------------------------------------- |
| A discrete result value | One observation whose `value[x]` follows the same [result value](#result-values) rules as laboratory results. |
| A narrative report text | One observation whose `valueString` is the report narrative.                                                  |
| Both                    | Two observations, one of each.                                                                                |
| Neither                 | None -- `DiagnosticReport.result` is empty.                                                                   |
