Inspiration

Our inspiration came directly from the Clearwater Ridge case, especially the cardiology incident where a missed follow-up appointment went unnoticed and led to a preventable emergency airlift. What stood out to us wasn’t just the severity of the outcome, but how ordinary the failure was—a referral was missed, no one noticed, and there was no system to catch it.

As we dug deeper, we realized this wasn’t about a lack of care or effort from nurses. It was about a system that relies on phone calls, paper, and memory, which breaks down easily during winter storms, transportation disruptions, or staff overload. We wanted to build something that assumes disruptions will happen and still ensures patients don’t fall through the cracks.

What it does

Our project is a closed-loop referral and follow-up tracker designed for nurses in Clearwater Ridge.

It gives nurses: A calendar view of all referral appointments (daily, weekly, monthly) An action-focused dashboard that clearly shows:

Upcoming referral appointments Missed appointments that need follow-up Flagged patients where automated outreach failed and nurse action is required

When a referral appointment is missed, the system doesn’t stop at detection. Nurses can trigger an AI-powered outbound call that attempts to reach the patient and reschedule. If the agent succeeds, the appointment is updated and the patient receives a new Google Calendar invite. If it fails, the system automatically flags the patient so a nurse can follow up manually.

The goal is simple: every referral ends in a resolution—rescheduled, completed, or escalated—never forgotten.

How we built it

We built the system as a lightweight, realistic web application:

Frontend: A tablet-friendly React app designed for nurses, with a clear calendar and dashboard that prioritize action over data overload.

Backend: A FastAPI service that handles appointment logic, status transitions, and integration with external services.

Database: Supabase Postgres as the single source of truth for patients, appointments, call attempts, and flags.

AI agent integration: An outbound voice agent that attempts to contact patients after missed appointments and reports outcomes back to the backend.

Calendar integration: Google Calendar API to send patients updated appointment invites when rescheduling occurs.

We focused on building a complete end-to-end workflow rather than a large number of features, so the core loop actually works.

Challenges we ran into:

Integrating the AI agent with the backend Designing clean handoffs between the AI agent and our backend was challenging. We had to think carefully about how call outcomes (no answer, reschedule success, failure) map to appointment statuses and how to avoid ambiguous states.

Frontend and backend integration

Getting the dashboard to reflect backend state accurately took iteration. We needed to align frontend expectations with backend responses so that actions like “Activate Agent Call” or “Resolve Flag” immediately updated what nurses see.

Database integration with the AI agent

Ensuring that agent outcomes updated the correct appointment records—and didn’t leave partial or inconsistent data—forced us to think more carefully about state transitions and error handling than we initially expected.

Accomplishments that we’re proud of

Building a true closed-loop workflow where missed referrals can’t silently disappear.

Designing an initiative-based dashboard that tells nurses what needs action now, not just what exists in the system.

Integrating automated outreach in a way that supports nurses instead of replacing them.

Delivering a working prototype that clearly demonstrates real-world feasibility within rural healthcare constraints.

What we learned

We learned that in healthcare, the hardest problems aren’t usually technical—they’re about coordination, visibility, and trust. Automation is only useful if it escalates cleanly to humans when things go wrong. We also learned how important it is to design systems around how people actually work, especially in high-stress, resource-constrained environments.

Most importantly, we learned that solving one problem deeply—closing the loop on referrals—can have a much bigger impact than trying to solve everything at once.

Built With

Share this project:

Updates