Tenant & Platform Operations Control plane · multi-tenant operations
K
All systems operational · API p95 142ms · Error rate 0.02% · Uptime (30d) 99.97% · Active SEV-1/2 0 · ⏱ DPDP clock 70h 32m · 10/12 tenants on v2.4.0

Tenant & Platform Operations

7 hospitals live · 3 in trial · 2 implementations in progress — last synced 18 Jul 2026 · 09:42 AM

Live hospitals
7
of 12 tenants · 3 trial · 2 building
Need attention
5
2 act now · 3 to watch
MRR
₹2,31,000
↑ ₹8,000 this month · 7 paying
Contribution
₹1,92,670
83.4% of the 7 paying · fleet 77.7%
On schema rev 214
10 / 12
Krishna & Vasavi held on 213
Renewing ≤ 60 days
3
₹1,02,000 of MRR up for renewal

All tenants (12)

Sorted by attention · click any row to open that hospital's full screen
2 act now 3 to watch
Attention ▼ Hospital ▼ Lifecycle Plan MRR ▼ Contribution ▼ Renews ▼ Tickets ▼ Schema
Act now
Sunrise Children's Clinic
Miyapur, Hyderabad
−₹540/mo — AI is 68.4% of its ₹8,000 plan · two Hospital Plus workers left on after the pilot · DPDP clock running on INC-2026-071
Active
since 03 Feb 2026
Clinic ₹8,000 −₹540
−6.8%
200 d
03 Feb 2027
2
1 × S1
v2.4.0
rev 214 · canary
Act now
Krishna Multispeciality Hospital
Sangareddy
Held on schema rev 213 · POOL_EXHAUSTED, 38 of the fleet's 71 daily errors · p95 412ms, 2.9× the median · ₹40,000 unpaid 9 days
Active · in dunning
since 19 Sep 2025
Hospital Plus ₹40,000 ₹35,250
88.1%
63 d
19 Sep 2026
1
TCK-4491 · S2
v2.3.2
rev 213 · held
Watch
Vasavi Nursing Home
Nizamabad
Held on schema rev 213 · the month's one SLA breach (1h 48m against a 30-minute S2) · backup window deliberately moved to 23:45
Active
since 27 Aug 2025
Hospital ₹30,000 ₹27,060
90.2%
40 d
27 Aug 2026
1
SLA breached
v2.3.2
rev 213 · held
Watch
Sree Ramachandra Hospital
Hanamkonda, Warangal
₹40,000 renews in 18 days · NHCX claim submit timeouts, 9 in 24h · Discharge Drafter drift reported by a surgeon
Active
since 05 Aug 2025
Hospital Plus ₹40,000 ₹34,310
85.8%
18 d
05 Aug 2026
1
TCK-4489 · S3
v2.4.0
rev 214
Watch
Aadhya Multispeciality Hospital
Kompally, Hyderabad
₹32,000 renews in 15 days — the earliest in the fleet · ABHA link verify timeouts on the M2 sandbox, non-blocking
Active
since 02 Aug 2025
Hospital ₹32,000 ₹27,950
87.3%
15 d
02 Aug 2026
1
TCK-4488 · S3
v2.4.0
rev 214
Decide
Lotus Speciality Clinic
Karimnagar
Trial expires in 9 days — the fleet's nearest deadline · usage trending to Hospital ₹30,000 · has raised no tickets at all
Trial · day 22/30
started 27 Jun 2026
Clinic
trial
₹0
no invoice
—
CAC
9 d
expires 27 Jul
0 v2.4.0
rev 214
Decide
Prashanth ENT & General Hospital
Khammam
Trial expires in 16 days · measured usage fits Clinic ₹7,999 — the one tier that does not pay for itself yet
Trial · day 15/30
started 04 Jul 2026
Clinic
trial
₹0
no invoice
—
CAC
16 d
expires 03 Aug
1
TCK-4483 · S4
v2.4.0
rev 214
Decide
Fortune Multispeciality Hospital
Suryapet
Trial expires in 23 days · two branches, routed to Hospital Plus ₹40,000 — the largest single conversion in the pipeline
Trial · day 8/30
started 11 Jul 2026
Hospital
trial
₹0
no invoice
—
CAC
23 d
expires 10 Aug
1
TCK-4484 · S3
v2.4.0
rev 214
Building
New Life Maternity & Children's Hospital
Adilabad
Database building, 214 of 214 migrations applied · go-live Aug at ₹30,000 · ₹75,000 implementation fee collected
Implementing
invoices at go-live
Hospital
contracted
—
from go-live
—
db ₹1,530/mo
—
starts at go-live
0 v2.4.0
rev 214 · building
Building
Om Sai General Hospital
Mahbubnagar
Database building, 214 of 214 migrations applied · go-live Sep at ₹30,000 · ₹50,000 implementation fee collected
Implementing
invoices at go-live
Hospital
contracted
—
from go-live
—
db ₹1,530/mo
—
starts at go-live
0 v2.4.0
rev 214 · building
Steady
Sri Venkateshwara Multi-Speciality Hospital
Kukatpally, Hyderabad · onboarded 12 Feb 2025
Largest tenant, nothing outstanding · p95 128ms · break-glass BG-1042 open until 6:00 PM against TCK-4482
Active
since 12 Feb 2025
Hospital Plus ₹51,000 ₹42,810
83.9%
209 d
12 Feb 2027
1
TCK-4482 · S2
v2.4.0
rev 214
Steady
City Care Hospital
Nalgonda
Nothing outstanding · p95 112ms · paid 05 Jul on the UPI mandate · one S4 feature request
Active
since 14 Nov 2025
Hospital ₹30,000 ₹25,830
86.1%
119 d
14 Nov 2026
1
TCK-4485 · S4
v2.4.0
rev 214
12 tenants · 7 paying ₹2,31,000 ₹1,92,670 recomputed from rows in view 10
Contribution is after AI and every other variable cost and matches Usage Metering row for row: ₹2,31,000 MRR − ₹18,480 LLM + speech (8.0% of MRR) − ₹19,850 other variable = ₹1,92,670, 83.4%. The fleet figure is smaller — ₹1,79,390, 77.7% — because the 3 trials cost ₹10,220 with no revenue by design and the 2 databases being built cost ₹3,060: ₹13,280 of real money this month that no row of paying tenants can show. That is the whole reason this column exists next to MRR. MRR says Sunrise Children's Clinic is an ₹8,000 customer; contribution says it costs us ₹540 a month to keep, and one column can say that while the other never can.

Pipeline deadlines

A trial nobody decided on converts to nothing — and an implementation costs us a database from the day it starts
up to +₹78,000/mo ₹1,25,000 one-time collected

₹30,000 + ₹7,999 + ₹40,000 = ₹77,999/month if all three trials convert — the +₹78,000 ceiling Usage Metering forecasts from, and the single input worth arguing about, because at zero conversions September MRR is ₹2,91,000 instead of ₹3,61,000. The two implementations are already contracted at ₹1,25,000 of one-time fees collected and each costs ₹1,530/month in dedicated Postgres while it builds — the standing bill for ADR #2's isolation-by-construction, which starts before the first invoice does.

Day 30 is an answer date, not a cliff: docs/auth-and-access-design.md §5 says an unconverted tenant goes to modules off with its export intact, never to deletion. A trial that lapses still gets its data out.

Denial-benchmark participation

Consent-gated · anonymized rates only, never a claim, a bill or a patient
4 of 7 active tenants opted in

What a hospital contributes if it opts in: a denial rate per payer, as a percentage — never a claim, a bill amount, or a patient. What every participating hospital sees back: the anonymized median across every payer with enough participants to protect anyone's identity. A payer with fewer than 3 opted-in hospitals shows no median at all, rather than one derived from too few hospitals to anonymize. Each row is this operator's record of that hospital owner's own decision — made outside this screen, in a signed data-sharing agreement — not a switch flipped on a whim.

HospitalPayer mixShares
Sri Venkateshwara KukatpallyStar Health · PM-JAY · Aarogyasri · EHS
Krishna Multispeciality SangareddyStar Health · Aarogyasri
Vasavi Nursing Home NizamabadStar Health · PM-JAY
Aadhya Multispeciality KompallyStar Health · EHS
Sree Ramachandra WarangalPM-JAY · Aarogyasri
City Care NalgondaStar Health
Sunrise Children's Clinic MiyapurEHS

Star Health clears the threshold at 4 participants (Sri Venkateshwara, Krishna, Vasavi, Aadhya). PM-JAY and Aarogyasri sit at 2 each and EHS at 2 as well — one more opt-in on any of the three would produce a median for that payer too.

Digitalization maturity scorecard

Schema currency · AI entitlement compliance · benchmark participation — the same three signals already tracked above, rolled up per hospital
2 of 7 active fully current
HospitalSchema (Release & Rollout)AI entitlementBenchmark opt-inMaturity
Sri VenkateshwaraCurrentCompliant
Krishna MultispecialityHeld · deliberate, NABH prepCompliant
Vasavi Nursing HomeHeld · deliberate, NABH prepCompliant
Sree RamachandraCurrentCompliant
Aadhya MultispecialityCurrentCompliant
City Care HospitalCurrentCompliant
Sunrise Children's ClinicCurrent2 workers not entitled
The 3 trials and 2 hospitals still provisioning aren't scored — there's no production entitlement or claims history yet to score. See Release & Rollout and Denial-benchmark participation, above, for what each column reads from.
This is the lever, not a scoreboard for its own sake: a hospital group running several tenants under HOS could tie this same rollup to whatever its own leadership already ties facility performance to — the mechanism China's own research found actually moved adoption. HOS reports the three signals; what a group's leadership attaches to them is theirs to decide, not HOS's.

Tier definitions

Changes apply to new sign-ups immediately; existing tenants keep contracted pricing until renewal.

Clinic

Entry
/ month
  • Reception, OPD queue & scheduling
  • Consultation + AI Scribe (basic)
  • Patient records & billing (cash/UPI)
  • Pharmacy — single store
  • WhatsApp Assistant — 500 msgs/mo
  • 1 admin user · email support

Hospital Plus

Most popular
base + usage
  • Everything in Hospital, plus:
  • Discharge & Lab AI Agents
  • Money Leaks detection
  • Unlimited admin users
  • WhatsApp — 5,000 msgs/mo pooled, overage billed
  • Custom tariff & discharge templates
  • Dedicated onboarding specialist
✦ Upsell routing suggestion Draft — awaiting approval

3 trial hospitals cross the 30-day mark this week. Based on measured usage: Prashanth ENT & General (Khammam) is averaging 612 WhatsApp msgs/week and 12 OPD tokens/day — fits Clinic. Lotus Speciality Clinic (Karimnagar) is trending toward IPD usage on 8 beds — recommend Hospital. Fortune Multispeciality (Suryapet, 42 beds, 2 branches flagged) — recommend Hospital Plus given multi-branch need.

Source: 30-day usage telemetry across scribe minutes, WhatsApp volume, bed occupancy

Platform usage — this month

Aggregated across all 7 active tenants · billing cycle 01–31 Jul 2026

AI Scribe minutes

+12% vs last month
18,420 min
avg 14,200 min/week · 12-week trend

Top usage this week

Sri Venkateshwara Kukatpally3,120 min
Sree Ramachandra Warangal2,860 min
Aadhya Multispeciality Kompally2,410 min

WhatsApp messages

94% delivered
96,340
avg 24,600/week · 12-week trend

Top usage this week

Sri Venkateshwara Kukatpally14,820
Sunrise Children's Clinic Miyapur9,240
City Care Hospital Nalgonda8,760

LLM + speech spend

9.8% of MRR · 8.0% ex-trials
₹22,650
₹18,480 on 7 paying (₹2,640 avg) · ₹4,170 on 3 trials · 12-week trend

Top spend this week

Sri Venkateshwara Kukatpally₹1,110
Sunrise Children's Miyapur · ₹8,000 plan₹820
Sree Ramachandra Warangal₹780

AI cost per tenant — gross margin

Cost as a share of that tenant's own subscription is the number that decides whether the price is right
1 tenant below water
HospitalPlanMRRLLM + STT% of its MRROther variableContributionMargin
Sri Venkateshwara Kukatpally Hospital Plus ₹51,000₹4,1808.2%₹4,010₹42,810 83.9%
Sree Ramachandra Warangal Hospital Plus ₹40,000₹2,9807.5%₹2,710₹34,310 85.8%
Krishna Multispeciality Sangareddy Hospital Plus ₹40,000₹2,3405.9%₹2,410₹35,250 88.1%
Aadhya Multispeciality Kompally Hospital ₹32,000₹1,5404.8%₹2,510₹27,950 87.3%
City Care Hospital Nalgonda Hospital ₹30,000₹1,1803.9%₹2,990₹25,830 86.1%
Vasavi Nursing Home Nizamabad Hospital ₹30,000₹7902.6%₹2,150₹27,060 90.2%
Sunrise Children's Clinic Miyapur Clinic ₹8,000₹5,47068.4%₹3,070−₹540 −6.8%
7 paying tenants ₹2,31,000₹18,4808.0%₹19,850₹1,92,670 83.4%
3 trials — cost with no revenue by design: this is acquisition cost, not margin ₹0₹4,170—₹6,050−₹10,220 CAC

Why Sunrise is below water

Its ₹5,470 AI bill breaks down into one commercial mistake, one engineering defect, and one legitimate cost.
1. ₹2,870 of AI it is not paying for. Lab Summarizer and Discharge Drafter are Hospital Plus workers, and both are switched on for a ₹7,999 Clinic tenant — module flags left open after the February pilot and never closed. This is a revenue leak, not a usage problem, and it is fixed in one place: Tenants → Sunrise Children's Clinic → module flags.
2. ₹1,180 to a defect. The WhatsApp Assistant re-reads the whole parent conversation on every reply instead of a rolling summary. Sunrise generates ~41% of the fleet's replies, so it pays the most for our bug.
3. ₹1,420 that is simply the product working. Scribe plus speech-to-text on 38 consults a day. Nothing to fix — this is what the tier has to cover and does not.
Below that, a dedicated Postgres database costs ₹1,530/month whatever the plan. That is the standing bill for ADR #2's isolation-by-construction and it does not scale down.

What it implies about the Clinic tier

Close the two out-of-plan workers+₹2,870
Fix WhatsApp thread summarisation (fleet-wide)+₹840
Contribution after both₹3,170 · 39.6%
Fleet contribution margin for comparison83.4%

Even fully fixed, a ₹7,999 Clinic tier carrying its own database plus Scribe on every consult lands at under half the fleet's margin. Two honest options: price the Clinic tier at ₹11,500, or meter its AI separately (ADR #8 already makes per-transaction pricing possible without a rewrite). The option we will not take is putting clinics on a shared schema — that would trade away the isolation guarantee we sell on.

Token consumption by AI worker

Output tokens are priced ~5× input, so a verbose worker is a silent margin leak
WorkerUnitsInputOutputMixCost₹/unit
AI Scribe
9,210 notes · 18,420 min
9,21047.9M6.45M
₹5,524₹0.60
Speech-to-text
Scribe audio, priced per minute
18,420
min
—— audio ₹4,698₹0.26
Billing Agent
Charge capture drafts
5,98014.4M1.32M
₹1,448₹0.24
WhatsApp Assistant
Generated replies (templates cost 0 tokens)
6,42035.0M1.34M
₹2,879₹0.45
Lab Summarizer
Result trajectory
2,1403.85M0.68M
₹1,870₹0.87
Discharge Drafter
2,400 output tokens each — 10× the Scribe
93013.0M2.23M
₹6,231₹6.70
Platform total — 24,680 AI actions ₹22,650—
inputoutput
Discharge Drafter is 3.8% of AI actions and 28% of AI spend — and it is the worker currently drifting. Roughly 41% of its output is the stale physiotherapy block clinicians delete, so we are paying premium output rates to generate text a surgeon then removes. Fix the prompt before touching the model.

Cost vs quality per worker

A cheaper model that needs more human edits is a false saving — so the two are read together
WorkerModel tier₹/unitApproved as-isAvg editsVerdict
AI Scribe incl. speech-to-textSmall₹1.1184.1%0.9Already optimal
Billing AgentSmall₹0.2491.6%0.4Cheapest and best
WhatsApp AssistantSmall₹0.4576.2%1.3Fix context, not model
Lab SummarizerFrontier₹0.8771.9%1.7AMBER — locked
Discharge DrafterFrontier₹6.7058.4%3.6Prompt first

The downgrade we rejected

We A/B ran the Discharge Drafter on the small model against 60 synthetic summaries. Cost fell ₹6.70 → ₹1.80 per summary — ₹4,550/month across the fleet. But approve-as-is fell 58.4% → 41% and edits rose 3.6 → 5.2. That is 1.6 extra edits × 930 summaries ≈ 37 hours of consultant time a month; at ₹40/min of surgeon time that is ₹88,800 of value destroyed to save ₹4,550. Rejected.

Lab Summarizer is AMBER under ADR #7, so a model change there is not a config edit at all — it goes through the Algorithm Change Protocol and a claim/copy review before it reaches a tenant. Cost is not a sufficient reason to move it.

Contribution after variable cost

July 2026 · recorded actuals, not a projection
77.7%
MRR — 7 paying tenants₹2,31,000
LLM + speech-to-text (9.8% of MRR)−₹22,650
WhatsApp Cloud API — 96,340 msgs at ₹0.11 avg (4.6%)−₹10,600
Tenant databases + infra — 12 dedicated Postgres at ₹1,530 (7.9%)−₹18,360
Contribution₹1,79,390

The per-tenant table above lands on ₹1,92,670 because it only counts the 7 paying tenants. The gap of ₹13,280 is the cost of carrying the 3 trials (₹10,220) and the 2 databases being built for Adilabad and Mahbubnagar (₹3,060). Both are real money going out this month, so the honest headline is the smaller number.

This is contribution, not company gross margin. Salaries, the four-person HOS team, implementation labour and the ₹50K–1L one-time implementation fee are all outside it. What it does answer honestly is the only question that scales: every provisioned hospital costs us about ₹4,300/month to serve, so at ₹30,000 MRR each, tenant 25 is as profitable as tenant 8 — provided nobody sells another ₹8,000 clinic without fixing the tier.

Provider exposure

Where this cost line can move without us doing anything
3 open exposures
Provider list price. 100% of token spend is on one provider. A 20% list increase adds ₹4,530/mo — 2.0 points of MRR. No committed-use discount until ~25 tenants.High
FX. Revenue is INR, token and STT costs are USD-priced. Modelled at ₹86.40/USD; every ₹1 of rupee depreciation adds ₹262/mo. A move to ₹92 costs ₹1,470/mo.Medium
Rate limits. Indian OPD peaks 09:00–11:30 IST at every hospital simultaneously, against one shared org limit — so tenant 25 gets throttled by tenant 1. Per-tenant token buckets are the fix and they are not built.Structural

Forecast — revenue, AI cost and net

Projected from recorded usage and the pipeline already on this page. Hatched rows are projections, not actuals.
✦ Projection · assumptions stated below
MonthPaying tenantsMRRLLM + STTas % of MRRNet after AI costBasis
Jun 20267₹2,23,000₹19,9008.9%₹2,03,100 Actual
Jul 20267₹2,31,000₹22,6509.8%₹2,08,350 Actual · +₹8,000
Aug 20268₹2,61,000₹22,8808.8%₹2,38,120 Projection
Sep 202611₹3,61,000₹28,4007.9%₹3,32,600 Projection
Assumptions, so you can disagree with the number instead of the chart.
· Aug: New Life Maternity (Adilabad) completes implementation and starts billing at ₹30,000 — its Hospital plan is already set. Om Sai slips to Sep. No trial converts in Aug because the earliest crosses day 30 on 27 Jul and first invoices land the following cycle. Cost: +₹1,920 as the 3 trials reach full volume, +₹2,400 for the 2 new databases, −₹2,100 from the Discharge Drafter prompt fix.
· Sep: Om Sai live (+₹30,000) and 2 of the 3 trials convert — Lotus → Hospital ₹30,000 and Fortune → Hospital Plus ₹40,000, per the upsell routing draft on Plans & Pricing. Prashanth ENT is the one we are least sure of: its measured usage fits Clinic at ₹7,999, which is exactly the tier that does not pay for itself yet.
· If all 3 trials convert the ceiling is +₹78,000/mo; at 0 conversions Sep MRR is ₹2,91,000. The spread between those two numbers is larger than three months of net, which is why trial conversion is the only forecast input worth arguing about.

AI cost curve at scale

Does cost per tenant improve as the fleet grows? Somewhat — and then it stops.
✦ Projection
Tenants₹/tenant/moTotal% of MRRWhat changes
10₹2,265₹22,6509.8%Today. Prompt cache warm on 5 workers, 61% hit rate.
25₹1,780₹44,5006.1%Cache hit rate 61% → 74% as tariff/template prefixes repeat across tenants; first committed-use discount tier.
50₹1,610₹80,5005.4%Discharge and claim batches move off-peak onto batch pricing.
100₹1,540₹1,54,0005.1%Floor. Speech minutes and output tokens are per-patient work and never amortise.
Cost per tenant improves about 32% from 10 to 100 hospitals and then flattens. Token cost is variable, not fixed, so AI gross margin plateaus near 95% — it never approaches software's 99%. Anyone modelling this business as pure SaaS is modelling the wrong business.

Unmodelled line — per-transaction claim revenue

ADR #8 and blueprint-gap-analysis §1.3 both flag this; revenue-projections.md models only per-hospital subscription
Not earned
Claims processed through HOS this month — 7 active tenants, NHCX + PM-JAY TMS186
Claim value routed — avg ₹27,000 per claim₹50.2L
At 0.5% of claim value — the rate incumbent TPAs charge for far less₹25,100/mo
Uplift on current MRR+10.9%

✦ Ask about usage

Live telemetry · all 7 tenants
Ask anything about platform usage — try a chip, or type your own question.

AI fleet control

8 AI workers live across 10 provisioned tenants · classifications per ADR #7 (CDSCO SaMD framework) · every control here writes a reason to an immutable log

AI workers live
8
3 blocked by regulation
AI actions this month
24,680
↑ 18% vs last month
Drift alerts open
2
Discharge Drafter · 2 tenants
Awaiting eval gate
1
Scribe v4.3 — not promotable
RED-tier enabled
0
structurally blocked
✦ Fleet drift — Discharge Drafter v2.4 Degrading at 2 of 4 tenants GREEN · productivity

Edit distance on discharge summaries rose 1.2 → 3.6 edits over 14 days at Sree Ramachandra (Warangal) and Krishna Multispeciality (Sangareddy). Both are orthopedics-heavy and both sit on v2.3.2 schema — the v2.4 template expects a package-pathway field their schema does not have yet, so the writer falls back to a stale physiotherapy block. Sri Venkateshwara, on v2.4.0 schema, is unaffected at 0.9 edits.

Two ways out: roll Discharge Drafter back to v2.3 for the two affected tenants until their schema migration lands Sunday, or disable the worker fleet-wide. Rollback is the smaller blast radius — the drafts stay usable, they just cost the surgeon an extra edit.

Detected by continuous evaluation · 214 summaries sampled across 4 tenants · derived metrics only, no draft content left the tenant DBs

AI workers across the fleet

Version spread, reach and health per worker — the switch is the fleet-wide kill switch and it will ask you why
ADR #7 classification
AI workerTier (ADR #7)Version across fleetTenantsApproved as-isHealthFleet control
AI Scribe
Consultation notes
GREEN · productivity
v4.2 — 8 tenantsv4.1 — 2 tenants
10 / 10 84.1% Healthy
Billing Agent
Charge capture · claims assembly
GREEN · productivity
v3.6 — 7 tenants
7 / 7 91.6% Healthy
WhatsApp Assistant
Patient messaging
GREEN · productivity
v2.9 — 10 tenants
10 / 10 76.2% Healthy
Discharge Drafter
Discharge summaries
GREEN · productivity
v2.4 — 4 tenants
4 / 3
1 not entitled
58.4% Drift · 2 tenants
Lab Summarizer
Result trajectory & reference ranges
AMBER · reference
v1.8 — 4 tenants
4 / 3
1 not entitled
71.9% Watch
Contradiction Sentinel
Order vs result consistency
AMBER · reference
v1.2 — 7 tenants
7 / 7 88.0% Healthy
Interaction & renal-dose alerts
Checks against a licensed drug DB
AMBER · reference
DB rev 2026.07 — 10 tenants
10 / 10 — Healthy
Early-warning score
NEWS/MEWS from charted vitals
AMBER · reference
v1.1 — 3 tenants
3 / 3 — Healthy
Deterioration forecast
Predicts a future clinical event
RED · medical device
not built — v0 in eval only
0 / 12 — 🔒 Licence-blocked
Diagnostic imaging AI
Reads radiology studies
RED · medical device
partner integration — R3+
0 / 12 — 🔒 Licence-blocked
Acuity-assigning triage
Ranks patients by clinical urgency
RED · medical device
not built
0 / 12 — 🔒 Licence-blocked
The three RED rows are not a roadmap teaser — the toggle is disabled and the handler refuses the change. Under ADR #7 a feature that predicts, screens, diagnoses or assigns acuity is a medical device under the Medical Device Rules 2017; enabling one for a paying hospital without a CDSCO licence would make that hospital non-compliant, not just us. There is deliberately no override on this screen for any HOS role, founder included.

AI rollout staging gate

No AMBER-tier (or higher) worker is newly entitled to a tenant until a pre-deployment risk memo is on file
1 of 2 blocked
TenantRequestingTierPre-deployment risk memoGate
New Life Maternity & Children's
Adilabad · go-live Aug
Lab Summarizer
Result trajectory & reference ranges
AMBER · reference Missing Try in sandbox first
Om Sai General Hospital
Mahbubnagar · go-live Sep
Contradiction Sentinel
Order vs result consistency
AMBER · reference On file · 16 Jul 2026 Try in sandbox first
This gates new entitlements only — it does not re-review the 4 AMBER workers already live across entitled tenants above. The AI Ethics Committee's own charter (Administration → AI Governance) is what this memo has to satisfy; ratifying it here does not substitute for that hospital's own committee having actually looked, so the memo names who at HOS reviewed it and cannot be marked on file without that name.

Algorithm Change Protocol — pending promotion

CDSCO expects a declared protocol for every AI/ML change · ADR #7
Gate not passed
AI Scribe v4.2 → v4.3 prompt + retrieval change submitted 18 Jul · 04:20 PM

Better handling of Telugu/English code-switched dictation and unit-bearing dose phrases. Cannot reach a single tenant until all six synthetic suites pass — the suites run on generated cases, never on a hospital's records, so evaluation never pulls PHI into the control plane (ADR #3).

PassCode-switched dictation · 240 synthetic cases97.1% ≥ 95%
PassDrug names vs licensed formulary · 180 cases99.2% ≥ 99%
PassDose & numeric transcription · 150 cases98.8% ≥ 98%
PassNegation handling ("no chest pain") · 120 cases96.4% ≥ 95%
PassUnsupported-claim probe · 200 adversarial cases0.3% ≤ 0.5%
Not runRegression vs v4.2 approve-as-is baselinerequired
Harness: research/10 Wave C model-evaluation suite · synthetic cases only · results signed into the control-plane chain

🔒 Control-plane action log

Hash-chained · append-only · mirrored into each affected tenant's own audit log
Chain intact
18 Jul
04:20 PM
SubmitAI Scribe v4.3 submitted for Algorithm Change Protocol review — Dr. G. Prakash
"Telugu/English code-switching accuracy complaints from 3 tenants; dose phrases mis-transcribed."
block #7,204 · 9c41ba07f6e2…d18a
14 Jul
09:05 PM
HoldLab Summarizer v1.8 rollout held at cohort — 3 tenants, fleet promotion cancelled — Dr. G. Prakash
"Reject rate 5.6% at Krishna, above the 4% promotion bar. Hold until root-caused."
block #7,198 · 4e0d77c1a9b3…f552
02 Jul
11:40 AM
KillWhatsApp Assistant disabled fleet-wide for 41 min — 10 tenants — Dr. G. Prakash
"Meta template rejection loop sending duplicate messages. Off until the template is re-approved."
block #7,140 · b715e3d0c284…07ce
28 Jun
02:15 AM
PromoteBilling Agent v3.6 promoted canary → fleet, 7 tenants — Dr. G. Prakash
"Suite green; canary at Sunrise held 0.4 avg edits over 9 days."
block #7,102 · 21ac8f9e5b60…3ad1
Entries cannot be edited or removed — each block hashes the one before it. The reason you type is part of the hashed payload, which is why the box is mandatory rather than polite.

Release & rollout

v2.4.0 on the fleet · 8 tenants running it, 2 provisioning onto it, 2 still on v2.3.2 · one migration outstanding

Staged rollout — v2.4.0

Canary → cohort → fleet. A stage is only promoted when the one before it has been quiet for its full soak window.
Stage 3 of 3 · fleet · 83%
Stage 1 · Canary
1 tenant
Sunrise Children's Clinic · soaked 6 days · 0 errors
Stage 2 · Cohort
4 tenants
Aadhya · City Care · Lotus · Prashanth · soaked 5 days
Stage 3 · Fleet
10 of 12
2 tenants pending the Sunday migration window
App bundle v2.4.0
83% (10/12)
Schema rev 214 (per tenant DB)
83% (10/12)
Rollback path: the app bundle is a single pinned version per tenant, so an app rollback is instant. A schema rollback is not — rev 214 is additive-only precisely so that rolling the app back never needs the schema to move. That constraint is why migrations here only ever add.

Pending migration — 214_add_package_pathway

Must run once per tenant database. This is the standing cost of ADR #2 and it does not amortise.
2 databases outstanding
12
separate Postgres databases
10
migrated · 0 failures
3m 40s
avg per database
44m
serial wall clock
11m
actual, at concurrency 4
Donehos_sri_venkateshwara3m 12s
Donehos_sree_ramachandra2m 58s
Donehos_aadhya_multispeciality3m 41s
Donehos_city_care3m 05s
Donehos_sunrise_childrens1m 49s
Donehos_lotus_speciality1m 52s
Donehos_prashanth_ent2m 04s
Donehos_fortune_multispeciality2m 31s
Provisioninghos_new_life_maternitybuilt at rev 214
Provisioninghos_om_sai_generalbuilt at rev 214
Queuedhos_krishna_multispecialityest. 4m 10s · 61 GB
Queuedhos_vasavi_nursing_homeest. 3m 20s · 38 GB
Window: Monday 20 Jul · 02:00 AM IST, after the nightly backup so every database has a restore point minutes old. A failure isolates to one hospital — the other 11 never notice — which is the compensation for having 12 migrations instead of 1.

Version per tenant

App bundle and schema rev are pinned independently, so a tenant can be held back on one without the other
12 tenants
HospitalAppSchema revRollout stageStateControl
Sri Venkateshwara Kukatpally v2.4.0214Fleet Current
Sree Ramachandra Warangal v2.4.0214Fleet Current
Krishna Multispeciality Sangareddy v2.3.2213Held 2 revs behind
Aadhya Multispeciality Kompally v2.4.0214Cohort Current
City Care Hospital Nalgonda v2.4.0214Cohort Current
Vasavi Nursing Home Nizamabad v2.3.2213Held 2 revs behind
Sunrise Children's Clinic Miyapur v2.4.0214Canary Current
Lotus Speciality Clinic Karimnagar v2.4.0214Cohort Current
Prashanth ENT & General Khammam v2.4.0214Cohort Current
Fortune Multispeciality Suryapet v2.4.0214Fleet Current
New Life Maternity & Children's Adilabad v2.4.0214Provisioning Built at latest
Om Sai General Hospital Mahbubnagar v2.4.0214Provisioning Built at latest
Krishna and Vasavi are held deliberately, not accidentally — both asked to skip a mid-month change during their NABH assessment prep. A hold has an owner, a reason and an expiry, so "2 revs behind" never quietly becomes "18 months behind", which is how single-tenant hospital software rots.

Incidents & compliance response

1 open degradation · 1 contained SEV-2 with a DPDP notification clock running · MTTA 4m 12s over 90 days

Open
1
SEV-3 · third-party
Contained, clock running
1
DPDP 72h · our commitment
Mean time to acknowledge
4m 12s
↓ from 9m 40s
SEV-1 in last 90 days
1
postmortem published
Tenants affected today
12
degradation, not outage

⏱ DPDP 72-hour breach notification — INC-2026-071

Digital Personal Data Protection Act 2023 · Rules 2025. The Rules were notified 14 Nov 2025 on an 18-month phased rollout: the fiduciary duty to notify the Data Protection Board commences around Nov 2026, with the Act fully in force 14 May 2027. HOS runs the clock now anyway — it is our contractual commitment to tenants, a year ahead of the statute, not a duty we are claiming already binds.
Clock running · ahead of statute
70h 32m 00s
remaining · our own commitment expires 21 Jul 2026 · 08:14 AM IST · the statutory duty itself does not commence until ~Nov 2026
Breach confirmed 18 Jul · 08:14 AM · contained 08:31 AM · time to acknowledge 4 min
Affected tenant: Sunrise Children's Clinic (Miyapur) · 41 data subjects · 1 of 12 tenants

A WhatsApp reminder batch was rendered against a stale recipient list after a number-change sync lag, so 41 messages containing appointment date, time and clinic name reached the wrong mobile numbers. No clinical content, no diagnosis and no report was in the message body. Sending was halted at 08:31; the template is suspended pending fix.

Statutory checklist

DoneContain — sending halted, template suspended08:31 AM
DoneNotify hospital owner + their DPO (Sunrise Children's Clinic)08:44 AM
DoneLog to the tenant's own tamper-evident audit log08:45 AM
PendingFile notification with the Data Protection Board of India — duty commences ~Nov 2026; prepared nowdue in 70h
PendingAffected-subject notice — drafted by HQ, sent by the hospital (they hold the identities)due in 70h
Not startedRoot-cause analysis + preventive controlnot statutory

Incidents — last 90 days

Severity, reach and time-to-acknowledge. SEV-3 degradations are excluded from the "active incidents" counter in the status strip, which tracks SEV-1/2 only.
IDSeverityWhatTenantsDetectedTTAState
INC-2026-071 SEV-2 WhatsApp reminder batch sent to a stale recipient list — 41 subjects
DPDP notification clock running
1 Sunrise 18 Jul · 08:10 4m Contained
INC-2026-070 SEV-3 WhatsApp Cloud API delivery dipped to 94% — Meta-side rate limiting, auto-retry active
Third-party degradation, no data impact
12 fleet 18 Jul · 08:50 2m Open · monitoring
INC-2026-069 SEV-3 Nightly backup failed once, succeeded on retry
Disk pressure on one DB host
1 Vasavi 16 Jul · 02:41 11m Resolved
INC-2026-068 SEV-2 LLM provider p95 latency 2.1s for 14 min — Scribe drafts queued, none lost
Provider-side, auto-recovered
10 all provisioned 18 Jul · 04:02 3m Resolved
INC-2026-067 SEV-1 OTP provider outage — staff could not sign in for 9 min
Failover SMS route added as the preventive control
12 fleet 02 Jul · 09:18 1m Resolved · postmortem
Every row here is operational: what broke, for how long, for how many hospitals. None of it names a patient, because none of it needs to — an incident record that quotes clinical content would put the control plane in breach while investigating a breach.

✦ Customer communication — INC-2026-071

One incident, three audiences, three registers. Drafted here, human-approved before anything leaves.
Draft — awaiting approval
Pick an audience — the draft is written for that reader, not copy-pasted between them.
Drafted from the incident timeline · counts and timestamps only · no subject identities available to draft with

Platform health

All services · auto-refreshes every 60s · last checked 18 Jul 2026 · 09:42 AM

API GatewayOperational
p95 118msUptime 99.99%
Auth & OTP (SMS/WhatsApp)Operational
p95 620msUptime 99.95%
WhatsApp Cloud APIDegraded
Delivery 94%Since 08:50 AM
LLM Provider (Claude)Operational
p95 1.4sError rate 0.01%
Database cluster (tenant DBs)Operational
Replication lag <1sUptime 99.99%
Nightly backupsAll current
Last run 02:00 AM12/12 tenants ✓

Rollout — v2.4.0

10 of 12 tenants
Scribe accuracy improvements
100%
Discharge summary v2 template
100%
Billing leakage detection
83% (10/12)
Krishna Multispeciality & Vasavi Nursing Home remain on v2.3.2 — migration window scheduled Sunday 2:00 AM IST, zero downtime expected.

Recent alerts

08:50 AMWarnWhatsApp Cloud API delivery dipped to 94% — Meta-side rate limiting, auto-retry active
03:12 AMInfoSunrise Children's Clinic provisioned successfully in 4m 12s
02:00 AMInfoNightly backup completed — 12/12 tenants, 0 failures
YesterdayResolvedElevated LLM p95 latency (2.1s) for 14 min — provider-side, auto-recovered

✦ Ask about health

Live status · all 12 tenants
Ask about incidents, rollout status, backups, or team access — try a chip, or type your own question.

Telemetry & observability

373,420 API calls in 24h across 10 provisioned tenant databases · every signal attributed to a tenant · logs carry no PHI by construction

API p95 (weighted)
142ms
8 endpoints · AI path budgeted apart
Error rate
0.02%
71 of 373,420 · 54% from 1 tenant
Uptime (30d)
99.97%
13 min of budget left this month
Slowest tenant p95
412ms
Krishna — 2.9× fleet median
Open error fingerprints
7
4 attributed, 3 fleet-wide

API health by endpoint

p50 / p95 / p99 and the tenant carrying the worst tail on each route
last 24h
EndpointReq 24hp50p95p99ErrorsWorst-tail tenant
GET /opd/queue 214,80038ms105ms228ms0.02% Krishna · 412ms
POST /encounters 41,20066ms162ms340ms0.01% Krishna · 388ms
GET /patients/{id}/timeline 38,60088ms214ms460ms0.02% Krishna · 604ms
POST /invoices 29,40061ms146ms305ms0.01% Sree Ramachandra · 210ms
POST /prescriptions 24,10054ms128ms262ms0.00% Vasavi · 188ms
GET /beds/board 18,90047ms112ms240ms0.00% Sri Venkateshwara · 141ms
POST /auth/otp 5,180410ms620ms1,180ms0.06% provider-bound · fleet
POST /nhcx/claims 1,240690ms2,240ms8,400ms0.81% Sree Ramachandra · 4.1s
Volume-weighted across the 8 routes —142ms—0.02% the two figures in the status strip
POST /ai/drafts
budgeted separately
820980ms1,410ms3,200ms0.95% LLM provider · fleet
The AI inference route is deliberately outside the 142ms figure. Folding a provider-bound 1.4s call into the platform p95 would let a real 40ms regression on /opd/queue hide inside the noise of someone else's model latency — and /opd/queue is the route a receptionist hits every twelve seconds with a queue of patients watching.

p95 by tenant database

ADR #2 means there is no "the database" — there are 10 live ones, and one of them is the problem
Prashanth ENT Khammam
88ms
Lotus Speciality Karimnagar
92ms
Sunrise Children's Miyapur
96ms
City Care Nalgonda
112ms
Aadhya Multispeciality Kompally
119ms
Fortune Multispeciality Suryapet
121ms
Sri Venkateshwara Kukatpally
128ms
Sree Ramachandra Warangal
134ms
Vasavi Nursing Home Nizamabad
168ms
Krishna Multispeciality Sangareddy · schema rev 213
412ms
Krishna and Vasavi are the two tenants still on schema rev 213 — the same two behind on v2.4.0 in Release & Rollout, and the two whose Discharge Drafter is drifting in AI Fleet Control. Rev 214 adds the partial index that opd.queue.read needs; without it that query sequential-scans and holds a pool connection for 1.8s, which is why Krishna also owns 38 of the fleet's 71 daily errors. One root cause, visible in four sections — and the fix is already queued for Sunday's window.

What a log line may contain

Enforced at the logger, not by reviewer discipline
0 PHI findings in 90 days

✓ Allowed — an allow-list, so a new field is off by default

  • tenant id · service · host · build version
  • error code · operation name (opd.queue.read)
  • opaque record UUID — resolvable only inside the tenant DB
  • duration_ms · counts · schema rev · provider name

✕ Never — dropped and alerted if it ever appears

  • patient name · ABHA number · MRN · phone
  • diagnosis or ICD text · lab values · medication names
  • note, summary or message content
  • full request or response bodies — never logged at any level

A real line, unredacted

{"ts":"2026-07-19T09:38:12Z","lvl":"error","svc":"db-pool","tenant":"t_krishna","code":"POOL_EXHAUSTED","op":"opd.queue.read","rec":"enc_9f13c4a8","dur_ms":1840,"schema_rev":213,"pool":"20/20"}

That is enough to diagnose the incident and not enough to identify a person. rec is an opaque id — turning it into a patient requires a query inside hos_krishna_multispeciality, which requires a break-glass grant with a reason, an expiry and an entry in the hospital's own audit log.

Three controls keep it that way: the structured logger takes fields, never an interpolated string; a CI test fails the build on any log call with template syntax in it; and a PHI-shaped scanner (name, phone, ABHA, ICD patterns) runs on the ingest pipeline and quarantines rather than stores. An error log is the easiest place in this whole architecture to lose the isolation guarantee, so it is the place with the most machinery.

Error log — grouped by fingerprint

One row per distinct failure, not one per event. Filter by tenant first — that is usually the answer.
8 fingerprints
Severity Tenant
Last seenSevServiceTenantMessage24h7dLinked
09:38 AM Error db-pool Krishna Multispeciality
rev 213
POOL_EXHAUSTED 20/20 · op=opd.queue.read · statement queued 1,840ms · missing rev-214 partial index 38214 TCK-4491
08:52 AM Warn whatsapp-gw Fleet 12 tenants SEND_RETRY · 429 rate_limited · provider=meta_cloud · auto-retry with backoff, 0 dropped 1,2041,204 INC-2026-070
08:14 AM Error whatsapp-gw Sunrise Children's Clinic RECIPIENT_LIST_STALE · rendered rev41, current rev42 · batch=rb_8821 · send halted 4141 INC-2026-071
04:02 AM Error ai-scribe Fleet 10 provisioned INFERENCE_TIMEOUT 20s · draft requeued · dropped=0 · provider p95 2.1s during window 6174 INC-2026-068
04:06 AM Error nhcx-gw Sree Ramachandra CLAIM_SUBMIT_TIMEOUT 30s · no gateway ack · idempotency_key retained · claim_ref=CLM-1187 931 —
Yest · 11:12 PM Warn abdm-gw Aadhya Multispeciality ABHA_LINK_VERIFY_TIMEOUT · M2 sandbox · retry scheduled · non-blocking for the visit 1496 —
16 Jul · 02:41 AM Error backup Vasavi Nursing Home PG_DUMP_ABORTED · ENOSPC · host=db-04 · retry succeeded 02:58 · window moved to 23:45 —1 INC-2026-069 · TCK-4486
09:05 AM Info migrator New Life Maternity SCHEMA_BUILD_OK · rev 214 · 214/214 migrations applied · fresh database, no backfill 22 —
Vasavi's backup window now runs at 23:45 instead of 02:00 to keep it off the hour when db-04 is under disk pressure — which is why its last backup in the Tenants table reads 17 Jul · 11:45 PM while everyone else's reads 18 Jul. It is not stale; it is deliberately earlier.

Tickets & issues

10 open across 9 tenants · median first response 11 min · 1 SLA breach this week · 34 tickets this month

Median first response
11m
↓ from 26m in May
SLA attainment
94%
32 of 34 this month
Breaches this week
1
TCK-4486 · overnight gap
Usage, not defect
41%
14 of 34 · routed to guidance
Owner-reported CSAT
4.8
of 5 · 22 responses

Open queue

Across all 12 tenants · sorted by SLA headroom, not by age
TicketTenantReported byIssueSevAge1st replySLAClassOwner
TCK-4490 Sunrise Children's Miyapur Owner Some appointment reminders reached the wrong numbers S1 1h 34m4m Within · 15m Defect Karthik
TCK-4491 Krishna Multispeciality Sangareddy Owner OPD queue takes five seconds to load every morning S2 1h 12m6m Within · 30m Defect Karthik
TCK-4482 Sri Venkateshwara Kukatpally Billing clerk GST invoice #INV-2291 failed to generate S2 5h 02m3m Within · 30m Defect Karthik
TCK-4486 Vasavi Nursing Home Nizamabad Owner Email said last night's backup failed S2 3d 6h1h 48m Breached · 30m Defect Sandeep
TCK-4489 Sree Ramachandra Warangal Doctor Discharge summary keeps using the old physio schedule S3 2d 4h22m Within · 4h Defect Priya
TCK-4488 Aadhya Multispeciality Kompally Doctor "Where do I approve the AI note? I can't find the button" S3 3h 40m9m Within · 4h Usage Priya
TCK-4484 Fortune Multispeciality Suryapet · trial Owner "Two branches — can staff see both from one login?" S3 2d 1h7m Within · 4h Usage Karthik
TCK-4487 Sunrise Children's Miyapur Doctor "How do I set up the vaccination reminder template?" S4 1d 5h16m Within · 1 day Usage Priya
TCK-4485 City Care Hospital Nalgonda Billing clerk "Can we bulk-print all of today's GST invoices at once?" S4 1d 2h14m Within · 1 day Feature Priya
TCK-4483 Prashanth ENT Khammam · trial Doctor "Telugu prescription print is too formal for patients" S4 4d 3h18m Within · 1 day Feature Priya
Ticket titles are quoted as the customer wrote them, and the customer is a hospital employee — never a patient. Where a ticket needs a record to reproduce (TCK-4482), the investigation runs through a time-boxed break-glass grant with a reason, not through a support engineer browsing a database.

First-response SLA

The commitment in every contract, measured against itself
2 misses this month
SeverityTargetMedianVolume (mo)Attainment
S1 clinical work blocked15 min4m2100%
S2 money or data at risk30 min9m1191% · 1 miss
S3 workaround exists4 hours18m14100%
S4 question or request1 business day2h 10m786% · 1 miss

The one breach, and what changed because of it

TCK-4486 · Vasavi Nursing Home. The owner emailed at 02:50 AM after an automated backup-failure notice. On-call had no cover between 01:00 and 06:00 IST, so first response was 1h 48m against a 30-minute S2 target. The backup itself had already retried successfully at 02:58 — the customer spent an hour worried about data that was never at risk.

Preventive control: infrastructure alerts now page on-call directly and the owner-facing notice is delayed until after the first retry, so a hospital is never told about a failure we have already fixed. With four people covering 24×7 across 12 hospitals, the fix has to be in the alerting, not in asking someone to wake up.

The month’s second miss was an S4 request that sat over a long holiday weekend — same coverage gap, lower stakes. Two misses out of 34 is the 94% at the top of this screen; both were gaps in when we were awake, not in how we responded.

Defect or training?

The distinction that decides whether support scales past 25 hospitals
34 tickets this month
Defect — goes to engineering with a reproduction and a tenant id13 · 38%
Usage / training — the product works, the person has not been taught14 · 41%
Feature request — routed to the roadmap, and the requester is told which release7 · 21%

82.9% of Indian doctors have never taken any formal AI course (research/06). So 41% of this queue being education is not a support failure — it is the market. What matters is that those 14 tickets did not reach engineering as bugs, because a roadmap that absorbs training questions stops shipping.

Each one produces an artefact rather than just a reply: an in-app guidance step, a Training Sandbox scenario, or a line in the local-language onboarding script. Three of this month's 14 were the same question about approving an AI draft — that is now a first-run tooltip, and the same question should not appear a fourth time.

New hospital

One-click provisioning — schema, templates, WhatsApp number, AI keys and admin login created automatically.

Last run — Sunrise Children's Clinic

Completed · 4 min 12 sec
✓Create tenant schema & isolate database18s
✓Seed tariff master, GST config & discharge templates42s
✓Provision WhatsApp Business number51s
✓Configure AI Scribe & LLM keys (tenant-scoped)34s
✓Create admin login & send OTP22s
✓Seed default departments & bed board (1 ward)39s
✓Health check & smoke test (OPD token, Rx print, WhatsApp ping)46s
Total provisioning time4 min 12 sec
Run started 18 Jul 2026 · 03:08 AM — completed 03:12 AM · triggered by Karthik (HOS Ops)

Subscription lifecycle

Collection state per tenant, and the only two levers: suspend modules, restore modules
1 overdue · ₹40,000
HospitalMRRJul invoiceOverdueDunningStateControl
Sri Venkateshwara Kukatpally ₹51,000Paid 02 Jul— auto UPI mandate Active
Sree Ramachandra Warangal ₹40,000Paid 03 Jul— auto UPI mandate Active
Krishna Multispeciality Sangareddy ₹40,000Unpaid · INV-K-07199 days mandate bounced 10 Jul · reminder 3 of 3 sent 17 Jul Active · in dunning
Aadhya Multispeciality Kompally ₹32,000Paid 04 Jul— auto UPI mandate Active
City Care Hospital Nalgonda ₹30,000Paid 05 Jul— auto UPI mandate Active
Vasavi Nursing Home Nizamabad ₹30,000Due 21 Jul— NEFT, invoiced 15 Jul Active
Sunrise Children's Clinic Miyapur ₹8,000Paid 02 Jul— auto UPI · flagged on margin, not on payment Active
New Life Maternity Adilabad —First invoice on go-live— implementation · ₹75,000 one-time collected Implementing
Om Sai General Hospital Mahbubnagar —First invoice on go-live— implementation · ₹50,000 one-time collected Implementing

Suspension does

  • · turn off the module flags on that hospital's own screen — the same switches, no second mechanism
  • · land staff sessions on a "contact your owner" page instead of an error
  • · pause WhatsApp automations and stop all AI workers for that tenant
  • · notify the owner and their DPO with the amount and a one-click restore path

Suspension never

  • · deletes, detaches or archives a single row of the hospital's database
  • · withholds their data — export stays available throughout
  • · hides the audit log from the owner
  • · touches the nightly backup schedule
Owner data export — available in every subscription state Not switchable

That switch is checked and disabled because no HOS role has ever been given the ability to turn it off — not support, not ops, not the founder. Withholding a hospital's own records to force a payment would be a DPDP violation and, separately, the kind of thing that ends a company built on two states' worth of word of mouth. Suspension is a commercial lever; the data is not.


Last suspension, end to end

05 – 09 Mar 2026 · Vasavi Nursing Home. UPI mandate failed after a bank change; four reminders, then modules off on day 12. Restored 38 seconds after payment cleared, with zero data loss and no re-onboarding. Their admin downloaded a full data export twice while suspended — which is the whole point, and is the sentence to read out in a sales meeting when an owner asks what happens if they fall behind.

HOS internal team

Who can do what across every tenant — the governance layer behind break-glass.

NameRoleBreak-glass grantPricing editProvisioningLast active
Karthik R. Support L2 Yes No Yes 18 Jul · 03:12 AM
Priya Reddy Support L1 Yes No No 18 Jul · 11:20 PM
Sandeep K. Ops on-call Yes No No 16 Jul · 08:40 AM
Dr. G. Prakash (You) Founder · Superadmin Yes Yes Yes Now

Access grants

1 currently active · 4 expired
TicketHospitalGranted byReasonExpiryOwner audit visibility
BG-1042 Sri Venkateshwara Multi-Speciality Hospital Karthik (Support L2) Investigate failed GST invoice #INV-2291 per hospital request (support ticket #4482) 18 Jul 2026 · 06:00 PM Active — logged to owner
BG-1041 Aadhya Multispeciality Hospital Priya Reddy (Support L1) Debug WhatsApp delivery failure for token T-88 (ticket #4471) 18 Jul 2026 · 11:00 PM Expired — logged to owner
BG-1039 Sree Ramachandra Hospital Karthik (Support L2) Data migration verification post schema upgrade to v2.4.0 17 Jul 2026 · 09:00 PM Expired — logged to owner
BG-1037 Vasavi Nursing Home Sandeep (Ops on-call) Investigate nightly backup failure alert (ticket #4438) 16 Jul 2026 · 08:00 AM Expired — logged to owner
BG-1035 City Care Hospital Priya Reddy (Support L1) Billing reconciliation support — outstanding AR mismatch (ticket #4402) 15 Jul 2026 · 06:00 PM Expired — logged to owner