MCC eCare Plan Implementation Guide
0.1.0 - CI Build US

MCC eCare Plan Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: Multiple Chronic Condition Care Plan Family History

Official URL: http://hl7.org/fhir/us/mcc/StructureDefinition/MCCFamilyHistory Version: 0.1.0
Active as of 2022-04-21 Computable Name: MCCFamilyHistory

This profile constrains the FHIR Family Member History Resource for use in the MCC FHIR Care Plan or other FHIR Care Plans.

This profile provides a way for the Multiple Chronic Condition Care Plan to record, search, and fetch first degree family members and their chronic disease conditions or any pertinent condition. The profile is based onthe FHIR Family Member History Resource This derived profile is designed to add requirements to the following elements:

  • FamilyMemberHistory.condition is set to “Must Support”
  • FamilyMemberHistory.relationship is bound to a first degree family member value set which is a subset of the V3 Family Member Value set. (“Required” in base resource)
  • FamilyMemberHistory.extension:resource-pertainsToGoal (Must Support) to encourage linking to the goal the medication hopes to facilitate and/or to encourage systems to be able to receive and understand a goal linkage if present.

Comments are welcome with respect to the pragmatic use of the “Must Support” rules defined on these elements.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from FamilyMemberHistory

Summary

Mandatory: 1 element (2 nested mandatory elements)
Must-Support: 5 elements
Fixed Value: 1 element

This structure is derived from FamilyMemberHistory

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory 0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension:resource-pertainsToGoal S0..*ExtensionExtension
.... url S1..1uri"http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal"
.... value[x] S1..1Reference()Reference to a Goal
... relationship 1..1CodeableConceptFirst Degree Family Member
Binding: https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest (preferred): This set of values includes first degree family members (i.e., parent, sibling, full child)

.... code S1..1CodeableConceptPlease see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension:resource-pertainsToGoal S0..*ExtensionExtension
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... url S1..1uri"http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal"
.... value[x] S1..1Reference()Reference to a Goal
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... status ?!Σ1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record.

... dataAbsentReason Σ0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available.

... patient Σ1..1Reference(Patient)Patient history is about
... date Σ0..1dateTimeWhen history was recorded or last updated
... name Σ0..1stringThe family member described
... relationship Σ1..1CodeableConceptFirst Degree Family Member
Binding: https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest (preferred): This set of values includes first degree family members (i.e., parent, sibling, full child)

... sex Σ0..1CodeableConceptmale | female | other | unknown
Binding: AdministrativeGender (extensible): Codes describing the sex assigned at birth as documented on the birth registration.

... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] ΣI0..1(approximate) age
.... ageAgeAge
.... ageRangeRange
.... ageStringstring
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] Σ0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode Σ0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example): Codes indicating why the family member history was done.


... reasonReference Σ0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note 0..*AnnotationGeneral note about related person
... condition S1..*BackboneElementCondition that the related person had
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S1..1CodeableConceptPlease see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the Condition or diagnosis.

.... outcome 0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.

.... contributedToDeath 0..1booleanWhether the condition contributed to the cause of death
.... onset[x] 0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note 0..*AnnotationExtra information about condition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... extension:resource-pertainsToGoal 0..*ExtensionExtension
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal"
.... value[x] 1..1Reference()Reference to a Goal
... condition 1..*BackboneElementCondition that the related person had
.... code 1..1CodeableConceptPlease see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the Condition or diagnosis.


doco Documentation for this format

This structure is derived from FamilyMemberHistory

Summary

Mandatory: 1 element (2 nested mandatory elements)
Must-Support: 5 elements
Fixed Value: 1 element

Differential View

This structure is derived from FamilyMemberHistory

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory 0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension:resource-pertainsToGoal S0..*ExtensionExtension
.... url S1..1uri"http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal"
.... value[x] S1..1Reference()Reference to a Goal
... relationship 1..1CodeableConceptFirst Degree Family Member
Binding: https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest (preferred): This set of values includes first degree family members (i.e., parent, sibling, full child)

.... code S1..1CodeableConceptPlease see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... extension:resource-pertainsToGoal S0..*ExtensionExtension
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... url S1..1uri"http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal"
.... value[x] S1..1Reference()Reference to a Goal
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... status ?!Σ1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record.

... dataAbsentReason Σ0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available.

... patient Σ1..1Reference(Patient)Patient history is about
... date Σ0..1dateTimeWhen history was recorded or last updated
... name Σ0..1stringThe family member described
... relationship Σ1..1CodeableConceptFirst Degree Family Member
Binding: https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest (preferred): This set of values includes first degree family members (i.e., parent, sibling, full child)

... sex Σ0..1CodeableConceptmale | female | other | unknown
Binding: AdministrativeGender (extensible): Codes describing the sex assigned at birth as documented on the birth registration.

... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] ΣI0..1(approximate) age
.... ageAgeAge
.... ageRangeRange
.... ageStringstring
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] Σ0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode Σ0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example): Codes indicating why the family member history was done.


... reasonReference Σ0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note 0..*AnnotationGeneral note about related person
... condition S1..*BackboneElementCondition that the related person had
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code S1..1CodeableConceptPlease see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the Condition or diagnosis.

.... outcome 0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.

.... contributedToDeath 0..1booleanWhether the condition contributed to the cause of death
.... onset[x] 0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note 0..*AnnotationExtra information about condition

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
FamilyMemberHistory.languagepreferredCommonLanguages
Max Binding: AllLanguages
FamilyMemberHistory.statusrequiredFamilyHistoryStatus
FamilyMemberHistory.dataAbsentReasonexampleFamilyHistoryAbsentReason
FamilyMemberHistory.relationshippreferredhttps://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest
FamilyMemberHistory.sexextensibleAdministrativeGender
FamilyMemberHistory.reasonCodeexampleSNOMEDCTClinicalFindings
FamilyMemberHistory.condition.codeexampleCondition/Problem/DiagnosisCodes
FamilyMemberHistory.condition.outcomeexampleConditionOutcomeCodes

Constraints

IdGradePathDetailsRequirements
dom-2errorFamilyMemberHistoryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorFamilyMemberHistoryIf 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-4errorFamilyMemberHistoryIf 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-5errorFamilyMemberHistoryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeFamilyMemberHistoryA resource should have narrative for robust management
: text.`div`.exists()
fhs-1errorFamilyMemberHistoryCan have age[x] or born[x], but not both
: age.empty() or born.empty()
fhs-2errorFamilyMemberHistoryCan only have estimatedAge if age[x] is present
: age.exists() or estimatedAge.empty()
ele-1errorFamilyMemberHistory.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.extension:resource-pertainsToGoalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.extension:resource-pertainsToGoalMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.extension:resource-pertainsToGoal.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.extension:resource-pertainsToGoal.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.extension:resource-pertainsToGoal.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.sexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.born[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.age[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.estimatedAgeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.condition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorFamilyMemberHistory.condition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorFamilyMemberHistory.condition.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.condition.outcomeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.condition.contributedToDeathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.condition.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorFamilyMemberHistory.condition.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())