---
title: "laboratory_test_analyte"
description: "The result of a laboratory test for a single analyte value."
---

The result of a laboratory test for a single analyte value.

**Purpose.** To record a single value laboratory analyte result, commonly found in clinical pathology testing such as medical biochemistry, haematology, immunology and transfusion medicine.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-CLUSTER.laboratory_test_analyte.v1` | openEHR | defines this table |

## Columns

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `analyte_result_sequence` | `integer` | yes | Analyte result sequence | `/items[at0027]` |
| `analyte_name`<br />`analyte_name_code`<br />`analyte_name_system`<br />`analyte_name_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Analyte name | `/items[at0024]` |
| `analyte_result_coded_text`<br />`analyte_result_coded_text_code`<br />`analyte_result_coded_text_system`<br />`analyte_result_coded_text_valueset_id`<br />`analyte_result_quantity_magnitude`<br />`analyte_result_quantity_units` | coded text<br />`text`, `text`, `text`, `text`, `numeric`, `text` | yes | Analyte result | `/items[at0001]` |
| `reference_range_guidance`<br />`reference_range_guidance_code`<br />`reference_range_guidance_system`<br />`reference_range_guidance_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Reference range guidance | `/items[at0004]` |
| `test_method`<br />`test_method_code`<br />`test_method_system`<br />`test_method_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Test method | `/items[at0028]` |
| `analysis_performed_time` | `timestamptz` | yes | Analysis performed time | `/items[at0031]` |
| `validation_time` | `timestamptz` | yes | Validation time | `/items[at0025]` |
| `result_status`<br />`result_status_code`<br />`result_status_system`<br />`result_status_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Result status | `/items[at0005]` |
| `result_status_time` | `timestamptz` | yes | Result status time | `/items[at0006]` |
| `specimen_value`<br />`specimen_system` | text, text<br />`text`, `text` | yes | Specimen | `/items[at0026]` |
| `accredited` | `boolean` | yes | Accredited | `/items[at0032]` |
| `comment` | `text` | yes | Comment | `/items[at0003]` |

## Constraints

```sql
check ((analyte_name_code is null and analyte_name_system is null and analyte_name_valueset_id is null) or (analyte_name is not null and analyte_name_code is not null and analyte_name_system is not null and analyte_name_valueset_id is not null))
check ((analyte_result_coded_text_code is null and analyte_result_coded_text_system is null and analyte_result_coded_text_valueset_id is null) or (analyte_result_coded_text is not null and analyte_result_coded_text_code is not null and analyte_result_coded_text_system is not null and analyte_result_coded_text_valueset_id is not null))
check ((analyte_result_quantity_magnitude is null and analyte_result_quantity_units is null) or (analyte_result_quantity_magnitude is not null and analyte_result_quantity_units is not null))
check (num_nonnulls(analyte_result_coded_text, analyte_result_quantity_magnitude) <= 1)
check ((reference_range_guidance_code is null and reference_range_guidance_system is null and reference_range_guidance_valueset_id is null) or (reference_range_guidance is not null and reference_range_guidance_code is not null and reference_range_guidance_system is not null and reference_range_guidance_valueset_id is not null))
check ((test_method_code is null and test_method_system is null and test_method_valueset_id is null) or (test_method is not null and test_method_code is not null and test_method_system is not null and test_method_valueset_id is not null))
check ((result_status_code is null and result_status_system is null and result_status_valueset_id is null) or (result_status is not null and result_status_code is not null and result_status_system is not null and result_status_valueset_id is not null))
check (specimen_system is null or specimen_value is not null)
```

## References

| Columns | Target | On delete |
|---|---|---|
| `analyte_name_valueset_id, analyte_name_code, analyte_name_system, analyte_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `analyte_result_coded_text_valueset_id, analyte_result_coded_text_code, analyte_result_coded_text_system, analyte_result_coded_text` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `reference_range_guidance_valueset_id, reference_range_guidance_code, reference_range_guidance_system, reference_range_guidance` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `test_method_valueset_id, test_method_code, test_method_system, test_method` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `result_status_valueset_id, result_status_code, result_status_system, result_status` | [`valueset_code`](/docs/tables/valueset_code) | restrict |

## Referenced by

- [`investigation_screening_specific_investigation_additiona_45e74e`](/docs/tables/investigation_screening_specific_investigation_additiona_45e74e) via `laboratory_test_analyte_id`
- [`laboratory_test_result_test_result`](/docs/tables/laboratory_test_result_test_result) via `laboratory_test_analyte_id`

## Value sets

| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-CLUSTER.laboratory_test_analyte.v1/result_status` | 9 |

