gnumed-devel
[Top][All Lists]
Advanced

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

Re: [Gnumed-devel] encounter edit before final save


From: Karsten Hilbert
Subject: Re: [Gnumed-devel] encounter edit before final save
Date: Fri, 15 Aug 2008 16:06:45 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Mon, Aug 11, 2008 at 10:44:34AM +0200, Jerzy Luszawski wrote:

> ENCOUNTER CONCEPT (as I understand it):
> 1. During an encouter user can enter various data, what makes necessary to 
> switch panels (notebook tabs) without closing the encounter. (it works 
> already)
> 2. "Progress note" (SOAP) is the main type of entry in the encounter and 
> there 
> should be a way to edit it during any moment of encounter. (for now - only 
> unless you  click "save")
That will be improved.

> 3. Until the end of encounter its data should not be visible to anyone except 
> the author.
I don't think that's realistic:

- patient comes into exam room
- I take history
- patient is transferred to X ray, blood
  sampling, vitals monitoring
- after a while I go to the monitoring room
- I then of course want to see the history I took
  earlier and add vitals values and other findings
  within the same encounter

The encounter continues while I change machines, GNUmed
instances, shifts, nurses, ...

> The important will be the ability to preview all data before actual write. 
> After all, we should be able to create comprehensive report from a single 
> encounter.

Being able to preview what is saved is entirely independant
of being able to create a comprehensive report.

> CHANGING ENCOUNTER DATA:
> Possibility #1 (GUI) - current state: temporary values for progress note 
> panel 
> are stored *only* in front-end, and  preserved when user changes a panel 
> (notebook tab). Data are stored in the database only after explicit "Save" 
> command. Then nobody can change it. 

> disadvantages:
> -panel (notebook) looses its autonomy, panel state ("dirty") must be handled 
> at higher level - GUI main level.
Wrong. The panel listens for signals.

> This will require many events captured to 
> trigger a dialog "save/discard entered data", eg. selecting new patient, 
> encounter manipulation in EMR tree view, etc.
Wrong. It listens to signals. All signals to be listened to
are registered in one place per panel. It also listens to
signals from the backend regarding changes from elsewhere.

> -data are lost in case of GUI crash (this was an argument for "limbo" records)
well, yeah, but not necessarily

In many cases one can press "Continue" and try to save data.

> Possibility #2 (limbo): data are written to database as "limbo" records. 
> These 
> records are visible and editable *only* for the author. (see my previous post 
> for some explanation why *only*)
> advantages:
> +flexibility - user can enter anything he wants, and check it later before 
> signing-off
> +possibility to edit data after logging-off and logging-in again 
> (cross-session editing)

cross-session editing is possible with the above scenario,
too, even concurrent-session editing

> disadvantages:
> -records may be left in "limbo" state forever
This is something I should like to avoid at all costs.

> Posiibillity #3 (auditing): data are written to database, available to 
> everyone, changes are allowed and audited, changed field carries a flag 
> like 'has_history',
That flag is already there. It is called row_version. It is
just not passed through all the way to the GUI yet (except
for test results).

> and this history can be displayed on demand.
This needs some code to get written.

> advantages:
> +data are available immediately for all
> +ability to see the history of changes may be itself valuable
> +does not change current data entry method
> disadvantages:
> -possibly large auditing tables, storing every change, even typo corrections

a) if large auditing tables area a concern they can be
   fanned out to other table spaces, they could also be dumped
   and cleaned out

b) it can be quite difficult to make the distinction between typo
   correction and semantic change

Karsten
-- 
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346




reply via email to

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