ClinicOS

Care that spans months, not minutes

A hospital treats a single episode. A clinic follows someone over time — antenatal care across nine months, a course of physiotherapy over twelve sessions, years of diabetes review. ClinicOS is built around that ongoing record, not just the appointment.

The ClinicOS appointment calendar screen, showing a week view with colour-coded bookings and an upcoming-patients panel.

Community and public-health programmes

The modules a clinic runs that a hospital does not. Each one follows the national guideline it is built on, and everything below is derived from a small number of dates, so correcting one date corrects everything downstream.

What needs you

  • Pulls open alerts from every module — for example a refrigerator that has drifted out of its safe temperature range — onto one screen automatically.
  • An alert can't be dismissed. It clears only when the underlying condition is resolved, not when someone views it.
  • Marking "I'm on it" records your name, moves the item below unclaimed ones, and the claim expires after four hours if nobody follows up.
  • Every alert is computed by the same function the source screen uses, so there's no second, conflicting reading of the same data.
  • If a check can't run, the screen says so rather than showing an empty list that looks like "all clear".

Animal bites

  • Category III wounds — a bite or scratch through the skin, or any contact with a bat — need rabies immunoglobulin infiltrated directly into and around the wound on day 0. An intramuscular injection elsewhere does not protect against rabies, and the system blocks that entry.
  • A category III exposure can't be recorded without immunoglobulin given or a documented reason. Clinical reasons (e.g. the patient was already immunised) and non-clinical ones (e.g. the clinic had no stock) are tracked separately, and a stock-out goes on a dated board rather than disappearing into "vaccine given".
  • The wound category is derived from the worst description of what happened, not typed in directly — any contact with a bat is category III on its own.
  • Wound-washing time is its own field on the form, and the module reports what share of wounds were washed for the recommended 15 minutes.

Rabies vaccination schedule

  • Day 0 is the day of the first vaccine dose, not the day of the bite — the gap between the two is tracked as its own figure.
  • Each injection closes only the nearest scheduled dose, even though the day-0 and day-3 slots are three days apart and one dose could technically fall inside both windows.
  • The course can be stopped early only if the biting animal is confirmed alive and healthy at 10 days, not 6 — rabies has an incubation period, so an animal that seems fine earlier may still be incubating. If the animal can't be observed, the patient completes the full course.

Stopped coming

  • Combines separate overdue lists — an incomplete rabies course, a missed childhood vaccine, an overdue follow-up visit, a positive screening result, and more — into one prioritised recall list, with one button to send every message that's currently due.
  • The schedule itself isn't recalculated here — each row is pulled from the register that owns that clinical rule, so the recall list and the underlying record can't disagree about who is overdue.

How recall messages are worded

  • Wording depends on the programme. A contraception reminder (e.g. an IUD due for replacement) names only the clinic — "please come and see us" — since the phone receiving it may not be the patient's alone. Vaccination reminders stay specific, since a vague message wouldn't tell a parent which child to bring in.
  • A reminder that's now too late to act on safely is routed to a doctor instead of being sent automatically — for example a rabies dose more than three weeks overdue, where the course may already be broken.
  • Chasing continues for up to a year for a still-useful missed dose, but stops after four attempts. Patients in the mortality register are never sent reminders.

Vision

  • Cataract operations are tracked by outcome, not just by count: a case isn't closed until a best-corrected visual acuity is recorded 4–6 weeks after surgery. Cases still awaiting that result are listed separately, with the count shown up front.
  • Vision is scored on best-corrected acuity — through a trial lens or existing glasses — not unaided acuity. A person who reads poorly unaided but well through a lens has a refractive error rather than a vision impairment, and the record reflects that instead of listing them for surgery.
  • Cataract can't be recorded from an unaided reading alone: the record needs a pinhole test, a corrected acuity, or an explicit "cause not established".
  • Both the Indian blindness definition (worse than 6/60 in the better eye) and the WHO one (worse than 3/60) are computed and shown side by side, along with the gap between them.
  • Acuity values are compared through one dedicated function, so 6/18 is correctly read as better than 6/60, rather than compared as raw text or numbers.
  • A recorded outcome can't be overwritten: a reading taken too early (while post-surgery swelling can still affect vision) is refused, and a late one is kept but marked late. The same eye can't be recorded as operated twice.

Family planning

  • No target, quota or "achievement" field exists anywhere in the software — any request that includes that language is refused, with no role able to override it, in line with India's target-free family planning policy since 1996.
  • Couple-years of protection is shown two ways, side by side: computed from supply issued, and computed from methods actually confirmed in use, since the two are not the same and have historically diverged.
  • A device such as an IUD with no follow-up visit is shown as "not checked since," not "in use" — continuation status (in use, due for repeat, lapsed, past its life, removed, or not checked) is computed from visit dates.
  • A vasectomy takes about three months to become effective, until a clear semen analysis; that date is shown at the point of care. A tubectomy is effective immediately, and the two are not treated alike.
  • Sterilisation eligibility (age 22–49) is checked against the recorded date of birth, consent must come from the person being sterilised, and a duplicate record for the same person is blocked.
  • Day 1, day 7 and day 30 follow-ups after sterilisation are flagged as required and sorted to the top of the worklist with a phone number attached.

Mental health

  • PHQ-9's ninth question, about thoughts of self-harm, is scored and flagged on its own, separate from the total score — so it can't be diluted by a low overall total.
  • Under the Mental Healthcare Act 2017 (Section 115), attempted suicide is not an offence. Records use non-criminalising language, keep the section reference attached, and state that nothing in them is a statement to the police; these patients go on the risk list regardless of their other scores.
  • An earlier risk flag isn't cleared by a better score on a later visit — it stays open, marked "carried," until the follow-up visit itself happens.
  • Assessing, safety-planning, restricting means at home and referring don't close a follow-up on their own; only being seen by a psychiatrist, admission, declining care, or confirmed unreachability does. The worklist is sorted by wait time and flags after a week.
  • PHQ-9 and GAD-7 scores expire after a month, since both instruments ask about the prior two weeks, and each is banded on its own scale rather than a shared table.
  • An incomplete questionnaire can't be totalled as if fully answered — a reason for the gap is required and kept with the score.

Growth

  • Each weighing is compared against the child's own previous weighings, not just plotted on today's chart — a child sitting on the growth line who has stopped gaining is flagged separately from one steadily tracking below it.
  • MUAC (arm tape) and weight-for-height don't need to agree to flag severe acute malnutrition; either one alone is enough, since they catch overlapping but different children, and a disagreement between the two is shown rather than hidden.
  • Pitting oedema, assessed with the standard press test, overrides every other measurement for a severe flag.
  • Age is computed from the recorded date of birth and the weighing date, since MUAC cut-offs only apply from 6 months; a child with no date of birth on file can't get a result.
  • A visit with no measurement taken is recorded as "not enough measured," not as a normal result. Two weighings on the same day are blocked to avoid a false zero-gain reading.
  • Stunting and wasting are tracked as separate figures with separate referral guidance.

Screening

  • A single raised blood-pressure reading is not recorded as hypertension — the label requires readings on two separate days, and the record shows which day it already has. Two readings taken minutes apart at one sitting count as one occasion, not two.
  • A positive screening result with no follow-up is listed by longest wait, with a phone number, and turns red after a month. Being referred or having attended doesn't close the case on its own — only a diagnosis, a ruled-out result, refusal, death, or moving away does.
  • The CBAC risk score (six questions, waist thresholds of 90cm for men and 80cm for women) is calculated automatically and shown with its components; an incompletely filled checklist is flagged, since a partial set of answers can score artificially low.
  • The diabetes screening threshold and diagnostic threshold are kept as different numbers on purpose, so a screening result is never read as a diagnosis.
  • A negative screening result expires; the rescreen list is built from the date of the last screen, not from appointments, so someone screened once and never seen again still appears on it.

Cold chain

  • Several vaccines (pentavalent, hepatitis B, DPT, Td, IPV, PCV) can lose effectiveness from freezing with no visible sign — a frozen vial looks the same as a good one. A reading of 1°C already counts as a freeze event, since the acceptable range starts at 2°C, and a later normal reading doesn't clear it — affected stock stays flagged until it's shake-tested.
  • Vaccine vial monitors only move in one direction: a batch already logged at a later stage can't be logged back at an earlier one. The system blocks that and flags it as either a different batch or an earlier data-entry error.
  • The shake test for suspected freezing requires a control vial from the same batch, deliberately frozen — a control from a different batch is refused, since it wouldn't give a valid comparison.
  • Reconstituted BCG and measles vaccine are usable for 4 hours only. Multi-dose liquid vaccines get 28 days from opening or the printed expiry date, whichever comes first.
  • Ice packs used in a transport carrier must be conditioned — left out until they start to melt and slosh — before certain vaccines can be packed against them; the system won't mark a carrier ready until that's confirmed.
  • Monitoring is twice daily; a day with only one reading is shown as a gap rather than smoothed into the chart.

Tuberculosis

  • "Cured" requires three things together: the course completed, a negative end-of-treatment sputum smear, and a positive smear at the start for it to have converted from. Missing any of them, the system won't accept "cured" and states what's missing; a patient who finished treatment without testing is recorded as "treatment completed" instead.
  • A regimen changed because treatment is failing must add at least two new drugs, not one, and whether treatment is "failing" is read from actual sputum results rather than typed in.
  • "Lost to follow-up" (30 days of interrupted treatment) is computed from dose dates, and the same data drives a home-visit list sorted by longest gap, with phone numbers.
  • Drug dosing is by weight band, and the band is recalculated from the latest weighing each time, since patients often gain weight during treatment.
  • Every episode carries a Nikshay notification number or a stated reason it's missing — TB has been notifiable in India since March 2018.
  • A cure rate is only calculated for microbiologically confirmed cases, and withheld below 20 such patients, since a rate from a handful of cases isn't statistically meaningful.

Teleconsultation

  • What may be prescribed depends on the consultation mode and whether it's a first visit, under the Telemedicine Practice Guidelines 2020 — a List A medicine on a first teleconsultation requires video, not phone or text.
  • List X medicines — narcotics and psychotropics under the NDPS Act 1985 — can never be prescribed by telemedicine. There is no override for this.
  • Consent is treated as implied only if the patient started the consultation; if the clinic initiated the call, explicit consent has to be recorded. A caregiver consulting for someone else is allowed and tracked as such; an unrelated third party is not.
  • Whether a consultation counts as a follow-up is checked against the doctor's registration number and the patient's prior teleconsultations, not self-declared.
  • Advising an in-person visit is recorded as its own outcome that closes the consultation, which the Guidelines require for emergencies.
  • Every prescription carries the doctor's registration number and is assembled on the server, so it can be verified.

Immunisation

  • A dose given before it's effective — for example measles at 7 months, while maternal antibody is still active — is still recorded, not refused, but marked with a "must repeat" verdict computed automatically from date of birth and prior doses, rather than counted as done.
  • A late dose never restarts the series — no vaccine in the national schedule needs restarting, however late it's given.
  • The recall list is built from dates of birth, not the appointment book, so children who never came back still appear on it — sorted furthest-behind first, with phone numbers, and doses due as a repeat listed separately from doses simply overdue.
  • A separate figure tracks what share of recorded doses didn't count because they were given too early, shown beside the coverage number, since early doses inflate coverage while leaving children effectively unprotected and untracked.

Care programmes

  • A pregnancy, or similar long programme, gets its own record spanning every visit, rather than being reconstructed from whichever note was last updated.
  • Dates that can be derived — stage, expected date, every date on the schedule — are computed from the programme's dating rather than stored per visit, so a scan that revises the dates updates everything at once.
  • Re-dating is its own explicit action: it requires a reason and keeps a record of who made the change.
  • The main screen opens on who's overdue or due now, with a phone number. Steps still ahead aren't shown, and each scheduled step has a window rather than a single exact day.
  • The default antenatal schedule is a starting point a clinic can edit to match how it actually books, not a fixed structure.

And everything a clinic shares with a hospital

The same clinical core, not a cut-down version of it. These are the modules our hospital product runs, unchanged.

Patients

One number, one person, for life. Allergies drawn first and in red, struck through rather than deleted. Duplicates merged rather than removed, combining both allergy lists.

Appointments and the queue

Booked slots checked on the server, walk-ins given a token, and a waiting room ordered by when people actually arrived rather than by their appointment time.

Consultations

Notes, vitals and prescriptions. A prescription matching a live allergy cannot be signed unless it is explicitly acknowledged, checked against the record at the moment of signing. A signed note is final; corrections are addenda.

Pharmacy

Batches with expiry dates. Nothing expired leaves the shelf, stock goes out earliest-expiry-first, and Schedule H1 dispensing is written into a register with the prescriber and the patient.

Laboratory

Reference ranges that know the patient — a haemoglobin of 12.5 is low for a man and normal for a woman — and a critical value that blocks the report until the callback is logged.

Today

The morning board: the waiting room in arrival order, who is due for recall, the lab worklist, pharmacy alerts and money outstanding — the same figures as the screens behind them, because they are produced by the same code. A card that cannot read its number says so rather than showing zero.

Roster

A week as a grid, because "is she in on Thursday" is a question you answer by looking rather than by reading a list of dates. Three states a day, not two: on, away, and nothing recorded — a hospital that has never filled the roster in must not have every day read as "off", or the board is a lie and everything it drives is noise.

Leave warns where it matters

Recorded once and read by the outpatient and theatre booking forms, from the same rule, so a consultant marked away cannot be quietly booked over. Nothing is refused: a hospital books over leave every week — leave is cancelled, a colleague covers, the patient is somebody's own — and software that refused would be overruled by writing the appointment on paper, leaving no record at all.

One absence, one entry

Overlapping leave for the same person merges: two rows for one absence read as somebody away twice, and deleting one leaves the other quietly warning. Leave that begins the day after another ends stays separate, because a conference and annual leave are two facts and one of them may need accounting for.

Insurance, and what the family actually pays

Between the sum insured on the card and the amount a hospital receives sit four separate reductions, and every one of them produces the argument at the discharge counter. This works the number out on admission instead: non-payable items first, then the proportionate deduction, then the co-payment, then whatever is left of the sum insured after earlier claims this year — each with the sentence that explains it, on a sheet meant to be printed and handed over.

The proportionate deduction, applied correctly

Take a ₹10,000 room on a policy that allows ₹5,000 and the associated medical expenses are payable at half. It is the reduction nobody expects and the one that produces the largest shortfalls. IRDAI settled what it does not touch — medicines and consumables, implants and devices, diagnostics — and getting that wrong overcharges the patient in one direction and underpays the hospital in the other, so the exemption is written down rather than remembered.

Pre-authorisation, and why a query is not a rejection

Requests carry the diagnosis and the estimate, because one without them comes back queried and costs three days. A query can still be approved; a denial is final and a fresh request is raised instead, because reopening a denial loses the reason — which is the document an appeal is built on. Emergencies are marked as emergencies, and do not queue behind next Tuesday's elective.

Government schemes pay a package

PM-JAY and Aarogyasri do not pay a share of a bill — they pay a fixed rate for the procedure, and the hospital is paid that whatever its own bill came to. So none of the four reductions applies: no room-rent proportion, no co-payment, no sum insured running down. The beneficiary pays nothing: not the difference, not the non-payable items, not a co-payment. Balance billing a beneficiary is prohibited, and software that computed a patient share would be producing the exact demand the scheme forbids.

And what the hospital absorbs is a number, not a silence

Where the bill exceeds the package, the difference is the hospital's. It is shown as its own figure on the estimate rather than folded into anybody's column, because it is what a hospital actually uses to decide whether to stay empanelled — and because the one place it must never appear is on the beneficiary's side of the sheet.

A shortfall is nobody's until somebody decides

When a TPA settles less than it approved, that gap is a dispute with the payer, not automatically the patient's debt. It sits visibly as undecided until somebody with the authority writes it off, bills it, or appeals it — and the record says who decided and when. Claims needing an answer are listed by how long they have waited rather than by how much they are worth, because a small query about to lapse needs attention and a large claim submitted yesterday does not.

Billing

The counter opens on who owes money rather than on a search box. Consultations, dispensing and tests are billed from what was recorded, so nothing reaches a bill that is not already in the notes — and a test that was ordered and then stopped does not appear on one.

GST that knows what a clinic is

Clinical services are exempt and the software treats them that way. Medicine sold across the counter to somebody who is not admitted is an ordinary taxable sale at the drug's own rate. Every taxed line prints the reason beside it, so the person at the window can answer why without ringing anybody.

Part payments and concessions

A concession comes off the charges and never off the tax, and it cannot be given without a reason — it is the one line on a bill nobody can account for later and the one most worth accounting for. A bill settles itself when the balance reaches zero.

The group

The group, for a practice with more than one clinic: each one and the sum of them. A clinic that cannot be read is named rather than dropped from the total, because a partial figure presented as whole is worse than no figure.

Staff & access

Three tiers, so a receptionist can register a patient without being able to change a clinical record.

The ClinicOS patient record screen, showing a care-programme progress timeline and a patient list.
The record follows the person, not the visit. Care programmes track progress across every visit in one place.
The ClinicOS billing and pharmacy dispensing screen, showing a billing summary and a stock batch list.
The same dispensary rules a hospital gets: expiry refused, oldest expiry first, billing built from what was recorded.

How it is run

A group sees all of it

Grant a doctor once at the group and they reach every clinic, including the ones opened next year. No re-inviting anybody when the third branch joins.

Three tiers of access

Our support administrators, your administrators, and your desk and clinical staff scoped to what their job needs. Roles are data we can change, not code we have to deploy.

Your address, our problem

Hosted, backed up, monitored and updated by us. Certificates, upgrades and capacity are not on anybody's list at your end.

Getting started

1. A session on how you work

Your programmes, your schedules, your recall intervals. The system matches the clinic; the clinic does not rearrange itself around the system.

2. We configure it

Structure, roles, schedules and branding. Configuration rather than a rewrite, which is why this takes weeks and not quarters.

3. Your records brought in

Your existing register imported and reconciled with you — including the duplicates, which are merged deliberately rather than silently.

4. Live, with training

On your own address, with your staff trained on it, and us reachable when something is not obvious.

What is live today

All of the above is in production: the patient register, the appointment book and queue, consultations with the allergy check enforced at signing, the pharmacy with expiry and the Schedule H1 register, the laboratory with patient-specific reference ranges and the critical-value callback log, and care programmes with derived staging and a recall list.

What it does not do yet, said plainly rather than left to be discovered after you have bought it. There is no patient-facing portal or app — patients get printed prescriptions and reports, not a login — no online payment (the counter records what was taken, it does not collect it), and no electronic claim submission — the desk, the estimate and the claim ledger are here, but a request still goes to the payer the way you send it today and the reply is typed back in. If you need any of them now, say so and we will tell you when they land rather than selling you a date.

It keeps working when the connection does not. Screens stay readable from the last known state, and anything that would write to a record refuses out loud rather than appearing to succeed — because a note that silently fails is a note somebody believes they wrote.