"Hospitality.ai" — Insurance-Aware Care Navigator
An insurance-aware hospital and treatment navigation system built for the GE HealthCare Precision Care Challenge 2026. It parses health-insurance policy documents into normalized structures, explains coverage in plain language with source-traceable citations tagged exact, fuzzy, or unverified, ranks hospitals and room categories against policy terms using a deterministic weighted score with a full audit trail, and guides users through admission, investigation, procedure, and recovery with policy-grounded assistance. Runs offline in a demo mode with pre-authored extractions when no API key is set.
- My role
- Solo — product, design system, AI services, matching engine, tests
- Built for
- GE HealthCare Precision Care Challenge 2026 · Aug–Sep 2026
“Let the model read the policy. Never let it do the arithmetic on somebody’s hospital bill.”
The Brief
During a medical emergency, nobody has time to read forty pages of insurance clauses — yet those clauses decide what a family pays. The worst surprise in the Indian market is proportionate deduction: pick a room over the policy’s cap and every associated charge is scaled down, often costing far more than the room difference itself.
An AI that summarises a policy is easy to build and dangerous to trust. The product had to be decision support that can prove every statement, and that says plainly what it doesn’t know.
The Approach
Three components, each doing only what it should. A policy agent extracts the document into a validated schema with messages.parse() and Zod; the document goes in with line numbers, and every claim comes back with a verbatim quote and a line range that is re-verified against the source and stamped exact, fuzzy or unverified — the UI renders all three differently.
The hospital and room matching engine is deterministic TypeScript: room fit, proportionate deduction, sub-limits, co-pay, deductibles, out-of-network haircuts and the sum insured, ranked by a fixed weighted formula whose full breakdown is shown under “Why this rank”. The model only narrates the result, streamed in behind a list that has already painted. A four-stage journey copilot (admission → investigation → procedure → recovery) surfaces policy-grounded guidance, like the 48-hour pre-authorisation window, while the patient can still act on it.
How It Works
- 01Policy PDFrebuilt line by line from glyphs
- 02Policy agentZod-validated extraction + quotes
- 03Verifierexact / fuzzy / unverified
- 04Matching enginedeterministic cost + rank
- 05Copilotstage guidance, streamed
Key Decisions
Semantic extraction, deterministic money
Clauses like co-pay ordering and scheme exclusivity are semantic, so extraction is delegated to the model. Resolved caps (1% of ₹5,00,000 → ₹5,000/day) and every rupee of the bill are computed in code.
Gaps, not guesses
Anything the document doesn’t say goes into a visible gaps list instead of being filled with what is “usually” true. A non-dismissible disclosure sits on every screen.
One stream, two payloads
Newline-delimited JSON carries the structured ranking and the narration’s token deltas in one response, flushed on animation frames so the screen stays calm.
Works with no key at all
Without an API key the app runs end to end in Demo Mode on pre-authored extractions of three sample policies — and still runs every citation through the same verifier.
- Everything is synthetic — the policies, the 14 Bengaluru hospitals and their tariffs are invented.
- Scanned PDFs are not read (no OCR); distances are straight-line, not drive time.
- Rate limits are per instance unless Redis is configured.