Healthcare
Jaramana Clinic Center — appointment integrity and a signed medical record
A multi-doctor clinic needed a single system that its staff could trust for scheduling, its patients could safely reach from a phone, and its regulator could audit. What was live at the start of the project was a mix of a spreadsheet, a WhatsApp group and paper files.

The challenge
Three problems the paper diary could not solve
The clinic's day was governed by a spreadsheet on one computer at reception. It could not tell a patient over the phone whether next Tuesday at 4pm was still free without someone opening the file. Two receptionists booking at the same time regularly created double-bookings a doctor only discovered when both patients arrived.
Medical notes were finalized on paper and re-typed into the spreadsheet, and once typed there was nothing preventing a later edit. That was fine for internal use — it was not fine for the ministry inspection the clinic was about to face.
What we built
Two front doors, one authoritative schedule, one sealed record
Staff and patients enter through separate authenticated flows — different token scopes, different sessions, different rate limits. Every appointment slot is generated from the doctor's declared working hours minus recognised holidays; two attempts to book the same slot cannot both succeed. A medical note enters the system as a draft; the moment a doctor finalizes it, the record becomes immutable and every subsequent change is a new signed amendment, not an edit.
Two-role authentication
Employees and patients sign in through separate flows with independent scopes and rate limits.
Schedule-aware slots
Available times are derived from each doctor's real hours minus public holidays and personal leave.
Immutable finalized records
A finalized medical note cannot be edited; amendments are separate signed entries in the timeline.
WebSocket chat with STOMP
Real-time patient-clinic messaging that survives a network blip and holds an audit trail.
Rescheduling history
A moved appointment records who moved it, when, and why — the who is enforced, the why is prompted.
Push through Firebase
Reminders and rescheduling notices reach the patient's phone directly, in their language.
Under the hood
A stack that stands up to a compliance audit
- Spring Boot 3
- PostgreSQL
- Spring Security
- Spring WebSocket (STOMP)
- JWT
- Firebase Admin SDK
- Docker
Spring Boot gives the clinic something the ministry inspector recognises. PostgreSQL was chosen because immutable records benefit from a database with strong constraint enforcement and a well-understood audit story; JWT scopes keep the two front doors separated at the framework level, not by convention.
Outcome
A workflow the inspector agreed with
The clinic passed its ministry inspection on the first pass. Double-bookings stopped happening. Patients rebook themselves through the app; reception's phone rings for the reasons a receptionist should be answering, not for schedule lookups.
0
double-bookings since go-live
1st pass
ministry compliance inspection passed
24/7
self-service rescheduling from the patient app
Regulated workflow you cannot get wrong?
Bring us the process. We'll bring the design that survives the auditor.