nhs-number

July 29, 2026 ยท View on GitHub

Python package to provide utilities for NHS Numbers, including validity checks, normalisation, and generation.

Package Information

License Licence type badge Version Version badge
Supported versions Coverage
Wheel Implementation
Status Downloads

Documentation

All documentation is available at https://uk-fci.github.io/nhs-number/

Please note that since the demise of the Faculty of Clinical Informatics, the domain uk-fci.tech has been removed from the package and replaced with uk-fci.github.io. This is a temporary measure until we decide what to do with the uk-fci GitHub organisation.

Implementing this in another language?

Please do - and you are welcome to build on our work. We publish a language-agnostic test vector file capturing how this library behaves (checksums, standardisation, validity, CHI date-of-birth rules, regions and range boundaries), so a port in any language can check itself against the same definition of correct.

It is MIT licensed, like the rest of the project: use it freely, no permission needed. Attribution is appreciated but not required. See Implementing an NHS Numbers package in other languages for what the vectors cover, what is deliberately left out and why, and how to use them.

Other libraries

Similar libraries for other languages:

  • Clojure / ClojureScript: wardle/nhs-number by Mark Wardle - validation, formatting and generation of UK NHS Numbers

If you maintain one we have missed, please open an issue and we will add it.

Changelog

https://uk-fci.github.io/nhs-number/