Sunday, June 14, 2009

OpenPhysio für die Physiotherapie

Es scheint als gäbe es noch einen zweite Bestrebung eine OpenSource Software für die Physiotherapie zu entwickeln. DIe Lösung findet sich als Alpha-Version unter www.openphysio.de. Die Macher von Thera-Pi.org sind darüber informiert.

Obwohl Konkurrenz das Geschäft belebt ist es im Anfangsstadium extrem schwer ein Projekt auf die Füsse zu stellen. Vielleicht finden beide Projekte ja zusammen und schaffen eine knackige Alternative.

Mindestens zwei Physiotherapiepraxe nutzen GNUmed. Da stellt sich die Frage ob man nicht alle Projekte irgendwie vereinen kann.

www.openphysio.de
www.thera-pi.org
www.gnumed.de


Saturday, June 13, 2009

Dicom viewer (X)medcon packaged for Linux

Xmedcon has been packaged in its latest version 0.10.5. Apart from providing the latest version there now is a packages for OpenSUSE 11.1 as well which previously did not build.

Get it from via 1-click installation from http://software.opensuse.org/ymp/home:SebastianHilbert:GNUmed/openSUSE_11.1/xmedcon.ymp

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

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

http://packages.ubuntu.com/ should include the PPAs such as the search on software.opensuse.org 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.

Sebastian

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 GNUmedDeviceParserElementTree.py

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

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

cvs add: scheduling file `GNUmedDeviceParserElementTree.py' for addition

cvs add: use `cvs commit' to add these files permanently
and
cvs commit GNUmed6.xml GNUmedDeviceParserElementTree.py
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/GNUmedDeviceParserElementTree.py,v  <-- GNUmedDeviceParserElementTree.py
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:
python GNUmedDeviceParserElementTree.py
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

https://launchpad.net/~gnumed/+archive/ppa

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

deb http://ppa.launchpad.net/gnumed/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/gnumed/ppa/ubuntu hardy main

deb http://ppa.launchpad.net/gnumed/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/gnumed/ppa/ubuntu intrepid main

deb http://ppa.launchpad.net/gnumed/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/gnumed/ppa/ubuntu jaunty main

deb http://ppa.launchpad.net/gnumed/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/gnumed/ppa/ubuntu 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.

Thursday, April 30, 2009

Vmware Tools in Ubuntu Linux

There seems to be an number of tutorials availalble. Most are outdated.

sudo apt-get install xserver-xorg-input-vmmouse open-vm-tools

is all you need.

Wednesday, April 29, 2009

GNUmed plugin development - part 10

It has taken some time to tackle part 10 of my way to a GNUmed plugin. A new GNUmed version has been released. Release dude duties have taken up most of my freetime.

Anyway I am back. The widget user interface loads in GNUmed but does not do anything useful yet. The time for clicking UI elements is over. The hard labor to code in python is about to begin. Here is where most idealists have left off and left GNUmed.

I was fortunate enough to have a face to face meeting with Karsten to ask all my newbie questions.

1.) How to proceed ?
2.) How to extend the database tables to house my data ?

His answer wasn't straight forward. First he wanted to know exactly what I intended to do. I told him my vision but visions don't amount to code. I had to break the vision down into manageable pieces.

Turns out there are many ways to store the input gathered via the the plugin user interface. There is the option to extend the database structure which is more work for him and involves a lot of new code (potentially buggy that is) or store the input as a XML document like any other document.

I did not understand the concept of storing the input as a document at first so he had to explain the concept to me. It comes down to this. Instead of storing any value gotten from the user interface in a table/field in the database one stores the values in an xml file and stores the xml file in the database. The xml file is a datbase more or less which gets stored in the the PostgreSQL database.

This means I can reuse the document plugin's classes and functions and do the content storage via python's XML routines.

I first constructed an XML file to work with. The editor used was EditiX - a cross-platform and multi-purpose XML editor, XSLT debugger and Visual Schema Editor. It provides editing support for XML, DTD, XHTML, XSLT, XSD, XML RelaxNG, ...

Here is the manually crafted XML file.

<?xml version="1.0" encoding="UTF-8"?>

<!-- New document created with EditiX at Wed Apr 29 15:37:23 CEST 2009 -->

<CardicacDevices>
        <DevicePart type="generator">
                <class>AID</class>
                <type>generator</type>
                <isactive>yes</isactive>
                <dateofimplant></dateofimplant>
                <dateofexplant></dateofexplant>
                <isexplanted>no</isexplanted>
                <comment></comment>
                <implantsite>subpectoral</implantsite>
                <implantregion>right subclavian</implantregion>
                        <GeneratorPart type="CPU" >
                                <manufacturer>SJM</manufacturer>
                                <model></model>
                                <serial></serial>
                        </GeneratorPart>
                        <GeneratorPart type="Battery">
                        <manufacturer></manufacturer>
                        <serial></serial>
                </GeneratorPart>
        </DevicePart>

        <DevicePart type="lead">
                <manufacturer>          </manufacturer>
                <model></model>
                <polarity></polarity>
                <serial></serial>
                <isactive>yes</isactive>
                <hasYconnector>yes</hasYconnector>
                <dateofimplant></dateofimplant>
                <dateofexplant></dateofexplant>
                <isexplanted>   no</isexplanted>
                <leadposition>RV</leadposition>
                <leadslot>RA</leadslot>
                <comment></comment>
                        <connectedtodevice>aid</connectedtodevice>
                        <connectedtodevice>RVlead</connectedtodevice>
        </DevicePart>

</CardicacDevices>
This is a simplified version. It lacks the actual measurements. Next step is to learn how to transfer that XML to a human readable form so I can display it in the left upper section of the plugin.

Monday, April 27, 2009

Order your GNUmed USB drive today

We are now offering ready to run USB thumbdrives to let you experience GNUmed. One has the choice between GNUmed in Windows Portable Apps (TM) format or GNUmed for Linux ready to boot from the USB drive.

The thumbdrives are 4GB devices which can be reused in case GNUmed does not fit. They come at a price of 20 Euros excluding shipping.

We will try to fulfill internationational orders. Payment methods can be negotiated but PayPal is preferred. Contact me directly at sebastian.hilbert@gmx.net. A dedicated website will be up later.

GNUmed Wiki updated to TWiki 4.3

In an effort to increase security our main source of information - our wiki - has been updated to release 4.3. Along comes a new skin.

Take a look at our wiki now.

Friday, April 24, 2009

Live CD: updated to GNUmed Version 0.4.3

Since GNUmed 0.4 has been released a new Live-CD was needed. Thanks to the Debian-Live tools a CD containing GNUmed 0.4.3 and database 10.3 was quickly made available. It boots right into a graphical Desktop environment (XFCE) ready to run GNUmed.

Thursday, April 23, 2009

Installationspaket für MS Windows

Die Installationspaket für den Klienten und Server sind in der aktuellen Version 0.4.3 und v10.3 verfügbar.

Jetzt Klient und Server herunterladen.

Video: Installation unter Windows

Die Installation unter Windows ist noch einfacher geworden. Demonstriert wird das in einem Video auf Blip.tv


ARRIBA - Risikorechner auch unter Linux lauffähig

Die in JAVA programmierte Software ARRIBA zur Abschätzung des Risikos sowie Beratung im Rahmen der Herzinfarkt- und Schlaganfallvorsorge läuft problemlos auch unter GNU/Linux.

Auf Anfrage kann direkt unter arriba-hausarzt.de ein JAR-Archiv bezogen werden. Pakete für Fedora, openSUSE sowie Mandriva habe ich erstellt. Ob ich diese verteilen darf muss erst noch mit den Autoren geklärt werden.



Wednesday, April 22, 2009

Video: Einführung in GNUmed

Unter http://releasedude.blip.tv/#2033307 finden sich zwei neue Videos. Das erste Video gibt allgemein Auskunft zu GNUmed. Das zweite Video zeigt wie die Live-CD unter Windows ausprobiert werden kann. Am Besten ist die Darstellung im Vollbildmodus.


GNUmed lab measurements

The measurements plugin received a small goodie recently. In the upper left corner there is now a configurable link. Clicking on it will open a webbrowser and take you to the configured website.

Why is this worth the blog entry. While looking at lab results I sometimes want to know more a bout a test itself. So I configure the link to point at a lab encyclopedia to look up the information.



Monday, April 20, 2009

PDFshuffler for GNUmed

Today I found out about pdfshuffler. It is a tool to split, merge or generally manipulate PDF files.

For GNUmed this can be handy when archiving documents.

Sometimes there is the issue of having information on multiple patients in one documents. For scans of paper documents this is less of an issue since you can split the content while scanning.

For FAX transmissions this is not so easy. I am not aware of a tool (on Linux) that can split documents by content.

Here is one possible workflow:

1.) Receive fax transmission and have it convert to pdf. Hylafax can do this or one could use tiff2pdf.
2.) Have it displayed in the GNUmed inbox - how does one do that ?
3.) on double click open pdfshuffler, actually two instances of it as you might want to drag 'n drop files between the windows for splitting the document.
4.) save the pdf in a folder on your harddrive
5.) open the pdf in the document archive plugin or drag it there

A few things come to mind.

1.) pdfshuffler has not been tested on windows.
2.) pdfshuffler should be 3rd-party (GNUmed) aware. much like with OpenOffice there should be a way to open a pdf in pdfshuffler from within GNUmed. Pdfshuffler needs a button 'save to GNUmed' next to 'save to file'. One would then feed the pdf back to GNUmed and associate it with the currently active patient.

PDFshuffler actually does not need to know anything about GNUmed. It should simply have the feature to hand the pdf to any program. GNUmed running in remote-control mode should then detect the call (made by a shell script 'gm-fax-importer'), raise the document archive plugin for the currently active patient and display the pdf as document part. Later versions could even extract the pdf metadata and hand those to GNUmed as well.

Monday, April 13, 2009

GNUmed plugin development - part 9

Karsten Hilbert and I had a little chat to help me plan the next steps. The current status of the plugin is as follows

a) it loads fine in GNUmed
b) it crashes when trying to load data
c) an incomplete class cCardiacDevicePluginPnl has been partially implemented

Karsten advised me to move the device specific bits to a seperate file called gmDeviceWidgets in /usr/foo/gnumed/gnumed/client/wxpython

I did so. I forgot to add the import of gmDeviceWidgets to the top of gmCardiacDevicePlugin in /usr/foo/gnumed/gnumed/client/wxpython/gui but that was quickly resolved after reading about the 'global gmDeviceWidgets undefined' stuff in the log file.

It now does not crash anymore but does not yet load the SOAP notebook. Apart from missing soap entry which does not need to be a notebook but rather a single soap editor the right column needs to house an ICD data entry widget.

This widget will be produced in the next step in the wxg file. See screenshot below for current state of the plugin.


GNUmed plugin development - part 8

Remember I left off with a problem rather than a solution ? Well I had a little chat face to face with Karsten who happens to be the author of the SOAP plugin I borrowed so much code from.

Turns out he added some special code to the file wxgSoapPluginPnl.py which normally gets autogenerated from the wxg file. Looking at the file I found I had to add

class wxgCardiacDevicePluginPnl(wx.ScrolledWindow):
    def __init__(self, *args, **kwds):

        from Gnumed.wxpython.gmNarrativeWidgets import cSoapNoteInputNotebook
        from Gnumed.wxpython.gmDateTimeInput import cFuzzyTimestampInput
        from Gnumed.wxpython.gmEMRStructWidgets import cEncounterTypePhraseWheel
        from Gnumed.wxpython import gmListWidgets

        # begin wxGlade: wxgCardiacDevicePluginPnl.__init__

The import statements to my wxgCardiacDevicePluginPnl.py. It now actually shows up in GNUmed. Horray. But it crashes when trying to load data. this should be easy to fix.

Here is the error:

gm.gui (/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmExceptionHandlingWidgets.py::handle_uncaught_exception_wx() #49): unhandled exception caught:
Traceback (most recent call last):
  File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmHorstSpace.py", line 231, in _on_notebook_page_changed
    new_page.receive_focus()
  File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmPlugin.py", line 183, in receive_focus
    self._widget.repopulate_ui()
  File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmRegetMixin.py", line 128, in repopulate_ui
    self.__repopulate_ui()
  File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmRegetMixin.py", line 66, in __repopulate_ui
    self._data_stale = not self._populate_with_data()
  File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmRegetMixin.py", line 79, in _populate_with_data
    raise NotImplementedError, "[%s] _populate_with_data() not implemented" % self.__class__.__name__
NotImplementedError: [cCardiacDeviceMeasurementsPnl] _populate_with_data() not implemented

That is no surprise since I decided to put the class cCardiacDeviceMeasurementsPnl into gmMeasurementWidgets.py and did not copy all stuff from gmSoapWidgets. What I effectively missed is to copy all the needed functions like _populate_with_data().

What this effectively shows is that I need to get a better idea on what to put where. Up till now it has mainly been a process of duplicating content of other files.

One issue is if it makes sense to put more stuff into gmMeasurementWidgets or rather a seperate file along the lines of gmDeviceAssessmentWidgets.

From the feedback received on the mailing list it is recommended to leave it in gmMeasurementWidgets and import the relevant stuff from gmNarrativeWidgets in order to avoid code duplication.

It was further recommended to rename cCardiacDeviceMeasurementsPnl into cCardiacDevicePluginPnl to avoid namespace confusion for the day I really want a class representing the measurement specific bits.

Thursday, April 09, 2009

GNUmed plugin development - part 7

Now on to the real stuff. Looking at

class gmCardiacDevicePlugin(gmPlugin.cNotebookPlugin):

        def GetWidget (self, parent):
                self._widget = gmMedDocWidgets.cSelectablySortedDocTreePnl(parent, -1)
                return self._widget
in gmCardiacDevicePlugin.py tells me that in the case of the Document archive plugin we borrowed from the class cSelectablySortedDocTreePnl is located in the file gmMedDocWidgets. The name implies that this is a collection of classes of medical document widgets. The device parameters are essentially measurements.

There is a file called gmMeasurementWidgets available and I am going to extend that one. I added a class cCardiacDeviceMeasurementsPnl to the file gmMeasurementWidgets.py just before the __main__ statement.

#================================================================
class cCardiacDeviceMeasurementsPnl(wxgCardiacDevicePluginPnl.wxgCardiacDevicePluginPnl, gmRegetMixin.cRegetOnPaintMixin):

        """Panel holding a number of widgets to manage implanted cardiac devices. Used as notebook page."""

        def __init__(self, *args, **kwargs):

                wxgCardiacDevicePluginPnl.wxgCardiacDevicePluginPnl.__init__(self, *args, **kwargs)
                gmRegetMixin.cRegetOnPaintMixin.__init__(self)
                self.__init_ui()
                self.__register_interests()
        #--------------------------------------------------------
        # event handling
        #--------------------------------------------------------

An extended import is needed as well.

from Gnumed.wxGladeWidgets import wxgMeasurementsPnl, wxgMeasurementsReviewDlg
from Gnumed.wxGladeWidgets import wxgMeasurementEditAreaPnl
from Gnumed.wxGladeWidgets import wxgCardiacDevicePluginPnl

Now back to gmCardiacDevicePlugin.py to reflect the changes.

class gmCardiacDevicePlugin(gmPlugin.cNotebookPlugin):

        def GetWidget (self, parent):
                self._widget = gmMeasurementWidgets.cCardiacDeviceMeasurementsPnl(parent, -1)
                return self._widget

A change in the import statements is needed here too.
from Gnumed.wxpython import gmMeasurementWidgets, gmPlugin
instead of

from Gnumed.wxpython import gmMedDocWidgets, gmPlugin, images_Archive_plugin
If you followed the above steps you might notice that the plugin throws many errors in the file gnumed.log. This file can be viewed directly from within GNUmed. It does not show up. The reason is simple. I use a complex set of widgets that are scattered across the files gmMeasurementWidgets and gmNarrativeWidgets.

The errors are that widgets found in gmNarrativeWidgets are not found, most likely because I put the class cCardiacDeviceMeasurementsPnl(parent, -1) in gmMeasurementWidgets. It could help to move the class into narrative widgets but that is not what I want. I could as well start another file called gmDeviceWidgets.

Lets see what the mailing list has to say about that.


What I have learned so far. First I need to create a mockup gui, store it in the wxg directory, create python code from it and store it in the directory wxGladeWidgets. Then in the wxpython/gui directory a file called gmPluginName is needed. When created from scratch or copied over from a template make sure to have the class name reflect the filename, the tab name set and the menu entry configured.  Last but not least the GetWidget line needs to be filled to reflect what GUI code to load.

GNUmed plugin development - part 6

So I joined the GNUmed mailing list and immediately received feedback. The data storage aspect will be tough to tackle but we will get to that later.

The goal for today is to get our mockup GUI displayed within GNUmed. There will be no database connection but at least it will display (hopefully).

I selected /home/user/sources/gnumed/gnumed/client/wxGladeWidgets/wxgCardiacDevicePluginPnl.py and pressed 'generate code'.

This code cannot be simply run inside GNUmed so I need to find out how GNUmed makes use of the code inside its plugins. There is a slight chance that this is documented in the development section of the GNUmed wiki. There seems to be no relevant information so I will try to piece it togehter and document it.

There are example plugins. Let's take a look and learn from there. The names of the plugins to load are stored in the database.



I reason since I got some code from existing plugins I should look there. The file is called gmShowMedDocs.py. I copied that file to gmCardiacDevicePlugin.py.

Now it is time to run a local instance of GNUmed and a local database. You should really install it now. Do not try to cut corners by not bootstraping a local database. We need that to work on our plugin.

I recommend you run GNUmed via the script gm-from-cvs.sh in the CVS source tree and bootstrap a database from the CVS tree as well. Change to the server/bootstrap directory and run bootstrap-latest.sh. Extensive information is available here and here.

Be aware that the source code in a CVS tree is a moving target. You might want to consider getting the source for the stable version 0.4.2 and server v10. All files mentioned before like the wxg files and the renamed plugin file should be created in that cvs directory then. The benefit is that your plugin will be developed against the latest stable version.

However if your plugin requires database changes there is no way around using the latest development code since changes to the database made against the stable version might not work with the latest development code.

I did not run into trouble but if you do don't hesitate to contact gnumed-devel@gnu.org.

I started GNUmed (from CVS) with the local database (v11) and added my new plugin (still containing the SOAP stuff) to the database. GNUmed evidently scans the directory foo/gnumed/client/wxpython/gui for available plugins. If the file is there it will show up for activiation. I activated it from within GNUmed via 'Office' > 'manage master data' > 'Workplace profiles'.

GNUmed does not show it immediately. A restart of GNUmed is neccessary. The plugin does does not show up and throws an error in the log file.

Traceback (most recent call last):
File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmHorstSpace.py", line 121, in __load_plugins
plugin = gmPlugin.instantiate_plugin('gui', curr_plugin)
File "/home/basti/sources/gnumed/gnumed/Gnumed/wxpython/gmPlugin.py", line 333, in instantiate_plugin
plugin_class = module_from_package.__dict__[plugin_name]
KeyError: u'gmCardiacDevicePlugin'

This is due to the fact that the class name and the file name (gmCardiacDevicePlugin) due not match. Open the file and change the class name.
class gmCardiacDevicePlugin(gmPlugin.cNotebookPlugin):
"""Plugin to encapsulate document tree."""

tab_name = _("Documents")

def name (self):
return gmCardiacDevicePlugin.tab_name

The section 'Menu Info' is responsible for the name of the plugin in the GNUmed menu. I changed it like this and while we are at it the notebook tab name as well.
class gmCardiacDevicePlugin(gmPlugin.cNotebookPlugin):
"""Plugin to encapsulate document tree."""

tab_name = _("Cardiac Device")

def name (self):
return gmCardiacDevicePlugin.tab_name
#--------------------------------------------------------
def GetWidget (self, parent):
self._widget = gmMedDocWidgets.cSelectablySortedDocTreePnl(parent, -1)
return self._widget
#--------------------------------------------------------
def MenuInfo (self):
return ('tools', _('Show &cardiac devices'))

I restarted GNUmed and saw the new Cardiac Device plugin. Next step is to load my GUI instead of the Document archive stuff. The line starting self._widget = ' ' needs to be changed.

But this will be the next part of our journey towards a GNUmed plugin. So far it wasn't that hard and I learned quite a bit where files are located in the source tree , what files are involved in creating a plugin and how to add a plugin to the workplace in a database.

GNUmed plugin development - part 5

Now that I have the source code available I can load an existing wxg file in wxglade as a start for my own plugin.

I opened /home/user/source/gnumed/gnumed/client/wxg/wxSoapPluginPnl.wxg and started to changed it to my fit my needs. I then saved it as /home/user/source/gnumed/gnumed/client/wxg/wxCardiacDevicePluginPnl.wxg

The result looks like this:




What you can see here is the complexity we are getting into. There can be more than one device not to mention a combination of active and inactive devices. Active and inactive leads. Why is all this important ? Because the life of a patient may depend on it. Hospital might call in and ask how long the leads have been in to decide whether to cap or extract a lead. There should be a device history. It is important to know which of you patients have which leads and generators when a recall is issued.

Now that we have a GUI we need to produce python code for it. There is a feature in wxglade to produce python code. This will be described in the next part.

Wednesday, April 08, 2009

GNUmed plugin development - part 4

Paper is great but we need code to make it appear on screen. At this stage the vision has not yet fully developed. Different from what traditional IT/IS university taught specialists might want to do now I will develop and reshape the code instead of defining detailed specs first.

This is the medical approach. I could try to learn tools like UML to model the plugin with the added benefit of using sophisticated tools to produce code from the model but that is not my preferred approach.

Anyway I downloaded wxglade from https://bitbucket.org/agriggio/wxglade/ as zip file. Unpack it into a directory like /home/user/wxglade and you are good to go. Find the wxglade shell script and change it to make it find wxglade.py in the same directory. Just remove the /usr/lib/foo stuff.

Fire it up and either start a new project or start from one of the wxg in the GNUmed CVS source tree. Oh I don't have the CVS tree copied yet. So lets do that now.

Heading over to wiki.gnumed.de in the Dowload section I am presented with the option to either download a snapshot package or get a copy of the CVS tree. SInce I will probably need to get updates often I will go for the CVS option.

I followed this guide and retrieved a copy of the source for local storage.

Update: GNUmed has swithed to GIT for source code management. New guide is available.

GNUmed plugin development - part 3

Computers are great but paper is unbeaten for quick GUI mockups. While putting down a few sketches the ideas develop to a clearer vision.

I want to

a) provide a quick glance overview over the currently active programmed device settings, number of devices, caveats regarding leads, battery
b) provide a quick overview over the previous interrogations and previous , active as well as future problems
c) display the individual encounter/interrogation as well as changes during that session
d) document the current session (device data, programmed settings)
e) document patient's health with regards to the device
f) document EKG findings with and without the device active
g) display reference info such as the information supplied by manufacturers (lead recalls, current scientific studies)

I started GNUmed and took a look if any plugin comes close to what I want. I chose the new progress notes editor and printed a screenshot taken by GNUmed's screenshot feature.

Tuesday, April 07, 2009

GNUmed plugin development - part 2

Hi all,

Here is what I decided to do.

0.) document what we would like to achieve
1.) develop a mockup GUI on paper
2.) whip up the mockup GUI in wxglade
3.) join and tell the GNUmed mailing list about it
4.) discuss and change the GUI mockup so it will be a *first usable version*
5.) check out the GNUmed source code
6.) take a good look at the source of the plugins already in GNUmed
7.) start hacking on the plugin to get the plugin displayed in GNUmed and basics like patient name
8.) announce the code and share the code with the GNUmed mailing list
9.) start documentation for our plugin in the GNUmed manual

This part is about documenting what I would like to achieve. It is most helpful to document this in the GNUmed wiki. I started a new GNUmed Enhancement Proposal (GEP). The proposal is at GNUmed_{01}_CardiacDevicePlugin.

GNUmed plugin development - part 1

Hi all,

I decided I want to add some features to GNUmed. I could ask on the mailing list but there is really only one or two people who do the coding. I decided to learn it myself.

Part one will describe what I would like to achieve and what I need. All later stories will hopefully show my progress or lack thereof.

I am working in a large heart center. I am resident in cardiology. My tasks include pacemaker and defibrillator interrogation. Various software packages exist but rarely are they available in cardiologist's offices. GNUmed has the potential to change that.

While pacemakers are manageable defibrillators are another story. Inconsistent programming is potentially lethal. Sharing of interrogation data hardly happens.

Today we are going to change that.

We need to get skilled in python. We need to find out about the plugin stuff in GNUmed and have someone adapt the database. Karsten Hilbert offered to change the GNUmed middleware. For that to happen we need to tell him exactly what we need.

Here is what we will do.

0.) document what we would like to achieve
1.) develop a mockup GUI on paper
2.) whip up the mockup GUI in wxglade
3.) join and tell the GNUmed mailing list about it
4.) discuss and change the GUI mockup so it will be a *first usable version*
5.) check out the GNUmed source code
6.) take a good look at the source of the plugins already in GNUmed
7.) start hacking on the plugin to get the plugin displayed in GNUmed and basics like patient name
8.) announce the code and share the code with the GNUmed mailing list
9.) start documentation for our plugin in the GNUmed manual

From here on out a discussion will take place which will lead to

10.) changes to the plugin source code and GUI
11.) getting CVS commit rights and checking in the source into CVS

If you did not notice you are by now a GNUmed developer.

Monday, March 30, 2009

GNUmed Windows clients updated to 0.4.2

Hi all,

I have found some time to update the Windows clients for GNUme

GNUmed-client.0.4.2-full1.exe - the default GNUmed installer for Windows
GNUmed-client.0.4.2-1.exe  - the default GNUmed only installer for Windows
GNUmed_Portable_0.4.2.paf.exe - the GNUmed installer in Windows Portable format

Go grab it at www.gnumed.de/downloads/client/0.4

Friday, March 27, 2009

GNUmed release banner wanted !



I find the GNOME release banner nice and simple. Is anyone here willing to
build one for GNUmed reading:


[Logo] GNUmed x.xx has arrived !


and can provide me with the template ? I would like to replace the
'Free Download' button in the Wiki.

Any help is appreciated.

Wednesday, March 25, 2009

GNUmed 0.4.1 released

Hello all,

this is a bug fix release over GNUmed 0.4.0.

Client:

        0.4.0 -> 0.4.1

FIX: properly handle unmappable time zones
FIX: look for system wide app data in "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\gnumed"
     (Windows only !)

Database:

        10.0 -> 10.1

NEW: bootstrapper: do not ask for gm-dbo pwd if the user exists
NEW: bootstrapper: ensure gm-dbo has createdb createrole


As usual, no database upgrade is needed from v10 to v10.1.

Grab it here:

        http://www.gnumed.de/downloads/client/0.4/
        http://www.gnumed.de/downloads/server/v10/


On Windows the package may need to be adjusted for the above
FIX. This will apply to where bitmaps etc are stored.

Wednesday, March 11, 2009

Linux EMR lack visibility

Linux EMR lack visibility. I say it just like that. Imagine you are a doctor or it professional and you are thinking something like:

I have used that Linux thing and I wonder if there is any EMR on Linux available.

He or/she than uses Google and searches for Linux EMR. First results are widely viewed. Unfortunately they do not turn up what we had hoped. I would have envisioned a site that lists the FOSS EMR projects or any Linux EMR.

But this site should not just be about the Linux EMR itself. It is the ideal platform to carry a message.

There are many FOSS application but even more they come with full support. You can have an Linux EMR that is supported by any company and not just the producing company.

This site would increase visibility of Linux EMR online and offline. A doctor might say to a collegue.

Check out that site found (e.g. linuxemr.org). There is a whole bunch of EMR which are free to use and change and even if I want to switch all my data can come along.

There is a catch however. While many FOSS EMR are doing a nice job they are not that user/admin friendly when it comes to installing them.

As a FOSS community we should really be getting into packaging. Installation should be painless for most distributions.

Thursday, March 05, 2009

GNUmed website - call for help

Hi all,

This is a call for help. During the last few weeks GNUmed has had a shiny webpage which many people liked. While it did not significantly attract more viewers or adopters during that short time period Google analytics stats indicate that it has been well thought through. Well the website is no more. It was largely based on the website of the Banshee project under the impression that the CC-by-SA license would apply. Turns out the license cited did not apply to the layout and graphic content. The banshee community was not happy with my decision to use "their" design. After establishing that remixing the layout was no option for them at all it became evident that their was simply no point in sticking to the webdesign as it was. In short it was believed that GNUmed using the same design as Banshee for the website would water Banshee's brand.

The GNUmed team has decided that no website is worth any copyright dispute. While the Banshee team clearly stated it was their oversight that made my changes legal we see no reason why anyone in the Banshee community should suffer.

This has led to a point where we have removed the GNUmed website and now refer to our Wiki again. Content-wise there is no problem as the website was just a nice representation of the content in the Wiki.

Nevertheless we are looking for a talented design who would like to give the GNUmed website a new face. You have the chance to shape GNUmed's visual identity. You have the chance to show that the new webstite is just as appealing as Banshee's website. You have the chance to contribute to a project that makes a difference to people's health today.

Please post to the GNUmed mailing list if you are keen to take on the challenge.

Wednesday, March 04, 2009

GNUmed 0.4.0 released

Hi all,

Over last couple of months the GNUmed team has worked hard to bring you a brand new release. We are proud to announce version 0.4 of GNUmed. This release provides nice and stable new features:

- can show log file from client on demand
- can merge two patients into one
- can edit existing progress note on any encounter
- can access text expansion macros by start-of-keyword
  (will show a list for selection)

- has new hook "after_new_doc_created"
- has minimum HIPAA compliance
- has waiting list
- has random access to plugins
- has screenshots on Linux include window decoration
- has local "installer" for tarball
- has a large part of the user interface translated
  to Brazilian Portuguese (thanks, Rogerio !)

Tarballs are, as usual, here:

        http://www.gnumed.de/downloads/client/0.4/
        http://www.gnumed.de/downloads/server/v10/

Upgrading from the 0.3 branch WILL require a database
upgrade. This is done, again as usual, by the upgrade-db.sh
script. Setting up a brand new v10 database is done by the
bootstrap-latest.sh script.

Many thanks to all the testers out there who helped us catch
bugs early !

Enjoy,
Karsten

CC SA BY license

I did a little more research and here is what I came up with.

http://creativecommons.org/about/licenses states

image

Attribution Share Alike

This license lets others remix, tweak, and build upon your work even for commercial reasons, as long as they credit you and license their new creations under the identical terms. This license is often compared to open source software licenses. All new works based on yours will carry the same license, so any derivatives will also allow commercial use.



Touchbook for GNUmed ?

Hi all,

Take a look at the video. What is your take ? Top or hop for usage in the medical office ?



Tuesday, March 03, 2009

GNUmed website

Hi all,

I recently came across the website of the banshee project and imediately liked their nice webdesign. Being under the impression that their website is under the CC-By-SA license I started to reuse it for GNUmed giving credit to the Banshee project in the footer.

Here is their footer as of 3rd of March 2009.

All text and image content on banshee-project.org, unless otherwise specified, is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. This does not include the Banshee name, logo, or icon. The Banshee name is a registered trademark of Novell. This does not include Banshee source code, which is licensed under the MIT X11 license. XHTML, CSS.

Turns out the members of the the Banshee project are very proud of their work and did not like what I did at all. I personally feel that no website is worth any copyright dispute and the GNUmed project should not be harmed in any way by my doings.

I therefore decided to change as much as I thought neccessary to not fool the viewers into thinkig this is somehow affiliated with Banshee.

I am currently awaiting their response on how to proceed. This may wll turn into a call for help as I might be forced to take down the GNUmed website for a complete redesign.

While I fully understand the Banshee project's wish for excellence and uniqueness I sincerely hope we get by without creating any uproar inside the FOSS community.

Please take the time to go over the GNUmed website at www.gnumed.org to spot any items that might still lead to the assumption that GNUmed is somehow affiliated with Banshee.

Thursday, February 19, 2009

GNUmed Live CD updated

Hi all,

Thanks to the great work of the Debian-med and Debian-Live teams the GNUmed project can now offer an updated version of the GNUmed Live CD.

Based on Debian Lenny the CD provides a fully configured GNUmed EMR environment. It contains version 0.3.10 of the client and version 0.9.2-2 of the server which was released just yesterday.

Future plans include to host Debian, Ubuntu, openSUSE, Mandriva, Fedora and Windows binaries in their respective repositories on the CD so the media will be a demo and installation media.

The boot screen has been customized to provide localization of GNUmed, keyboard layout, window manager in French, Spanish, German, English.

Let us know what you think.

Wednesday, February 18, 2009

GNUmed client 0.3.10 and server v9.2 released

Yet another update to the stable series.

GNUmed 0.3.10 has been released. It fixes a failure to delete comm channel. GNUmed server has seen an update as well. It is now at version version 9.2. The changes include a fix where delete_document(): would explicitely delete document parts. The bootstrapper does not assume '' as password if none supplied and not interactive. It further more accepts UTF8, too, not just UTF-8.

Get all packages at www.gnumed.de

More info on how to fix an in-production-database version 9.1 or prior are available at our Wiki


Thursday, January 29, 2009

GNUmed Windows installation improved

They say there is always room for improvement. And then they say if you want to get it done just do it. Despite my impression that the Windows installation is straightforward a number of potential users have complained about the GNUmed prerequisites.

GNUmed stands on the shoulders of giants. It uses python, wxpython, psycopg2, PIL, twainmodule and mxTools.

While the installation of those prerequisites is well laid out in our Wiki it still seems to be a consuming process which has led to failure in the past. There is no such thing as dependency handling as we know from Linux on MS Windows. Nevertheless we have come up with a solution that may please potential users.

There is two ways to overcome this.

1.) Use the "brand new installation routine" which handles prerequisites for you. There is now a new version available for download which has the term "full" appended to its name and version. The new installation routine will check your system for all prerequisite software mentioned before and will give you the option to install python, wxpython, PIL, mxTools, psycopg2 and twainmodule if those are not detected on your system.


2.) One can always use the Portable version of GNUmed which is a
'download and run version' all self contained. While this is
recommended for portable storage media such as USB pendrives little is
known about using this on a daily basis.


Hopefully this will make the installation of the GNUmed client on MS Windows even easier.

Sunday, January 25, 2009

GNUmed Ubuntu packages updated

I have finally gotten around to providing uptodate Ubuntu packages for Ubuntu Hardy. It has long been known that is virtually impossible to get updates into the default Ubuntu package archives.

That has led to the situation that Ubuntu Hardy carries outdated packages. They have recently started to provide so called personal package archives or PPA.

The GNUmed team in launchpad has such an PPA and provides uptodate GNUmed versions.

You can visit the team's pages at https://launchpad.net/~gnumed/+archive. Adding the team's repository will let you install GNUmed updates through Ubuntu's default software installation tools.

apt sources.list entries

deb http://ppa.launchpad.net/gnumed/ubuntu hardy main
deb-src http://ppa.launchpad.net/gnumed/ubuntu hardy main

GNUmed in Ubuntu

Thanks to the great work of the Debian med team who has been packaging GNUmed for a while now we have been able to turn these packages into packages for Ubuntu.

We intend to package GNUmed client and server for Hardy, Intrepid and Jaunty. All packages will be available through the GNUmed team's launchpad PPA.

apt sources.list entries for Ubuntu 8.04 aka Hardy

deb http://ppa.launchpad.net/gnumed/ubuntu hardy main
deb-src http://ppa.launchpad.net/gnumed/ubuntu hardy main

apt sources.list entries for Ubuntu 8.10 aka Intrepid

deb http://ppa.launchpad.net/gnumed/ubuntu intrepid main
deb-src http://ppa.launchpad.net/gnumed/ubuntu intrepid main

apt sources.list entries for Ubuntu 9.04 aka Jaunty

deb http://ppa.launchpad.net/gnumed/ubuntu jaunty main
deb-src http://ppa.launchpad.net/gnumed/ubuntu jaunty main

Let us know at gnumed-devel@gnu.org how it works out for you.

Tuesday, January 20, 2009

GNUmed 0.4 release candidate 1 is out

GNUmed team has uploaded a 0.4-rc1. Get it from

        http://www.gnumed.de/downloads/client/0.4/
        http://www.gnumed.de/downloads/server/v10/

There's probably lots of bugs in there which we need help in
finding !

This is a pre-release for GNUmed 0.4 line which brings new features. Measurements handling, waiting list and more has been started.

Monday, January 19, 2009

GNUmed 0.3.9 Live CD released

A new GNUmed live CD is out. With the help of
this CD one can testdrive GNUmed without altering the currently running
environment such as operating system. No installation neccessary.


Just download the CD image
(http://www.gnumed.de/downloads/live-cd/) and either burn it to a CD or
set up VirtualBox, Vmware/Vmplayer, QEmu or the likes to accept the CD
image as a virtual CD drive.


Just boot the CD in your physical or virtual PC/Mac and testdrive GNUmed.


GNUmed client 0.3.9 is included and configured
to connect to either the public GNUmed server via the internet or
connect to a GNUmed server included with the CD. No setup needed.


Have fun and please let us know how it works for you.



Monday, December 22, 2008

GNUmed Live CD howto

Trying the Live CD and experiecing GNUmed should be hassle free. Fortunately it is. Independent of what you run on your PC you can run the Live CD without leaving your working environment. Be it any Linux variant, MS Windows or Mac OS X.

I have had success with the free (GPLed) virtualization package by Sun called VirtualBox.

1.) Install Virtualbox on your PC
2.) Create a new guest e.g. Linux/Debian
3.) Connect the Live-CD download (binary.iso) file as a CD-ROM drive for that guest.

4.) Run it and experience GNUmed.

Saturday, December 20, 2008

Wiki updated to TWiki 4.2.4

For security reasons I have update our Wiki to the latest release.

To the user this should pose no problems. As a plus a new WYSIWYG editor is
now installed to make contributions even easier.

Please take a look at wiki.gnumed.de

GNUmed Live CD updated

A new GNUmed live CD is out. With the help of this CD one can testdrive GNUmed without altering the currently running environment such as operating system. No installation neccessary.

Just download the CD image and either burn it to a CD or set up VirtualBox, Vmware/Vmplayer, QEmu or the likes to accept the CD image as a virtual CD drive.

Just boot the CD in your physical or virtual PC/Mac and testdrive GNUmed.

GNUmed client 0.3.8 is included and configured to connect to either the public GNUmed server via the internet or connect to a GNUmed server included with the CD. No setup needed.

Have fun and please let us know how it works for you.

Saturday, November 29, 2008

GNUmed 0.3.8

This release fixes two more bugs:

        0.3.7 -> 0.3.8

FIX: missing gmI18N import in gmEMRStructItems
FIX: missing import of wx._core.PyDeadObjectError in gmDispatcher

As usual, get it from

        http://www.gnumed.de/downloads/client/0.3/

No database changes, again.

Sunday, November 23, 2008

GNUmed 0.3.7

Hello all,

a new bug fix version has been released. The changelog:

                0.3.6 -> 0.3.7

        FIX: if a writable --conf-file was used the ignore language mismatch wasn't found
        FIX: do not use dummy name record anymore, fixes name deletion
        FIX: missing cfg = ... when exporting doc to disk
        FIX: tame overzealous validation code so adding external ID types on the fly becomes possible again
        FIX: do not announce new version twice in upgrade-availability message
        FIX: fix misguided wording in upgrade-availability message

        NEW: improve bug reporting for launchpad
        NEW: confirmation dialog before deleting document from tree context menu
        NEW: allow editing part comment in document part details dialog

Joe from Three Rivers Hospital greatly helped in finding the bugs.

As usual get it here:

        http://www.gnumed.de/downloads/client/0.3/

And again, no database change is required.

Wednesday, November 19, 2008

GNUmed 0.3.6

      0.3.5 -> 0.3.6

        FIX: exception on missing .helpdesk when no backend profiles found, thanks Geordie
        FIX: exception on empty DOB in new patient wizard, thanks CHEF

No DB changes. Get it from

        http://www.gnumed.de/downloads/client/0.3/

Saturday, November 08, 2008

GNUmed 0.3.5

Hello all,

this release again fixes a small bug just found:

0.3.4 -> 0.3.5

FIX: reversed logic when detecting new versions
FIX: further SQL improvements to language setting issue

The first item fixes detection of new versions over the web.
The second item further improves the SQL function which is
used to detect the database language setting to make it more
proof against future changes.

Again, the SQL fix should be applied manually to existing
databases:

- go to server/sql/v8-v9/fixups/
- remove "--" in front of "set default_transaction_read_only ..." in v9-i18n-dynamic.sql
- run psql -d gnumed_v9 -U gm-dbo -f v9-i18n-dynamic.sql

Newly bootstrapped databases will have it right away.

Get it here:

http://www.gnumed.de/downloads/

Karsten

Thursday, October 16, 2008

GNUmed client 0.3.3

A quick preliminary announcement:

0.3.3 has been uploaded. It contains the following fixes:

        0.3.2 -> 0.3.3

FIX: crash on Windows on bootstrapping on asking password with prompt containing "%s"
FIX: crash on trying to import document part due to readonly connection
FIX: crash on failure to set database language
FIX: crash on DOB "too early" for platform :-(
FIX: crash on very early failure when instantiating a cStaff object
FIX: crash on catching PyDeadObjectError which must be wx._core.PyDeadObjectError
FIX: crash on auto-setting encounter type for document-import-only encounters
FIX: failure to remember ignored database language mismatch
FIX: failure to one-step bootstrap databases when the authentication group was missing

NEW: improved EMR stats display: make clear that of total known problems only relevant ones are listed
NEW: improved EMR stats display: say "encounters" where "visits" was misleading

Please test !

Sunday, October 12, 2008

GNUmed 0.2.8.11

Eine neue Version von GNUmed behebt einige Fehler.

Neue Version 0.2.8.11

http://www.gnumed.de/downloads/client/0.2

Diese Version funktioniert weiterhin mit der Datenbank version 8. Wer die schon hat muss an der Datenbank keine Änderungen vornehmen.


Saturday, October 11, 2008

GNUmed client on Ubuntu installation video

Hi,

Joe has taken the time to produce a video that show how to install GNUmed client on Ubuntu and run it. I this series a few more videos are planned including setting up postgresql and getting a local database for GNUmed on you system.

The video is available from http://www.gnumed.de/promotion/videos/InstallingGNUmed_640.avi

Enjoy and let us know what you think.

Friday, September 26, 2008

GNUmed 0.2.8.10 in Ubuntu Hardy

The updated version has finally reached the official Ubuntu update channel and will now be installed by default instead of the bugged version 0.2.8.2

Update on May 8th 2009:
Packages are now available through the GNUmed team's personal package archive on launchpad.

Saturday, September 13, 2008

GNUmed on the go (beta) - Introducing portable PostgreSQL

Hi all,

To follow up on my announcement there is now USBPg v9 available. What is USBPg ?

USBPg v9 is a relocatable PostgreSQL installation for MS Windows with the v9 GNUmed database included. This effectively means that you can now run GNUmed without any installation whatsoever from whatever directory you want. To go even further it now possible (TM) to run GNUmed client (0.3.2) and server (v9) from a USB drive.

1.) Download USBPG_v9.zip.
2.) Extract it to any directory on your USB drive e.g. F:\USBPG_v9
3.) Run PortableGISMenu.exe

A small taskbar icon will appear and give you a menu.

4.) Select 'Start Postgresql', 'Stop Postgresql' or 'PgAdmin3'

You can now run GNUmed portable client or the locally installed client.

HINT1: The postgresql database server is configured to accept connections on localhost only but anyone on localhost - change accordingly in the postgresl configurations files if you dislike that.

HINT2: the portable Postgresql starts on port 5432 just as a locally installed client would - either change the port in the postgresql configuration file (but remember to change the port for the gnumed client as well) or simply
stop the locally installed postgresql so the portable server can start on port 5432

Have fun with GNUmed on the go (TM)

The download (47MB) is available at http://www.gnumed.de/downloads/server/v9

Credits go to the fine folks of the FOSS community and Jo Cook for USBGIS (www.archaeogeek.com)

Friday, September 12, 2008

GNUmed on the go (beta) - take the EMR with you

I am proud to announce that based on work I completed a year ago we can now have frequently updated version of GNUmed on the go (TM).

What is GNUmed on the go ?
GNUmed on the go is GNUmed for Windows packages to be run from a portable device such as USB drive without any installlation. No more dependencies. Run anywhere, anytime. Just doubleclick and connect to the server of your choice.

On top of that GNUmed portable has been packaged to fit right into the PortableApps USB drive solution (www.portableapps.org)

This will cater for two groups of doctors. One group is forced to use MS Windows PCs and prefers to have gnumed run off any portable device such as USB drive, ipod or mp3player. The other group just wants to check out GNUmed on a local PC without taking care of any dependencies.

GNUmed_Portable_0.3.2.paf.exe installs right onto your USB drive which has portable app installed or in a directory of your choice on your PC.

Disclaimer: Do not use it for anything else but testing when installing on your local PC. Once you decide to use GNUmed on your PC we recommend a full installation as described over at wiki.gnumed.de

Planned: integrate with the portable OpenOffice.org
Planned: adapt the splash screen (now shows Abiword :-)
Planned: adapt the documentation

Thursday, September 11, 2008

Bootstrapping for client 0.3.2 (version 9 db) on MS WIndows flying again

It has been some time since I last looked at the bootstrap process on MS Windows. After almost a day of work I am happy to report that the recent bootstrap scripts have been ported from GNU/Linux to MS Windows.

The Wiki has been updated to reflect recent changes like the recommendation to use PostgreSQL 8.3. Info has been added on the exact installation options for PostgreSQL on MS Windows.

Complete GNUmed setups (client and server) are now possible again. An installer package for MS Windows 'gnumed-server-v9.exe' will be available shortly on 'http://www.gnumed.de/downloads'

Wednesday, September 10, 2008

GNUmed now speaks portuguese

Rogerio Luz has contributed a translation file so GNUmed will appear with portuguese language.


GNUmed 0.3.2 released

A second bugfix release for GNUmed 0.3 series has been released.

Packages for various Linux distributions and MS Windows are available. See wiki.gnumed.de for more info.

The Changelog:

0.3.1 -> 0.3.2

FIX: exception on loading external patients if several config files define PRACSOFT source
FIX: exception on not finding any "previously used accounts" in config files
FIX: exception on accessing review status in document
FIX: exception when phrasewheel *thinks* there is a dropdown and receives <enter>
FIX: exception on __call__ing PyDeadObjects from dispatcher

NEW: fix encoding of gmAbout.py so contributors have proper umlauts
NEW: do not at all handle DEL/BS in ResizingSTC to avoid weird cursor behaviour reported by user
NEW: annotate emailed bug reports to somewhat help Launchpad
NEW: add gnumed-bugs@gnu.org to bug report target if not configured

Friday, September 05, 2008

Help GNUmed by translating into your language


https://translations.launchpad.net/gnumed/trunk

Online translation service is now usable. Help GNUmed by translating to your
language. Start now.

Friday, August 29, 2008

GNumed 0.2 --> 0.3 migration

Hi all,

Getting the latest GNUmed ist easy but here are a few issues to consider.

1.) GNUmed 0.3.0 needs a newer GNUmed database version then the 0.2 line (up to 0.2.8.10)
GNUmed v8 is needed for the client 0.2.8.10 and higher but version v9 database is needed for
GNUmed 0.3.0 and higher

If you have a stable and running client 0.2.8.10 connection to version 8 of the database then you need to
update your database with the scripts called upgrade_db.sh and call it like this:

"upgrade_db.sh 8 9"

to go from an existing v8 to v9. This will *not* destroy your old database. You can still connect to v8 with
client 0.2.8.10 but you can connect to v9 with client 0.3.0 and higher.

2.) If you are starting fresh you can simply use

"bootstrap-latest.sh"

GNUmed 0.3.0 for your Linux

Hi all,

GNUmed 0.3.0 packages for some rpm-based Linux flavors such as openSUSE , Fedora and Mandriva are now available
through the openSUSE build service.

Get the from http://download.opensuse.org/repositories/home:/SebastianHilbert:/GNUmed/. Take a look at the Wiki
to find out more.

Server packages for version 9 will be announced once they are ready.

Get help by mailing us at gnumed-devel@gnu.org if needed.

Tuesday, August 26, 2008

GNUmed Release 0.3.0

Hi all,

I am happy to announce that GNUmed version 0.3.0 has just
been released.

Tarballs are here:

http://www.gnumed.de/downloads/

This time we had a fair bit of testing so I expect a slow
stream of bug reports only. Thanks to all who tested and
provided feedback so far !

The major new feature is Test Results Handling.

- configuration and logging has been redone
- documents are much improved
- printing, faxing, mailing
- external permalinks
- change type across all documents
- a lot more backend signals allow for realtime client update
- database downtime can be signalled to clients
- client can check for available upgrades
- progress note display much improved
- unsaved progress notes are warned before changing
patient or closing client
- progress notes support keyword based expansion (macros)

Debian: Note that this is NOT INTENDED FOR LENNY.

In this GNUmed release I have planted two Easter Eggs ...

Happy Hunting ! :-)

Regards,
Karsten

Monday, August 18, 2008

GNUmed 0.2.8.10 Windows packages

The latest GNUmed version has been uploaded as Windows packages. Get them
from http://gnumed.de/downloads/client/0.2/

Tuesday, August 12, 2008

Please test GNUmed on Ubuntu Hardy

Hi,

A bufixed version 0.2.8.10 has been uploaded to Hardy-proposed repository. Please activate it trough synaptic and install the latest version.

Please report success or failure in this bug report or as a comment.

https://bugs.launchpad.net/ubuntu/+source/gnumed-client/+bug/224077

Friday, July 25, 2008

GNUmed 0.3 release candidate

Karsten has uploaded Release Candidate packages. Get them here:

http://www.gnumed.de/downloads/client/0.3/

Download, unpack, run the client from the tarball.

The database package is here:

http://www.gnumed.de/downloads/server/v9/

But the public database is also available.

Sunday, July 13, 2008

GNUmed 0.2.8.10

I have just release version 0.2.8.10 which fixes a few bugs
and offers some slight improvements. There is no new
functionality. The changelog:

0.2.8.9 -> 0.2.8.10

FIX: crash on HELP pressed in login window in non-english locale
FIX: crash on MacOSX due to title not having a default in OnSetTitle() in Manual HtmlWindow
FIX: crash on MacOSX due to missing .vals on Snellen Config Dialog
NEW: improved detection of writable user prefs file
NEW: improved wording on not finding a writable user prefs file
NEW: improved German

There are no changes to the database.

As usual, downloads are on

http://www.gnumed.de/downloads/client/

Karsten

Saturday, July 05, 2008

GNUmed 0.2.8.9

Hi all,

A bugfix release for GNUmed is available. Version 0.2.8.9
No database change is necessary (we strive to never require
one for bugfix releases).

Get it while it's hot:
http://www.gnumed.de/downloads/client/0.2/GNUmed-client.0.2.8.9.tgz


Prepackaged downloads (Windows, Mac) pending. See status at wiki.gnumed.de. Debian, openSUSE, Fedora 8, Mandriva packages have been added to the repository.

Sunday, June 01, 2008

New Debian (beta3) for the N8x0 w/ XFCE

Debian is now available on the Nokia N810 internet tablet. They say that all Debian software in the armel repository works. GNumed is in the repository so I see no reason why it should not work.


Monday, May 26, 2008

GNUmed 0.2.8.8

The bugfix release 0.2.8.8 is ready for download. Here is
the Changelog:

0.2.8.7 -&gt; 0.2.8.8

FIX: crash on invalid input on tabbing out of year_noted in health issue edit area
FIX: crash on invalid input on tabbing out of age_noted in health issue edit area
FIX: crash on MacOSX on cancelling selecting patients from a list (busy cursor refcounting)
IMPROVE: properly stat() hook script on Windows

Monday, May 05, 2008

GNUmed on Ubuntu Hardy (8.04)

Hi all,

Quite some bug reports lately. Mostly because Ubuntu Hardy ships a outdated GNUmed version (0.2.8.2)

Thanks to Daniel Rocher there are now current GNUmed packages available for Ubuntu Gutsy and Hardy. Just open the Synaptic package management tool and add the following line as an additional repository.

deb http://ppa.launchpad.net/daniel-rocher/ubuntu hardy main

Then just install the new version of GNUmed (0.2.8.6).

Saturday, May 03, 2008

(X)medCon package available

Hi all,

xmedcon (Dicom viewer) packages are now available from my repository.

Pakete von xmedcon sind nun verfügbar für OpenSUSE, Mandriva und Fedora unter:

ftp5.gwdg.de/pub/opensuse/repositories/home:/SebastianHilbert/

Tuesday, April 29, 2008

GNUmed Live CD 0.2.8.6

There is now a Live CD that carries GNUmed client 0.2.8.6.

Die neue Live-CD enthält GNUmed 0.2.8.6.

Download : http://www.gnumed.de/downloads/live-cd


Sunday, April 06, 2008

GNUmed Live CD - next generation

en_US

Postgresql has been added to the Live CD. Instead of bootstraping a database I used the restoration of a database dump. Everything works out of the box after boot.

One can use GNUmed without internet connection right off the CD. V3 has been uploaded to
http://www.gnumed.de/downloads/live-cd/

de_DE

Eine neue Version der Live-CD ist verfügbar. Die CD enthält GNUmed 0.2.8.4 und die passende Datenbank direkt auf der CD. Es ist daher keine Internetverbindung mehr notwendig.

http://www.gnumed.de/downloads/live-cd/

GNUmed for Fedora 8

Hi all,

A bugfix release for GNUmed is available. Version 0.2.8.5.

FIX: crash on adding new workplace
FIX: crash on --conf-file not writable for user prefs (live-cd)
FIX: crash on changing type on address due to missing s in %(type)s

No database change is necessary (we strive to never require
one for bugfix releases).

Get it while it's hot:

http://www.gnumed.de/downloads/client/0.2/GNUmed-client.0.2.8.5.tgz

Prepackaged downloads (Windows, Mac, Debian) pending. See status at wiki.gnumed.de. Fedora 8 packages have been added to the repository.


Monday, March 31, 2008

GNUmed - state of test results handling


There is some activity going on regarding lab result handling in GNUmed. Version 0.2.9 will carry means to handle lab data.

Some screenshots were published on the mailing list recently.




Monday, March 24, 2008

GNUmed Live-CD update

A new version of the GNUmed CD is being uploaded. This version can be
installed on a harddisk. Just type 'install' or 'expert'' at the boot prompt.

As always http://www.gnumed.de/downloads/live-cd/

Saturday, March 22, 2008

GNUmed CD - help needed

en_US
This is a call for help. I need a volunteer to update the live CD every once in a while (when a new release comes out every few months). This takes one hour or so to start and one more to build. You don't need to sit in front of your computer while it builds.

It would be your task to upload the resulting binary iso to our download server. CD building is really easy.

I have laid out all the step in http://wiki.gnumed.de/bin/view/Gnumed/GnumedLiveCD

If you follow it step by step you have a CD in no time. Any help is appreciated.


de-DE
Das ist eine Aufruf zur Mithilfe. Wir brauchen einen Freiwilligen, der alle Paar Monate eine neue CD erstellt ( immer wenn eine neue Version herauskommt ) Das dauert ungefähr zwei Stunden wobei man nur eine davon vor dem Computer verbringt.

Das Erstellen der CD ist sehr einfach. Ich habe den Prozess als Schritt-für-Schritt-Anleitung unter

http://wiki.gnumed.de/bin/view/Gnumed/GnumedLiveCD hinterlegt

Wer der Anleitung folgt hat in kürzester Zeit eine CD erstellt. Das gibt mir die Möglichkeit geliebten Menschen ( : -) im realen Leben zuzuwenden und nicht zuletzt die GNUmed-Entwicklung voranzutreiben.

Wednesday, March 12, 2008

GNUmed 0.2.8.4

en_US
GNUmed 0.2.8.4 is out.This is a bugfix release. A few issues with the default config file have been fixed as well as some bugs reported by our users. Next major release will be 0.2.9

Debian packages and openSUSE packages are available. MS Windows and other OSs should have packages soon.

de_DE
Eine fehlerbereinigte Version 0.2.8.4 wurde veröffentlicht. Pakete für verschiedene Betriebssysteme sind bereits vorhanden.

Mehr Informationen unter http://wiki.gnumed.de

Sunday, March 02, 2008

GNUmed Live CD available - CK edition

en_US
The GNUmed Live CD based on Debian has been finished. Right now it contains the client in version 0.2.8.3. There is minor bug in it so there will be a newer Live CD shortly.

It has a graphical environment. Right now there is no local database so one needs to connect to the public database via Internet. Later revisions will include a local postgres database.

de_DE
Die GNUmed Live CD basiert auf Debian und ist jetzt verfügbar. Aktuell ist die Version 0.2.8.3 enthalten. Diese hat noch einen kleinen Fehler. Deshalb wird es bald eine aktualisierte Version erscheinen.

Die CD startet eine graphische Oberfläche. Es gibt aber noch keine lokale Datenbank. Es kann zum Testen daher auf die öffentliche Datenbank zugegriffen werden.

Download Live CD - CK edition


GNUmed auf den Linux Tagen Chemnitz

Gestern und heute fanden in Chemnitz die Linux Tage statt. In guter Tradition haben wir für GNUmed einen Messestand. Die Besucherscharen waren am Samstag gefühlt höher als am Sonntag.

Die Interessenten sind aus allen Bereichen der Berufswelt. Wir haben interessante Gespräche mit Technikern aber auch Ärzten und Bekannten von Ärzten geführt.

Häufig kommt auch die Frage nach einer Software für Zahnärzte aber da mussten wir an die entsprechenden Projekte verweisen.

GNUmed kommt gut an. Wir haben einige Demonstrationen durchgeführt. Karsten hat die Zeit genutzt und an der Datenbank Version 9 für das bald erscheinende GNUmed 0.2.9 gearbeitet. Dazu fand reger Kontakt mit den PostgreSQL-Entwicklern und den Debian-Leuten statt.

Ich habe die Chance genutzt und einen Fedora Maintainer angesprochen damit GNUmed ggf. bald auch in Fedora erscheint.

Leider war von hier kein Zugriff auf den Novell Build Service möglich, sodass ich noch keine Pakete für die Version 0.2.8.4 erzeugen konnte.

Inzwischen habe ich an der Live-CD gearbeitet und hoffe diese bald hochladen zu können.