MCC eCare Plan Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions
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:
Comments are welcome with respect to the pragmatic use of the “Must Support” rules defined on these elements.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from FamilyMemberHistory
This structure is derived from FamilyMemberHistory
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FamilyMemberHistory | 0..* | FamilyMemberHistory | Information about patient's relatives, relevant for patient | |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension:resource-pertainsToGoal | S | 0..* | Extension | Extension |
url | S | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" |
value[x] | S | 1..1 | Reference() | Reference to a Goal |
relationship | 1..1 | CodeableConcept | First 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) | |
condition | S | 1..* | BackboneElement | Condition that the related person had |
code | S | 1..1 | CodeableConcept | Please see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
FamilyMemberHistory | I | 0..* | FamilyMemberHistory | Information about patient's relatives, relevant for patient | ||||
id | Σ | 0..1 | string | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
extension:resource-pertainsToGoal | S | 0..* | Extension | Extension | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
url | S | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" | ||||
value[x] | S | 1..1 | Reference() | Reference to a Goal | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
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 | ||||
status | ?!Σ | 1..1 | code | partial | completed | entered-in-error | health-unknown Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record. | ||||
dataAbsentReason | Σ | 0..1 | CodeableConcept | subject-unknown | withheld | unable-to-obtain | deferred Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available. | ||||
patient | Σ | 1..1 | Reference(Patient) | Patient history is about | ||||
date | Σ | 0..1 | dateTime | When history was recorded or last updated | ||||
name | Σ | 0..1 | string | The family member described | ||||
relationship | Σ | 1..1 | CodeableConcept | First 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..1 | CodeableConcept | male | female | other | unknown Binding: AdministrativeGender (extensible): Codes describing the sex assigned at birth as documented on the birth registration. | ||||
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? 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..* | Annotation | General note about related person | |||||
condition | S | 1..* | BackboneElement | Condition that the related person had | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | S | 1..1 | CodeableConcept | Please 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..1 | CodeableConcept | deceased | permanent disability | etc. Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. | |||||
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 | |||||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FamilyMemberHistory | I | 0..* | FamilyMemberHistory | Information about patient's relatives, relevant for patient |
extension:resource-pertainsToGoal | 0..* | Extension | Extension | |
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" | |
value[x] | 1..1 | Reference() | Reference to a Goal | |
condition | 1..* | BackboneElement | Condition that the related person had | |
code | 1..1 | CodeableConcept | Please 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. | |
Documentation for this format |
This structure is derived from FamilyMemberHistory
Differential View
This structure is derived from FamilyMemberHistory
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
FamilyMemberHistory | 0..* | FamilyMemberHistory | Information about patient's relatives, relevant for patient | |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension:resource-pertainsToGoal | S | 0..* | Extension | Extension |
url | S | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" |
value[x] | S | 1..1 | Reference() | Reference to a Goal |
relationship | 1..1 | CodeableConcept | First 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) | |
condition | S | 1..* | BackboneElement | Condition that the related person had |
code | S | 1..1 | CodeableConcept | Please see the MCC Condition Value Set Library (link?) for Condition value sets that can be used at FamilyHistory.condition.code |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
FamilyMemberHistory | I | 0..* | FamilyMemberHistory | Information about patient's relatives, relevant for patient | ||||
id | Σ | 0..1 | string | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
extension:resource-pertainsToGoal | S | 0..* | Extension | Extension | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
url | S | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" | ||||
value[x] | S | 1..1 | Reference() | Reference to a Goal | ||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
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 | ||||
status | ?!Σ | 1..1 | code | partial | completed | entered-in-error | health-unknown Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record. | ||||
dataAbsentReason | Σ | 0..1 | CodeableConcept | subject-unknown | withheld | unable-to-obtain | deferred Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available. | ||||
patient | Σ | 1..1 | Reference(Patient) | Patient history is about | ||||
date | Σ | 0..1 | dateTime | When history was recorded or last updated | ||||
name | Σ | 0..1 | string | The family member described | ||||
relationship | Σ | 1..1 | CodeableConcept | First 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..1 | CodeableConcept | male | female | other | unknown Binding: AdministrativeGender (extensible): Codes describing the sex assigned at birth as documented on the birth registration. | ||||
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? 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..* | Annotation | General note about related person | |||||
condition | S | 1..* | BackboneElement | Condition that the related person had | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | S | 1..1 | CodeableConcept | Please 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..1 | CodeableConcept | deceased | permanent disability | etc. Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. | |||||
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 | |||||
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
FamilyMemberHistory.language | preferred | CommonLanguages Max Binding: AllLanguages |
FamilyMemberHistory.status | required | FamilyHistoryStatus |
FamilyMemberHistory.dataAbsentReason | example | FamilyHistoryAbsentReason |
FamilyMemberHistory.relationship | preferred | https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1032.92/expansion/Latest |
FamilyMemberHistory.sex | extensible | AdministrativeGender |
FamilyMemberHistory.reasonCode | example | SNOMEDCTClinicalFindings |
FamilyMemberHistory.condition.code | example | Condition/Problem/DiagnosisCodes |
FamilyMemberHistory.condition.outcome | example | ConditionOutcomeCodes |
Id | Grade | Path | Details | Requirements |
dom-2 | error | FamilyMemberHistory | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | FamilyMemberHistory | If 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-4 | error | FamilyMemberHistory | If 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-5 | error | FamilyMemberHistory | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | FamilyMemberHistory | A resource should have narrative for robust management : text.`div`.exists() | |
fhs-1 | error | FamilyMemberHistory | Can have age[x] or born[x], but not both : age.empty() or born.empty() | |
fhs-2 | error | FamilyMemberHistory | Can only have estimatedAge if age[x] is present : age.exists() or estimatedAge.empty() | |
ele-1 | error | FamilyMemberHistory.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.extension:resource-pertainsToGoal | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.extension:resource-pertainsToGoal | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.extension:resource-pertainsToGoal.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.extension:resource-pertainsToGoal.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.extension:resource-pertainsToGoal.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.instantiatesUri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.patient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.relationship | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.sex | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.born[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.age[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.estimatedAge | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.deceased[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.condition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.condition.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | FamilyMemberHistory.condition.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | FamilyMemberHistory.condition.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition.outcome | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition.contributedToDeath | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition.onset[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | FamilyMemberHistory.condition.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |