PsychPlus · Healthcare SaaS (EHR) · 2024

Reimagining Patient Waitlist Management

UX DesignEnd-to-end ownershipCross-functional team: PO, Engineering, QA
UX DesignEnd-to-end ownershipCross-functional team: PO, Engineering, QA
UX DesignEnd-to-end ownershipCross-functional team: PO, Engineering, QA

TL;DR Version:

the Problem

In a behavioural healthcare setting, appointment availability is not just an operational problem; it is a clinical one. Patients waiting weeks to see a psychiatrist or therapist who cancels at the last minute lose that slot entirely. The provider's time goes unused. The next patient on the list has no way to claim it.

PsychPlus's existing EHR had no waitlist capability. When a patient called to reschedule or cancel, staff managed the resulting gap manually: phone calls, informal notes, ad hoc coordination. There was no structured way for a patient to indicate they wanted an earlier appointment, no automated notification when a slot opened, and no provider-facing view of who was waiting and why.

PsychPlus · Problem Overview

Cancelled slots go unfilled; waiting patients have no way in

01

Patients frequently reschedule or cancel appointments at the last minute; leaving slots unused with no mechanism to offer them to others.

02

The existing EHR system has no waitlist capability; staff manage cancellation gaps manually through phone calls and informal coordination.

03

Patients who need an earlier appointment have no structured way to indicate this; and no notification when a slot becomes available.

Provider impact

Unused appointment time; lost revenue, reduced throughput

Patient impact

Longer wait times for care; no visibility into earlier availability

Staff impact

Manual gap management; ad hoc phone coordination, no audit trail

Goal: design a waitlist feature embedded in the existing booking system

The problem framed for stakeholders; cancelled slots remain unused, no waitlist capability exists in the EHR.

Design Process

Design Process

Constraints

UX maturity

Survey
respondents

Survey
respondents

Level 2

Limited; no dedicated research budget

Timeline

Timeline

timeline

2 Days

August 2024

Research access

Research access

research access

Limited

No external users; internal stakeholder reviews only

Phase 1 — Problem definition and planning

I started with paper wireframes; not as a stylistic choice but as a practical one. Physical sketching allowed rapid iteration on structural decisions before any time was spent in high-fidelity tools. The key questions I was working through at this stage:

  • Does each appointment slot have its own waitlist, or is there a general pool?

  • How many slots can a user waitlist simultaneously?

  • What information does a patient need when they join the waitlist?

  • How long before moving to the next person if the contacted patient does not respond?

  • What triggers the notification; cancellation, reschedule, or both?

Initial flow sketches; waitlist entry points, notification triggers, FIFO queue logic

Patient-side experience continued; joining a waitlist for a specific provider vs a general availability pool

Scheduler view concepts; EHR staff-side waitlist entries alongside booked appointments and Patient App Experience

FIFO queue logic and generic vs specific waitlist; working through the backend flow

Phase 2 — Flow Design

The solution required three distinct flows because the entry point for a waitlist differed significantly depending on who was acting and when.

Flow 1 — EHR staff side

Staff needed to manage the waitlist directly within the existing scheduler. A Waitlist tab within the Clinic module; a filterable data table showing all waitlisted patients with their status (Waitlisted, Contacted Awaiting Booking, Contacted No Response); and the ability to add a patient to the waitlist from the patient record.

Flow 2 — Patient after booking

A patient who had already booked receives a push notification informing them that an earlier slot has opened. They can approve the swap directly from the notification or decline and remain on the waitlist. If they do not respond within a defined window, the slot moves to the next patient.

Flow 3 — Patient before booking

A patient browsing available slots who does not see a time that works is prompted to join a waitlist. They can specify a provider, date range, location, and visit type; or leave all fields open for the first available slot.

Waitlist queue logic; FIFO ordering, slot-level vs general waitlist, the booking trigger, and the confirmation flow with a join waitlist prompt.

Patient entry points; generic vs specific provider waitlists, the booked vs not booked patient paths, and the staff-side entry point all converging on a confirmation message.

solution

solution

Flow 1 — EHR staff view

The Waitlist module sits within the existing Clinic navigation. Staff can filter by provider, location, visit type, slot date, and status. The Add to Waitlist modal allows staff to add a patient directly. The scheduler view shows WL indicators alongside booked slots.

Flow 1; staff-side waitlist management; filterable queue with status tracking and inline add functionality.

Patient mobile — Flow 2 (post-booking)

Push notification informs the patient of an earlier slot. Tapping opens a confirmation screen showing the available waitlist slot alongside their original appointment. They can approve or reject. If no slots are available, they see a clear empty state.

Flow 2; patient notified of an earlier slot, one tap to approve or pass to the next person in line

Patient mobile — Flow 3 (pre-booking)

The patient is prompted to join a waitlist directly from the provider search screen. A modal captures their preferences with an option to leave all open for the first available slot. On submission they land on a confirmation screen showing both their waitlist position and their existing booking.

Flow 3; Waitlist prompt within booking flow, join modal, and confirmation screen

limitations and what i'd to differently

The absence of user research is the most significant gap. Every decision was based on internal assumptions and stakeholder input; not user data. A structured interview with five to six clinical staff members and five to six patients would have materially changed decisions around the notification response window and the generic versus specific waitlist distinction.

The designs were also not usability tested before handoff. Given the complexity of the EHR staff flow; multiple filter states, status transitions, and the edge case of a patient not responding; a think-aloud session with two or three staff members would have surfaced significant issues early.

The outcome

The designs were well-received by stakeholders and presented as the proposed solution to a problem that had existed in the platform since launch. I transitioned out of the role at the end of the contract period; whether the designs were implemented is beyond the scope of this case study.

What the project demonstrated was that a structured design process; even without research, even at low UX maturity, even on a tight timeline; produces more defensible and more coherent solutions than ad hoc feature design. Three distinct flows, each with its own entry point, its own user context, and its own failure states, were mapped and resolved in four weeks.

role & tools

UX Designer · End-to-end ownership · Cross-functional team: PO, Engineering, QA · Paper prototyping · Internal stakeholder reviews · User flow mapping · Edge case analysis

FigmaFigJamPaper PrototypingUser Flow MappingStakeholder ReviewsEdge Case Analysis