Chris Lowis by Chris Lowis

Week 915

Week beginning Monday, 27th July 2026.

Chris Roos has been on holiday this week. James and I have mostly been working on our project with the NHS.

NHS Vaccinations (Mavis)

The features we are currently working on allow School Aged Immunisation Services (SAIS) teams to set up and invite patients to clinics. These clinics can be run outside of a school and have their own mechanisms for inviting patients to attend. In particular we’ve been working on allowing SAIS teams to reschedule appointments.

There are a number of other features in the application that allow a model to start, or re-enter a “draft” status and for any changes to be committed after a number of questions have been answered. The application uses the wicked gem to structure these one-page-per-question “wizard” like flows.

James has been working to refactor the wizards that have been added to the clinic booking workflows to use code that is shared by the other “draft” models in the system. Meanwhile I’ve been making changes so that an already-booked appointment can be changed by creating a new draft, re-asking any questions that are relevant to the property being changed (such as the appointment time or location), and then replacing the existing appointment with the new one (and notifying the patient).

The clinic functionality is currently being piloted which means it’s difficult to make any major changes to it that could impact the outcome of the pilot. For now that’s meant nursing a pretty long-running branch with quite a lot of commits on it, but we’ve worked out a way of hiding some of these features behind a feature flag, so we’re hopeful we’ll be able to get them merged and (manually) tested before too long.

I was excited (and also a little bit jealous) to see Thomas open a PR to remove old migrations. It’s one of my favourite things to do.

Other things

We caught up with some admin today. James has been going through the time-consuming process of providing our insurance broker with all the information they need to renew our policies.

I’ve documented the process we followed to rotate API tokens in jam.coop after patching the KindaRails2Shell vulnerability (CVE-2026-66066) earlier in the week. Fun times!

Have an excellent weekend.

– Chris

If you have any feedback on this article, please get in touch!

Historical comments can be found here.

Recent