Skip to content

HMIS — Health Management Information System


Provider
Ministry of Health & Family Welfare (MoHFW)
Website
Access Level
🟢 No Login — Monthly CSV Downloads
Formats Available
Excel, CSV (monthly), PDF reports
Coverage
National → District → Health Facility (monthly)
Period
April 2008 to present (monthly updates)

What HMIS Tracks

HMIS collects data from every government health facility in India — Sub-Centres, PHCs (Primary Health Centres), CHCs (Community Health Centres), District Hospitals — every month.

Service Area Key Indicators
Maternal Health ANC registrations, institutional deliveries, C-sections, maternal deaths
Child Health OPD children <5, diarrhoea cases, ARI cases, malnutrition
Immunisation BCG, DPT, OPV, Measles, full immunisation coverage
Family Planning Sterilisations, IUD insertions, oral pills, condoms
Communicable Disease Malaria (suspected, confirmed, treated), TB cases
Nutrition (NRC) Severe Acute Malnutrition admissions
Facility Infrastructure Beds, doctors, staff nurses, specialists

How to Download HMIS Data

Monthly State/District Data (No Login) 🟢

  1. Go to hmis.nhp.gov.in
  2. Click "HMIS Data""State/District/Facility Data"
  3. Select: State → District → Year → Month
  4. Download Excel file

Or download annual compilations from data.gov.in: - Search: "HMIS district annual" → Download CSV

HMIS Dashboard 🟢

  1. Go to hmis.nhp.gov.in/hmisreports/index.html
  2. Visual dashboards with trend charts
  3. No download needed — visualise directly online

Python: Plot Immunisation Trend

import pandas as pd
import matplotlib.pyplot as plt

# Load HMIS monthly data for your district (downloaded from hmis.nhp.gov.in)
# Format: one row per month, columns for each service indicator
hmis = pd.read_csv("hmis_pune_district_2022_23.csv")

# Parse date
hmis['Date'] = pd.to_datetime(hmis['Year'].astype(str) + '-' + hmis['Month'].astype(str))
hmis = hmis.sort_values('Date')

# Key immunisation indicators
indicators = ['BCG_Given', 'DPT3_Given', 'Measles1_Given', 'Full_Immunised']

fig, ax = plt.subplots(figsize=(14, 6))
for col in indicators:
    if col in hmis.columns:
        ax.plot(hmis['Date'], hmis[col], marker='.', linewidth=1.5, label=col)

ax.set_title("Monthly Immunisation Coverage — Pune District 2022-23")
ax.set_xlabel("Month")
ax.set_ylabel("Children Vaccinated")
ax.legend()
ax.grid(True, alpha=0.3)
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig("hmis_immunisation_trend.png", dpi=150)
plt.show()

✏️ Practice Exercise

Exercise 4.3 — Track Institutional Deliveries Over Time

Goal: See how institutional delivery rate has changed in your district from 2010 to 2023.

  1. Download HMIS annual data for your state from hmis.nhp.gov.in (or data.gov.in)
  2. Filter for your district
  3. Find column: "Institutional Deliveries" and "Total Deliveries Reported"
  4. Calculate: Institutional Delivery Rate = (Institutional / Total) × 100
  5. Plot as a line chart from 2010 to 2023

Questions: - [ ] Has institutional delivery rate improved in your district? - [ ] What was the rate in 2010? What is it now? - [ ] Compare to NFHS-5 value for your district — do they match? (They should be close) - [ ] Did COVID-19 (2020-21) cause a dip in any health service indicators?


Next Dataset: PMGSY Rural Roads →