Virtual Waiting Rooms

Creating an efficient pre-appointment experience

This case study demonstrates how I paired research, collaboration, and iterative design to simplify user's pre-appointment experience while supporting complex workflows and working around technical limitations of the legacy architecture.

Company

OnCall Health

Industry

Behavioural Healthcare

My role

Design Lead, working with 1 Product Manager and 2 Engineering leads during planning

Goal

Replace fragmented workflows with a unified virtual waiting room experience.

Status

Paused mid-implementation in Feb 2024. Finalized and ready for future pickup.

Overview

Background & context

This project's inception was a result of multiple feature requests sent by customers, pre-acquisition; their current remote workaround was not aligned with in-person workflows, and as their clinical operations scaled, their need for a flexible and collaborative pre-appointment experience became urgent.

Key problems

Care coordinators had no efficient way of screening clients prior to their appointment to validate information, payment, and form completion.

Care coordinators had no efficient way of shifting around provider's appointments throughout the day.

Customers used external tools to supplement our product gaps.

Key limitations

In addition to complying with HIPAA and PIPEDA regulations, the platform's appointment experience was built on legacy architecture, requiring a team of 1 designer, 1 product manager, 1 engineering lead, and 5 engineers to build and improve the experience around this. As a result of the legacy code, we had to cut many feature additions from MVP, including the virtual waiting room settings, the queue's appointment editor enhancements, in-app notifications triggered by a client joining the waiting room, and zoom's SDK integration.

Status & results

Due to the acquisition, OnCall’s immediate goals shifted from prioritizing the user experience to integrating data with the Qualifacts electronic health records (EHRs), resulting in a pause on this project after starting development.

Although implementation was paused, we’ve received exceptional qualitative feedback on workflow improvements, validated the solution with current customers during demos and interviews, and finalized all prototypes, design assets, and documentation for future continuation.

To this day, we frequently receive product requests for continuation of this feature's development — both from current and prospective clients.

Prototype: Provider experience
Use the prototype to open the waiting room, start an appointment, enable video + audio, admit a client, and mark the appointment as 'complete'.

My role

My responsibilities as lead designer

Lead research initiatives

Partnered closely with a Product Manager to plan, conduct, and analyze user interviews and a competitive analysis to uncover needs from our care teams and patients.

Define UX strategy

I turned research insights into actionable areas of opportunity, translating them into user journeys and end-to-end workflows across desktop and mobile.

Own design production

I led the full design execution, from lo-fi wireframes to high-fidelity prototypes, creating modular components and UI patterns that support both client-facing and staff workflows.

Scope MVP & iterations

I paired with our PM to prioritize key features and overall scope of MVP, balancing the ideal experience across each user type with developer (and timeline!) constraints.

Align stakeholders

Clarified the design approach and implementation with engineering leads throughout every step, and worked closely with design leadership to align OnCall’s broader UX vision.

Strongly advocate for UX

Presented key decisions, rationale, and prototypes to product leadership and internal stakeholders, and conducted customer validation interviews to advocate for patient-centric outcomes.

Discovery

Conducting research & discovery

I led user research with our PM, interviewing existing clinic staff and providers.

I conducted a competitive audit, analyzing competitive tools for waiting room standards.

From our learnings, I compiled a feature wishlist that prioritized features for MVP and a future-state expansion.

Identified the need for form completion, flexible scheduling and join times, payment collection, and team handoffs before the appointment begins.

Key challenges from user interviews

No way to prep clients before a session

OnCall’s appointments did not allow for providers or care coordinators to prep their clients prior to starting their billable session. From our interviews with customers, many providers spend up to 10-15 minutes of their session completing forms and treatment plans with the client from previous appointments, taking up as much as 1/4 of their total session time.

Providers were unable to flex their schedules mid day

OnCall does not have the ability to bulk edit schedules.
One of our interviewers mentioned that if a provider is even 5 or 10-minutes late on their schedule, the coordinator or administrator would need to spend up to 30 minutes rescheduling all of their appointments for the remainder of the day.

Rigid 10-min join window caused friction

OnCall providers use Zoom’s SDK to conduct video and phone sessions with clients.
Behavioural health sessions can often be emotionally vulnerable, and clients typically want a few moments to shift into the right mindset prior to starting. It gives them to confidence that the tech is working, that they and the provider are prepared, and reduces anxiety surrounding being late.

Customers relied on external tools to fill product gaps

From a business-perspective and the user's experience, this was far from ideal. Healthcare workers already have to learn to use archaic EHR systems with unintuitive interfaces and workflows, so hearing about them relying on additional tools just to meet with their clients was a big red flag. We made it a priority to close this gap for the appointment experience.

Defining the UX Strategy

Translating insights into a clear direction

I mapped out current-state workflows to identify areas where external tools were being used.

I created ideal-state journey maps to visualize how clients, providers, and admin staff would interact within the virtual waiting room.

To get a baseline for the feature, I scoped a clear MVP with the PM.

I created future-state concepts, including appointment follow-up flows, educational content on the waiting room, and in-appointment room team handoffs.

technical & timeline limitations

Working around limitations

Limitation types

Timeline, technical complexity

What it affected

Revised appointment editor that would have allowed staff to shift around appointments for the day.

Result

Revised appointment join time to allow all users to join their session at any time on the date of their scheduled appointment; relying on providers and care coordinators to use the 'messaging' feature to communicate any last-minute changes in scheduling.

Limitation type

Regulatory compliance

What it affected

HIPAA and PIPEDA regulations limited us from allowing unregistered users to join an appointment.

Result

In order to receive bespoke care from their provider, clients must be logged in. This is different from other telehealth solutions where providers can share a link and provide care. Since our client records are stored in-house, we have to provide additional security and privacy measures in order to provide services.

Limitation types

Timeline, technical complexity

What it affected

Mobile-desktop parity for providers, coordinators and admin users.

Result

The mobile app has slowly been transforming into the main access point for the client portal. Over time, less and less feature parity for PCA users have been added into the app. Virtual waiting rooms was only scoped for client-user parity on the mobile app, falling back to the desktop version for all management-related items.

Design & validation

Iterative design production

Starting with wireframes and user journeys for each role

For clients, I included flows with varying join times (early - on-time - late) and completing tasks, ensuring their experience isn’t negatively impacted from the changes we’ve made.

For providers, allowing them to see who’s in the waiting room and ready to start their appointment, review client info, and shift around meetings as needed.

For admin and coordinators, giving them a way to check-in clients, validate information, and even schedule a follow-up.

Developed high-fidelity prototypes using elements from our component library

Desktop prototypes for providers joining and managing their waiting room, admitting clients in both asynchronously and altogether.

Demo: Provider experience, pt. 1
Provider joining their waiting room, managing chats, and starting an appointment
Demo: Provider experience, pt. 2
Provider managing their chat, custom appointment fields, files, forms, and waiting room queue
Demo: Provider experience, pt. 3
Provider ending the appointment and marking it as 'complete'

Validated our solution with current customers in follow-up interviews

This allowed us to gather feedback on flow, ease of use, and coverage of the feature.

I created visual assets and handoff docs for engineering

In ticket-dedicated pages, I outline exactly which components to re-use, as well as changes to those components that would allow for a unified experience.

This also included behavioural and interaction documentation for appointment types and user roles.

Results

Customer validation

“This is exactly what we’ve been missing” has been a consistent reaction from our customer validation interviews. Several clients even requested inclusion in the feature’s beta release.

Scalable solution

Our MVP solution was fully scoped, designed for quick implementation. Future iterations, including an internal chat for staff, and post-appointment flows, were explored, designed, and given a rough development estimate.

Ready for pickup

Full flows, edge cases, component specs, and documentation were delivered for future dev teams. This work is now used as a reference point for other features, both appointment related and from a UI perspective.