Europe/Berlin
Back to Projects
April 2026 – Present

Zero-Downtime Backend Migration

Moving a live medical platform onto a new FHIR backend with no downtime and no change to the roughly 700 tablets already in patients' homes.
Private repo
Tech stack
Node.js
TypeScript
FHIR
Medplum
JWT
Kubernetes

Overview

This is the backend work that moves ACTIMI's live telecare service off its legacy FHIR backend and onto a new one, without ever stopping it. The service treats real patients every day and around 700 tablets are already deployed in patients' homes running an application that cannot be changed, so the migration cannot be a flag-day. It has to be a controlled, reversible transition in which the old and new backends run in parallel until the new one has provably taken over. The mechanism is a single edge proxy placed at the same address the tablets already use, escalated through three behaviours behind environment switches: it first mirrors every new record to the new backend, then serves reads from it (reshaped into the dialect the frozen tablets expect), and finally becomes the sole authority once the old backend is switched off, which is kept alive as a hot standby for instant rollback. The hardest part is making the switch invisible to a fleet of frozen tablets that log themselves out on any failed request, solved by verifying their existing tokens offline, re-issuing self-describing ones, backfilling a durable identity store, and a self-contained re-enrollment path, so every device re-authenticates with no reboot and no human present. The partner API that hospitals use is rebuilt natively on the new backend so nothing reads the old one any longer.

My Role

I designed and built the migration mechanism end to end: the edge proxy, the dual-write, the per-clinic isolation on the new backend, the zero-touch cutover gateway, and the partner API rebuild. Validated end to end on staging with the old backend switched off.

Key Features

Edge proxy at the tablets' own address, three behaviours behind env switches
Dual-write mirroring every record to the new backend, content-keyed and idempotent
Cutover gateway that verifies frozen-tablet tokens offline and serves from the new backend
Zero-touch cutover: around 700 tablets re-authenticate with no reboot or re-enrollment
Reversible flip with the old backend kept as a hot standby
Partner hospital API rebuilt natively on the new backend
Zero-Downtime Backend Migration