---
title: "laboratory_test_result"
description: "The result, including findings and the laboratory's interpretation, of an investigation performed on specimens collected from an individual or related to that individual."
---

The result, including findings and the laboratory's interpretation, of an investigation performed on specimens collected from an individual or related to that individual.

**Purpose.** To record the result, including findings and the laboratory's interpretation, of an investigation performed on specimens collected from an individual or related to that individual.

## Source

| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.laboratory_test_result.v1` | openEHR | defines this table |

## Columns

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `form_id` | `uuid` → [`form`](/docs/tables/form) | no | The form this entry was recorded on. | — |
| `form_block_id` | `uuid` | yes | The block within the form, when the entry is bound to one. | — |
| `test_name`<br />`test_name_code`<br />`test_name_system`<br />`test_name_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Test name | `/data[at0001]/events[at0002]/data[at0003]/items[at0005]` |
| `overall_test_status`<br />`overall_test_status_code`<br />`overall_test_status_system`<br />`overall_test_status_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Overall test status | `/data[at0001]/events[at0002]/data[at0003]/items[at0073]` |
| `overall_test_status_timestamp` | `timestamptz` | yes | Overall test status timestamp | `/data[at0001]/events[at0002]/data[at0003]/items[at0075]` |
| `diagnostic_service_category`<br />`diagnostic_service_category_code`<br />`diagnostic_service_category_system`<br />`diagnostic_service_category_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Diagnostic service category | `/data[at0001]/events[at0002]/data[at0003]/items[at0077]` |
| `clinical_information_provided` | `text` | yes | Clinical information provided | `/data[at0001]/events[at0002]/data[at0003]/items[at0100]` |
| `conclusion` | `text` | yes | Conclusion | `/data[at0001]/events[at0002]/data[at0003]/items[at0057]` |
| `test_diagnosis`<br />`test_diagnosis_code`<br />`test_diagnosis_system`<br />`test_diagnosis_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Test diagnosis | `/data[at0001]/events[at0002]/data[at0003]/items[at0098]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0101]` |
| `confounding_factors` | `text` | yes | Confounding factors | `/data[at0001]/events[at0002]/state[at0112]/items[at0113]` |
| `laboratory_internal_identifier_value`<br />`laboratory_internal_identifier_system` | text, text<br />`text`, `text` | yes | Laboratory internal identifier | `/protocol[at0004]/items[at0068]` |
| `point_of_care_test` | `boolean` | yes | Point-of-care test | `/protocol[at0004]/items[at0111]` |
| `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 | `/protocol[at0004]/items[at0121]` |

## Constraints

```sql
check ((test_name_code is null and test_name_system is null and test_name_valueset_id is null) or (test_name is not null and test_name_code is not null and test_name_system is not null and test_name_valueset_id is not null))
check ((overall_test_status_code is null and overall_test_status_system is null and overall_test_status_valueset_id is null) or (overall_test_status is not null and overall_test_status_code is not null and overall_test_status_system is not null and overall_test_status_valueset_id is not null))
check ((diagnostic_service_category_code is null and diagnostic_service_category_system is null and diagnostic_service_category_valueset_id is null) or (diagnostic_service_category is not null and diagnostic_service_category_code is not null and diagnostic_service_category_system is not null and diagnostic_service_category_valueset_id is not null))
check ((test_diagnosis_code is null and test_diagnosis_system is null and test_diagnosis_valueset_id is null) or (test_diagnosis is not null and test_diagnosis_code is not null and test_diagnosis_system is not null and test_diagnosis_valueset_id is not null))
check (laboratory_internal_identifier_system is null or laboratory_internal_identifier_value 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))
```

## Unique

- `form_block_id`

## References

| Columns | Target | On delete |
|---|---|---|
| `form_id` | [`form`](/docs/tables/form) | cascade |
| `form_id, form_block_id` | [`form_block`](/docs/tables/form_block) | cascade |
| `test_name_valueset_id, test_name_code, test_name_system, test_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `overall_test_status_valueset_id, overall_test_status_code, overall_test_status_system, overall_test_status` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `diagnostic_service_category_valueset_id, diagnostic_service_category_code, diagnostic_service_category_system, diagnostic_service_category` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `test_diagnosis_valueset_id, test_diagnosis_code, test_diagnosis_system, test_diagnosis` | [`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 |

## Referenced by

- [`laboratory_test_result_specimen_detail`](/docs/tables/laboratory_test_result_specimen_detail) via `laboratory_test_result_id`
- [`laboratory_test_result_test_result`](/docs/tables/laboratory_test_result_test_result) via `laboratory_test_result_id`
- [`laboratory_test_result_multimedia_representation`](/docs/tables/laboratory_test_result_multimedia_representation) via `laboratory_test_result_id`
- [`laboratory_test_result_receiving_laboratory`](/docs/tables/laboratory_test_result_receiving_laboratory) via `laboratory_test_result_id`
- [`laboratory_test_result_test_request_details`](/docs/tables/laboratory_test_result_test_request_details) via `laboratory_test_result_id`
- [`laboratory_test_result_testing_details`](/docs/tables/laboratory_test_result_testing_details) via `laboratory_test_result_id`

## Indexes

- `laboratory_test_result_form_id_idx` on `form_id`

## Child tables

6 tables hang off `laboratory_test_result`, one row per repetition.

### `laboratory_test_result_specimen_detail`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `specimen_id` | `uuid` | no | Specimen detail | `/data[at0001]/events[at0002]/data[at0003]/items[at0065]` |

#### Unique

- `laboratory_test_result_id, position`
- `laboratory_test_result_id, specimen_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `specimen_id` | [`specimen`](/docs/tables/specimen) | no action |

#### Indexes

- `laboratory_test_result_specimen_detail_specimen_id_idx` on `specimen_id`

### `laboratory_test_result_test_result`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `laboratory_test_analyte_id` | `uuid` | no | Test result | `/data[at0001]/events[at0002]/data[at0003]/items[at0097]` |

#### Unique

- `laboratory_test_result_id, position`
- `laboratory_test_result_id, laboratory_test_analyte_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `laboratory_test_analyte_id` | [`laboratory_test_analyte`](/docs/tables/laboratory_test_analyte) | no action |

#### Indexes

- `laboratory_test_result_test_result_laboratory_test_analy_e06b27` on `laboratory_test_analyte_id`

### `laboratory_test_result_multimedia_representation`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `attachment_id` | `uuid` | no | Multimedia representation | `/data[at0001]/events[at0002]/data[at0003]/items[at0118]` |

#### Unique

- `laboratory_test_result_id, position`
- `laboratory_test_result_id, attachment_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `attachment_id` | [`attachment`](/docs/tables/attachment) | restrict |

#### Indexes

- `laboratory_test_result_multimedia_representation_attachm_f182e6` on `attachment_id`

### `laboratory_test_result_receiving_laboratory`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `organization_id` | `uuid` | no | Receiving laboratory | `/protocol[at0004]/items[at0017]` |

#### Unique

- `laboratory_test_result_id, position`
- `laboratory_test_result_id, organization_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `organization_id` | [`organization`](/docs/tables/organization) | no action |

#### Indexes

- `laboratory_test_result_receiving_laboratory_organization_id_idx` on `organization_id`

### `laboratory_test_result_test_request_details`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `original_test_requested_name` | `text` | yes | Original test requested name | `/protocol[at0004]/items[at0094]/items[at0106]` |
| `requester_order_identifier_value`<br />`requester_order_identifier_system` | text, text<br />`text`, `text` | yes | Requester order identifier | `/protocol[at0004]/items[at0094]/items[at0062]` |
| `receiver_order_identifier_value`<br />`receiver_order_identifier_system` | text, text<br />`text`, `text` | yes | Receiver order identifier | `/protocol[at0004]/items[at0094]/items[at0063]` |
| `requester` | `uuid` | yes | Requester | `/protocol[at0004]/items[at0094]/items[at0090]` |

#### Constraints

```sql
check (requester_order_identifier_system is null or requester_order_identifier_value is not null)
check (receiver_order_identifier_system is null or receiver_order_identifier_value is not null)
```

#### Unique

- `laboratory_test_result_id, position`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `requester` | [`person`](/docs/tables/person) | no action |

#### Indexes

- `laboratory_test_result_test_request_details_requester_idx` on `requester`

### `laboratory_test_result_testing_details`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `laboratory_test_result_id` | `uuid` → [`laboratory_test_result`](/docs/tables/laboratory_test_result) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `device_id` | `uuid` | no | Testing details | `/protocol[at0004]/items[at0110]` |

#### Unique

- `laboratory_test_result_id, position`
- `laboratory_test_result_id, device_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `laboratory_test_result_id` | [`laboratory_test_result`](/docs/tables/laboratory_test_result) | cascade |
| `device_id` | [`device`](/docs/tables/device) | no action |

#### Indexes

- `laboratory_test_result_testing_details_device_id_idx` on `device_id`

## Value sets

| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-OBSERVATION.laboratory_test_result.v1/overall_test_status` | 9 |

