Friday, May 29, 2009

GNUmed mobile edition updated to version 0.4.5

The GNUmed mobile edition has been updated to client 0.4.5 and server v10.5

What is the mobile edition you might ask ? GNUmed mobile edition is a carefully crafted version that requires no local installation. It is a Windows version that is installed (copied to) a removable drive such as a USB drive. It can then be started from that drive in (hopefully) any Windows-Computer on the go. The data is stored on the removable drive as well.

While updating I have not simply updated GNUmed but added some features as well.

1.) The GNUmed client is integrated with the PortableApps laucher
2.) The PortablePostgres systray launcher is intergrated with the PortableApps launcher
3.) The PortablePostgres systray launcher provides access to the portable PG config files
4.) PortablePostgres is configured to run on port 5433 rather than 5432 so it will run alongside a locally running PostgreSQL. Useful for backup/restore feature
5.) Client size has been reduced to 25MB from 88MB
6.) Server Size has been reduced to 171 MB from 288MB

On my todo list:
1.) show active/inactive status for PostgreSQL through colored systray icon
2.) add backup/restore scripts specifically for GNUmed for pre/post house call situations
3.) Talk to Karsten about display option of server one is connected to in the GNUmed window

Grab it from

Thursday, May 28, 2009

FOSS EMR visibility

Thanks to the great work Andreas Tille from Debian is doing I was able to quickly supply packages for various Ubuntu releases.
Every once in a while I search for GNUmed via Google. I am always surprised that it will come up at a number of places when people are looking for alternatives to closed source EMR packages.

I was even able to find threads that indicate that users we are not aware of through the mailing list actually have succeeded in getting GNUmed to run in their machines. Most of the time they use Ubuntu which is only possible because of the work of Andreas and the Debian-med team.

But there is another side of the coin as well. When putting in Linux and EMR into google the interested searcher is not directed to a site that presents the FOSS EMRs in a light that would make one try it.

FOSS EMR are as badly represented as possible. There is no room for the 'not invented here' syndrome. It is a small market and we better make damn sure we represent the FOSS EMR ecosystem as good as possible.

This primarly involves to allocate ressources at
1.) user friendly packaging
2.) user friendly package distribution
3.) user targeted software descriptions

At GNUmed we have come a long way and even put some serious cash from our own pockets behind this. Unfortunately not all projects seem to understand this issue.
First they (users and competitors) ignore you. Then they will laugh at you. Then the fight you. Then you win. FOSS EMR are barely beyond the ignore phase.

Wednesday, May 27, 2009

GNUmed for Ubuntu updated

Packages for Ubuntu have been updated to provide the latest upstream version. Available via the PPA is client version 0.4.5 and server v10.5. This version fixes a nasty bug that in some cases would write an incorrect date of birth to the database.

Packages are available from

Sunday, May 24, 2009

OpenSource Physiotherapiesoftware Thera-Pi

Bin vor einigen Tagen auf die Software Thera-Pi gestossen. Dabei handelt es sich um eine Software, die eine Verwaltung einer Physiotherapiepraxis bzw. eines Rehazentrums ermöglichen soll.

Welche positiven Aspekte sind schon jetzt zu bemerken.

1.) Start soll der 1.1.2010 sein. Bis dahin soll es fertig sein.
2.) Es soll OpenSource sein - der Quelltext ist schon jetzt verfügbar
3.) Es bildet ein Programm nach, dass schon jetzt existiert und vom selben Programmierer stammt

Programmiert wird in JAVA. Helfer und Tester werden noch viele gesucht.

Aktuell besteht das Henne/Ei-Problem. Weil noch unfertig finden sich nur wenig Helfer und daher wird es nicht so schnell fertig wie geplant. Ich empfehle allen potentielle Interessenten den Besuch der Internetseite

Wednesday, May 13, 2009

GNUmed - please support a stable release update (SRU)

Since Jaunty was released we are getting about two automatic bug reports a week because GNUmed crashes on the same version and error in Ubuntu. The reason has been known for a while but a fix did not make it into Ubuntu because of feature freeze.

I have filed a bug with the intent to get a stable release update published. See this bug.

The solution is to either update GNUmed to a fixed version in our PPA or set a supported timezone in GNUmed (this needs a timezone which PostgreSQL can handle).

Please try gnumed-client and gnumed-server from Jaunty (version 0.3.9) and if it crashes please update to 0.4.4 and report your finding on the bug report. That way MOTU might get a better impression if a SRU is worth the effort or not.

If it does not work out we will at least have a better version in Karmic :-)

The GNUmed team

Sunday, May 10, 2009

On handling software updates in Ubuntu

GNUmed - one of the FOSS electronic medical records has seen quite a few bugfixes since Ubuntu 9.04 was released. The sad part is that many (potential) users never find out about that.

GNUmed updates are available through the GNUmed team's PPA but few users will search for a PPA. It is documented on the webpage but often when you encounter a bug in a software you are trying you are not investing to much energy into getting it run. It either runs or one moves on.

All we can do about it is wait for the next Ubuntu release to ship an update. I know there is a backports repository but we have been down that road. Until enough people verify that the package should go in backports a new release is out.

I really believe there should be a mechanism that lets Ubuntu users search for software updates and include the PPAs should include the PPAs such as the search on does.

GNUmed support for OpenSUSE 10.3 fading out

As I am not aware of anyone still using GNUmed on OpenSUSE 10.3 I have upgraded to openSUSE 11.1. This means packages are still built but not heavily tested. If you rely on 10.3 and experience problems in the future let us know.

Upgrade to 11.1 went flawless. GNUmed client and server were installed through the one-click-feature. A simple gm-bootstrap_server call on a root shell bootstraped a complete database.


Saturday, May 09, 2009

Can Ubuntu save the electronic medical record ?

There are a number of Open Source electronic medical record software packages (EMR). There are even more proprietory EMR packages. Many of the FOSS EMR can compete with the commercial ones. Despite the fact that they mostly run on free OS such as Linux they are mostly invisible.

When you try to sell a FOSS EMR on a free OS it gets difficult. Few FOSS EMR have bothered to package for any given distribution. GNUmed is one of the few that provides packages for Ubuntu , Debian, openSUSE, Fedora and others.

Since the inception of Debian packages a lot more people have been able to try GNUmed on a free platform. It is about the users. EMR are valuable to very few people but the that look for Linux EMR have not been greeted by nice installation methods so far.

Ubuntu has received a lot of buzz lately. Seems like a lot of people are getting introduced to Free Software by means of Ubuntu. We are prepared for that. GNUmed provides easy to install packages.

Is it enough ? We don't know yet. It would certainly help if more medical and scientific software was visible. There is a project called Debian-med which takes care of aggregating scientific and therefore medical packages in Debian. I believe a medical derivative of Ubuntu could benefit both sides.

Increase visibility for Ubuntu as a commecially viable OS in medical offices and certainly expose FOSS EMR to a wider audience.

Friday, May 08, 2009

Free your mind with mindmapping

While I am wraping my head around the details of the cardiac device pluging I realize just how complex it is to get it right. The software i currently use solves that by ignoring corner cases like a lead being implanted at the right ventricular apex but being paced fom the atrial channel of the generator. It does not cater for the case that a patient has an left ventricular and right ventricular lead but both being connected to the RV channel through an Y-connector.

The XML file is changing almost every minute a new thought comes up. I have been toying with the idea of how to group devices. To do that one has to define what a device is. I have settled for the definition that an ICD-device is actually a virtual device consisting of a generator and a number of leads. Actually the generator consists of a battery, a number of output/input channels and a mainboard that does the signal processing and therapy delivery.

Why so overly complicated. Because you will want to know which of your patients have a device that has just been recalled or if the ICD shocks are related to the lead being flaky. You might also be interested in the fact that the program you applied two years ago led to less shocks than the currently active one.

To even have a chance to get this done right I have started to use a mind mapping tool called vym. It exports to various formats. The map itself is in the test-area for shilbert in the CVS.

Have a look. Right-Click-Display-Image to enlarge it.

Thursday, May 07, 2009

GNUmed plugin development - part 11

Python comes with various XML tools. Fortunately there is a library called ElementTree which makes XML mangling quite a bit easier. The task is to extract the information on each device from the XML file and format a string that can be fed to the display.

I had to tidy up my pyhon skills a lot and started with a standalone python script that reads in an XML file and parses it for a number of known tags such as 'vendor', 'model' and much more. The next step is to format this into the string I would like to display on the screen. The benefit of seperating the data extraction from the data formating part is that many different display options can be catered for.

In short my preferred mode of display it to group by logical device unit. Each device such as a pacemaker and its leads make up a device. Each device has subparts such as the generator consisting of a mainboard and battery. This is not mandatory but makes sense because I would like to have the option to document software updates and battery types. Not every pacemaker of the same model has the same battery model over time.

I admit the demo-XML file changed a number of times and will most likely see some more restructuring until the plugin is complete.

They say it is best to commit often and early to not lose work on one hand and get feedback on the other.

Having said that I am going to check in the XML file and standalone XML-parser into CVS. It is wise to use the folder 'test-area' in the CVS tree for that.

cvs add GNUmed6.xml

Enter passphrase for key '/home/basti/.ssh/id_rsa':

cvs add: scheduling file `GNUmed6.xml' for addition

cvs add: scheduling file `' for addition

cvs add: use `cvs commit' to add these files permanently
cvs commit GNUmed6.xml
Enter passphrase for key '/home/basti/.ssh/id_rsa':

/sources/gnumed/gnumed/gnumed/test-area/shilbert/GNUmed6.xml,v  <--  GNUmed6.xml
initial revision: 1.1
/sources/gnumed/gnumed/gnumed/test-area/shilbert/,v  <--
initial revision: 1.1
When you update your CVS tree you get my work located in the folder gnumed/gnumed/test-area/shilbert

to try it run:
Reading the XML file GNUmed6.xml it will output this:
The file has the following devices: <Element CardicacDevice at b7bfb20c>:
The device has the following parts: <Element DevicePart at b7bfb18c>
hey we are dealing with a generator here:-)
('St. Jude Medical', 'Atlas DR', 'active')

Seems like we are getting there. Next up is to finish the parsing. While this is getting done Karsten needs to write the routine to store and retrieve and xml object in the database.

GNUmed 0.4 series hat arrived in Ubuntu

Standing on the shoulders of the Debian giant I have updated GNUmed in Ubuntu. GNUmed 0.4 series is now available from the GNUmed launchpad PPA at

If you would like to install these packages you will have to add a line to your software sources.

deb hardy main
deb-src hardy main

deb intrepid main
deb-src intrepid main

deb jaunty main
deb-src jaunty main

deb karmic main
deb-src karmic main

depending on which version of Ubuntu you are using. If are running the latest as of May 7th it is most likely version 9.04 aka jaunty.