Suvidha — Healthcare Referral Copilot
"Suvidha" means ease in Hindi. Finding the right hospital in a crisis should be easy.
The Problem
In India, when someone faces a medical emergency — a fracture, a complicated pregnancy, a child with a high fever — their first question is "which hospital do I go to?" With over 70,000 registered hospitals across the country, the answer is rarely obvious. People call relatives, search Google, get outdated or irrelevant results, or simply walk into the nearest facility regardless of whether it has the right specialists or equipment.
The challenge isn't just finding a hospital. It's finding the right one — one that has the specific capability, is close enough to reach in time, and where the data can actually be trusted. Health facility records in India are frequently incomplete: missing doctor counts, no source URLs, specialties listed with no corroboration elsewhere. A referral based on bad data can cost lives.
What We Built
Suvidha is a conversational AI referral copilot built on Databricks. You describe your situation in plain language — "I have ear pain near Hyderabad", "maternity near Ranchi, government only", "hospitals near Shimla" — and Suvidha finds the right facilities, ranks them by relevance and proximity, and shows you exactly why each one was recommended and what to verify before you go.
No forms. No dropdowns. Just a conversation.
Key Features
Conversational search — Powered by Claude 3.7 Sonnet via the Databricks Foundation Model API. Understands symptoms, maps them to medical specialties, extracts location from natural language, and handles multi-turn conversations across cities and care needs.
Symptom → Specialty routing — "leg injury" routes to orthopedics. "Ear pain" routes to ENT. "Fever and body ache" routes to general medicine. "Can't breathe" routes to pulmonology with urgency. The LLM handles the mapping; the app runs the search.
Show-all fallback — If no specific condition is mentioned, Suvidha shows all clinical hospitals within 25 km sorted by distance. No need to know the right medical term to get started.
Semantic + keyword ranking — Results are ranked by a blended score combining keyword matches across five evidence fields (specialties, description, capability, procedure, equipment), Databricks Vector Search semantic similarity, and historical save-counts from user interactions. The formula: blended = kw_score + 0.40 × sem_score + 0.50 × feedback_score.
Evidence engine — Every result shows matching evidence (which fields had keyword hits), missing evidence (incomplete data fields flagged), and suspicious signals (specialty claimed but not corroborated). Each facility gets a trust badge: Strong Evidence, Partial Evidence, or Needs Verification. This turns a list into a decision aid.
Government / Private filter — Say "show only government" or "show only private" at any time. The filter applies instantly without re-running the search.
Shortlist & compare — Save facilities during the session and compare up to three side-by-side to support referral decisions.
Smart geocoding — Nominatim (OpenStreetMap) is the primary geocoder, handling old city names (Bombay → Mumbai, Calcutta → Kolkata), neighborhoods, and PIN codes. Results are cached in a Delta table so repeated lookups are instant. Only facilities with reliable coordinates (ORIGINAL or POSTCODE geo_source) are distance-filtered; facilities with estimated coordinates (CITY_AVG / STATE_AVG) are matched by city name instead, preventing small cities from returning zero results.
How It's Built
Data pipeline (Medallion architecture) The official hackathon dataset of ~10,000 Indian healthcare facilities flows through a Bronze → Silver pipeline built in Databricks SQL. The Silver layer expands camelCase specialty codes into readable text, enriches missing coordinates through a priority chain (Nominatim → PIN code centroid → city average → state average), and tracks coordinate reliability via a geo_source column. A Databricks Vector Search index is built over the five unstructured text fields for semantic retrieval.
Three-tool agent pattern The SupervisorAgent (src/agent.py) orchestrates three tools in a single pass:
- Geo Tool — resolves the user's location to coordinates and a canonical city name
- RAG Tool — queries Databricks Vector Search for semantic similarity scores (top 300 results, normalised to 0–1)
- Feedback Tool — retrieves historical save-count boosts from a Delta table
All three signals are blended per facility, geo-filtered, and ranked in one in-memory pass over the Silver table.
Conversational layer Claude 3.7 Sonnet handles intent detection, symptom-to-specialty mapping, multi-turn context, and filter commands. The current message always takes priority over history — asking about Mumbai after a Jaipur search correctly uses Mumbai, not Jaipur.
Tech stack Databricks Apps (Gradio) · Claude 3.7 Sonnet (Foundation Model API) · Databricks Vector Search · Unity Catalog · Databricks SQL Warehouse · OpenStreetMap Nominatim · pandas
Impact
Suvidha is built for the last-mile referral problem — a health worker in a rural block, a family in a tier-2 city, a patient who doesn't know the difference between a nephrologist and a urologist. It meets people where they are, in the language they speak, without requiring medical literacy to operate.
By surfacing missing and suspicious data explicitly, it also addresses a systemic problem: health facility records are often self-reported and unverified. Suvidha doesn't pretend the data is clean. It shows you what's there, what's missing, and what to double-check — so every referral is an informed one.
Log in or sign up for Devpost to join the conversation.