---
title: "family_history_screening_questionnaire"
description: "Series of questions and associated answers used to screen for health-related problems found in genetic and non-genetic family members."
---
Series of questions and associated answers used to screen for health-related problems found in genetic and non-genetic family members.
**Purpose.** To create a framework for recording answers to pre-defined screening questions about health-related problems found in both genetic and non-genetic family members.
## Source
| Model | Leg | Role |
|---|---|---|
| `openEHR-EHR-OBSERVATION.family_history_screening_questionnaire.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. | — |
| `screening_purpose`
`screening_purpose_code`
`screening_purpose_system`
`screening_purpose_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Screening purpose | `/data[at0001]/events[at0002]/data[at0003]/items[at0004]` |
| `description` | `text` | yes | Description | `/data[at0001]/events[at0002]/data[at0003]/items[at0038]` |
## Constraints
```sql
check ((screening_purpose_code is null and screening_purpose_system is null and screening_purpose_valueset_id is null) or (screening_purpose is not null and screening_purpose_code is not null and screening_purpose_system is not null and screening_purpose_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 |
| `screening_purpose_valueset_id, screening_purpose_code, screening_purpose_system, screening_purpose` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
## Referenced by
- [`family_history_screening_questionnaire_any_family_member`](/docs/tables/family_history_screening_questionnaire_any_family_member) via `family_history_screening_questionnaire_id`
- [`family_history_screening_questionnaire_specific_relationship`](/docs/tables/family_history_screening_questionnaire_specific_relationship) via `family_history_screening_questionnaire_id`
## Indexes
- `family_history_screening_questionnaire_form_id_idx` on `form_id`
## Child tables
2 tables hang off `family_history_screening_questionnaire`, one row per repetition.
### `family_history_screening_questionnaire_any_family_member`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `family_history_screening_questionnaire_id` | `uuid` → [`family_history_screening_questionnaire`](/docs/tables/family_history_screening_questionnaire) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `problem_diagnosis_name`
`problem_diagnosis_name_code`
`problem_diagnosis_name_system`
`problem_diagnosis_name_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Problem/diagnosis name | `/data[at0001]/events[at0002]/data[at0003]/items[at0042]/items[at0043]` |
| `presence` | `boolean` | yes | Presence? | `/data[at0001]/events[at0002]/data[at0003]/items[at0042]/items[at0044]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0042]/items[at0050]` |
#### Constraints
```sql
check ((problem_diagnosis_name_code is null and problem_diagnosis_name_system is null and problem_diagnosis_name_valueset_id is null) or (problem_diagnosis_name is not null and problem_diagnosis_name_code is not null and problem_diagnosis_name_system is not null and problem_diagnosis_name_valueset_id is not null))
```
#### Unique
- `family_history_screening_questionnaire_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `family_history_screening_questionnaire_id` | [`family_history_screening_questionnaire`](/docs/tables/family_history_screening_questionnaire) | cascade |
| `problem_diagnosis_name_valueset_id, problem_diagnosis_name_code, problem_diagnosis_name_system, problem_diagnosis_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
### `family_history_screening_questionnaire_specific_relationship`
Child table — one row per repetition, deleted with its parent.
| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `family_history_screening_questionnaire_id` | `uuid` → [`family_history_screening_questionnaire`](/docs/tables/family_history_screening_questionnaire) | no | — | — |
| `position` | `integer` | no | Order of this row within its parent, from zero. | — |
| `relationship`
`relationship_code`
`relationship_system`
`relationship_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Relationship | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0018]` |
| `problem_diagnosis_name`
`problem_diagnosis_name_code`
`problem_diagnosis_name_system`
`problem_diagnosis_name_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Problem/diagnosis name | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0035]` |
| `presence` | `boolean` | yes | Presence? | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0010]` |
| `timing` | `timestamptz` | yes | Timing | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0049]` |
| `comment` | `text` | yes | Comment | `/data[at0001]/events[at0002]/data[at0003]/items[at0009]/items[at0028]` |
#### Constraints
```sql
check ((relationship_code is null and relationship_system is null and relationship_valueset_id is null) or (relationship is not null and relationship_code is not null and relationship_system is not null and relationship_valueset_id is not null))
check ((problem_diagnosis_name_code is null and problem_diagnosis_name_system is null and problem_diagnosis_name_valueset_id is null) or (problem_diagnosis_name is not null and problem_diagnosis_name_code is not null and problem_diagnosis_name_system is not null and problem_diagnosis_name_valueset_id is not null))
```
#### Unique
- `family_history_screening_questionnaire_id, position`
#### References
| Columns | Target | On delete |
|---|---|---|
| `family_history_screening_questionnaire_id` | [`family_history_screening_questionnaire`](/docs/tables/family_history_screening_questionnaire) | cascade |
| `relationship_valueset_id, relationship_code, relationship_system, relationship` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `problem_diagnosis_name_valueset_id, problem_diagnosis_name_code, problem_diagnosis_name_system, problem_diagnosis_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict |