Hi Thomas, Indeed, our practice confirms the need for a simpler form of single event observations. We are compensating for this with our Java TDO generator that detects history instances with event count constrained to single and merges a history and event objects into one event-history object that sort of represents a union of both classes. This way our developers end up with a less boiler-plate code to deal with and the rm model is preserved.
best regards, Saso Rutar Date: Fri, 23 Mar 2012 14:25:34 +0000 > From: Thomas Beale<thomas.beale at oceaninformatics.com> > To: openehr-technical at openehr.org > Subject: Re: 13606 revisited - list proposal > Message-ID:<4F6C87DE.8090004 at oceaninformatics.com> > Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" > > > In the thread below, Pablo asked whether Action should have as its data > not just an ItemStructure but a History, like Observation. Does anyone > else have evidence supporting this need? > > A related question is: is there a need for an Observation type that only > has one Event in it, i.e. one time-point? Obviously quite a few > observations in real life, including 'patient story' are of this form. > Our original motivation was to make all Observation data structures the > same, hence the current data structures. Introducing more types makes > code more complex and therefore error-prone, but generally makes data > simpler/smaller overall. > > thoughts? > > - thomas > > On 13/02/2012 21:31, pablo pazos wrote: >> Hi Thomas, >> >> Sorry for the delay, I'm working on several projects right now and >> have little time to follow discussion here. >> >> >> I'm also thinking about the ENTRY model, to lift up the >> data/description attributes from all entry subclasses to the >> ENTRY, to have a ENTRY.data:DATA_STRUCTURE attribute, so all >> subentries could define the data as ITEM_STRUCTURE or as a HISTORY. >> >> >> We did think about this a long time ago, but it did not seem useful. >> But I assume you are thinking of doing it because you want to make >> ENTRY a concrete class which could have 'any' structure. >> >> Nope, is because I see a common pattern on concreate ENTRY subclases. >> >> In theory doing this breaks a basic modelling rule, which is that a >> superclass whose descendants define the possible data space should >> not itself be concrete. >> >> I think this is not the case, having a ENTRY.data : DATA_STRUCTURE is >> in fact a more specific ENTRY class, but is still a generic one that >> could be specialized in many ways. In my (maybe biased) experience, >> all subclasses from ENTRY would make use of this attribute since a >> structure is needed to record information. >> >> The argument here I suppose is that we want to build in a 13606-style >> 'uncommitted' kind of ENTRY. In fact we already have this - it's >> currently called GENERIC_ENTRY >> <http://www.openehr.org/uml/release-1.0.1/Browsable/_9_5_1_76d0249_1140530578205_529440_4046Report.html>. >> This doesn't get used at the moment (although it has been there for >> years), and if we want to make it a subtype of ENTRY, that could be >> done. The main thing to solve I guess is the conversion of any of the >> specific openEHR kinds of ENTRY into a generic ENTRY structure defined >> by 13606. This can actually be formally specified by an algorithm. It >> doesn't require that the parent abstract ENTRY become concrete either. >> I am unclear if there are other reasons to make the ENTRY parent type >> concrete, to mimic 13606 ENTRY, rather than simply move GENERIC_ENTRY >> to be a subtype, which seems more obvious to me. >> >> >> Maybe to have the flexibility to define ACTIONS and other entries >> to have a data attribute of class ITEM_STRUCTURE or HISTORY to >> track time of events instead of inventing DV_DATE/DV_DATETIME >> ELEMENTs on ACTION/EVALUATION/INSTRUCTION archetypes is a good >> idea. What do you think? >> >> >> Well then I think we risk making the model ambiguous, and different >> people will use such flexible structures to do the same thing in >> different ways, which was the thing we were originally trying to avoid. >> >> I disagree here, the model semantics could be defined in the specs. My >> argument is that we are giving a more flexible IM is adding >> flexibility (not ambiguity) to archetypes, and giving knowledge >> modelers more options. Then, when they create a concrete archetype, >> there is no ambiguity because an archetype models a concept in one >> way, and if abstract classes are used in archetypes, the archetype >> needs specialization to make is usable on a real environment (software >> can't instantiate abstract classes, and could not make the decision >> between using subclass A or subclass B). >> >> The HISTORY class is very nicely designed to represent complex >> time-series data that has the same protocol and was captured in an >> uinterrupted series. It does not try to model sequences of different >> types of data - in that case, you just have multiple observations. >> >> I totally agree. >> >> It deal well with point values, averaged interval values, max, min, >> sample compression and a few other things. But it's no good with a >> succession of different kinds of patient events. Any such timeline for >> that kind of thing has to be constructed post-hoc, when the actual >> events have already occurred. >> >> That's the model semantics that should be defined on the specs. >> Knowing that, not misuse should happen. In the other hand, tools >> should not permit this to happen, and this could be implemented as >> semantic validation of RM instances (BTW this should be done with the >> current model also). >> >> I can see a theoretical argument to wanting HISTORY in ACTION, instead >> of just a single point time, but in practice, noone has ever been able >> to come up with an example where a series of ACTIONs needs to look >> like a structured series, mainly because ACTIONs usually need to get >> recorded when they are done. >> >> IMO ACTION.time:DV_DATE_TIME could have the same semantics as >> ACTION.data.events[0].time, if ACTION.data:HISTORY and >> events[0]:POINT_EVENT. >> >> The easier example is a repetitive INSTRUCTION like "give 5mg of XXX >> for 10h every 30m": >> >> * The ACTION would register the same information structure >> * The proposed POINT_EVENT of the ACTION could record the >> information like the current ACTION.time attribute >> * There is a series of ACTIONS recorded for the same INSTRUCTION >> (instead of creating one ACTION instance for each XXX >> administration, one ACTION could handle all the information, time >> series and data, for all the susbtance administrations for the >> same INSTRUCTION/ACTIVITY). >> >> >> For example, a regular IV drug administration _could_ in theory be >> represented by an ACTION with a HISTORY, each of whose events >> described the action (say: admin Morphine 20 mg IV) but to achieve >> this you would have to wait until all the administrations were done >> before writing the data. So for some hours it would look like no drugs >> were being administered, then a long series of them would suddenly >> appear in the EHR stretching back... days? >> >> I can't see the difference with the current ACTION model: the ACTION >> could be created when the administration starts, and the date/time of >> that event could be written in INTERVAL_EVENT.time attribute, and when >> the administration ends, the duration could be written in the >> INTERVAL_EVENT.width. >> >> Maybe I'm missing something here, but that's whay I understand. >> >> I am not saying ACTION is perfect - there have been suggestions for >> example that an ACTION + link + OBSERVATION structure should be >> available for when the prescribed 'action' was in fact a new >> observation, such as 'check patient reaction to drug'. >> >> It would be nice to discuss this proposals with more members of the >> community. I'm not saying we need to do the changes, what I say is >> lets discuss if we can improve the model in some way, analize the pros >> and cons, and write down a decision. I mean: we need to try to not >> leave these kind of discussions die on the maillist, this things are >> valuable assets that could be explored/exploted in the future. >> >> Another question of time comes up with EVALUATION - e.g. the diagnosis >> archetype. This is full of times, and tries to follow a disease course >> model. Currently there is no RM class for this, but if a standardised >> temporal disease model were agreed across medicine, I suppose there is >> no reason why not. But it also is not a simple HISTORY - it is more >> 'bumpy'... and I don't know if there is any agreed standard model of this. >> >> Maybe is something like a HISTORY<ENTRY> or a HISTORY<COMPOSITION>? >> >> >> Thanks a lot for sharing, >> Kind regards, >> Pablo. >> >> >> _______________________________________________ >> openEHR-technical mailing list >> openEHR-technical at openehr.org >> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical >