Interoperability is a two step process – first you have to get people to understand each other, and then you have to get them to agree with each other.
I put these in this order for a reason. It’s certainly possible for two people to agree with each without have any understanding of each other. In fact, this is regularly seen in HL7: it’s called “heated agreement”.
And the problem is, it’s accidental; it’s not based on a proper knowledge of the problem at hand, and while the two (or more) people might actually agree with each on a particular matter, it’s almost certain that their disagreement is due to speaking different languages, and that the different language will lead to actual disagreement on the next subject over.
So you have to get actual understanding between people. And often, that’s enough; as soon as people understand each other, they’ll come to agree with each other spontaneously.
But sometimes this doesn’t happen. That’s when the going gets tough.
Mostly this happens when people have already built systems (applications, policy frameworks, books, or even blogs). People can change their minds on a matter pretty quickly (in some cases, years of contention and confrontation can be solved in just 3o seconds of discussion, when the right words are said). But when they’ve already built systems, and the systems are based on differing solutions to the same problems, it’s quite likely that changing the systems will be very costly; too costly to contemplate.
Either people are going to have agree to disagree, or they’re going to have to compromise. And compromise means that one or more people are going to be spending a lot of money.
In these cases, it’s hardly surprising that compromise is hard to achieve, and that getting there features bad feelings, brinkmanship, and diplomacy. Compromise is expensive, and therefore valuable.
Or you can do what HL7 increasingly does: build a complicated framework that allows both solutions to be described within the single paradigm, as if there isn’t actually contention that needs to be resolved, or that this will somehow resolve it. This is expensive – but not valuable; it’s just substituting real progress with the appearance thereof.
Note: I think this is the one of the “beauties” of v2 – there’s nowhere to hide ongoing disagreements but right there in the mess of segments and fields.

Leave a Reply