R6 Ballot (2nd Draft)

Publish-box (todo)

9.4 Resource FamilyMemberHistory - Content

Patient Care icon Work GroupMaturity Level: 2 Trial UseSecurity Category: Patient Compartments: Patient

Significant health conditions for a person related to the patient relevant in the context of care for the patient.

FamilyMemberHistory is one of the event resources in the FHIR workflow specification.

This resource records significant health conditions for a particular individual related to the subject. This information can be known to different levels of accuracy. Sometimes the exact condition ('asthma') is known, and sometimes it is less precise ('some sort of cancer'). Equally, sometimes the person can be identified ('my aunt Agatha') and sometimes all that is known is that the person was an uncle.

This resource represents a simple structure used to capture an 'elementary' family history for a particular family member. However, it can also be the basis for capturing a more rigorous history useful for genetic and other analysis - refer to the Genetic Pedigree profile for an example.

The entire family history for an individual can be represented by combining references to FamilyMemberHistory instances into a List resource instance.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory TU DomainResource Information about patient's relatives, relevant for patient
+ Rule: Can have age[x] or born[x], but not both
+ Rule: Can only have estimatedAge if age[x] is present
+ Rule: Can have age[x] or deceased[x], but not both

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Id(s) for this record

... instantiatesCanonical Σ 0..* canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) Instantiates FHIR protocol or definition

... instantiatesUri Σ 0..* uri Instantiates external protocol or definition

... dataAbsentReason Σ 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred
Binding: Family History Absent Reason (Example)
... patient Σ 1..1 Reference(Patient) Patient history is about
... date Σ 0..1 dateTime When history was recorded or last updated
... participant Σ 0..* BackboneElement Who or what participated in the activities related to the family member history and how they were involved

.... function Σ 0..1 CodeableConcept Type of involvement
Binding: Participation Role Type (Extensible)
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization | CareTeam) Who or what participated in the activities related to the family member history
... name Σ 0..1 string The family member described
... relationship Σ 1..1 CodeableConcept Relationship to the subject
Binding: FamilyMember icon (Example)
... sex Σ 0..1 CodeableConcept male | female | other | unknown
Binding: AdministrativeGender (Extensible)
... born[x] C 0..1 (approximate) date of birth
.... bornPeriod Period
.... bornDate date
.... bornString string
... age[x] ΣC 0..1 (approximate) age
.... ageAge Age
.... ageRange Range
.... ageString string
... estimatedAge ΣC 0..1 boolean Age is estimated?
... deceased[x] ΣC 0..1 Dead? How old/when?
.... deceasedBoolean boolean
.... deceasedAge Age
.... deceasedRange Range
.... deceasedDate date
.... deceasedString string
... reason Σ 0..* CodeableReference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) Why was family member history performed?
Binding: SNOMED CT Clinical Findings (Example)

... note 0..* Annotation General note about related person

... condition 0..* BackboneElement Condition that the related person had

.... code 1..1 CodeableConcept Condition, allergy, or intolerance suffered by relation
Binding: Condition/Problem/Diagnosis Codes (Example)
.... outcome 0..1 CodeableConcept deceased | permanent disability | etc
Binding: Condition Outcome Codes (Example)
.... contributedToDeath 0..1 boolean Whether the condition contributed to the cause of death
.... onset[x] 0..1 When condition first manifested
..... onsetAge Age
..... onsetRange Range
..... onsetPeriod Period
..... onsetString string
.... note 0..* Annotation Extra information about condition

... procedure 0..* BackboneElement Procedures that the related person had

.... code 1..1 CodeableConcept Procedures performed on the related person
Binding: Procedure Codes (SNOMED CT) (Example)
.... outcome 0..1 CodeableConcept What happened following the procedure
Binding: SNOMED CT Clinical Findings (Example)
.... contributedToDeath 0..1 boolean Whether the procedure contributed to the cause of death
.... performed[x] 0..1 When the procedure was performed
..... performedAge Age
..... performedRange Range
..... performedPeriod Period
..... performedString string
..... performedDateTime dateTime
.... note 0..* Annotation Extra information about the procedure


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

FamilyMemberHistory (DomainResource)Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistoryinstantiatesCanonical : canonical [0..*] « PlanDefinition| Questionnaire|ActivityDefinition|Measure|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistoryinstantiatesUri : uri [0..*]A code specifying the status of the record of the family history of a specific family member (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)FamilyHistoryStatus! »Describes why the family member's history is not availabledataAbsentReason : CodeableConcept [0..1] « null (Strength=Example) FamilyHistoryAbsentReason?? »The person who this history concernspatient : Reference [1..1] « Patient »The date (and possibly time) when the family member history was recorded or last updateddate : dateTime [0..1]This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair"name : string [0..1]The type of relationship this person has to the patient (father, mother, brother etc.)relationship : CodeableConcept [1..1] « null (Strength=Example)FamilyMember?? »The birth sex of the family membersex : CodeableConcept [0..1] « null (Strength=Extensible)AdministrativeGender+ »The actual or approximate date of birth of the relativeborn[x] : DataType [0..1] « Period|date|string » « This element has or is affected by some invariantsC »The age of the relative at the time the family member history is recordedage[x] : DataType [0..1] « Age|Range|string » « This element has or is affected by some invariantsC »If true, indicates that the age value specified is an estimated valueestimatedAge : boolean [0..1] « This element has or is affected by some invariantsC »Deceased flag or the actual or approximate age of the relative at the time of death for the family member history recorddeceased[x] : DataType [0..1] « boolean|Age|Range|date|string » « This element has or is affected by some invariantsC »Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history eventreason : CodeableReference [0..*] « Condition|Observation| AllergyIntolerance|QuestionnaireResponse|DiagnosticReport| DocumentReference; null (Strength=Example)SNOMEDCTClinicalFindings?? »This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possiblenote : Annotation [0..*]ParticipantDistinguishes the type of involvement of the actor in the activities related to the family member historyfunction : CodeableConcept [0..1] « null (Strength=Extensible)ParticipationRoleType+ »Indicates who or what participated in the activities related to the family member historyactor : Reference [1..1] « Practitioner|PractitionerRole|Patient| RelatedPerson|Device|Organization|CareTeam »ConditionThe actual condition, allergy, or intolerance specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating systemcode : CodeableConcept [1..1] « null (Strength=Example)ConditionProblemDiagnosisCodes?? »Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relationoutcome : CodeableConcept [0..1] « null (Strength=Example)ConditionOutcomeCodes?? »This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknowncontributedToDeath : boolean [0..1]Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrenceonset[x] : DataType [0..1] « Age|Range|Period|string »An area where general notes can be placed about this specific conditionnote : Annotation [0..*]ProcedureThe actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating systemcode : CodeableConcept [1..1] « null (Strength=Example)ProcedureCodesSNOMEDCT?? »Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relationoutcome : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTClinicalFindings?? »This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknowncontributedToDeath : boolean [0..1]Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be capturedperformed[x] : DataType [0..1] « Age|Range|Period|string|dateTime »An area where general notes can be placed about this specific procedurenote : Annotation [0..*]Indicates who or what participated in the activities related to the family member history and how they were involvedparticipant[0..*]The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per conditioncondition[0..*]The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedureprocedure[0..*]

XML Template

<FamilyMemberHistory xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Id(s) for this record --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure|
   OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical>
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <status value="[code]"/><!-- 1..1 partial | completed | entered-in-error | health-unknown -->
 <dataAbsentReason><!-- 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred --></dataAbsentReason>
 <patient><!-- 1..1 Reference(Patient) Patient history is about --></patient>
 <date value="[dateTime]"/><!-- 0..1 When history was recorded or last updated -->
 <participant>  <!-- 0..* Who or what participated in the activities related to the family member history and how they were involved -->
  <function><!-- 0..1 CodeableConcept Type of involvement --></function>
  <actor><!-- 1..1 Reference(CareTeam|Device|Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) Who or what participated in the activities related to the family member history --></actor>
 </participant>
 <name value="[string]"/><!-- 0..1 The family member described -->
 <relationship><!-- 1..1 CodeableConcept Relationship to the subject icon --></relationship>
 <sex><!-- 0..1 CodeableConcept male | female | other | unknown --></sex>
 <born[x]><!-- I 0..1 Period|date|string (approximate) date of birth --></born[x]>
 <age[x]><!-- I 0..1 Age|Range|string (approximate) age --></age[x]>
 <estimatedAge value="[boolean]"/><!-- I 0..1 Age is estimated? -->
 <deceased[x]><!-- I 0..1 boolean|Age|Range|date|string Dead? How old/when? --></deceased[x]>
 <reason><!-- 0..* CodeableReference(AllergyIntolerance|Condition|
   DiagnosticReport|DocumentReference|Observation|QuestionnaireResponse) Why was family member history performed? --></reason>
 <note><!-- 0..* Annotation General note about related person --></note>
 <condition>  <!-- 0..* Condition that the related person had -->
  <code><!-- 1..1 CodeableConcept Condition, allergy, or intolerance suffered by relation --></code>
  <outcome><!-- 0..1 CodeableConcept deceased | permanent disability | etc --></outcome>
  <contributedToDeath value="[boolean]"/><!-- 0..1 Whether the condition contributed to the cause of death -->
  <onset[x]><!-- 0..1 Age|Range|Period|string When condition first manifested --></onset[x]>
  <note><!-- 0..* Annotation Extra information about condition --></note>
 </condition>
 <procedure>  <!-- 0..* Procedures that the related person had -->
  <code><!-- 1..1 CodeableConcept Procedures performed on the related person --></code>
  <outcome><!-- 0..1 CodeableConcept What happened following the procedure --></outcome>
  <contributedToDeath value="[boolean]"/><!-- 0..1 Whether the procedure contributed to the cause of death -->
  <performed[x]><!-- 0..1 Age|Range|Period|string|dateTime When the procedure was performed --></performed[x]>
  <note><!-- 0..* Annotation Extra information about the procedure --></note>
 </procedure>
</FamilyMemberHistory>

JSON Template

{doco
  "resourceType" : "FamilyMemberHistory",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Id(s) for this record
  "instantiatesCanonical" : ["<canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition)>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "status" : "<code>", // R!  partial | completed | entered-in-error | health-unknown
  "dataAbsentReason" : { CodeableConcept }, // subject-unknown | withheld | unable-to-obtain | deferred
  "patient" : { Reference(Patient) }, // R!  Patient history is about
  "date" : "<dateTime>", // When history was recorded or last updated
  "participant" : [{ // Who or what participated in the activities related to the family member history and how they were involved
    "function" : { CodeableConcept }, // Type of involvement
    "actor" : { Reference(CareTeam|Device|Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) } // R!  Who or what participated in the activities related to the family member history
  }],
  "name" : "<string>", // The family member described
  "relationship" : { CodeableConcept }, // R!  Relationship to the subject icon
  "sex" : { CodeableConcept }, // male | female | other | unknown
  // born[x]: (approximate) date of birth. One of these 3:
  "bornPeriod" : { Period },
  "bornDate" : "<date>",
  "bornString" : "<string>",
  // age[x]: (approximate) age. One of these 3:
  "ageAge" : { Age },
  "ageRange" : { Range },
  "ageString" : "<string>",
  "estimatedAge" : <boolean>, // I Age is estimated?
  // deceased[x]: Dead? How old/when?. One of these 5:
  "deceasedBoolean" : <boolean>,
  "deceasedAge" : { Age },
  "deceasedRange" : { Range },
  "deceasedDate" : "<date>",
  "deceasedString" : "<string>",
  "reason" : [{ CodeableReference(AllergyIntolerance|Condition|
   DiagnosticReport|DocumentReference|Observation|QuestionnaireResponse) }], // Why was family member history performed?
  "note" : [{ Annotation }], // General note about related person
  "condition" : [{ // Condition that the related person had
    "code" : { CodeableConcept }, // R!  Condition, allergy, or intolerance suffered by relation
    "outcome" : { CodeableConcept }, // deceased | permanent disability | etc
    "contributedToDeath" : <boolean>, // Whether the condition contributed to the cause of death
    // onset[x]: When condition first manifested. One of these 4:
    "onsetAge" : { Age },
    "onsetRange" : { Range },
    "onsetPeriod" : { Period },
    "onsetString" : "<string>",
    "note" : [{ Annotation }] // Extra information about condition
  }],
  "procedure" : [{ // Procedures that the related person had
    "code" : { CodeableConcept }, // R!  Procedures performed on the related person
    "outcome" : { CodeableConcept }, // What happened following the procedure
    "contributedToDeath" : <boolean>, // Whether the procedure contributed to the cause of death
    // performed[x]: When the procedure was performed. One of these 5:
    "performedAge" : { Age },
    "performedRange" : { Range },
    "performedPeriod" : { Period },
    "performedString" : "<string>",
    "performedDateTime" : "<dateTime>",
    "note" : [{ Annotation }] // Extra information about the procedure
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:FamilyMemberHistory;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External Id(s) for this record
  fhir:instantiatesCanonical  ( [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ] ... ) ; # 0..* Instantiates FHIR protocol or definition
  fhir:instantiatesUri  ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition
  fhir:status [ code ] ; # 1..1 partial | completed | entered-in-error | health-unknown
  fhir:dataAbsentReason [ CodeableConcept ] ; # 0..1 subject-unknown | withheld | unable-to-obtain | deferred
  fhir:patient [ Reference(Patient) ] ; # 1..1 Patient history is about
  fhir:date [ dateTime ] ; # 0..1 When history was recorded or last updated
  fhir:participant ( [ # 0..* Who or what participated in the activities related to the family member history and how they were involved
    fhir:function [ CodeableConcept ] ; # 0..1 Type of involvement
    fhir:actor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Who or what participated in the activities related to the family member history
  ] ... ) ;
  fhir:name [ string ] ; # 0..1 The family member described
  fhir:relationship [ CodeableConcept ] ; # 1..1 Relationship to the subject
  fhir:sex [ CodeableConcept ] ; # 0..1 male | female | other | unknown
  # born[x] : 0..1 I (approximate) date of birth. One of these 3
    fhir:born [  a fhir:Period ; Period ]
    fhir:born [  a fhir:date ; date ]
    fhir:born [  a fhir:string ; string ]
  # age[x] : 0..1 I (approximate) age. One of these 3
    fhir:age [  a fhir:Age ; Age ]
    fhir:age [  a fhir:Range ; Range ]
    fhir:age [  a fhir:string ; string ]
  fhir:estimatedAge [ boolean ] ; # 0..1 I Age is estimated?
  # deceased[x] : 0..1 I Dead? How old/when?. One of these 5
    fhir:deceased [  a fhir:boolean ; boolean ]
    fhir:deceased [  a fhir:Age ; Age ]
    fhir:deceased [  a fhir:Range ; Range ]
    fhir:deceased [  a fhir:date ; date ]
    fhir:deceased [  a fhir:string ; string ]
  fhir:reason  ( [ CodeableReference(AllergyIntolerance|Condition|DiagnosticReport|DocumentReference|Observation|
  QuestionnaireResponse) ] ... ) ; # 0..* Why was family member history performed?
  fhir:note  ( [ Annotation ] ... ) ; # 0..* General note about related person
  fhir:condition ( [ # 0..* Condition that the related person had
    fhir:code [ CodeableConcept ] ; # 1..1 Condition, allergy, or intolerance suffered by relation
    fhir:outcome [ CodeableConcept ] ; # 0..1 deceased | permanent disability | etc
    fhir:contributedToDeath [ boolean ] ; # 0..1 Whether the condition contributed to the cause of death
    # onset[x] : 0..1 When condition first manifested. One of these 4
      fhir:onset [  a fhir:Age ; Age ]
      fhir:onset [  a fhir:Range ; Range ]
      fhir:onset [  a fhir:Period ; Period ]
      fhir:onset [  a fhir:string ; string ]
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Extra information about condition
  ] ... ) ;
  fhir:procedure ( [ # 0..* Procedures that the related person had
    fhir:code [ CodeableConcept ] ; # 1..1 Procedures performed on the related person
    fhir:outcome [ CodeableConcept ] ; # 0..1 What happened following the procedure
    fhir:contributedToDeath [ boolean ] ; # 0..1 Whether the procedure contributed to the cause of death
    # performed[x] : 0..1 When the procedure was performed. One of these 5
      fhir:performed [  a fhir:Age ; Age ]
      fhir:performed [  a fhir:Range ; Range ]
      fhir:performed [  a fhir:Period ; Period ]
      fhir:performed [  a fhir:string ; string ]
      fhir:performed [  a fhir:dateTime ; dateTime ]
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Extra information about the procedure
  ] ... ) ;
]

Changes from both R4 and R4B

FamilyMemberHistory
FamilyMemberHistory.participant
  • Added Element
FamilyMemberHistory.participant.function
  • Added Element
FamilyMemberHistory.participant.actor
  • Added Mandatory Element
FamilyMemberHistory.sex
  • Change value set from http://build.fhir.org/valueset-administrative-gender.html to AdministrativeGender
FamilyMemberHistory.reason
  • Added Element
FamilyMemberHistory.procedure
  • Added Element
FamilyMemberHistory.procedure.code
  • Added Mandatory Element
FamilyMemberHistory.procedure.outcome
  • Added Element
FamilyMemberHistory.procedure.contributedToDeath
  • Added Element
FamilyMemberHistory.procedure.performed[x]
  • Added Element
FamilyMemberHistory.procedure.note
  • Added Element
FamilyMemberHistory.reasonCode
  • Deleted (-> FamilyMemberHistory.reason)
FamilyMemberHistory.reasonReference
  • Deleted (-> FamilyMemberHistory.reason)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory TU DomainResource Information about patient's relatives, relevant for patient
+ Rule: Can have age[x] or born[x], but not both
+ Rule: Can only have estimatedAge if age[x] is present
+ Rule: Can have age[x] or deceased[x], but not both

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Id(s) for this record

... instantiatesCanonical Σ 0..* canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) Instantiates FHIR protocol or definition

... instantiatesUri Σ 0..* uri Instantiates external protocol or definition

... dataAbsentReason Σ 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred
Binding: Family History Absent Reason (Example)
... patient Σ 1..1 Reference(Patient) Patient history is about
... date Σ 0..1 dateTime When history was recorded or last updated
... participant Σ 0..* BackboneElement Who or what participated in the activities related to the family member history and how they were involved

.... function Σ 0..1 CodeableConcept Type of involvement
Binding: Participation Role Type (Extensible)
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization | CareTeam) Who or what participated in the activities related to the family member history
... name Σ 0..1 string The family member described
... relationship Σ 1..1 CodeableConcept Relationship to the subject
Binding: FamilyMember icon (Example)
... sex Σ 0..1 CodeableConcept male | female | other | unknown
Binding: AdministrativeGender (Extensible)
... born[x] C 0..1 (approximate) date of birth
.... bornPeriod Period
.... bornDate date
.... bornString string
... age[x] ΣC 0..1 (approximate) age
.... ageAge Age
.... ageRange Range
.... ageString string
... estimatedAge ΣC 0..1 boolean Age is estimated?
... deceased[x] ΣC 0..1 Dead? How old/when?
.... deceasedBoolean boolean
.... deceasedAge Age
.... deceasedRange Range
.... deceasedDate date
.... deceasedString string
... reason Σ 0..* CodeableReference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) Why was family member history performed?
Binding: SNOMED CT Clinical Findings (Example)

... note 0..* Annotation General note about related person

... condition 0..* BackboneElement Condition that the related person had

.... code 1..1 CodeableConcept Condition, allergy, or intolerance suffered by relation
Binding: Condition/Problem/Diagnosis Codes (Example)
.... outcome 0..1 CodeableConcept deceased | permanent disability | etc
Binding: Condition Outcome Codes (Example)
.... contributedToDeath 0..1 boolean Whether the condition contributed to the cause of death
.... onset[x] 0..1 When condition first manifested
..... onsetAge Age
..... onsetRange Range
..... onsetPeriod Period
..... onsetString string
.... note 0..* Annotation Extra information about condition

... procedure 0..* BackboneElement Procedures that the related person had

.... code 1..1 CodeableConcept Procedures performed on the related person
Binding: Procedure Codes (SNOMED CT) (Example)
.... outcome 0..1 CodeableConcept What happened following the procedure
Binding: SNOMED CT Clinical Findings (Example)
.... contributedToDeath 0..1 boolean Whether the procedure contributed to the cause of death
.... performed[x] 0..1 When the procedure was performed
..... performedAge Age
..... performedRange Range
..... performedPeriod Period
..... performedString string
..... performedDateTime dateTime
.... note 0..* Annotation Extra information about the procedure


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

FamilyMemberHistory (DomainResource)Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistoryinstantiatesCanonical : canonical [0..*] « PlanDefinition| Questionnaire|ActivityDefinition|Measure|OperationDefinition »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistoryinstantiatesUri : uri [0..*]A code specifying the status of the record of the family history of a specific family member (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)FamilyHistoryStatus! »Describes why the family member's history is not availabledataAbsentReason : CodeableConcept [0..1] « null (Strength=Example) FamilyHistoryAbsentReason?? »The person who this history concernspatient : Reference [1..1] « Patient »The date (and possibly time) when the family member history was recorded or last updateddate : dateTime [0..1]This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair"name : string [0..1]The type of relationship this person has to the patient (father, mother, brother etc.)relationship : CodeableConcept [1..1] « null (Strength=Example)FamilyMember?? »The birth sex of the family membersex : CodeableConcept [0..1] « null (Strength=Extensible)AdministrativeGender+ »The actual or approximate date of birth of the relativeborn[x] : DataType [0..1] « Period|date|string » « This element has or is affected by some invariantsC »The age of the relative at the time the family member history is recordedage[x] : DataType [0..1] « Age|Range|string » « This element has or is affected by some invariantsC »If true, indicates that the age value specified is an estimated valueestimatedAge : boolean [0..1] « This element has or is affected by some invariantsC »Deceased flag or the actual or approximate age of the relative at the time of death for the family member history recorddeceased[x] : DataType [0..1] « boolean|Age|Range|date|string » « This element has or is affected by some invariantsC »Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history eventreason : CodeableReference [0..*] « Condition|Observation| AllergyIntolerance|QuestionnaireResponse|DiagnosticReport| DocumentReference; null (Strength=Example)SNOMEDCTClinicalFindings?? »This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possiblenote : Annotation [0..*]ParticipantDistinguishes the type of involvement of the actor in the activities related to the family member historyfunction : CodeableConcept [0..1] « null (Strength=Extensible)ParticipationRoleType+ »Indicates who or what participated in the activities related to the family member historyactor : Reference [1..1] « Practitioner|PractitionerRole|Patient| RelatedPerson|Device|Organization|CareTeam »ConditionThe actual condition, allergy, or intolerance specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating systemcode : CodeableConcept [1..1] « null (Strength=Example)ConditionProblemDiagnosisCodes?? »Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relationoutcome : CodeableConcept [0..1] « null (Strength=Example)ConditionOutcomeCodes?? »This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknowncontributedToDeath : boolean [0..1]Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrenceonset[x] : DataType [0..1] « Age|Range|Period|string »An area where general notes can be placed about this specific conditionnote : Annotation [0..*]ProcedureThe actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating systemcode : CodeableConcept [1..1] « null (Strength=Example)ProcedureCodesSNOMEDCT?? »Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relationoutcome : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTClinicalFindings?? »This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknowncontributedToDeath : boolean [0..1]Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be capturedperformed[x] : DataType [0..1] « Age|Range|Period|string|dateTime »An area where general notes can be placed about this specific procedurenote : Annotation [0..*]Indicates who or what participated in the activities related to the family member history and how they were involvedparticipant[0..*]The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per conditioncondition[0..*]The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedureprocedure[0..*]

XML Template

<FamilyMemberHistory xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Id(s) for this record --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure|
   OperationDefinition|PlanDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical>
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <status value="[code]"/><!-- 1..1 partial | completed | entered-in-error | health-unknown -->
 <dataAbsentReason><!-- 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred --></dataAbsentReason>
 <patient><!-- 1..1 Reference(Patient) Patient history is about --></patient>
 <date value="[dateTime]"/><!-- 0..1 When history was recorded or last updated -->
 <participant>  <!-- 0..* Who or what participated in the activities related to the family member history and how they were involved -->
  <function><!-- 0..1 CodeableConcept Type of involvement --></function>
  <actor><!-- 1..1 Reference(CareTeam|Device|Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) Who or what participated in the activities related to the family member history --></actor>
 </participant>
 <name value="[string]"/><!-- 0..1 The family member described -->
 <relationship><!-- 1..1 CodeableConcept Relationship to the subject icon --></relationship>
 <sex><!-- 0..1 CodeableConcept male | female | other | unknown --></sex>
 <born[x]><!-- I 0..1 Period|date|string (approximate) date of birth --></born[x]>
 <age[x]><!-- I 0..1 Age|Range|string (approximate) age --></age[x]>
 <estimatedAge value="[boolean]"/><!-- I 0..1 Age is estimated? -->
 <deceased[x]><!-- I 0..1 boolean|Age|Range|date|string Dead? How old/when? --></deceased[x]>
 <reason><!-- 0..* CodeableReference(AllergyIntolerance|Condition|
   DiagnosticReport|DocumentReference|Observation|QuestionnaireResponse) Why was family member history performed? --></reason>
 <note><!-- 0..* Annotation General note about related person --></note>
 <condition>  <!-- 0..* Condition that the related person had -->
  <code><!-- 1..1 CodeableConcept Condition, allergy, or intolerance suffered by relation --></code>
  <outcome><!-- 0..1 CodeableConcept deceased | permanent disability | etc --></outcome>
  <contributedToDeath value="[boolean]"/><!-- 0..1 Whether the condition contributed to the cause of death -->
  <onset[x]><!-- 0..1 Age|Range|Period|string When condition first manifested --></onset[x]>
  <note><!-- 0..* Annotation Extra information about condition --></note>
 </condition>
 <procedure>  <!-- 0..* Procedures that the related person had -->
  <code><!-- 1..1 CodeableConcept Procedures performed on the related person --></code>
  <outcome><!-- 0..1 CodeableConcept What happened following the procedure --></outcome>
  <contributedToDeath value="[boolean]"/><!-- 0..1 Whether the procedure contributed to the cause of death -->
  <performed[x]><!-- 0..1 Age|Range|Period|string|dateTime When the procedure was performed --></performed[x]>
  <note><!-- 0..* Annotation Extra information about the procedure --></note>
 </procedure>
</FamilyMemberHistory>

JSON Template

{doco
  "resourceType" : "FamilyMemberHistory",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Id(s) for this record
  "instantiatesCanonical" : ["<canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition)>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "status" : "<code>", // R!  partial | completed | entered-in-error | health-unknown
  "dataAbsentReason" : { CodeableConcept }, // subject-unknown | withheld | unable-to-obtain | deferred
  "patient" : { Reference(Patient) }, // R!  Patient history is about
  "date" : "<dateTime>", // When history was recorded or last updated
  "participant" : [{ // Who or what participated in the activities related to the family member history and how they were involved
    "function" : { CodeableConcept }, // Type of involvement
    "actor" : { Reference(CareTeam|Device|Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) } // R!  Who or what participated in the activities related to the family member history
  }],
  "name" : "<string>", // The family member described
  "relationship" : { CodeableConcept }, // R!  Relationship to the subject icon
  "sex" : { CodeableConcept }, // male | female | other | unknown
  // born[x]: (approximate) date of birth. One of these 3:
  "bornPeriod" : { Period },
  "bornDate" : "<date>",
  "bornString" : "<string>",
  // age[x]: (approximate) age. One of these 3:
  "ageAge" : { Age },
  "ageRange" : { Range },
  "ageString" : "<string>",
  "estimatedAge" : <boolean>, // I Age is estimated?
  // deceased[x]: Dead? How old/when?. One of these 5:
  "deceasedBoolean" : <boolean>,
  "deceasedAge" : { Age },
  "deceasedRange" : { Range },
  "deceasedDate" : "<date>",
  "deceasedString" : "<string>",
  "reason" : [{ CodeableReference(AllergyIntolerance|Condition|
   DiagnosticReport|DocumentReference|Observation|QuestionnaireResponse) }], // Why was family member history performed?
  "note" : [{ Annotation }], // General note about related person
  "condition" : [{ // Condition that the related person had
    "code" : { CodeableConcept }, // R!  Condition, allergy, or intolerance suffered by relation
    "outcome" : { CodeableConcept }, // deceased | permanent disability | etc
    "contributedToDeath" : <boolean>, // Whether the condition contributed to the cause of death
    // onset[x]: When condition first manifested. One of these 4:
    "onsetAge" : { Age },
    "onsetRange" : { Range },
    "onsetPeriod" : { Period },
    "onsetString" : "<string>",
    "note" : [{ Annotation }] // Extra information about condition
  }],
  "procedure" : [{ // Procedures that the related person had
    "code" : { CodeableConcept }, // R!  Procedures performed on the related person
    "outcome" : { CodeableConcept }, // What happened following the procedure
    "contributedToDeath" : <boolean>, // Whether the procedure contributed to the cause of death
    // performed[x]: When the procedure was performed. One of these 5:
    "performedAge" : { Age },
    "performedRange" : { Range },
    "performedPeriod" : { Period },
    "performedString" : "<string>",
    "performedDateTime" : "<dateTime>",
    "note" : [{ Annotation }] // Extra information about the procedure
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:FamilyMemberHistory;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External Id(s) for this record
  fhir:instantiatesCanonical  ( [ canonical(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|Questionnaire) ] ... ) ; # 0..* Instantiates FHIR protocol or definition
  fhir:instantiatesUri  ( [ uri ] ... ) ; # 0..* Instantiates external protocol or definition
  fhir:status [ code ] ; # 1..1 partial | completed | entered-in-error | health-unknown
  fhir:dataAbsentReason [ CodeableConcept ] ; # 0..1 subject-unknown | withheld | unable-to-obtain | deferred
  fhir:patient [ Reference(Patient) ] ; # 1..1 Patient history is about
  fhir:date [ dateTime ] ; # 0..1 When history was recorded or last updated
  fhir:participant ( [ # 0..* Who or what participated in the activities related to the family member history and how they were involved
    fhir:function [ CodeableConcept ] ; # 0..1 Type of involvement
    fhir:actor [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Who or what participated in the activities related to the family member history
  ] ... ) ;
  fhir:name [ string ] ; # 0..1 The family member described
  fhir:relationship [ CodeableConcept ] ; # 1..1 Relationship to the subject
  fhir:sex [ CodeableConcept ] ; # 0..1 male | female | other | unknown
  # born[x] : 0..1 I (approximate) date of birth. One of these 3
    fhir:born [  a fhir:Period ; Period ]
    fhir:born [  a fhir:date ; date ]
    fhir:born [  a fhir:string ; string ]
  # age[x] : 0..1 I (approximate) age. One of these 3
    fhir:age [  a fhir:Age ; Age ]
    fhir:age [  a fhir:Range ; Range ]
    fhir:age [  a fhir:string ; string ]
  fhir:estimatedAge [ boolean ] ; # 0..1 I Age is estimated?
  # deceased[x] : 0..1 I Dead? How old/when?. One of these 5
    fhir:deceased [  a fhir:boolean ; boolean ]
    fhir:deceased [  a fhir:Age ; Age ]
    fhir:deceased [  a fhir:Range ; Range ]
    fhir:deceased [  a fhir:date ; date ]
    fhir:deceased [  a fhir:string ; string ]
  fhir:reason  ( [ CodeableReference(AllergyIntolerance|Condition|DiagnosticReport|DocumentReference|Observation|
  QuestionnaireResponse) ] ... ) ; # 0..* Why was family member history performed?
  fhir:note  ( [ Annotation ] ... ) ; # 0..* General note about related person
  fhir:condition ( [ # 0..* Condition that the related person had
    fhir:code [ CodeableConcept ] ; # 1..1 Condition, allergy, or intolerance suffered by relation
    fhir:outcome [ CodeableConcept ] ; # 0..1 deceased | permanent disability | etc
    fhir:contributedToDeath [ boolean ] ; # 0..1 Whether the condition contributed to the cause of death
    # onset[x] : 0..1 When condition first manifested. One of these 4
      fhir:onset [  a fhir:Age ; Age ]
      fhir:onset [  a fhir:Range ; Range ]
      fhir:onset [  a fhir:Period ; Period ]
      fhir:onset [  a fhir:string ; string ]
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Extra information about condition
  ] ... ) ;
  fhir:procedure ( [ # 0..* Procedures that the related person had
    fhir:code [ CodeableConcept ] ; # 1..1 Procedures performed on the related person
    fhir:outcome [ CodeableConcept ] ; # 0..1 What happened following the procedure
    fhir:contributedToDeath [ boolean ] ; # 0..1 Whether the procedure contributed to the cause of death
    # performed[x] : 0..1 When the procedure was performed. One of these 5
      fhir:performed [  a fhir:Age ; Age ]
      fhir:performed [  a fhir:Range ; Range ]
      fhir:performed [  a fhir:Period ; Period ]
      fhir:performed [  a fhir:string ; string ]
      fhir:performed [  a fhir:dateTime ; dateTime ]
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Extra information about the procedure
  ] ... ) ;
]

Changes from both R4 and R4B

FamilyMemberHistory
FamilyMemberHistory.participant
  • Added Element
FamilyMemberHistory.participant.function
  • Added Element
FamilyMemberHistory.participant.actor
  • Added Mandatory Element
FamilyMemberHistory.sex
  • Change value set from http://build.fhir.org/valueset-administrative-gender.html to AdministrativeGender
FamilyMemberHistory.reason
  • Added Element
FamilyMemberHistory.procedure
  • Added Element
FamilyMemberHistory.procedure.code
  • Added Mandatory Element
FamilyMemberHistory.procedure.outcome
  • Added Element
FamilyMemberHistory.procedure.contributedToDeath
  • Added Element
FamilyMemberHistory.procedure.performed[x]
  • Added Element
FamilyMemberHistory.procedure.note
  • Added Element
FamilyMemberHistory.reasonCode
  • Deleted (-> FamilyMemberHistory.reason)
FamilyMemberHistory.reasonReference
  • Deleted (-> FamilyMemberHistory.reason)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
FamilyMemberHistory.status FamilyHistoryStatus Required

A code that identifies the status of the family history record.

FamilyMemberHistory.dataAbsentReason FamilyHistoryAbsentReason Example

Codes describing the reason why a family member's history is not available.

FamilyMemberHistory.participant.function ParticipationRoleType Extensible

This FHIR value set is comprised of Actor participation Type codes, which can be used to value FHIR agents, actors, and other role elements. The codes are intended to express how the agent participated in some activity. Sometimes refered to the agent functional-role relative to the activity.

FamilyMemberHistory.relationship FamilyMember icon Example

A relationship between two people characterizing their "familial" relationship

FamilyMemberHistory.sex AdministrativeGender Extensible

The gender of a person used for administrative purposes.

FamilyMemberHistory.reason SNOMEDCTClinicalFindings Example

This value set includes all the "Clinical finding" SNOMED CT icon codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

FamilyMemberHistory.condition.code ConditionProblemDiagnosisCodes Example

Example value set for Condition/Problem/Diagnosis codes.

FamilyMemberHistory.condition.outcome ConditionOutcomeCodes Example

Example value set for condition outcomes.

FamilyMemberHistory.procedure.code ProcedureCodesSNOMEDCT Example

Procedure Code: All SNOMED CT procedure codes.

FamilyMemberHistory.procedure.outcome SNOMEDCTClinicalFindings Example

This value set includes all the "Clinical finding" SNOMED CT icon codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

UniqueKeyLevelLocationDescriptionExpression
img fhs-1Rule (base)Can have age[x] or born[x], but not bothage.empty() or born.empty()
img fhs-2Rule (base)Can only have estimatedAge if age[x] is presentage.exists() or estimatedAge.empty()
img fhs-3Rule (base)Can have age[x] or deceased[x], but not bothage.empty() or deceased.empty()

The Family Member History List may contain other than FamilyMemberHistory resources. For example, a full Family History could be a List that might include a mixture of FamilyMemberHistory records as well as Observation records of things like "maternal family history of breast cancer", "number of siblings", "number of female family members with breast cancer" etc.

The List representing a patient's "family history" can include Condition and Observation records that capture "family-history" relevant assertions about the patient themselves that would typically be captured as part of a family history.

Not Reviewed, Not Asked

When a sending system does not have family history about any family members or the statement is about family history not yet being asked, then the List resource should be used to indicate the List.emptyReason="notasked".

Reviewed, None Identified for Family

After reasonable investigation that there are no known items for the family member history list, then the List resource should be used to indicate the List.emptyReason="nilknown". The List.emptyReason represents a statement about the full scope of the list (i.e. the patient or patient's agent/guardian has asserted that there are no conditions or significant events for any family members to record).

Reviewed, No Information Available for a Family Member

When an individual family member's history is not available, FamilyMemberHistory.dataAbsentReason can be used to indicate why that family member's history is not available (e.g. subject unknown).

Reviewed, No Known Problems or Negated Condition for a Family Member

The FamilyMemberHistory.condition.code can be used to capture "No Known Problems" or negated conditions, such as "No history of malignant tumor of breast", for an individual family member.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
code token A search by a condition code FamilyMemberHistory.condition.code 21 Resources
date date When history was recorded or last updated FamilyMemberHistory.date 26 Resources
identifier token A search by a record identifier FamilyMemberHistory.identifier 65 Resources
instantiates-canonical reference Instantiates FHIR protocol or definition FamilyMemberHistory.instantiatesCanonical
(Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition)
instantiates-uri uri Instantiates external protocol or definition FamilyMemberHistory.instantiatesUri
patient reference The identity of a subject to list family member history items for FamilyMemberHistory.patient
(Patient)
65 Resources
relationship token A search by a relationship type FamilyMemberHistory.relationship
sex token A search by a sex code of a family member FamilyMemberHistory.sex
status token partial | completed | entered-in-error | health-unknown FamilyMemberHistory.status