--- title: "family_history" description: "Summary information about the significant health-related problems found in genetic and non-genetic family members." --- Summary information about the significant health-related problems found in genetic and non-genetic family members. **Purpose.** To record information about the occurrence of significant health-related problems in genetic and non-genetic family members - both alive and deceased. ## Source | Model | Leg | Role | |---|---|---| | `openEHR-EHR-EVALUATION.family_history.v2` | 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. | — | | `summary` | `text` | yes | Summary | `/data[at0001]/items[at0002]` | | `last_updated` | `timestamptz` | yes | Last Updated | `/protocol[at0025]/items[at0026]` | ## 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 | ## Referenced by - [`family_history_per_problem`](/docs/tables/family_history_per_problem) via `family_history_id` - [`family_history_per_family_member`](/docs/tables/family_history_per_family_member) via `family_history_id` - [`family_history_multimedia`](/docs/tables/family_history_multimedia) via `family_history_id` ## Indexes - `family_history_form_id_idx` on `form_id` ## Child tables 6 tables hang off `family_history`, one row per repetition. ### `family_history_per_problem` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `family_history_id` | `uuid` → [`family_history`](/docs/tables/family_history) | 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]/items[at0028]/items[at0029]` | | `description` | `text` | yes | Description | `/data[at0001]/items[at0028]/items[at0030]` | | `impact`
`impact_code`
`impact_system`
`impact_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Impact | `/data[at0001]/items[at0028]/items[at0071]` | #### 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)) check ((impact_code is null and impact_system is null and impact_valueset_id is null) or (impact is not null and impact_code is not null and impact_system is not null and impact_valueset_id is not null)) ``` #### Unique - `family_history_id, position` #### References | Columns | Target | On delete | |---|---|---| | `family_history_id` | [`family_history`](/docs/tables/family_history) | cascade | | `problem_diagnosis_name_valueset_id, problem_diagnosis_name_code, problem_diagnosis_name_system, problem_diagnosis_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `impact_valueset_id, impact_code, impact_system, impact` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ### Referenced by - [`family_history_per_problem_problem_details`](/docs/tables/family_history_per_problem_problem_details) via `family_history_per_problem_id` ### `family_history_per_problem_problem_details` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `family_history_per_problem_id` | `uuid` → [`family_history_per_problem`](/docs/tables/family_history_per_problem) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `family_prevalence_id` | `uuid` | no | Problem details | `/data[at0001]/items[at0028]/items[at0059]` | #### Unique - `family_history_per_problem_id, position` - `family_history_per_problem_id, family_prevalence_id` #### References | Columns | Target | On delete | |---|---|---| | `family_history_per_problem_id` | [`family_history_per_problem`](/docs/tables/family_history_per_problem) | cascade | | `family_prevalence_id` | [`family_prevalence`](/docs/tables/family_prevalence) | no action | #### Indexes - `family_history_per_problem_problem_details_family_preval_e8a59c` on `family_prevalence_id` ### `family_history_per_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_id` | `uuid` → [`family_history`](/docs/tables/family_history) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `family_member_name` | `text` | yes | Family member name | `/data[at0001]/items[at0003]/items[at0004]` | | `alias` | `text` | yes | Alias | `/data[at0001]/items[at0003]/items[at0020]` | | `biological_sex`
`biological_sex_code`
`biological_sex_system`
`biological_sex_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Biological sex | `/data[at0001]/items[at0003]/items[at0060]` | | `relationship`
`relationship_code`
`relationship_system`
`relationship_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Relationship | `/data[at0001]/items[at0003]/items[at0016]` | | `relationship_degree`
`relationship_degree_code`
`relationship_degree_system`
`relationship_degree_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Relationship degree | `/data[at0001]/items[at0003]/items[at0064]` | | `family_line`
`family_line_code`
`family_line_system`
`family_line_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Family line | `/data[at0001]/items[at0003]/items[at0068]` | | `date_of_birth` | `timestamptz` | yes | Date of birth | `/data[at0001]/items[at0003]/items[at0005]` | | `deceased` | `boolean` | yes | Deceased? | `/data[at0001]/items[at0003]/items[at0023]` | | `age_at_death` | `interval` | yes | Age at death | `/data[at0001]/items[at0003]/items[at0011]` | | `date_of_death` | `timestamptz` | yes | Date of death | `/data[at0001]/items[at0003]/items[at0058]` | | `comment` | `text` | yes | Comment | `/data[at0001]/items[at0003]/items[at0046]` | | `biomarkers_biomarker_description` | `text` | yes | Biomarker description | `/data[at0001]/items[at0003]/items[at0024]/items[at0022]` | #### Constraints ```sql check ((biological_sex_code is null and biological_sex_system is null and biological_sex_valueset_id is null) or (biological_sex is not null and biological_sex_code is not null and biological_sex_system is not null and biological_sex_valueset_id is not null)) 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 ((relationship_degree_code is null and relationship_degree_system is null and relationship_degree_valueset_id is null and relationship_degree is null) or (relationship_degree is not null and relationship_degree_code is not null and relationship_degree_system is not null and relationship_degree_valueset_id is not null)) check ((family_line_code is null and family_line_system is null and family_line_valueset_id is null and family_line is null) or (family_line is not null and family_line_code is not null and family_line_system is not null and family_line_valueset_id is not null)) ``` #### Unique - `family_history_id, position` #### References | Columns | Target | On delete | |---|---|---| | `family_history_id` | [`family_history`](/docs/tables/family_history) | cascade | | `biological_sex_valueset_id, biological_sex_code, biological_sex_system, biological_sex` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `relationship_valueset_id, relationship_code, relationship_system, relationship` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `relationship_degree_valueset_id, relationship_degree_code, relationship_degree_system, relationship_degree` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `family_line_valueset_id, family_line_code, family_line_system, family_line` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ### Referenced by - [`family_history_per_family_member_family_member_details`](/docs/tables/family_history_per_family_member_family_member_details) via `family_history_per_family_member_id` - [`family_history_per_family_member_clinical_history`](/docs/tables/family_history_per_family_member_clinical_history) via `family_history_per_family_member_id` ### `family_history_per_family_member_family_member_details` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `family_history_per_family_member_id` | `uuid` → [`family_history_per_family_member`](/docs/tables/family_history_per_family_member) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `person_id` | `uuid` | no | Family member details | `/data[at0001]/items[at0003]/items[at0048]` | #### Unique - `family_history_per_family_member_id, position` - `family_history_per_family_member_id, person_id` #### References | Columns | Target | On delete | |---|---|---| | `family_history_per_family_member_id` | [`family_history_per_family_member`](/docs/tables/family_history_per_family_member) | cascade | | `person_id` | [`person`](/docs/tables/person) | no action | #### Indexes - `family_history_per_family_member_family_member_details_p_3bbdfd` on `person_id` ### `family_history_per_family_member_clinical_history` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `family_history_per_family_member_id` | `uuid` → [`family_history_per_family_member`](/docs/tables/family_history_per_family_member) | 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]/items[at0003]/items[at0008]/items[at0009]` | | `clinical_description` | `text` | yes | Clinical description | `/data[at0001]/items[at0003]/items[at0008]/items[at0012]` | | `age_at_onset` | `interval` | yes | Age at onset | `/data[at0001]/items[at0003]/items[at0008]/items[at0010]` | | `cause_of_death`
`cause_of_death_code`
`cause_of_death_system`
`cause_of_death_valueset_id` | coded text
`text`, `text`, `text`, `text` | yes | Cause of death? | `/data[at0001]/items[at0003]/items[at0008]/items[at0014]` | #### 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)) check ((cause_of_death_code is null and cause_of_death_system is null and cause_of_death_valueset_id is null) or (cause_of_death is not null and cause_of_death_code is not null and cause_of_death_system is not null and cause_of_death_valueset_id is not null)) ``` #### Unique - `family_history_per_family_member_id, position` #### References | Columns | Target | On delete | |---|---|---| | `family_history_per_family_member_id` | [`family_history_per_family_member`](/docs/tables/family_history_per_family_member) | cascade | | `problem_diagnosis_name_valueset_id, problem_diagnosis_name_code, problem_diagnosis_name_system, problem_diagnosis_name` | [`valueset_code`](/docs/tables/valueset_code) | restrict | | `cause_of_death_valueset_id, cause_of_death_code, cause_of_death_system, cause_of_death` | [`valueset_code`](/docs/tables/valueset_code) | restrict | ### `family_history_multimedia` Child table — one row per repetition, deleted with its parent. | Column | Type | Null | Description | Source | |---|---|---|---|---| | `id` | `uuid primary key` | no | Primary key. | — | | `family_history_id` | `uuid` → [`family_history`](/docs/tables/family_history) | no | — | — | | `position` | `integer` | no | Order of this row within its parent, from zero. | — | | `attachment_id` | `uuid` | no | Multimedia | `/data[at0001]/items[at0053]` | #### Unique - `family_history_id, position` - `family_history_id, attachment_id` #### References | Columns | Target | On delete | |---|---|---| | `family_history_id` | [`family_history`](/docs/tables/family_history) | cascade | | `attachment_id` | [`attachment`](/docs/tables/attachment) | restrict | #### Indexes - `family_history_multimedia_attachment_id_idx` on `attachment_id` ## Value sets | Value set | Codes | |---|---| | `org.openehr::openEHR-EHR-EVALUATION.family_history.v2/cause_of_death` | 3 | | `org.openehr::openEHR-EHR-EVALUATION.family_history.v2/family_line` | 2 | | `org.openehr::openEHR-EHR-EVALUATION.family_history.v2/relationship_degree` | 3 |