hi
I don't think that the concept of <,> etc should
be conflated with the concept of approximately
and doubtful in the model. the approximate and
doubtful always raise the issue of why and how
and so I think that should be a matter for the
archetype to resolve. However < and > etc, should be
a data type thing.
Grahame
Thomas Beale wrote:
> Just going through the replies we have had on this one.....
>
> * Gerard's point about <5 etc being an exception is not quite right - it's
> very common; it's usually to do with sensitivity of instruments (i.e.
> accuracy), but there are also analytes which are reported as just being
> over a threshold since any number larger than X is fine (e.g.
> glomerulin,
> Sam tells me).
> * this is not an indication that the data type is really a DV_INTERVAL or
> DV_QUANTITY_RANGE - it is clearly not. When we see "HCO3: <5 mmol/L" we
> are not reporting an interval of 0 - 5 mmol/L, we are reporting a point
> value somewhere in 0-5, but we don't quite know where.
> * Tom Tuddenham's point is also correct. In openEHR, we actually do have a
> data quality marker (I used to work in SCADA as well, and lived with
> this
> kind of stuff for years!). It is called null_flavour and is defined on
> the
> ELEMENT class, next to the value attribute, which is the one that holds
> the Quantity that we are talking about (or some other kind of data value
> in other circumstances). Here we have a more fine-grained occurrence of
> the same problem, for slightly different reasons: the instrument or
> measuring method and data communicatoins are working as they should,
> it's
> just that either the value is too low or high for quantification by the
> instrument, or else the instrument doesn't bother reporting it above or
> below a certain threshold, since it is known that any value above/below
> is
> healthy. Nevertheless, we have to treat it in a similar way - probably
> with a flag that indicates 'status' of the value.
> * in practical terms we have to deal with the fact that quantities in the
> form of single-sided intervals with <, >, <=, >= can be mixed in with
> normal point value quantities, or replace them, on a per test-result
> basis.
> * we also have to have a solution that is easily comprehensible in the
> model
> and for software developers. Allowing INTERVALs to magically replace
> QUANTITY as is done in HL7 is not the way to do it, since there is no
> clean basis in the modelling to do this (i.e. it's not normally possible
> in OO languages - you have to do something quirky to make it happen.);
> in
> any case, as pointed out above, DV_INTERVAL is not semantically correct
> in
> these cases anyway.
>
> My analysis is that we need to slightly extend DV_QUANTIFIED (supertype of
> DV_COUNT and DV_QUANTITY, as well as all the date/time types), in the way
> that
> Vince has said (probably Vince worked this solution out years ago;-)...so
> that
> the semantics are:
>
> * a magnitude
> * NEW ATTRIBUTE: a status flag - with the following possible values:
> o > : greater than
> o < : less than
> o >= : greater than or equal to (Vince, do we really need this and
> the next one - do you get real values where it is reported like
> this?)
> o <= : less than or equal to
> o = : exact point value (i.e. the default situation)
> o ~ : approximately equal to, i.e. like '=' but with some unknown
> error
> o ? : innaccurate...what does this mean? If it is due to haemolysed
> blood then is it "inaccurate" or is it really just plain "wrong"
> ("incorrect")?
> * accuracy
> * ..other attributes, depending on subtype
>
> Adding a flag will be easy in modelling and software terms. What we have to
> do
> is carefully design the values; Vince has provided what is probably just
> about
> right, but I would like to be sure - see notes above on the list. Also,
> remember
> openEHR QUANTIFIED class already has accuracy as a Real - it can be a % or
> absolute value, so that any DV_QUANTIFIED can be created with a +/- 5% or
> whatever. Given this, do we need the '~' flag (maybe we do: maybe there is no
> accuracy data available, and all we can get from a legacy feed is '~')? And
> isn't the "inaccurate" flag (as Vince named it) about something else? As
> Vince
> said, doing this means more careful data analysis to determine whether a
> value
> is normal or not, and how it should be graphed. Do we need to take this into
> account in the model in some way - there is already another CR to adjust how
> normal_range is modelled, and we have an is_normal function defined on
> DV_ORDERED (the ancestor of all the Quantity types in openEHR).
>
> If we can get a bit more discussion on these details, I think we can fairly
> quickly state what changes are needed and write a CR for them.
>
> - thomas
>
>
>
>
>
>
> Sam Heard wrote:
>> Hi everyone,
>>
>> We want to report an issue that has arisen in data processing in Australia.
>>
>> The issue is the somewhat random ability of systems to report a >xx or <yy
>> range where a quantity is expected - there are still units and still a
>> normal
>> range. This is common with TSH and GFR - but can turn up in unexpected
>> instances - e.g. we had a baby with a HCO3 of <5 mmol/L. This can be dealt
>> with at present by substituting an interval - but it is a bit wierd as there
>> is still a normal range - it kind of works as there is only a lower or upper
>> value of the interval and so this single quantity can carry the normal range.
>>
>> The point is that it is really a point measurement that is outside the range
>> of the measuring device. Also, it means that we will have to have archetypes
>> that allow multiple datatypes for all quantities that could conceivably be
>> measured in this way.
>>
>> The alternative is to consider a DV_QUANTITY_RANGE that inherits from
>> DV_QUANTITY - it still has only one value - but now it has the ability to
>> set
>> this as the upper or lower value - and also whether this number is included
>> or
>> not.
>>
>> The advantage is that there would still be a number to graph and this data
>> type could always be substituted for a DV_QUANTITY (ie without archetyping).
>>
>> I wonder what others think.
>>
>> Cheers, Sam
>> --
>>
>>
>> Dr. Sam Heard
>> MBBS, FRACGP, MRCGP, DRCOG, FACHI
>>
>> CEO and Clinical Director
>> Ocean Informatics Pty. Ltd.
>> <http://www.oceaninformatics.biz/>Adjunct Professor, Health Informatics,
>> Central Queensland University
>> Senior Visiting Research Fellow, CHIME, University College London
>> Chair, Standards Australia, EHR Working Group (IT14-9-2)
>> /Ph: +61 (0)4 1783 8808/
>> /Fx: +61 (0)8 8948 0215/
>>
>>
>
>
> --
> ___________________________________________________________________________________
> CTO Ocean Informatics (http://www.OceanInformatics.biz)
> Research Fellow, University College London (http://www.chime.ucl.ac.uk)
> Chair Architectural Review Board, openEHR (http://www.openEHR.org)
>
--
Grahame Grieve
CTO, Jiva Medical Software Integration Tools
CTO, Kestral Computing Healthcare Applications