Linux Medicine-HOWTO

Gerardo Arnaez

garnaez_((AT))_yahoo.com

Werner Heuser

wehe_((AT))_mobilix.org

Revision History
Revision 2.0.42002-04-06Revised by: gea
Added Kpumpe and OIO library info
Revision 2.0.32002-03-02Revised by: gea
Added to install OIO on Debian system. Have started on OIO how to install
Revision 2.0.22002-03-02Revised by: gea
Starting to add more to the How-To section of FreePM. The installation section will need testing by others. Added Slicer info under a new section
Revision 2.0.12002-02-19Revised by: gea
Minor changes, Changed license to GPL. Some more reorganization. Which to say I have deleted out a ton of comments that I put that were useless. More pimping of Debian-med.
Revision 2.02002-02-05Revised by: gea
Major changes. Conversion from linuxdoc to DocBook format. Have basically edited out nutrition sections and most of the German section for now until I can get help again the German section. Have switched focus of the article to Medical informatics and applications, less to research applications which should probably be a different article. Will most likely put these things I will not maintain at the end, so someone else has some where to begin. Whew. Tired from DocBook Conversion.
Revision 1.4.32002-02-5Revised by: gea
Doing minor checks of links. no big change yet
Revision 1.4.22002-02-05Revised by: gea
I have started to make structural changes to the documents. Changes Community to the fore-front. renamed Medical Application to Medical Record Application to make it more usable. I have not decide to change the version number as i have just moved links around and I am trying to structure the document a little bit better.
Revision 1.4.12002-02-05Revised by: gea
Gerardo Arnaez took over maintaining this document. Some new additions, some info on when last update. Links to sqlclinic.net and eors.org added.
Revision 1.4UnknownRevised by: wh
XXX, minor changes
Revision 1.32001-03-01Revised by: wh
added links to gnutrition, Java SmokingMeter and HL7lib - Health Level 7 Library, some other links updated, Japanese translation proposed
Revision 1.22000-11-04Revised by: wh
Links to Nut, Free Practice Management, LittleFish, GNUMed, REALTIQ, VISIdent, weight, OIO, CTSim, myPACS, BlazeLIMS, XNBC and PhysioNet added, new document URL, minor changes
Revision 1.12000-04-20Revised by: wh
links to Res Medicinae, QDS, sixpack and LinuxMedNews added, minor changes
Revision 1.02000-01-27Revised by: wh
LinuDent added, preface and disclaimer added, minor changes, first official release
Revision 0.22000-01-26Revised by: wh
URLs checked, minor changes, second draft
Revision 0.11999-11-17Revised by: wh
first draft

Table of Contents
1. Preface
1.1. About the Document
1.2. About the Author(s)
1.3. Copyright, Disclaimer and Trademarks
1.4. Request For Comments
2. Debian-Med
2.1. DEBIAN-MED HOMEPAGE
3. Community
3.1. News
3.2. Organizations
3.3. Mailing Lists
3.4. IRC
4. Medical Record Applications
4.1. Debian Med
4.2. VISTA (DHCP)
4.3. SQL Clinic
4.4. Electronic Obstetrical Record System
4.5. Freemed
4.6. Freemed-YiRC
4.7. GNUMed
4.8. GNotary
4.9. Res Medicinae
4.10. The LittleFish Health Project
4.11. Free Practice Management - FreePM
4.12. Open Infrastructure for Outcomes
4.13. myPACS
4.14. LIMS - Laboratory Information Management Systems
4.15. Meditux
4.16. MEGA and Mumps Compiler
5. Medical informatics
5.1. What is it?
5.2. Good Electronic Health Record - GEHR
5.3. HL7lib - Health Level 7 Library
6. PDA
6.1. Palm Pilots
6.2. Linux Devices
7. Installing a Medical Record Application (not ready yet)
7.1. Point of this section
7.2. My Assumptions About You
7.3. OIO
7.4. FreePM
8. Imaging Applications
8.1. Slicer
9. Usefull Applications
9.1. KPumpe
10. My thoughts
10.1. Too Many Projects
10.2. I am biased
10.3. I work and what is needed.
11. Credits

1. Preface

Life is the first gift, love is the second, and understanding is the third. -- Marge Piercy


1.1. About the Document

This document is part of the LINUX DOCUMENTATION PROJECT - LDP.

A Japanese translation is proposed by Shouhei Nagaoka, see the Linux JF (Japanese FAQ) Project.

This document isn't ready yet. If you like to write a chapter or even a smaller part by yourself, please feel free to contact me. Also your suggestions, recommendations and criticisms are welcome.

Note: Werner Heuser, no longer maintains this LDP.


1.3. Copyright, Disclaimer and Trademarks

NOTE: This license has changed to GPL license.

Copyright © 2002 by Gerardo Arnaez. This document may be distributed under the terms set forth in the GPL license.

Copyright © 2000 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license.

This is free documentation. It is distributed in the hope that it will be useful, but without any warranty. The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages incurred from the use of the information contained herein.

Though I hope trademarks will be superfluous sometimes (you may see what I mean at Open Source Definition : If certain words are trademarks, the context should make it clear to whom they belong. For example MS Windows NT implies that Windows NT belongs to Microsoft (MS). Mac is a trademark by Apple Computer. All trademarks belong to their respective owners.


2. Debian-Med

2.1. DEBIAN-MED HOMEPAGE

A better place to look for medical information is Debian-Med which is already better organized than this page. You should look here first, then come here, as I think the focus of this How-To will eventually be a How-to install working applications that I think is useful and actually useful.


3. Community

3.1. News

3.1.1. LinuxMedNews

LinuxMedNews is a site designed to facilitate, amplify and begin the process of fundamentally changing medical education and practice into a more effective, fair and humane enterprise using modern technologies. The site uses Zope and a slashdot clone Squishdot to accomplish these goals. It is not intended to be doctor-centric, it is intended to be an interesting/fun forum and resource for anyone who has an interest in health care and open source.


3.1.2. The Spirit Project

The Spirit Project is a multilingual source of opensource software that makes this document just pale in comparison. Well designed, too big for me go over in detail, but seems to be another good source for software development and group news.


3.2. Organizations

3.2.1. American Medical Informatics Association

AMIA is a association that is quite a resource for the informatics community. Unfortunately, they require a subscription to join, but I have found that some mailing-lists will add you. I have found the cs-wg mailing list the most interesting, with some of the best discussion going around. The discussion are extremely good and informative.


3.3. Mailing Lists

3.3.1. OpenHealth

OpenHealth is a another community that I have found has a good mailing list discussion. You can join the mailing list by going Here. It also contains a Link to a list of other opensource works.


3.3.2. Open Source Health Care Alliance

Open Source Health Care Alliance (OSHCA) is a collaborative forum to promote and facilitate open source software in human and veterinary health care.


4. Medical Record Applications


4.2. VISTA (DHCP)

VISTA is a huge, VA hospital funded project, electron medical records system. I used this system, when I was a resident, in the Va hospital, and it simply was the best system (that I had used). I'm actually surprised that not more people know about this. I am not sure about the license, but the software and documentation is available under the Freedom of Information Act, but you need to send REQUESTS to get access to the software on CD. They are currently starting to host more and more of the code on-line, though.


4.4. Electronic Obstetrical Record System

EORS is a quite a well-developed medical management system used by the developers themselves in their OB practice. The layout is somewhat Star Trek-ish, but quite useful and well developed.


4.5. Freemed

Freemed is a medical management software package that runs in a web browser window. It currently uses Apache, an SQL back-end (usually MySQL, but there's an SQL Abstraction for this), and PHP, and is non-browser specific. It aims to duplicate all of the functionality of programs such as The Medical Manager, while remaining free to the community.


4.6. Freemed-YiRC

Freemed-YiRC is a PHP package based on Freemed for use with Youth in Residential Care (YiRC) agencies. Its aim is to be a complete package to replace legacy non-free apps which aren't customizable. Since it's PHP-based, all that is needed for the client is a good Web browser with extensive table support. It can use both Postgres and MySQL databases.


4.7. GNUMed

GNUMed is a GNU's project to develop a comprehensive medical management solution.


4.8. GNotary

GNOTARY is a client that provide the ability to notarize digital documents using a server to prove that digital documents have not been tampered with after their initial creation date. This is a very important piece of software.

The author provides a GNotary server to provide the actually notarization on a separate system.


4.9. Res Medicinae

Res Medicinae is supposed to be a comprising software solution for use in Medicine which combines intuitive ease of use with the advantages of the Java platform. It uses latest technology adhering to common standards for medical software and will such be open to many other medical systems.is the attempt to overcome high pricing in the realm of medical information systems and to provide users with a stable, platform independent, extensive system using latest technology and being open to many other medical systems.


4.10. The LittleFish Health Project

The LittleFish project is a user friendly patient information and recall system on an open source basis for the use by any community health organization. The project will follow the GEHR or Good Electronic Health Record standards. This Site has a lot of useful information about the what is involved in trying to design the project.


4.11. Free Practice Management - FreePM

FreePM is an open source project to create a provider designed patient centered electronic medical record and practice management application. This is probably one of the most developed projects out there, seems already quite usable in its Demo. More significantly, they offer services to help actually run their software in a real office, but all the code is opensource and they seem committed to this philosophy.

I have successfully installed this and gotten it to run. Please look for further info in chapter 7.

Read a review of it HERE.


4.12. Open Infrastructure for Outcomes

OIO is a Web-based information system for treatment outcome management. It is in production at the Harbor/UCLA Medical Center for clinical outcomes management and research data. Forms created with OIO and hosted on any OIO server can be downloaded as XML files. Once downloaded from the "Forms library" and imported into an OIO server, the necessary database tables are automatically recreated and the imported forms become immediately available to the users of that OIO server.

Note: This application is already in quite useful, but lacks 'already-made' forms for use. But these can be quickly designed within the application's interface quickly. Another to really try!


4.13. myPACS

MyPACS is a Web-based medical image management system. It is written in PHP 3.x and uses MySQL for the relational database back-end. It features searching capabilities, uploading of images and patient data from a Web browser into shared and private image repositories, and thumbnail creation and image conversion using ImageMagick. Currently MyPACS is not compatible with the DICOM standard.


4.15. Meditux

Meditux is Java-servlet based software that provides a Web interface to MySQL or potentially any relational database engine which is JDBC capable. It was developed to support an Intranet site in a medical intensive care unit where it was used to collect clinical and research data.


4.16. MEGA and Mumps Compiler

Mumps Compiler is a compiler for a subset of the Mumps language, a language used mainly in health care. It is compatible with most operating systems with a standard C compiler. License: GPL OMEGA is an Open Source implementation of the M-Technology (MUMPS) programming language. It is extend-able, and currently embedded with MySQL; it is ideal as a trigger/validation front-end to SQL. License: free for non-commercial use.


5. Medical informatics

5.1. What is it?

My extremely brief answer would be it is the study of how medical data is recorded, stored, retrieved, displayed and exchanged. One of the big problems facing medicine is how to transfer medical data from one system to another.

Another answer comes from the AMIA.ORG site:

 

Medical informatics has to do with all aspects of understanding and promoting the effective organization, analysis, management, and use of information in health care. While the field of medical informatics shares the general scope of these interests with some other health care specialties and disciplines, medical informatics has developed its own areas of emphasis and approaches that have set it apart from other disciplines and specialties. For one, a common thread through medical informatics has been the emphasis on technology as an integral tool to help organize, analyze, manage, and use information. In addition, as professionals involved at the intersection of information and technology and health care, those in medical informatics have historically tended to be engaged in the research, development, and evaluation side of things, and in studying and teaching the theoretical and methodological underpinnings of data applications in health care. However, today medical informatics also counts among its profession many whose activities are focused on dimensions that include the administration and everyday collection and use of information in health care. For an account of some of the definitions that describe the field in more formal and scientific terms, click here.

 
--AMIA.ORG 


5.2. Good Electronic Health Record - GEHR

The Good Electronic Health Record (GEHR) , a major part of the work of the openEHR Foundation, is an evolving electronic health record architecture designed to be comprehensive, portable and medico-legally robust. It has been developed from the Good European Health Record project requirements statement and object model- the most comprehensive requirements documents ever developed for the electronic health record. This website is a public resource for documents and resources that have been used to build implementations of this record.


5.3. HL7lib - Health Level 7 Library

HL7lib Health Level 7 Library is a project that will provide a free, correct implementation of Health Level 7 functions. Health Level 7 is commonly used in large hospitals to send patient information among computer systems from different vendors. Since there is no reference implementation of HL7 many of these vendor systems vary widely in their interpretation of HL7.


6. PDA


6.2. Linux Devices

For more info, on say Sharp Zaurus SL-5000D, look Here.

This section will grow as I am getting touch with a doctor who is actively developing OB-GYNE applications to use on it


7. Installing a Medical Record Application (not ready yet)


7.3. OIO


7.3.2. HOW TO INSTALL OIO

7.3.2.1. A word on documentation

I can not stress how really good and how much documentation the developers of OIO have written. There are some confusing parts, especially if you are in a hurry. :) However, please read the install documentation at OIO then come back. Hopefully, I will import or streamline the documentation since, the developers want to support OIO on all distribution, whereas my slant is becoming more and more based on the Debian distribution.


7.3.2.2. Initial Notes on Debian Installation


7.3.2.2.2. TimeStamp Error

I ran into this problem because apparently PostgreSQL does not like the

On Sat, 2 Mar 2002 dude@deletia.com wrote:
...
> I have reached the section that asks me to archive a form.
>
> I hit the 'now' button, then hit 'Create a new version' and i get the
> follow error:
> This is the source of it the html page:
> <strong>Error Value: ERROR:  Bad timestamp external representation
> '2002/02/03 17:22:58 US/Pacific'

I ran into this same problem after the end of day light savings time. :-)
The reason for this is that PostgreSQL does not like US/Pacific for time
zone. The fix is to provide the time stamp in GMT time.

The fix is to add the following to the OIO/forms/archive_form/archive_b
method:
++++++++++++++++++++++++++++++++
<dtml-if time>
 <dtml-call "REQUEST.set('time_string', _.str(time.toZone('GMT')))">
</dtml-if>
++++++++++++++++++++++++++++++++
(it goes right before the following, make sure time=time_string in the
parameter list)
==========================================
<!--#in "putin_archived_forms_c(
                   form=name,
                   archivedname=newname,
                   version=newversion_value,
                   time=time_string,
                   creator=creator,
                   description=description
     )"-->
==========================================
So, basically the new routine converts the time stamp into GMT time - I
think GMT-7  or GMT-8 for US/Pacific, depending on daylight saving time
status.

Best regards,

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org

Caution

Note that in the originally distribution of OIO you only see 'time=time', when you are change the source code on this page, so make sure to make it time=time_string.

I am told that this will be fixed in the next release 1.0


7.4. FreePM


7.4.2. Where to to get it

You can get the entire package which include everything you need like Zope products and even python from Here and choosing FreePM-1.0b6-FULL-linux2-x86.tar.gz. This will include all the documentation.


7.4.3. Basic Installation of FreePM

Given that Tim Cook has put together everything you need to get a fully running FreePM application, I will first deal with installing the application as if you downloaded the full 14MB gzipped file. However, since Zope can be installed separately, and you may have other Zope applications going on, I will also discuss how to install the FreePM Zope product separately from installing Zope.


7.4.3.4. Installing the FreePM zope products

The key thing before I talk about installing the zope products is that, the first user, Admin, can only add other users and can not by itself actaully magane any products. You first need to add a new user and make the user a manager before you can do anything else.

To log into the running Zope server, you need to open a browser, type in http://127.0.0.1:8080 or depending on how new the Zope server is http://127.0.0.1:9673. If you look at the output during the install it will tell you what to what port to connect.

Caution

Note: Using the old port 8080 would conflict, which is why Zope changed the port connection.

At this point you should the zope introductory page, if not, make sure you have the correct port.

Go ahead and click on the link that says Zope management interface or enter http:127.0.0.1:8080/manage and you should the zope management screen. You know you are in the correct section if you see a root folder at the top of the Left Frame. To make sure we are on the same page, go ahead and click on the Root Folder icon in the right Frame.

You then should see the list of contents of the Root Folder on the Right Frame.

Look for and click on the acl_users folder. select add new user, fill in the required fields. You leave the domain field blank. And then besure sure to select role. In this case, click on manager for this user.

I am having problems sucessfully loggin out completely using zope, so when you intend to switch users, be sure to completely close all broswer windows.

Once you added a new user that has the role of manager, log back in. THat is to say, Close all browers and open up a new browers and go the the zope management screen. You should be asked for a login at this point. Go ahead and enter in you new user login and password.

Once you are logged in as an user (not the admin user), go ahead and click on the Root Folder on the top of the left frame. Scrool to the bottom of the Right Frame and you should see the Import/Export button. You see a new screen. In the Field Import File Name, enter FreePMProduct.zexp and then hit the import button. You should see a new scree nindicating success

The next step, is to again hit on the Root Folder Icon at the TOP LEFT FRAME. Again hit the Import/Export button, but this time, you want to import FreePM.zexp. Then hit the Import button.

Caution

Note that it will take some time to import the FreePM.zexp Zope product as it is quite large and you may get a brower error. I almost lost hair doing this stage because I coulnd tfigure out what was going wrong. In fact nothing was going wrong, it just took some time to import this large (32MB) zope prodcut. If you want to make sure something is acutally going on, I recommend using the top unix command, which will show you that python is actively still working to import FreePM.zexp.


8. Imaging Applications

8.1. Slicer

The Slicer is freely available, open-source software for visualization, registration, segmentation, and quantification of medical data built on top of VTK (http://public.kitware.com/vtk). Slicer can read industry standard CT and MR image volume file formats, including DICOM. Slicer can be used to create complex 3D models, script and render animations, and make measurements. Additional modules can be added to Slicer using C++ and Tcl.

Caution

Please Note: Slicer is a research tool only, and should not be relied upon for any clinical applications.

Development of the Slicer is an ongoing collaboration between the MIT Artificial Intelligence Lab and the Surgical Planning Lab at Brigham & Women's Hospital, an affiliate of Harvard Medical School. Slicer has an active developer community and is being used for research at many institutions around the world. Valid email address and contact information required for download. See http://www.slicer.org for more information.

Slicer is available in source code form and can be compiled for Solaris, Linux, or Windows. Precompiled binaries are available for some platforms.


9. Usefull Applications


10. My thoughts


10.3. I work and what is needed.

Now that I have been working for almost two weeks, here are a few things I have learned. While a resident, I did part of my training at the VA hospitals which had a superb information system, but it required that we type out everything from the smallest order to the emergency stat orders. This seemed to work weel for teh VA since most of the Doctors had residents do their notes or they tended to dictate very little, writing very breif, sometimes cryptic, notes about the status of their patient. Now that I am in the private world, the only thing that seems to be saving medicine are the transciptionists who take the garbled spped talk that doctors do and type out coherent statements. The problem that I see with many of these data systems is that seem to assume that doctors have the time which they dont (there is barely enough time to see a patient properly let alone do all the coding na dthen write out a clear note.

Several idea come out that doctors will merely have to tick off boxes on a palm device to indicate what they did, but this is fine for billing but not so for the actualy medical record, which even though is breif contains much more subtley then any billing coding system could have. Perhaps what we need is to maintain the medical record in its narrative form and have a parser go throught it and pull the important bits and then it would enter this stuff into database. It is an idea, but surely a worthwhile one since Doctors simply can not sit aroung computer terminals (as I am doing, but it is a Sunday)


11. Credits