Vitalis-Q — Rebuilding the Healthcare Scheduling Experience
01 — Context
The platform and its scale
Vitalis-Q is a digital healthcare appointment platform operating across six European markets — Luxembourg, Belgium, Germany, Austria, Switzerland, and the Netherlands. It connects patients with over 200 medical specialties and supports 55+ languages, serving both walk-in patients and chronically ill users who require regular, coordinated care.
By the time I joined the product team, the platform was processing over 1.5 million appointment bookings per month and had strong top-of-funnel brand recognition. The provider network had scaled quickly — but the product infrastructure had not kept pace. The booking flow, provider dashboard, and notification system had been patched iteratively over four years without a structural review.
Three numbers sat at the center of every leadership conversation: a 23% no-show rate across the network, a 38% patient booking abandonment rate during the six-step reservation flow, and a practitioner-side NPS that had dropped eight points in two quarters. The data team had the numbers. No one had a plan to move them.
02 — Problem
Patients left. Practitioners complained. The system didn't tell us why.
Session recordings and funnel analysis pointed to a consistent pattern: patients initiated bookings, navigated through specialty selection and location filters, and then dropped off — most commonly at Step 4 (practitioner selection) and Step 5 (time slot confirmation). The UX had been designed around system logic rather than user intent.
On the practitioner side, the dashboard offered almost no operational value. Providers could see their appointments in a raw list — no daily load indicators, no no-show trends, no demand signals. High-volume clinics were scheduling blind, accepting slots that repeatedly went unfilled.
Booking funnel drop-off — patient sessions (n = 212,000)
The steepest drop occurred between practitioner selection and time slot confirmation — a 14-point fall driven by slot unavailability, ambiguous cancellation terms, and lack of alternative suggestions.
Old booking flow — 6 steps, designed around system constraints
The biggest discovery: 61% of abandoned bookings happened because patients couldn't find an available slot with their preferred practitioner and saw no alternative path. They weren't uninterested — they were stuck. The system had no fallback logic.
03 — Research
Two audiences, two completely different failure modes
We ran 24 patient interviews across Luxembourg, Belgium, and Germany — split between first-time users and existing patients. In parallel, we ran structured usability sessions with 18 practitioners (GPs, specialists, and clinic admin staff) using the existing Vitalis-Q Pro dashboard.
The patient research uncovered a confidence problem: users didn't trust the availability shown on screen. Slots marked as "available" had often already been taken by phone bookings that hadn't synced. Encountering this twice was enough for patients to abandon digital booking entirely and call the clinic directly.
The practitioner research uncovered an entirely different problem: practitioners had no analytics. They couldn't see which days drove no-shows, which specialties had chronically low utilisation, or how their schedule looked relative to patient demand patterns. They were reactive managers of a system that gave them no forward visibility.
No-show root cause analysis — 3,400 follow-up calls
72% of no-shows were directly addressable through product changes — reminders, frictionless cancellation, and clearer slot communication.
04 — Before / After
The booking experience: before and after
The old flow forced patients to specify specialty, location, language, insurance, and doctor preferences before seeing any availability. The new flow inverts this — showing real-time available slots first, letting patients refine from there, and offering intelligent alternatives when their preferred slot is taken.
05 — Before / After
The provider dashboard: from appointment list to scheduling intelligence
Practitioners told us during research that the old dashboard "shows me what happened, not what's happening." It was a backwards-looking list — appointments, date, status. Nothing actionable. The redesigned Pro Dashboard gives practitioners their daily load at a glance, no-show trends over time, and demand signals they can act on: days with high unmet patient demand, time blocks with chronic underutilisation, and same-day cancellation rates by slot type.
06 — System Design
Redesigning the booking state machine
One of the most consequential changes was invisible to patients: the appointment state model. The old system had four states — Pending, Confirmed, Cancelled, Completed. No-shows were logged retroactively by clinical staff, often days late. This made it impossible to build any proactive intervention.
We redesigned the state machine with seven distinct states and automated transitions based on time and patient action. This powered the reminder system, the cancellation incentive flow, and the provider analytics pipeline.
New appointment state machine — 7 states with automated transitions
The At Risk state alone — targeting patients who hadn't opened their 24h reminder — reduced no-shows by an additional 9 percentage points via a single follow-up push notification.
07 — Prototype
The new booking flow: from 6 steps to 3
The redesigned flow surface availability first, then confirmation. Patients see real-time slots before selecting a practitioner — removing the most common failure point. Alternative suggestions appear instantly when preferred slots are unavailable. Booking is completed in under 90 seconds from search.
Confirmation sent to your email and phone.
08 — Experiments
What we tested and what happened
| # | Hypothesis | Test | Outcome |
|---|---|---|---|
| H-01 | Surfacing available slots before practitioner selection will reduce abandonment at Step 4 | A/B test · 50/50 split · 3 weeks · n=48,000 | ✓ Validated −19pt abandonment at slot selection; +31% booking completion |
| H-02 | A 24h + 2h automated reminder sequence will meaningfully reduce no-shows | Phased rollout · 30% → 100% over 6 weeks | ✓ Validated No-show rate fell from 23% to 9.2% in first 6 weeks |
| H-03 | Frictionless cancellation (2-tap, no login required) will increase last-minute slot recycling | Feature flag rollout · 14-day experiment | ✓ Validated +67% cancellation rate · 84% of recycled slots rebooked within 4h |
| H-04 | Showing practitioner ratings and patient reviews inline will increase practitioner selection rate | A/B test · 50/50 · 2 weeks | ~ Partial +8% selection rate but +14s avg decision time; kept ratings, removed review count |
| H-05 | "At Risk" escalation push (for reminder non-openers) will reduce no-shows further | Targeted push test · opt-in cohort · 3 weeks | ✓ Validated −9pt additional no-show reduction; 23% open rate on escalation push |
| H-06 | In-app waitlist for fully-booked practitioners will convert demand that would otherwise leave | Beta rollout · 8 practitioners · 4 weeks | ~ Partial 41% of waitlisted patients booked when slot opened; 59% had already booked elsewhere — waitlist window too long |
09 — Results
What actually changed
We measured outcomes at 12 weeks post-launch across three cohorts: patient booking experience, practitioner dashboard adoption, and network-level metrics. The no-show reduction alone recovered an estimated 46,000 appointment hours per month across the network.
(23% → 5.8%)
(29% → 41.5%)
(recovered + exceeded baseline)
(all-time platform high)
Key metric changes — before vs after (12-week measure)
The most surprising outcome was the cancellation rate. Conventional product instinct is to minimise cancellations. But by making cancellation genuinely frictionless, we increased it — and 84% of those slots were rebooked within four hours by the waitlist. A 67% higher cancellation rate was actually a 67% improvement in slot utilisation.
10 — Reflection
What I'd do differently
The waitlist experiment (H-06) revealed a gap in our thinking. We assumed patients would wait 2448 hours for a cancelled slot to open. Most wouldn't — they had a health need, not a preference. We should have tested slot alert timing much earlier. A "notify me within 2 hours" design would have converted significantly better than the 48-hour batch model we shipped first.
We also underinvested in the practitioner onboarding for the new dashboard. Adoption hit 78% — good, but the 22% who didn't adopt were predominantly older single-practitioner clinics who saw no benefit in analytics they didn't know how to act on. A structured onboarding session with a single "insight to action" moment would have closed that gap.
The core lesson: the platform's unit of value is a completed, attended appointment — not a booking. Every design decision should be evaluated against that end state, not the intermediate confirmation event.
Interested in
working together?
I'm open to new opportunities and conversations about difficult product problems.
Get in Touch