Skip to main content
Get in Touch
Back to Portfolio
Web ApplicationsReactAWSTwilio

Healthcare Appointment System

A cloud-based appointment booking system for a multi-clinic healthcare group, featuring practitioner calendars, patient self-booking, automated SMS and email reminders, and integration with their clinical management software.

ClientMulti-Clinic Healthcare Group, UK
Duration16 weeks
StackReact, Node.js, AWS RDS, AWS Lambda, Twilio, Stripe, FHIR API, SendGrid
Healthcare Appointment System

Results

73% of all appointments
Online bookings (month 3)
−61%
No-show rate
−58%
Reception call volume
+24 pts
Patient satisfaction score

The Challenge

A healthcare group operating seven clinics across the South East was managing all bookings by telephone. Reception staff spent an estimated 60% of their time on booking calls. Appointment no-shows averaged 18%, costing the group significant revenue. Patient satisfaction surveys consistently flagged difficulty booking and lack of reminders as the top complaints.

Our Solution

We designed a GDPR-compliant web booking portal that integrated directly with the group's clinical management system via a FHIR-compatible API. Patients could search by clinic, practitioner, or appointment type, view real-time availability, and book in under two minutes. A two-stage reminder system — 48-hour email and 2-hour SMS — reduced no-shows. Stripe handled private appointment deposits.

GDPR and Clinical Data

Healthcare data requires the highest standard of protection. All patient data was encrypted at rest using AWS KMS and in transit with TLS 1.3. The system stored no clinical information — only booking metadata. Integration with the clinical management system used a read-only FHIR API for availability data and a write-only endpoint for booking confirmation. A Data Processing Agreement was signed before any development began, and the system was reviewed by the client's Caldicott Guardian prior to go-live.

Availability Engine

The availability engine polled practitioner diaries via the FHIR API and presented slots in a clean calendar interface. Slot hold logic prevented double-bookings during the checkout process — a 10-minute hold was placed on a selected slot, released automatically if the booking was not confirmed. Buffer times between appointments were configurable per practitioner, respecting clinical preferences without manual management.

Reminder System

The reminder system used AWS Lambda functions triggered on a cron schedule. 48 hours before an appointment, a personalised email was sent with the clinic address, practitioner name, and a cancellation link. 2 hours before, an SMS was sent via Twilio with a one-tap confirm or cancel option. Cancelled slots were returned to the availability pool in real time, allowing rebooking by other patients.

Private Appointment Deposits

For private consultations, Stripe was used to collect a refundable deposit at the time of booking. If the patient cancelled with more than 24 hours' notice, the deposit was refunded automatically. Cancellations inside 24 hours resulted in a partial retention, enforced automatically without staff involvement. This mechanism alone reduced late cancellations by 44%.

Outcome

Three months post-launch, 73% of all appointments were being booked online without staff involvement. Reception call volume dropped by 58%, allowing the team to focus on in-clinic patient experience. The no-show rate fell from 18% to 7%. Patient satisfaction surveys in the quarter following launch recorded the highest scores in the group's history.

Have a similar project in mind?

Tell us what you are building. We will give you an honest assessment and a free quote.

Start a Conversation