DoS Hack 2018

A couple of weeks ago, we brought together several NHS Digital internal product teams in Exeter to spend two days hacking on projects related to Directory of Services and service information products.

I feel strongly that not all hackathons have to be developer-centric. We made a point of bringing a range of people and skillsets together for this and it’s an opportunity for people to play whatever role they want to – you do not have to do your day job!

We brought together teams who either work directly on DoS products, or who have some dependency on DoS products. This included teams such as NHS 111 Online who have had to work closely with the DoS teams over the last year to develop their product.

The primary aim of the hackathon was to bring disparate, but related teams together to counter the silo effect that we can sometimes experience working in a big organisation across multiple locations. Allowing people to put names to faces, and make new connections inevitably streamlines the way we work together. It was also an opportunity for people to break away from their daily work routine and ‘backlog’. It was not a requirement that the end result involved production-ready software or ideas supported by a business case!

The Projects

It was great to see over 20 different pitches made at the beginning of the two days with some people making more than one. By the end of the first morning, teams had self-organised around 8 projects:

“Capacity Grids Reinvented” – The team took our existing Capacity Management product and imagined what a modern, mobile-first version might look like. The team had people doing development, design, and analysis and created a collection of prototypes demonstrating a user experience much more aligned with the needs of capacity management users.

Photo of the "Capacity Management" team sitting around their project table working on their laptops.
The “Capacity Management” team worked on some prototypes for a new user interface

“Alexa, ask Health Info…” – A hackathon favourite – the team combined a number of pitched ideas to use Amazon Alexa to answer questions about health issues (using health content from the NHS.UK API) and then provide service recommendations (using information from the DoS API).

Photo of the "Ask Health Info" team standing around their project table
The “Ask Health Info” team prototyped their conversational UI with post-its and their voices

“Alternative triage products searching the DoS” – Related to work going on in the Clinical Triage Platform (CTP) programme, this team looked at how multiple triage products might search the DoS using their triage output. This is a semantics and information modelling challenge as much as it is technical.

“Elasticating the DoS…” – With Elasticsearch being another popular hackathon tool of choice, this team combined several pitches related to using Elasticsearch (or similar indexing technology) to experiment with optimising searches for service information – both in terms of speed and flexibility.

Photo of the Elasticsearch team standing in a circle around some paper designs laid out on the floor.
Surely everyone does collaborative design on the floor?

“Postcode microservice” – This team worked up a simple prototype looking at splitting commonly-used postcode reference data out into a discrete service so that it could be used across multiple teams without uncessary duplication.

“Change request microservice” – This team prototyped a “Change Request Service” for the DoS, experimenting with JSON Patch syntax to present some simple request and approval workflow via an API to allow consumers to request a change to their service information.

“Faker” – As is the story with so many startups these days, this team began looking at the potential of using Machine Learning to optimise the search algorithms in the DoS but quickly pivoted to focus on using the Faker tool to generate synthetic service information in bulk. The potential here being not just simple testing, but the opportunity to generate on-demand service data to reflect different commissioning scenarios within the NHS.

“Geofencing (I’m a person not a crow)” – This team decided to tackle the long-standing issue of the DoS using “direct line” distance searching. They prototyped an end-to-end search using Isochrones to define polygons to bound searches, which can then be easily passed into most geospatial-aware database queries.

How did it go?

At the end of the second afternoon each team gave a 10 minute show and tell about their projects. We managed to get some of the NHS Digital DDC Exeter Senior Management Team along for this bit – and I’m glad we did.

Although, as I’ve mentioned, the idea was not to produce “deployable solutions” I was chuffed to see just how much the teams had achieved in just a day and a half. I certainly left the event trying to work out how I could shoehorn the ideas into our product roadmaps, and I am confident that we have turbo-charged some of the work we will need to do in due-course.

It was great to bring lots of different skillsets together and almost everyone felt like they could contribute, but there is always more that can be done to make sure the day is as inclusive for every attendee as possible. It just emphasises that you really do have to put in the prior effort to structure any kind of collaborative / interactive event like hackdays or workshops if you want it to really ‘work’.

Thank you to everyone who contributed to making it a valuable two days – I’m certainly hoping we can do it again, and maybe with a broader attendance.

NHS Hack Day – What is a pitch, and who should do one?

This is a shadow copy of the blog post published on (NHSHackDay.com): (http://nhshackday.com/blog/posts/2018/01/17/everything-you-ever-wanted-to-know-about-pitching)

If you’re new to NHS Hack Day (and even if you’re not), the thought of pitching your idea to an entire room of people is quite daunting.

So who should pitch at NHS Hack Day? And what even is a pitch anyway…?

Let’s cover the what and who bits first.


What is a pitch?

A pitch is a short opportunity for a person to share a project idea to tempt others to work on it with them.

At the start of NHS Hack Day, anyone with a problem or project they think might be interesting to other attendees can speak for up to 60 seconds to explain it to the rest of the group.

Based on these short pitches, other attendees decide what they’d like to spend time on on during the weekend.

The pitches are short, and so it is not possible to use slides or to show demos on the projector. This is almost always a good thing — you can focus on making your explanation as clear to as many people as possible.

If you really need to show something (seriously, you probably don’t), you could hold up a sheet of flipchart paper (we’ll have lots of this) — but try not to over-complicate or over-think it 🙂


Who should pitch?

Short answer: Anyone.

Longer answer: This is an opportunity for anyone with an idea that they’d like to explore, or a problem they have in their day-to-day work, to tell a room full of smart and motivated people about it, with the aim of coming up with a joint solution, or even ‘just’ some more information about the problem.

The weekend will be a great opportunity for you to learn about what other people in your sector are doing, and how they’re addressing the problems they face; but of course this will work best if everyone buys in.


I’m still not sure

Ok, so now you know why you are totally someone who should pitch at NHS Hack Day, but you’re still not sure?

Here are some common concerns about pitching:

1. I’m not very good at presenting to audiences

Firstly, you are probably a whole load better at it than you think you are.

Secondly, the NHS Hack Day community does not attract polished speakers with years of presentation experience. It attracts people just like you and I, who have the same apprehensions.

The quick-fire pitching style is actually fun. It’s so different to a formal presentation that people won’t even think about the sort of things you’re worried about.

And if you’re still not sure: talk to an organiser or hang back down the queue a bit, watch some other people pitch first, and then see how you feel. Every hack event we’ve held has had at least one last minute idea pitched where someone gets inspired by the other pitches.

Lastly, no one will even notice if you decide not to go ahead. 🙂

If you think that talking through your pitch with someone might help, do get in touch with our team of volunteers on the event Slack, on Twitter, or at hello@openhealthcare.org.uk and we’ll be happy to try and help you.

2. My idea is not developed enough to be interesting or useful

This is just not A Thing!

The best ideas for an NHS Hack Day are those ones that have plenty of room to be developed. That’s why we’re at NHS Hack Day in the first place, right?

People come to NHS Hack Day for a number of reasons: to work on an idea or problem they have, to get stuck in helping other people develop their ideas, or just to learn about what’s happening and to meet people.

In any case, what you have to offer is valuable to the community – we promise.

Your pitch might be as simple as describing a problem that you’ve encountered, and there will be people in the audience for whom that is enough for them to get problem-solving with you.

You might have a clear idea, but feel like you haven’t developed the ‘how’ enough yet — that’s great! Tell the audience this, and ask them to help you work out the ‘how’. Again, this will be a really interesting proposition for some people.

Be careful here not to pitch a solution rather than a problem, see Tip 5 in our first blog (http://nhshackday.com/blog/posts/2017/11/15/top-10-tips-for-awesome-pitches) for more info on this!

There is no idea too small or too early to pitch – you’ll get a feel for this as soon as you see what other people are pitching.

3. My idea isn’t interesting enough, or the other ideas will be more interesting

“Interesting” is a personal thing. You really can’t guess what will or won’t be interesting to other people in our community.

NHS Hack Day often ends up with only some of the original pitches actually being worked on; this is entirely normal, and is a result of the self-organising that happens at these events.

It is possible that your pitch won’t make it all the way to the end of the weekend, but this is not a reflection of quality, interest, value, or you. You might even decide that you’d rather work on someone else’s idea (this happens ALL the time).


Go on, give pitching a go

Don’t be shy: do consider having a go at pitching. Your friends at NHS Hack Day are the best people you could do this with for sure.


And lastly, as always, if you have any questions about anything in this post (or indeed about anything else), do get in touch with our team of volunteers on the event Slack, on Twitter, or at hello@openhealthcare.org.uk and we’ll be happy to help.

My 2018 event schedule

I only realised in hindsight that I attended a number of tech events, meetups, training, hackathons etc. during 2017.

To attempt to be a bit more organised, and in case it’s of interest to others, I’m going to keep a live list of my planned events for 2018 here. Give me a shout if you’re interested in any of them and would like to know more!

January

May

June

September

October

  • TBC – MindTheProduct Conference, London

November

NHS Hack Day 17 – Manchester

A short blog post about NHS Hack Day and why it’s worth attending.

"NHS Public Data" team

I have just spent the weekend at NHS Hack Day in Manchester, hosted by the Co-op in their new tech hub The Federation.

I wrote this blog post with the primary intention of sharing with my colleagues in NHS Digital to hopefully encourage some more people to get involved – but I don’t think there’s anything here that doesn’t apply to everyone.

It was a brilliant weekend, and there was a super mixture of people there – plenty of healthcare professionals, IT professionals, some senior management types (CIOs / CCIOs), general “techies” (professional, aspiring, and amateur), researchers, and a lawyer.

"Mobi-Alert" team

What’s NHS Hack Day like?

For those who aren’t familiar with NHS Hack Day, it goes something like this:

The event runs 9-5 Sat and Sun

Lunch is provided on both days and hot drinks are available throughout.

Saturday morning is spent using coffee to recover from the work week, chatting with people, and pitching ideas.

Pitches are 2 minutes each and you can pitch anything from a solid idea to an open-ended question (this time we even had someone who wanted to create a sci-fi story about healthcare in the year 2100).

Most people are nervous

Some people only decide to pitch an idea whilst watching the other pitches – the team that won last weekend only decided to pitch after getting confidence from the other pitches.

After pitching everyone has some time to go and talk to the pitchers, explore the ideas, and gradually teams are formed around the projects. Sometimes ideas are merged together, sometimes they’re split off into smaller projects.

The rest of Saturday, and most of Sunday is spent working on projects 

Different people work in different ways; some teams like to stick the headphones on and just chip away at a problem and others will spend a lot of time working through problems interactively. 

Sometimes people start building software etc. in the first hour, sometimes people don’t build at all.

On Sunday afternoon teams decide if they would like to present their project to everyone else – and if so submit their projects

This is completely optional, but it feels good and is encouraged – the community is friendly and rarely does a team not present something.

"Trendy" team

At about 15:30 everyone gets together and watches presentations

Each team gets 3 minutes to present their work, and 2 minutes to answer questions.

I’m always amazed at what people have managed to prepare – last weekend we had a Fresh Prince rap from one team, and a promotional video from another…

I had several conversations with people where they were not sure where they were expected to be in terms of progress at various points through the event. Superbly, there is no right answer.

The presentations are one of the most enjoyable bits for me – and last weekend had me smiling throughout every single presentation. There were so many great ideas, and every team had something interesting to show.

Teams will present anything from some paper mockups and a bit of narrative through to a fully working product with audience participation – it is dependent on the type of project, the team, and how good people are at getting up on Sundays mornings.

IMG_0030

After presentations, there is a short period of evaluation where either a panel of invited judges, or the community, will vote for the top three projects – and those teams are given some prizes

We tried a new approach to voting this time where the community was given 3 votes each to vote for the three projects they were most excited by. We trusted the community to not vote for themselves, and to only vote three times – this simply doesn’t need policing.

People then help put the borrowed space back to how it was found, and head home feeling enthused 🙂 

The last 30 mins is spent clearing up, saying goodbye, exchanging contact details, plotting world domination, and just generally wrapping up an enjoyable weekend.

170716-DSCF2913.JPG

Why should I care?

If you’re thinking “well I’m sure you all had fun, but does this matter to me?”, here are a few of my thoughts:

There is absolutely no ‘right skill set’

In fact I shouldn’t need to explain that diversity always wins and this certainly includes diversity of skills.  The best outputs come from the teams with the most diversity, and there is no buzz quite like building something with a diverse team of techies, healthcare professionals, artists, and users.

On our team, we were all learners in one way or another so a large amount of our time was spent pairing, learning, explaining, and discovering – this is just as rewarding as having something shiny to present the end of it.

This type of event is unconstrained thinking at its absolute best

As an embittered and tiring NHS technology person, I go to these events to recharge my batteries. This kind of community is not subject to the organisational, political, and learned behavioural constraints that many of us are.

It’s incredibly rare that a pitch is binned because “we’ll never get it through the <insert your favourite bureaucratic restriction here> process” – people are there to busk and solve problems. The concept of a political mandate, or a 4:1 return on investment simply isn’t important here.

The ideas and outputs from these events are a map for the future

Maps are so useful – we are all pretty convinced of the benefit of roadmaps, and visions, and Google maps.

The ideas at these events give us a clue about what is around the corner for NHS technology. Many people at these events are recently qualified healthcare professionals, or are maybe only involved with NHS technology as users and see this as an opportunity to have a voice.

The things they want, and expect, are clues – to what we should be thinking about, to where we should be going, and to where we’re falling short.

It helps prove that the centre can engage, listen and help

Do not read subtext into this – I am not saying “NHS England / NHS Digital never engage with the community”.

But it should not raise eyebrows at these events when one says that they work for NHS Digital, or NHS England – people are, but shouldn’t be, pleasantly surprised.

Last weekend I think I counted the number of attendees from NHS England / NHS Digital on one hand – I’d love to see this go onto two hands.

People are enthused to see us there, and actually we can be really helpful as guides, navigators, and mentors. It encourages innovators just to know that we’ve considered it of value to take time to be there.

It’s not just about AI and mobile apps – people solve fundamental problems too

One of my favourite projects from last week: FastPass. A team of seasoned IT support professionals who were determined to sort out the drag of password resets – both for support staff and users. They built a working system for self-service password resets and they intend to take it forward within their local NHS trust.

My team tackled the challenge of collecting timely feedback from users of NHS services at a scale that would produce enough data to be significant.

Real problems, not flashy, that could genuinely make stuff better.

IMG_0025

In conclusion

Next time there’s an NHS Hack Day near you, try and get along – if only for one day.

If you don’t like it then fair enough.

But you might do, and you might find it leads to you bringing a better, more energised self back into work the following Monday – and that can only be a good thing for your own organisation, and the NHS.

Visit http://nhshackday.com/ for more information, or follow @NHSHackDay on Twitter.

If you are interested, and would like to ask some questions feel free to drop me an email at matt@stibbsy.co.uk or @mattstibbs on Twitter – I’d be really happy to tell you more.

NHS Hack Day 16 – London

Last weekend was the 13th NHS Hack Day (#nhshd) – superbly organised and hosted in London by Helen Jackson (@DeckOfPandas)  – and the 2nd #nhshd that I’ve attended.

My first #nhshd was in Manchester last year where a small group of us hacked an idea to help medical students get access to more hands-on learning opportunities – we called it SLOT (Supervised Learning Opportunities by Text). We agreed to continue with the project on after the hack day and we’ve just started a trial at Western General Hospital in Edinburgh – we’re keeping our fingers crossed that we get some interesting results.

There have been several blogs published since last week describing what it’s like to attend a NHS Hack Day and I think they’ve done a pretty good job – so I’m going to avoid repeating the same things and link to a few of them instead:

http://www.drgrimes.co.uk/?p=206

http://itsuite.it.brighton.ac.uk/rlr17/blog/?p=215

http://openhealthcare.org.uk/blog/2016/05/20/nhs-hack-day-13/

There were many excellent ideas pitches and I was really encouraged by the number of ideas that were focused on making a tangible change to the way and ease with which people can do their work.

I arrived with no preconceptions about the type of idea I would work on – only that I would actively avoid anything that was focused around sending people text messages (I’ve hacked around this a few times now).

I was particularly excited by a couple of the ideas:

  • The first was an idea to hack a real anaesthetic machine (brought to the venue) to get data from it directly and do useful things with it – we were told that currently information is normally transcribed manually from the machine to the patient records.
  • The second was an idea to hack an easily-deployable patient observation system which can be used in the field during health emergencies where you don’t have reliable power and connectivity – the example used was the Ebola virus epidemic in West Africa where using paper to record observations was both impractical and an infection risk.

The idea that I was ultimately drawn to was from Adhiraj who is a consultant child and adolescent psychiatrist working in London. He described a frustrating situation faced by clinicians working in mental health all over the country. We ended up prototyping a solution to help locate available mental health beds, and automate the process of requesting and accepting referrals.

We managed to demonstrate a working prototype by the end, and were lucky enough to be placed in the top three by the judges! A very satisfying end to the weekend 🙂

 

 

The “datetime.datetime not JSON serializable” thing

I hit this every time I start a new project involving APIs and data stored in PostgreSQL; and every time I spend ages googling to try and remember how to fix it.

The issue is that psycopg2 returns datetime.datetime types from database timestamp fields, which then can’t be converted when calling jsonify() on the returned dictionary.

There are actually quite a few ways to solve this and I’ve tended to use whichever one seems to hurt my head the least at the time…

Previously I’ve used the following method:

class DateEncoder(JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.date):
return obj.isoformat()
return JSONEncoder.default(self, obj)

But this time I discovered it can actually be as simple as:

json_friendly_date = meany_datetime_type.isoformat()

.isoformat() returns you a nice ISO8601 complaint string which will then jsonify() nicely

>> datetime.datetime(2015, 11, 9, 20, 30, 00).isoformat()
"2015-11-09T20:30:00"