b.cohen wrote:

>This is actually a 'type refinement'.
>You already have a type 'number' whose instances are values that may be 
>operated
>on and stand in various relations, particularly ordering and equality.
>Now you want to refine it so that two instances of the refined type with the
>same 'value' are not necessarily equal.
>The main question that must be asked in these circumstances is:
>Will the definitions of the operations and relations in which the new type is 
>to
>participate violate any of the definitions that applied to the old type?
>If so, then all instances of usage of the old type must be reexamined and
>brought back into line.
>This is known as the 'frame problem'.
>Good luck.
>
>  
>
This thread is probably touching on multiple requirements, but my gut 
feeling is that there is a requirement for a "fuzzy band" data type 
which does the following:
- can accept data input in numeric ("I had mumps when I was 13") or word 
("I had mumps in my adolescence") form
- has a definition of its fuzzy bands in terms of names and limits; 
e.g.  infancy:0-3; childhood: 4-11; adolescence: 12-17; etc
- can be queried in terms of the names of the bands or values
- has solid definitions for mathematical operations

To be properly "fuzzy", the bands are not adjacent blocks but may 
overlap (usually drawn as trapezoids in a graph rendition); the utility 
of this (I think) is to allow outer numeric range defintions for word 
forms of the datum. E.g. "childhood" might be equated to 4-13 and 
"adolescence" equated to 12-18 etc. I'm not sure that this is useful 
without proper statistical models to drive it.

Nevertheless, it occurs so often in clinical medicine that clinicians 
want to enter the same thing in different circumstances using either 
names (which really represent bands of values), or actual precise values 
(or sometimes, a precise interval).
Examples:
- age: sometimes doctors and/or patients only think in terms of "phase 
of life" and use terms like "early adolescence"; other times they use 
the precise age in years. The paediatric ages Sam mentions seem like an 
example of this. But I think there is additionally a need to know "age 
since conception" as Sam has been told by people the HL7 meeting.
- timing: terms like "morning", "afternoon", "evening" are often used to 
tell patients when to take medication, or by patients to say when 
somehting happened. When a doctor says "3 times a day" she usually means 
"3 times a day, spread apart as evenly and far as reasonable for you". 
If you question them further, they would probably say that the patient 
should take one table in the "morning" band, one in the "afternoon" band 
and so on. Pushed further, they could nominate reasonable ranges for 
these bands of time

Currently, information systems really struggle with this simple 
requirements - they usually record the values as different types, and 
have to do some messy processing to be able to handle them for 
statistical purposes. But a two-level modelling approach would suggest 
archetyping the meaning (i.e. the names and interval definitions) of 
such types on a per-archetype basis, and also defining a new data type 
that could handle either a coded term or a quantity value, and function 
sensibly in terms of mathematical operations.

Maybe Bernie Cohen or other mathematicians here can provide some more 
precise ideas here.

- thomas beale


-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org

Reply via email to