FHIR Release 3 (STU) R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.0.2: STU 3). (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

9.4 Resource FamilyMemberHistory - Content

Patient Care Work Group Maturity Level : 2   Trial Use Compartments : Patient

Significant health events and 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 events and 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.

This resource is referenced by AdverseEvent and ClinicalImpression

Structure

Name Flags Card. Type Description & Constraints doco
. . FamilyMemberHistory I TU DomainResource Information about patient's relatives, relevant for patient
+ Rule: Can only have estimatedAge if age[x] is present + Not Done Reason can only be specified if NotDone is "true" or born[x], but not both
+ Rule: Can only have estimatedAge if age[x] or born[x], but not both is present
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier External Id(s) for this record
. . . definition instantiatesCanonical Σ 0..* Reference canonical ( PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition ) Instantiates FHIR protocol or definition
. . . status instantiatesUri ?! Σ 1..1 0..* code uri partial | completed | entered-in-error | health-unknown Instantiates external protocol or definition
FamilyHistoryStatus ( Required )
. . . notDone status ?! Σ 0..1 1..1 boolean code The taking of a family member's history did not occur partial | completed | entered-in-error | health-unknown
FamilyHistoryStatus ( Required )
. . . notDoneReason dataAbsentReason Σ I 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred
FamilyHistoryNotDoneReason FamilyHistoryAbsentReason ( Example )
. . . patient Σ 1..1 Reference ( Patient ) Patient history is about
. . . date Σ 0..1 dateTime When history was captured/updated recorded or last updated
. . . name Σ 0..1 string The family member described
. . . relationship Σ 1..1 CodeableConcept Relationship to the subject
FamilyMember V3 Value SetFamilyMember ( Example )
. . . gender Σ 0..1 code CodeableConcept male | female | other | unknown
AdministrativeGender Birth Sex ( Required Extensible )
. . . born[x] I 0..1 (approximate) date of birth
. . . . bornPeriod Period
. . . . bornDate date
. . . . bornString string
. . . age[x] Σ I 0..1 (approximate) age
. . . . ageAge Age
. . . . ageRange Range
. . . . ageString string
. . . estimatedAge ?! Σ I 0..1 boolean Age is estimated?
. . . deceased[x] Σ 0..1 Dead? How old/when?
. . . . deceasedBoolean boolean
. . . . deceasedAge Age
. . . . deceasedRange Range
. . . . deceasedDate date
. . . . deceasedString string
. . . reasonCode Σ 0..* CodeableConcept Why was family member history performed?
SNOMED CT Clinical Findings ( Example )
. . . reasonReference Σ 0..* Reference ( Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference ) Why was family member history performed?
. . . note 0..* Annotation General note about related person
. . . condition 0..* BackboneElement Condition that the related person had
. . . . code 1..1 CodeableConcept Condition suffered by relation
Condition/Problem/Diagnosis Codes ( Example )
. . . . outcome 0..1 CodeableConcept deceased | permanent disability | etc.
Condition Outcome Codes ( Example )
. . . . onset[x] 0..1 When condition first manifested
. . . . . onsetAge Age
. . . . . onsetRange Range
. . . . . onsetPeriod Period
. . . . . onsetString string
. . . . note 0..* Annotation Extra information about condition

doco Documentation for this format

UML Diagram ( Legend )

FamilyMemberHistory ( DomainResource ) This records Business identifiers associated with assigned to this family member history record that are defined by business processes and/ the performer or used to refer to it when a direct URL reference to other systems which remain constant as the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) updated and propagates from server to server identifier : Identifier [0..*] A protocol The URL pointing to a FHIR-defined protocol, guideline, orderset or questionnaire other definition that was is adhered to in whole or in part by this event FamilyMemberHistory definition instantiatesCanonical : Reference 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 FamilyMemberHistory instantiatesUri : 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] « A code that identifies the status of the family history record. (Strength=Required) FamilyHistoryStatus ! » If true, indicates the taking of an individual family member's history did not occur. The notDone element should not be used to document negated conditions, such as a family member that did not have a condition (this element modifies the meaning of other elements) notDone : boolean [0..1] Describes why the family member's history is absent not available notDoneReason dataAbsentReason : CodeableConcept [0..1] « Codes describing the reason why a family member member's history was is not done. available. (Strength=Example) FamilyHistoryNotDoneReason FamilyHistoryAbsentReason ?? » The person who this history concerns patient : Reference [1..1] « Patient » The date (and possibly time) when the family member history was taken recorded or last updated date : dateTime [0..1] This will either be a name or a description; e.g. "Aunt Susan", "my "Aunt Susan", "my cousin with the red hair" hair" name : string [0..1] The type of relationship this person has to the patient (father, mother, brother etc.) relationship : CodeableConcept [1..1] « The nature of the relationship between the patient and the related person being described in the family member history. (Strength=Example) FamilyMember v3.FamilyMember ?? » Administrative Gender - the gender that The birth sex of the relative is considered to have for administration and record keeping purposes family member gender : code CodeableConcept [0..1] « The gender of a person used for administrative purposes. (Strength=Required) Codes describing the sex assigned at birth as documented on the birth registration. (Strength=Extensible) AdministrativeGender ! BirthSex + » The actual or approximate date of birth of the relative born[x] : Type [0..1] « Period | date | string » The age of the relative at the time the family member history is recorded age[x] : Type [0..1] « Age | Range | string » If true, indicates that the age value specified is an estimated value (this element modifies the meaning of other elements) estimatedAge : boolean [0..1] Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record deceased[x] : Type [0..1] « boolean | Age | Range | date | string » Describes why the family member history occurred in coded or textual form reasonCode : CodeableConcept [0..*] « Codes indicating why the family member history was done. (Strength=Example) SNOMED CT Clinical Findings SNOMEDCTClinicalFindings ?? » Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event reasonReference : Reference [0..*] « Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference » 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 possible note : Annotation [0..*] Condition The actual condition 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 system code : CodeableConcept [1..1] « Identification of the Condition or diagnosis. (Strength=Example) Condition/Problem/Diagnosis Condition/Problem/DiagnosisCo... ?? » Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation outcome : CodeableConcept [0..1] « The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. (Strength=Example) Condition Outcome ConditionOutcomeCodes ?? » 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 occurrence onset[x] : Type [0..1] « Age | Range | Period | string » An area where general notes can be placed about this specific condition note : Annotation [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 condition condition [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>
 <</definition>
 <
 <
 <</notDoneReason>

 <identifier><!-- 0..* Identifier External Id(s) for this record --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|Questionnaire|
   ActivityDefinition|Measure|OperationDefinition) 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 -->
 <name value="[string]"/><!-- 0..1 The family member described -->

 <relationship><!-- 1..1 CodeableConcept Relationship to the subject --></relationship>
 <

 <gender><!-- 0..1 CodeableConcept male | female | unknown --></gender>

 <born[x]><!-- ?? 0..1 Period|date|string (approximate) date of birth --></born[x]>
 <age[x]><!-- ?? 0..1 Age|Range|string (approximate) age --></age[x]>
 <

 <estimatedAge value="[boolean]"/><!-- ?? 0..1 Age is estimated? -->

 <deceased[x]><!-- 0..1 boolean|Age|Range|date|string Dead? How old/when? --></deceased[x]>
 <reasonCode><!-- 0..* CodeableConcept Why was family member history performed? --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|AllergyIntolerance|
   </reasonReference>

   QuestionnaireResponse|DiagnosticReport|DocumentReference) Why was family member history performed? --></reasonReference>
 <note><!-- 0..* Annotation General note about related person --></note>
 <condition>  <!-- 0..* Condition that the related person had -->
  <code><!-- 1..1 CodeableConcept Condition suffered by relation --></code>
  <outcome><!-- 0..1 CodeableConcept deceased | permanent disability | etc. --></outcome>
  <onset[x]><!-- 0..1 Age|Range|Period|string When condition first manifested --></onset[x]>
  <note><!-- 0..* Annotation Extra information about condition --></note>
 </condition>
</FamilyMemberHistory>

JSON Template

{doco
  "resourceType" : "",

  "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
  "name" : "<string>", // The family member described
  "relationship" : { CodeableConcept }, // R!  Relationship to the subject
  "gender" : { CodeableConcept }, // male | female | 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>, // C? Age is estimated?

  // deceased[x]: Dead? How old/when?. One of these 5:
  ">,
  " },
  " },
  ">",
  ">",
  "
  "|
   
  "
  "
    "
    "

  "deceasedBoolean" : <boolean>,
  "deceasedAge" : { Age },
  "deceasedRange" : { Range },
  "deceasedDate" : "<date>",
  "deceasedString" : "<string>",
  "reasonCode" : [{ CodeableConcept }], // Why was family member history performed?
  "reasonReference" : [{ Reference(Condition|Observation|AllergyIntolerance|
   QuestionnaireResponse|DiagnosticReport|DocumentReference) }], // Why was family member history performed?

  "note" : [{ Annotation }], // General note about related person
  "condition" : [{ // Condition that the related person had
    "code" : { CodeableConcept }, // R!  Condition suffered by relation
    "outcome" : { CodeableConcept }, // deceased | permanent disability | etc.

    // onset[x]: When condition first manifested. One of these 4:
    " },
    " },
    " },
    ">",
    "

    "onsetAge" : { Age },
    "onsetRange" : { Range },
    "onsetPeriod" : { Period },
    "onsetString" : "<string>",
    "note" : [{ Annotation }] // Extra information about condition

  }]
}

Turtle Template

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


[ a fhir:;

[ 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:
  fhir:

  fhir:FamilyMemberHistory.identifier [ Identifier ], ... ; # 0..* External Id(s) for this record
  fhir:FamilyMemberHistory.instantiatesCanonical [ canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:FamilyMemberHistory.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition

  fhir:FamilyMemberHistory.status [ code ]; # 1..1 partial | completed | entered-in-error | health-unknown
  fhir:
  fhir:

  fhir:FamilyMemberHistory.dataAbsentReason [ CodeableConcept ]; # 0..1 subject-unknown | withheld | unable-to-obtain | deferred

  fhir:FamilyMemberHistory.patient [ Reference(Patient) ]; # 1..1 Patient history is about
  fhir:

  fhir:FamilyMemberHistory.date [ dateTime ]; # 0..1 When history was recorded or last updated

  fhir:FamilyMemberHistory.name [ string ]; # 0..1 The family member described
  fhir:FamilyMemberHistory.relationship [ CodeableConcept ]; # 1..1 Relationship to the subject
  fhir:

  fhir:FamilyMemberHistory.gender [ CodeableConcept ]; # 0..1 male | female | unknown

  # FamilyMemberHistory.born[x] : 0..1 (approximate) date of birth. One of these 3
    fhir:FamilyMemberHistory.bornPeriod [ Period ]
    fhir:FamilyMemberHistory.bornDate [ date ]
    fhir:FamilyMemberHistory.bornString [ string ]
  # FamilyMemberHistory.age[x] : 0..1 (approximate) age. One of these 3
    fhir:FamilyMemberHistory.ageAge [ Age ]
    fhir:FamilyMemberHistory.ageRange [ Range ]
    fhir:FamilyMemberHistory.ageString [ string ]
  fhir:

  fhir:FamilyMemberHistory.estimatedAge [ boolean ]; # 0..1 Age is estimated?

  # FamilyMemberHistory.deceased[x] : 0..1 Dead? How old/when?. One of these 5
    fhir:FamilyMemberHistory.deceasedBoolean [ boolean ]
    fhir:FamilyMemberHistory.deceasedAge [ Age ]
    fhir:FamilyMemberHistory.deceasedRange [ Range ]
    fhir:FamilyMemberHistory.deceasedDate [ date ]
    fhir:FamilyMemberHistory.deceasedString [ string ]
  fhir:FamilyMemberHistory.reasonCode [ CodeableConcept ], ... ; # 0..* Why was family member history performed?
  fhir:

  fhir:FamilyMemberHistory.reasonReference [ Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|
  DocumentReference) ], ... ; # 0..* Why was family member history performed?
  fhir:FamilyMemberHistory.note [ Annotation ], ... ; # 0..* General note about related person
  fhir:FamilyMemberHistory.condition [ # 0..* Condition that the related person had
    fhir:FamilyMemberHistory.condition.code [ CodeableConcept ]; # 1..1 Condition suffered by relation
    fhir:FamilyMemberHistory.condition.outcome [ CodeableConcept ]; # 0..1 deceased | permanent disability | etc.
    # FamilyMemberHistory.condition.onset[x] : 0..1 When condition first manifested. One of these 4
      fhir:FamilyMemberHistory.condition.onsetAge [ Age ]
      fhir:FamilyMemberHistory.condition.onsetRange [ Range ]
      fhir:FamilyMemberHistory.condition.onsetPeriod [ Period ]
      fhir:FamilyMemberHistory.condition.onsetString [ string ]
    fhir:FamilyMemberHistory.condition.note [ Annotation ], ... ; # 0..* Extra information about condition
  ], ...;
]

Changes since DSTU2 R3

FamilyMemberHistory
FamilyMemberHistory.definition FamilyMemberHistory.instantiatesCanonical
  • Added Element
FamilyMemberHistory.notDone FamilyMemberHistory.instantiatesUri
  • Added Element
FamilyMemberHistory.notDoneReason FamilyMemberHistory.dataAbsentReason
  • Added Element
FamilyMemberHistory.age[x] FamilyMemberHistory.gender
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age Type changed from code to CodeableConcept
  • FamilyMemberHistory.estimatedAge
  • Added Element Change binding strength from required to extensible
  • FamilyMemberHistory.deceased[x]
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age Change value set from http://hl7.org/fhir/ValueSet/administrative-gender to http://hl7.org/fhir/ValueSet/birth-sex
FamilyMemberHistory.reasonCode FamilyMemberHistory.estimatedAge
  • Added Element No longer marked as Modifier
FamilyMemberHistory.reasonReference
  • Added Element Type changed from Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse) to Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|DocumentReference)
FamilyMemberHistory.note FamilyMemberHistory.definition
  • Max Cardinality changed from 1 to * deleted
FamilyMemberHistory.condition.onset[x] FamilyMemberHistory.notDone
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age deleted
FamilyMemberHistory.condition.note FamilyMemberHistory.notDoneReason
  • Max Cardinality changed from 1 to * deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 3 2 tests that all of which 2 fail to execute ok. All tests pass round-trip testing and all r3 resources are valid.). .)

Structure

Name Flags Card. Type Description & Constraints doco
. . FamilyMemberHistory I TU DomainResource Information about patient's relatives, relevant for patient
+ Rule: Can only have estimatedAge if age[x] is present + Not Done Reason can only be specified if NotDone is "true" or born[x], but not both
+ Rule: Can only have estimatedAge if age[x] or born[x], but not both is present
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier External Id(s) for this record
. . . definition instantiatesCanonical Σ 0..* Reference canonical ( PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition ) Instantiates FHIR protocol or definition
. . . status instantiatesUri ?! Σ 1..1 0..* code uri partial | completed | entered-in-error | health-unknown Instantiates external protocol or definition
FamilyHistoryStatus ( Required )
. . . notDone status ?! Σ 0..1 1..1 boolean code The taking of a family member's history did not occur partial | completed | entered-in-error | health-unknown
FamilyHistoryStatus ( Required )
. . . notDoneReason dataAbsentReason Σ I 0..1 CodeableConcept subject-unknown | withheld | unable-to-obtain | deferred
FamilyHistoryNotDoneReason FamilyHistoryAbsentReason ( Example )
. . . patient Σ 1..1 Reference ( Patient ) Patient history is about
. . . date Σ 0..1 dateTime When history was captured/updated recorded or last updated
. . . name Σ 0..1 string The family member described
. . . relationship Σ 1..1 CodeableConcept Relationship to the subject
FamilyMember V3 Value SetFamilyMember ( Example )
. . . gender Σ 0..1 code CodeableConcept male | female | other | unknown
AdministrativeGender Birth Sex ( Required Extensible )
. . . born[x] I 0..1 (approximate) date of birth
. . . . bornPeriod Period
. . . . bornDate date
. . . . bornString string
. . . age[x] Σ I 0..1 (approximate) age
. . . . ageAge Age
. . . . ageRange Range
. . . . ageString string
. . . estimatedAge ?! Σ I 0..1 boolean Age is estimated?
. . . deceased[x] Σ 0..1 Dead? How old/when?
. . . . deceasedBoolean boolean
. . . . deceasedAge Age
. . . . deceasedRange Range
. . . . deceasedDate date
. . . . deceasedString string
. . . reasonCode Σ 0..* CodeableConcept Why was family member history performed?
SNOMED CT Clinical Findings ( Example )
. . . reasonReference Σ 0..* Reference ( Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference ) Why was family member history performed?
. . . note 0..* Annotation General note about related person
. . . condition 0..* BackboneElement Condition that the related person had
. . . . code 1..1 CodeableConcept Condition suffered by relation
Condition/Problem/Diagnosis Codes ( Example )
. . . . outcome 0..1 CodeableConcept deceased | permanent disability | etc.
Condition Outcome Codes ( Example )
. . . . onset[x] 0..1 When condition first manifested
. . . . . onsetAge Age
. . . . . onsetRange Range
. . . . . onsetPeriod Period
. . . . . onsetString string
. . . . note 0..* Annotation Extra information about condition

doco Documentation for this format

UML Diagram ( Legend )

FamilyMemberHistory ( DomainResource ) This records Business identifiers associated with assigned to this family member history record that are defined by business processes and/ the performer or used to refer to it when a direct URL reference to other systems which remain constant as the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation) updated and propagates from server to server identifier : Identifier [0..*] A protocol The URL pointing to a FHIR-defined protocol, guideline, orderset or questionnaire other definition that was is adhered to in whole or in part by this event FamilyMemberHistory definition instantiatesCanonical : Reference 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 FamilyMemberHistory instantiatesUri : 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] « A code that identifies the status of the family history record. (Strength=Required) FamilyHistoryStatus ! » If true, indicates the taking of an individual family member's history did not occur. The notDone element should not be used to document negated conditions, such as a family member that did not have a condition (this element modifies the meaning of other elements) notDone : boolean [0..1] Describes why the family member's history is absent not available notDoneReason dataAbsentReason : CodeableConcept [0..1] « Codes describing the reason why a family member member's history was is not done. available. (Strength=Example) FamilyHistoryNotDoneReason FamilyHistoryAbsentReason ?? » The person who this history concerns patient : Reference [1..1] « Patient » The date (and possibly time) when the family member history was taken recorded or last updated date : dateTime [0..1] This will either be a name or a description; e.g. "Aunt Susan", "my "Aunt Susan", "my cousin with the red hair" hair" name : string [0..1] The type of relationship this person has to the patient (father, mother, brother etc.) relationship : CodeableConcept [1..1] « The nature of the relationship between the patient and the related person being described in the family member history. (Strength=Example) FamilyMember v3.FamilyMember ?? » Administrative Gender - the gender that The birth sex of the relative is considered to have for administration and record keeping purposes family member gender : code CodeableConcept [0..1] « The gender of a person used for administrative purposes. (Strength=Required) Codes describing the sex assigned at birth as documented on the birth registration. (Strength=Extensible) AdministrativeGender ! BirthSex + » The actual or approximate date of birth of the relative born[x] : Type [0..1] « Period | date | string » The age of the relative at the time the family member history is recorded age[x] : Type [0..1] « Age | Range | string » If true, indicates that the age value specified is an estimated value (this element modifies the meaning of other elements) estimatedAge : boolean [0..1] Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record deceased[x] : Type [0..1] « boolean | Age | Range | date | string » Describes why the family member history occurred in coded or textual form reasonCode : CodeableConcept [0..*] « Codes indicating why the family member history was done. (Strength=Example) SNOMED CT Clinical Findings SNOMEDCTClinicalFindings ?? » Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event reasonReference : Reference [0..*] « Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference » 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 possible note : Annotation [0..*] Condition The actual condition 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 system code : CodeableConcept [1..1] « Identification of the Condition or diagnosis. (Strength=Example) Condition/Problem/Diagnosis Condition/Problem/DiagnosisCo... ?? » Indicates what happened as a result of this condition. If the condition resulted in death, deceased date is captured on the relation outcome : CodeableConcept [0..1] « The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. (Strength=Example) Condition Outcome ConditionOutcomeCodes ?? » 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 occurrence onset[x] : Type [0..1] « Age | Range | Period | string » An area where general notes can be placed about this specific condition note : Annotation [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 condition condition [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>
 <</definition>
 <
 <
 <</notDoneReason>

 <identifier><!-- 0..* Identifier External Id(s) for this record --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|Questionnaire|
   ActivityDefinition|Measure|OperationDefinition) 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 -->
 <name value="[string]"/><!-- 0..1 The family member described -->

 <relationship><!-- 1..1 CodeableConcept Relationship to the subject --></relationship>
 <

 <gender><!-- 0..1 CodeableConcept male | female | unknown --></gender>

 <born[x]><!-- ?? 0..1 Period|date|string (approximate) date of birth --></born[x]>
 <age[x]><!-- ?? 0..1 Age|Range|string (approximate) age --></age[x]>
 <

 <estimatedAge value="[boolean]"/><!-- ?? 0..1 Age is estimated? -->

 <deceased[x]><!-- 0..1 boolean|Age|Range|date|string Dead? How old/when? --></deceased[x]>
 <reasonCode><!-- 0..* CodeableConcept Why was family member history performed? --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|AllergyIntolerance|
   </reasonReference>

   QuestionnaireResponse|DiagnosticReport|DocumentReference) Why was family member history performed? --></reasonReference>
 <note><!-- 0..* Annotation General note about related person --></note>
 <condition>  <!-- 0..* Condition that the related person had -->
  <code><!-- 1..1 CodeableConcept Condition suffered by relation --></code>
  <outcome><!-- 0..1 CodeableConcept deceased | permanent disability | etc. --></outcome>
  <onset[x]><!-- 0..1 Age|Range|Period|string When condition first manifested --></onset[x]>
  <note><!-- 0..* Annotation Extra information about condition --></note>
 </condition>
</FamilyMemberHistory>

JSON Template

{doco
  "resourceType" : "",

  "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
  "name" : "<string>", // The family member described
  "relationship" : { CodeableConcept }, // R!  Relationship to the subject
  "gender" : { CodeableConcept }, // male | female | 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>, // C? Age is estimated?

  // deceased[x]: Dead? How old/when?. One of these 5:
  ">,
  " },
  " },
  ">",
  ">",
  "
  "|
   
  "
  "
    "
    "

  "deceasedBoolean" : <boolean>,
  "deceasedAge" : { Age },
  "deceasedRange" : { Range },
  "deceasedDate" : "<date>",
  "deceasedString" : "<string>",
  "reasonCode" : [{ CodeableConcept }], // Why was family member history performed?
  "reasonReference" : [{ Reference(Condition|Observation|AllergyIntolerance|
   QuestionnaireResponse|DiagnosticReport|DocumentReference) }], // Why was family member history performed?

  "note" : [{ Annotation }], // General note about related person
  "condition" : [{ // Condition that the related person had
    "code" : { CodeableConcept }, // R!  Condition suffered by relation
    "outcome" : { CodeableConcept }, // deceased | permanent disability | etc.

    // onset[x]: When condition first manifested. One of these 4:
    " },
    " },
    " },
    ">",
    "

    "onsetAge" : { Age },
    "onsetRange" : { Range },
    "onsetPeriod" : { Period },
    "onsetString" : "<string>",
    "note" : [{ Annotation }] // Extra information about condition

  }]
}

Turtle Template

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


[ a fhir:;

[ 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:
  fhir:

  fhir:FamilyMemberHistory.identifier [ Identifier ], ... ; # 0..* External Id(s) for this record
  fhir:FamilyMemberHistory.instantiatesCanonical [ canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:FamilyMemberHistory.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition

  fhir:FamilyMemberHistory.status [ code ]; # 1..1 partial | completed | entered-in-error | health-unknown
  fhir:
  fhir:

  fhir:FamilyMemberHistory.dataAbsentReason [ CodeableConcept ]; # 0..1 subject-unknown | withheld | unable-to-obtain | deferred

  fhir:FamilyMemberHistory.patient [ Reference(Patient) ]; # 1..1 Patient history is about
  fhir:

  fhir:FamilyMemberHistory.date [ dateTime ]; # 0..1 When history was recorded or last updated

  fhir:FamilyMemberHistory.name [ string ]; # 0..1 The family member described
  fhir:FamilyMemberHistory.relationship [ CodeableConcept ]; # 1..1 Relationship to the subject
  fhir:

  fhir:FamilyMemberHistory.gender [ CodeableConcept ]; # 0..1 male | female | unknown

  # FamilyMemberHistory.born[x] : 0..1 (approximate) date of birth. One of these 3
    fhir:FamilyMemberHistory.bornPeriod [ Period ]
    fhir:FamilyMemberHistory.bornDate [ date ]
    fhir:FamilyMemberHistory.bornString [ string ]
  # FamilyMemberHistory.age[x] : 0..1 (approximate) age. One of these 3
    fhir:FamilyMemberHistory.ageAge [ Age ]
    fhir:FamilyMemberHistory.ageRange [ Range ]
    fhir:FamilyMemberHistory.ageString [ string ]
  fhir:

  fhir:FamilyMemberHistory.estimatedAge [ boolean ]; # 0..1 Age is estimated?

  # FamilyMemberHistory.deceased[x] : 0..1 Dead? How old/when?. One of these 5
    fhir:FamilyMemberHistory.deceasedBoolean [ boolean ]
    fhir:FamilyMemberHistory.deceasedAge [ Age ]
    fhir:FamilyMemberHistory.deceasedRange [ Range ]
    fhir:FamilyMemberHistory.deceasedDate [ date ]
    fhir:FamilyMemberHistory.deceasedString [ string ]
  fhir:FamilyMemberHistory.reasonCode [ CodeableConcept ], ... ; # 0..* Why was family member history performed?
  fhir:

  fhir:FamilyMemberHistory.reasonReference [ Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|
  DocumentReference) ], ... ; # 0..* Why was family member history performed?
  fhir:FamilyMemberHistory.note [ Annotation ], ... ; # 0..* General note about related person
  fhir:FamilyMemberHistory.condition [ # 0..* Condition that the related person had
    fhir:FamilyMemberHistory.condition.code [ CodeableConcept ]; # 1..1 Condition suffered by relation
    fhir:FamilyMemberHistory.condition.outcome [ CodeableConcept ]; # 0..1 deceased | permanent disability | etc.
    # FamilyMemberHistory.condition.onset[x] : 0..1 When condition first manifested. One of these 4
      fhir:FamilyMemberHistory.condition.onsetAge [ Age ]
      fhir:FamilyMemberHistory.condition.onsetRange [ Range ]
      fhir:FamilyMemberHistory.condition.onsetPeriod [ Period ]
      fhir:FamilyMemberHistory.condition.onsetString [ string ]
    fhir:FamilyMemberHistory.condition.note [ Annotation ], ... ; # 0..* Extra information about condition
  ], ...;
]

Changes since DSTU2 Release 3

FamilyMemberHistory
FamilyMemberHistory.definition FamilyMemberHistory.instantiatesCanonical
  • Added Element
FamilyMemberHistory.notDone FamilyMemberHistory.instantiatesUri
  • Added Element
FamilyMemberHistory.notDoneReason FamilyMemberHistory.dataAbsentReason
  • Added Element
FamilyMemberHistory.age[x] FamilyMemberHistory.gender
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age Type changed from code to CodeableConcept
  • FamilyMemberHistory.estimatedAge
  • Added Element Change binding strength from required to extensible
  • FamilyMemberHistory.deceased[x]
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age Change value set from http://hl7.org/fhir/ValueSet/administrative-gender to http://hl7.org/fhir/ValueSet/birth-sex
FamilyMemberHistory.reasonCode FamilyMemberHistory.estimatedAge
  • Added Element No longer marked as Modifier
FamilyMemberHistory.reasonReference
  • Added Element Type changed from Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse) to Reference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|DocumentReference)
FamilyMemberHistory.note FamilyMemberHistory.definition
  • Max Cardinality changed from 1 to * deleted
FamilyMemberHistory.condition.onset[x] FamilyMemberHistory.notDone
  • Remove Quantity{http://hl7.org/fhir/StructureDefinition/Age}, Add Age deleted
FamilyMemberHistory.condition.note FamilyMemberHistory.notDoneReason
  • Max Cardinality changed from 1 to * deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 <--> R4 Conversion Maps (status = 3 2 tests that all of which 2 fail to execute ok. All tests pass round-trip testing and all r3 resources are valid.). .)

 

Alternate See the Profiles & Extensions and the alternate definitions: Master Definition ( XML , + JSON ), , XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ) + see the extensions & the dependency analysis

FamilyMemberHistory.notDoneReason
Path Definition Type Reference
FamilyMemberHistory.status A code that identifies the status of the family history record. Required FamilyHistoryStatus
FamilyMemberHistory.dataAbsentReason Codes describing the reason why a family member member's history was is not done. available. Example FamilyHistoryNotDoneReason FamilyHistoryAbsentReason
FamilyMemberHistory.relationship The nature of the relationship between the patient and the related person being described in the family member history. Example FamilyMember v3.FamilyMember
FamilyMemberHistory.gender The gender of a person used for administrative purposes. Codes describing the sex assigned at birth as documented on the birth registration. Required Extensible AdministrativeGender BirthSex
FamilyMemberHistory.reasonCode Codes indicating why the family member history was done. Example SNOMED CT Clinical Findings SNOMEDCTClinicalFindings
FamilyMemberHistory.condition.code Identification of the Condition or diagnosis. Example Condition/Problem/Diagnosis Codes Condition/Problem/DiagnosisCodes
FamilyMemberHistory.condition.outcome The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. Example Condition Outcome Codes ConditionOutcomeCodes

: notDone or notDoneReason.exists().not() )
id Level Location Description Expression
fhs-1 : Rule (base) Can have age[x] or born[x], but not both ( expression : age.empty() or born.empty() )
fhs-2 : Rule (base) Can only have estimatedAge if age[x] is present ( expression : age.exists() or estimatedAge.empty() ) fhs-3 : Not Done Reason can only be specified if NotDone is "true" ( expression

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 "maternal family history of breast cancer", "number cancer", "number of siblings", "number siblings", "number of female family members with breast cancer" cancer" etc.

The List representing a patient's "family history" "family history" can include Condition and Observation records that capture "family-history" "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, None Identified 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. 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 8 13 Resources
date date When history was captured/updated recorded or last updated FamilyMemberHistory.date 18 17 Resources
definition reference Instantiates protocol or definition FamilyMemberHistory.definition ( Questionnaire , PlanDefinition ) gender token A search by a gender code of a family member FamilyMemberHistory.gender
identifier token A search by a record identifier FamilyMemberHistory.identifier 26 30 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 FamilyMemberHistory.patient.where(resolve() is Patient)
( Patient )
31 29 Resources
relationship token A search by a relationship type FamilyMemberHistory.relationship
status token partial | completed | entered-in-error | health-unknown FamilyMemberHistory.status