Dear William,
the core technical approach taken by openEHR to modelling is quite different from that taken by HL7. You do need to accept that we did this not for some emotional reason, but for absolutely objective clinical and technical reasons. openEHR is a requirements-driven EHR interoperability architecture. Our analysis of requirements (involving many people over many years) led us to certain kinds of models and thinking (see GEHR etc). More recent advances (archetypes, templates) produced a new modelling paradigm. Over this time, ongoing improvements to the reference model have been made, incorporating the thinking of many people, including people from this list. The result is an architecture which is:
-
completely object-oriented
-
based on accepted type systems (ISO 11404, programming language and XML type systems)
-
componentised rather than monolithic specifications
-
respects the RM/ODP separation of viewpoints (service models and information models)
-
clean separation of ontology/terminology, information models, and domain-level models of information
-
allows for relatively future-proof software systems and databases to be built
-
powerful information concepts like generic versioning and workflow-oriented Instructions
-
allows clinical and other domain people to model their concepts in a natural and flexible way
-
offers “single-source semantic modelling” in the sense that you only need to define an archetype once, and you can generate the appropriate schemas for databases, GUI software, messages, etc
-
developed in an open, engineering (requirements & design) environment, rather than a standards (meetings-based) development environment
-
implementable (there are implementations in 3 languages, some already deployed in production).
Of course it is not perfect. But it is a very considered response to requirements, and also other available standards and technologies. And of course, it is still evolving.
During this time, we have made a very careful analysis of HL7v3 (as well as CEN EN13606, ASTM CCR, HL7 CDA and others). I myself went to HL7 working group meetings for about 4 years; so did many of my colleagues. So our engagement was not fleeting (nor was it inexpensive…).
HL7 is based on very different design notions, some of which are unfortunately incompatible with key items the above list. So, at an engineering level, the approaches cannot be merged (although we made significant efforts in this direction). We have certainly included useful thinking from HL7v3. To take one example, the openEHR datatypes specification is clearly influenced by the HL7 datatypes (and acknowledged in the relevant document). Nevertheless, at an engineering level the HL7 approach could not be used in openEHR. The main reason is that in the HL7 approach, all the primitive data types (integer, real, string etc) are redefined, incompatibly with existing primitive data types. This is a well-known problem within the HL7 organisation (and in CEN), and some steps have been taken to improve the situation. It is not yet resolved. There is now a work item in ISO TC 215 to try and solve it. In the meantime we need something that works (despite all this: have a look at the openEHR ‘encapsulated data’ or ‘timing specification’ types; they are nearly unchanged from HL7).
Clearly it would be nice to bridge the gap between RMIMs and other message models, and archetypes and templates. As far as I know, there is no solid specification of HL7 “templates” (their word for archetypes). Even if there were, there is still the problem of competing notions of any given clinical concept within HL7, expressed firstly as an RMIM, and secondly as a template. At least the former is heavily tied to the HL7 RIM and message development specifics, whereas from our point of view, domain concept models (archetypes) have to be cleanly separated from the underlying information model. This is how we can build systems based on only one set of stable schemas, which never change when archetypes change or are added. In HL7, the domain level specification is in each case a new information schema. So there is an important design principle at stake, which has profound consequences on system architecture. We have spent significant time in looking at harmonisation in this area. One problem has been HL7’s attitude is that it is up to the other party to re-express their ideas in the RIM or other related things, and to change their approach. The HL7 modelling approach is not up for modification in my experience.
I will mention one further area, where we have had significantly more success in harmonisation with HL7, which is the CDA specification. Dipak Kalra and others have spent a lot of time with the CDA group on cross-reviewing CDA / EN13606 / openEHR, and changes to the openEHR models have certainly come out of that.
I won’t go into other problematic areas, that would take all day. But I don’t think people who work on and develop openEHR can be accused of not engaging with HL7, or any other standards organisation for that matter. I would say we have bent over backwards, with minimal funding, to be involved.
The openEHR community is absolutely focussed on solutions (there are dozens of implementation projects going on around the world), and is also focussed on standardising archetypes and templates. We have published a completely generic (and industry-independent) language and model of archetypes, and work is going on to standardise actual archetypes. There is even an early archetype ontology server at http://www.dualitysystems.com.au/archetypefinder/archetypefinder. There are also some very interesting openEHR/HL7v2.x design approachs and solutions emerging.
I think you will find that people working on openEHR are very happy to cooperate with others. But cooperation is a two-way process.