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