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

# observation

Measurements and simple assertions made about a patient, device or other subject. See the [HL7 FHIR R4 spec](https://hl7.org/fhir/R4/observation.html) for full details.

**Previous version:** [observation](/medical-api/handling-data/schema-v000/observation)

**Tables in this resource:**

* **observation** – Main observation record (this page)
* [observation\_category](/medical-api/handling-data/schema-v100/observation/category) – Backbone for category
* [observation\_category\_coding](/medical-api/handling-data/schema-v100/observation/category_coding)
* [observation\_code\_coding](/medical-api/handling-data/schema-v100/observation/code_coding)
* [observation\_interpretation](/medical-api/handling-data/schema-v100/observation/interpretation) – Interpretation per observation (text)
* [observation\_interpretation\_coding](/medical-api/handling-data/schema-v100/observation/interpretation_coding)
* [observation\_bodysite\_coding](/medical-api/handling-data/schema-v100/observation/bodysite_coding)
* [observation\_referencerange](/medical-api/handling-data/schema-v100/observation/referencerange) – Reference ranges per observation
* [observation\_vcc\_coding](/medical-api/handling-data/schema-v100/observation/vcc_coding) – valueCodeableConcept.coding\[] entries
* [observation\_extension](/medical-api/handling-data/schema-v100/observation/extension)
* [observation\_extension\_vcc\_coding](/medical-api/handling-data/schema-v100/observation/extension_vcc_coding)
* **observation\_references** – Normalized references; see [Reference Tables](/medical-api/handling-data/schema-v100/reference_tables)

**Reference Table:**

The `observation_references` table contains normalized references from the observation to other entities. It supports the following reference properties:

* **subject** (required): links to the patient who is the subject of the observation
* **encounter**: links to the encounter where the observation was made
* **performer**: links to practitioners who performed the observation

For detailed information about reference table structure and indexing, see the [Reference Tables documentation](/medical-api/handling-data/schema-v100/reference_tables).

**Primary Keys:**

* observation\_id

**Foreign Keys:**

* patient\_id - links to the [patient](/medical-api/handling-data/schema-v100/patient/base) table (subject)

<div style={{textAlign: 'right'}}><sub>† Metriport Platform added</sub></div>

| Column                        | Data Type | Description                                                            |
| ----------------------------- | --------- | ---------------------------------------------------------------------- |
| observation\_id               | varchar   | Unique identifier for the observation                                  |
| patient\_id                   | varchar   | Unique identifier for the patient (subject)                            |
| status                        | varchar   | Status of the observation (e.g. final, preliminary)                    |
| effectivedatetime             | datetime  | Effective date/time if provided directly                               |
| effectiveperiod\_start        | datetime  | Start of effective period                                              |
| effective\_date†              | datetime  | Coalesced effective date (effectivedatetime or effectiveperiod\_start) |
| effectiveperiod\_end          | datetime  | End of effective period                                                |
| code\_text                    | varchar   | Free-text description of the observation type                          |
| code\_loinc\_code†            | varchar   | LOINC code for the observation                                         |
| code\_loinc\_display†         | varchar   | Human-readable LOINC description                                       |
| valuequantity\_value          | varchar   | Quantity value when observation value is a Quantity                    |
| valuequantity\_comparator     | varchar   | Comparator for quantity value (e.g. \<, \<=, >=, >)                    |
| valuestring                   | varchar   | String value when observation value is a string                        |
| valuecodeableconcept\_text    | varchar   | Text when observation value is a CodeableConcept                       |
| value†                        | varchar   | Coalesced value (quantity, string, or codeable concept text)           |
| valuerange\_high\_value       | varchar   | High value when the observation value is a Range                       |
| valuerange\_high\_unit        | varchar   | Unit for high range value                                              |
| valuerange\_low\_value        | varchar   | Low value when the observation value is a Range                        |
| valuerange\_low\_unit         | varchar   | Unit for low range value                                               |
| valuequantity\_unit           | varchar   | Unit when observation value is a Quantity                              |
| units†                        | varchar   | Coalesced unit of measurement                                          |
| referencerange\_low\_value†   | varchar   | Lower bound of the reference range (first range)                       |
| referencerange\_high\_value†  | varchar   | Upper bound of the reference range (first range)                       |
| interpretation\_hl7\_code†    | varchar   | HL7 interpretation code (ObservationInterpretation)                    |
| interpretation\_hl7\_display† | varchar   | Human-readable description of HL7 interpretation                       |
| category\_hl7\_code†          | varchar   | HL7 category code (observation-category, preferred binding)            |
| category\_hl7\_display†       | varchar   | Human-readable description of HL7 category                             |
| bodysite\_text                | varchar   | Free-text body site                                                    |
| note\_text†                   | varchar   | Additional notes about the observation (first note)                    |
| meta\_source                  | varchar   | Source document filename from FHIR meta.source                         |
| data\_source\_ext†            | varchar   | Integration source of the data, derived from FHIR extension            |

**Related Tables:**

**Parent:**

* [patient](/medical-api/handling-data/schema-v100/patient/base)

**Child:**

* [observation\_bodysite\_coding](/medical-api/handling-data/schema-v100/observation/bodysite_coding)
* [observation\_category](/medical-api/handling-data/schema-v100/observation/category)
* [observation\_code\_coding](/medical-api/handling-data/schema-v100/observation/code_coding)
* [observation\_extension](/medical-api/handling-data/schema-v100/observation/extension)
* [observation\_interpretation](/medical-api/handling-data/schema-v100/observation/interpretation)
* [observation\_interpretation\_coding](/medical-api/handling-data/schema-v100/observation/interpretation_coding)
* [observation\_referencerange](/medical-api/handling-data/schema-v100/observation/referencerange)

## Version diff

**Renamed**

* `end_date` → `effectiveperiod_end`
* `reference_range_low` → `referencerange_low_value`
* `reference_range_high` → `referencerange_high_value`
* `loinc_code` → `code_loinc_code`
* `loinc_display` → `code_loinc_display`
* `data_source` → `meta_source`

**Moved to separate tables**

* `bodysite_snomed_ct_code` → [`observation_bodysite_coding.code`](/medical-api/handling-data/schema-v100/observation/bodysite_coding) w/ `system = 'http://snomed.info/sct'`
* `bodysite_snomed_ct_display` → [`observation_bodysite_coding.display`](/medical-api/handling-data/schema-v100/observation/bodysite_coding) w/ `system = 'http://snomed.info/sct'`
* `source_code_code` → [`observation_code_coding.code`](/medical-api/handling-data/schema-v100/observation/code_coding) w/ `code_rank = 1`
* `source_code_display` → [`observation_code_coding.display`](/medical-api/handling-data/schema-v100/observation/code_coding) w/ `code_rank = 1`
* `source_code_system` → [`observation_code_coding.system`](/medical-api/handling-data/schema-v100/observation/code_coding) w/ `code_rank = 1`
