Custom build Aarogya Sarthi

Patient records that hold up where the network doesn’t.

A field-grade web portal built for NGOs running mobile medical units across central and eastern India — designed around intermittent connectivity, free clinical care, and the operational reality of treating patients village to village.

Built on a MERN stack, deployed on Google Cloud, and now the system of record for over 20,000 rural consultations.

20,000+ Patients recorded
300+ Villages reached
~2mo Kickoff to deploy
aarogyasarthi.app — Dashboard
Aarogya Sarthi dashboard with live OPD records
01 — The challenge

Mobile clinics. Paper registers. A network you can’t rely on.

Each mobile medical unit is a fitted ambulance carrying a doctor, a lab assistant, a driver, and a support staffer into deep rural districts — where every MMU is responsible for roughly twenty selected villages and care is delivered free of cost. The work happens where cellular coverage is patchy at best and absent at worst.

Before Aarogya Sarthi, the system of record was paper. OPD registers, attendance sheets, prescription receipts, and medicine logs all lived in physical notebooks across multiple vehicles, multiple districts, multiple states. Consolidating them for quarterly donor reporting took weeks of manual reconciliation, with predictable consequences — incomplete data, lost updates, and reports that were already out of date by the time they landed.

The brief was simple to state and harder to execute: capture every field interaction with structure, work offline as gracefully as online, enforce who-sees-what cleanly, and produce reports that move at the speed of decisions.

02 — What we built

Six modules. One system of record.

Aarogya Sarthi covers the full operational lifecycle of a mobile medical unit — from staff check-in to patient consultation to medicine dispense to donor-ready reporting.

Attendance & MMU operations

Start-day / end-day clock-ins with optional GPS capture, immutable post-save. Reconciles at the MMU level for daily, weekly, and monthly rosters.

OPD & patient intake

Structured patient records — demographics, diagnosis, prescriptions, follow-ups — entered live or imported via the official Excel template when the network won’t cooperate.

Medicine inventory & distribution

A normalised medicine master, MMU-scoped stock, auto-deduction on dispense, manual adjustments with reasons, and date-range distribution reports with CSV export.

450+ medicines tracked

Lab tests & blood reports

Test results captured against patient OPD IDs, with automatic patient-detail fetch and structured per-test reporting visible to doctors and admins.

Surveys — baseline & endline

Household, panchayat-head, and MMU-lead surveys at programme start; matched endline forms enable side-by-side comparison of impact over time.

Admin dashboard & reporting

Filterable summaries by date range, MMU, district, or village. Gender, age, attendance, and treatment distributions, all CSV-exportable for donor cycles.

03 — Decisions that mattered

Where the thinking went.

Most of the value in custom software lives in choices that aren’t visible in the final product. These are the four that defined Aarogya Sarthi.

  1. 01

    Excel import as a first-class entry mode

    When the network is down, MMU staff fill the official Excel template offline. When connectivity returns, a single upload validates header order, column count, and data types before ingesting the rows. Designed for the operating environment, not against it.

  2. 02

    A ledger pattern for medicine stock

    Every assignment, dispense, and adjustment writes an immutable ledger entry with type, reference, and reason. Closing balance = Opening + Assigned + Adjustments − Consumed. The audit trail isn’t a feature on top of the system — it is the source of truth.

  3. 03

    Admin-issued credentials, no self-registration

    Field staff don’t sign themselves up. Credentials are minted by the programme admin and password resets are routed through the development team. JWT sessions, role-based access, audit logs on every create and edit. Appropriate for institutional, donor-funded use.

  4. 04

    MMU-scoped data isolation

    Each MMU sees only its own patients, stock, attendance, and reports. Admins get cross-MMU visibility. The constraint is enforced at the API layer, not the UI — there’s no “trust the frontend” path. Correctness over convenience, by design.

04 — The stack

Standard, maintainable, scalable.

Built on a stack the next developer can read on day one — and that scales linearly as the programme adds MMUs, districts, and reporting cycles.

React 18 Front end
Node.js 20 / Express 5 API layer
MongoDB Atlas Data store
Google Cloud + Firebase Hosting & functions
GitHub Actions CI / CD
05 — Inside the system

A look at the working product.

A selection of live screens from the deployed portal. Identifiable patient and staff information has been redacted.

Summary report with date range, gender split, age distribution
Summary report Date-range aggregates — total patients, gender split, age-bucket distribution, tests conducted — all CSV-exportable.
Staff attendance with check-in and working hours
Staff attendance Per-MMU staff roster with check-in / check-out timestamps and computed working hours.
Welcome to Aarogya Sarthi login screen
Authentication Tabbed entry for MMU users and administrators. UID + password, JWT-backed.
Blood test report form
Lab reports Test capture against an OPD ID with auto-fetched patient details, result entry, and remarks.
06 — The work, in numbers

What the system holds today.

20,000+ Patient records captured
16,000+ Tests recorded
300+ Villages tracked
450+ Medicines in master
6 Modules shipped
~2months Kickoff to production

Aarogya Sarthi isn’t the kind of work that fits a marketing case study cleanly — and that’s the point. When a programme needs a system, a deck and a campaign won’t do it. We built one. It runs every day across multiple states, and the records it holds are now the operational truth of how care reaches the villages where it’s needed.