AeHIN Medical Certificate of Cause of Death (MCCoD) Implementation Guide
0.1.0 - Draft for AeHIN Member Review Asia

Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the Directory of published versions

Logical Model: MCCoD Frame B Logical Model — Other Medical Data ( Experimental )

Official URL: http://mccod.w3datanet.com/fhir/StructureDefinition/mccod-frame-b-model Version: 0.1.0
Draft as of 2026-05-21 Computable Name: MCCoDFrameBModel

Copyright/Legal: Copyright 2026 AeHIN. Licensed under CC0-1.0.

Logical model representing the data elements of Frame B (Other Medical Data) of the WHO Medical Certificate of Cause of Death (MCCoD).

Frame B is OPTIONAL at the section level. However, certain sub-sections SHOULD be populated based on the clinical context of the death:

  • The Fetal or Infant Death sub-section SHOULD be populated when the deceased was an infant or newborn (age at death less than 28 days), or when the death was a stillbirth.
  • The Women of Reproductive Age sub-section SHOULD be populated when the deceased was female and aged 15–49 years at time of death.
  • External cause elements SHOULD be populated when manner of death is Assault, Accident, Legal Intervention, Intentional Self Harm, or War.

These conditional requirements are enforced as warning-level invariants in the MCCoDComposition profile, not as hard errors, consistent with the optional nature of Frame B.

This model is derived from:

  • WHO International Form of Medical Certificate of Cause of Death
  • openEHR-EHR-EVALUATION.death_summary.v0 (CKM archetype)
  • WHO SMART Guidelines L2 DAK data dictionary pattern

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(4 nested mandatory elements)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. mccod-frame-b-model 0..* Base MCCoD Frame B Logical Model — Other Medical Data
... generalMedicalData 0..1 BackboneElement General Medical Data
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... surgeryPerformed 0..1 BackboneElement Surgery within last 4 weeks
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasPerformed 1..1 code Surgery performed (Yes/No/Unknown)
..... dateOfSurgery 0..1 date Date of surgery
..... reasonForSurgery 0..1 string Reason for surgery
.... autopsy 0..1 BackboneElement Autopsy
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... wasRequested 1..1 code Autopsy requested (Yes/No/Unknown)
..... findingsUsedInCertification 0..1 code Autopsy findings used in certification (Yes/No/Unknown)
.... mannerOfDeath 0..1 BackboneElement Manner of Death
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... manner 1..1 CodeableConcept Manner of death code
.... externalCause 0..1 BackboneElement External Cause or Poisoning
..... @id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... description 0..1 string Description of external cause
..... dateOfInjury 0..1 date Date of injury
..... placeOfOccurrence 0..1 CodeableConcept Place of occurrence
... fetalOrInfantDeath 0..1 BackboneElement Fetal or Infant Death
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... multiplePregnancy 0..1 code Multiple pregnancy (Yes/No/Unknown)
.... stillborn 0..1 code Stillborn (Yes/No/Unknown)
.... hoursSurvived 0..1 integer Hours survived if death within 24 hours
.... birthWeightGrams 0..1 integer Birth weight in grams
.... completedWeeksOfPregnancy 0..1 integer Number of completed weeks of pregnancy
.... ageOfMotherYears 0..1 integer Age of mother in years
.... perinatalMaternalConditions 0..1 string Perinatal maternal conditions
... womenOfReproductiveAge 0..1 BackboneElement Women of Reproductive Age
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... pregnantWithinPastYear 1..1 code Was the deceased pregnant within past year? (Yes/No/Unknown)
.... pregnancyTiming 0..1 CodeableConcept Timing of pregnancy relative to death
.... pregnancyContributedToDeath 0..1 code Did pregnancy contribute to death? (Yes/No/Unknown)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(4 nested mandatory elements)

 

Other representations of profile: CSV, Excel