FHIR Care Navigator
FHIR Care Navigator ingests patient context from FHIR resources and assembles a clinician-ready care brief in seconds. It coordinates specialized agents for context reading, summarization, risk and gap detection, medication reconciliation, and safety review, then outputs a structured summary with citations back to the source data. The result can be used for pre-visit planning, discharge follow-up, care coordination, or shared with a patient in simpler language.
Inspiration
We kept coming back to the same problem: healthcare data is technically available, but still painfully hard to use at the point of care. A chart can contain everything and still leave a clinician digging through tabs, timelines, and notes just to answer basic questions before a visit. We wanted to build something that turns that chaos into a clear, actionable brief in the time it takes to open the chart.
What it does
FHIR Care Navigator ingests patient context from FHIR resources and assembles a clinician-ready care brief in seconds. It coordinates specialized agents for context reading, summarization, risk and gap detection, medication reconciliation, and safety review, then outputs a structured summary with citations back to the source data. The result can be used for pre-visit planning, discharge follow-up, care coordination, or shared with a patient in simpler language.
How we built it
We built the frontend with Next.js 14, TypeScript, Tailwind CSS, shadcn/ui, and Zustand for state management, with forms and validation handled by React Hook Form and Zod. The backend uses FastAPI, Python 3.11, Pydantic, and Uvicorn, with SQLite and Prisma for persistence, and Docker for packaging the demo. We used mock FHIR JSON fixtures to simulate real patient bundles and designed the pipeline so each agent produces structured intermediate output that feeds the next step, plus an optional MCP tool adapter for medication interaction lookup.
Challenges
The hardest part was making the agent workflow feel reliable instead of like a black box. We had to normalize messy FHIR resources into a consistent working context, keep the outputs structured across agents, and make sure the system could admit uncertainty instead of confidently guessing. Another challenge was balancing speed with clinical usefulness, because the brief had to stay concise while still surfacing the details that matter.
Accomplishments
We’re proud that the project doesn’t just summarize data, it actually collaborates across agents to produce something a clinician could use. The source traceability was a big win, because every section of the brief can point back to the FHIR resources that informed it. We also built safety guardrails that escalate to review-needed when the data is incomplete or confidence is low, which feels essential for a healthcare tool.
What we learned
We learned that interoperability is only the first step; the real value comes from transforming standardized data into workflow-ready output. We also learned how important it is to design agent systems with structure, traceability, and failure states from the start. Most of all, we got a much deeper appreciation for how much cognitive load healthcare teams carry just to make sense of a patient chart.
What’s next
Next, we want to connect to live FHIR sources and expand the MCP toolset so the agents can pull in richer medication and guideline checks. We’d also like to add more specialty-specific briefs, better clinician customization, and tighter integration with EHR workflows. Longer term, we want this to become a practical last-mile layer that helps teams act faster without losing trust or context.
Built With
- a2a
- chart.js
- date-fns
- docker
- fastapi
- fhir
- framer-motion
- lucide-react
- mcp
- next.js-14
- prisma
- pydantic
- python-3.11
- react-hook-form
- shadcn/ui
- sqlite
- tailwind-css
- typescript
- uvicorn
- zod
- zustand
Log in or sign up for Devpost to join the conversation.