---
title: "health_risk"
description: "Assessment of the potential and likelihood of future adverse health effects as determined by identified risk factors."
---
Assessment of the potential and likelihood of future adverse health effects as determined by identified risk factors.
**Purpose.** To record known risk factors for an identified disease, condition, or other potentially adverse health issue, and/or an evaluation of the likelihood of the individual experiencing it in the future.
This archetype has been deliberately left open and broad in scope.
## Source
| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-EVALUATION.health_risk.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. | — |
| `health_risk`
`health_risk_code`
`health_risk_system`
`health_risk_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Health risk | `/data[at0001]/items[at0002]` |
| `risk_assessment`
`risk_assessment_code`
`risk_assessment_system`
`risk_assessment_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Risk assessment | `/data[at0001]/items[at0003]` |
| `assessment_type`
`assessment_type_code`
`assessment_type_system`
`assessment_type_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Assessment type | `/data[at0001]/items[at0020]` |
| `time_period` | `interval` | yes | Time period | `/data[at0001]/items[at0023]` |
| `rationale` | `text` | yes | Rationale | `/data[at0001]/items[at0004]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/items[at0015]` |
| `last_updated` | `timestamptz` | yes | Last updated | `/protocol[at0010]/items[at0024]` |
| `assessment_method` | `text` | yes | Assessment method | `/protocol[at0010]/items[at0025]` |
## Constraints
```sql
check ((health_risk_code is null and health_risk_system is null and health_risk_valueset_id is null) or (health_risk is not null and health_risk_code is not null and health_risk_system is not null and health_risk_valueset_id is not null))
check ((risk_assessment_code is null and risk_assessment_system is null and risk_assessment_valueset_id is null) or (risk_assessment is not null and risk_assessment_code is not null and risk_assessment_system is not null and risk_assessment_valueset_id is not null))
check ((assessment_type_code is null and assessment_type_system is null and assessment_type_valueset_id is null and assessment_type is null) or (assessment_type is not null and assessment_type_code is not null and assessment_type_system is not null and assessment_type_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 |
| `health_risk_valueset_id, health_risk_code, health_risk_system, health_risk` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `risk_assessment_valueset_id, risk_assessment_code, risk_assessment_system, risk_assessment` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `assessment_type_valueset_id, assessment_type_code, assessment_type_system, assessment_type` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Referenced by
- [`health_risk_risk_factors`](/docs/tables/health_risk_risk_factors) via `health_risk_id`
## Indexes
- `health_risk_form_id_idx` on `form_id`
## Child tables
2 tables hang off `health_risk`, one row per repetition.
### `health_risk_risk_factors`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `health_risk_id` | `uuid` → [`health_risk`](/docs/tables/health_risk) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `risk_factor`
`risk_factor_code`
`risk_factor_system`
`risk_factor_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Risk factor | `/data[at0001]/items[at0016]/items[at0013]` |
| `presence`
`presence_code`
`presence_system`
`presence_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Presence | `/data[at0001]/items[at0016]/items[at0017]` |
| `description` | `text` | yes | Description | `/data[at0001]/items[at0016]/items[at0014]` |
| `date_identified` | `timestamptz` | yes | Date identified | `/data[at0001]/items[at0016]/items[at0029]` |
| `mitigated` | `boolean` | yes | Mitigated | `/data[at0001]/items[at0016]/items[at0028]` |
| `link_to_evidence` | `text` | yes | Link to evidence | `/data[at0001]/items[at0016]/items[at0012]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/items[at0016]/items[at0030]` |
#### Constraints
```sql
check ((risk_factor_code is null and risk_factor_system is null and risk_factor_valueset_id is null) or (risk_factor is not null and risk_factor_code is not null and risk_factor_system is not null and risk_factor_valueset_id is not null))
check ((presence_code is null and presence_system is null and presence_valueset_id is null and presence is null) or (presence is not null and presence_code is not null and presence_system is not null and presence_valueset_id is not null))
```
#### Unique
- `health_risk_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `health_risk_id` | [`health_risk`](/docs/tables/health_risk) | cascade |
| `risk_factor_valueset_id, risk_factor_code, risk_factor_system, risk_factor` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `presence_valueset_id, presence_code, presence_system, presence` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
### Referenced by
- [`health_risk_risk_factors_detail`](/docs/tables/health_risk_risk_factors_detail) via `health_risk_risk_factors_id`
### `health_risk_risk_factors_detail`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `health_risk_risk_factors_id` | `uuid` → [`health_risk_risk_factors`](/docs/tables/health_risk_risk_factors) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `family_prevalence_id` | `uuid` | no | Detail | `/data[at0001]/items[at0016]/items[at0027]` |
#### Unique
- `health_risk_risk_factors_id, position`
- `health_risk_risk_factors_id, family_prevalence_id`
#### References
| Columns | Target | On delete |
|---|---|---|
| `health_risk_risk_factors_id` | [`health_risk_risk_factors`](/docs/tables/health_risk_risk_factors) | cascade |
| `family_prevalence_id` | [`family_prevalence`](/docs/tables/family_prevalence) | no action |
#### Indexes
- `health_risk_risk_factors_detail_family_prevalence_id_idx` on `family_prevalence_id`
## Value sets
| Value set | Codes |
|---|---|
| `org.openehr::openEHR-EHR-EVALUATION.health_risk.v1/assessment_type` | 2 |
| `org.openehr::openEHR-EHR-EVALUATION.health_risk.v1/presence` | 3 |