So last weekend I found myself up at 0600 on a Saturday, of my own free will. Why? I’d signed up for NHS Hack Day, a two-day event essentially throwing a bunch of NHS-types and tech-types together in a room and seeing what comes out. My domain knowledge is pretty limited - I know the NHS exists and like it, and several friends are doctors or working on becoming so - but I like building things, particularly for people with a clear idea of what they want.
I was initially a little wary - my general area of expertise is fairly back-end-y, which is normally in relatively low demand for small / early-stage projects. However, a few days before, Dr. Wai Keong Wong made a post to Google Groups about looking for Java developers to work on Renal Patient View, an open source system used by 19,000 patients of 53 renal units in the UK to access blood test results. It’s been almost a year since I last really wrote Java in anger, having almost completely switched to writing Python and Django, but this seemed like something I’d want to get involved in, and could potentially really help out with.
Having arrived on the first day, I listened to the other presentations, and while they all sounded very good, Renal Patient View still seemed very appealing, so it was time to meet the others similarly interested; Dr Grant Hill-Cawthorne, Dr Zeinab Abdi, Ayesha Garrett, and my friends Jeff Snyder and Grey Baker. Our first challenge: getting the software built. With my ever-rusting Java experience putting me as ‘the Java guy’ of the team, we perhaps weren’t best placed to be doing this, but we had clue, coffee, and enthusiasm; how bad could it go…! Well, several hours later, we had it building…
The term ‘Open Source’ is used a lot of ways by a lot of people. Renal Patient View is an Open Source project; you can find its code currently at SourceForge (in the process of being moved to GitHub). However, it’s one thing being able to access the code, and another to be able to actually do anything with it. One of what we felt was our biggest, yet least visible, contributions from the weekend was that we were able to identify and document the build/deployment process for other people to use, making Renal Patient View ‘even more Open Source’. Now, in no way should this be taken as a criticism of the Renal Patient View developers; making a relocatable build system requires genuinely hard work, and it’s to the credit of the RPV team that the source is even available for us to work with - the most important first step! I’m glad we were able to contribute in such a way that will aid anyone coming to the code in future.
Meanwhile, once we’d got development environments up and running, it was time to add some features! After some brainstorming, we aimed at revamping the design and copy, adding some graphing for blood component levels for user results, and adding notification emails for patients when their test results arrived. See them demonstrated in the presentation below:
While we didn’t win, we made the shortlist, and here we are (apart from Grey, who was called away to Silicon Milkroundabout)
In terms of what we were able to produce in a weekend, in a language and framework we were unfamiliar with, in a domain that half of us knew little about, I feel we made incredible progress. It was great meeting and working with the other people on the team, and I learnt an incredible amount.
As for the rest of the event, it was truly excellent. An incredible gathering of bright, intelligent, motivated and interesting people, who produced some great things. Credit to Dr. Carl Reynolds and all the other volunteers and organisers for an absolutely great weekend. Subsequent hack days are being organised for (currently, I believe) Liverpool and Oxford - I thoroughly encourage anyone reading to attend, and I’ll hopefully see you there!