NHS Number Generator - Rebuild

Published : Thursday 1 February 2024

Generating test data in particular data such as CHI and NHS Numbers can be a real pain which is what my side project aims to solve. ...

The initial introduction of the NHS Number was fairly slow, with many organizations choosing to use local identifiers over the national number. However, in the last 10+ years, there has been a push to move to the NHS Number to a point where it is now much more widely adopted, even if not entirely universal.

Over the last 20+ years working in and around healthcare, I’ve been involved in numerous projects working with data, and generating NHS Numbers was always a problem. In a company I used to work for, one of the developers had crafted an NHS Number spreadsheet. It was after this that it dawned on me that there had to be a better way.

Incarnation in .Net

Original NHS Number Generator
Original NHS Number Generator
(Click for full resolution)

In 2015, I put together a simple MVC application in .Net, and the NHS Number Generator came into being, hosted as a sub-application of my main blog site.

It is a very simple single-page application with a basic API for generating results and carrying out validation, and an MVC controller using the Razor view engine. It was built to carry out a very particular function with no real thought put into architecture or extensibility.

Other than a few interruptions due to host migrations, it basically sat there and found its way to the top of Google and gained popularity.

Re-platforming in Javascript

Data Gorilla NHS Number Generator service
Data Gorilla NHS Number Generator service
(Click for full resolution)

Over the last year or so, I have been migrating my websites and products away from Microsoft-based technologies towards more open source and Linux-based systems and services. In December of 2023, the first of these services found their new home, migrating websites, etc. One of the smaller services, my NHS number generator, was not at the top of the list, and wanting to shut down the old servers, it briefly went offline.

As part of migrating websites, I’ve been switching to using Hugo, a static site generator along with Tailwind to quickly create clean, simple websites that are highly performant. In parallel, I was building applications in JavaScript (using TypeScript), Node.js, and primarily SvelteKit. I’ll blog in more detail about this in the future.

Needing to bring the NHS Number generator back online quickly, I was left wondering how best to do this. I didn’t want a complicated tech stack, but at the same time, I didn’t want an MVC template-driven platform. I’d been looking for a project to get started with HTMX, and this was it. I quickly created the website again in Hugo and Tailwind using a template I already had, then adding HTMX for the interactivity, with a simple NodeJs / Express back end — something I’ll blog about in the future.

Why Data Gorilla? I wasn’t sure what this website really is or what it might become, but I needed a home for it. The long and short of it is I asked my partner, and she suggested it. It had a ring to it, and I’d already thought of “monkey” and number buddy was already taken and so data-gorilla.uk was it.

The future

The new version is faster, more flexible to develop, and I’ve already been able to add the NHS Scotland’s CHI (Community Health Index) Number generator along with a few credit/debit card options. I plan to add a few other generators to it, and then I’m thinking about where it goes next. While it is only a small project, it costs time and money, and so that is something I need to backfill. I have tried adverts and donations with other services with some success, but I’m not a big fan of adverts due to their impact on UX and privacy, and donations only work on much larger scale projects; this is niche.

Perhaps there are more tools/utilities that would add sufficient value to warrant a small subscription fee to cover costs; I’m not sure. Ideas on a postcard, please!

NHS Number Generator CHI Number Generator

Feel free to reach out to me on LinkedIn or social media. There is also a contact form on my trading website.

Dan's Blog

Information Technology, programming, health, fitness and photography enthusiast.

  • Not a writer.
  • All views are my own.
  • Offence is optional.
  • Do your own research.

Post by tag