AeHIN Medical Certificate of Cause of Death (MCCoD) Implementation Guide
0.1.0 - Draft for AeHIN Member Review
Asia
AeHIN Medical Certificate of Cause of Death (MCCoD) Implementation Guide - Published by Asia eHealth Information Network (AeHIN). See the Directory of published versions
Contents:
Frame A is the mandatory section of every MCCoD document. It captures the complete cause of death chain, the underlying cause of death, and other significant conditions contributing to death. No MCCoD document is conformant without a complete and valid Frame A.
Frame A is represented as a single Composition.section with LOINC code
79378-6 (Cause of death). It contains references to three types of
FHIR Condition resources, each with a distinct profile:
| WHO MCCoD Form Element | FHIR Profile | Cardinality in Section | Identifies By |
|---|---|---|---|
| Line a — Immediate cause of death | MCCoDCauseOfDeathCondition | 1..1 | extension[linePosition] = #a |
| Line b — Antecedent cause | MCCoDCauseOfDeathCondition | 0..1 | extension[linePosition] = #b |
| Line c — Antecedent cause | MCCoDCauseOfDeathCondition | 0..1 | extension[linePosition] = #c |
| Line d — Antecedent cause | MCCoDCauseOfDeathCondition | 0..1 | extension[linePosition] = #d |
| Underlying cause of death | MCCoDUnderlyingCauseOfDeath | 1..1 | category = #underlying-cause-of-death |
| Part 2 — Contributing conditions | MCCoDContributingCondition | 0..* | category = #contributing-condition |
The causal chain represents the sequence of conditions that led to death, from the
most immediate (line a) to the most remote antecedent (lines b, c, d). Each line
is a separate instance of MCCoDCauseOfDeathCondition, identified by
the mccod-cause-of-death-line-position extension.
extension[linePosition] (1..1): The line position code
(#a, #b, #c, or #d).
Required on every instance.
code.text (1..1): The cause of death as written by the
certifying practitioner. Always required, even when a coded value is also provided.
This preserves the original clinical language.
clinicalStatus (1..1): Fixed to #inactive
(the patient is deceased).
verificationStatus (1..1): Fixed to #confirmed
(certified by the practitioner on the death certificate).
subject (1..1): Reference to the deceased Patient.
code.coding (0..*): Coded representation of the cause.
When present, should use ICD-10 or ICD-11 system URIs. See
Terminology for the declared system URIs.
Binding is extensible to mccod-cause-of-death-codes.
extension[onsetToDeathInterval] (0..1): Approximate interval
from onset of this condition to death, as a free-text string (e.g. "2 hours",
"3 weeks"). Corresponds to LOINC 69440-6 (Disease onset to death interval).
Represented as string, not Duration, because clinical estimates are inherently
imprecise.
recorder (0..1): The certifying practitioner.
The ordering of lines in the causal chain is enforced by error-level invariants
on MCCoDComposition:
a (immediate cause) SHALL always be present — enforced by
invariant mccod-comp-line-a-required.c is present, line b SHALL also be present —
enforced by invariant mccod-comp-line-b-chain.d is present, line c SHALL also be present —
enforced by invariant mccod-comp-line-c-chain.Note: The ordering rule does not require that line b be present whenever line a is present. A death certificate with only line a (immediate cause) and no antecedent chain is valid when the certifying practitioner determines no further antecedent cause applies.
The underlying cause of death is defined by WHO as: "(a) the disease or injury which initiated the train of morbid events leading directly to death, or (b) the circumstances of the accident or violence which produced the fatal injury." It is the primary basis for mortality statistics.
The underlying cause is represented as a separate mandatory
MCCoDUnderlyingCauseOfDeath
Condition resource. It is distinct from and independent of the causal chain entries
(lines a–d). Exactly one instance SHALL be present in every MCCoD document —
enforced by invariant mccod-comp-ucod-required.
When the WHO DORIS tool is used for ICD-11 mortality coding, the underlying cause selected by DORIS may differ from any condition explicitly listed on lines a–d. This occurs when DORIS applies a selection or modification rule — for example, the linkage rule, the specificity rule, or the duration rule — that identifies a more appropriate underlying cause from the full clinical picture on the certificate.
This scenario is explicitly supported: the
MCCoDUnderlyingCauseOfDeath profile is designed to hold a condition
not present on any line of the causal chain. The
mccod-doris-derived boolean extension SHALL be present on every
instance:
dorisDerived = true: The underlying cause was selected by the
DORIS tool. The code.coding SHOULD use the ICD-11 MMS system
URI (http://id.who.int/icd/release/11/mms).
dorisDerived = false: The underlying cause was selected by
manual ICD-10 or ICD-11 mortality coding rules, or by the certifying practitioner
directly.
Frame A Part 2 captures other significant conditions that contributed to the death of the patient but were not part of the direct causal chain in Part 1. These are comorbidities or concurrent conditions noted by the certifying practitioner.
Each contributing condition is a separate instance of
MCCoDContributingCondition,
identified by category = #contributing-condition. Zero or more instances
are permitted.
The WHO MCCoD form notes that time intervals can be included in brackets after each
contributing condition (e.g. "Hypertension (15 years)"). This is captured by the
mccod-onset-to-death-interval string extension, consistent with the
causal chain entries.
Condition.code.text is required on all three Condition profiles
(MCCoDCauseOfDeathCondition, MCCoDUnderlyingCauseOfDeath,
MCCoDContributingCondition). This requirement is enforced by error-level
invariants (mccod-cod-text-required, mccod-ucod-text-required,
mccod-contrib-text-required).
Text must be present even when an ICD code is also provided. This preserves the original clinical language of the certifying practitioner, supports countries without electronic coding capability, and enables audit of coding accuracy.
When providing coded cause-of-death values, use the appropriate ICD system URI:
| ICD Version | System URI |
|---|---|
| ICD-10 (WHO reference) | http://hl7.org/fhir/sid/icd-10 |
| ICD-10-CM (US clinical modification) | http://hl7.org/fhir/sid/icd-10-cm |
| ICD-11 MMS | http://id.who.int/icd/release/11/mms |
| SNOMED CT | http://snomed.info/sct |
National ICD variants (e.g. ICD-10-AM used in Australia and New Zealand) are also permitted — member countries should declare the system URI for their national variant in their national implementation guide.
| Invariant ID | Severity | Rule | Defined On |
|---|---|---|---|
mccod-comp-line-a-required |
Error | Frame A SHALL contain exactly one Condition with linePosition = a | MCCoDComposition |
mccod-comp-line-b-chain |
Error | If line c present, line b SHALL be present | MCCoDComposition |
mccod-comp-line-c-chain |
Error | If line d present, line c SHALL be present | MCCoDComposition |
mccod-comp-ucod-required |
Error | Frame A SHALL contain exactly one MCCoDUnderlyingCauseOfDeath | MCCoDComposition |
mccod-cod-text-required |
Error | Cause of death text SHALL always be present | MCCoDCauseOfDeathCondition |
mccod-cod-line-position-required |
Error | Line position extension SHALL be present | MCCoDCauseOfDeathCondition |
mccod-ucod-text-required |
Error | Underlying cause text SHALL always be present | MCCoDUnderlyingCauseOfDeath |
mccod-ucod-doris-flag-required |
Error | dorisDerived extension SHALL be present | MCCoDUnderlyingCauseOfDeath |
mccod-ucod-icd11-when-doris |
Warning | When dorisDerived = true, ICD-11 MMS SHOULD be used for coding | MCCoDUnderlyingCauseOfDeath |
mccod-contrib-text-required |
Error | Contributing condition text SHALL always be present | MCCoDContributingCondition |
See the Examples page for a complete worked example demonstrating Frame A with a two-line causal chain (myocardial infarction due to coronary artery disease), an underlying cause selected by ICD-10 mortality coding rules (dorisDerived = false), and a contributing condition (hypertension).