Linux Medicine-HOWTO

Walt Pennington

tldp at pennfirm dot net

Gerardo Arnaez

<dude@mung.net>
Raintree I.T.??
Department of Advanced Skunk Works

Werner Heuser

  <wehe [a[t]ta] tuxmobil.org>
Revision History                                                             
Revision 2.3                2004-03-24          Revised by: gea              
Slight updates                                                               
Revision 2.2                2003-07-11          Revised by: gea              
Slight updates                                                               
Revision 2.1.2              2003-04-06          Revised by: gea              
Update Slicer information thanks to Matej Pivoluska. updated Werner Heuser   
information                                                                  
Revision 2.1.1.2            2003-02-02          Revised by: gea              
Corrected typo of 'important' in article description. Thanks to Morgon       
Kanter.                                                                      
Revision 2.1.1.1            2003-01-05          Revised by: gea              
slight update. spam-proofed emails. Note anyone that wants to help with the  
vet section should 'come on down'.                                           
Revision 2.1.1              2002-12-22          Revised by: gea              
Update to re-include vet applications, but again, will mostly serve as       
pointer to better information.                                               
Revision 2.1                2002-8-24           Revised 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.5              2002-07-26          Revised by: gea              
Added in OpenEMR. I also need to add back in the german sections, but will   
need help on it.                                                             
Revision 2.0.4              2002-04-06          Revised by: gea              
Added Kpumpe and OIO library info                                            
Revision 2.0.3              2002-03-02          Revised by: gea              
Added to install OIO on Debian system. Have started on OIO how to install    
Revision 2.0.2              2002-03-02          Revised 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.1              2002-02-19          Revised 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.0                2002-02-05          Revised 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.3              2002-02-5           Revised by: gea              
Doing minor checks of links. no big change yet                               
Revision 1.4.2              2002-02-05          Revised 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.1              2002-02-05          Revised 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.4                Unknown             Revised by: wh               
XXX, minor changes                                                           
Revision 1.3                2001-03-01          Revised by: wh               
added links to gnutrition, Java SmokingMeter and HL7lib - Health Level 7     
Library, some other links updated, Japanese translation proposed             
Revision 1.2                2000-11-04          Revised 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.1                2000-04-20          Revised by: wh               
links to Res Medicinae, QDS, sixpack and LinuxMedNews added, minor changes   
Revision 1.0                2000-01-27          Revised by: wh               
LinuDent added, preface and disclaimer added, minor changes, first official  
release                                                                      
Revision 0.2                2000-01-26          Revised by: wh               
URLs checked, minor changes, second draft                                    
Revision 0.1                1999-11-17          Revised 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. WorldVista and OpenVista
    4.5. SQL Clinic
    4.6. FreeB
    4.7. FreeMED
    4.8. Freemed-YiRC
    4.9. Care2x
    4.10. Medical DataServer
    4.11. OpenClinic
    4.12. GNUMed
    4.13. GNotary
    4.14. Res Medicinae
    4.15. Open Infrastructure for Outcomes
    4.16. LIMS - Laboratory Information Management Systems
    4.17. Meditux
    4.18. 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. Useful 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.
-- [http://www.capecod.net/??tmpiercy/] Marge Piercy
-----------------------------------------------------------------------------

1.1. About the Document

This document is part of the [http://www.linuxdoc.org] LINUX DOCUMENTATION
PROJECT - LDP.

A Japanese translation is proposed by Shouhei Nagaoka, see the [http://
www.linux.or.jp/JF/] 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 [http://
www.mung.net] mung.net
-----------------------------------------------------------------------------

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 [http://
tuxmobil.org/howtos.html] Linux-Mobile-Guide, [http://tuxmobil.org/
howtos.html] Linux-Infrared-HOWTO and the [http://tuxmobil.org/
eco_linux.html] Linux-Ecology-HOWTO.
-----------------------------------------------------------------------------

1.4. Copyright, Disclaimer and Trademarks

NOTE: This license has changed to [http://www.fsf.org/licenses/gpl.html] GPL
license.

Copyright © 2002 by Gerardo Arnaez. This document may be distributed under
the terms set forth in the [http://www.fsf.org/licenses/gpl.html] GPL
license.

Copyright © 2000 by Werner Heuser. This document may be distributed under the
terms set forth in the [http://www.linuxdoc.org/COPYRIGHT.html] 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 [http://www.opensource.org/osd.html] 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

One location to find information on medical projects is [http://
www.debian.org/devel/debian-med/] Debian-Med. Debian-Med has a very nice
listing of projects.
-----------------------------------------------------------------------------

3. Community

3.1. News

3.1.1. LinuxMedNews

[http://www.LinuxMedNews.org/] LinuxMedNews is the unofficial news site for
Linux and medical projects. LinuxMedNews.org is designed to facilitate
announcements and sharing, of information related to open source applications
and how they are advancing the efforts of medicine worldwide. LinuxMedNews is
published using Squishdot and Zope for its news and project collection.
LinuxMedNews is intended to be an interesting and fun resource for anyone
with an interest in health care and open source.
-----------------------------------------------------------------------------

3.1.2. The Spirit Project

[http://www.euspirit.org] 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

[http://www.amia.org] AMIA is an association supporting the technology and
informatics for the medical community. AMIA sponsors an Open Source Working
Group. The OS-WG has providers, clinics, hospitals, hardware manufacturers
and researchers worldwide giving a broad perspective for the technology needs
and uses within medicine. AMIA does require a subscription, however AMIA
offers an associate membership for $30 for one year. At this membership
level, you can join one working group and its mailing list.
-----------------------------------------------------------------------------

3.3. Mailing Lists

3.3.1. OpenHealth

[http://www.openhealth.com/] OpenHealth is a company owned mailing list for
community discussion of issues related to open source software development
for medical projects. This is one of the largest and most popular lists for
discussion of topics related to science and medicine and has an international
population. In late 2003 and early 2004 there were problems with users trying
to joing the list. Minoru Development, the owner of the OpenHealth List, is
working with Bud Bruegger to improve administrative issues, and since Bud has
assumed the administrative role, joining the list or resolving list issues is
typically resolved in one to two days. Join the mailing list by going [http:/
/www.openhealth.com/en/healthcare.html] Here. Minoru Development also has a
[http://www.openhealth.com/en/healthlinks.html] Link to a list of other
open-source application projects.
-----------------------------------------------------------------------------

3.3.2. Open Source Health Care Alliance

[http://www.oshca.org/] Open Source Health Care Alliance (OSHCA) is a
collaborative forum to promote and facilitate open source software in human
and veterinary health care. At the OSCHA web site most of the information is
stale, and there is a direction to the OpenHealth mailing list.
-----------------------------------------------------------------------------

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 [http://www.irc.net] Here. To learn more about
Openprojects.net, click [http://www.openprojects.net] Here.
-----------------------------------------------------------------------------

4. Medical Record Applications

4.1. Debian Med

Debian-Med is a Debian meta-project allows for installation of medical themed
appliations. Debian-Med is not a separate distribution, but is an extended
functionality for Debian users. Below you will see many applications for the
medical community. Typically, you would download and install a single
application, and resolve any issues that arise during an installation.
Debian-Med solves that installation issue. The Debian-Med project leaders
will note that an application is a medical or biosciences related
application.

After you have installed Debian, you can choose to load either a single
application, or you can choose to load Debian-Med. Loading Debian-Med will
install all of the applications that have been designated as medical or
biosciences related. The Debian-Med project can be found in the Apt-get
repositories. [http://www.debian.org/devel/debian-med/] Click here to access
the Debian-Med home page
-----------------------------------------------------------------------------

4.2. OpenEMR

OpenEMR is a modular, HIPAA compliant, open source, practice management,
electronic medical record and prescription writing application. OpenEMR
should have billing capability using FreeB by late April 2004. The planned
billing functionality for OpenEMR will include the ability to generate ANSI
X12 or HCFA 1500 forms, or submit bills directly to Medicaid, Medicare or
private insurers. The developers on the project are actively working on
completing the billing functionality. 2.5.2 is the latest version of OpenEMR
and includes the ability to find the first available appointment on the
calendar for a provider, direct links to encounters from the calendar,
different calendar views for a provider or office staff, reporting using
phpMyAdmin and prescription writing.

OpenEMR uses Linux, Apache, MySQL and PHP. OpenEMR incorporates the work of
several open source projects such as PostCalendar from PostNuke for
calendaring, and phpMyAdmin for database reporting and manipulation. OpenEMR
is also integrating the work of FreeB for billing.

[http://www.openemr.net] At the OpenEMR.net User forum you will find several
user testimonials about installing, migrating data and customizing OpenEMR in
actual medical office environments.
-----------------------------------------------------------------------------

4.2.1. Last Update:

March 25, 2004
-----------------------------------------------------------------------------

4.3. VISTA (DHCP)

[http://www.hardhats.org] VISTA is a largest and most comprehensive of open
source medical projects. VISTA is an open source application that is funded
by the federal government for use by the Veterans Administration at its
hospitals and clinics. I used this system, when I was a resident, in the VA
hospital, and it was the best system that I had used. This is a wonderful
project that I can recommend. I am not sure about the software license, but
the software and documentation are available from the U.S. Federal
Government. To obtain the software you must file a Freedom of Information Act
("FOIA") request. The current fees to obtain VISTA on CD are $53US for the
main VISTA packages and $13 for imageing. [http://hardhats.org/foia.html]
REQUESTS to get access to the software on CD. Some of the cost may be
on-line, so please email the team at hardhats.org.
-----------------------------------------------------------------------------

4.3.1. Last Update:

Constantly
-----------------------------------------------------------------------------

4.4. WorldVista and OpenVista

[http://www.worldvista.org] WorldVista and OpenVista are open source variants
of VISTA.

WorldVista helps make healthcare information technology more affordable and
more widely available both within the United States and internationally.
WorldVistA extends and improves VistA for use outside its original setting
through such activities as developing packages for pediatrics, obstetrics,
and other hospital services not used in veterans' hospitals. WorldVistA also
helps those who choose to adopt VistA successfully master, install, and
maintain the software. As the group of VistA adopters and programmers grows,
we work to develop it into a collaborative, consensus-based, open-source
community.

The OpenVistA project will help its adopters eliminate these fees by allowing
VistA to run on the GT.M programming environment and the Linux operating
system, both of which are open source and free. Historically, VISTA required
adopters to pay licensing fees for the systems on which it runs: the
programming environment (MUMPS) and the operating system underneath (such as
Microsoft Windows or VMS). By reducing licensing costs, OpenVistA frees up
money to be spent on medicine, medical professionals, and other resources
more likely to directly improve patient care. Like all WorldVistA projects,
the OpenVistA project not only provides adopters with the software itself but
also transfers knowledge and expertise and builds long-term mutual support
relationships between adopters and the rest of the worldwide VistA community.
This software is for medical clinics, FQHC, hospitals, medicine training
facilities, and community medical clinics.
-----------------------------------------------------------------------------

4.4.1. Last Update:

12/20/2003
-----------------------------------------------------------------------------

4.5. SQL Clinic

[http://www.sqlclinic.net] 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. SQL Clinic in its current
format may require additional customization for use outside of mental-health
projects.

SQL Clinic is designed to be reverse engineered and used for medical or other
purposes. SQL CLinic is based on Lincoln Stein's CGI.pm module and the
incredible horsepower of PostgreSQL. The developer's goal for SQL Clinic is
for the project to have utility as an example of how to access postgres via
Perl than as a mere clinical application.
-----------------------------------------------------------------------------

4.5.1. Last Update:

Feb 21, 2004
-----------------------------------------------------------------------------

4.6. FreeB

[http://www.freeb.org/] FreeB is a medical billing engine. It is a collection
of formats, as well as an engine capable of connecting with any Practice
Management System that implements the FreeB API (XML-RPC). It supports
HIPAA-compliant ANSI X12 837 electronic billing and HCFA 1500 paper formats.
-----------------------------------------------------------------------------

4.6.1. Last Update

March 25, 2004
-----------------------------------------------------------------------------

4.7. FreeMED

[http://www.freemed.org/] Freemed is a web based medical practice management
and electronic medical record application. FreeMED runs on Apache, a SQL
back-end (usually MySQL, but there's an SQL Abstraction for this), and PHP.
FreeMED aims to duplicate functionality of proprietary applications such as
Medical Manager, while remaining open source.

FreeMED is working on two functional additions: billing with FreeB and
reporting using Agata. FreeB will allow FreeMED users to send ANSI X12 or
HCFA 1500 forms directly to a payer. Agata, an open source replacement for
Crystal Reports, will allow a practice to create custom reports for FQHC UDS
reporting or other reporting needs.
-----------------------------------------------------------------------------

4.7.1. Last Update

March 25, 2004
-----------------------------------------------------------------------------

4.8. Freemed-YiRC

[http://freemed-yirc.familyandyouth.org/] Freemed-YiRC is 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.
As a PHP-based application, all that is needed is a web browser with
extensive table support. It uses either Postgres or MySQL databases.
-----------------------------------------------------------------------------

4.8.1. Last Update:

11/23/2003
-----------------------------------------------------------------------------

4.9. Care2x

[http://care2x.org/] Care2x is for hospitals and health care organizations.
It is designed to integrate the different information systems existing in
these organizations into a single efficient system. Care2x solves the
problems inherent in a network of multiple programs that are incompatible
with each other. It can integrate almost any type of services, systems,
departments, clinics, processes, data, or communication that exist in a
hospital. Care2x's design can even handle non-medical services or functions
like security or maintenance. All of its functions can be accessed with a Web
browser, and all program modules are processed on the server side.
-----------------------------------------------------------------------------

4.9.1. Last Update:

01/10/2004
-----------------------------------------------------------------------------

4.10. Medical DataServer

[http://www.mii.ucla.edu/dataserver/] Medical DataServer is an XML gateway,
specially tailored for the medical domain. It provides an enterprise-quality
platform for aggregating XML-based patient medical records, in both clinical
and research applications. It is middleware, situated between clients and
traditional Health Information Systems (HIS), Radiology Information Systems
(RIS), and Picture Archive and Communication Systems (PACS). It supports
relational (SQL), SOAP, and HTTP data sources out of the box, but is highly
extensible for custom types. A suite of Web-based tools allows for the
centralized management of distributed data sources, and the rapid deployment
of new services. It addresses HIPAA concerns with query auditing, tight
integration with security mechanisms, and patient record de-identification.
-----------------------------------------------------------------------------

4.10.1. Last Update:

03/25/2004
-----------------------------------------------------------------------------

4.11. OpenClinic

[http://openclinic.sourceforge.net/openclinic/index.html] OpenClinic
OpenClinic is an easy to use, open source medical records system. It has been
mainly developed for private clinics, surgeries, and private doctors. It is
platform independent and has a multi-language architecture.
-----------------------------------------------------------------------------

4.11.1. Last Update:

12/20/2003
-----------------------------------------------------------------------------

4.12. GNUMed

[http://www.gnumed.org/] GNUMed is suited to doctors in community practice,
but may suit others who provide a degree of comprehensive care (general
internists, pediatricians, others). GNUMed will support a few or many
networked users with secure local or remote access. GNUMed will also operate
on a single computer. The GNUMed project recommends testing GNUMed on a
single computer to examine the software's features for a particular practice.
GNUMed is comprised of a group of practicing physicians, programmers and open
source software enthusiasts from around the world. GNUMed's data is accessed
via business objects implemented in Python directly accessing the PostgreSQL
RDBMS. GNUMed will also access various types of data stores such as other
RDBMS or LDAP.
-----------------------------------------------------------------------------

4.12.1. Last update:

12/30/2003
-----------------------------------------------------------------------------

4.13. GNotary

[http://www.gnumed.net/gnotary/] GNOTARY is a part of the GNUMed Utility
Collection and is designed to provide the ability to notarize digital
documents using a server. The purpose of the notary for medical records is to
prove that digital documents have not been tampered with after their initial
creation date.
-----------------------------------------------------------------------------

4.13.1. Last Update:

11/26/2001
-----------------------------------------------------------------------------

4.14. Res Medicinae

[http://resmedicinae.sourceforge.net/] Res Medicinae is to become a
comprising software solution for use in medicine which combines intuitive
ease of use with the advantages of the CYBOL programming language. It uses
latest technology adhering to common standards for medical software and will
such be open to many other medical systems.

Res Medicinae is the attempt to overcome high pricing in the realm of medical
information systems and to provide users with a free, stable, secure,
platform-independent, extensive system.

-----------------------------------------------------------------------------
4.14.1. Last Update:

10/4/2002
-----------------------------------------------------------------------------

4.15. Open Infrastructure for Outcomes

[http://www.TxOutcome.org/] 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.15.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
[http://www.txoutcome.org/scripts/zope/library] Here
-----------------------------------------------------------------------------

4.15.2. Update

I have successfully installed this and believe that this is an excellent
application. 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.16. 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 [http://www.blazesystems.com/] Blaze Systems
Corporation LIMS is now supported on Linux.
-----------------------------------------------------------------------------

4.17. Meditux

[http://meditux.sourceforge.net/] 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.18. 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 [http://home.clara.net/finch/] 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.                                       
                                    --[http://www.amia.org] AMIA.ORG        
-----------------------------------------------------------------------------

5.2. Good Electronic Health Record - GEHR

The [http://www.gehr.org/] 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 [http://www.chime.ucl.ac.uk/HealthI/
GEHR/] 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

[http://hl7lib.sourceforge.net] 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 [http://tuxmobil.org/
pda_linux.html] 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 [http://tuxmobi.org/howtos.html]
Infrared-HOWTO for details. A survey of non-Linux applications for the Palm
device you may find at [http://palmtops.about.com/compute/palmtops/
msub14.htm] PalmPilot Medical - Palmtops PDAs HPCs Palm - Net Links.
-----------------------------------------------------------------------------

6.3. Linux Devices

For more info, on say Sharp Zaurus SL-5000D, look [http://
www.linuxdevices.com/index.html] 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 project
    known as FreeVet, a FOSS package available via QPL, aimed at being such a
    solution. The project appears to have died after reaching a relatively
    high level of development and maturity. The only currently accessible
    information and code that I've been able to find is here: [http://
    www-med-chemie.vu-wien.ac.at/mirrors/FreeVet/] 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 [http://
www.txoutcome.org] 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 [http://www.freepm.org:8080/freepm_download/
fpm_downloads] 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 aesthetically 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 actually
manage 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 be sure sure to
select role. In this case, click on manager for this user.

I am having problems successfully logging out completely using zope, so when
you intend to switch users, be sure to completely close all browser windows.

Once you added a new user that has the role of manager, log back in. That is
to say, Close all browsers and open up a new browsers 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. Scroll 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 FreePM Product.zexp and then hit
the import button. You should see a new scree indicating 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 browser error. I      
        almost lost hair doing this stage because I could not figure out what
        was going wrong. In fact nothing was going wrong, it just took some  
        time to import this large (32MB) zope product. If you want to make   
        sure something is actually 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 introductory 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 [http://www.slicer.org] www.slicer.org
-----------------------------------------------------------------------------

10. Useful 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 [http://freshmeat.net/projects/kpumpe/] 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 working clinic. This seems to be
much harder since it would involve the billing section. 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 Imageing, 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 well for the VA since most of the Doctors had residents do their
notes or they tended to dictate very little, writing very brief, 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 speed 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 don't (there is
barely enough time to see a patient properly let alone do all the coding and
then 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 actually medical record, which even though is brief contains much
more subtly 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
through 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 around computer terminals (as I am doing, but it is a
Sunday)
-----------------------------------------------------------------------------

12. Credits

  * Gref Fergusion. For putting up with my constant questions.
   
  * AIRION Asssociates <airion@charter.net>
   
  * K. Szabo Botond <kszabo@sol.cc.u-szeged.hu> [http://sol.cc.u-szeged.hu/
    ~kszabo/myPACS.html] MyPACS
   
  * Patrick Goltzsch <Patrick.Goltzsch@Hanse.de>
   
  * Chason Hayes MD <Chasonh (AT) hotmail.com>
   
  * Christian Heller <christian.heller ()() tuxtax.de>
   
  * Karsten Hilbert <Karsten.Hilbert A(T)T gmx.net>
   
  * George B. Moody <george (AATT) mit.edu> Harvard-MIT Division of Health
    Sciences and Technology
   
  * Shouhei Nagaoka <nagaoka {ATAT} jttk.zaq.ne.jp>, Japanese translation
   
  * Kevin Rosenberg, M.D. <kevin *** rosenberg.net>
   
  * Andrew Sutton <ansutton [ot] sep.com>
   
  * Ralf Stephan <ralf@ark.in-berlin.de>
   
  * [http://ls7-www.cs.uni-dortmund.de/~wawro] Martin Wawro LS7, Department
    of Computer Science, UniDO <wawro (A(T)) ls7.cs.uni-dortmund.de>
   

