Linux Medicine-HOWTO

Gerardo Arnaez

Werner Heuser

Revision History
Revision 2.1.22003-04-06Revised by: gea
Update Slicer information thanks to Matej Pivoluska. updated Werner Heuser information
Revision 2.1.1.22003-02-02Revised by: gea
Corrected typo of 'important' in article description. Thanks to Morgon Kanter.
Revision 2.1.1.12003-01-05Revised by: gea
slight update. spam-proofed emails. Note anyone that wants to help with the vet section should 'come on down'.
Revision 2.1.12002-12-22Revised by: gea
Update to re-include vet applications, but again, will mostly serve as pointer to better information.
Revision 2.12002-8-24Revised by: gea
There are too many projects. There are much better sites for information. This document will change its focus and be more of a stable document and pointing to active sites with better and more up-to-date information. This document is not intended to be complete, and parts of it will seem out of place in its new function.
Revision 2.0.52002-07-26Revised by: gea
Added in OpenEMR. I also need to add back in the german sections, but will need help on it.
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 linux-doc to Doc-Book 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 Doc-Book 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

The Linux Medical How-To will serve as a nice and convenient meta resource directing interested parties to important sites, a few well-established/meta mailing lists.


Table of Contents
1. Preface
1.1. About the Document
1.2. Update
1.3. About the Author(s)
1.4. Copyright, Disclaimer and Trademarks
1.5. 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. OpenEMR
4.3. VISTA (DHCP)
4.4. SQL Clinic
4.5. Electronic Obstetrical Record System
4.6. Freemed
4.7. Freemed-YiRC
4.8. GNUMed
4.9. GNotary
4.10. Res Medicinae
4.11. The LittleFish Health Project
4.12. Free Practice Management - FreePM
4.13. Open Infrastructure for Outcomes
4.14. myPACS
4.15. LIMS - Laboratory Information Management Systems
4.16. Meditux
4.17. 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. Tuxmobil PDA Information Site
6.2. Palm Pilots
6.3. Linux Devices
7. Veterinary applications
7.1. FreeVET
8. Installing a Medical Record Application (not ready yet)
8.1. CLARIFICATION
8.2. Point of this section
8.3. My Assumptions About You
8.4. OIO
8.5. FreePM
9. Imaging Applications
9.1. Slicer
10. Usefull Applications
10.1. KPumpe
11. My thoughts
11.1. Too Many Projects
11.2. I am biased
11.3. I work and what is needed.
12. 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.

Note: Werner Heuser, no longer maintains this LDP.


1.2. Update

The most up-to-date version of this document will be at the www.tldp.org


1.3. About the Author(s)

Gerardo Arnaez: I am an internal medicine doctor. I am extremely concerned with the state of medical informatics.

Werner Heuser: Working as a system administrator in the computer departments of two German hospitals I get inspired to search for medical applications created with Linux software. Besides this HOWTO I have written the Linux-Mobile-Guide, Linux-Infrared-HOWTO and the Linux-Ecology-HOWTO.


1.4. 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.


1.5. Request For Comments

If you have any comments, suggestions, new information, please tell me: <garnaez_((AT))_yahoo.com>


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 open-source 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 open-source 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.


3.4. IRC

3.4.1. IRC #openmed

An IRC channel, #openmed, has been set up on irc.openprojects.net. To learn more about IRC, click Here. To learn more about Openprojects.net, click Here.


4. Medical Record Applications

4.1. Debian Med

The linux distribution by Debian is a well known and highly respected one. The developers are all volunteers and dedicated. Recently, it was announced that Debian would start making a Debian Med Package. This is very very good news, because one of the things Debian is known for is its "APT-GET" interface. This allows applications to be installed with the simple command of "apt-get install [application]". For example, if I wanted to install the OIO record system, I would simply type in 'apt-get install oio' and the apt-get program would not only install the OIO software, but would also install any software that OIO is Dependant on to run, such as the postgres database and Zope software and would configure it so that you could immediately start using it.

If you think I sound enthusiastic about this project, I am, because it simply would be perfect for the rest of the projects that are being developed in that would ease installment.

I urge to visit the Debian Med Homepage, by clicking HERE


4.2. OpenEMR

OpenEMR is a modular, HIPAA compliant, Open Source, cross-platform Electronic Medical Records system (EMRS) developed by Synitech Incorporated (www.synitech.com). It facilitates efficient office management through automated patient record journaling, and has been successfully integrated with third-party technologies including speech recognition, secure wireless access, touch screen portables, and biometric authentication. Interface screens are theme-able and optimized for consistency, simplicity, speed of access to patient information, and minimum eye strain. OpenEMR is based upon widely-used public standards to achieve maximum compatibility with evolving technologies

OpenEMR has been in development and beta testing for the past 2 years, and is finally released to the public for download. The system is cross platform, and operates on top of Apache or IIS, PHP and MySQL. OpenEMR is fully HIPAA compliant and includes advanced authorization and auditing functionality, HIPAA-mandated automatic timeouts, group-based user configuration, extensive logging, and supports patient-requested file changes. There is a growing developer base dedicated to making extensible and configurable encounter forms and patient/office statistical reports, and Synitech will soon release its template Notice of Information Practices intended for use with OpenEMR

I have yet to have any experience with this software. Please let me know if you have experience with it.

I tried installing it, but the instruction are for crap.


4.3. 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.3.1. Last Update:

Constantly


4.4. SQL Clinic

SQL clinic is an impressive application that was developed for mental health workers, sponsored by their local hospital. What is most impressive is the amount of documentation. However it is unclear how useful the application would be for other non mental-health professionals.

 

To address the point about its utility outside the mental health sector: we are doing a spin-off called (believe it or not) SQL Cafe. Why? The local Indian restaurant (www.tasteofindia.org - I do their web pages) has hired us to design a custom database that tracks vendors, customers, uses a cgi based on-line menu (to replace the html version, so modifications don't require html skills) and so on.

Seriously, one other thing about SQL Clinic is that it was designed to be reverse engineered and used for other purposes. It's all based on Lincoln Stein's CGI.pm module (a terrific tool) and the incredible horsepower of Postgres. So I suspect, once Ingo and I get it a bit more streamlined, that SQL Clinic may have greater utility as an example of how to access postgres via Perl than as a mere clinical application. At least that is our goal.

 
--Thomas Good writes 


4.4.1. Last Update:

Feb 2, 20002


4.5. 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.1. Last Update:

Unclear


4.6. 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.1. Last Update

Unclear. July 9, 2001 ?


4.7. 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.1. Last Update:

02/04/2002


4.8. GNUMed

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


4.8.1. Last update:

2000-11-22


4.9. 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.1. Last Update:

2001-06-24


4.10. 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.1. Last Update:

2002-02-05


4.11. 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.12. 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 open-source 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.13. 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.1. OIO Library

One of the interesting things about OIO project, one that makes it one of my favorites, is the ability to share forms that others have created. However, at this moment there are no forms present, but in the future they will be Here


4.13.2. Update

I have successfully installed this and believe that this is a real contender. In the HOW-TO Install section, I may try to replicate all documents or use the fine documentation and just comment on it, making special note of problems encountered during installation and use


4.14. 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. LIMS - Laboratory Information Management Systems

The LIMS ASTM Standard (E1578 Standard Guide for Laboratory Information Management Systems) can be found in ASTM`s Annual Book of Standards Volume 14.01 Healthcare Informatics; Computerized Systems and Chemical and Material Information. There is a small terminology section in this standard that covers 25 terms that relate to LIMS. The purpose of the standard guide is to educate new LIMS users on the purpose and functions and the process of procuring a LIMS.

There is one other additional LIMS related standard in this book. This E2066 Standard Guide for Validation of Laboratory Information Management Systems. The BlazeLIMS Server by Blaze Systems Corporation LIMS is now supported on Linux.


4.16. 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.17. 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.1. Tuxmobil PDA Information Site

The indefatigable Werner Heuser has an extremely informative and updated information site for Linux Based PDA's. It is at Tuxmobil.org


6.2. Palm Pilots

An increasing role in data collection for instance in hospitals, will be played by hand-held computers (HPCs) or Personal Digital Assistants (PDAs). More commonly known as PALMs. Linux offers way to exchange these data to servers, for instance via the IrDA port. See Infrared-HOWTO for details. A survey of non-Linux applications for the Palm device you may find at PalmPilot Medical - Palmtops PDAs HPCs Palm - Net Links.


6.3. 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. Veterinary applications

If you have questions about this section, I urge you to email Gabriel M. Elder (gmelder (AT/@/AT) centurytel.net)


7.1. FreeVET

He writes

Earlier versions of the Medicine HOWTO included a reference to a projectknown as FreeVet, a FOSS package available via QPL, aimed at being such a solution. The project appears to have died after reaching a relativelyhigh level of development and maturity. The only currently accessible information and code that i've been able to find is here: FreeVet


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

8.1. CLARIFICATION

I will no longer aim this HOW-TO as an actual how-to. This section is deprecated and will no longer be maintained, but will not be removed.


8.2. Point of this section

This section is actually going to be the HOW-TO of this HOW-TO document. I intend to include instructions or refer to instruction on installing what available systems that are readily usable at this point.


8.3. My Assumptions About You

I will try to be pretty cook book about how to install these applications, which means that if I can, i will always tell you what to type (at least what to type that works for me). The problem is that this assumes that you know what a shell window is and can switch directories with-in, which actually assumes a fair level of technical sophistication since most of us have gotten used to Microsoft based Windows systems. Which is to say that a lot of us only have interacted with a computer using a Graphics User Interface (Gui's), and that these installation require that you be familiar with Command Line Interfaces (CLI) like a terminal window or a shell.

If you don't know what I am talking about then I recommend you ask someone (me possibly) about what shell windows are, and probably what a UNIX-based Operating system looks like, especially without a GUI.


8.4. OIO

8.4.1. What is it?

The OIO system starts a higher level of abstraction - starting with modeling "forms". The forms are then used to model/build progress notes etc. The OIO system makes use of a relational database back-end (PostgreSQL) - 1) making the data/metadata/presentation separation more distinct, 2) making integration with other system (e.g. legacy systems, GNUMed, SQL Clinic etc) easier, 3) making query construction/extension easier (via SQL).

If you search the OpenHealth mailing list archives, you will see extensive discussion regarding this in the context of GEHR and OIO. GEHR uses the same approach but calls this intermediate level of abstraction "archetypes". The advantage of the OIO/GEHR approach is that the metadata components can be plug-and-play - meaning that the system can be easily extended/customized AND portable medical records become easier to implement.


8.4.2. HOW TO INSTALL OIO

8.4.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.


8.4.2.2. Initial Notes on Debian Installation

8.4.2.2.1. Changes to PostgreSQL

One of the more aggravating things was find that Zope could not interact (connect) to the PostgreSQL database. What was happening (I will give greater detail later) is that the 'postgres' user could not be authenticated. I think this is a problem in that Krebs authentication is not installed by default. To fix this you need to cd /etc/PostgreSQL/ and find the pg_hba.conf file. Using what ever editor you like, find the bit of code that tells who can and can not access to the database. Unfortunately, the only way I could get it to work for now is to change:

local all peer sameuser

host all 127.0.0.1 255.0.0.0 ident sameuser

host all 0.0.0.0 0.0.0.0 reject

And change it to

local all trust

host all 127.0.0.1 255.0.0.0 trust

host all 0.0.0.0 0.0.0.0 reject


8.4.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


8.4.2.2.3. Port Problems

Note that Zope has changed its default port from 8080 to 9673 to avoid conflicts with the proxy server. You will not be able to get OIO to run correctly if you don't specify the correct ports that Zope is using. You can correct these by clicking on the main OIO folder, and selecting the Properties. Or you add /manage to the end of you OIO URL. For instance http://localhost:8673/OIO becomes http://localhost:9673/OIO/manage

You are looking for field base_URL and form_URL and you will see that OIO has port 8080 set up as the default. You need to change this number to 9673.


8.5. FreePM

8.5.1. Introduction to FreePM

This is the second application that I see that I think is actually useful for the medical office. (One of my main concerns, as I will be using it exactly for that.)


8.5.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.


8.5.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.


8.5.3.1. Using the 14MB FreePM download

Once you have downloaded the 14 MB package, be sure to also download the extensions_for_1.0b6.tar.gz. At this point, it really doesn't matter what directory you have download the gzipped tar files into, but to play it clean and safe, I would download them or move them into their own directory. Then go ahead and gunzip FreePM-1.0b6-FULL-linux2-x86.tar.gz to unzip the file and then tar xvf FreePM-1.0b6-FULL-linux2-x86.tar.gz

Once the tar file has finished unpacking, you should see a new directory called FreePM-1.0b6-FULL-linux2-x86. To make things easier I would change the name of this directory to 'FreePM' like so mv FreePM-1.0b6-FULL-linux2-x86 FreePM

Move the extensions_for_1.0b6.tar.gz to the newly created FreePM directory and look for the 'Extension' directory and go ahead and move it there and unpack using the tar xvf


8.5.3.2. Installing the Zope server

Tim Cook was smart and kind of enough to write an install script to install the Zope. Once you are in the FreePM directory (remember, the one that you created when you untar-ed the 14MB file), you run the script by tying ./install

Caution

DON'T FORGET TO WRITE YOUR ADMIN and PASSWORD that you will at this point otherwise you will need to re-install the Zope server and determine you new password for admin


8.5.3.3. Running the Zope Server

Tim Cook also wrote two scripts to start the server and stop the server. Be sure you our in the FreePM directory. You will know this if you see the files 'start' and 'stop' in there. It is also the same directory where you ran the ./install. To start the Zope server, type ./start. However you might want to type ./start& to make it a background process which will free up your terminal window. This will also allow you to stop the Zope Server by typing ./stop instead of hitting the CRTL-C key combination, a rather blunt way of stopping the Zope server and not an aestheically pleasing way of stopping the zope process.


8.5.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.5.3.5. Running FreePM

To actually get to the FreePM, you need to open a browser and go to http://127.0.0.1:8080/FreePM

You should see the introductor screen of FreePM. However, so far I can only add patients but can not edit any sensitive information. This section will need a lot of work


9. Imaging Applications

9.1. Slicer

The 3D Slicer uniquely integrates several facets of image-guided medicine into a single environment. It provides capabilities for automatic registration (aligning data sets), semi-automatic segmentation (extracting structures such as vessels and tumors from the data), generation of 3D surface models (for viewing the segmented structures), 3D visualization, and quantitative analysis (measuring distances, angles, surface areas, and volumes) of various medical scans.

The 3D Slicer is freely available and provided as open source software. Its design is fully modular to encourage researchers to extend its functionality. It's new home is at www.slicer.org


10. Usefull Applications

10.1. KPumpe

By David Weisgerber (http://freshmeat.net/users/david84/)

About: KPumpe is a diabetes diary application with support for reading records from your glucometer. It supports the Onetouch Ultra and other glucometers where glucomodule plugins are available.

I haven't used this one yet, but I plan on installing it at work, and getting my patients to start using their glucose monitoring machines more.

License: GNU General Public License (GPL)

You can find out more about it Here


11. My thoughts

11.1. Too Many Projects

Having spend some time on looking at the available software, I can only say that currently, we simply have an abundance of development, but little progress. I keep seeing multiple projects trying to achieve the same thing, but the resources are spread too think and so they fail. I wonder if there were some way to concentrate the various developers onto one project. The questions remain as to what main ideas should be focused on. Obviously the first one should be a Medical records application. That is a coherent, portable, way to contain, process, and use all the medical data that is generate by a patient.

The second focus should be on software for a workign clinic. This seems to be much harder since it would involve the billling seciton. However this would also include things like scheduling and multitude of forms that a clinic uses in day to day use.

THe third focus (one I know little about) would be in the more specialized applications like Imagaing, which seems to already have quite a bit of working software, but is inherently hard to make because not everyone has access to CT scanners and such.


11.2. I am biased

The other thing I want to point out is that this is not an un-biased LDP, I may stress something more than others because I think the foundation is better or that I have seen it actually work, so if you feel something is not right, please feel free to let me know.


11.2.1. Debian as Standard linux distribution

I realize that urging people to consider debian as the standard linux system when it comes to medical applications is probably like arguing about religions. But.. :) The point is that our audience is not Linux gurus who only use slack or can configure applications from source tar balls. Debian provides an extremely sophisticated and easy to use installation process that is ideal for people who want to get a system running.


11.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)


12. Credits