[Something funny going on with the list server right now; this post is from Heath Frankel in response to Bert Verhees....]
Bert,
Sorry I have been meaning to respond for some time but have been considering
how to do so.
To be blunt, I would suggest that your approach should be reversed. When
working in the EHR messaging space I consider openEHR/CEN 13606 reference
models and archetypes as logical models rather than implementation models
and HL7 becomes the ITS. So what you are trying to do is take an
implementation model and derive from it the logical model. Even though
reverse-engineering is common practice I would suggest that the resulting
logical model will end up being tightly bound to the original technology.
An example of this would be if you attempted to include the Type and
TemplateId attributes of the REPC_MT000001NL.Performer2 CMET you provided as
example into an archetype. This would not be the way that this data would
be represented in openEHR. It would also be to the detriment of your work
and to openEHR if you generated a set of archetypes to be used in your
system or across the Netherlands that was not consistent with or draw from
the existing openEHR archetypes.
I do agree with Tom that we can re-engineer the good work from the
Netherlands Primary Care Model which is based on or at least been influenced
by the HL7 Care Provision domain, of which I have made a significant
contribution. But, I would suggest that the Primary Care Model is too
high-level to be used for extract archetypes. That is, the archetypes
produced from the model will not be specific enough to be useful. This is a
common mistake made when relating archetypes to HL7 models. Most HL7
influenced people want an archetype for high-level concepts such as a
Battery of which Blood Pressure is such an occurrence of a battery.
However, openEHR has archetype that represent these fine grained concepts of
blood pressure, HbA1c, Blood Glucose etc.
One exception to this think is in William Goossen's work where he defines
fine-grained "Care Structures" that are specified as constraints on the HL7
Clinical Statement pattern. It is these Care Structures that should be
represented as Archetypes not the Clinical Statement or some intermediate
constraint of the clinical statement such as a Battery.
Your original message did not indicate specifically which reference model
you are using to build these archetypes but from subsequent messages I
assume you are using openEHR. However, the HL7 CMET examples you gave below
are related to Parties and Entries. To represent these concepts you should
be using the openEHR Demographics model rather than the EHR model. Not much
work has been done as far as defining archetypes for Demographic parties but
it should be progressed with as much diligence and review as the Clinical
Archetypes.
In addition, these examples you give highlight the core of the issue why you
have so many classes you want to archetype. The concept of performer and
author is a concept of participation which is reflected specifically in the
openEHR EHR model and does not need to be archetyped although in some cases
such as performer you may choose to template this (e.g. requiring there to
be at least one participation representing the primary care provider).
The concept that does need to be archetyped is the Practitioner (the
AssignedEntity) that was the author or service performer. Again, the
openEHR EHR model represents these already but more as a reference to a
demographic object held outside the EHR, which you can archetype using the
openEHR Demographic model.
So in summary, you need to be very careful when you are trying to archetype
concepts represented in an implementation technology that does not follow
the same rules as openEHR and CEN 13606. I would suggest that you work more
in the logical space of developing archetypes, drawing from the requirements
that have been used to develop the implementation models of HL7. The
mapping tables that William has developed would be a good place to start.
You will more likely to have an archetype that will be usable to the more
general health informatics community without the implementation specific
influences of HL7. You can then specify mapping from the logical archetypes
to the HL7 implementations. This is the approach I have used when
performing this task in the HL7 V2 and other proprietary messaging formats.
This approach also allows you to map between different messaging formats by
converting to/from the common logical models using the known mapping rules
for each message format.
The alternative to this pure openEHR archetype approach is using Legacy
Archetype as an intermediate form. Legacy archetypes is a new concept in
openEHR release 1 and is intended to be used by openEHR to support CEN
13606. It could also be used for HL7 V2 and CDA/V3. The idea is to develop
archetypes that use the openEHR archetyping approach but the structures more
reflect the source content (i.e. a HL7 V3 RMIM/CMET such as Clinical
Statement or a Battery) to ensure that all the source data can be
represented in the archetype. This could then be stored in an openEHR
archetype aware repository as a close structured representation of the
source data. However, this archetyped data would not have the semantic
integrity as data represented using pure openEHR archetypes so an additional
transformation could be performed to represent the source data as pure
openEHR content. If all you want is to have a flexible storage mechanism
that supports changed schemas then the legacy archetype content is probably
sufficient. If you want to perform semantic data processing and be
interoperable with openEHR systems you will need to transform the legacy
archetype content to pure openEHR archetype content.
Hope this helps.
Regards
Heath
Heath Frankel
Senior Interoperability Consultant
Ocean Informatics
mobile: 0412 030 741 email: heath.frankel@oceaninformatics.biz