How jaikumarpaswan/health-navigator works
AI Personal Health Navigator is an India-focused, safety-first health assistant. A user submits a question or lab report through Gradio; the orchestrator applies pre-query safety checks, classifies intent, dispatches specialist work, validates outputs, assembles a response, and saves conversation state. The main domain branches cover symptom analysis and follow-up research, nearby care discovery, government scheme guidance, report explanation, and medication information. Scheme guidance uses an indexed document store; research and care discovery use external services. The graph and README document these capabilities, but several agent implementations and the full UI handler were not sampled, so uncertain internal wiring is omitted.
Main entry points: graph.py Health graph · litellm_config.py LLM gateway · research_agent.py Medical research · doctor_finder.py Doctor finder
Components 20
User Experience
- Gradio chat
app/main.py
Orchestration & Safety
- Health graph
src/orchestrator/graph.py - Shared state
src/orchestrator/state.py - Medical guardrails
src/guardrails/medical_guardrails.py
Health Specialists
- Symptom analyst
src/agents/symptom_analyst.py - Medical research
src/agents/research_agent.py - Doctor finder
src/agents/doctor_finder.py - Scheme navigator
src/agents/scheme_navigator.py - Report explainer
src/agents/report_explainer.py - Medication info
src/agents/medication_agent.py
Knowledge & Memory
- Health PDFs
src/data/documents - PDF ingestion
src/rag/ingest.py - Scheme index
src/data - Session store
src/memory/session_store.py - SQLite database
src/data/health_navigator.db
External Services
- LLM gateway
src/gateway/litellm_config.py - LLM providers
- Tavily search
- OpenStreetMap
Other components
- Health seeker
Connections 27
- Health seeker → Gradio chat: submits query
- Gradio chat → Health graph: sends interaction
- Health graph → Shared state: updates state
- Health graph → Medical guardrails: checks safety
- Health graph → Symptom analyst: dispatches intent
- Health graph → Medical research: dispatches intent
- Health graph → Doctor finder: dispatches intent
- Health graph → Scheme navigator: dispatches intent
- Health graph → Report explainer: dispatches intent
- Health graph → Medication info: dispatches intent
- Symptom analyst → Medical research: requests research
- Medical research → Doctor finder: provides care context
- Medical research → Tavily search: searches sources
- Doctor finder → OpenStreetMap: queries facilities
- Scheme navigator → Scheme index: retrieves guidance
- Health PDFs → PDF ingestion: supplies source PDFs
- PDF ingestion → Scheme index: builds index
- Symptom analyst → LLM gateway: requests model output
- Medical research → LLM gateway: requests model output
- Doctor finder → LLM gateway: requests model output
- Scheme navigator → LLM gateway: requests model output
- Report explainer → LLM gateway: requests model output
- Medication info → LLM gateway: requests model output
- LLM gateway → LLM providers: routes model calls
- Health graph → Session store: saves session
- Session store → SQLite database: reads and writes
- Health graph → Gradio chat: returns response