Medicolegal Death Investigation (MDI)
1.0.0-ballot - STU 1 Ballot US

This page is part of the Medicolegal Death Investigation (MDI) (v1.0.0-ballot: STU1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: List - Cause of Death Pathway

Official URL: http://hl7.org/fhir/us/mdi/StructureDefinition/List-cause-of-death-pathway Version: 1.0.0-ballot
Draft as of 2022-03-28 Computable Name: ListCauseOfDeathPathway

This List profile is an ordered list of cause of death conditions.

This profile builds upon the FHIR List resource. There can be up to 5 List.entry each containing one Observation - Cause of Death Condition profile. The source of the Cause of Death Pathway (List.source) is a US Core Practitioner.

Record the chain of events–diseases, injuries, or complications–that directly caused the death. DO NOT enter terminal events such as cardiac arrest, respiratory arrest, or ventricular fibrillation without showing the etiology. DO NOT ABBREVIATE. Enter only one cause in each List.entry.item (Observation - Cause of Death Condition).

  • The FIRST List.entry.item (Observation - Cause of Death Condition) is the IMMEDIATE CAUSE (Final disease or condition resulting in death)
  • For each subsequent List.entry.item (Observation - Cause of Death Condition), sequentially list conditions, if any, leading to the cause recorded in the first List.entry.item
  • The LAST List.entry.item (Observation - Cause of Death Condition) is the UNDERLYING CAUSE (disease or injury that initiated the events resulting in death)

Formal Views of Profile Content

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

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*ListA list is a curated collection of resources
... id 0..1stringid
... status S1..1codestatus
Fixed Value: current
... mode S1..1codemode
Fixed Value: snapshot
... source S1..1Reference(US Core Practitioner Profile)source
... entry S1..5BackboneElementThe first entry.item is the IMMEDIATE CAUSE, for each subsequent entry.item, sequentially list conditions, if any, leading to the cause recorded in the first entry.item, the last entry.item is the UNDERLYING CAUSE
.... item S1..1Reference(Observation - Cause of Death Condition)One cause of death

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List I0..*ListA list is a curated collection of resources
... id Σ0..1stringid
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness identifier
... status ?!SΣ1..1codestatus
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!SΣ1..1codemode
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ0..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code Σ0..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject SΣ1..1Reference(US Core Patient Profile)If all resources have the same subject
... encounter 0..1Reference(Encounter)Context in which list created
... date Σ0..1dateTimeWhen the list was prepared
... source SΣ1..1Reference(US Core Practitioner Profile)source
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..*AnnotationComments about the list
... entry SI1..5BackboneElementThe first entry.item is the IMMEDIATE CAUSE, for each subsequent entry.item, sequentially list conditions, if any, leading to the cause recorded in the first entry.item, the last entry.item is the UNDERLYING CAUSE
.... 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
.... flag 0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!I0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item S1..1Reference(Observation - Cause of Death Condition)One cause of death
... emptyReason I0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List I0..*ListA list is a curated collection of resources
... status ?!Σ1..1codestatus
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!Σ1..1codemode
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... subject Σ1..1Reference(US Core Patient Profile)If all resources have the same subject
... entry I1..5BackboneElementThe first entry.item is the IMMEDIATE CAUSE, for each subsequent entry.item, sequentially list conditions, if any, leading to the cause recorded in the first entry.item, the last entry.item is the UNDERLYING CAUSE
.... item 1..1Reference(Observation - Cause of Death Condition)One cause of death

doco Documentation for this format

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..*ListA list is a curated collection of resources
... id 0..1stringid
... status S1..1codestatus
Fixed Value: current
... mode S1..1codemode
Fixed Value: snapshot
... source S1..1Reference(US Core Practitioner Profile)source
... entry S1..5BackboneElementThe first entry.item is the IMMEDIATE CAUSE, for each subsequent entry.item, sequentially list conditions, if any, leading to the cause recorded in the first entry.item, the last entry.item is the UNDERLYING CAUSE
.... item S1..1Reference(Observation - Cause of Death Condition)One cause of death

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List I0..*ListA list is a curated collection of resources
... id Σ0..1stringid
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness identifier
... status ?!SΣ1..1codestatus
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!SΣ1..1codemode
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ0..1stringDescriptive name for the list
Example General: Dr. Jane's Patients
... code Σ0..1CodeableConceptWhat the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject SΣ1..1Reference(US Core Patient Profile)If all resources have the same subject
... encounter 0..1Reference(Encounter)Context in which list created
... date Σ0..1dateTimeWhen the list was prepared
... source SΣ1..1Reference(US Core Practitioner Profile)source
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..*AnnotationComments about the list
... entry SI1..5BackboneElementThe first entry.item is the IMMEDIATE CAUSE, for each subsequent entry.item, sequentially list conditions, if any, leading to the cause recorded in the first entry.item, the last entry.item is the UNDERLYING CAUSE
.... 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
.... flag 0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!I0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item S1..1Reference(Observation - Cause of Death Condition)One cause of death
... emptyReason I0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
List.languagepreferredCommonLanguages
Max Binding: AllLanguages
List.statusrequiredFixed Value: current
List.moderequiredFixed Value: snapshot
List.codeexampleExampleUseCodesForList
List.orderedBypreferredListOrderCodes
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePathDetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeListA resource should have narrative for robust management
: text.`div`.exists()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
ele-1errorList.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.entry.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorList.entry.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorList.entry.flagAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.deletedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.entry.itemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorList.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())