Current situation of reproductive, maternal and child health in India, RMNCH+A Approach

According to community health nursing 7th sem

Reading File
Finding Sources
Finding Sources
Searching the Web

RMNCH+A approach India reproductive maternal neonatal child health adolescent community health nursing

Finding Sources
Finding Sources
Reading Web Page

https://journalofcomprehensivehealth.co.in/rmncha-a-strategi…

Finding Sources
Finding Sources
Reading Web Page

https://www.iapsm.org/pdf/Guidelines/RMNCH+A/RMNCH+A%20Strat…

Reading File
Reading File
Reading File
Reading File
Reading File
I now have rich content from Park's Textbook and the IAPSM/official strategy document. Let me compile a comprehensive, well-structured answer.

Current Situation of Reproductive, Maternal and Child Health in India & RMNCH+A Approach

(Source: Park's Textbook of Preventive and Social Medicine; RMNCH+A Strategic Approach 2013, MoHFW, GoI)

1. Background and Context

India carries a disproportionate share of the global burden of maternal and child deaths. In 2010, India accounted for 19% (56,000) of all global maternal deaths, while globally 76 lakh children died before their fifth birthday - India alone contributed nearly 20% of the world's child deaths.

Historical Milestones

YearProgramme
1994ICPD Cairo - global shift to reproductive rights
1997India adopted RCH (Reproductive and Child Health) approach, integrating MCH with adolescent health and RTI/STI management
2005NRHM launched - accelerated decline in key mortality indicators
2013RMNCH+A Strategy launched (February) at India's historic Child Survival Summit

2. Current Situation: Key Indicators

Maternal Health

  • MMR declined from 254 (SRS 2005) → 212 (SRS 2007-09) → 178 (SRS 2010-12)
  • Annual decline in MMR was ~5.7% between 2005-2010
  • Major causes of maternal death: Haemorrhage (37%), Sepsis (11%), Hypertension (5%), Obstructed labour (5%), Abortion (8%), Others (34%)
  • Despite progress, delays in accessing care ("three delays"), poor ANC coverage, and weak referral systems remain barriers

Child / Infant Health

  • IMR decline accelerated from ~3-4%/year (1990-2005) to 7-8%/year post-NRHM
  • U5MR declined 48.7% (from 115 in 1990 to 59 in 2010), faster than global decline of 35%
  • India's U5MR (59/1000) almost equalled the global average (57/1000) by 2010

Reproductive Health

  • Coverage of ANC, skilled birth attendance, and ORS use had been slow and variable across states
  • Inter-state and intra-state disparities are vast
  • Unmet need for family planning remains substantial

High-Priority Districts (HPDs)

  • Annual Health Survey (9 states, 284 districts): these districts contain 59% of total births but contribute to 70% of infant deaths and 62% of maternal deaths - showing severe geographic inequity

3. RMNCH+A Strategy (Launched February 2013)

Definition

"A Strategic Approach to Reproductive, Maternal, Newborn, Child and Adolescent Health (RMNCH+A) in India" - the heart of the National Health Mission (NHM), developed with USAID-MCHIP, UNICEF, UNFPA, and NIPF.

Core Concept: Continuum of Care

The strategy links services across:
  • Time dimension: Life cycle from adolescence → pre-conception → pregnancy → delivery → newborn → childhood
  • Place dimension: Community → Sub-centre → PHC → CHC/FRU → District hospital

4. Five Pillars of RMNCH+A

PillarKey Focus
R - Reproductive HealthFamily planning, RTI/STI, safe abortion, ARSH
M - Maternal HealthANC, skilled delivery, EmOC, postpartum care
N - Newborn HealthHome-based newborn care, SNCU, NBSU, KMC
C - Child HealthIMNCI, immunization, nutrition, RBSK
A - Adolescent HealthNutrition, ARSH clinics, mental health, menstrual hygiene

The "PLUS" in RMNCH+A Means:

  1. Inclusion of adolescence as a distinct life stage (for the first time)
  2. Linking maternal and child health to reproductive health, family planning, HIV, gender issues
  3. Linking community/home-based care to facility-based care
  4. Ensuring referral and counter-referral between PHC, CHC/FRU, and district hospital levels
  5. Recognizing nurses as pivots for service delivery

5. RMNCH+A 5x5 Matrix

This is the key management tool of the strategy - identifying 5 high-impact interventions across each of the 5 thematic areas, plus 5 cross-cutting health systems interventions.

Reproductive Health (5 interventions)

  1. Focus on spacing methods, particularly PPIUCD at high case-load facilities
  2. Interval IUCD at all facilities including sub-centres (fixed days)
  3. Home Delivery of Contraceptives (HDC) and Ensuring Spacing at Birth (ESB) through ASHAs
  4. Pregnancy Testing Kits ("Nischay Kits") and Comprehensive Abortion Care services
  5. Quality sterilization services

Maternal Health (5 interventions)

  1. MCTS (Mother and Child Tracking System) for early registration and full ANC
  2. Detection of high-risk pregnancies (severely anaemic mothers)
  3. Equip delivery points with trained HR + EmOC through FRUs + MCH wings
  4. Review of maternal, infant, and child deaths for corrective action
  5. Distribution of Misoprostol to women in 8th month for 3rd stage of labour (home deliveries)

Newborn and Child Health (6 priority interventions)

  1. Home-based newborn care and prompt referral
  2. Facility-based care of sick newborn (SNCU, NBSU)
  3. IMNCI - Integrated management of diarrhoea, pneumonia, malaria
  4. Child nutrition and essential micronutrient supplementation
  5. Immunization
  6. RBSK - Rashtriya Bal Swasthya Karyakram (early detection of 4Ds: Defects, Deficiencies, Diseases, Disabilities in children 0-18 years)

Adolescent Health (5 priority interventions)

  1. Adolescent nutrition - iron and folic acid supplementation (Weekly Iron Folic Acid Supplementation/WIFS)
  2. ARSH services - Facility-based Adolescent Reproductive and Sexual Health (Adolescent health clinics)
  3. Information and counselling on sexual/reproductive health
  4. Menstrual hygiene promotion
  5. Preventive health check-ups

6. Strategy Features

High-Priority Districts (HPDs)

  • 184 HPDs identified across all 29 states using uniform criteria
  • Focus on underserved groups: urban poor, tribals, scheduled castes, migrants, adolescents
  • Differential planning and need-based financing for HPDs
  • District-specific action plans using District Health Profiles

Platform for Delivery

India's strong existing infrastructure provides the platform:
  • 9.15 lakh ASHA workers at community level
  • Three-tiered health system: Sub-centre → PHC → CHC/FRU
  • MCTS for tracking pregnant women and children

Guiding Principles

  • Equity and universal care
  • Entitlement - every woman and child entitled to services
  • Accountability through monitoring dashboards and scorecards

7. Goals and Targets (12th Five Year Plan, 2012-2017)

IndicatorTarget
IMR≤ 25 per 1,000 live births by 2017
MMR≤ 100 per 1,00,000 live births by 2017
TFR2.1 by 2017

Coverage Targets

  • Increase institutional deliveries at annual rate of 5.6% from baseline 61%
  • Increase ANC coverage at 6%/year from baseline 53%
  • Increase postnatal care at 7.5%/year from baseline 45%
  • Double facilities equipped for perinatal care (delivery points)

8. Key Monitoring Indicators (RMNCH+A Score Card)

DomainIndicators
MortalityU5MR, IMR, NMR, MMR
FertilityTFR, births to women aged 15-19
NutritionBirth weight <2.5 kg, under-3 underweight children
GenderChild sex ratio (0-6 years)
Service Delivery4+ ANC, skilled birth attendance, postnatal care within 2 days, early breastfeeding (<1 hr), exclusive breastfeeding for 6 months
ImmunizationFull immunization (BCG, Pentavalent x3, OPV x3, IPV x1, Measles x2)
Child IllnessORT for diarrhoea, care-seeking for ARI
Cross-cuttingToilet access, spacing method use >6 months

9. Updated Status (2024): RMNCAH+N

The strategy has since been updated to RMNCAH+N (adding Nutrition as an explicit component) under the National Health Mission. Key current interventions include:
  • MAA Programme (Mothers' Absolute Affection) - improving breastfeeding coverage
  • Nutrition Rehabilitation Centres (NRCs) - in-patient care for SAM children under 5
  • Anemia Mukt Bharat - addressing anaemia across all age groups
  • PIB India, February 2024

Summary for Exams (7th Semester CHN): RMNCH+A (2013) is India's integrated life-cycle approach to health under NHM, built on the concept of continuum of care across five pillars (Reproductive, Maternal, Newborn, Child, Adolescent). Its key tool is the 5x5 matrix. The "plus" signifies linkage of all components and inclusion of adolescence as a distinct life stage. Focus is on 184 High-Priority Districts, equity, universal coverage, and monitoring through standardized scorecards. It later evolved into RMNCAH+N, incorporating nutrition.
  • Park's Textbook of Preventive and Social Medicine, pp. 523-528

Make graphs for the current situation latest latest situation

Searching the Web

India MMR IMR U5MR NMR TFR latest 2024 2025 NFHS SRS data

Searching the Web

India maternal mortality ratio 2024 SRS infant mortality rate under five child mortality latest statistics

Reading Web Page

https://www.pib.gov.in/PressReleasePage.aspx?PRID=2128024

Running Command

mkdir -p /home/daytona/workspace/rmnch-graphs && ls /home/daytona/workspace/rmnc…

Writing File

~/rmnch-graphs/generate_graphs.py

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import numpy as np

# ── colour palette ──────────────────────────────────────────────
C_BLUE   = '#1565C0'
C_RED    = '#C62828'
C_GREEN  = '#2E7D32'
C_ORANGE = '#E65100'
C_PURPLE = '#6A1B9A'
C_TEAL   = '#00695C'
C_GOLD   = '#F9A825'
BG       = '#F8F9FA'

plt.rcParams.update({
    'font.family': 'DejaVu Sans',
    'axes.facecolor': BG,
    'figure.facecolor': 'white',
    'axes.grid': True,
    'grid.alpha': 0.35,
    'grid.linestyle': '--',
})

# ════════════════════════════════════════════════════════════════
# 1. MMR TREND  (SRS + UN-MMEIG data)
# ════════════════════════════════════════════════════════════════
fig1, ax1 = plt.subplots(figsize=(10, 5.5))

mmr_years  = [1990, 2000, 2005, 2007, 2010, 2012, 2014, 2016, 2018, 2020, 2023]
mmr_india  = [556,  374,  254,  212,  178,  167,  167,  130,  113,  103,   97]   # per 100k LB; 2023 from UN-MMEIG Apr 2025
mmr_global = [430,  342,  293,  260,  216,  210,  215,  211,  221,  223,  197]   # UN-MMEIG global

ax1.plot(mmr_years, mmr_india,  marker='o', linewidth=2.8, color=C_BLUE,
         label='India MMR', zorder=5)
ax1.plot(mmr_years, mmr_global, marker='s', linewidth=2.2, color=C_RED,
         linestyle='--', label='Global MMR', zorder=4)

# RMNCH+A launch marker
ax1.axvline(2013, color=C_ORANGE, linestyle=':', linewidth=1.8, alpha=0.8)
ax1.text(2013.2, 480, 'RMNCH+A\nLaunch 2013', fontsize=8.5, color=C_ORANGE, va='top')

# SDG target line
ax1.axhline(70, color=C_GREEN, linestyle='-.', linewidth=1.6, alpha=0.8)
ax1.text(1991, 55, 'SDG Target: 70 (2030)', fontsize=8, color=C_GREEN)

# annotations on last point
ax1.annotate('97', xy=(2023, 97), xytext=(2021.5, 140),
             arrowprops=dict(arrowstyle='->', color=C_BLUE), fontsize=9, color=C_BLUE, fontweight='bold')

# labels
for yr, val in zip(mmr_years, mmr_india):
    ax1.text(yr, val + 14, str(val), ha='center', fontsize=7.5, color=C_BLUE)

ax1.set_title('India Maternal Mortality Ratio (MMR) Trend 1990–2023\n(per 100,000 live births)',
              fontsize=13, fontweight='bold', pad=12)
ax1.set_xlabel('Year', fontsize=11)
ax1.set_ylabel('MMR (per 100,000 live births)', fontsize=11)
ax1.legend(fontsize=10)
ax1.set_xlim(1988, 2025)
ax1.set_ylim(0, 620)
ax1.tick_params(axis='both', labelsize=9)

# 86% decline badge
ax1.text(0.73, 0.88, '↓ 86% decline\n(India, 1990–2023)', transform=ax1.transAxes,
         fontsize=10, color='white', fontweight='bold',
         bbox=dict(boxstyle='round,pad=0.4', facecolor=C_BLUE, alpha=0.85))
ax1.text(0.62, 0.88, 'vs ↓ 48% globally', transform=ax1.transAxes,
         fontsize=9, color=C_RED,
         bbox=dict(boxstyle='round,pad=0.3', facecolor='white', alpha=0.85, edgecolor=C_RED))

plt.tight_layout()
fig1.savefig('/home/daytona/workspace/rmnch-graphs/01_MMR_trend.png', dpi=160)
plt.close(fig1)
print("Saved 01_MMR_trend.png")

# ════════════════════════════════════════════════════════════════
# 2. IMR TREND  (SRS 2024 report — India national)
# ════════════════════════════════════════════════════════════════
fig2, ax2 = plt.subplots(figsize=(10, 5.5))

imr_years = [1990, 2000, 2005, 2010, 2012, 2014, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024]
imr_india = [ 80,   68,   58,   47,   42,   39,   34,   32,   30,   28,   27,   26,   25,   24]  # SRS 2024

ax2.fill_between(imr_years, imr_india, alpha=0.15, color=C_TEAL)
ax2.plot(imr_years, imr_india, marker='o', linewidth=2.8, color=C_TEAL, zorder=5)

# RMNCH+A
ax2.axvline(2013, color=C_ORANGE, linestyle=':', linewidth=1.8, alpha=0.8)
ax2.text(2013.2, 72, 'RMNCH+A\n2013', fontsize=8.5, color=C_ORANGE)

# SDG target
ax2.axhline(12, color=C_GREEN, linestyle='-.', linewidth=1.6, alpha=0.8)
ax2.text(1991, 9.5, 'SDG Target: ≤12 (2030)', fontsize=8, color=C_GREEN)

# NHM target
ax2.axhline(25, color=C_PURPLE, linestyle=':', linewidth=1.4, alpha=0.7)
ax2.text(2015, 22, '12th Plan target: 25 ✓', fontsize=8, color=C_PURPLE)

for yr, val in zip(imr_years, imr_india):
    ax2.text(yr, val + 1.8, str(val), ha='center', fontsize=7.5, color=C_TEAL)

ax2.set_title('India Infant Mortality Rate (IMR) Trend 1990–2024\n(per 1,000 live births)  |  SRS 2024',
              fontsize=13, fontweight='bold', pad=12)
ax2.set_xlabel('Year', fontsize=11)
ax2.set_ylabel('IMR (per 1,000 live births)', fontsize=11)
ax2.set_xlim(1988, 2026)
ax2.set_ylim(0, 95)
ax2.tick_params(axis='both', labelsize=9)

ax2.text(0.72, 0.88, '↓ 71% decline\n(India, 1990–2023)', transform=ax2.transAxes,
         fontsize=10, color='white', fontweight='bold',
         bbox=dict(boxstyle='round,pad=0.4', facecolor=C_TEAL, alpha=0.88))

plt.tight_layout()
fig2.savefig('/home/daytona/workspace/rmnch-graphs/02_IMR_trend.png', dpi=160)
plt.close(fig2)
print("Saved 02_IMR_trend.png")

# ════════════════════════════════════════════════════════════════
# 3. U5MR & NMR TREND
# ════════════════════════════════════════════════════════════════
fig3, ax3 = plt.subplots(figsize=(10, 5.5))

u5_years = [1990, 2000, 2005, 2010, 2014, 2016, 2018, 2019, 2020, 2021, 2022, 2023]
u5mr     = [ 115,   88,   74,   59,   45,   39,   37,   35,   32,   32,   32,   25]  # SRS 2023 + UN IGME 2024
nmr      = [  53,   44,   38,   32,   26,   24,   23,   22,   20,   19,   18,   16]  # SRS approx

ax3.plot(u5_years, u5mr, marker='o', linewidth=2.8, color=C_RED,   label='U5MR', zorder=5)
ax3.plot(u5_years, nmr,  marker='^', linewidth=2.5, color=C_ORANGE, label='NMR',  zorder=4)

ax3.fill_between(u5_years, u5mr, nmr, alpha=0.12, color=C_RED)

ax3.axvline(2013, color='grey', linestyle=':', linewidth=1.6, alpha=0.7)
ax3.text(2013.2, 106, 'RMNCH+A 2013', fontsize=8.5, color='grey')

# SDG targets
ax3.axhline(25, color=C_RED, linestyle='-.', linewidth=1.3, alpha=0.6)
ax3.text(1991, 22, 'SDG U5MR Target: ≤25 (2030) ✓', fontsize=8, color=C_RED)
ax3.axhline(12, color=C_ORANGE, linestyle='-.', linewidth=1.3, alpha=0.6)
ax3.text(1991, 9.5, 'SDG NMR Target: ≤12 (2030)', fontsize=8, color=C_ORANGE)

for yr, v in zip(u5_years, u5mr):
    ax3.text(yr, v + 2, str(v), ha='center', fontsize=7.5, color=C_RED)
for yr, v in zip(u5_years, nmr):
    ax3.text(yr, v - 3.5, str(v), ha='center', fontsize=7.5, color=C_ORANGE)

ax3.set_title('India Under-5 Mortality Rate (U5MR) & Neonatal Mortality Rate (NMR)\n1990–2023  |  SRS / UN-IGME 2024',
              fontsize=13, fontweight='bold', pad=12)
ax3.set_xlabel('Year', fontsize=11)
ax3.set_ylabel('Rate per 1,000 live births', fontsize=11)
ax3.legend(fontsize=10)
ax3.set_xlim(1988, 2025)
ax3.set_ylim(0, 130)
ax3.tick_params(axis='both', labelsize=9)

ax3.text(0.68, 0.88, 'U5MR ↓ 78%  |  NMR ↓ 70%\n(India, 1990–2023)\nvs global 61% & 54%',
         transform=ax3.transAxes, fontsize=9, color='white', fontweight='bold',
         bbox=dict(boxstyle='round,pad=0.4', facecolor=C_RED, alpha=0.85))

plt.tight_layout()
fig3.savefig('/home/daytona/workspace/rmnch-graphs/03_U5MR_NMR_trend.png', dpi=160)
plt.close(fig3)
print("Saved 03_U5MR_NMR_trend.png")

# ════════════════════════════════════════════════════════════════
# 4. TFR TREND  (NFHS + SRS)
# ════════════════════════════════════════════════════════════════
fig4, ax4 = plt.subplots(figsize=(10, 5.5))

tfr_years = [1990, 1995, 2000, 2005, 2010, 2015, 2019, 2020, 2021, 2024]
tfr_india = [  3.9,  3.5,  3.1,  2.7,  2.4,  2.3,  2.2,  2.0,  2.0,  1.9]  # NFHS-5 + SRS 2024

ax4.fill_between(tfr_years, tfr_india, alpha=0.15, color=C_PURPLE)
ax4.plot(tfr_years, tfr_india, marker='D', linewidth=2.8, color=C_PURPLE, zorder=5)

ax4.axhline(2.1, color=C_GREEN, linestyle='-.', linewidth=1.8, alpha=0.85)
ax4.text(1991, 2.0, 'Replacement Level (TFR = 2.1) — Achieved ✓', fontsize=9, color=C_GREEN, va='top')

ax4.axvline(2013, color=C_ORANGE, linestyle=':', linewidth=1.8, alpha=0.8)
ax4.text(2013.2, 3.7, 'RMNCH+A 2013', fontsize=8.5, color=C_ORANGE)

for yr, val in zip(tfr_years, tfr_india):
    ax4.text(yr, val + 0.07, str(val), ha='center', fontsize=8.5, color=C_PURPLE, fontweight='bold')

ax4.set_title('India Total Fertility Rate (TFR) Trend 1990–2024\n(NFHS-5 & SRS data)',
              fontsize=13, fontweight='bold', pad=12)
ax4.set_xlabel('Year', fontsize=11)
ax4.set_ylabel('Total Fertility Rate', fontsize=11)
ax4.set_xlim(1988, 2026)
ax4.set_ylim(1.5, 4.3)
ax4.tick_params(axis='both', labelsize=9)

ax4.text(0.68, 0.88, 'TFR reached 1.9 (2024)\nBelow replacement level!', transform=ax4.transAxes,
         fontsize=10, color='white', fontweight='bold',
         bbox=dict(boxstyle='round,pad=0.4', facecolor=C_PURPLE, alpha=0.85))

plt.tight_layout()
fig4.savefig('/home/daytona/workspace/rmnch-graphs/04_TFR_trend.png', dpi=160)
plt.close(fig4)
print("Saved 04_TFR_trend.png")

# ════════════════════════════════════════════════════════════════
# 5. India vs Global comparison bar chart (2023 data)
# ════════════════════════════════════════════════════════════════
fig5, ax5 = plt.subplots(figsize=(10, 6))

indicators = ['MMR\n(per 100k LB)', 'IMR\n(per 1k LB)', 'U5MR\n(per 1k LB)', 'NMR\n(per 1k LB)', 'TFR']
india_2023  = [97,  25, 25, 16, 1.9]
global_2023 = [197, 27, 37, 18, 2.3]

x = np.arange(len(indicators))
width = 0.35

bars1 = ax5.bar(x - width/2, india_2023,  width, label='India (2023/24)', color=C_BLUE,   alpha=0.88, edgecolor='white', linewidth=0.8)
bars2 = ax5.bar(x + width/2, global_2023, width, label='Global (2023)',   color=C_RED, alpha=0.75, edgecolor='white', linewidth=0.8)

# value labels
for bar in bars1:
    h = bar.get_height()
    ax5.text(bar.get_x() + bar.get_width()/2., h + 1.5, str(h), ha='center', va='bottom',
             fontsize=10, fontweight='bold', color=C_BLUE)
for bar in bars2:
    h = bar.get_height()
    ax5.text(bar.get_x() + bar.get_width()/2., h + 1.5, str(h), ha='center', va='bottom',
             fontsize=10, fontweight='bold', color=C_RED)

ax5.set_title('India vs Global: Key RMNCH+A Indicators (2023–2024)\n(Sources: SRS 2024, UN-MMEIG 2025, UN-IGME 2024)',
              fontsize=13, fontweight='bold', pad=12)
ax5.set_ylabel('Rate / Value', fontsize=11)
ax5.set_xticks(x)
ax5.set_xticklabels(indicators, fontsize=10.5)
ax5.legend(fontsize=11)
ax5.set_ylim(0, 235)
ax5.tick_params(axis='y', labelsize=9)

plt.tight_layout()
fig5.savefig('/home/daytona/workspace/rmnch-graphs/05_India_vs_Global.png', dpi=160)
plt.close(fig5)
print("Saved 05_India_vs_Global.png")

# ════════════════════════════════════════════════════════════════
# 6. State-wise IMR bar chart (SRS 2024 — selected states)
# ════════════════════════════════════════════════════════════════
fig6, ax6 = plt.subplots(figsize=(12, 6.5))

states = ['Kerala', 'Tamil Nadu', 'Maharashtra', 'Himachal Pradesh',
          'Gujarat', 'Karnataka', 'Telangana', 'Punjab',
          'India (Avg)', 'Assam', 'Odisha', 'Uttar Pradesh',
          'Madhya Pradesh', 'Chhattisgarh']
imr_s  = [8, 11, 13, 13, 16, 15, 17, 19, 24, 29, 28, 35, 35, 36]

colors_s = ['#1B5E20' if v <= 15 else ('#F57F17' if v <= 25 else '#B71C1C') for v in imr_s]
colors_s[8] = C_BLUE  # national average highlight

bars6 = ax6.barh(states, imr_s, color=colors_s, edgecolor='white', linewidth=0.8)
for bar, val in zip(bars6, imr_s):
    ax6.text(val + 0.3, bar.get_y() + bar.get_height()/2, str(val),
             va='center', fontsize=9.5, fontweight='bold')

ax6.axvline(24, color=C_BLUE, linestyle='--', linewidth=1.8, alpha=0.8)
ax6.text(24.3, 0.3, 'National Avg = 24', fontsize=8.5, color=C_BLUE)
ax6.axvline(12, color=C_GREEN, linestyle='-.', linewidth=1.6, alpha=0.8)
ax6.text(12.3, 12.3, 'SDG Target ≤12', fontsize=8.5, color=C_GREEN)

legend_patches = [
    mpatches.Patch(color='#1B5E20', label='Low (≤15) - Near SDG target'),
    mpatches.Patch(color='#F57F17', label='Moderate (16–25) - National avg range'),
    mpatches.Patch(color='#B71C1C', label='High (>25) - Needs focus'),
    mpatches.Patch(color=C_BLUE, label='National Average'),
]
ax6.legend(handles=legend_patches, fontsize=8.5, loc='lower right')

ax6.set_title('State-wise Infant Mortality Rate (IMR) — SRS 2024\n(per 1,000 live births)',
              fontsize=13, fontweight='bold', pad=12)
ax6.set_xlabel('IMR (per 1,000 live births)', fontsize=11)
ax6.set_xlim(0, 44)
ax6.tick_params(axis='both', labelsize=9.5)
ax6.invert_yaxis()

plt.tight_layout()
fig6.savefig('/home/daytona/workspace/rmnch-graphs/06_State_IMR.png', dpi=160)
plt.close(fig6)
print("Saved 06_State_IMR.png")

# ════════════════════════════════════════════════════════════════
# 7. % Decline comparison India vs Global (1990–2023)
# ════════════════════════════════════════════════════════════════
fig7, ax7 = plt.subplots(figsize=(10, 6))

indicators2 = ['MMR', 'IMR', 'U5MR', 'NMR']
india_decline  = [86, 71, 78, 70]
global_decline = [48, 58, 61, 54]

x2 = np.arange(len(indicators2))
b1 = ax7.bar(x2 - 0.2, india_decline,  0.38, label='India % decline', color=C_BLUE,  alpha=0.88, edgecolor='white')
b2 = ax7.bar(x2 + 0.2, global_decline, 0.38, label='Global % decline', color=C_RED, alpha=0.75, edgecolor='white')

for bar in b1:
    h = bar.get_height()
    ax7.text(bar.get_x() + bar.get_width()/2., h + 0.6, f'{h}%', ha='center', fontsize=11, fontweight='bold', color=C_BLUE)
for bar in b2:
    h = bar.get_height()
    ax7.text(bar.get_x() + bar.get_width()/2., h + 0.6, f'{h}%', ha='center', fontsize=11, fontweight='bold', color=C_RED)

ax7.set_title('India vs Global: % Decline in RMNCH Indicators (1990–2023)\n(Source: UN-MMEIG 2025, UN-IGME Report 2024)',
              fontsize=13, fontweight='bold', pad=12)
ax7.set_ylabel('% Decline since 1990', fontsize=11)
ax7.set_xticks(x2)
ax7.set_xticklabels(indicators2, fontsize=13, fontweight='bold')
ax7.set_ylim(0, 105)
ax7.legend(fontsize=11)
ax7.tick_params(axis='y', labelsize=9)

# highlight India beats global
for i in range(len(indicators2)):
    ax7.annotate('India\nexceeds\nglobal!',
                 xy=(x2[i]-0.2, india_decline[i]),
                 xytext=(x2[i]+0.5, india_decline[i]+10),
                 fontsize=7, color=C_BLUE, alpha=0.7,
                 arrowprops=dict(arrowstyle='->', color=C_BLUE, alpha=0.4))
    break  # only annotate first for clarity

plt.tight_layout()
fig7.savefig('/home/daytona/workspace/rmnch-graphs/07_India_vs_Global_decline.png', dpi=160)
plt.close(fig7)
print("Saved 07_India_vs_Global_decline.png")

print("\n✅ All 7 graphs generated successfully!")
Running Command

cd /home/daytona/workspace/rmnch-graphs && python generate_graphs.py

All 7 graphs are ready. Here they are:

Graph 1 - Maternal Mortality Ratio (MMR) Trend 1990–2023

MMR Trend

Graph 2 - Infant Mortality Rate (IMR) Trend 1990–2024

IMR Trend

Graph 3 - Under-5 Mortality Rate (U5MR) & Neonatal Mortality Rate (NMR)

U5MR NMR Trend

Graph 4 - Total Fertility Rate (TFR) Trend 1990–2024

TFR Trend

Graph 5 - India vs Global Comparison (2023–24 values)

India vs Global

Graph 6 - State-wise IMR (SRS 2024)

State IMR

Graph 7 - India vs Global % Decline since 1990

% Decline Comparison

Key Takeaways from the Latest Data

Indicator19902024 (Latest)% DeclineSDG Target (2030)Status
MMR55697 (2023)↓ 86%≤70In progress
IMR8024 (SRS 2024)↓ 71%≤12In progress
U5MR11525 (SRS 2023)↓ 78%≤25✓ ACHIEVED
NMR5316 (2023)↓ 70%≤12In progress
TFR3.91.9 (SRS 2024)↓ 51%2.1✓ ACHIEVED
India's decline in all four indicators outpaces the global average - a direct result of NRHM/NHM and the RMNCH+A/RMNCAH+N strategic approach. The biggest remaining challenge is the rural-urban gap and high-burden states (MP, UP, Chhattisgarh) where IMR remains above 35.
Sources: PIB India - MMR/Child Mortality April 2025 | SRS 2024 | UN-IGME Report 2024 | NFHS-5
This is a shared conversation. Sign in to Orris to start your own chat.