Isolation, money, stock and clinical records are architectural decisions, not features to bolt on. Here is how each one works.


A hospital’s records are scoped to it at the database layer, not by a filter a developer has to remember. Five independent mechanisms enforce it, and a generated test suite attacks every model on every build.
All amounts are integer paise, never floating-point rupees. Invoice totals are the sum of their lines, GST halves always re-add to the whole, and an issued invoice is amended by a credit note rather than edited.
Pharmacy and inventory quantities are a ledger of movements, not an editable number. On-hand stock is derived, and the projection is rebuilt from the ledger if the two ever disagree.
An approved lab report is frozen. A correction is a new version that references the original, so the record shows what was known and when — which is what a medico-legal question actually asks.
Hiding a button is a convenience. Every operation re-checks role, module, subscription state and usage limit server-side, and a build-time check refuses any endpoint that skips it.
Logins, record access, prescription changes, approvals, billing edits, exports and support sessions are all recorded with the acting user, the time and the before/after values.
The front desk is the busiest place in the building. The software should not be the slow part.
Patient search by name, UHID or phone. Queue and token management for the OPD. Keyboard-first forms so a receptionist is not hunting for a mouse with a line of patients waiting.
Every list is paginated and every heavy report runs in the background and notifies when it is ready.
A signed-in account can switch language. Hindi covers the shell, patients, appointments, OPD, IPD and nursing, billing, pharmacy, laboratory, and the patient and doctor portals. Operation theatre, blood bank, insurance, inventory and the platform console stay in English.
Prescriptions, invoices, receipts, lab reports, discharge summaries and consent forms — each carrying the hospital’s own letterhead, registration numbers and GSTIN.