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


On 07/02/2010 01:04, Andrew McIntyre wrote:
> 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
> *
> * 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100207/94d7745a/attachment.html>

Reply via email to