Skip to content
CBS Health
  1. Home
  2. Build status
Build status — 2026-10-07

Every screen, and how far it has got.

The register CBS is built from, published rather than summarised. Each screen carries a permanent number, and is scored twice: once for the API beneath it and once for the interface on top. A live API with no screen is real work and is not a deliverable, and one figure cannot honestly say both.

Where it stands

The headline, and the two axes under it.

99% Overall, across 82 numbered screens — backend weighted 60%, interface 40%
100% Backend — endpoints mounted and doing the work
99% Interface — a real screen rather than a placeholder
12/13 Platform foundations live — listed at the foot of this page
Live both the API and the screen Partial one of the two, or part of one Yet to start nothing in the codebase
By surface
Surface Screens Live Partial Yet to start Score
CBS Dock 41 40 1 0 99%
CBS Medico 17 17 0 0 100%
CBS Care 13 13 0 0 100%
CBS Counter 11 11 0 0 100%
All surfaces 82 81 1 0 99%
The register

Numbers are permanent. A screen is never renumbered.

CBS Dock — 41 screens, 99%
Sl. Task Backend Screen Status Where it stands
DK-01 Patient registration Live Live Live Register, MRN, duplicate detection, consent rows. Four fields the design draws have no column yet: language, next of kin, insurance, Care claim code
DK-02 Appointment desk Live Live Live Slots, next-free, book, reschedule, cancel
DK-03 Incoming appointment requests Live Live Live Requests triaged, then scheduled or declined with a reason. A request is not an appointment until the slot engine schedules it
DK-04 SOS and alert desk Live Live Live Events and notification live, and the facility's own alert queue with the counts behind the desk tiles
DK-05 Billing -- OP, IP, pharmacy Live Live Live Invoice, lines, part-payments, discount, auto-lock, dashboard filters. Money is integer paise on the wire
DK-06 Discharge summary print Live Live Live Renders as PDF on the facility letterhead; nine locales, refusing rather than printing boxes. Printed from Dock
DK-07 Consumable inventory Live Live Live The hospital's own consumable store, on a ledger separate from the shop's — ruled 2026-09-11. Issues to a ward, expiry, reconciliation
DK-08 Vendors and purchase orders Live Live Live Vendors, purchase orders and goods receipts. A receipt writes the store's movements in one transaction, validated before any line lands
DK-09 Doctor payments Live Live Live Terms, payouts and what is owed. The whole run; a doctor sees only their own on MD-05
DK-10 Duty roster Live Live Live The week, with leave beside the shifts. Says who was expected, never who attended
DK-11 Finance metrics to Vitta Live Live Live The hospital's own money — billed, collected, owed, by category and by payer. Reports and sends nothing outward
DK-12 Consent forms and certificates Live Live Live Prints the facility's own wording, and a marked preliminary draft where it has none. MTP and sterilisation get no draft — the prescribed text governs, and the form says so
DK-13 Facility dashboard Live Live Live The facility's day at a glance, over one aggregate read and no writes
DK-14 Patient index -- search, list, edit, export Live Live Live Read, search, the facility list, correction of a registered record, and CSV export
DK-15 Ward board and bed management Live Live Live Wards, beds, occupancy, snapshots, device pairing
DK-16 Admission Live Live Live Admit, assign bed, transfer
DK-17 In-patient census Live Live Live Census and summary, on a screen of its own
DK-18 Discharge -- the operational half Live Live Live Screen built. The endpoint can be called once and never re-read or amended -- needs GET and PATCH on the discharge record
DK-19 Admission history Live Live Live By number, open-for-patient, the facility's history list, and CSV export
DK-20 Prescription register Live Live Live Create, the active list, and the facility's register with a medication search
DK-21 Follow-up desk and reminders Live Live Live Overdue and summary live, and the appointment reminder is emitted on the event spine
DK-22 Formulary Live Live Live Search, stock flag, discontinue, formula-injection guard
DK-23 Formulary import Live Live Live Template columns, import, batch history, on a screen of its own
DK-24 Users and roles Live Live Live Invite by Google address, list, change role, turn access on and off. The last active administrator cannot be turned off
DK-25 Audit log Live Live Live Ten route guards and a read permission, with a screen over them
DK-26 System and error log Live Live Live The ring buffer, and the delivery failures that survive a restart. Says on the page that its buffer is one worker's memory
DK-27 Facility profile -- name, address, letterhead Live Live Live Registry, letterhead block, GSTIN and registration number
DK-28 Sign in Live Live Live OAuth2, Google SSO, rate limiting, lockout
DK-29 Clinical handovers Live Live Live Endpoints mounted and role-guarded — doctor and nurse
DK-30 Departments Live Live Live Department is on neither the user nor the token
DK-31 Integrations -- FHIR, ABDM Live Live Live Both clients exist; neither has a configuration screen
DK-32 Device estate Live Live Live Bedside devices: pairing, unpairing and the boot lookup, on real data. Home devices register but cannot yet be listed
DK-33 Support desk Live Live Live Ticket desk, SLA sweep, notifications
DK-34 Policies and compliance Live Live Live The establishment's policies and what CBS observed. It records and reports and does not block: the administrator decides, and CBS keeps the account of what was decided
DK-40 Lab orders Live Live Live Raise, track and cancel a lab order. The ordering half of the specimen lifecycle; no result is shown here because at this stage the specimen has not been taken
DK-41 Specimen collection Live Live Live The collection round, with recollection recorded rather than overwriting the original
DK-42 Result entry Live Live Live Entry, verification and retraction. The API withholds a value until it is verified, and the screen says why the cell is empty
DK-43 Navigation policy Live Live Live A hospital edits its own rail. Replaces the CBS default per destination; an empty role list turns one off for everybody
DK-45 AI Referral approvals Live Partial Partial Approve or decline an AI-suggested referral before it leaves the hospital. The service, the API and the audit trail are live; the screen is built and currently unreachable, because no role has been granted it yet
DK-44 Staff records Live Live Live Employment and fitness for duty — joining, confirmation, exit, who to telephone, and whether somebody may be worked long hours. The only screen holding staff health information, administrator-only; the roster is told that a restriction exists and never why
DK-35 My profile Live Live Live Profile reads; no password to change, by design -- staff use Google
CBS Medico — 17 screens, 100%
Sl. Task Backend Screen Status Where it stands
MD-01 Patient timeline Live Live Live One patient's record as a single ordered stream, with the filter chips served from the API
MD-02 Consult, prescribe, save Live Live Live Prescribing and interaction checks, written against a real encounter record
MD-03 Discharge authoring Live Live Live The narrative is written at discharge, and DK-18 reads it back and amends it afterwards
MD-04 Messages -- in- and out-patient Live Live Live Threads, participants, priority, offline queue
MD-05 My earnings Live Live Live A doctor's own statement, scoped by the token rather than by a parameter, so one consultant cannot open another's
MD-06 Prescription print Live Live Live Prints with the prescriber's registration and the interactions caught at prescribing. Printed from Medico
MD-07 Ward round notes Live Live Live Read and write, per admission
MD-08 Clinical Buddy Live Live Live Mounted and role-guarded on all three routers — asking the assistant a clinical question is separated from curating what it knows
MD-09 My follow-ups Live Live Live Due, overdue and summary, on a screen. It is the facility's list, not mine -- the endpoints carry no attending clinician
MD-10 Sign in Live Live Live Shared with DK-28
MD-11 Home -- today's work Live Live Live Today's work, over one aggregate read
MD-12 My patients Live Live Live The clinician's own list, distinct from the desk view
MD-13 Reviews queue Live Live Live The review queue, over its own endpoint
MD-14 Reports Live Live Live Reports, with saved views and a server-side export
MD-15 Institution Live Live Live A clinician's read-only view of the facility profile
MD-16 Settings Live Live Live Notification preferences, on a settings screen of their own
MD-17 Help Live Live Live Answers all three modes. The top-bar help icon used to 404 on every Dock and Care page
CBS Care — 13 screens, 100%
Sl. Task Backend Screen Status Where it stands
CR-01 Sign in and link record Live Live Live OTP, account, and the link to a patient record -- twelve routes. The sign-in page exists; the linking screen does not
CR-02 Book an appointment Live Live Live Clinics, free slots, and a booking that becomes a request the desk answers — patient-scoped throughout, and a slot taken while the patient decides is said in the server's own words
CR-03 SOS Live Live Live The in-app button and the paired device both raise it. No automatic escalation ladder: a person answers, which is the design
CR-04 Reports and bills Live Live Live The results and invoices this patient may see, patient-scoped
CR-05 My health Live Live Live The patient's own summary of their record, patient-scoped
CR-06 Medicines and adherence Live Live Live What this patient is on and whether it is being taken, patient-scoped
CR-07 Messages to the care team Live Live Live Thread engine and patient identity live; a patient is still not a participant on a thread
CR-08 Care team Live Live Live The care team as the patient sees it, patient-scoped
CR-09 Today's plan Live Live Live Today's plan for this patient, patient-scoped
CR-11 My medicines Live Live Live What the patient can collect at the shop and has already collected — the prescription joined to the shelf and the bills. Not a second CR-06
CR-12 Refill request Live Live Live Asks the shop to prepare a repeat. A request, never a dispensing: it closes by attaching a bill the till made, so stock leaves one place
CR-13 Order status Live Live Live What the shop has accepted, prepared and handed over
CR-10 People I care for Live Live Live Delegation is live -- read, list and revoke, scoped. Screen to build
CBS Counter — 11 screens, 100%
Sl. Task Backend Screen Status Where it stands
CN-01 Counter sale Live Live Live Counter sale — discount, khata credit and tender modes, over the till API
CN-02 Prescription queue Live Live Live Prescription queue across Medico, paper and photograph sources
CN-03 Item master Live Live Live Item master with composition provenance and per-item GST
CN-04 Receive stock Live Live Live Receive stock, distributor invoice reconciled
CN-05 Purchase Live Live Live Reorder by days of cover rather than by shortfall. The shop's own purchasing, separate from DK-08 since the ledgers are separate
CN-06 Expiry board Live Live Live Expiry board and dead stock
CN-07 Statutory registers Live Live Live H1 and X registers with the printed PDF. Whether Karnataka requires a bound register is still to be settled with a working shop
CN-08 Day book Live Live Live Day book, including the held-bill sync queue
CN-09 Stock take Live Live Live Stock take and variance
CN-10 Owner metrics Live Live Live Owner metrics — valuation, reorder, dead stock, takings
CN-11 Khata — credit accounts Live Live Live The shop's credit book — customer accounts, credit limit, what is owed and what was collected. A limit of zero, the default, means cash only; a walk-in with no account must pay in full
Under the screens

The platform the register does not count.

Counting screens is not counting the product. These layers carry every screen above them, and none of them appears in the percentages at the top of this page.

Platform foundations
Layer Status Detail
Public website Live cbshealth.in -- every page written and deployed behind Cloudflare
API gateway Live 464 mounted routes across clinical, hospital, messaging and admin
Authentication and SSO Live OAuth2, Google sign-in with a personal account, rate limiting, lockout
Field-level encryption Live AES-256-GCM in a Rust core, not in application code
Audit trail Live Logged at the query, not at the route
Compliance plugins Live India, USA, UK, Singapore, Malaysia, plus data excellence
Continuous integration Live Green since 2026-09-05; the PostgreSQL gate runs on every push
Database Live Managed PostgreSQL. The move to an Indian region is planned after testing
Demonstration data Live 36 accounts, five countries, every synthetic patient marked JLT
Patient identity Live Role.PATIENT and Role.CAREGIVER, OTP sign-in, record linking and caregiver delegation -- the dependency all ten Care screens waited on
Native mobile apps Live Three Expo apps, 51 screen files — Dock 18, Medico 15, Care 18. All 28 register screens built
Printing and documents Live One letterhead-aware PDF frame; discharge, consent and prescription all print, and synthetic records watermark themselves
Terraform infrastructure Yet to start Written for three clouds and never applied; the service runs on Cloud Run
Awaiting a decision

Questions an engineer should not answer alone.

None of these blocks the screens already in build. Each is recorded here so it is visible rather than assumed.

11 open decisions
Sl. Question Kind What it holds up
D3 Self-booking policy -- which specialities, how far ahead, what cancellation window Commercial and clinical The Care appointments screen
D4 The ten booking policy defaults -- approve, or amend by line Commercial and clinical DK-02 shipping to a facility
D5 Who may consent for a minor or an incapable patient Legal -- drafted, needs a lawyer Care reaching the public
D6 Who is the data fiduciary when a facility uses its own AI key Legal -- drafted, needs a lawyer Any outward claim about BYOK
D8 Who may countersign -- a role, a seniority, or a named senior per facility Clinical and organisational The approvals model, and both phones' primary screen
D9 What may be raised for approval -- any prescription, high-risk drugs only, C-section decisions, discharge Clinical The scope of approvals
D10 Unanswered countersignature -- after how long, and to whom does it escalate Clinical safety Shipping approvals to a facility
D12 Which requests may a nurse raise, as against a doctor Clinical and organisational Recipient rules on the exchange
D13 Escalation clock per request kind Clinical safety Shipping the exchange to a facility
D14 Do journey notifications go to the patient, the attendant, or both -- and who nominates the attendant Legal and product Sending anything to a patient
A1 Ayurvedic vocabulary -- transliteration, the panchakarma staging, and whether it belongs in demonstration data Domain truth The AYUSH catalogue reaching a customer

Want to drive it rather than read about it?

A demonstration environment with synthetic patients, five countries and every role signed in. No real patient data is involved at any point.