Interoperability with HL7

I would like to address the interoperability with the HL7 standards. As I understand it is possible to map between OpenEHR to HL7 CDA, this allows us to create systems that are based on the openEHR reference model compatible HL7. This system would be able to send HL7 v2 and HL7 v3 messages from the CDA and EHR_EXTRACTS from the OpenEHR reference model.

I don’t understand what consequences have that the HL7 RIM is still not fully compatible with the OpenEHR reference model if we can send messages from HL7 CDA.

Is there other problems in the interoperability between HL7 and OpenEHR?

I hope that Thanks

Alberto

Alberto,

at the large reference model, there are differences. But at the level of an Entry on OpenEHR and a clinical statement in HL7 v3, I have not seen other problems than only technical changes. Semantically the way data are expressed and linked to codes are similar. A clinicial statement does allow to include relationships between variables, for instance like in assessment scales (Apgar, Glasgow COma etc). That should be added on the level of an archetype if that information needs to be send.
But normally five Apgar values and the sixt Apgar total at point X in time can be sent as a set of 6 HL7 v3 clinical statements following exactly the archetype format.

Met vriendelijke groet,

Results 4 Care b.v.

dr. William TF Goossen
directeur

De Stinse 15
3823 VM Amersfoort
email: Results4Care@cs.com
email: williamtfgoossen@cs.com
telefoon +31 (0)654614458

fax +31 (0)33 2570169
Kamer van Koophandel nummer: 32133713

Hi Alberto,

In practical terms, performing mapping between HL7v2 messages and openEHR, and also CDA and openEHR is certainly possible. It takes some work - the complexity of the HL7 RIM doesn’t make it that easy for CDA or other v3-based structures.

In a theoretical sense, the key thing to understand is that in HL7 there is a pervasive approach of restriction-based modelling - in the RIM, the data-types, and all *MIMs. In this kind of modelling, abstract classes have numerous attributes, in theory all that would ever be needed, and descendant classes are defined as restrictions of the parents. You will have noted for example that the Act class in the RIM has 22 attributes, and the Act-relationship class 18. I won’t go into the problems that this causes, but there is one other key fact to note: the RIM classes contain a mixture of domain information related attributes and message-related attributes. However, if your interest is not hand-building messages, it can be hard to see past these attributes to get a pure domain model of the concept in question, e.g. cholesterol test result, or whatever. This is one of the reasons CDA has become popular, because it is a more generic, less message-oriented RMIM than other message types. It nevertheless contains the same fine-grained (level 3) concepts as the RIM, albeit in a restricted form.

At a more concrete level of analysis, you need to compare the reference models. The openEHR reference model is a standard OO style of modelling, and has been heavily influenced by the development of archetypes over the years. It now appears to accommodate most clinical models pretty naturally and has been very stable for nearly 3 years. It contains useful structures like history-of-events, various design patterns for referencing demographic entities, a generalised state machine for instructions and activities, and a comprehensive model of distributed versioning.

In terms of solving practical interoperability problems, the above analytic comparisons have been useful in implementing the required transformations. If you can provide more detail on the problem you are trying to solve, I could probably describe more detailed and relevant points of comparison.

  • thomas beale

Alberto

I would say that EHR systems based on the openEHR specification face similar interoperability challenges to to those based on other proprietary or open source architectures.

I will take a step back and observe that two implementations of openEHR or any other EHR system design will not interoperate fully unless there are coherent information structures used. This is certainly true of a system as flexible as that defined by the openEHR architecture.

Agreeing on a reference model (HL7 RIM, 13606, openEHR, …) and a terminology certainly helps, but even with that agreement in place there are many ways to represent the same clinical content. More is needed to ensure that information can be safely reused and combined. Within an openEHR installation this is achieved by using a single coherent set of archetypes, much as data structures are localised in other EHR architectures.

If your requirement is limited to communicating within an openEHR community, then developing and agreeing to use a suite of common archetypes and templates is sufficient. If you wish to interoperate with the broader healthcare information systems installed base, then it makes sense to work with HL7 specifications which are focused on delivering this, and broadly adopted for this purpose.

For external communication of entry-level detail using HL7v3 there is a need for agreed static models (R-MIMs). These are implemented as templates (eg with CDA), or as CMETs in V3 messaging - and a corresponding sets of archetypes for 13606 or openEHR can be defined if these are what you use to configure your system.

All the best

Charlie

More is needed to ensure that information can be safely reused and combined.

Dear Alberto,

Can you please explain what this ‘more’ is and provide some examples for a non-technical person like myself.

Cheers,

Stef

Dear Stef,

As I understand when Charlie McCay says “More is needed to ensure that information can be safely reused and combined.”. It is because when you have an agreed reference model and terminology, for example openEHR and SNOMED you can define the clinical concepts relation using the archetypes but your archetype definition for one concept may vary between different solutions. Each of these possible solutions would be valid archetypes that can be used therefore to avoid problems is better store your archetypes in an agreed repository. Then both sides, the source and the receptor, can express the medical concepts with the same structure (archetype) and avoid interoperability problems.

The same situation can happens defyning clinical concepts in other reference models such as HL7 CDA or 13606 archetypes.

This is only my opinion maybe I am not the right person to answer about other people comments

Alberto

2010/2/1 Stef Verlinden <stef@vivici.nl>

Alberto

You are correct.

An example would be the XMLEPR project [1], which in 1999 asked a number of suppliers to write ENV 13606 instances for the same GP medical record. The results showed that each used different combinations of 13606 structures to represent key concepts such as allergies. Since these structures need to be recognised and used by the receiving systems, further specification is needed. In the case of the english GP2GP project, an HL7v3 implementation of 13606 (ie clinical statement) was used, with additional implementation guidance to say how allergies, family history, and many other such patterns should be represented. This has been successfully adopted and implemented within the NHS CFH program [2].
The language defined by ENV13606+Read codes was too flexible for the receivers to be able to be able to identify all the allergies (among many other things). The GP2GP specification effectively established a more specific language for expressing GP record contents, that was easier for receivers to process.

In the time since then formalisms (archetypes, HL7 static models as templates, etc) have been developed to help express those additional constraints.

One other question to ask is why you want interoperability. Often it is fine to define structures that will only be used locally, and often it is all that is possible. OpenEHR defines a particular architecture that can be used for EHR systems which manipulate locally defined data, as well as data that needs to be shared in a wider community. HL7 provides a framework and set of specifications for sharing healthcare information.

All the best
Charlie

[1] http://xml.coverpages.org/isis-healthcare.html
[2] http://www.connectingforhealth.nhs.uk/systemsandservices/gpsupport/gp2gp

Based on Charlie’s reply, maybe my own was not clear. openEHR is mostly not about solving the problem of openEHR systems talkng to each other (that is rare at this stage, as you might imagine; when it happens, there is not much problem to solve, obviously - openEHR is a single data standard), but in fact solving normal interoperability problems with other systems and formats. Connecting to HL7v2 messages, HL7v3 messages (these seem to be pretty rare so far, apart from the UK and Canada) and CDA documents, other formats like text, PDF, proprietary data structures, but also the IHE framework, Microsoft CHF services framework… all this is already happening in the openEHR world. The main point is how it is done. Instead of manually building a message specification for say ‘microbiology’, the openEHR approach is as follows:

  • build or source archetypes, like you can see at http://www.openEHR.org/knowledge e.g. see Apgar at http://www.openehr.org/knowledge/OKM.html#showArchetype_1013.1.172
  • create templates from the archetypes for use-case specific use
  • from templates we create various computable artefacts - such as template-based message schemas (XSD) and template-based programming objects.
  • template-based message schemas are used to implement messages, either as an integration solution, or as an end-to-end solution
  • template-based programming objects are used to enable integration with existing applications
  • all querying done with AQL or other archetype-path based languages, which enable portable, semantic querying for all data represented in openEHR format.

This singe-source semantic modelling approach is visualised at http://www.openehr.org/160-OE/version/default/part/ImageData/data/single_source_models.jpg . I would go so far as to say that the age of hand-built messages will be over soon - it won’t make people in HL7 happy I guess, but the technology is now beyond that approach, and firmly in the arena of model-driven content and SOA infrastructure.

The final standardisation within openEHR of the templates and template-related artefacts are happening at the moment, based on the last couple of years’ experience with this technology within some of the commercial openEHR vendors. Our experience of archetype-based querying has been extremely successful, in both EHR and population modes. Querying is one of the weakest areas in the published standards, yet it is probably the single most important factor in the use and re-use of data in health. Having a comprehensive and semantically solid querying approach is therefore crucial for useful interoperability (after all there is not much point moving data somewhere else, or transforming it if you still can’t query it properly). We believe that the combined power of archetype-based templates and archetype-based querying will become a major advance for the field of health informatics, along with the emerging openEHR service infrastructure.

  • thomas beale

Not trying to start a war, but I am disappointed at the continued dialog
that is negative toward HL7. If, in fact, openEHR has solved all of the
problems of interoperability and is being picked up around the world, I,
and I think, many of my HL7 colleagues will be delighted. Very few of the
members of HL7 make money from HL7, so I think our motivations are driven
by our companies and the market place. Solving the problems of
interoperability will certainly open the door for many more important
accomplishments. I hope archetypes are engaged by the clinical community
and help us make a key step forward. However, there are still hurdles to
be overcome before we have systems working together. Let's join forcesa
and publicize successes in a demonstratable way. Whether HL7 or openEHR, I
think one's success is the others success.

W. Ed Hammond, Ph.D.
Director, Duke Center for Health Informatics

             Thomas Beale
             <thomas.beale@oce
             aninformatics.com To
             > openehr-technical@openehr.org
             Sent by: cc
             openehr-technical
             -bounces@chime.uc Subject
             l.ac.uk Re: Interoperability with HL7
                                                                           
             02/01/2010 10:33
             AM
                                                                           
             Please respond to
                For openEHR
                 technical
                discussions
             <openehr-technica
             l@chime.ucl.ac.uk
                     >
                                                                           
Based on Charlie's reply, maybe my own was not clear. openEHR is mostly not
about solving the problem of openEHR systems talkng to each other (that is
rare at this stage, as you might imagine; when it happens, there is not
much problem to solve, obviously - openEHR is a single data standard), but
in fact solving normal interoperability problems with other systems and
formats. Connecting to HL7v2 messages, HL7v3 messages (these seem to be
pretty rare so far, apart from the UK and Canada) and CDA documents, other
formats like text, PDF, proprietary data structures, but also the IHE
framework, Microsoft CHF services framework.... all this is already
happening in the openEHR world. The main point is _how_ it is done. Instead
of manually building a message specification for say 'microbiology', the
openEHR approach is as follows:
      build or source archetypes, like you can see at
      http://www.openEHR.org/knowledge e.g. see Apgar at
      http://www.openehr.org/knowledge/OKM.html#showArchetype_1013.1.172
      create templates from the archetypes for use-case specific use
      from templates we create various computable artefacts - such as
      template-based message schemas (XSD) and template-based programming
      objects.
      template-based message schemas are used to implement messages, either
      as an integration solution, or as an end-to-end solution
      template-based programming objects are used to enable integration
      with existing applications
      all querying done with AQL or other archetype-path based languages,
      which enable portable, semantic querying for all data represented in
      openEHR format.
This singe-source semantic modelling approach is visualised at
http://www.openehr.org/160-OE/version/default/part/ImageData/data/single_source_models.jpg
. I would go so far as to say that the age of hand-built messages will be
over soon - it won't make people in HL7 happy I guess, but the technology
is now beyond that approach, and firmly in the arena of model-driven
content and SOA infrastructure.

The final standardisation within openEHR of the templates and
template-related artefacts are happening at the moment, based on the last
couple of years' experience with this technology within some of the
commercial openEHR vendors. Our experience of archetype-based querying has
been extremely successful, in both EHR and population modes. Querying is
one of the weakest areas in the published standards, yet it is probably the
single most important factor in the use and re-use of data in health.
Having a comprehensive and semantically solid querying approach is
therefore crucial for useful interoperability (after all there is not much
point moving data somewhere else, or transforming it if you still can't
query it properly). We believe that the combined power of archetype-based
templates and archetype-based querying will become a major advance for the
field of health informatics, along with the emerging openEHR service
infrastructure.

- thomas beale

regarding any war - me neither :wink: Ed, I hope you see that it is reasonable to respond in some way to disinformation like ‘only use openEHR if you are trying to talk to openEHR systems’ - on an openEHR list! Nearly the only problem of interest in openEHR is adding semantics to existing environments. It is obvious by inspection that openEHR would not need to exist in its current form in order to talk to itself.

There are theoretical difficulties with HL7v3 messaging & RIM, I don’t think there is any way around that, and they do manifest in practical ways; there are also difficulties with CDA. But above all, I still (really, honestly, sincerely) want an answer from HL7 to the question:

  • how can I define a piece of domain content (microbiology result, Apgar result, ENT exam, etc) once and re-use it in multiple concrete technologies such as a) XSD, various GUI forms development, various programming languages, and b) for various different purposes, e.g. EHR persistence, messages, screen forms, and especially for creating portable queries from.

As far as I know I can’t really. I can make an RMIM, or a CDA template, but I can’t really use these together without treating them like different data schemas. And I can’t directly re-use either for EHR persistence, querying, reporting or screen display or data capture. I am not saying that openEHR has got every last detail on this solved, but it does have large chunks demonstrable, including fully generated message schemas, programming objects, querying and reporting. The formal infrastructure is proving to be very solid and extensible - and yet it retains simple features like only one XSD for all openEHR data (well it is literally a collection of 6 or 8 component XSDs but you know what I mean). Within the openEHR framework we can generate the equivalent of any HL7 message or CDA - via a tool chain using archetypes, templates and terminology. And we can query the date with archetype-based queries.

On the other hand, HL7 has a big community, much better marketing, and probably a better handle on use cases. To me the question about joining forces (which is what we in health informatics owe the world at large, I think) is how it can be done: it must have technical things like:

  • a solid, open formal platform framework

  • a clear, useful reference model

  • a single source domain modelling approach

  • a solid querying methodology

  • an integrated set of service definitions

  • a clean way of integrating with any terminology

It must also have the qualities of a community:

  • a recognised meeting place and culture

  • agile but defensible governance

  • buy-in from industry

  • an on-the-ground network of affiliates

  • a wide-ranging handle on the requirements of the domain

I would say openEHR’s strengths are in the first list, and HL7’s largely in the second - I am the first to recognise the community-related weaknesses of openEHR. What the world really wants here is a) ONE technical framework and b) ONE open community and governance framework. It could be possible, at the price of some dented egos. History says it will remain a dream. What would it take to overcome that? (Proper funding might be one answer)

  • thomas beale

I like your reply. I am willing to commit to putting energy behind merging
al standards groups, probably under ISO.

W. Ed Hammond, Ph.D.
Director, Duke Center for Health Informatics

             Thomas Beale
             <thomas.beale@oce
             aninformatics.com To
             > openehr-technical@openehr.org
             Sent by: cc
             openehr-technical
             -bounces@chime.uc Subject
             l.ac.uk Re: Interoperability with HL7
                                                                           
             02/01/2010 12:02
             PM
                                                                           
             Please respond to
                For openEHR
                 technical
                discussions
             <openehr-technica
             l@chime.ucl.ac.uk
                     >
                                                                           
regarding any war - me neither :wink: Ed, I hope you see that it is reasonable
to respond in some way to disinformation like 'only use openEHR if you are
trying to talk to openEHR systems' - on an openEHR list! Nearly the only
problem of interest in openEHR is adding semantics to existing
environments. It is obvious by inspection that openEHR would not need to
exist in its current form in order to talk to itself.

There are theoretical difficulties with HL7v3 messaging & RIM, I don't
think there is any way around that, and they do manifest in practical ways;
there are also difficulties with CDA. But above all, I still (really,
honestly, sincerely) want an answer from HL7 to the question:
      how can I define a piece of domain content (microbiology result,
      Apgar result, ENT exam, etc) once and re-use it in multiple concrete
      technologies such as a) XSD, various GUI forms development, various
      programming languages, and b) for various different purposes, e.g.
      EHR persistence, messages, screen forms, and especially for creating
      portable queries from.
As far as I know I can't really. I can make an RMIM, or a CDA template, but
I can't really use these together without treating them like different data
schemas. And I can't directly re-use either for EHR persistence, querying,
reporting or screen display or data capture. I am not saying that openEHR
has got every last detail on this solved, but it does have large chunks
demonstrable, including fully generated message schemas, programming
objects, querying and reporting. The formal infrastructure is proving to be
very solid and extensible - and yet it retains simple features like only
one XSD for all openEHR data (well it is literally a collection of 6 or 8
component XSDs but you know what I mean). Within the openEHR framework we
can generate the equivalent of any HL7 message or CDA - via a tool chain
using archetypes, templates and terminology. And we can query the date with
archetype-based queries.

On the other hand, HL7 has a big community, much better marketing, and
probably a better handle on use cases. To me the question about joining
forces (which is what we in health informatics owe the world at large, I
think) is how it can be done: it must have technical things like:
      a solid, open formal platform framework
      a clear, useful reference model
      a single source domain modelling approach
      a solid querying methodology
      an integrated set of service definitions
      a clean way of integrating with any terminology
It must also have the qualities of a community:
      a recognised meeting place and culture
      agile but defensible governance
      buy-in from industry
      an on-the-ground network of affiliates
      a wide-ranging handle on the requirements of the domain
I would say openEHR's strengths are in the first list, and HL7's largely in
the second - I am the first to recognise the community-related weaknesses
of openEHR. What the world really wants here is a) ONE technical framework
and b) ONE open community and governance framework. It could be possible,
at the price of some dented egos. History says it will remain a dream. What
would it take to overcome that? (Proper funding might be one answer)

- thomas beale

I agree that ISO is not the place to develop standards, but it is a body
recognized by all the world. The concept of the JIC appears to be
functional - not smooth and not easy, but progress is being made. It is
not so much that one organization is better than another or that one
standard is better, but there are good and bad with some of what we do. I
think the good outweighs the bad, and we can fix some problems.

Why don't we go off line, and try to come up with a plan, then bring back
to the larger community.

Ed

W. Ed Hammond, Ph.D.
Director, Duke Center for Health Informatics

             Thomas Beale
             <thomas.beale@oce
             aninformatics.com To
             > openehr-technical@openehr.org
             Sent by: cc
             openehr-technical
             -bounces@chime.uc Subject
             l.ac.uk Re: Interoperability with HL7
                                                                           
             02/01/2010 01:01
             PM
                                                                           
             Please respond to
                For openEHR
                 technical
                discussions
             <openehr-technica
             l@chime.ucl.ac.uk
                     >
                                                                           
      I like your reply. I am willing to commit to putting energy behind
      merging
      al standards groups, probably under ISO.

Not wanting to be more of a trouble-maker than usual, but I would have to
say - if we could work this out together, let's do it, but I don' t think
ISO is the place to do it, only to a) have wide-ranging background
discussions and b) to rubber stamp the result. ISO might be the appropriate
background community, but it can't come up with the framework or standards
- it is in fact quite bad at that. My more detailed opinions on this are
here: http://wolandscat.net/2009/09/17/the-crisis-in-e-health-standards/

I know (once again) that what is stated there won't be popular with some
people, but the feedback has been very interesting indeed.

- thomas

Thomas

Offense was not intended — I have always been more taken by the similarities between the openEHR and HL7v3 approaches, than the differences.

I also agree that SOA and modelling are mainstream – in HL7 and elsewhere. I do not know anyone in HL7 who is unhappy about this. Messages and documents continue to have a role alongside and within SOA frameworks — I am not aware of anyone within HL7 or elsewhere who is upset by this either.

I too agree that collaboration is the way forwards

All the best
Charlie

Hear, hear. Don't know if I can be of any help but count me in.

In response to Thomas reply in ISO. I agree that ISO is not the first place to create new standards. but it is the place to bring them to get worldwide acceptance. If we can come up with something that is agreed upon by HL7, openEHR, ISHTDO (and maybe some other parties I'm forgetting right now) there is a more than fair change it will get ISO acceptance.

Cheers,

Stef

Hi All and thanks Ed and Thomas,

This sort of discussion has been going on for some time. Describing what
happened with ENV13606 (pre-standard) trials which did not have archetypes
and the problems with HL7 this and that is helpful to a point - we need
reality checks. This standards domain is difficult and highly complex. HL7
CDA provides for a document which has more than a Word file but does
struggle with structured content. openEHR struggles to get the engineering
solutions, which are still complex and debated, into production.

What I do believe is that openEHR has the best way to model content at the
moment. It is not perfect, particularly as the tools are designed for
clinicians. Further, we have a Web 2.0 enabled process to create content and
I think we all know that we cannot proceed on content specification using
traditional meeting or government sponsored approaches. We also have a
growing set of tools, some open source, some not, and an agreement with
IHTSDO to work together on this front. Deciding to model information as it
is to be used WITHIN systems is new and not without dissent.

This approach is a threat to some in the terminology industry (because it
reduces the requirements substantially) and to large system providers who,
on the whole, dictate the environment at the moment. It is not realistic to
expect to get everyone on board.

When HL7 move to version 4 it will probably be a lot more like openEHR than
version 3, but that remains to be seen. I would love version 4 and openEHR
to be the same or at least a united front. I am not sure if that is possible
within the standards funding structures that exist at the moment.

Let's think about it anyway.

Cheers, Sam

Hear, hear. Don't know if I can be of any help but count me in.

In response to Thomas reply in ISO. I agree that ISO is not the first place to create new standards. but it is the place to bring them to get worldwide acceptance. If we can come up with something that is agreed upon by HL7, openEHR, ISHTDO (and maybe some other parties I'm forgetting right now) there is a more than fair change it will get ISO acceptance.

Cheers,

Stef

Thanks for your input.

W. Ed Hammond, Ph.D.
Director, Duke Center for Health Informatics

             Stef Verlinden
             <stef@vivici.nl>
             Sent by: To
             openehr-technical For openEHR technical discussions
             -bounces@chime.uc <openehr-technical@chime.ucl.ac.uk>
             l.ac.uk cc
                                                                           
                                                                   Subject
             02/02/2010 05:20 Re: Interoperability with HL7
             AM
                                                                           
             Please respond to
                For openEHR
                 technical
                discussions
             <openehr-technica
             l@chime.ucl.ac.uk
                     >
                                                                           
Hear, hear. Don't know if I can be of any help but count me in.

In response to Thomas reply in ISO. I agree that ISO is not the first place
to create new standards. but it is the place to bring them to get worldwide
acceptance. If we can come up with something that is agreed upon by HL7,
openEHR, ISHTDO (and maybe some other parties I'm forgetting right now)
there is a more than fair change it will get ISO acceptance.

Cheers,

Stef

I like your reply. I am willing to commit to putting energy behind

merging

al standards groups, probably under ISO.

W. Ed Hammond, Ph.D.
Director, Duke Center for Health Informatics

            Thomas Beale

            <thomas.beale@oce

            aninformatics.com To

                       openehr-technical@openehr.org

            Sent by: cc

            openehr-technical

            -bounces@chime.uc Subject

            l.ac.uk Re: Interoperability with HL7

            02/01/2010 12:02

            PM

            Please respond to

               For openEHR

                technical

               discussions

            <openehr-technica

            l@chime.ucl.ac.uk

regarding any war - me neither :wink: Ed, I hope you see that it is

reasonable

to respond in some way to disinformation like 'only use openEHR if you

are

trying to talk to openEHR systems' - on an openEHR list! Nearly the only
problem of interest in openEHR is adding semantics to existing
environments. It is obvious by inspection that openEHR would not need to
exist in its current form in order to talk to itself.

There are theoretical difficulties with HL7v3 messaging & RIM, I don't
think there is any way around that, and they do manifest in practical

ways;

there are also difficulties with CDA. But above all, I still (really,
honestly, sincerely) want an answer from HL7 to the question:
     how can I define a piece of domain content (microbiology result,
     Apgar result, ENT exam, etc) once and re-use it in multiple concrete
     technologies such as a) XSD, various GUI forms development, various
     programming languages, and b) for various different purposes, e.g.
     EHR persistence, messages, screen forms, and especially for creating
     portable queries from.
As far as I know I can't really. I can make an RMIM, or a CDA template,

but

I can't really use these together without treating them like different

data

schemas. And I can't directly re-use either for EHR persistence,

querying,

reporting or screen display or data capture. I am not saying that openEHR
has got every last detail on this solved, but it does have large chunks
demonstrable, including fully generated message schemas, programming
objects, querying and reporting. The formal infrastructure is proving to

be

very solid and extensible - and yet it retains simple features like only
one XSD for all openEHR data (well it is literally a collection of 6 or 8
component XSDs but you know what I mean). Within the openEHR framework we
can generate the equivalent of any HL7 message or CDA - via a tool chain
using archetypes, templates and terminology. And we can query the date

with

archetype-based queries.

On the other hand, HL7 has a big community, much better marketing, and
probably a better handle on use cases. To me the question about joining
forces (which is what we in health informatics owe the world at large, I
think) is how it can be done: it must have technical things like:
     a solid, open formal platform framework
     a clear, useful reference model
     a single source domain modelling approach
     a solid querying methodology
     an integrated set of service definitions
     a clean way of integrating with any terminology
It must also have the qualities of a community:
     a recognised meeting place and culture
     agile but defensible governance
     buy-in from industry
     an on-the-ground network of affiliates
     a wide-ranging handle on the requirements of the domain
I would say openEHR's strengths are in the first list, and HL7's largely

in

the second - I am the first to recognise the community-related weaknesses
of openEHR. What the world really wants here is a) ONE technical

framework

and b) ONE open community and governance framework. It could be possible,
at the price of some dented egos. History says it will remain a dream.

What

would it take to overcome that? (Proper funding might be one answer)

- thomas beale

     Not trying to start a war, but I am disappointed at the continued
     dialog
     that is negative toward HL7. If, in fact, openEHR has solved all of
     the
     problems of interoperability and is being picked up around the

world,

     I,
     and I think, many of my HL7 colleagues will be delighted. Very few
     of the
     members of HL7 make money from HL7, so I think our motivations are
     driven
     by our companies and the market place. Solving the problems of
     interoperability will certainly open the door for many more

important

Hello Charlie,

The biggest issues with inter-operability relate to the use of Semantic attributes in both HL7 and openEHR.

They are not really semantic in the SNOMED-CT sense in either format, and because they are different, inter-operability between openEHR and HL7 is difficult. OpenEHR has attributes such as “data”, “state” etc and HL7 has Act Relationships that are supposed to be semantic rather than just compositional. OpenEHR also has a lot of specific CLUSTERS such as ITEM_TREE and subclasses of ENTRY such as “EVALUATION” which have semantics that are in the implicit in the model, rather than pure clinical knowledge.

This makes a DCM (Detailed Clinical Models) format that both agree on a difficult proposition. There are other differences, such as the ability of HL7 Observations to have both a value and child acts via Act Relationships, where as openEHR does not have CLUSTERS with values.

The best way to resolve these is to accept that openEHR and HL7 cannot use the same models without adding extra information to the format ie extending ADL or adding attributes to the RMIM.

If the clinical knowledge was modelled in ISO-13606 there are only compositional attributes ie “items” and only one of them and the data structures defined require the terminology to impart the meaning and not semantic attributes. This could be translated into openEHR and HL7 in a loss less way. There are obviously some issues with the 13606 reference model, but the pure clinical content is then representable with a tree of Name=Value pairs, with the meaning in the terminology rather than the attribute names. It is also an international standard that gives a degree of certainty and stability to the format, even if its not a perfect fit for every system.

I think in most cases the demographic content is able to be mapped, as people have a lot of practice at that. A bigger issue is things like Medication, which has specific classes in HL7 V2 and 3. However the ability to model clinical knowledge outside the contentious areas and represent the clinical knowledge in a standards based format that can be adapted to other formats would be a huge leap forward. It is even possible to represent this in a loss less way in HL7 v2. For things like Medication and Allergies an archetype that can be mapped to HL7 V2 and V3 Segments/classes is needed for interoperability.

The use of Semantic or “named” attributes specific to a format is the major barrier to a common DCM format. The HL7 V3 assessments and scales RMIM is and example of a HL7 V3 format that is adaptable to an archetype, although it does have a cluster with a value, which would have to be mapped to the “value” ELEMENT of an archetype.

The formula for calculated values is also undefined, but GELLO, which is a standard could be used for this and this is what we use with ISO-13606 archetypes.

I cannot see how openEHR archetypes can be used for a general DCM format, but ISO Archetypes could, as long as they were modelled in a fashion that is neutral to final implementation format.

A common format would require both sides to either map the generic structures into their own specific classes or adopt a more generic model with the semantics in the terminology. The overlap between the information model and the terminology model is probably at the heart of the conflict.

Andrew McIntyre

Monday, February 1, 2010, 7:33:09 PM, you wrote:

Hi Andrew,

this description of ‘semantic’ attributes is quite useful. People should indeed realise that the named attributes in various health reference models are often semantic concepts that just happen to be defined in the information model, not a terminology. The same occurs at the class level. The point of doing this is that such models commit to some level of meaning-of-structure rather than being completely agnostic. In terms of your explanation, a few points:

  • all models (openEHR, ISO13606, CDA usage of RIM) provide a structural container concept, which can be understood as a ‘document’ or ‘recording’. Classes for this purpose include COMPOSITION (= CDA Document) and SECTION, and also many classes and attributes for defining audit & context attributes. openEHR & 13606 have a similar model for this.

  • the openEHR reference model uses ‘semantic classes’, e.g. OBSERVATION, EVALUATION, INSTRUCTION, ‘semantic attributes’ e.g. ‘CARE_ENTRY.protocol’, as well as generic compositional attributes like CLUSTER.items. Some of these classes, like HISTORY and EVENT are for extremely generic concepts in science/mathematics.

  • the HL7 RIM uses ‘semantic classes’, e.g. Observation, ‘semantic attributes’, e.g. ‘activityTime’, special attributes like ‘contextControlCode’, ‘contextConductionInd’, generic compositional attributes like ActRelationship.source and target. There are some data structure classes within the HL7v3 data types, like HXIT (a generic history concept) as well as hardwired classes like Person name, address etc.

  • ISO 13606 uses no ‘semantic’ classes at the domain level - everything is just an Entry, but it does include a couple of ‘semantic attributes’ in the wrong place (a specific attribute should never be on a generic class) - ITEM.obs_time, ENTRY.act_status.

All three approaches use some special ‘programmable attributes’ which are given values at archetype design time, or at runtime to provide the actual meaning of the instance:

  • openEHR: there is just one such attribute, LOCATABLE. archetype_node_id, which marks any object with the concept code from an archetype (thereby for example making an ELEMENT instance into a systolic blood pressure measurement)

  • HL7 attributes like Act.code, moodCode, classCode, levelCode etc

  • ISO13606 has a few attributes for this purpose: RECORD_COMPONENT.archetype_id, ITEM.item_category, CLUSTER.structure_type.
    Another key difference that contributes to the difficulty of mapping & harmonisation: HL7v3 uses a pervasive ‘restriction’ approach in all its modelling, which means that all RIM classes contain numerous attributes (in theory sufficient to cover every possible situation in the universe of healthcare), and these have to be constrained out to come up with classes that mean something for any given concrete situation - the high level classes like Act and ActRelationship don’t have any meaning as such. On the other hand, openEHR and 13606 take a standard object approach to the information model, and have only very general attributes defined on general classes; more specific descendants then add relevant attributes. To give an analogy: in the HL7 approach, if you had a model of ‘animals’, the top class Animal would contain every kind of defining characteristic of particular animals, such as ‘wing’, ‘claw’, ‘fin’, ‘spine’, ‘horn’ etc, and the class Bird would be created by the removal of ‘fin’, ‘horn’ etc.

These differences not just in modelling but in modelling paradigm are what make harmonisation difficult.

My question is: why do we want harmonisation? What we need is a clean clear information model for the health information domain, carrying sufficient semantics to be useful, while being ‘prgrammable’ in some way. Trying to ‘harmonise’ 3 different models & theories of modelling won’t achieve that, it will simply create a frankenstein.

Do we need convertability? If we have a world in which all 3 of these models exist, then there is no avoiding it. The only question is whether it can be achieved in a generalised manner - e.g. a converter than can take any CDA and generate the equivalent 13606 Extrtact - or a custom ad hoc manner - i.e. every CDA => 13606 conversion requires its own converter, or, something in between.

We should also be interested in the qualities of the models themselves. Many government programmes are paralysed trying to work out which one to use. In a different world, the problem could have been solved by an information model so generic as to be a ‘node/arc’ construct; this would be like having to build a car from individual atoms of iron rather than nuts, bolts and sheet metal. ISO 13606 has stayed more generic, based on the idea that it is a lowest common demominator model of interchange, that can’t impose a view of semantics on originating systems. HL7 (both message and CDA forms) is intended to be a model of message & document interchange, and is quite generic in the sense that you have to make everything you want out of Act/ActRelationship nodes (essentially a node/arc idea). openEHR on the other hand models some of the basic structures found in science and computing, to help the definition of models.

Hence in openEHR there is quite a good model of time-based data, in the HISTORY & EVENT classes. These classes allow the easy definition of structures via archetypes for:

  • any time series of instantaneous measurements, like vital signs
  • inclusion of ‘interval’ events, representing e.g. 4h average, max, etc
    Another inclusion in the model is OBSERVATION.state (also in EVENT), where the state of the subject of recording can be recorded. This enables a very clean representation of the history of events in an oral glucose tolerance test, where not only is there timing involved, but also the state of the patient at each point is key information (post fast, 1 minute post 75g glucose challenge, 1hr post 75g glucose challenge etc).

As mentioned above, there are various kinds of specific attribute in HL7, including in Act descendant classes.

The key question here is: how easy is it to create technology-independent models of content, based on these models? In other words, can I create a model of the many medical concepts found in clinical information in some framework based on an information model - and can I reuse that one definition for a) messages, b) screen display c) screen capture d) reporting, etc.

This is what archetypes offer: a method of single-source semantic modelling. Now the choice of information model becomes critical. If the information model is just node/arc, we get no help, and we have to soft-model different ontological categories like Observation and Instruction over and over again, and build every simple common structure like ‘history of events with state’ from scratch every time. If it provides some of this help, then the clinical models of content don’t have to re-invent such things, and life is easier. If it doesn’t modellers will model all of these things differently every time, and greatly reduce the chances of the information being interoperable. One of the other key values of archetypes is that they support a coherent and portable query methodology, called Archetype Query Language - based on archetype paths. This provides a lot of power over using and reusing health data.

In summary, openEHR has opted to provide some ontological and structure concepts in its information model that are common across healthcare, rather than force its archetypes to have to re-invent everything each time - in other words to standardise common structure concepts that otherwise get reinvented in incompatible ways. This is the reason that there are some hundreds of archetypes in the CKM right now, and the NHS was able to fairly quickly build over 1000 archetypes in 2007. It has proven much harder to do the equivalent thing with HL7 v3. There are RMIMs, but these contain a lot of messaging attributes and it is hard to see how to reuse them in non-message situations. One can create CDA templates, but as they rely on HL7 RIM constructs at level 3, you still get hit by the difficult RIM semantics, and lack of common structure classes.

So, here is an existential question: what it the so-called Detailed Clinical Models activity trying to do in fact? Use a node/arc model and create its own domain models for everything (including having to replicate History-of-events everytime)? It could do this easily enough: just choose a model with some document/section container semantics, and a simple Cluster/Element internal structure, and then use archetyping. In the history of openEHR we were doing this in about 2002. What we found was that being too simple came with a huge cost - limited clarity, and unnecessary replication of typical structures. Over a period of some years, we improved the openEHR RM to include things that domain modellers should not have to keep re-inventing. The openEHR RM is the only model I know of that has been actively re-engineered over time to directly absorb requirements from domain modellers using it. I would suggest that DCM thinks very carefully about what its goal is, and how many years it wants to take to get there. openEHR already offers a very solid basis for doing much of what DCM could be aiming for, and could greatly reduce the time taken to make progress.

  • thomas beale