Seeing the work David Hancock AdvFEDIP MBCS and others are doing at INTEROPen made me realise that many digital health colleagues know interoperability is a problem, but aren’t always sure why it’s such a hard one. So thought people might benefit from a simple explainer.
Why can’t my GP and hospital talk to each other?
I have heard many people moan about how their banks can exchange information, so why can’t hospitals, so I thought I’d start here. After all, it is a bit mad isn’t it that your GP and hospital can’t send each other information, despite both being part of the NHS.
The answer is meaning. The number 7 in one bank means the number 7 in another bank. It’s always the same thing wherever it is. Health data isn’t like that. Your blood pressure of 90/60 could mean that you’re an elite athlete, in septic shock, dehydrated or experiencing medication side effects. Without accompanying context, that blood pressure data point could mean any number of things.
So, cool, we need to not just send over the data points, but we also need to send over all the other data points that give context. That sounds tricky, but not impossible to solve right?
Except…..that clinicians record things in non-standardised ways. A heart attack might be recorded as a ‘heart attack’, a ‘myocardial infarction’, or ‘MI’. So imagine that to send £10 over to another bank, you have to send loads of data over around the context of that £10 coming into your bank account in the first place. And in fact, there are many different ways to define that £10, and all the associated contextual data points. And just to make things more complex- what context matters? For example, in acute care, details about the administration of a medication really matter. But GPs literally can’t record this information in their systems as in primary care its largely assumed a patient will self-administer prescribed drugs. So if a hospital sends a GP all the details of how and when a medication was administered during an inpatient stay, the GP system hasn’t got anywhere to store that data.
So now we have almost infinite ways to describe the thing itself, and almost infinite ways to describe the context around the thing itself. And no-one is entirely sure what context matters, so how do you decide what to record?
But isn’t one solution to help solve this problem to make sure that everyone records things using the same terminology then? So everyone agrees to describe everything in the same way. The problem here is clinical practice. Computers require binary and precise terminology. Healthcare is nuanced, language matters, and the ability to express the many facets of any clinical encounter to other humans really matters. Healthcare is about communicating in ways other humans will understand, not about communicating in ways that computers will understand. LLMs will help with this, but at the moment they are not good enough to be trusted with safely interpreting meaning. Making clinicians record everything in rigid predefined terminology risks losing nuance in how clinical situations are described. It’s like making poets communicate using semaphore. You would lose meaning and nuance.
And of course, creating a data schema that can record every single possible bit of data that any clinician working in any sector could possibly want to know is……challenging, particularly so given the fact that clinical terminology is continually changing (more on that later).
So hopefully I’m now painting a picture of why your GP and hospital can’t share your digital record. It’s interesting to clarify language here- your GP and the hospital staff absolutely can communicate with each other. Through normal language, they can describe your care in extreme and nuanced detail. The problem is that the computer systems can’t do the same thing. Or they can, but they can’t preserve meaning accurately when they do it.
So what hope is there?
So far so depressing. But, we are trying to solve it (see INTEROPen ). Here’s some approaches:
Translation
Ok- so why don’t we just translate the way things are stored in System A to the ways things are stored in System B when we want System A to talk to System B. Imagine a UN translator. Just like that. It works! So if half the world’s population spoke French and half spoke English this would be an easy problem to solve. The challenge is that there are as many clinical systems as there are languages in the world, and finding translators who can reliably translate between every possible pair of languages quickly becomes impossibly complex. And in our previous GP/hospital medicine administration example, there are words in one language that don’t have an equivalent in another language. Unfortunately healthcare and the number of organisations and systems involved in someone’s care is highly complex.
Shared Records
So continuing the language analogy, this is like agreeing that every language only needs to be translated to English. That’s going to be the common language used, we don’t need to be able to translate from every possible language to all others, just every language to English. This is better. Shared care records are great. But they are limited because they don’t contain all the functionality needed for frontline care, and allowing them to directly write to a patient’s records confuses provenance of data and sources of truth (key for safe care). They tend to aggregate information from many systems rather than replacing those systems. So they are good, but limited and compensate for the different languages in use, rather than solving the problem itself.
Shared Data Models
This one is conceptually the most appealing. A shared way of structuring clinical data that can represent almost any clinical concept, including standard ways to collect all the associated contextual data points. Of which the definitions keep changing. A mad undertaking right? But it exists- OpenEHR. But, sadly, it’s not as simple as just getting everyone to store data in OpenEHR. All system suppliers store data in a way that has been tailored for their particular system, in a proprietary way.
If all systems stored clinical data in the same way, you could chop and change systems really easily. A new shinier system emerges? Great! Just plug it into your standard database and off you go. But this is bloody awful for clinical system suppliers and destroys their business model of it being really painful to migrate away from them. So the vast majority of suppliers won’t adopt OpenEHR because it would be hugely expensive, not actually improve the functionality of their system (in fact probably degrade it) whilst at the very same time destroying their business model. It’s commercial suicide for them.
But, there is hope, with various regional and large scale OpenEHR initiatives starting to standardise the way data is stored in acute care and shared care records. Progress is being made, slowly and gradually. Shared care records didn’t exist that long ago. Not many people outside of really keen informaticians were using OpenEHR that long ago.
No silver bullet
None of these approaches are perfect, which is why interoperability often feels like slow, incremental progress rather than a single breakthrough solution
So I don’t have any clean ‘this is the answer’ closing summary stuff for you. But at least at the end of reading this (thank you if you got this far), you may have a better understanding of why healthcare organisations can’t just send each other your digital records that easily.
Healthcare interoperability isn’t a technological challenge, it’s a challenge borne of the complexity of clinical practice, language and inferred and explicit meaning. Sharing data is actually not that hard. Preserving the meaning of that data is bloody difficult.