About the Project
What inspired us
This project started with a small, familiar failure: a patient was “supposed to follow up,” but between referrals, scheduling, transportation, and busy staff workflows, the responsibility became nobody’s single job—and the patient slipped through the cracks. That moment pushed us to zoom out from one missed appointment to the bigger pattern: care coordination failures are usually system failures, not individual ones.
We set our solution in Clearwater Ridge to reflect the realities of rural/remote care: limited staff, long travel distances, weather disruptions, and fragmented communication. We wanted something practical that helps teams prevent emergencies before they happen—without requiring a full hospital-grade EHR rebuild.
What we learned
Building this taught us that the hardest problems aren’t “coding problems,” they’re workflow problems:
- Risk is dynamic. A patient’s risk changes as tasks become overdue, transportation fails, or check-ins are missed.
- Good alerts are careful. Too many notifications become noise. We learned to design escalations that are explainable and actionable.
- we designed flows that share only what’s necessary, to the right role, at the right time.
How we built it (10–12 hour build mindset)
Architecture & stack
- Frontend: Next.js (React) for fast iteration and clean UI patterns
- Backend: Next.js API routes for a unified full-stack workflow
- Database: Prisma ORM + SQLite for quick schema changes and reliable querying
- Auth & roles: simple role-based access (nurse/coordinator/admin) so users only see what they need
Core features we implemented
- Closed-loop referral tracking: every referral is a record with status changes and timestamps
- Early-warning dashboard: highlights overdue tasks, missed follow-ups, and patients trending upward in risk
- Transportation coordination: links rides/availability to appointments so “can’t get there” becomes trackable—not invisible
- Heatmap view for nurses: a map-based snapshot of where higher-risk patients cluster (using a fictional-but-consistent coordinate system so the feature still works even with a fictional city)
Risk scoring (simple, explainable math)
We used a lightweight scoring model that prioritizes clarity over complexity:
[ \text{RiskScore} = w_1 \cdot \text{OverdueDays} + w_2 \cdot \text{MissedCount} + w_3 \cdot \text{ComorbidityFlag} + w_4 \cdot \text{TransportInstability} ]
Then we map the score to easy triage labels:
- Green: low risk
- Yellow: medium risk
- Red: high risk
The key design choice: every score is explainable (“Overdue by 12 days + missed ride twice + high-risk condition”).
Challenges we faced (and how we handled them)
1) Mapping a fictional city
Because the city isn’t real, we couldn’t rely on real geocoding. Our workaround was to:
- define a “service area” bounding box,
- assign neighborhoods or patient locations to coordinates inside it,
- and still render meaningful clustering and color coding.
This kept the heatmap feature realistic without needing real addresses.
2) Designing alerts that don’t overwhelm staff
We had to avoid the “everything is urgent” trap. We addressed this with:
- escalating alerts only when thresholds are crossed (e.g., overdue and high-risk),
- clear reasons shown under every flag,
- and filtering so nurses see what matters now.
3) Data quality and edge cases
In care workflows, data is messy: missing dates, duplicate referrals, reschedules, cancellations. We built with defensive logic:
- strict status transitions,
- validation on key fields,
- and safe fallbacks when information is incomplete.
4) Keeping it viable in 10–12 hours
Scope control was the biggest challenge. We focused on:
- a clean “happy path,”
- a few high-impact features (closed-loop + early warning + transport + heatmap),
- and UI polish that makes the prototype believable.
What we’d build next
If we had more time, we’d add:
- smarter prioritization using historical outcomes,
- automated patient reminders (opt-in),
- analytics for “where breakdowns happen most,”
- and deeper integration with external booking/transport systems.
Slide Deck
Built With
- next.js
- prisma
- sqlite
Log in or sign up for Devpost to join the conversation.