Linux Medicine-HOWTO

Gerardo Arnaez

garnaez_((AT))_yahoo.com

Werner Heuser

wehe_((AT))_mobilix.org
Revision History                                                             
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 linuxdoc to DocBook format. Have basically    
edited out nutrition sections and most of the German section for now until I 
can get help again the German section. Have switched focus of the article to 
Medical informatics and applications, less to research applications which    
should probably be a different article. Will most likely put these things I  
will not maintain at the end, so someone else has some where to begin. Whew. 
Tired from DocBook Conversion.                                               
Revision 1.4.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                                                                  


Some pointers to Linux software (mostly GPLed) for the medical sciences
(medical applications, Medline and other bibliography tools, applications for
veterinarian medicine and others). UPDATE: I intend this HOWTO to be more and
more geared to Medical applications and less to the others.

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

1. Preface

Life is the first gift, love is the second, and understanding is the third.
-- [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.

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

Note: Werner Heuser, no longer maintains this LDP.
-----------------------------------------------------------------------------

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

1.3. 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.4. 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 [ http://auric.debian.org/
~tille/debian-med/] 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

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

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

3.2. Organizations

3.2.1. American Medical Informatics Association

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

[http://www.openhealth.com/] OpenHealth is a another community that I have
found has a good mailing list discussion. You can join the mailing list by
going [http://www.openhealth.com/en/healthcare.html] Here. It also contains a
[http://www.openhealth.com/en/healthlinks.html] Link to a list of other
opensource works.
-----------------------------------------------------------------------------

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

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

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 [http://auric.debian.org
/~tille/debian-med/] HERE
-----------------------------------------------------------------------------

4.2. VISTA (DHCP)

[http://www.hardhats.org] 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 [http://hardhats.org/
foia.html] 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.2.1. Last Update:

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

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

Feb 2, 20002
-----------------------------------------------------------------------------

4.4. Electronic Obstetrical Record System

[http://www.eors.org] 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.4.1. Last Update:

Unclear
-----------------------------------------------------------------------------

4.5. Freemed

[http://www.freemed.org/] 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.5.1. Last Update

Unclear. July 9, 2001 ?
-----------------------------------------------------------------------------

4.6. Freemed-YiRC

[http://freemed-yirc.familyandyouth.org/] 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.6.1. Last Update:

02/04/2002
-----------------------------------------------------------------------------

4.7. GNUMed

[http://www.gnumed.net] GNUMed is a GNU's project to develop a comprehensive
medical management solution.
-----------------------------------------------------------------------------

4.7.1. Last update:

2000-11-22
-----------------------------------------------------------------------------

4.8. GNotary

[http://gnumed.net/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.8.1. Last Update:

2001-06-24
-----------------------------------------------------------------------------

4.9. Res Medicinae

[http://sourceforge.net/projects/resmedicinae/] 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.9.1. Last Update:

2002-02-05
-----------------------------------------------------------------------------

4.10. The LittleFish Health Project

The [http://www.littlefish.com.au/lfproject/intro/lfhome.htm] LittleFish
project is a user friendly patient information and recall system on an open
source basis for the use by any community health organization. The project
will follow the GEHR or Good Electronic Health Record standards. This Site
has a lot of useful information about the what is involved in trying to
design the project.
-----------------------------------------------------------------------------

4.11. Free Practice Management - FreePM

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

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

Read a review of it [http://www.linuxmednews.com/linuxmednews/993731309/
index_html] HERE.
-----------------------------------------------------------------------------

4.12. 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.12.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.12.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.13. myPACS

[http://sol.cc.u-szeged.hu/~kszabo/myPACS.html] 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.14. 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.15. 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.16. MEGA and Mumps Compiler

Mumps Compiler is a compiler for a subset of the Mumps language, a language
used mainly in health care. It is compatible with most operating systems with
a standard C compiler. License: GPL [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. 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://mobilix.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.2. 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. Installing a Medical Record Application (not ready yet)

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

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

7.3. OIO

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

7.3.2. HOW TO INSTALL OIO

7.3.2.1. A word on documentation

I can not stress how really good and how much documentation the developers of
OIO have written. There are some confusing parts, especially if you are in a
hurry. :) However, please read the install documentation at [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.
-----------------------------------------------------------------------------

7.3.2.2. Initial Notes on Debian Installation

7.3.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
   
-----------------------------------------------------------------------------
7.3.2.2.2. TimeStamp Error

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

   
    OnSat,2Mar2002dude@deletia.comwrote:
    ...
    >Ihavereachedthesectionthatasksmetoarchiveaform.
    >
    >Ihitthe'now'button,thenhit'Createanewversion'andigetthe
    >followerror:
    >Thisisthesourceofitthehtmlpage:
    ><strong>ErrorValue:ERROR:Badtimestampexternalrepresentation
    >'2002/02/0317:22:58US/Pacific'
   
    Iranintothissameproblemaftertheendofdaylightsavingstime.:-)
    ThereasonforthisisthatPostgreSQLdoesnotlikeUS/Pacificfortime
    zone.ThefixistoprovidethetimestampinGMTtime.
   
    ThefixistoaddthefollowingtotheOIO/forms/archive_form/archive_b
    method:
    ++++++++++++++++++++++++++++++++
    <dtml-iftime>
    <dtml-call"REQUEST.set('time_string',_.str(time.toZone('GMT')))">
    </dtml-if>
    ++++++++++++++++++++++++++++++++
    (itgoesrightbeforethefollowing,makesuretime=time_stringinthe
    parameterlist)
    ==========================================
    <!--#in"putin_archived_forms_c(
    form=name,
    archivedname=newname,
    version=newversion_value,
    time=time_string,
    creator=creator,
    description=description
    )"-->
    ==========================================
    So,basicallythenewroutineconvertsthetimestampintoGMTtime-I
    thinkGMT-7orGMT-8forUS/Pacific,dependingondaylightsavingtime
    status.
   
    Bestregards,
   
    Andrew
    ---
    AndrewP.Ho,M.D.
    OIO:OpenInfrastructureforOutcomes
    www.TxOutcome.Org
   
     
   
Caution Note that in the originally distribution of OIO you only see 'time=  
        time', when you are change the source code on this page, so make sure
        to make it time=time_string.                                         
                                                                             
        I am told that this will be fixed in the next release 1.0            
-----------------------------------------------------------------------------

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

7.4. FreePM

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

7.4.2. Where to to get it

You can get the entire package which include everything you need like Zope
products and even python from [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.
-----------------------------------------------------------------------------

7.4.3. Basic Installation of FreePM

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

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

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

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

7.4.3.4. Installing the FreePM zope products

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

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

Caution Note: Using the old port 8080 would conflict, which is why Zope      
        changed the port connection.                                         
At this point you should the zope introductory page, if not, make sure you
have the correct port.

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

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

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

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

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

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

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

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

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

8. Imaging Applications

8.1. Slicer

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

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

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

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

9. Usefull Applications

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

10. My thoughts

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

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

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

10.3. I work and what is needed.

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

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

11. Credits

*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@hotmail.com>
   
*Christian Heller <christian.heller@tuxtax.de>
   
*Karsten Hilbert <Karsten.Hilbert@gmx.net>
   
*George B. Moody <george@mit.edu> Harvard-MIT Division of Health Sciences
    and Technology
   
*Shouhei Nagaoka <nagaoka@jttk.zaq.ne.jp>, Japanese translation
   
*Kevin Rosenberg, M.D. <kevin@rosenberg.net>
   
*Andrew Sutton <ansutton@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@ls7.cs.uni-dortmund.de>
   

