← Back to Portfolio
Case Study

MediAgent AI

Multi-agent clinical decision support that triages patients before they see a doctor.

Problem

Hospital intake and triage are slow, manual, and easy to get wrong.

Patients often struggle to describe symptoms clearly, and hospital staff spend real time on routing and prioritization that could be assisted by structured, explainable AI — without handing over the actual clinical decision to a model.

Solution

A chain of specialized agents, not one big prompt.

An agentic clinical decision-support platform where a pipeline of specialized AI agents — Intake, then Triage, then Recommendation — handles symptom structuring, urgency scoring, and department routing in turn, backed by live OpenFDA drug-interaction checks and voice-assisted intake for accessibility.

Architecture
Frontend
Streamlit — role-based Patient / Staff portals
→
Backend
Python application logic
→
AI / ML
LangChain agents on Groq Llama + Whisper + RAG chat
→
Database
SQLite — cases, profiles, history
→
Deployment
Streamlit Community Cloud
Technical Decisions

A multi-agent pipeline over a single prompt

Splitting Intake, Triage, and Recommendation into separate agents means each has one job, is independently testable, and its output stays explainable. A single “diagnose this” prompt would blend structuring, judgment, and recommendation into one opaque step.

OpenFDA over a static drug database

Interaction data needs to stay current with real drug labeling, so the checker calls OpenFDA live rather than shipping a dataset that goes stale the day it's built.

SQLite over a hosted database

Appropriate for the platform's current scope — patient history, case tracking, and department routing don't yet need multi-instance concurrency, and SQLite keeps the deployment simple.

Challenges

Keeping AI assessments explainable, not just confident

Emergency detection needed an urgency score and a separate confidence score, not just a verdict, so a flagged case can be audited by a human reviewer instead of trusted blindly.

Voice intake has to fail gracefully

Transcription needs to degrade cleanly into the manual symptom-entry path when speech-to-text extraction is ambiguous, rather than silently mis-populating the intake form with a bad guess.

Implementation

One case record feeds every downstream view.

The recommendation agent's output feeds both a downloadable PDF clinical report and the doctor portal's priority queue from the same underlying case record, so the two views can't drift out of sync. Lab-report analysis reuses the same OCR-to-AI-interpretation pattern as the intake flow, rather than a separate one-off pipeline.

Results
13Hospital departments routed
3Specialized agents in pipeline
LiveOpenFDA interaction checks
VoiceIntake via Groq Whisper
Links