In build2026HealthDigital public infrastructure

Health ID

A health ID from birth

A provisional health ID issued at birth or at the first vaccination, linked to the mother, built on the NIN rather than against it, and designed to keep working in a clinic with no signal. An experimental answer to a problem set by eHealth Africa on the NITDA Builders Festival.

For
Self-commissioned
What it is
Web application
What we did
Field research, Service design, Product design, Platform engineering
Live at
Try the demo
Backend
GoPostgreSQLRecords presented as FHIR
Frontend
Vue 3TypeScriptOffline-first PWA
Infrastructure
HetznerCaddysystemdCloudflare Workers
The Health ID system diagram, showing a clinic phone, the ID registry and the national identity number

The problem

A woman registered at a primary health centre in Kano gets a folder number there. A year later a private clinic in Lagos gives her another, and a teaching hospital writes her name slightly differently and gives her a third. Three records, mostly on paper, none aware of the others.

The cost is a repeated test, a missed allergy, or a baby whose vaccinations cannot be reconstructed. The country counts one woman as three patients.

What we did

We built it ourselves, in response to a problem set by eHealth Africa on the NITDA Builders Festival: fragmented patient identity across Nigeria’s public and private health facilities.

The design starts from one idea. The ID is not the identity. The identity is the person and all the ways clinics know them. The health ID is the one identifier every facility can share, and it is the front door: a valid ID opens the record at once, and name, phone and folder-number search are the fallback when the ID is missing.

It is built on the NIN, not against it. NIN verification uses a single-use virtual NIN that we do not store, and it is optional.

What exists now

A working API and an offline-first clinic app, live as a public demo with five roles to try. Registration, vaccination records, matching, consent, the portable summary and sync after reconnecting all work. Everyone in it is fictional, the national identity service is simulated, and it resets every night.

What it produced

Nothing in the field yet. It has not been used by a real clinic, so there are no outcome figures, and we do not publish any.

What we learned

The decisions, the bugs that taught us the most and what is still not built are written up in field note 08.

Have a system that needs building?

Bring us the problem →