Inspiration

Every day in acute care hospitals, medically cleared patients sit trapped in hospital beds for an average of 2.4 "excess days" waiting for an open Skilled Nursing Facility (SNF) bed. This delay costs hospitals over $4.8 million annually and leaves emergency departments gridlocked with admitted patients boarding in hallways.

Digital referral portals (like CarePort or NaviHealth) fail because they simply blast broadcast faxes that sit unread in crowded email inboxes. SNF admissions directors only review charts when someone calls them directly to confirm clinical capabilities and payer fit. Hospital social workers and case managers are forced to spend 3 to 5 hours a day on hold playing phone tag with dozens of facilities. We built DischargePulse to turn CALL-E into an autonomous healthcare operations agent that solves this throughput crisis.

What it does

DischargePulse acts as an autonomous assistant for hospital case managers:

  1. Separates Hard Constraints from Soft Preferences: Distinguishes mandatory care requirements (Wound VAC, IV ceftriaxone, Medicare Advantage, female bed) from soft optimization preferences (CMS star rating, distance).
  2. Autonomous Telephony with CALL-E: Deploys CALL-E as a first-class telephone actuator with dynamic, typed extraction schemas (wound_vac: "yes" | "no" | "unknown"), calling regional admissions desks concurrently.
  3. Contradiction Detection: Dynamically detects when live phone conversations contradict stale directory data ("The directory says Wound VAC is available, but the facility confirmed their night nurse lacks certification tonight").
  4. Dynamic Re-Planning & Sister Facility Discovery: If a facility says "we're full, but our sister campus Oakridge has beds", the agent extracts the lead, widens its search, and automatically queues Oakridge into the calling pipeline.
  5. Bounded LLM Review (Claude on Bedrock / Anthropic): Reviews transcripts for spoken caveats. By design, the LLM can only make findings more cautious using verbatim quotes—it can never hallucinate a confirmation or approve a placement.
  6. Human-in-the-Loop Governance & PDF Generation: Consequential placement actions strictly require case manager approval. With 1 click, the case manager approves the verified match, generating a stamped, downloadable Clinical Referral Packet PDF.

How we built it

  • Backend: Python 3.14 + FastAPI orchestrating the closed-loop state machine (Plan → Act → Observe → Reason → Re-Plan).
  • Telephony Actuator: Direct integration with the @call-e/calle REST API and SDK, featuring dynamic JSON schema generation, E.164 regional routing, budget ceiling guards, and recorded cassette replay.
  • LLM Guardrails: Claude 3.5 Sonnet (via Amazon Bedrock / Anthropic API) bounded by strict verification rules and verbatim quote enforcement.
  • Referral Packet Service: ReportLab-powered PDF generation with de-identified synthetic clinical face-sheets and complete provenance watermarks.
  • Frontend: React + Vite + Tailwind CSS + Lucide React featuring real-time WebSockets, dynamic Bed Intelligence Matrix, audio waveform player, interactive radius map, and agent cognitive stream.
  • Testing: 250 automated unit and integration tests passing with 100% coverage across agent planning, API lifecycles, contradiction detection, and telephony guards.

Challenges we ran into

  • Telephony Audio on Stand-in Lines: Calling real nursing facilities with synthetic patient data is unethical, but test hotline numbers occasionally answered with audio silence. We engineered a dual-mode actuator architecture (live, replay, simulated, scripted) with transparent provenance labeling so every single answer in the UI and PDF explicitly displays whether it originated from a live call or a labelled test scenario.
  • LLM Safety in Healthcare Ops: Language models can hallucinate positive confirmations. We strictly constrained the LLM reviewer to a unidirectional safety guard: it can only downgrade findings, must cite the facility verbatim, and can never authorize a transfer.
  • Schema Rigidity vs. Conversational Flow: Post-acute admissions desks have complex phone trees. We leveraged CALL-E's goal-driven prompt structure and dynamic tri-state enums to navigate receptionist deflections without brittle rigid scripts.

Accomplishments that we're proud of

  • 250 Passing Automated Tests: Engineered an enterprise-grade test suite verifying the entire agent loop, API endpoints, and safety guards in 16 seconds.
  • The "Aha!" Contradiction Moment: Proving our core thesis: Healthcare directories tell you what a facility can do; phone conversations tell you what it can do right now.
  • Zero-PHI Synthetic Architecture: Built an audit-ready prototype operating cleanly on de-identified synthetic test cases (e.g., Synthetic Patient #10482) with zero private data exposure.
  • True Closed-Loop Agency: Creating an agent that dynamically discovers sister facilities, expands geographic radii, and self-corrects based on phone dialogue.

What we learned

  • Phone calls are not just a communication channel; in fragmented B2B and healthcare industries, voice is a primary database query tool where structured APIs do not exist.
  • Agentic autonomy is far more powerful when paired with strict human approval gates for high-stakes decisions.
  • Bounding LLM outputs to verifiable extractive actions (like verbatim quote matching) eliminates hallucination risks in clinical workflows.

What's next for DischargePulse

  • EHR Integration: Building SMART-on-FHIR connectors to pull placement requirements directly from Epic and Cerner discharge orders.
  • Direct Secure Messaging / E-Fax: Integrating HIPAA-compliant e-fax APIs to dispatch approved referral packets directly to facility fax servers.
  • Non-Emergency Medical Transport (NEMT) Dispatch: Connecting verified discharge timestamps with local medical transit dispatchers to book wheelchair and gurney transport automatically upon facility acceptance.

Built With

  • api
  • claude-api
  • fastapi
  • react
Share this project:

Updates

Submission history