Team VishwaSena · Ignisia 2026 · Healthcare Track
HC01 is a real-time AI clinical decision support system for ICU wards. It ingests patient vitals, labs, medications, and clinical notes, runs a multi-agent diagnostic pipeline powered by NVIDIA NIM, and delivers a full clinical report with voice output in under 60 seconds.
nv-embedqa-e5-v5 embeddings + ChromaDB, retrieves top-5 relevant guidelines per patient and explains their relevance in context| Layer | Technology |
|---|---|
| Backend | Python 3.11, FastAPI, Uvicorn |
| Frontend | Vanilla JS + Chart.js (single HTML, no build step) |
| LLM — Synthesis | Nemotron 3-Super 120B (NVIDIA NIM) |
| LLM — Assistant | Llama 3 8B (NVIDIA NIM) |
| LLM — Voice | Qwen 2.5 7B (NVIDIA NIM) |
| Embeddings | nv-embedqa-e5-v5 (NVIDIA NIM) |
| STT | NVIDIA Riva gRPC — Whisper Large v3 |
| TTS | Microsoft Neural edge-tts (MP3) |
| RAG store | ChromaDB + sentence-transformers |
| Data | MIMIC-III CSVs + FHIR R4 JSON bundle |
| Validation | Pydantic v2 (physiological range checks) |
PatientData (unified object)
│
├── PHASE 1 [parallel]
│ NOTE_PARSER · OUTLIER_DETECTOR · TREND_CLASSIFIER · TEMPORAL_LAB_MAPPER
│
├── PHASE 2 [safety, parallel]
│ MED_SAFETY · ALERT_ESCALATION
│
├── PHASE 3 [parallel]
│ TRAJECTORY_PREDICTOR · SEMANTIC_RETRIEVER · FAMILY_COMMUNICATOR
│
├── PHASE 4 SOFA_NEWS2 scoring
│
└── PHASE 5 CHIEF_AGENT (Nemotron 120B) — streams token-by-token
Results stream over WebSocket as each agent completes. The UI updates live — no waiting for the full pipeline.
Requirements: conda, NVIDIA NIM API key
# 1. Create environment
conda create -n hc01 python=3.11
conda activate hc01
pip install -r requirements.txt
pip install edge-tts
# 2. Configure keys
cp .env.example .env
# Edit .env — add your NIM API key(s)
# 3. Add MIMIC-III data (requires PhysioNet access)
# Place CSVs in data/mimic/
# 4. Start server
uvicorn app.main:app --port 8000
# 5. Open frontend
# Open hc01-icu-assistant.html in a browser
| Endpoint | Method | Description |
|---|---|---|
/api/fhir-local/patients | GET | List all 120 FHIR patients |
/api/fhir-local/patient/{id} | GET | Full patient record |
/api/fhir-local/diagnose/{id} | POST | Run full analysis (blocking) |
/ws/diagnose | WebSocket | Run full analysis (streaming) |
/api/priority-queue | GET | All patients ranked by SOFA |
/api/assistant/query | POST | Ward chatbot |
/api/voice/synthesize | POST | Text → MP3 speech |
/api/voice/transcribe | POST | Audio → transcript |
/api/health | GET | System status |
Diagnosis hold on outliers — if the latest lab value is a statistical outlier (Z > 2.5 vs prior readings), the system explicitly defers the working diagnosis and requires a confirmed redraw. This prevents acting on transcription errors or mislabeled samples.
Medication-aware SOFA — the cardiovascular component reads the medication list for vasopressors (norepinephrine, vasopressin, dopamine) rather than relying on a separate pressor flag field, making it robust to varied input formats.
No frontend build step — the entire UI is one HTML file. Intentional for demo reliability — no npm, no bundler, no broken deps at crunch time.
Async agents with shared context — agents communicate through a single AgentContext object passed by reference. No message queues, no inter-process communication. Results are available to downstream agents immediately.
See HC01_DATA_MODEL_SIMPLE.md for a concise overview.
See HC01_DATA_MODEL.md for full field-level schemas and protocol details.
VishwaSena — Ignisia 2026 Hackathon
18 commits
2 commits
Python
78.1%
HTML
20.5%
Shell
1.4%
Team VishwaSena · Ignisia 2026 · Healthcare Track
HC01 is a real-time AI clinical decision support system for ICU wards. It ingests patient vitals, labs, medications, and clinical notes, runs a multi-agent diagnostic pipeline powered by NVIDIA NIM, and delivers a full clinical report with voice output in under 60 seconds.
nv-embedqa-e5-v5 embeddings + ChromaDB, retrieves top-5 relevant guidelines per patient and explains their relevance in context| Layer | Technology |
|---|---|
| Backend | Python 3.11, FastAPI, Uvicorn |
| Frontend | Vanilla JS + Chart.js (single HTML, no build step) |
| LLM — Synthesis | Nemotron 3-Super 120B (NVIDIA NIM) |
| LLM — Assistant | Llama 3 8B (NVIDIA NIM) |
| LLM — Voice | Qwen 2.5 7B (NVIDIA NIM) |
| Embeddings | nv-embedqa-e5-v5 (NVIDIA NIM) |
| STT | NVIDIA Riva gRPC — Whisper Large v3 |
| TTS | Microsoft Neural edge-tts (MP3) |
| RAG store | ChromaDB + sentence-transformers |
| Data | MIMIC-III CSVs + FHIR R4 JSON bundle |
| Validation | Pydantic v2 (physiological range checks) |
PatientData (unified object)
│
├── PHASE 1 [parallel]
│ NOTE_PARSER · OUTLIER_DETECTOR · TREND_CLASSIFIER · TEMPORAL_LAB_MAPPER
│
├── PHASE 2 [safety, parallel]
│ MED_SAFETY · ALERT_ESCALATION
│
├── PHASE 3 [parallel]
│ TRAJECTORY_PREDICTOR · SEMANTIC_RETRIEVER · FAMILY_COMMUNICATOR
│
├── PHASE 4 SOFA_NEWS2 scoring
│
└── PHASE 5 CHIEF_AGENT (Nemotron 120B) — streams token-by-token
Results stream over WebSocket as each agent completes. The UI updates live — no waiting for the full pipeline.
Requirements: conda, NVIDIA NIM API key
# 1. Create environment
conda create -n hc01 python=3.11
conda activate hc01
pip install -r requirements.txt
pip install edge-tts
# 2. Configure keys
cp .env.example .env
# Edit .env — add your NIM API key(s)
# 3. Add MIMIC-III data (requires PhysioNet access)
# Place CSVs in data/mimic/
# 4. Start server
uvicorn app.main:app --port 8000
# 5. Open frontend
# Open hc01-icu-assistant.html in a browser
| Endpoint | Method | Description |
|---|---|---|
/api/fhir-local/patients | GET | List all 120 FHIR patients |
/api/fhir-local/patient/{id} | GET | Full patient record |
/api/fhir-local/diagnose/{id} | POST | Run full analysis (blocking) |
/ws/diagnose | WebSocket | Run full analysis (streaming) |
/api/priority-queue | GET | All patients ranked by SOFA |
/api/assistant/query | POST | Ward chatbot |
/api/voice/synthesize | POST | Text → MP3 speech |
/api/voice/transcribe | POST | Audio → transcript |
/api/health | GET | System status |
Diagnosis hold on outliers — if the latest lab value is a statistical outlier (Z > 2.5 vs prior readings), the system explicitly defers the working diagnosis and requires a confirmed redraw. This prevents acting on transcription errors or mislabeled samples.
Medication-aware SOFA — the cardiovascular component reads the medication list for vasopressors (norepinephrine, vasopressin, dopamine) rather than relying on a separate pressor flag field, making it robust to varied input formats.
No frontend build step — the entire UI is one HTML file. Intentional for demo reliability — no npm, no bundler, no broken deps at crunch time.
Async agents with shared context — agents communicate through a single AgentContext object passed by reference. No message queues, no inter-process communication. Results are available to downstream agents immediately.
See HC01_DATA_MODEL_SIMPLE.md for a concise overview.
See HC01_DATA_MODEL.md for full field-level schemas and protocol details.
VishwaSena — Ignisia 2026 Hackathon
18 commits
2 commits
Python
78.1%
HTML
20.5%
Shell
1.4%