QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.1)

QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions

D.4.1 StructureDefinition-qicore-familymemberhistory

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Father Died of Heart Attack Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-familymemberhistory

Profile of Family Member History for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile builds on FamilyMemberHistory.

This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... status ?!ΣI1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required)
... dataAbsentReason ΣI0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example)
... patient SΣI1..1Reference(QICorePatient)Patient history is about
... date SΣI0..1dateTimeWhen history was recorded or last updated
... name ΣI0..1stringThe family member described
... relationship SΣI1..1CodeableConceptRelationship to the subject
Binding: V3 Value SetFamilyMember (example)
... sex ΣI0..1CodeableConceptmale | female | other | unknown
Binding: AdministrativeGender (extensible)
... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] SΣI0..1(approximate) age
.... ageAgeAge
.... ageRangeRange
.... ageStringstring
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] SΣI0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode ΣI0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example)
... reasonReference ΣI0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note I0..*AnnotationGeneral note about related person
... condition I0..*BackboneElementCondition that the related person had
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... familymemberhistory-abatement I0..1date, Age, booleanWhen (or if) the family member's condition resolved
URL: http://hl7.org/fhir/StructureDefinition/familymemberhistory-abatement
.... familymemberhistory-severity I0..1CodeableConceptThe seriousness of the family member condition
URL: http://hl7.org/fhir/StructureDefinition/familymemberhistory-severity
Binding: Condition/DiagnosisSeverity (example)
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SI1..1CodeableConceptCondition suffered by relation
Binding: Condition/Problem/DiagnosisCodes (example)
.... outcome I0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example)
.... contributedToDeath I0..1booleanWhether the condition contributed to the cause of death
.... onset[x] I0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note I0..*AnnotationExtra information about condition

doco Documentation for this format

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... status ?!ΣI1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required)
... dataAbsentReason ΣI0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example)
... patient SΣI1..1Reference(QICorePatient)Patient history is about
... date SΣI0..1dateTimeWhen history was recorded or last updated
... name ΣI0..1stringThe family member described
... relationship SΣI1..1CodeableConceptRelationship to the subject
Binding: V3 Value SetFamilyMember (example)
... sex ΣI0..1CodeableConceptmale | female | other | unknown
Binding: AdministrativeGender (extensible)
... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] SΣI0..1(approximate) age
.... ageAgeAge
.... ageRangeRange
.... ageStringstring
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] SΣI0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode ΣI0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example)
... reasonReference ΣI0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note I0..*AnnotationGeneral note about related person
... condition I0..*BackboneElementCondition that the related person had
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... familymemberhistory-abatement I0..1date, Age, booleanWhen (or if) the family member's condition resolved
URL: http://hl7.org/fhir/StructureDefinition/familymemberhistory-abatement
.... familymemberhistory-severity I0..1CodeableConceptThe seriousness of the family member condition
URL: http://hl7.org/fhir/StructureDefinition/familymemberhistory-severity
Binding: Condition/DiagnosisSeverity (example)
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SI1..1CodeableConceptCondition suffered by relation
Binding: Condition/Problem/DiagnosisCodes (example)
.... outcome I0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example)
.... contributedToDeath I0..1booleanWhether the condition contributed to the cause of death
.... onset[x] I0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note I0..*AnnotationExtra information about condition

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
FamilyMemberHistory.languagepreferredCommonLanguages
Max Binding: AllLanguages
FamilyMemberHistory.statusrequiredFamilyHistoryStatus
FamilyMemberHistory.dataAbsentReasonexampleFamilyHistoryAbsentReason
FamilyMemberHistory.relationshipexamplev3.FamilyMember
FamilyMemberHistory.sexextensibleAdministrativeGender
FamilyMemberHistory.reasonCodeexampleSNOMEDCTClinicalFindings
FamilyMemberHistory.condition.codeexampleCondition/Problem/DiagnosisCodes
FamilyMemberHistory.condition.outcomeexampleConditionOutcomeCodes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2FamilyMemberHistoryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3FamilyMemberHistoryIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4FamilyMemberHistoryIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5FamilyMemberHistoryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6FamilyMemberHistoryA resource should have narrative for robust management
: text.`div`.exists()
fhs-1FamilyMemberHistoryCan have age[x] or born[x], but not both
: age.empty() or born.empty()
fhs-2FamilyMemberHistoryCan only have estimatedAge if age[x] is present
: age.exists() or estimatedAge.empty()
ele-1FamilyMemberHistory.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.sexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.born[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.estimatedAgeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.extension:condition-abatementAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.extension:condition-abatementMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.extension:condition-severityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.extension:condition-severityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.outcomeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.contributedToDeathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())