Hi Tom, I'll try to make a few things clear. I'll chop off parts of my original 
message for better readability.


.....
However clinical findings, as in our case, essentially require to be depicted 
as unknown or absent explicitly. We have initially thought we could solve the 
issue by using flavours of null which is defined by openEHR RM for each ELEMENT 
data item (caution here it is only for ELEMENT) but the problem is that these 
findings are represented using CLUSTERs not ELEMENTs in our MST Archetypes. 
This is because we use ELEMENTs under each CLUSTER to depict properties or 
attributes of those findings such as size, number extent etc. And we cannot 
represent Absent with flavours of null either.

Koray, I don't get this bit: you are saying you want the effect of flavours of 
null for whole sub-trees of information?


Yes I suggest that we have some means to indicate the presence state of a whole 
sub-tree with further qualifiers as to  why information was not available. I am 
talking about present (well this is straightforward), absent (there has been an 
effort to find a certain lesion but it was not there) and unknown/indeterminate 
(which I think flavours of null can be used to further qualify). I think the 
absent option can simply be handled by negation of present (as Graeme 
mentions); but not sure how to do that in openEHR.


.....

We think this might best be denoted in the RM; either at CLUSTER or ITEM 
classes. Something like null flavours but not quite the same. Or perhaps a 
dedicated new class?? That's up to the discussions.

well moving null flavours to ITEM (meaning CLUSTER and ELEMENT both get it) 
would not be that hard to do - it has no negative impact on anything. But we 
have not done any general semantic analysis on this idea...

            Happy to provide you with more information and help with that if 
necessary.

.....

To depict standalone findings during archetype design setting the cardinality 
of CLUSTER to 0..* or 0..n can be used. But currently we cannot set cardinality 
to 0 for CLUSTER: this is not allowed according to AOM (although in openEhrV1 
it's possible to have CLUSTER's with 0 ITEM's as long as it isn't validated by 
the RmValidator, this isn't considered a desirable usage).


but you can't record any data in a CLUSTER with no children. If the CLUSTER is 
named (i.e. has at-code) for 'haemorrhoids' the implication is that something 
is going to be said about this. The function of this name/code here is as a 
name, not as a value. Some ways of doing this would be:

ELEMENT [haemorrhoids]; value = present

This won't work for us because almost all findings are qualified by attributes 
and associated by anatomical sites. So it has to be under a cluster as a 
sub-tree

or

CLUSTER [haemorrhoids];
    CLUSTER -- more complex description of haemorrhoids
        ELEMENT
    ELEMENT
    etc

Well close but not exactly. Our modelling approach is:

CLUSTER occurrences {0..*} [Tumour] (note that this whole sub-tree can repeat 
as a whole for defining same finding with a different set of qualifiers)
                ELEMENT {0..1} [Type] --- values
                ELEMENT {0..1} [Stage]  --- values
ELEMENT {0..1} [Extent]  --- values
ELEMENT {0..*} [Sites] --- values (note that this can be multiple with 
occurrences set to 0..*)

So when we create the 'value' instance which  is a shadow of the opt we have 
all parts of the model in place - i.e. all ELEMENTS have null values and 
obviously CLUSTERS holding them are all instantiated. When use enters data from 
GUI the widgets are bound to the parts of the instance and values are updated. 
If a multiple entry has been made then new instances of some subtrees are added 
to the 'value' instance. However when persisting this 'value' instance we prune 
all null sub-trees and then serialise and save.

So the point is we never have empty CLUSTERS which we want to store data; but 
what happens is initially lots of CLUSTERS holding sub-trees are instantiated 
with all its ELEMENTs with null/default/assumed values. As I explained in order 
to represent the presence of this sub-tree we insert a special ELEMENT which 
depicts this presence information to each and every sub-tree. And we then have 
to hardcode this in our application which makes me uncomfortable. I think it is 
not good modelling practice to do this manually. Perhaps best way would be not 
to touch the current data structures but introduce a custom syntax in ADL which 
will make things easier and more consistent among different implementations.

or

CLUSTER [features present];
    ELEMENT [observed feature]; value = haemorrhoids
    ELEMENT [observed feature]; value = something else
    etc

            Same as first one - won't work

The real issue is a bit more tricky and has to do with core semantics: it 
doesn't make sense to depict a finding as absent or unknown when qualified by 
certain attributes.

....

ok, so absence / negation is a common requirement in endoscopy...

            That is the current requirement for us but I think this applies 
equally to many other domains in clinical medicine.

So it looks like some qualifiers may change the existence of core concepts - so 
perhaps we need some means to tag them during modelling. It looks like these 
are 'physical' properties and not 'man-made' concepts.

I think you mean that the possibility of reporting absence (when it can make 
sense) depends on the morphological feature?
                Good point - have to dig further into the morphological 
features and check to see if there are any exceptions though.


-koray
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101216/7ff0f7fc/attachment.html>

Reply via email to