System design exercise

Healthcare Appointment System

Booking-flow analysis for a high-demand clinic

A system design exercise analysing the booking flow of a high-demand neurology centre: a 100+ person daily queue against only 50–60 monthly tickets. Not a production system — a demonstration of how I approach operational problems when a client describes one.

Healthcare appointment system case study cover — abstract capsule and structural grid illustration

Problem

A 100+ person daily queue against only 50–60 monthly tickets. The root cause was not demand — it was uncoordinated booking channels producing a thundering herd and race conditions on the same tickets.

Context

A high-demand neurology centre where people queued physically and by phone for the same limited appointment slots. This was an analysis exercise, not a client production build.

Approach

  • Model the actual queue behaviour before proposing any technology.
  • Identify the contention point: multiple channels writing to the same ticket pool with no coordination.
  • Design for atomic assignment first, interface second.
  • Iterate — the first two designs were wrong, and the third was the one that accounted for the people the earlier ones forgot.

Architecture

  1. 01Two self-service channels: web and IVR
  2. 02Atomic ticket assignment with TOCTOU protection
  3. 03Hold-timer and booking TTL to release abandoned slots
  4. 04IVR routing tree for non-web callers
  5. 05One unified ticket database as the single source of truth

Tools

  • System design
  • Queueing analysis
  • IVR flow design
  • LLM-assisted design review

What worked

  • Treating the ticket pool as a concurrency problem rather than a UI problem.
  • Keeping an IVR channel so that non-web users were not excluded.
  • Using an AI model to find the person each design iteration forgot.

What didn't work

  • The first design assumed everyone would book on the web — it excluded a large part of the actual audience.
  • The second still allowed two channels to hand out the same ticket.

Result

A documented architecture and a written breakdown of the three design iterations. Not a production system and no operational metrics are claimed.

What I learned

System design starts with the wrong answer. The value is in noticing who the design excludes and iterating.

Links

More work

Let's build something real.

A system built to order, or advice on how to start. Tell me the manual work you want gone.

Get in touch