Calculate the Maternal Mortality Ratio (MMR) based on the number of maternal deaths and live births within a specific period.
Total deaths due to complications of pregnancy or childbirth during the specified period.
Total number of live births recorded during the same period.
Calculation Result
Maternal Mortality Ratio:
0
deaths per 100,000 live births
How Maternal Mortality Rate is Calculated
The Maternal Mortality Ratio (MMR) is the primary statistical indicator used globally to monitor the safety of motherhood and the health status of women during pregnancy and childbirth. It represents the risk of maternal death relative to the number of live births.
The Formula
The standard formula used by the World Health Organization (WHO) and public health agencies is:
MMR = ( Maternal Deaths / Live Births ) × 100,000
Where:
Maternal Deaths: The annual number of female deaths from any cause related to or aggravated by pregnancy or its management (excluding accidental or incidental causes) during pregnancy and childbirth or within 42 days of termination of pregnancy.
Live Births: The total number of live births in the same population during the same year.
100,000: The standard multiplier. Because maternal death is a relatively rare event in statistical terms, a multiplier of 100,000 is used to produce a whole number that is easier to compare across regions.
Calculation Example
Imagine a region collected the following data for the year 2023:
Maternal Deaths: 15
Live Births: 65,000
Using the formula:
1. Divide deaths by births: 15 / 65,000 = 0.00023077
2. Multiply by the constant: 0.00023077 × 100,000 = 23.1
Result: The MMR is 23.1 deaths per 100,000 live births.
Understanding the Results
According to general classification guidelines often cited in public health epidemiology:
Low: Less than 20 per 100,000 live births.
Moderate: 20 to 99 per 100,000 live births.
High: 100 to 299 per 100,000 live births.
Very High: 300 to 499 per 100,000 live births.
Extremely High: 500 or more per 100,000 live births.
Why "Rate" vs. "Ratio"?
While often searched as "Maternal Mortality Rate," the calculation defined above is technically the Maternal Mortality Ratio because the denominator (live births) is not the exact population at risk (pregnant women), but rather a proxy for it. A true "Rate" would use the number of women of reproductive age as the denominator.
function calculateMMR() {
// Get input values
var deathsInput = document.getElementById('maternalDeaths');
var birthsInput = document.getElementById('liveBirths');
var resultSection = document.getElementById('resultSection');
var mmrDisplay = document.getElementById('mmrDisplay');
var mmrInterp = document.getElementById('mmrInterpretation');
var deaths = parseFloat(deathsInput.value);
var births = parseFloat(birthsInput.value);
// Reset styles
resultSection.style.display = 'none';
// Validation
if (isNaN(deaths) || deaths < 0) {
alert("Please enter a valid number of maternal deaths (0 or greater).");
return;
}
if (isNaN(births) || births births) {
// While technically possible in catastrophic scenarios or small datasets, usually indicates error
var confirmAction = confirm("The number of deaths is higher than the number of live births. Is this correct?");
if (!confirmAction) return;
}
// Calculation: (Deaths / Live Births) * 100,000
var mmr = (deaths / births) * 100000;
// Formatting output (1 decimal place is standard for stats)
mmrDisplay.innerHTML = mmr.toFixed(1);
// Classification Logic
var classificationText = "";
var classificationClass = "";
if (mmr < 20) {
classificationText = "Low MMR";
classificationClass = "class-low";
} else if (mmr < 100) {
classificationText = "Moderate MMR";
classificationClass = "class-moderate";
} else if (mmr < 300) {
classificationText = "High MMR";
classificationClass = "class-high";
} else if (mmr < 500) {
classificationText = "Very High MMR";
classificationClass = "class-very-high";
} else {
classificationText = "Extremely High MMR";
classificationClass = "class-very-high";
}
// Display Interpretation
mmrInterp.innerHTML = 'Classification: ' + classificationText + '';
// Show result
resultSection.style.display = 'block';
}