Question: #FHIR, complexity, and modeling
Mar 23, 2014Question:
HL7 V3 is known for increasing complexity up to the point where people give up. The RIM seems not adequate enough for modeling the world of clinical information (see. Barry Smith: http://de.slideshare.net/ BarrySmith3/hl7-january-2013).
Is FHIR meant to be a cure? I understand that FHIR it is about using a RESTful architectural style in communication of clinical resources, but the resources themselves need to be modeled appropriately. Complexity is not going to go away. Thus, FHIR appears to be another way to slice the elephant, the elephant being the world of clinical information and the need for semantic interoperability. Is there a promise for a better modeling of resources in FHIR?
Answer:
Well, this is not an easy question. The complexity we struggle with comes from several different sources:
- The inherent complexity in medicine, and the underlying biological processes
- The necessity to provide healthcare in the absence of clear information, and at the limits of human knowledge
- The wide variability in the processes around providing healthcare - including education and billing, both within and between countries
- Attempts to systematise information about all this to support computable information
Clearly, in FHIR, we could only attempt to reduce the complexity of the last point, and we have attempted to. We’ve also tried to limit the impact of the 3rd point in the way we handle extensions - we have to handle complexity, but we want to keep it in the right place. Still, this only deals with point #3
These are the things we do to try to manage complexity properly:
- We have a ruthless focus on what systems already do, partly because this is yardstick of the complexity that people know how to make work
- We have a strong focus on testing, testing, and more testing - we don’t iterate our designs in the absence of real world implementation experience
- We use the language of the domain in our resource designs, rather than a standardised language (e.g. RIM) so that people who actually use it can understand what they see quickly
- We map to other representations, including underlying ontologies and grammars, to ensure that the design is as well based in formal definitions and logic (perhaps I should say that we aspire to do this, I think we have a long way to go yet)
- We maintain our own ontology around how resources should be structured and broken up
Having said that, I don’t think any of this is a magic bullet, and FHIR is not trying to define a coherent information framework that allows for semantic computing - we’re simply defining pragmatic exchange formats based on today’s reality. I think that some of the problems that the RIM and ontologies are trying to solve, we’ve just punted them into the future in order to pursue a more practical course in the shorter term. For that reason, I try not to use the word “model” in association with FHIR, because we’re not “modeling healthcare” in the same sense that the RIM is trying to do, or that Barry is criticising it for.
BTW, having finally linked to Barry’s work from my blog, I think that Barry is largely mistaken in his criticisms of the RIM. It’s not that I think it’s beyond criticism (I have a number of my own, including this, though I’m not such a fan that I’d pose with it), but that I think he misunderstands its intent, what it does do, and what it’s not good for, and nor does he understand the boundaries within which it works).
I actually think that modeling healthcare properly is beyond our abilities at this time - too complex for normal people to deal with is too simple to express the things specialists know that computers need to say.
I expect a vigorous debate in the comments on this post… but anyone who comments, please keep my 3 laws of interoperability (It’s all about the people, you can’t get rid of complexity, and you can’t have it all) and my note about semantic interoperability (and #2) in mind.