gnumed-devel
[Top][All Lists]
Advanced

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

Re: [Gnumed-devel] Re: Gnumed-devel Digest, Vol 91, Issue 56


From: Sebastian Hilbert
Subject: Re: [Gnumed-devel] Re: Gnumed-devel Digest, Vol 91, Issue 56
Date: Tue, 29 Jun 2010 09:16:44 +0200
User-agent: KMail/1.13.3 (Linux/2.6.33-6-desktop; KDE/4.4.3; i686; ; )

Am Dienstag 29 Juni 2010, 02:33:03 schrieb richard kim:

Hi Richard,

Comments below.

> >What happened. Can you report on any specific issues with web interfaces ?
> >What the interface an issue in your attempt to create your own emr ?
> 
> I'll answer this question first.  The EMR we attempted to design was
> completely different from anything out there because we worked on several
> unprovable assumptions.

You probably mean unproven assumptions as physicians out there will approve or 
dissapprove your assumptions quickly.

> The reason we fell apart was just lack of
> continued interest by the developers.

I guess this is because some of you did try to scratch someone else's itch 
instead of your own ?

> Unfortunately, I am not sure how
> what I learned can be applied elsewhere, but I am still giving it
> continual thought.
> 
I am sure some of it can be applied. Even avoid certain things can be helpful

> It was a web application/server based system, with use of movable portlets
> ( http://en.wikipedia.org/wiki/Portlet).  An example of movable portlets
> is igoogle.com.  The portlets would be set up so that each one would
> contain a specific function.  For example, 1 portlet would represent the
> immunizations.  1 would represent the Past Medical History, and so on.
>  Since written in javascript, the applications could be as simple as a text
> viewer, or as complex as a full scheduling system.  No real limits, other
> than automatic access to local desktop files (javascript limitation).
> 
Roughly a portlet could be compared to a plugin. Each tab in GNUmed is a 
plugin and can be removed or added as the user wishes.

> Since the portlets were movable, you could do many things such as
> completely customize the appearance of a page. 

This soundy good but has drawbacks as well. Users tend to customize until it 
is totally hosed. Then they will call tech support and tech support will be 
happy to charge them. I remember the days when theming Win95 was all the hype.

> You could also duplicate
> portlets as needed.  Did you ever type a message, then ask "what was that
> lab value again?" go back to the lab page, go back to the message page,
> and finish typing?  I have, many times. 

That makes sense. wxpython has the wxAUI interface where you can do parts of 
this.

> With movable portlets, you can
> keep the labs and messages on the same page . . . if you want.  If not,
> then you have that choice to change it.

Same for wxAUI but you are right it is uncommon on the web.

> Me personally, I would like a
> list of allergies and medications next to the messaging system, so I can
> make recommendations without changing pages.  This system of movable
> portlets allowed for that.

What do you mean by messanging system ? Maybe we can get some clever ideas for 
GNUmed. Recently we asked how users want their patient overview plugin. We 
still need feedback on this. The patient overview plugin will reuse existing 
components (not quite portles)

> 
> Many times, primary care physicians and specialists of all sorts need to
> share the record.  

Do you mean in looking at the record at the same time ?
In GNUmed you can do this. As an example open patient Kirk in the public 
database from two computers and open one of the two progress notes plugins on 
each. That pretty much simulates it, doesn't it ?

> That means no one is really happy with the options, and
> there are too many options to sort through.  Portlets can be customized per
> patient,

There is a German EMR that can do this (they kind of implemented a desktop 
within the application where you can drop widgets) but users mess up 
creatively all the time.

> and per provider, so that an ophthalmologist does not need to see
> the same screen as an obstetrician, even though they are using the same
> system. 

See above. In GNUmed both physicians could even look at the same record in 
different languages.

> This would cut down on the large number of menu options, which can
> be very complete, but very hard to navigate.
> 
Sure. GNUmed will add menu options dynamically depending on if a plugin is
there or not. The same could be done in a web interface.

> Finally, since the functions were embedded within a given portlet,
> development could be done in parallel.  Closest analogy I can make is with
> the iphone, where within 2 years, they had over 100,000 apps.  If someone
> did not like the existing medication portlets, they could hire someone to
> make their own, without touching the core system. 

Same in GNUmed. Plugins are independent. Load them or don't

> Therefore, you could
> conceivably have different people using the same data, but accessed with
> different applets. 

Same here.

> Basically, I think the iphone has 20 different apps for
> farts -- I guess because you can't get enough of them -- but basically it
> encourages some redundancy in the system as needed.  This would eliminate
> the problem where many physicians say "I like this part of the EMR, but not
> that part." You would not need to take all or none, but could rather
> create parts how you like them.  But at the same time, it would not lead
> to bloat, since each physician would only seen the portlet they choose to
> use, and not the 19 others that exist out there.  Finally, if you wanted
> some portlet, chances are, someone else wants the exact same thing.  Given
> the Free software system, you could use something that someone else
> created -- like an app store with Free software.
> 
Same here. Once a number of plugins exist there could be a feature to have 
those installed seperately.

> So, that was the system in a nutshell.  Again, I am not sure what we can
> learn from it, as it is quite foreign from anything else I have seen in an
> EMR, and therefore admittedly, unproven.

Nah the concept is not that far off. While I tend to doubt that too much 
flexibility will have a use case in reality other then playing customize-your-
emr during night-shifts instead of solitaire the concepts are well received 
and should be applied to a webinterface for GNUmed.

> But if anything, I think
> designing the system enlightened me as to understanding trade offs people
> have to make in dealing with electronics, and approaches to some of the
> social barriers to usage.  Thanks again.
> 
Your comments and lessons learned are most valuable. What you have in mind is 
fairly complex. A intermediate step would be to implement a single-page-
application which shares some concepts with the GNUmed plugings. For that the 
GUI-broker needs to be ported to the web. That would allow people to write 
plugings the same way you could write plugings for the wxypython application.

Then when this has been achieved those plugins could be merged into portlets 
where a portlet broker would replace the gui-broker.

Too bad I lack sufficient web development skills. I would love to prove that 
the current GNUmed middleware and backend is fit to host a web gui. I guess 
many people underestimate what the current web prototype tells you.

The current web prototype is based on cherrypy (just happend). It lets you 
reuse all the GNUmed code for user authorization and query the GNUmed database 
without changing a single line in the middleware and backend. All I had to do 
was to produce a webpage that would get the credentials in a webpage instead 
of the wxpython login dialog and feed that to the middleware. It then works 
with this information on the server to query the backend. So to say it again 
all that was neccessary was one simple webpage with a login form. Logging was 
reused without a change so GNUmed logs will be written as well. The point is 
you don't need a framework anymore with ORM and stuff. The framework is there 
already. All you need to do (I guess) is write an interface. If you one writes 
a multipage interface then all pages could be processed on the server. If one 
writes an SPA then I would guess that you need something like JSON-RPC ( I 
still don't fully understand this).

More important then the customizations is to have portlets/plugins in the 
first place. We very much welcome input on how to group information on the 
screen. Paper and pen (and a scanner) will do for that part.

Sebastian



reply via email to

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