Inspiration
Sepsis kills 270,000 Americans annually — yet 80% of cases are preventable with early detection. Clinicians face alert fatigue from blunt threshold alarms, and critical context is buried across disconnected EHR systems. We wanted to build something that doesn't just alarm — it explains, prioritizes, and acts.
What it does
Sepsis Sentinel is a real-time clinical early-warning system powered by five specialized AI agents:
- Signal Interpreter — ingests live FHIR patient vitals (HR, SpO₂, MAP, lactate, WBC, creatinine) and extracts structured clinical features
- Risk Engine — computes a weighted sepsis risk score with confidence intervals and trend analysis
- *Rationale Builder *— generates an explainable clinical narrative in plain language a nurse can act on in seconds
- Care Plan Composer — produces prioritized, role-stratified action items (RN tasks vs. MD sign-off cards)
- Safety Audit Guard — maintains a tamper-proof SHA-256 hash chain of every agent decision for compliance and traceability
All agents collaborate through a shared MCP server, pulling real patient data from any FHIR R4-compliant EHR via SMART on FHIR. Gemini generates narrative polish with OpenAI as automatic fallback.
How we built it
- Orchestration: Prompt Opinion platform with a BYO Agent (Gemini) coordinating five external A2A agents
- Agent protocol: A2A v0.3.0 for inter-agent communication; MCP (Streamable HTTP) for tool exposure
- FHIR integration: SHARP headers flow from PO's FHIR context extension into MCP tool calls; LOINC-coded observation fetching with token auto-refresh
- **Backend: TypeScript monorepo (pnpm workspaces), Fastify, deployed on Render
- AI: Google Gemini (gemini-3.1-flash-lite-preview) as primary, OpenAI GPT-4o-mini as fallback
- Audit: Deterministic SHA-256 hash chain per session; each event links to its predecessor
- Real-time UI: Server-Sent Events push care plan updates to the clinician dashboard
- Agent protocol: A2A v0.3.0 for inter-agent communication; MCP (Streamable HTTP) for tool exposure
Challenges we ran into
- A2A agent card format: PO required supportedInterfaces as objects with url, protocolBinding, and protocolVersion — under documented and discovered through trial and error
- MCP tool chaining: The LLM would drop intermediate parameters (turnId, features, rationale) between tool calls — solved by persisting all state server-side keyed by demoSessionId
- PO FHIR extension: Had to declare capabilities under extensions (not experimental) for PO to enable SHARP header injection
- Real vs. fixture data: Pediatric test patients had no sepsis-range observations — built graceful fallback to scenario fixtures while preserving real patient identity
- Build ordering in CI: Core package must compile before dependent services in a monorepo — render.yaml build commands had to be sequenced explicitly
Accomplishments that we're proud of
- End-to-end pipeline: real FHIR patient → risk score → explainable narrative → prioritized care plan in under 10 seconds
- Tamper-proof audit trail that survives agent restarts — every clinical decision is hash-linked and verifiable
- Five independently deployable agents that compose seamlessly through standard protocols (A2A + MCP)
- Graceful degradation at every layer: FHIR → fixture fallback, Gemini → OpenAI fallback, real vitals → calculated MAP fallback
What we learned
- MCP is powerful but stateless by design — clinical workflows need server-side session state to survive multi-turn LLM conversations
- SMART on FHIR + SHARP headers is the right abstraction for EHR-agnostic AI tools — once wired up, the same agent works against any R4-compliant EHR
- Explainability isn't a feature — for clinical AI, it's the product. The narrative matters as much as the score
- A2A protocol enables genuine agent specialization; each agent owns one concern and does it well
What's next for Sepsis Sentinel — Multi-Agent Clinical Early Warning System
- qSOFA and SOFA scoring with organ dysfunction tracking over time
- Medication context: flag patients on immunosuppressants or antibiotics that mask fever
- EHR write-back: push approved care plan items as FHIR Task resources directly into the EHR workflow
- Shift-handoff summaries: auto-generated SBAR notes for care transitions
- Multi-patient dashboard: ICU-wide risk ranking across an entire unit
Built With
- a2a
- events
- fastify
- gemini
- gpt-4o-mini
- mcp
- node.js
- openai
- pnpm
- promptopinion
- render
- server-sent
- typescript
- zod
Log in or sign up for Devpost to join the conversation.