State-level snapshot · how Uttarakhand's health system is shaped
Exhibit AInteractive District Map
Click any district to load its file
Sub-centres
0–100
100–150
150–200
200+
Source · Rural Health Statistics MoHFW · OSM tiles · india-maps-data (CC BY 4.0)
Exhibit BFacility Distribution by District
2,097 facilities · MoHFW RHS
1,765Sub-centres
239Primary HCs
55Community HCs
20Sub-District H
18District H
2,097Total facilities
Click a column header to sort · click a row to load that district on the map above.
District
SC
PHC
CHC
SDH
DH
Total
State total
1,765
239
55
20
18
2,097
Source · MoHFW Rural Health Statistics, district-wise health centres. Mini-bars in each cell are normalised within the column — longest bar is the column maximum.
Exhibit CBlock Density per District
95 dev. blocks · 13 districts
Each district is administratively split into development blocks, the unit at which Block Health Societies operate and BMOICs sit. Pauri Garhwal, the largest district by area, runs 15 blocks; Rudraprayag and Bageshwar manage with 3 each.
Exhibit DSix-year trend · how the state has evolved
Annual snapshots of facility counts and AAM rollout from FY 2018-19 to FY 2023-24. The dominant trend is AAM growth — from zero in 2018 to 2,186 operational by August 2024 — alongside gradual sub-centre consolidation.
Source: MoHFW RHS 2018-19 → Health Dynamics 2022-23 · AAM Operational Dashboard · values bound to DATA.timeSeries.
Exhibit EHill states · how Uttarakhand stacks up
Comparison with peer hill states — same 90:10 funding ratio, similar terrain challenges — plus the all-India per-crore-population baseline. Numbers normalised to population so smaller states (Sikkim) aren’t penalised.
Source: MoHFW Rural Health Statistics 2022-23, CAG audit reports · bound to DATA.hillStates.
Exhibit FNHM impact · what moved between 2015 and 2021
Inputs (facilities, money, AAMs) finally meet outputs. Every facility-tab in this document tells you what was built. This exhibit tells you whether it worked. Indicators are NFHS-4 (2015-16) vs NFHS-5 (2019-21) — the only two rounds available; NFHS-6 fieldwork is ongoing.
A note on timing
NFHS-5 fieldwork in Uttarakhand was completed by March 2021. That means it predates most of the AAM rollout (which scaled from 892 operational in FY 2020-21 to 2,186 in FY 2023-24). So the gains shown below come from the pre-AAM NHM architecture: facility upgrades, JSY/JSSK incentives, Mission Indradhanush, the ASHA cadre, and SUMAN. The next NFHS round will tell us whether the AAM scale-up moved the needle further.
Source: IIPS NFHS-4 (2015-16) & NFHS-5 (2019-21) Uttarakhand state factsheets · bound to DATA.outcomes.state.
Section · Districts
Districts
District-level drill-down · profiles, blocks, and side-by-side comparison
Exhibit ADistrict profiles · all 13 in one glance
A consolidated card per district pulling together what's scattered across the map, hierarchy explorer, and block deep-dive. Click any card to expand its full block list, AAM rollout share and notable facilities.
Pick any two of Uttarakhand’s 13 districts and see their facility counts and population catchment compared metric-by-metric. Used to answer questions like “is Almora better staffed than Pithoragarh?” in one glance.
Data: districts array · updates automatically when district counts change in the catalog.
Exhibit CHierarchy Explorer · State → District → Block → Facility
Click cards to drill in
Exhibit DSingle-Block Deep-Dive · Pick any block to see its full team
95 development blocks
Pick any block from the list on the left
to see its full team:
BMOIC · BPMU · facilities · ASHAs.
Block-level facility counts are per-block estimates: district totals divided across blocks with a deterministic name-seeded variation of ±35% to reflect real differences in block size and infrastructure density. Sparse metrics (CHCs) are gated so some blocks correctly show zero. Population estimates use the same approach with wider variance.
Exhibit EFemale Hospital Coverage
13 districts
SNCU equippedHas DFHNo dedicated DFH
SNCU finding from CAG Performance Audit on District Hospital Outcomes (2021).
Exhibit FHill vs Plain · Geography of Care
9 hill · 4 plain
Population norms · IPHSManpower-to-population ratios
5 hill districtshave no sub-divisional hospital~70%specialist vacancy in hill CHCs50–60 lakhchardham yatris through 4 hill districts
Exhibit GPopulation vs facilities · the IPHS gap
Norms require a denominator. This exhibit shows, for each district, the 2024 projected population, the facilities actually present, and the facilities IPHS 2022 says should be there. The gap is the hard reality.
A note on the denominator
India's last completed census was 2011. The 2021 census was postponed (COVID); the next will be conducted in 2027 (phase 1 in snow-bound regions including Uttarakhand starts October 2026). Every "current" population in this file is a projection — the Technical Group on Population Projections (MoHFW) puts Uttarakhand at 11.8 million (118 lakh) as of July 2024. Plain districts (Dehradun, Haridwar, USN) have grown ~22% since 2011; hill districts (Pauri, Almora, Tehri) have lost population to out-migration. Where the gap looks "satisfied" in a hill district, it's often because the population is shrinking faster than facilities can be wound down — not because care is plentiful.
Bound to districts[].pop2024est + IPHS 2022 hill/plain ratios · norms: 1 SC per 3,000 (hill) / 5,000 (plain) · 1 PHC per 20,000 / 30,000 · 1 CHC per 80,000 / 120,000.
Exhibit HOutcomes vs inputs · do the facilities translate to results?
For each district: NFHS-5 (2019-21) health outcomes alongside the SC/PHC/CHC density that produced them. Sort by any column to find productive districts (high outcomes, modest inputs) and under-performing ones (rich infrastructure, weaker results).
Reading this table
Colour coding marks each value against the state benchmark: green = ≥ 3 percentage points above state average, amber = within ±3pp, brick = ≥ 3pp below. The "SCs per 10k pop" column is the input density — the denominator any outcome gets normalised against. A district with high outcomes and low SC density is doing more with less; the reverse pattern flags a productivity gap.
Source: IIPS NFHS-5 (2019-21) district fact sheets · district values are best-effort approximations rounded to whole percentage points and should be verified against IIPS at rchiips.org/nfhs · bound to DATA.outcomes.byDistrict.
Section · Programs
Programs
Services & people · what NHM delivers and through whom
Source · MoHFW Ayushman Arogya Mandir Operational Dashboard, district-wise data as on 5 August 2024.
Exhibit BCommunity Workforce Pyramid
~12,800 frontline cadre
The community-level health workforce in Uttarakhand stacks five tiers deep, from ASHAs in every village up to a small State team coordinating block-and-district mobilizers.
~3State Community ProcessSPMU · oversight
13District Community Mobilizers1 per district · DPMU
101Block Community Mobilizers~1 per block · BPMU
606ASHA Facilitators1 per ~20 ASHAs · supportive supervision
12,018ASHAs1 per ~500 hill / ~1,000 plain population
The state runs two parallel directorates — the regular allopathic line under the Department of Medical Health & Family Welfare, and the Directorate of Ayurvedic & Unani Services for AYUSH systems (Ayurveda, Yoga & Naturopathy, Unani, Siddha, Homeopathy). They converge inside NHM facilities through co-located AYUSH wings and through joint funding of medicines and salaries.
Every named facility in the state catalogue — AIIMS, GMCs, district hospitals, key SDHs and major private institutions — with bed counts, ABDM ownership classification, and HFR registry status. Filter by district, type, ownership, or search by name. Each entry is structured to accept its HFR ID from the public registry at facility.abdm.gov.in.
Source: DATA.namedFacilities · 30 records as of August 2024. ABDM ownership and facility-type classifications are derived from public knowledge; HFR IDs pending verification at facility.abdm.gov.in.
Exhibit BNHM Programme Implementation Plan · Annual Cycle
Apr — Mar (financial year)
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Planning · State PIP draft
NPCC review · ROP issued
Implementation · Funds drawdown · Monthly HMIS
Mid-year review · SOE · Annual closure
Apr — May
State PIP drafting
SPMU compiles district plans (DHAPs) into a state-level Programme Implementation Plan with activity-wise budgets across MCH, RBSK, NUHM, NCD and other verticals.
Late May — Jun
PIP submission to MoHFW
PIP signed off by Mission Director and submitted to the National Programme Coordination Committee (NPCC) at MoHFW.
Jul — Aug
NPCC review & appraisal
National Programme Coordination Committee meeting — line-by-line scrutiny, queries, revisions. Final approved budget recorded in the Record of Proceedings (ROP).
Aug — Sep
ROP & first tranche
Approved Record of Proceedings issued. First-tranche release (typically 50% of central share) credited to UKHFWS account.
Q2 ongoing
UKHFWS → DHS transfers
UKHFWS releases quarterly to each of the 13 District Health Societies. DHS in turn release to Block Health Societies based on activity calendars.
Monthly
HMIS & physical reporting
Block Data Managers upload monthly facility reports to HMIS by the 7th of every month. State QA cell validates by the 15th.
Q3
Second tranche release
After Statement of Expenditure (SOE) and Utilisation Certificate (UC) review for Q1–Q2 spending, MoHFW releases the next tranche.
Dec — Jan
Mid-year review
Joint state-MoHFW review of physical and financial progress at mid-year. Course corrections, supplementary PIP requests where needed.
Feb — Mar
Year-end procurement
Procurement, training and capital activities cleared before year-end to avoid lapse. Bills paid by end of March; advance bills booked against 31 March cutoff.
31 Mar
Annual closure
Books closed. Audited Statement of Expenditure prepared in subsequent months. Final Utilisation Certificate filed; un-spent balances carried forward.
Source · NHM Operational Guidelines (MoHFW) and the State PIP Manual. Specific tranche dates vary by year and by approval pace at NPCC.
Exhibit CFunding Flow · From the Centre to a sub-centre
How a rupee travels
Source · CentreMoHFW · Government of India90%90% central share for hill states like Uttarakhand under the NHM funding rule (against 60% for general states). Released in tranches against the approved PIP.
Source · StateGovernment of Uttarakhand10%Matching share through the state finance department. Combined with the central tranche on receipt and credited to the UKHFWS account.
↓
PoolUKHFWS · Uttarakhand Health & Family Welfare SocietyRegistered State Health Society chaired by the Mission Director. Holds a single bank account for both central and state shares; signs vendor and salary contracts on behalf of NHM Uttarakhand.
↓
District · 13DHS · District Health SocietiesQuarterly transfers from UKHFWS to each DHS account. Chaired by the District Magistrate, secretary CMO. Disburses to BHS and handles district-level procurement.
Block · 95BHS · Block Health SocietiesMonthly drawdowns from DHS. Chaired by the SDM, secretary BMOIC. Pays salaries of contractual block staff (BPMU, ANMs etc.), block untied funds, and operational costs.
↓
Direct · DBTASHA incentivesActivity-based incentives bypass the BHS layer entirely. Verified at PHC every month and transferred direct to the ASHA's bank account through DBT.
Direct · UntiedVHSNC funds₹10,000/year released to each Village Health Sanitation & Nutrition Committee — a community-level untied fund spent on locally-decided priorities.
Direct · FacilityRKS at every CHC/PHCRogi Kalyan Samiti (Patient Welfare Committee) at each CHC and PHC receives untied + maintenance + corpus grants directly — the front-line operational money.
Direct · HWCCHO operational fundEach Health & Wellness Centre receives an untied operational fund routed through the BHS for medicines, screening kits and outreach campaigns.
Source · NHM Operational Guidelines for Financial Management (MoHFW). Society structure: NRHM/NHM Framework for Implementation. PM-JAY funds flow separately through the State Health Authority.
Exhibit DIPHS norms calculator
Enter any population and terrain class; the calculator returns the number of Sub-centres, PHCs, CHCs and ASHAs that the area should have under Indian Public Health Standards 2022. A planning tool, not a reporting tool — useful for advocacy and scenario work.
Norms: IPHS 2022, hill states · bound to DATA.norms in the catalog.
Section · Outcomes
Outcomes
From inputs to results · what the system actually delivers to women and children. NFHS-5 (2019-21), SRS, and the trend over four years.
Exhibit ANFHS-5 maternal & child health by district
Six core indicators from the National Family Health Survey round 5 (fieldwork Jan 2020 – Mar 2021), broken out by all 13 districts. Cell colour reflects performance against the state average — deficit (red) when more than 5pp below state, surplus (green) when more than 5pp above.
Source: IIPS/MoHFW NFHS-5 Uttarakhand state & district factsheets; NHSRC Health Dossier 2021. Sample: 12,169 households, 13,280 women. Several district indicators are reported in NFHS publications as ranges rather than point estimates — these are flagged in the data catalog.
Exhibit BNFHS-4 → NFHS-5 · what actually changed
State-level progress between the two most recent national surveys. Each indicator shows the NFHS-4 baseline (2015-16) and NFHS-5 value (2019-21). Direction badge indicates whether the change is favourable.
The headline: institutional delivery up 14.6pp, full immunisation up 23.3pp, sex ratio at birth up 96 points — but child anaemia worsened from 54.9% to 58.8%. The system delivered the obstetric services it was designed for; nutrition outcomes lagged.
Exhibit CSix-point mortality trend · IMR & life expectancy
Sample Registration System (SRS) data over 12 years. IMR has dropped from 38 to 22 per 1,000 live births — well below the national average of 28. Life expectancy at birth has improved from 70.1 to 72.5 years.
What the trend says
IMR fell 42% from 2010 to 2022 (38 → 22 per 1,000) — faster than national average decline.
The steepest drop happened between 2018 and 2020 (31 → 24) — coinciding with HWC/AAM expansion and 24×7 PHC strengthening.
MMR last separately reported for UK in SRS 2016-18 was 99 per 100,000 live births — below national 113 at that time. State-level MMR is not published every cycle.
Life expectancy at birth rose 2.4 years over the decade — the gap between UK and India narrowed.
Source: SRS Bulletins (RGI), various years; NHSRC Health Dossier 2021. SRS does not publish district-level estimates; sub-state mortality requires HMIS or Civil Registration analysis.
Exhibit DOutcomes vs inputs · does facility density predict performance?
Each district is one dot. X-axis: sub-centres per 10,000 people (an input). Y-axis: institutional delivery rate (an outcome). If facility density caused better outcomes, you would expect a clear upward slope. What actually shows up is more complicated.
Correlation is informative, not causal. Hill districts have higher SC density because the IPHS norm is more generous for them, not because additional SCs deliver more babies institutionally. The two hill outliers at the bottom-left (Chamoli, Uttarkashi) are remote and yatra-affected; the plain districts cluster top-centre.
A consolidated overview of the National Health Mission in Uttarakhand — its origin in 2005, the urban sub-mission added in 2013, the Health & Wellness Centre rollout under Ayushman Bharat, and the geographical asymmetries that make the state's structure distinct from the national template.
The National Rural Health Mission was launched in Uttarakhand on 27 October 2005 by the Union Cabinet Health Minister. Twenty years on, NHM does not replace the state's Department of Medical, Health & Family Welfare; it runs alongside it — the IAS Mission Director, the State Programme Management Unit's professional managers, and an army of contractually-engaged community workers operating through the same Chief Medical Officer who heads the regular district cadre.
The Union Cabinet's 2013 decision to make the National Urban Health Mission (NUHM) a sub-mission under the umbrella NHM — alongside the original NRHM — means today's structure covers both rural mountain panchayats and urban slums in Dehradun, Haridwar, Roorkee, Haldwani, and Rudrapur under a single roof.
What makes Uttarakhand unusual is geography. Nine of thirteen districts are classified hill districts. The Indian Public Health Standards apply different population norms here: a sub-centre serves 3,000 people in hills against 5,000 in plains, a PHC serves 20,000 against 30,000, and a CHC serves 80,000 against 120,000. Pauri Garhwal carries 218 sub-centres for an estimated population of 625,000; plain-state Haridwar runs 159 for nearly two million. The pages below trace this system from the Mission Director's office at Danda Lakhond down to the village ASHA — with the names, the numbers, and the maps that connect them.
As published on the official directory (last updated 31 December 2024). A three-headed apex with portfolios sliced across seven Assistant Directors. All sit at 3rd Floor, Directorate of Health, Danda Lakhond, Sahastradhara Road, Dehradun — on a single landline: 0135-2607938.
The IAS Mission Director provides administrative authority and leads UKHFWS (the Health & Family Welfare Society). The Director NHM is the senior medical-public-health professional head. The State Programme Manager runs the SPMU's day-to-day operational machinery. Below them, seven Assistant Directors carry portfolio responsibility across the full programmatic line.
Apex — three-headed leadership
Mission Director
Shri Manuj Goyal, I.A.S.
Chief Executive · UKHFWS
Administrative apex of the National Health Mission in Uttarakhand. Chairs the Health & Family Welfare Society and is the legal authority for all NHM programmatic and financial decisions in the state.
Emailmdnhmuk[at]gmail.com
Phone0135-2607938
Director NHM · State Programme Manager
Dr. Rashmi Pant / Dr. Mahendra K. Maurya
Senior public-health head & SPMU operational head
Director NHM oversees the seven Assistant Directors and the technical line. The SPM heads the State Programme Management Unit — PMCs across MCH, RBSK, RKSK, NUHM, NCD, QA and other verticals, plus Finance, HR, HMIS, Training, IT, Drug Warehousing, MMU and the Civil Wing.
Directordirnhmuk[at]gmail.com
SPMprintformd[at]gmail.com
Seven Assistant Directors
Portfolio responsibility across the National Health Mission's full programmatic line. Read horizontally to see how the alphabet soup divides up.
All five tiers consolidated into a single view: state apex, district command, block management, four facility streams, and the community workforce that ties the system to villages. Cadre type is encoded by node colour.
State Apex
Mission Director · UKHFWS
Director NHM · State Programme Manager · 7 Asst. Directors · ~35 SPMU PMCs
Regular cadre · ×13
Chief Medical Officer
+ 2–3 ACMOs, District Programme Officers, District Statistical Officer
NHM contractual · DPMU · ×13
District Programme Manager
DAM · DDM/M&E · DCM (ASHA) · DEO · programme consultants
Regular cadre · ×95
Block Medical Officer / MOIC
Administrative head of every block
NHM contractual · BPMU · ×95
Block Programme Manager
Block Accountant · Block Data Manager · BCM (101 statewide)
Tertiary referral · 18
District / Female / Combined
Specialists · MOs · staff nurses · paramedics · SNCU · OT
Figure 1. Unified five-tier organogram of NHM Uttarakhand from state apex to community workforce. Each district carries both a regular government cadre (permanent posts under the state directorate) and an NHM contractual cadre (year-by-year contracts under UKHFWS, paid from the NHM flexipool). The CMO heads both, holding two hats: head of DoMHFW in the district, and District Mission Director of NHM.
Reading the diagram
Most CHOs, ASHAs, MMU teams, RBSK doctors, NCD nurses, and ICTC counsellors are NHM-funded; most district hospital MOs, ACMOs and regular ANMs are state-cadre. The boundary between the two is administrative, not visible to the patient receiving care at any given facility.
As listed on the official NHM Uttarakhand directory. Each CMO holds dual authority: head of the regular Department of Medical, Health & Family Welfare in the district, and District Mission Director for NHM through the District Health Society.
Almora
Dr. Tiwari
CMO · Hill district
Mobile9410167445
Emailcmoalmora[at]gmail.com
Bageshwar
Dr. Kumar Aditya
CMO · Hill district
Mobile8006998557
Emailcmobageshwar2[at]gmail.com
Chamoli
Dr. Abhishekh Gupta
CMO · Hill · Chardham
Mobile9837180999
Emailcmochamolinhm[at]gmail.com
Champawat
Dr. Devesh Chauhan
CMO · Hill district
Mobile7417563832
Emailcmochampawat[at]gmail.com
Dehradun
Dr. Manoj Sharma
CMO · Plain · Capital
Mobile9410368366
Emailcmodehradoon[at]gmail.com
Haridwar
Dr. R. K. Singh
CMO · Plain district
Mobile9411722009
Emailcmoharidwar2017[at]gmail.com
Nainital
Dr. Harish Pant
CMO · Mixed terrain
Mobile9927213807
Emailcmonainital1[at]gmail.com
Pauri Garhwal
Dr. Shiv Mohan Shukla
CMO · Hill · Largest by SCs
Mobile9411385911
Emailcmogarhwal2[at]gmail.com
Pithoragarh
Dr. J. S. Nabyal
CMO · Hill · Border
Mobile7351830072
Emailcmopithoragarh[at]gmail.com
Rudraprayag
Dr. Ram Prakash
CMO · Hill · Chardham
Mobile9897809806
Emailcmorpg2023[at]gmail.com
Tehri Garhwal
Dr. Shyam Vijay Singh
CMO · Hill district
Mobile9720658690
Emailcmotehri3[at]gmail.com
Udham Singh Nagar
Dr. K. K. Agarwal
CMO · Plain district
Mobile9997973377
Emailcmousn2018[at]gmail.com
Uttarkashi
See current directory
CMO · Hill · Chardham
The CMO Uttarkashi listing is on page 2 of the official directory; check nhm.uk.gov.in/directory for the current name and contact.
A district-by-district inventory of sub-centres, Primary Health Centres, Community Health Centres, Sub-Divisional Hospitals, and District Hospitals across the state. Numbers from the Rural Health Statistics district-wise report.
Where the gaps areFive hill districts — Chamoli, Pithoragarh, Bageshwar, Rudraprayag and Uttarkashi — have no sub-divisional hospital at all. This is a structural referral gap: a CHC patient who needs intermediate care must be transported across long mountain distances to the next district hospital, often hours away. Nainital sits at the opposite extreme with six SDHs, reflecting its mixed hill-plain geography and tourist health load.
Dedicated women's hospitals carry the bulk of institutional deliveries in Uttarakhand. They operate as 24×7 First Referral Units offering OBG and paediatric services, free institutional delivery under JSY/JSSK, comprehensive abortion care, and post-natal care.
Eight districts have a dedicated District Female Hospital (DFH) listed under NHM's 24×7 facility roster. The remaining five rely on the Joint / District Hospital and a Combined Hospital with a women's wing. Per the CAG Performance Audit on District Hospital Outcomes (2021), SNCU services were available only at DFH Haridwar among the test-checked DFHs — a stark indicator of the staffing-and-equipment unevenness across districts.
Districts with a dedicated Female Hospital
Almora
DFH Almora
District Female Hospital · Hill
Listed in 24×7 facility roster. Higher C-section rate observed in CAG audit, indicating staffed gynaecology services. Dedicated OBG and paediatric OPD.
Dehradun
Female Hospital, Doon · District Women Hospital
Plain · Capital · OBG-paediatric anchor
The largest women's facility in the state, alongside Doon Hospital and Coronation Hospital in the Dehradun cluster.
Haridwar
CR Female Hospital
Plain · Has SNCU
Charanwala Roy Female Hospital. Per CAG Performance Audit (2021) — the only DFH among test-checked hospitals to operate a Special Newborn Care Unit (SNCU).
B.D. Pandey runs as a paired Male / Female Hospital in Nainital town. The Haldwani Female Hospital serves the plain Tarai belt and the Base Hospital catchment.
Pauri Garhwal
Female Hospital, Pauri
Hill · 24×7
One of five 24×7 facilities in Pauri district alongside the District Hospital, Base Hospital Srinagar, Combined Hospital Kotdwar and Combined Hospital Srinagar.
Pithoragarh
Female Hospital, Pithoragarh
Hill · Border district
Anchors maternal care for an Indo-Nepal-China border district where the next referral facility is hours away across mountain roads.
Udham Singh Nagar
JH Udham Singh Nagar
Plain · Joint Hospital
Joint Hospital handles women's and men's services together. CAG audit (2021) flagged very low C-section rate due to gynaecologist non-availability in sampled months — a chronic specialist-vacancy pattern.
Chamoli
JH Chamoli
Hill · Joint Hospital · Chardham
Joint Hospital model. CAG audit (2021) flagged very low C-section rates similar to JH Udham Singh Nagar, attributed to absent gynaecologists. Critical for Chardham yatra obstetric emergencies.
Districts without a dedicated Female Hospital
Bageshwar, Champawat, Rudraprayag, Tehri Garhwal and Uttarkashi do not run a separate DFH. Maternal services are delivered through the District Hospital and 24×7 CHC/PHCs.
From the IGNOU-trained Community Health Officer at a Health & Wellness Centre, to the ASHA carrying a drug kit through monsoon-blocked panchayats, to the SPMU consultant tracking HMIS dashboards in Dehradun — the workforce that runs NHM in this state, with sanctioned numbers, qualifications, and pay where published.
Community workforce
ASHA — Accredited Social Health Activist
12,018 sanctioned · 1 per 500 in hills, 1 per 1,000 in plains
Selected by Gram Sabha. Resident of the village. Carries a drug kit (DDK, paracetamol, IFA, ORS, povidone iodine, cotrimoxazole syrup, zinc, bandages). Refilled at PHC/CHC.
Pay: GoI activity-based incentives plus Uttarakhand fixed honorarium of ₹3,000/month plus 10% performance-based top-up.
Tools: uniform, diary, CUG SIM card. Reports to ANM (functionally) and ASHA Facilitator (administratively).
Mid-level provider
CHO — Community Health Officer / MLHP
1,604 sanctioned · 134 added Dec 2025 round
Heads each Health & Wellness Centre under Ayushman Bharat. Delivers Comprehensive Primary Health Care (CPHC) — the 12-service package including NCD screening, mental health, palliative care.
Qualifications: B.Sc Nursing, Post-Basic B.Sc Nursing, GNM with IGNOU 6-month CCH (Certificate in Community Health) bridge, or AYUSH practitioners with the bridge.
Recruitment: via HNB Uttarakhand Medical Education University. Walk-in / OMR-based exam followed by district-wise counselling.
Sub-centre / facility cadre
ANM · MPW(M) · Staff Nurse · LHV
First-line clinical workers
ANM (Auxiliary Nurse Midwife) — the bridge between ASHA and the formal system. INC-recognised ANM training, registration with Uttarakhand Nursing Council. Conducts SBA-attended deliveries, ANC, immunisation.
MPW (Male) — multipurpose worker for surveillance and male health.
Staff Nurse / LHV — PHC and CHC level; trained in SBA and increasingly in cervical cancer screening (VIA) and OVE for oral cancer.
Specialists & MOs
"You-Quote-We-Pay" — the hill staffing model
Specialist vacancies routinely > 70% in hill CHCs
Walk-in interviews held monthly. Each candidate quotes their own monthly figure for a named hill posting; the empanelment committee accepts or counter-offers on the spot.
Recent rates: hill specialists ₹2.0–4.0 lakh/month (OBG, Paediatrics, Anaesthesia, Surgery); MBBS MOs ₹1.0–1.5 lakh/month. Plain districts cluster around ₹70,000–90,000.
Plus: the state's Durgam ("difficult-area") allowance for regular cadre posted to specified hill blocks.
Programme management
SPMU · DPMU · BPMU
~35 SPMU + 13 DPMUs + 95 BPMUs
SPMU: SPM, SAM, SDM, ~30 PMCs across MCH, RBSK, RKSK, NUHM, NCD, QA/QM, NTCP, PC-PNDT, Drug Warehousing, Civil Wing, MMU/RT, Community Process, Documentation, Biomedical Engineering, IT.
DPMU per district: District Programme Manager, Accounts Manager, Data Manager / M&E Officer, District Community Mobilizer, DEO + programme consultants.
BPMU per block: Block Programme Manager, Block Accountant, Block Data Manager, Block Community Mobilizer.
Outreach & emergency
MMUs · 108 EMRI · 104 Helpline
Mobile + telephonic NHM workforce
MMU teams: Mobile Medical Units (some run with The HANS Foundation) bring MO + nurse + lab tech + driver to underserved villages. Pharmacy-on-wheels concept under Mukhyamantri Chal Chikitsa Vahan Yojana.
108: EMRI-operated emergency ambulance with EMTs trained in BLS/ALS.
104: Integrated Health Helpline — under Dr. Aakanksha Nirala's portfolio — tele-triage, drug information, grievance redressal.
12,018ASHAs sanctioned
606ASHA Facilitators
101Block Community Mobilizers
13District Community Mobilizers
1,604CHO posts sanctioned
~2,600Long-tenured contractual
Open issue · Regularisation
About 2,600 NHM workers in the state — including 400+ doctors, 465 nurses, 145 pharmacists, 395 ANMs and 230 data entry officers — have organised under the NHM Employees Association demanding regularisation after a decade or more on annual contracts. Successive strikes have sought parity with regular cadre on pay, retirement age, and a formal HR policy. Most demands remain pending.
Nine hill districts and four plain districts run on the same NHM rules but with different IPHS norms, different cadre supply problems, and different referral logistics. Here is the contrast in numbers.
Population norms differ — by design
Sub-centre population norm
3,000 · 5,000
Hills · Plains
A hill SC covers 40% fewer people, because mountain panchayats are scattered and roads can be blocked by landslides for weeks during monsoon. The result: more facilities per capita, more ANMs and CHOs, but also more vacant posts in remote blocks.
PHC population norm
20,000 · 30,000
Hills · Plains
PHC catchment is a third smaller in hills. A typical hill PHC at 6–10 staff serves ~20,000 people across multiple panchayats reachable only by jeep tracks; a plain PHC may serve a single dense semi-urban catchment.
CHC population norm
80,000 · 120,000
Hills · Plains
A hill CHC is supposed to handle a third less load, but typically does so with deeper specialist vacancies. The 80,000 norm assumes IPHS specialist staffing that few hill CHCs achieve.
ASHA population norm
500 · 1,000
Hills · Plains
Hill ASHAs cover half as many people because villages are smaller (more than 80% of mountain villages have under 500 residents) and walking distances between hamlets are longer. Outmigration thins the recruitment pool further.
Three structural workforce gaps in the hills
i
Specialist filling stays under 30%
Across hill CHCs in Uttarakhand, specialist vacancies routinely run above 70%. The state's response is the "You-Quote-We-Pay" model — candidate-quoted remuneration for hill posts, accepted or counter-offered on the spot.
ii
Outmigration thins the ASHA pool
In Pauri, Almora and Pithoragarh, the eligible 25–45 woman pool in some panchayats is too small to support ASHA selection through the resident criterion. The state has used age-criterion relaxations in those areas.
iii
CHO attrition is high
A CHO posted to Munsiyari or Dharchula often leaves at the end of contract for a plains posting. The Dec 2025–Jan 2026 round of 134 CHO posts is partly an attrition refill.
Pay differential at a glance
Hill CHC specialist
₹2.0–4.0 L/mo
Plain CHC specialist
₹1.0–1.5 L/mo
Hill MBBS MO
₹1.0–1.5 L/mo
Plain MBBS MO
₹70k–90k
Durgam allowance
+ on basic pay
No durgam allowance
Standard pay
Indicative ranges from recent NHM Uttarakhand walk-in interview empanelments. The Durgam allowance is a state-paid hard-area allowance on top of basic pay for regular cadre posted to specified hill blocks.
Between April and November, an estimated 50–60 lakh transient pilgrims travel through Uttarkashi, Rudraprayag, Chamoli and Pithoragarh — districts whose otherwise-modest permanent population has no Sub-Divisional Hospital between them. NHM responds with a seasonal surge of contractual personnel and equipment.
Yatra Medical Posts
Wayside care along the routes
Operated April–November every year
Manned posts at major halts on the Yamunotri, Gangotri, Kedarnath and Badrinath routes. Equipped to handle altitude sickness (AMS), cardiac events, trauma, and obstetric emergencies among pilgrims.
Mobile Medical Units
Doctor + nurse + lab on wheels
Deployed to yatra-route villages
Some MMUs run in collaboration with The HANS Foundation. Provide screening, OPD, basic diagnostics, and act as feeders to the nearest CHC or DH for stabilisation.
108 / ALS / BLS Ambulances
Emergency transport surge
Higher ambulance density on yatra routes
Advanced and Basic Life Support ambulances pre-positioned along the routes. Include "ICU on Wheels" units for the highest-altitude segments.
Centralised Coordination
Chardham Health Advisory portal
Live on nhm.uk.gov.in
The state runs a Chardham Advisory & Health Access page in NHM Uttarakhand's main menu, with health screening protocols, contact lists and registration links for yatris and providers. Open portal →
Uttarakhand runs two parallel medical directorates. The regular allopathic line under the Department of Medical Health & Family Welfare, and the Directorate of Ayurvedic & Unani Services for AYUSH systems. They converge inside NHM facilities through co-located AYUSH wings, and they share staffing through the Community Health Officer bridge.
Two directorates, one health system
The AYUSH directorate is headquartered in Dehradun and oversees Ayurveda, Yoga & Naturopathy, Unani, Siddha and Homeopathy. Its Director is a senior AYUSH-cadre officer, separate from the Director NHM and the Director General of Medical Health & Family Welfare. The directorate runs its own dispensaries (most of them small Ayurveda or Homeopathy units in panchayat buildings), its own colleges (notably Rishikul and Gurukul Kangri), and its own AYUSH Mission desk under the National AYUSH Mission (NAM).
What makes Uttarakhand distinctive is the depth of co-location inside NHM facilities. As reported by the directorate in 2024, AYUSH wings now operate at:
206AYUSH wings (total)
26In District Hospitals
29In CHCs (NRHM-funded)
154In PHCs (NRHM-funded)
Funding split
The financing arrangement at every co-located wing is structurally identical: medicines and furnishings come from the AYUSH Ministry, salaries come from NHM. This is what makes "co-location" a real programmatic instrument rather than merely a building-sharing arrangement — the AYUSH Medical Officer at a PHC is on the NHM payroll but draws Ayurveda or Homeopathy medicines from the AYUSH supply chain.
CHO bridge entry
For HWC staffing, AYUSH practitioners are a major recruitment route. A BAMS, BHMS or BUMS graduate becomes eligible to serve as a Community Health Officer (the mid-level provider running every HWC) after the IGNOU Certificate in Community Health (CCH) — a six-month bridge programme covering basic clinical assessment, essential drugs, NCD screening protocols and referral pathways. The Cabinet's 2020 approval to operationalise 12,500 AYUSH-AAMs nationally rides on this same bridge cadre. In Uttarakhand, the National AYUSH Mission has approved blocks of dedicated AYUSH-AAM facilities — including 200 in Almora district alone.
Where the convergence shows up in numbers
Mapping the AYUSH wings against the NHM facility base yields the working share of co-location:
PHCs: 154 of 239 PHCs host an AYUSH wing — about 64% co-location.
CHCs: 29 of 55 CHCs — about 53% co-location.
DHs: 26 wings spread across 18 District Hospitals — multiple AYUSH systems (Ayurveda + Homeopathy + Unani as separate wings) at several DHs.
This is among the highest co-location rates of any state in India. For a hill state where the closest specialist may be an eight-hour drive away, having an AYUSH MO already on-site at the PHC is a meaningful access lever.
The Programme Implementation Plan is the spinal column of NHM. Every state submits a PIP each year detailing planned activities and budgets; MoHFW reviews and approves a Record of Proceedings, which becomes the operational and financial mandate for the year. Activities not in the ROP cannot be funded under NHM.
Phase 1 · Planning (Apr–Jun)
The cycle starts at the bottom. Each district prepares a District Health Action Plan (DHAP) — an activity-and-budget plan compiled by the DPMU under the CMO. Block-level inputs feed in through the BPMU. The 13 DHAPs are aggregated and reconciled at the SPMU, which compiles them into a single State PIP with cross-cutting verticals (MCH, RBSK, RKSK, NUHM, NCD, NLEP, IDSP, NMHP and so on). The PIP is signed off by the Mission Director and submitted to MoHFW's National Programme Coordination Committee (NPCC) by mid-year.
Phase 2 · Approval (Jul–Sep)
NPCC convenes a state-by-state appraisal. Each line item is examined for budgetary consistency, programmatic priority and physical-target plausibility. Iteration is normal — states are sent back for revisions and resubmissions. Once cleared, the approved version is issued as the Record of Proceedings (ROP). The first tranche of central funds (typically half of the central share) is released against the ROP and credited to the UKHFWS account.
Phase 3 · Implementation (Sep–Mar)
UKHFWS releases quarterly to each of the 13 District Health Societies; DHS in turn releases monthly to Block Health Societies based on activity calendars. Block Data Managers upload monthly facility reports to HMIS by the 7th of each month; the State QA cell validates by the 15th. After the first half-year, the state files a Statement of Expenditure (SOE) and a Utilisation Certificate (UC) with MoHFW; tranche-2 release is gated on these.
Phase 4 · Review & closure (Dec–Mar)
A mid-year joint review is held in December or January, and supplementary PIP requests are considered if the state needs additional headroom. February and March are spent on year-end procurement, training and capital activities — bills must be cleared before 31 March, after which un-spent balances are carried forward but cannot be drawn against without re-approval. The audited Statement of Expenditure follows in the months after, and the next PIP cycle is already underway by then.
NHM is a Centrally Sponsored Scheme with a state matching share. For Uttarakhand — classified as a hill state along with the North-East — the funding ratio is 90% Centre, 10% State (against 60:40 for general states). Knowing how a rupee actually travels from MoHFW to a sub-centre helps explain why some operational levers move quickly and others don't.
The pool: UKHFWS
The combined central-and-state pool sits at the Uttarakhand Health & Family Welfare Society — a registered society chaired by the Mission Director. UKHFWS is the legal counterparty: it holds bank accounts, signs vendor and salary contracts, and disburses to district health societies. Its annual budget is the sum of the approved PIP plus carry-forwards.
The downward chain
UKHFWS releases quarterly to each of the 13 District Health Societies. The DHS is chaired by the District Magistrate with the CMO as secretary. From DHS, funds flow monthly to Block Health Societies — chaired by the SDM with the BMOIC as secretary. The BHS in turn pays salaries of the Block Programme Management Unit (BPM, BAM, BDM, BCM) and contractual ANMs, and routes operational funds to facility-level Rogi Kalyan Samitis at every CHC and PHC.
The shortcuts
Three important streams bypass the chain:
ASHA incentives via DBT. ASHA activity-based incentives are verified at the PHC each month and transferred direct to the ASHA's bank account through Direct Benefit Transfer — bypassing the BHS layer entirely. This is what keeps the incentive pipeline relatively fast even when block-level disbursement is slow.
VHSNC untied funds. Each Village Health Sanitation & Nutrition Committee receives ₹10,000 per year as untied money — community-level discretionary funds spent on locally-decided priorities (drinking-water testing, sanitation drives, health camps).
Facility RKS grants. Every CHC and PHC has a Rogi Kalyan Samiti receiving its own untied grant, maintenance grant and corpus — the front-line operational money that keeps the OPD doors functional.
PM-JAY: a separate channel
The PM-JAY hospital-insurance arm of Ayushman Bharat does not flow through UKHFWS. It runs through the State Health Authority and pays empanelled hospitals (public and private) on a case-package basis after admission. The two channels — primary-care strengthening through NHM, and secondary/tertiary insurance through PM-JAY — sit on parallel tracks even though they share the Ayushman Bharat brand.
Behind the visible architecture of facilities and people sit the quality-assurance frameworks and the vertical programmes that NHM funds. These are the rails that keep the system honest and that translate broad mandates into specific, measurable activities at the facility level.
Three QA pillars
NHM-funded facilities are assessed under three overlapping but distinct certifications:
NQAS · National Quality Assurance Standards. A 70-checkpoint assessment covering service provision, patient rights, inputs, support services, clinical care, infection control, quality management and outcomes. Facilities scoring 70%+ on internal and external assessments earn certification — valid for three years — and unlock incentive payments to staff. Applies to DHs, SDHs, CHCs, PHCs and HWCs separately.
Kayakalp. The cleanliness award initiated in 2015. Facilities are scored on hospital upkeep, sanitation, hygiene practices, waste management and infection control. District-, state- and national-level prizes go to top performers; 70% threshold qualifies for commendation. Staff cash awards are part of the model.
LaQshya. Specifically for labour rooms and maternity OTs — "Labour Room Quality Improvement Initiative". A 100-checkpoint protocol covering all phases of labour, birthing infrastructure, infection prevention and respectful maternity care. LaQshya certification is a prerequisite for any labour-room incentive.
RCH · Reproductive, Maternal, Newborn, Child & Adolescent Health
The largest funded vertical. RCH covers JSY (cash incentive for institutional delivery), JSSK (free drugs, diagnostics, transport and diet for pregnant women and sick newborns), RBSK (school-and-Anganwadi screening for the 4 D's: defects, deficiencies, diseases, developmental delays), RKSK (adolescent health), routine immunization (now on the U-WIN platform), and the SNCU/NBSU/NRC chain for sick newborns and severely malnourished children. Front-line delivery happens at every PHC and CHC; specialised care is concentrated in the 24x7 Female Hospitals and DHs.
NCD vertical
Hypertension, diabetes, common cancers (oral, breast, cervical), chronic respiratory disease and stroke risk are screened opportunistically at every HWC for the 30+ population. Positive cases are referred up the chain for confirmation and management. The PM National Dialysis Programme runs free dialysis units at most DHs.
Communicable disease verticals
Three named programmes carry the bulk: NTEP (National TB Elimination Programme — the renamed RNTCP — targeting elimination by 2025), NLEP (Leprosy), and IDSP (Integrated Disease Surveillance Programme, the all-hazards reporting system that picks up outbreak signals from every PHC). Vector-borne disease control sits on a parallel programme line.
Nutrition
NHM and the Ministry of Women & Child Development converge on nutrition through the POSHAN Abhiyaan. Severely malnourished children are referred from Anganwadi to Nutrition Rehabilitation Centres (NRCs) at DHs and to Malnutrition Treatment Centres at CHCs. WIFS (Weekly Iron Folic Acid Supplementation) covers school-going adolescents; ASHAs distribute IFA tablets to pregnant women and lactating mothers.
Mental health
The District Mental Health Programme (DMHP) places a small mental-health team at the DH — typically a psychiatrist, a psychologist, a psychiatric social worker and a community nurse. The Tele-MANAS helpline operates as a national 24x7 backup for districts without on-site psychiatrists.
Most of this compilation describes what is funded by NHM. This section describes how much, using the Programme Implementation Plan (PIP) and Record of Proceedings (ROP) that the State submits and the Centre approves each year. Figures are bound to DATA.pipBudget in the catalog.
The two-year approval cycle
Since FY 2024-25, NHM Uttarakhand operates on a two-year PIP / ROP cycle. The combined allocation for FY 2024-25 and FY 2025-26 is ₹ 1,100 crore, approximately split equally across the two years. This is approved by the National Programme Coordination Committee (NPCC) at MoHFW based on the state's PIP submission.
Centre-State share
As a hill state, Uttarakhand benefits from the 90:10 ratio — for every ₹100 of NHM spending in the state, the Centre contributes ₹90 and the state ₹10. General states get a 60:40 ratio. On the approved 1,100 crore, the centre's share is roughly ₹990 crore and the state's is ₹110 crore.
Where the money goes · programme-wise allocation
The PIP submission breaks the resource envelope across NHM's major programme heads. Approximate shares based on aggregate of recent ROPs:
Programme head
Share
Notes
Reproductive & Child Health (RMNCH+A)
24%
JSY, JSSK, ASHA incentives, MCH services
Infrastructure maintenance
19%
PHC/CHC/DH upkeep, equipment, repairs
AAM / HWC operationalisation
16%
Includes CHO honorarium and medicines
Communicable disease programmes
14%
NTEP, NVBDCP, NLEP, IDSP
Human resources
12%
NHM contractual staff & training
Non-communicable diseases
9%
NPCDCS, NMHP, NCD clinics
Programme management & MIS
6%
SPMU/DPMU/BPMU teams, HMIS
Year-over-year trajectory
Approximate state-level annual ROP envelopes for context:
FY 2024-25: ~₹550 crore (first year of new two-year cycle)
FY 2025-26: ~₹550 crore (second year of two-year ROP)
Beyond NHM · allied funding lines
NHM is not the only source of Centre money flowing into Uttarakhand's health sector. The state also receives:
15th Finance Commission Health Grants — non-NHM tied funds for primary-healthcare strengthening.
PM-ABHIM (Pradhan Mantri Ayushman Bharat Health Infrastructure Mission) — for 50-bedded Critical Care Blocks, District Integrated Public Health Laboratories (DIPHLs), Block Public Health Units (BPHUs).
All facts in this document are traceable to official government sources, audit reports, and the NHM Uttarakhand directory. References are listed in order of first reference within the document.
Primary — Leadership
NHM Uttarakhand Directory
Office of MD & District CMOs
nhm.uk.gov.in/directory — last updated 31 December 2024. Source for all named officials in Sections 2 and 4.
Primary — Programmes
NHM Uttarakhand Division Pages
Programme details & ASHA numbers
Community Process division (12,018 ASHAs, 606 Facilitators, 101 BCMs); Maternal Health division for JSY/JSSK and FRU details. Community Process · Maternal Health
Primary — Facilities
NHM 24×7 Facility Roster
DHs, DFHs, CHCs, PHCs functioning 24×7
Authoritative list of district hospitals, female hospitals, combined hospitals, and the 24×7 CHCs and PHCs in each district. Source for Section 6.
Primary — District statistics
Rural Health Statistics
MoHFW · district-wise health centres
District-wise count of Sub-Centres, PHCs, CHCs, Sub-Divisional Hospitals and District Hospitals. Source for Section 5 numbers and Figure 2.
Audit — District hospitals
CAG Performance Audit (2021)
District Hospital Outcomes
Performance Audit Report on District Hospital Outcomes for the year ended 31 March 2019, by the Comptroller & Auditor General of India. Source for SNCU-only-at-Haridwar finding and JH C-section gaps.
Recruitment & vacancy
NHM Uttarakhand recruitment notices
Walk-in advertisements & results
CHO recruitment 2022 (664 posts), 2025–26 (134 posts via HNB Uttarakhand Medical Education University). MBBS MO and specialist YQWP rounds throughout 2024–2025.
Map data
india-maps-data (Udit Mittal)
Uttarakhand district GeoJSON
District polygon boundaries via JSDelivr CDN. Curated from public sources; verify against authoritative survey records for legal use.
About this document
This is an educational compilation drawn from publicly-available NHM Uttarakhand sources, MoHFW publications, and CAG audit reports. It is not an official NHM publication. For administrative or legal purposes, consult the original sources or the Office of the Mission Director directly at 0135-2607938. Data current to early 2026; certain officeholders and numbers may change.
Every acronym, programme name, and Hindi/Sanskrit term used in this compilation, with its full expansion and a one-line definition.
Section · Sources
Sources & technology
Every figure cited in this compilation is traceable to an official, audit, or peer-reviewed source. Every visual element on the page — map tiles, fonts, charts, polygons — comes from open or open-licensed software. This page is the audit trail for both halves.
15Data sources
7Tech dependencies
100%Open / public domain
1Self-contained file
AInformation sources
BHow to verify any number on this page
Every numeric claim in the dashboard, reference text and glossary should be reproducible. The recipe:
Facility counts (1,765 SC / 239 PHC / 55 CHC / 20 SDH / 18 DH) — download the latest Rural Health Statistics from MoHFW; navigate to the Uttarakhand state table.
AAM rollout numbers (2,186 operational; district splits) — visit the AAM operational dashboard; the data refreshes monthly. The figures used here are as of 5 Aug 2024.
AYUSH co-location ratios (154 of 239 PHCs, 29 of 55 CHCs) — the Uttarakhand AYUSH directorate's homepage states these explicitly.
Workforce numbers (12,018 ASHAs etc.) — the NHM Uttarakhand directory and the most recent SPMU returns; cross-checked against the National Health Profile.
Female Hospital Coverage — the CAG Performance Audit on District Hospitals, Report No. 11 of 2023, Annexure for Uttarakhand.
Hill vs Plain population norms (3,000 vs 5,000 etc.) — IPHS 2022 norms document, Annexure I.
Funding ratio (90:10 for hill states) — NHM Framework for Implementation 2017–2025, paragraph on funding pattern.
If a figure on this page does not match the source, the source is correct and this page is wrong. The thumbs-down feedback button at the bottom right of the chat sends corrections directly to the build chain.
Section · Build · the journey, the prompts, the architecture
How this dashboard refreshes — and how it was built
Two halves to this tab. First, the live mechanism — one click triggers the refresh pipeline and you can watch counters across the dashboard update in place. Then, the journey behind it: fifteen phases of conversation between a human stakeholder and an AI build agent, with the real prompts that shaped each phase, the architectural decisions that emerged, and the patterns that fell out. Useful as a learning artifact if you want to build a similar self-maintaining dashboard. For the technology stack itself — FOSS pipeline, mapping tools, typography, build philosophy — see the Tech tab.
ALive update pipeline
The DATA catalog at the top of the script can be refreshed manually (Section F below). It can also, in principle, be refreshed by an automated agent — the same kind of agent that built this site. The button below simulates that pipeline end-to-end and actually applies the resulting diff to the in-memory window.DATA object — scroll up to the Overview tab after running it to watch the affected counters refresh in place. The network calls remain simulated (a static HTML file cannot reach MoHFW); the diff is a fixed illustrative payload, applied for demonstration. The change is in-memory only — a page reload restores the catalog baseline, or click Reset to catalog to revert without reloading.
Live pipelineInitialising…
BHow this dashboard came to be
This site was not authored top-to-bottom in one pass. It was constructed in a long iterative dialogue between a human stakeholder and an AI build agent — the same kind of agent capable of running tools (web search, code execution, file operations) inside a single conversation context. The agent's loop, tool use, and the human-in-the-loop refinement pattern are diagrammed below.
Human stakeholder
User intent & iterative feedback
"Show me NHM Uttarakhand" → "Add a deep-dive" → "Make D and F similar" → "Fix this bug"
↓
Claude build agent
Plan · Reason · Execute
ToolWeb SearchMoHFW, AYUSH, NHM portals; Rural Health Statistics
Showing catalog baseline. Click Build to scan the live document.
The journey · 15 phases at a glance
Each phase moved the artifact forward by one bounded request. The agent never had to guess what was next, and the artifact never had to be rebuilt — it grew incrementally.
01Q&A research9 MayPlain text answers about NHM Uttarakhand. Research turns banked context for later.
02First HTML9 MayQ&A consolidated into a single-page reference with a map. The artifact shape emerged.
13Self-monitoring12 MayBuild button computes stats from live DOM, caches in localStorage with 24h TTL.
14Pipeline made real12 MayPipeline now writes diff values into window.DATA, re-binds, highlights changes.
15This documentation12 MayBuild tab split into Build (journey, patterns) and Tech (FOSS stack, tooling).
The prompt workflow · how one iteration moves the artifact forward
Block diagram of the loop. Run it once and you get a small, well-bounded change. Run it 15 times and you get the artifact you're reading. The discipline is in keeping each iteration small enough that the agent can't miss what was asked.
Input
User intent
One bounded request per turn
terse selectioncompare-with-fallbackscope narrowing3-noun bug reportcompliance checkaudience hint
→
Process
Agent loop
Bounded by the request
1Plan: read existing structure, locate the right file/section
2Execute: surgical edits, never full rewrites
3Validate: brace balance, tag balance, data paths resolve
Tools available
web searchfile opscode execimage search
→
Output
Artifact mutation
Single file, incremental change
+New entry in JSON catalog
+New exhibit or section
~data-bind refresh on next load
!Bug fix or behaviour change
↩User reviews the output and replies. “Doesn't work” sends a bug-report prompt back through the loop. “Good, what next?” kicks off a fresh iteration. “Now make it…” refines the same artifact.
What stays constantThe data catalog · the architecture · the file location · previous decisions
What changes per iterationOne section or behaviour at a time. Never the whole file.
Why this worksSmall bounded changes are easy to validate, easy to reverse, and easy for the agent to reason about in one context window.
CAnatomy of effective prompts
Looking back at fifteen phases, the prompts that moved this artifact forward fastest had common shapes. Six recur often enough to be worth naming.
1 · The terse selection1–3 tokens
"#2"
Use when: the agent just laid out numbered options and you've picked one.
Why it works: you've offloaded the option-framing to the agent. Re-explaining loses time and risks contradicting earlier framing. Two tokens preserves the agent's prior context perfectly.
2 · The compare-with-fallback10–25 tokens
"Is JSON better than embedded as key-value? Suggest another method if neither."
Use when: you have an architecture decision and don't know the right answer.
Why it works: the "suggest another method" clause grants permission to think laterally. Without it, the agent compares only your two options. With it, you get analysis and possibly a third option you hadn't considered. (In phase 10 this surfaced Option D.)
3 · The decisive scope-narrowing10–20 tokens
"Option B for now. We can later decide if we need option D."
Use when: you're committing to one path but want the agent to remember the deferred one.
Why it works: naming what you're deferring is as useful as naming what you're picking. The agent files Option D for later, doesn't try to "complete" it now, doesn't add code that would only matter under D.
4 · The three-noun bug report8–15 tokens
"On clicking trigger update pipeline, its not updating numbers on the counters and exhibits."
Use when: something is broken and you want a fix, not a discussion.
Why it works: three precise nouns — action, symptom, affected element. The agent doesn't have to ask "which button?" or "what doesn't update?". It goes straight to diagnosis and fix.
5 · The compliance check10–20 tokens
"Is there ABDM compliance needed? Can you convert the information to that standard?"
Use when: you're about to invest effort in aligning with a standard.
Why it works: the yes/no front-loads the fit check. The agent assesses applicability before building, which sometimes saves the whole effort. In phase 12 this surfaced "ABDM FHIR is for patient data, not aggregate stats — here are three things that actually fit".
6 · The audience-purpose hint20–40 tokens
"Add a process flow and architecture of how I derived this webpage… so that it becomes a learning for the users on how to build such self-maintaining dashboards."
Use when: the same artifact could be optimized very differently depending on who reads it.
Why it works: stating the audience and purpose ("for users to learn") changes the output meaningfully. Without the hint the agent might write internal-style docs; with it, the result is shaped as teaching material with examples and takeaways.
What didn't work as well
In the spirit of honest documentation: three patterns that produced less efficient sessions.
"Make it nicer." Vague aesthetic requests need a reference point. "Add a callout box like the one in Districts Exhibit G" beats "make it more polished".
"Fix everything broken on the page." The agent has to guess what's broken, often misses the specific issue you care about, and may "fix" things that weren't broken. List the symptoms.
"Do whatever you think is best next." Open-ended is fine when you genuinely don't know, but tends to surface three options anyway. Asking "what next?" and then picking by number is faster than the alternative of getting unrequested work.
DThe architecture that emerged
Five layers, each doing one thing. A number in the JSON catalog flows up to a counter on the screen. A click on the pipeline trigger flows down to mutate the catalog. The same architecture handles both manual edits and agent-driven refreshes.
Walks every [data-bind] element in the DOM, resolves the dot-path against window.DATA, formats per data-bind-format, replaces text content. Runs at page load and after every diff apply
applyDataBindings()
reads from↑
L2
Bootstrap IIFE
Reads the JSON script element by ID, parses it once, hoists private arrays (districts, blocksByDistrict) into module scope, exposes the rest as window.DATA
Flow on update · what happens when you click "Trigger"
1 User clicks #pipelineBtn in the Build tab
2 Animation runs for ~7s — each step has a label, a wait, a checkmark
3 At the "Writing diff" step, applyDiff() walks SIM_DIFF and writes each value into window.DATA via dot-path
4applyDataBindings() fires — every [data-bind] element in the DOM gets re-read
5 Each changed element receives the .value-updated class — CSS keyframes pulse the cell green
6 "Reset to catalog" button appears — one click restores the snapshot taken at page load
A real agent run replaces step 3's hardcoded SIM_DIFF with values fetched from MoHFW / AYUSH / NHM endpoints. Everything else is identical. The pipeline architecture doesn't change between "simulation" and "production" — only the source of the diff.
EPatterns for similar dashboards
Six patterns that fell out of the journey. Generalizable to any reference dashboard that needs to stay accurate over time.
P1
Single source of truth
Every editable number lives in one catalog. The HTML never duplicates a number. If a value appears in three places on the page, all three references resolve to the same path. Cost: one extra layer of indirection. Payoff: edits become one-line and impossible to leave half-applied.
Applied at · phase 06
P2
Declarative bindings, not imperative DOM writes
Use <span data-bind="path.to.value">fallback</span> in HTML. Have one renderer walk the DOM and replace text. Don't sprinkle document.querySelector(...).textContent = ... across the codebase. The data-bind system is essentially a one-direction Vue-style binding in 40 lines of vanilla JS.
Applied at · phase 06
P3
Provenance is a first-class field
Each catalog section carries an implicit source. The binding system attaches data-source attributes at render time, so every number on the page can show "where did this come from" on hover or in print. Costs nothing; pays off the first time someone asks "is this current?"
Applied at · phase 05
P4
Two refresh paths — manual and automated
Don't pick one. Manual: open the JSON, edit a value, save, reload. Automated: an agent (or this page's own pipeline) writes new values into window.DATA at runtime. Same data structure, two entry points. The architecture treats them as identical.
Applied at · phase 07 (sim) · phase 14 (real)
P5
In-memory mutations with reset
When the pipeline writes new values, those changes live in window.DATA only — they don't get persisted. Reload restores the baseline. A "Reset to catalog" button does the same in-session. This means simulated or experimental updates can never poison the document. Cache truth (Build button stats from live DOM), don't cache fiction (pipeline sim diffs).
Applied at · phase 14
P6
Self-measurement
The dashboard counts its own exhibits, tabs, glossary entries via querySelectorAll. The reported stats can never lie about themselves because they're computed from the live structure. The catalog holds a baseline; the Build button confirms reality. Useful for any artifact where "is the metadata accurate?" matters.
Applied at · phase 13
The combined effect of P1–P6: this file edits like a spreadsheet, refreshes like a CMS, and ships like a static file. No build step, no server, no API key. Open the HTML in any text editor; the data is at the top; everything propagates on next reload.
FUpdating manually · updating numbers
Every editable number on the page is wired to a single DATA catalog at the top of the script block in this HTML file. To refresh figures (e.g. when MoHFW publishes new AAM data, or the ASHA workforce grows), the workflow is short:
Open the file in any text editor. Search for DATA CATALOG — you'll land on the documented data block at the top of the script.
Find the number you want to change. The catalog is grouped: state, workforce, aam, ayush, norms, yqwp. Each property has a one-line comment explaining what it represents.
Edit the value. No quotes around numbers, commas as thousand separators are NOT used (write 12018, not 12,018 — the renderer adds commas automatically).
Save and refresh. Every KPI tile, chart bar, prose mention, and footer total carrying the new number updates on next page load.
How does this work? Each editable HTML element has a data-bind="path.to.value" attribute. On page load, a small renderer walks the DOM and replaces text content from the DATA object. The HTML still ships with fallback values, so the page renders correctly even if the script fails.
Adding a new number? Add it to the DATA catalog, then in the HTML tag <span data-bind="newPath">fallback</span>. Optional: data-bind-format="pct" for percentages, data-bind-format="plain" for un-formatted integers.
Section · Tech & tooling
The stack underneath
Two layers of technology shipped with this artifact. What's used today: a small set of mapping, charting, typography and CSS choices that produced the file you're reading. What it could become: a full open-source agentic pipeline that re-fetches government data, validates it, regenerates the HTML, and deploys the site — on infrastructure you own, with zero SaaS dependencies and no commercial-LLM API keys leaving your network. Section A documents that future-state pipeline; Section B catalogues the tools used to ship the current artifact.
AProductionising · a FOSS agentic stack
An autonomous, scheduled pipeline of free and open-source software can re-fetch the underlying government data, validate it, generate the HTML, and deploy the site — on infrastructure you own, with no SaaS dependencies and no commercial-LLM API keys leaving your network. The architecture below shows how to build that agent end-to-end. Sections D and E later in this tab show the same workflow as a live simulation and as a manual recipe respectively.
8Pipeline stages
31FOSS tools catalogued
100%Self-hostable
0SaaS dependencies
The eight-stage pipeline
FOSS tool catalogue
Each role in the pipeline has multiple FOSS options — pick the one that matches your team’s preferences and infrastructure constraints.
Workflow orchestration
Orchestrator · Sustainable Use License
n8n
Fair-code · free for self-hosting and internal use
Visual node-based workflow builder. Native nodes for HTTP, Postgres, S3, OpenAI/Ollama, Slack, cron triggers. A 700+ node ecosystem covers most government portals out of the box. Run as a single Docker container.
Drop-in alternative if you want a fully OSI-approved licence. Same node-based UX, smaller ecosystem but covers the essentials (HTTP, Postgres, OpenAI-compatible LLM, webhook).
If your team is Python-comfortable and prefers code-as-config. DAGs in Python, web UI, deep observability hooks, mature scheduler. Heavier to operate than n8n.
For pipelines that need crash-recovery semantics — if a stage 5 LLM call dies mid-flight, Temporal resumes from the last completed activity. Overkill for weekly refreshes; essential for high-volume pipelines.
Explicit state machines for agentic flows. Each node is a callable that mutates state; edges define routing. Best fit for the reconciliation + critic stages where flow control matters more than free-form chat. Works with any OpenAI-compatible endpoint.
Model the pipeline as a crew of specialised agents (Researcher, Validator, Writer, Critic) rather than a graph. Higher abstraction; less control. Good for prototyping the agentic shape before committing to LangGraph.
Stronger on RAG and document ingestion than agentic flow. Useful in stage 4 (extraction): point LlamaIndex at the raw artifact bucket, get back structured documents indexed with metadata.
Simplest path to running Llama 3.3, Mistral, Qwen, Gemma 3 or DeepSeek locally. Single binary, OpenAI-compatible API on port 11434. Auto-detects Apple Silicon, NVIDIA and AMD GPUs. Smallest possible operational footprint.
PagedAttention memory management lets a single A100 / H100 serve dozens of concurrent requests. Production choice when latency and throughput matter; needs more setup than Ollama.
Single API endpoint that wraps multiple backend engines (llama.cpp, transformers, diffusers). Useful when you want to swap models without changing client code.
Strong instruction-following, ~70 GB in 4-bit quant (single A100 or 2× RTX 3090). Best baseline for the LLM critic and extraction-fallback roles. The 8B variant fits on a 16 GB GPU and is plenty for structured extraction.
Mistral 7B and Mixtral 8x7B / 8x22B are released under permissive Apache 2.0 — no commercial-use ambiguity. Mixtral’s mixture-of-experts gives strong quality at moderate VRAM.
Excellent at JSON-mode generation and tool calling. The 32B variant is a sweet spot for structured-extraction agents. Trained with strong multilingual data — useful for Indic-language source documents.
For pipelines that need deep reasoning (e.g. the critic agent comparing multi-source contradictions). R1 is reasoning-tuned. Hardware demand is real — quantize or rent compute and self-host the wrapper.
Headless Chromium, Firefox or WebKit driven from Python or Node. Required for any portal that uses client-side JS to render tables (most newer ones do). Auto-wait, network interception, screenshots for visual diff testing.
Wraps Playwright/Cheerio with crawl queues, retry logic, request deduplication, and proxy rotation. The right abstraction when you go from one-off scripts to "crawl 200 pages reliably every week".
If your sources are mostly static HTML and you want maximum throughput, Scrapy beats Playwright by an order of magnitude. Spiders are declarative; pipelines compose.
Marker (Datalab) and Docling (IBM) both turn PDFs into clean Markdown with tables, footnotes, and headings preserved. Critical for the Rural Health Statistics PDF pipeline.
Holds the versioned DATA catalog (one row per metric per run-id), the audit log, and — with pgvector — semantic embeddings of every source document for retrieval-augmented critic checks.
Single binary that gives you a production-ready S3 endpoint. Stores raw HTML, PDFs and processing artifacts under run-id keys. AGPL means commercial users may want to weigh alternatives.
Garage (Deuxfleurs) and SeaweedFS are smaller-footprint S3 stores. SeaweedFS handles billions of small files; Garage focuses on geo-distributed setups. Pick if MinIO’s licence concerns you.
For semantic search over historical source documents. The critic agent uses Qdrant to retrieve "what did the AAM dashboard say last quarter?" and compare. Single Docker image, fast filtered search.
Logs every prompt, completion, latency, token count and tool call across the LangGraph runs. Self-hostable Postgres-backed, OpenTelemetry-compatible. The right answer if “why did the critic flag run #142?” needs to be debuggable months later.
Self-hosted push notification service. The critic agent posts to a topic when human review is required. Clients on phone, desktop, browser. Replaces Slack webhook for teams that want nothing on commercial infrastructure.
Versioned storage for the generated index.html. Forgejo is the community fork of Gitea. Either runs as a single Go binary alongside the rest of the stack.
A simplified version of what the n8n canvas looks like once the pipeline is wired. Every node has a green status dot when it last ran successfully; a red dot if a human is required.
Self-host stack · one Docker compose
A single docker-compose.yml stands up the entire stack on a 4-core / 16 GB box (8-core / 32 GB if hosting LLMs locally). Each service is independently restartable.
# docker-compose.yml — FOSS agentic build stack
services:
n8n: # workflow orchestrator
image: n8nio/n8n:latest
environment: { DB_TYPE: postgresdb, DB_POSTGRESDB_HOST: postgres }
ports: ['5678:5678']
postgres: # canonical DATA store + n8n state
image: postgres:17
volumes: ['./pg:/var/lib/postgresql/data']
minio: # raw artifact storage (S3-compatible)
image: minio/minio:latest
command: server /data --console-address ':9001'
ports: ['9000:9000', '9001:9001']
ollama: # local LLM inference
image: ollama/ollama:latest
volumes: ['./ollama:/root/.ollama']
qdrant: # vector store for the critic
image: qdrant/qdrant:latest
langfuse: # LLM observability
image: langfuse/langfuse:latest
caddy: # serves the built index.html
image: caddy:latest
volumes: ['./site:/srv', './Caddyfile:/etc/caddy/Caddyfile']
ports: ['80:80', '443:443']
prometheus: # metrics
image: prom/prometheus:latest
grafana: # dashboards
image: grafana/grafana-oss:latest
ports: ['3000:3000']
What this gives you
🔒
Sovereignty
Every byte of source data, every LLM call, every audit log lives on your infrastructure. No third-party can revoke access, raise prices, or change terms.
📜
Auditability
The Postgres canonical store is versioned per run-id; raw HTML/PDF artifacts live in MinIO; every LLM exchange is logged in Langfuse. Reproduce any number from primary sources, retrospectively.
💰
Marginal cost ≈ 0
After hardware amortisation, each weekly run costs the electricity of running it. No per-token billing, no per-API-call charges, no quota throttles.
🔧
Replaceable parts
Swap Llama for Mistral, n8n for Airflow, Postgres for DuckDB. The interfaces (OpenAI-compatible API, S3, SQL, OCI) are what’s standardised — not the implementations.
🏛️
Provenance-first
Especially important for government data, sensitive policy work, journalism with confidential sources, or research with regulatory constraints — nothing leaks to a third party.
📚
Same shape, any domain
This pipeline is not specific to NHM Uttarakhand. Swap the source manifest in stage 02 and the schema in stage 04, and you have a self-updating reference compilation for any well-sourced domain.
BTechnology & tooling
Mapping & visualisation
Tech · Map engine
Leaflet 1.9.4
Vladimir Agafonkin et al · BSD-2-Clause
JavaScript library that renders the interactive choropleth, district markers, permanent labels, and the hover/click polygon interactions in Exhibit A. Loaded from jsDelivr CDN.
The base-map tile layer behind the choropleth — rendered at 0.55 opacity so the warm-tone district fills dominate while terrain and labels remain visible underneath.
Stacked horizontal bar chart in Programs · Exhibit A (AAM Rollout). Loaded from jsDelivr CDN. The Facility Distribution panel (C) replaced its Chart.js bar with a hand-built sortable HTML table.
The three Plex sub-families do all the heavy lifting: Serif for headings and reading prose, Sans for body and UI text, Mono for KPIs, labels, hash codes and rank numbers. Loaded from Google Fonts as a single family request.
All HTML, CSS and JavaScript live in one document. No React, no Vue, no bundler, no transpilation step. The only external runtime requests are the three CDN assets (Leaflet, Chart.js, Google Fonts) and the GeoJSON. Opens in any modern browser, can be saved offline, can be archived as a single artifact.