FamilyMemberHistory — Family history
Father, mother, siblings, grandparents: the resource that captures genetic and familial history relevant to patient risk assessment.
Purpose
FamilyMemberHistory captures known clinical conditions of a family member, as reported by the patient: paternal diabetes, grandparent infarction, maternal breast cancer. It is an essential instrument for computing a RiskAssessment and screening recommendations (early mammography, early colonoscopy).
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
status | code | 1..1 | Mandatory. partial, completed, entered-in-error, health-unknown. |
dataAbsentReason | CodeableConcept | 0..1 | Reason for missing data. |
patient | Reference(Patient) | 1..1 | Mandatory. The patient the history is about. |
date | dateTime | 0..1 | Entry date. |
participant | BackboneElement[] | 0..* | Author(s) of the entry. |
name | string | 0..1 | Relative name (rare, privacy). |
relationship | CodeableConcept | 1..1 | Mandatory. Relationship (v3-RoleCode: FTH, MTH, SIS, BRO, GRFTH…). |
sex | CodeableConcept | 0..1 | Biological sex of the relative. |
born[x] | Period | date | string | 0..1 | Birth. |
age[x] | Age | Range | string | 0..1 | Current age. |
estimatedAge | boolean | 0..1 | Approximate age. |
deceased[x] | boolean | Age | Range | date | string | 0..1 | Death and age at death. |
reason | CodeableReference[] | 0..* | Reason for the entry. |
condition | BackboneElement[] | 0..* | Relative's conditions: code, onsetAge, outcome, contributedToDeath. |
procedure | BackboneElement[] | 0..* | Relative's procedures. |
JSON example
Patient's father history: type 2 diabetes and infarction:
{
"resourceType": "FamilyMemberHistory",
"id": "father-diabetes",
"status": "completed",
"patient": { "reference": "Patient/doe-john" },
"date": "2026-05-15",
"name": "Father",
"relationship": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode",
"code": "FTH",
"display": "father"
}]
},
"sex": {
"coding": [{
"system": "http://hl7.org/fhir/administrative-gender",
"code": "male"
}]
},
"ageAge": {
"value": 72,
"unit": "years",
"system": "http://unitsofmeasure.org",
"code": "a"
},
"deceasedBoolean": false,
"condition": [{
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "44054006",
"display": "Diabetes mellitus type 2"
}]
},
"onsetAge": {
"value": 55,
"unit": "years",
"system": "http://unitsofmeasure.org",
"code": "a"
},
"note": [{ "text": "On metformin since 2009" }]
}, {
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "22298006",
"display": "Myocardial infarction"
}]
},
"onsetAge": {
"value": 68,
"unit": "years",
"system": "http://unitsofmeasure.org",
"code": "a"
},
"contributedToDeath": false
}]
} Common pitfalls
- Storing the relative's identity (
name) — privacy of a third party. Prefer an anonymized identifier. - Confusing with Patient — a relative is not a FHIR Patient; no care recorded in their name.
- Uncoded
relationship— a free-text "paternal uncle" cannot drive risk calculation. - Missing
onsetAge— breast cancer at 40 does not have the same predictive value as at 75. - Unversioned updates — each visit can enrich history: plan an update workflow with Provenance.
Related resources
- Patient — subject.
- Condition — patient's own conditions (don't confuse).
- RiskAssessment — uses FMH to compute risk.
- Pedigree — IG cg-fhir-clinical for full genealogy.