← Back to team overview

mlhim-owners team mailing list archive

What is the function of the Event and child classes on MLHIM 2.3.0?

 

Dear MLHIM Owners and CDD developers:

Me and my PhD/MSc students are going to start a massive CDD production
over the next months and our current doubt is about the function of the
Event class and its child classes (PointEvent and IntervalEvent) on the
MLHIM RM 2.3.0.

We understand that MLHIM is intended to be the 'lesser multilevel model'
possible that allows the development of any semantically interoperable
healthcare application, from monolythic high-completity hospital EMRs to
tiny purpose-specific biomedical applications embedded on all types of
hardware. That's why all the excessive and unnecessary openEHR RM
classes were eliminated, but not at the level of the ISO 13606 family of
standards, which by principle don't allow the development of healthcare
applications, being much more a family of standards for message exchange
between EHRs.

OK, since the MLHIM final goal is to achieve this 'lesser multilevel
model possible', my question is: at this point of the development of the
specifications, what is the purpose of the Event class and its child
classes (PointEvent and IntervalEvent)? In openEHR, for example, when
you are building and archetype, and you choose the OBSERVATION class to
model it, the default of the ADL code for the definition part is:

definition
	OBSERVATION[at0000] matches {	-- Xxx
		data matches {
			HISTORY[at0001] matches {	-- Event Series
				events cardinality matches {1..*; unordered} matches {
					EVENT[at0002] occurrences matches {0..1} matches {	-- Any event
						data matches {
							ITEM_TREE[at0003] matches {	-- Tree
								items cardinality matches {0..*; unordered} matches {
									ELEMENT[at0004] occurrences matches {0..1} matches {	-- aaa
										value matches {
											C_DV_QUANTITY <
											>
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}

So, in openEHR, the EVENT and child classes are required because:

The OBSERVATION class has a mandatory 'data' attribute whose parameter
is HISTORY;
The HISTORY class has a mandatory 'event' attribute whose parameter is
EVENT (or its child classes, POINT_EVENT and INTERVAL_EVENT).

The History class doesn't exist on MLHIM anymore. The Observation class
either. So, I went to the equivalent MLHIM CareEntry class and noticed
that it has the 'data' attribute, whose type is Item. So, this is the
place to choose a Cluster, an Element or a Slot class to set my data
structure constraints.

I understand that, if I constraint the 'data' attribute of the CareEntry
class to Cluster, Element or Slot, I can't add the PointEvent or
IntervalEvent in the CareEntry 'data' atribute to it anymore. Am I wrong?

If I am wrong or if I am right, my question is the same: where and how
can I use the Event and its child classes on the MLHIM 2.3.0 to build a CCD?

If the answer is 'there's no place for them anymore', I would suggest us
to eliminate them and figure out a simpler way to set the events as
being point or interval types, *if* necessary.

Thank you, good weekend for everybody,

Luciana.


-- 
Esta mensagem foi verificada pelo sistema de antivírus e
 acredita-se estar livre de perigo.



Follow ups

References