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:
This page documents the alignment between the AeHIN MCCoD Implementation Guide and the openEHR death_summary archetype (openEHR-EHR-EVALUATION.death_summary.v0). It explains the role of the openEHR archetype in this IG's design, the nature and limits of the alignment, and provides a full element-level mapping table.
The openEHR death_summary archetype serves as the data modeling reference for this IG — it is not a dependency, a runtime requirement, or a target implementation technology. No openEHR tooling is required to implement this IG.
Its role is specifically as the L2 data dictionary authority within the WHO SMART Guidelines framework adopted by this IG. The archetype provides:
Every profile element in this IG that corresponds to a WHO MCCoD form field
carries an explicit mapping to its openEHR archetype path in the
FSH source, using the mapping identity openEHR.
The openEHR-EHR-EVALUATION.death_summary.v0 archetype is a maximal dataset archetype — it captures all clinically relevant information about a patient's death, of which the WHO MCCoD form is a subset. Key archetype clusters relevant to this IG are:
| Archetype Cluster / Element | Archetype Path | Corresponds to WHO MCCoD |
|---|---|---|
| Cause of death — immediate cause | death_summary/cause_of_death/immediate_cause |
Frame A, Part 1, Line a |
| Cause of death — antecedent causes | death_summary/cause_of_death/antecedent_cause[1..3] |
Frame A, Part 1, Lines b, c, d |
| Onset to death interval | death_summary/cause_of_death/duration |
Frame A — Time interval from onset to death |
| Underlying cause of death | death_summary/underlying_cause_of_death |
Frame A — Underlying cause (ICD-selected) |
| Contributing factors | death_summary/contributing_factors |
Frame A, Part 2 — Other significant conditions |
| Manner of death | death_summary/manner_of_death |
Frame B — Manner of death |
| Surgical history | death_summary/surgical_history |
Frame B — Surgery within last 4 weeks |
| Autopsy | death_summary/autopsy |
Frame B — Autopsy requested / findings used |
| External cause | death_summary/external_cause |
Frame B — External cause or poisoning |
| Place of occurrence | death_summary/external_cause/place_of_occurrence |
Frame B — Place of occurrence of external cause |
| Fetal or infant death | death_summary/fetal_or_infant_death |
Frame B — Fetal or infant death section |
| Pregnancy status | death_summary/pregnancy_status |
Frame B — Women of reproductive age section |
The following table maps every data element in this IG to its corresponding openEHR archetype path and WHO MCCoD form field. Elements marked N/A in the openEHR column represent process metadata or FHIR-specific structural elements that do not have a direct clinical archetype equivalent.
| FHIR Element | Profile | openEHR Path | WHO MCCoD Form Field |
|---|---|---|---|
extension[linePosition].valueCode |
MCCoDCauseOfDeathCondition | cause_of_death/sequence |
Frame A, Part 1 — Line a / b / c / d |
code.text (line a) |
MCCoDCauseOfDeathCondition | cause_of_death/immediate_cause/DV_TEXT |
Frame A, Part 1, Line a — text field |
code.coding (line a) |
MCCoDCauseOfDeathCondition | cause_of_death/immediate_cause/DV_CODED_TEXT |
Frame A, Part 1, Line a — coded |
code.text (lines b/c/d) |
MCCoDCauseOfDeathCondition | cause_of_death/antecedent_cause[n]/DV_TEXT |
Frame A, Part 1, Lines b/c/d — text field |
code.coding (lines b/c/d) |
MCCoDCauseOfDeathCondition | cause_of_death/antecedent_cause[n]/DV_CODED_TEXT |
Frame A, Part 1, Lines b/c/d — coded |
extension[onsetToDeathInterval].valueString |
MCCoDCauseOfDeathCondition | cause_of_death/duration |
Frame A, Part 1 — Time interval from onset to death |
code.text |
MCCoDUnderlyingCauseOfDeath | underlying_cause_of_death/DV_TEXT |
Frame A — Underlying cause of death (text) |
code.coding |
MCCoDUnderlyingCauseOfDeath | underlying_cause_of_death/DV_CODED_TEXT |
Frame A — Underlying cause of death (coded) |
extension[dorisDerived].valueBoolean |
MCCoDUnderlyingCauseOfDeath | N/A — process metadata for ICD-11/DORIS | N/A — process audit element |
code.text |
MCCoDContributingCondition | contributing_factors/DV_TEXT |
Frame A, Part 2 — condition text |
code.coding |
MCCoDContributingCondition | contributing_factors/DV_CODED_TEXT |
Frame A, Part 2 — condition code |
extension[onsetToDeathInterval].valueString |
MCCoDContributingCondition | contributing_factors/duration |
Frame A, Part 2 — time interval in brackets |
| FHIR Element | Profile | openEHR Path | WHO MCCoD Form Field |
|---|---|---|---|
valueCodeableConcept |
MCCoDMannerOfDeath | manner_of_death/DV_CODED_TEXT |
Frame B — Manner of death |
valueCodeableConcept |
MCCoDAutopsyPerformed | autopsy/requested |
Frame B — Was an autopsy requested? |
component[findingsUsed].valueCodeableConcept |
MCCoDAutopsyPerformed | autopsy/findings_used |
Frame B — Were findings used in certification? |
valueCodeableConcept |
MCCoDSurgeryPerformed | surgical_history/performed |
Frame B — Was surgery performed within last 4 weeks? |
effectiveDateTime |
MCCoDSurgeryPerformed | surgical_history/date |
Frame B — Date of surgery |
component[reason].valueString |
MCCoDSurgeryPerformed | surgical_history/reason |
Frame B — Reason for surgery |
effectiveDateTime |
MCCoDInjuryIncident | external_cause/date_of_injury |
Frame B — Date of injury |
component[description].valueString |
MCCoDInjuryIncident | external_cause/description |
Frame B — Description of external cause / poisoning agent |
component[placeOfOccurrence].valueCodeableConcept |
MCCoDInjuryIncident | external_cause/place_of_occurrence/DV_CODED_TEXT |
Frame B — Place of occurrence of external cause |
| FHIR Element | Profile | openEHR Path | WHO MCCoD Form Field |
|---|---|---|---|
component[multiplePregnancy].valueCodeableConcept |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/multiple_pregnancy |
Frame B — Multiple pregnancy |
component[stillborn].valueCodeableConcept |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/stillborn |
Frame B — Stillborn? |
component[hoursSurvived].valueInteger |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/hours_survived |
Frame B — Hours survived if death within 24h |
component[birthWeight].valueQuantity |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/birth_weight |
Frame B — Birth weight in grams |
component[gestationalAge].valueQuantity |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/gestational_age |
Frame B — Completed weeks of pregnancy |
component[motherAge].valueQuantity |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/mother_age |
Frame B — Age of mother in years |
component[perinatalMaternalConditions].valueString |
MCCoDFetalOrInfantDeath | fetal_or_infant_death/maternal_conditions |
Frame B — Conditions of mother affecting fetus/newborn |
| FHIR Element | Profile | openEHR Path | WHO MCCoD Form Field |
|---|---|---|---|
component[pregnantWithinYear].valueCodeableConcept |
MCCoDPregnancyStatus | pregnancy_status/pregnant_within_year |
Frame B — Was the deceased pregnant within past year? |
component[pregnancyTiming].valueCodeableConcept |
MCCoDPregnancyStatus | pregnancy_status/timing |
Frame B — Timing of pregnancy relative to death |
component[pregnancyContributedToDeath].valueCodeableConcept |
MCCoDPregnancyStatus | pregnancy_status/contributed_to_death |
Frame B — Did the pregnancy contribute to the death? |
The following differences between the openEHR death_summary archetype and this IG are intentional design decisions, not alignment failures:
| Topic | openEHR Archetype | This IG | Rationale |
|---|---|---|---|
| Onset-to-death interval type | DV_DURATION (structured) |
string (free text) |
Clinical estimates on death certificates are inherently imprecise and do not conform to structured duration semantics. Free text preserves clinical language faithfully. |
| Underlying cause — DORIS flag | Not present in archetype | extension[dorisDerived] — mandatory |
ICD-11/DORIS is not yet reflected in the v0 archetype. The extension adds process audit capability required for ICD-11 implementations. |
| Line position identifier | Implicit sequence within cluster | extension[linePosition] — explicit code (a/b/c/d) |
FHIR Condition resources are independent — unlike openEHR cluster slots which have implicit positional ordering, FHIR resources need an explicit discriminator to establish ordering. |
| Death date and time | death_summary/date_of_death |
Patient.deceasedDateTime (base FHIR Patient) |
FHIR already provides Patient.deceased[x] for date of
death. Duplicating this in a Condition or Observation would be
redundant. Member countries may profile Patient to make this element
must-support.
|
| Place of death | death_summary/place_of_death |
Not profiled in this IG | Place of death is not on the WHO MCCoD form (it is on civil registration forms). This IG scope is the MCCoD form only. Member countries may add place of death via national extension. |
| Cause coding system | DV_CODED_TEXT — no system binding |
Extensible binding to mccod-cause-of-death-codes |
The openEHR archetype intentionally does not bind to a specific terminology. This IG adds an extensible ValueSet that declares known ICD system URIs while preserving the same openness. |
The openEHR death_summary archetype is a maximal dataset. The following archetype elements are outside the scope of the WHO MCCoD form and are therefore not profiled in this IG. Member countries MAY include these in national extensions:
Every FSH profile in this IG includes explicit openEHR mapping declarations using
the FHIR StructureDefinition.mapping element with identity
openEHR. These mappings are visible in the profile definitions and
in the logical model FSH source. To view them:
logical-frame-a.fsh,
logical-frame-b.fsh) which carry all three mappings per element:
WHO MCCoD form field, openEHR archetype path, and FHIR profile target