Skip to content

The Navy could teach the NHS

The specialist in general medicine and diabetes endocrinology said: “A few years ago there were estimates that nurses were spending around 50 per cent of their time on paperwork; now I’d say it’s closer to 70 per cent.”

“It’s bureaucratic and it’s very slow and horribly inefficient,” he said.

Well, yes, you’re not doing your job as a “manager” unless you’ve introduced a new form now, are you?

Dr Caldwell said time spent completing forms that duplicate each other, and waiting for pharmacies to issue prescriptions, was slowing down processes at every turn.

“Even when they are replaced with digital forms the problem is the same, there is very bad software that often doesn’t link up with other software – so there’s time wasted with pharmacists typing in information and then having to retype into another system for the labels.

Now, telling the NHS to get a better computer system, well. Spent £12 billion last time around and got not one single line of usable code.

At which point enter the Navy. There’s one specific military procurement that came in under time, under cost – Poseidon. One of the Polaris updates before Trident I think.

One major part of which – and I was told this by my old Pa, who worked on it – was that you can do anything you like inside your little box. Well, anything that works at least. But the interfaces between the boxes were extremely rigidly defined. And really couldn’t be changed without the engineering equivalent of DefCon3.

Nothing’s perfect of course. But the best trade off between being able to get each component done as well as possible and also still be able to build the system out of the components.

Which does give us our guide to how to do an NHS computer project. Define the data format. Insist that any data exiting any one system – or entering another – conform to that format. Whatever it is. No variances allowed. Not one single divergence from whatever the one single standard is.

After all, this is how the internet works – TCP/IP and all that and yes, we all know my technical knowledge is such that that’s the wrong example – by simply stating that anything that can accept data in this format can, well, accept the data that is in this format. Equally, output it.

Design – and stick, rigidly to – the interface and leave the rest of it up to happenstance and corporate greed. Soon be sorted.

But that’s simple, isn’t it?

18 thoughts on “The Navy could teach the NHS”

  1. Define the data format. Insist that any data exiting any one system – or entering another – conform to that format.

    This is exactly what Jeff Bezos mandated at Amazon.

  2. Bloke in North Dorset

    A better example would be the mobile phone air interface. It meant that the monopoly on design and supply of handsets was taken away from the system manufacturers.

  3. Chevaline was one Polaris update cancelled by John Nott because the costs went beserk and prompted the purchase of Trident.

    To be fair to the NHS, the Xray system now works really well.

    And in this day and age there is no such thing as unreadable or “incompatible” data. We have the tools to read and manipulate just about everything.

  4. Time wasted with pharmacists isn’t limited to the NHS. How many times have we gone to Boots with a prescription and been told “come back in ten minutes while I print a label and put it in a bag”?

  5. The biggest problem with large software projects is nailing down the specification and sticking with it rigidly.
    What always happens is that new features and functionality keeps on getting added or changed mid way through, so then you always have shifting goalposts.
    You need to spend far more time initially defining what it is you want do do *exactly* before you write single line of code. Then you have to create the organisational structure so that there are people who’s feet can be held to the fire to make it happen.
    As opposed to most organisations who spread responsibility around so that no-one can be held accountable.

  6. Similar story on torpedoes.

    The RN Torpedo Factory (used to be down at HMS Vernon, now the Gunwharf Quays shopping centre) developed the Mk 24 torpedo, by working out “what bits were needed” and designing or subcontracting them… and discovered that they didn’t fit together when assembled (sometimes physical, more often unexpected interaction issues). By the Mod 2 update (nicknamed “Tigerfish” to distinguish it from the earlier, problematic models) it was working well, but the reputational damage was done.

    So, when the Navy wanted a lightweight torpedo for use from aircraft and ships, they made GEC-Marconi the prime contractor for it and said “here’s what it has to do, if it does that we’ll pay you, make it happen.” GEC (setting up a sub-branch, MUSL – Marconi Underwater Systems Limited) started with tight definitions of physical and electronic interfaces, in the same way as our host describes, and said “your sonar processor / autopilot / propulsion motor must meet this spec”. Changes were possible but very tightly managed.

    Sting Ray worked extremely well, and got its Main Production Order in 1981 (a handful of weapons went to the Falklands the next year). Twenty years later – despite the planned five-yearly ‘B Routine’ maintenance having been deferred to seven, then ten, then fifteen years – it was still earning its manufacturer the bonuses written into the contract for significantly exceeding its performance and reliability targets; a mid-life update has kept it effective and it’s still in service now (though my direct involvement with it ended in 2003…)

    First issue is getting the requirement right (is it even possible? one minor issue with Mk 24 was a “drop safety” spec that defied the laws of physics…) but once that’s done, the approach of “partition properly, define the interfaces, and then control then carefully” can be very effective.

    But then I’m biased, having been the Interface Design Authority for the Sting Ray midlife update…

  7. Time and time again public sector IT projects focus on what’s not important and ignore what is essential

    For NHS it’s all about the data, access and integrity. Most of this stuff can go over the internet via VPN or simply by encryption you don’t need to build huge networks

    Define the data spec, crypto and interfaces, then stitch it all together with commercial kit

    But I bet the requirements don’t say that, but bet they specify everything including user access devices and mounds of backward compatibility which cripples true innovation

    I bet Jeff Bezos and his team could sort this out in a couple of years

  8. I remember Sting Ray. It was just up the road a long long time ago.

    For many years I’ve been pushing projects where we all sat down and defined the APIs up front and then the stools are responsible for their own bit. Lego blocks that you put together. I still do this now. It works when it’s not just departments but lots of companies. Only problem is where one, or more, of those is a government entity then they just arbitrarily change the rules and you have to follow them. There is no contractual obligations there at that level so you end up with a non standard block that takes all the time to put together.

    Whenever Government gets involved in anything it fucks it up for everyone, except themselves, and if something is so fucked up it is unusable by many then the government has a finger in it somewhere..

  9. “After all, this is how the internet works – TCP/IP and all that and yes, we all know my technical knowledge is such that that’s the wrong example – by simply stating that anything that can accept data in this format can, well, accept the data that is in this format. Equally, output it.

    Design – and stick, rigidly to – the interface and leave the rest of it up to happenstance and corporate greed. Soon be sorted.”

    I was working on stuff in the 90s that did this. How do you get your electricity meter read when you change supplier? Well, the local company reads your meter, and then sends the data. So, OFGEM defined the interface, and every electric company implemented this. We did this on COBOL Mainframes.

    And today, we have things like OpenAPI. Your interface is defined and you run it against a bit of software someone has written and it creates the interface code, so you don’t format it wrong. You can still send crap, but it will be properly formatted crap.

    The rest of the public sector even manages this. How do transfer the history of a child in social care if they move from one local authority to another? You’d like to retain all that, right? So, name and address of a child, various events with social workers. Government defined the interface between local authorities. Go pick the vendor you want (in general, local authority software is pretty good, because there’s packages and competition).

    But ultimately nothing is going to fix the NHS until hospital managers get fired for being crap. And by fired, I don’t mean bureaucratic disciplinary, but that we privatise the hospitals and the ones that can’t get patients treated don’t make money.

    “Even when they are replaced with digital forms the problem is the same, there is very bad software that often doesn’t link up with other software – so there’s time wasted with pharmacists typing in information and then having to retype into another system for the labels. As well as being a waste of time it’s adding risks at every stage.”

    Here’s a thing with the NHS: they always do the big projects instead of ongoing bits and pieces. Like I’ve known people who did ugly kludges with bits of code sending key strokes to software. X doesn’t really talk to Y, but you can tell a bit of software to press tab, type something in, press tab again. I know blokes who could automate that in a few weeks.

  10. Bloke in North Dorset

    We had an interesting discussion on here about the NHS project when someone complained about the cost of storing X-rays in the database being a reason for cost overruns.

    That was the level of competence on that project so no wonder it failed.

    For the non techies you store the file and the database just holds its unique file names, which is just a few bytes long.

  11. @Bloke on M4 – “I was working on stuff in the 90s that did this. How do you get your electricity meter read when you change supplier?”

    Well, they seem to have forgotten how to do this kind of thing as smart meters don’t transfer properly when switching suppliers.

  12. “But I bet the requirements don’t say that, but bet they specify everything including user access devices and mounds of backward compatibility which cripples true innovation”

    Yeah. They specify EVERYTHING.

    Let me give you a small example: when you build systems that require authentication on the Microsoft stack, there’s a thing they have called ASP.NET Identity. You can wire it into a website and it does all the stuff you need like login, forgot password, change password. It comes with some sensible rules about password strength.

    If you work in a company, they just say that they need password authentication. And maybe you have a discussion about password strength and generally, you tell them how it is and they say “yeah, that sounds fine”.

    What the public sector will do is to tell you exactly how they want it all to work. “Well, if someone forgets their password it needs to email their manager and then they log in and reset the password. Oh, and passwords have to be like this, and etc etc etc. So instead of a few hours, you’re now writing custom code for a week to override the functionality. And this isn’t missile defence codes. It’s something very boring and routine.

    I reckon we could go back to women being housewives if we just stopped the public sector being like this. It adds no value to anyone. Armies of jobs for women to write this stuff, adding no value, their men taxed to pay for it.

  13. ‘And in this day and age there is no such thing as unreadable or “incompatible” data. We have the tools to read and manipulate just about everything.’

    Yes the tools exist, but when you get something that sort of follows the standard but not really then you have to use the tools. If it’s a repeat process then you have to test, test, test to ensure you’ve found all the edge cases to compensate for the errant program.
    Talk to anyone about Internet Explorer 6 and its claim to follow the standards. Yes I know it’s gone now, after about a decade of causing problems. There are JavaScript libraries out there where a large proportion of the code was to handle edge cases where IE6 was different from everything else.

    Note that all this takes time and costs money.

  14. A pal had a phone call from the NHS a few Sundays ago. They offered him an appointment the next Sunday. He was impressed.

    But, said he, “I’ve got a foot problem at the moment and I’d need a porter to wheel me to your clinic.”

    “No porters on Sundays.”

    “I see: could I ask the receptionist to phone your ward so that one of you could come and wheel me?”

    “No receptionist on a Sunday.”

    They don’t really give a toss, do they?

  15. When they really don’t want to bother defining specifications or just want to be able to change them as they go along they declare it’s an agile project

  16. SystemOne, EMIS, and the other one, do exactly this for GP clinical records systems. It’s irrelevent how each system works, but each is able to export/import data from any of the others. Enforced by pure market forces, you aren’t going to spend your practise’s money on a clinical system that can’t import data for an incoming patient, so the systems that couldn’t do so have died off.

    And there is one true prescription form that all use, and a master set of drug names, so it’s impossible to prescribe a spelling mistake; if a pharmacist can’t accept that One True Prescription Pad, they are killing their own business.

    Essentially, GPs are using email, where it’s irrelevant what writes it, what carries it, and what reads it; the NHS are using pre-1900 telephones, where it’s only possible to phone a B&I customer if you are also a B&I customer. If you have a UTC or a NTC phone, sorry, hard luck.

  17. “Talk to anyone about Internet Explorer 6 and its claim to follow the standards”

    This wasn’t incompetence or careless but deliberate policy.
    MS hoped that by making IE6 not quite standard compliant, the whole internet would be forced to become IE6 compliant, thereby destroying the open standard.
    Fortunately, as you say, a lot of people went to the effort to make IE6 the bolt-on extra, and the policy failed.

    Other examples exist.

Leave a Reply

Your email address will not be published. Required fields are marked *