Tuesday, June 02, 2009

When overengineering fights getting things done

When I had some days off from work a few weeks ago I started to hack on a GNUmed plugin for cardiac device management. The idea was simple. Avoid all the mistakes done by the software I currently use and make it even better (TM). Back then I decided to document my steps toward the goal. Those of you having followed the series are aware that the planning stage went well. Having ideas and putting them on paper or mindmaps is the easier part. When the coding started it became quiet.

Let me explain why I think that is quite natural. One has to learn new tools. In my case that means learning python and wxglade. One has to learn about the existing code. In my case that is learning about database connections and getting patient information from the database. The single most critical issue howerver is the overengineering disease.

I work with a system that takes on pacemaker management. It has some flaws. Some of them I consider serious. Producing a new system involves finding and avoiding those flaws. I got trapped however by the desire to handle every use case in the first iteration of the plugin.

The only solution is to take a step back and reduce the initial feature set without cutting down on the possibilities. The plan is to get a working version out and enhance it gradually.

Another round of ICU shifts is coming up so this will have to wait for two weeks or so.

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 http://wiki.gnumed.de/bin/view/Gnumed/InstallerGuidePortable

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 https://launchpad.net/~gnumed/+archive/ppa

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 www.thera-pi.org.

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.
https://bugs.launchpad.net/ubuntu/+source/gnumed-client/+bug/375874

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 :-)

Thanks
The GNUmed team