legacy systems into a modern, scalable platform
a twenty-year-old patient administration system, retired module by module while every hospital stayed open.
- client
- a private hospital network, 14 sites
- sector
- healthcare ↗
- duration
- 11 months
- team
- 8 engineers, 1 product lead, 1 clinical lead
the network's patient administration system had grown over two decades into a single on-premise monolith. every change needed a weekend freeze, and three of the five people who understood it were close to retirement.
a full replacement had already been attempted once and abandoned. the board wanted modernization without a second big-bang project — and without a single hour of clinical disruption.
47 weeks, 4 phases, one team.
dependency graph of 212 modules, ranked by risk and coupling.
appointment scheduling extracted behind an api, run in parallel for four weeks.
nine further domains moved, each reversible until reconciled.
legacy retired, licenses reclaimed, runbooks handed over.
- weekend release freezes
- one shared database for everything
- knowledge held by three people
- on-premise hardware at end of life
- weekly releases, no freeze
- ten services, clear ownership
- documented, tested, observable
- managed cloud with finops reporting
they moved the ground under us and not one clinic noticed. that was the whole brief.
the monolith is gone. scheduling, admissions, billing, and records now run as independently deployable services on a managed cloud, with fhir apis that partner clinics integrate against directly.
the internal team now ships weekly without a freeze — and owns the platform outright.
- c#/.net
- fhir
- azure
- kubernetes
- kafka
- postgres
- terraform