How this works
What is real, what is not.
This is a working prototype, not a government service. Here is exactly what runs, what is stood in for, and what it would take to run this for real.
About the data
Every name, phone number, consultation and prescription here is invented. No real person, no real doctor, no government system is involved.
Working today
The doctor side
Doctors sign in, see their queue with the case sheet already prepared, take the call, and write the summary and prescription the patient then reads.
Video and voice calls
Real calls over a managed media service: camera and microphone controls, connection state, and an automatic drop to voice when the line cannot carry video.
Choosing the doctor
Triage picks a speciality from a fixed list, then ordinary rules match you to a doctor on duty who speaks one of your languages, in your state where possible. You never have to choose.
Holding your place
Your position is worked out from when you joined, on the server. Closing the page, losing signal or switching phones cannot cost you your turn.
The whole patient journey
Choose a person, describe the problem by voice or text, confirm what was understood, join the queue, take the call, get a prescription, book a follow-up.
Turning speech into a case sheet
A language model organises what you said into clinical fields. It runs server-side, and its output is checked against a schema before it is used.
Translation between languages
The same model translates health text, told to keep medicine names and dosages exactly and never to drop a warning.
Every screen in two languages
English and Hindi throughout, including the record and the printable prescription. Dates are formatted per language, not hard-coded.
Works without JavaScript
Language switching, the FAQ and every form submit are plain HTML. Reveals are CSS-only.
Your record, kept
Patients, the people in your care, consultations, prescriptions and health facts are rows in Postgres. Close the tab and come back tomorrow — it is still there, on whichever server answers.
Stood in for
The duty roster
The doctors, their languages and who is on duty are invented and fixed. In the real service this comes from the state rosters.
Other patients in the queue
The people ahead of you clear at a fixed rate, so the wait behaves like a real one without a hospital full of patients behind it.
Calls without a media service
Calls are real, but only once a media service is configured. Without those keys the call screen says so plainly instead of pretending.
Sign-in
Patient and doctor sign-in are both demo: a PIN opens an account, and no phone number is verified and no medical registration is checked.
SMS and callbacks
Nothing is sent. Queue position and wait times are illustrative.
What it would take at scale
Assigning turns without collisions
Two doctors must never be handed the same patient. That is a database transaction claiming the next person in one atomic step, not application logic.
Media that survives a weak network
Video belongs on a managed service with an India region, adaptive bitrate and an audio-only fallback — not on servers you run.
Work that happens later
The three-day follow-up, no-show timeouts and message retries need a job table with idempotency keys and a scheduler, so a retry never sends twice.
Consent and audit
Every time someone opens another person's record, that has to be recorded — who, when, and under whose consent.
Keeping recordings out
Speech becomes text, the person approves it, the audio is discarded. The transcript is the record, not the voice.