gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] Medication lists


From: Busser, Jim
Subject: Re: [Gnumed-devel] Medication lists
Date: Wed, 7 Aug 2013 23:33:36 +0000

On 2013-07-13, at 3:28 PM, Karsten Hilbert <address@hidden> wrote:

> On Sat, Jul 13, 2013 at 10:23:27PM +0000, Jim Busser wrote:
> 
>>> … is it acceptable to make "Started" optional?
>>> 
>>> Not easily cleanly, technically. 
>> 
>> Is the 'technical' difficulty the removal, from 'started', of a non-null 
>> constraint in the schema, or is the difficulty to revise the middleware or 
>> GUI code?
> 
> The difficulty is in that clin.substance_intake is a child
> of clin.root_item, having .clin_when (which clearly exists
> for substance intakes, namely .when_started, even if not
> known) which itself is strongly desired to be non-NULL.

Yes but forcing non-NULL when the information may be unavailable to the 
clinician remains a problem. GNUmed already suffers this problem in the allergy 
table, wherein the GUI prompts

        Onset:

yet with a tooltip that says

        'When did the patient notice onset of the reaction?
        If unknown use the date when it was reported to you.'

which are two completely different things and yet which, once entered into the 
back end, are indistinguishable.

I can appreciate how there can exist some fundamental uncomfortable to "allow 
any user of GNUmed to fail to enter information which might be clinically 
desirable to enter" but to force this to be non-NULL is enforcing medicine to 
try to be practiced in a way that is many times just not possible when the 
information is simply not available.

It seems to me unreasonable to persist with requriing

        clin.clin_root_item.clin_when   timestamp with time zone        NOT 
NULL DEFAULT now()

and despite that I sense the possibility of an anaphylactic reaction to what I 
am about to propose, the column really should be relaxed to

        clin.clin_root_item.clin_when   timestamp with time zone        DEFAULT 
now()

with the following provisions:

1) to support the alternative of capturing and preserving "when was this 
information originally entered" the column

        created_when

could be added, with prevention of modification. This would allow the GUI, in 
those cases where clin_when was null, to express in its place

        (item created <created_when>)

2) accidental operator omission of dates which were in fact available could be 
achieved via prompt or confirmation dialog and it is possible to go so far as 
to require to 'record" this 'confirmation' in the back end.

After all, in a different part of GNUmed, it was Karsten himself who had 
answered (on 2011-09-24, at 4:55 AM PST)

        Be strict in what you emit. Be liberal in what you accept.

so we should be liberal in accepting the backend to allow some information to 
be missing, provided only that whatever else is being stored is sufficiently 
complete to be usable even without the clin_when.

-- Jim


reply via email to

[Prev in Thread] Current Thread [Next in Thread]