Linux Medicine-HOWTO Werner Heuser v1.2 4 November 2000 Some pointers to Linux software (mostly GPLed) for the medical sci­ ences (medical applications, Medline and other bibliography tools, applications for veterinarian medicine and others). ______________________________________________________________________ Table of Contents 1. Preface 1.1 About the Document 1.2 About the Author 1.3 Copyright, Disclaimer and Trademarks 2. Medical Applications 2.1 Freemed 2.2 Freemed-YiRC 2.3 Good Electronic Health Record - GEHR 2.4 Conversion of ECGs - ecg2png 2.5 GTDS - Oncologie Documentation (German) 2.6 Linux in a Doctor's Office (German) 2.7 Andromeda (German) 2.8 Res Medicinae (German) 2.9 Linux Port of Mallinckrodt CTN Software 2.10 Endoscopy 2.11 LinuDent 2.12 VISIdent (German) 2.13 Quality Documentation Statistic - QDS (German) 2.14 GNUMed 2.15 The Littlefish Health Project 2.16 Free Practice Management 2.17 PhysioNet 2.18 REALTIQ - ReAligning Tissue Quantifier 2.19 Open Infrastructure for Outcomes 2.20 CTSim 2.21 myPACS 2.22 LIMS - Laboratory Information Management Systems 2.23 Meditux 2.24 XBNC 3. Medline and Bibliography Tools 3.1 BioMail 3.2 DubMed 3.3 Pybliographer 3.4 sixpack 3.5 Surfraw 4. Sports and Nutrition 4.1 Nut 4.2 Bicycle Ride Calorie Calculator 4.3 weight 5. Other Resources 5.1 LinuxMedNews 5.2 Other Pointers 6. Veterinarian Medicine 6.1 FreeVet 7. Miscellaneous 7.1 Data Collection 8. Credits 9. Revision History ______________________________________________________________________ 1. Preface Life is the first gift, love is the second, and understanding is the third. -- Marge Piercy 1.1. About the Document This document is part of the LINUX DOCUMENTATION PROJECT - LDP . The latest version of this document is available in different formats at Linux and Medicine . 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 criticism are welcome. Werner Heuser 1.2. About the Author 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. 1.3. Copyright, Disclaimer and Trademarks Copyright © 2000 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license . This is free documentation. It is distributed in the hope that it will be useful, but without any warranty. The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages incurred from the use of the information contained herein. Though I hope trademarks will be superfluous sometimes (you may see what I mean at Open Source Definition ) : If certain words are trademarks, the context should make it clear to whom they belong. For example MS Windows NT implies that Windows NT belongs to Microsoft (MS). Mac is a trademark by Apple Computer. All trademarks belong to their respective owners. 2. Medical Applications 2.1. Freemed freemed < http://www.freemed.org/> is a medical management software package that runs in a web browser window. It currently uses Apache, an SQL backend (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. 2.2. Freemed-YiRC Freemed-YiRC is a PHP package based on Freemed for use with Youth in Residential Care (YiRC) agencies. Its aim is to be a complete package to replace legacy non- free apps which aren't customizable. Since it's PHP-based, all that is needed for the client is a good Web browser with extensive table support. 2.3. Good Electronic Health Record - GEHR The Good Electronic Health Record (GEHR) , a major part of the work of the openEHR Foundation, is an evolving electronic health record architecture designed to be comprehensive, portable and medico-legally robust. It has been developed from the Good European Health Record project requirements statement and object model- the most comprehensive requirements documents ever developed for the electronic health record. This website is a public resource for documents and resources that have been used to build implementations of this record. 2.4. Conversion of ECGs - ecg2png ecg2png converts scanned 12-lead electrocardiograms (ECGs) into PNG format and a web- friendly image size. The problems this program solves are that an ECG scanned at relatively high resolution puts a large memory load on the Web browser because it contains about 6 million color pixels. Also, typical scanners convert a clean paper ECG into many colors, not just red, black, and white. The resulting file cannot be compressed efficiently and takes more time to transmit over low-speed network connections. This program shrinks the image while preserving the signal and cleans up the color map, yielding a bitmap that is well- suited for Web-based distribution of ECG images. 2.5. GTDS - Oncologie Documentation (German) The Giessener Tumor Documentation System - GTDS was actually written for the Oracle database system under SCO-Unix, but works also under Linux, when the IBCS module is used. 2.6. Linux in a Doctor's Office (German) Karsten Hilbert < http://hilbert.webprovider.com/Linux+Praxis.html > has set up a page in German that describes some aspects of how to set up Linux in a doctor's office. It's been born from an article published in PraxisComputer 6/99. 2.7. Andromeda (German) Andromeda is an Open Source clinic information and management system in German. 2.8. Res Medicinae (German) Probably in most countries, but for sure in Germany, about 80% of administrative software used in medical doctor's practices are still based on the antique DOS operating system. Slowly, programs using modern graphical user interfaces (GUI) reach a share of the market. Most of them is based on one of the buggy but nevertheless expensive MS WINDOWS operating systems. When having bought a system, the user (doctor) is tied up to the provider and its updates that cost. Those are necessary due to steady changes in public health system and technical progress. Res Medicinae 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. 2.9. Linux Port of Mallinckrodt CTN Software Ported by Mark Stoutjesdijk from the University Hospital Nijmegen - Department of Diagnostic Radiology (Nijmegen MRI Research Group - NMRG). 2.10. Endoscopy ASD/MediTrac announced GI-Trac (TM) 2000 version 4.5 with native direct support for Linux. GI-Trac is a database and endoscopy reporting system. Licence: commercial. 2.11. LinuDent LinuDent is a dental practice management software package that will run in console mode or X. The X version uses GTK, and is being developed under Linux. It aims to duplicate all of the functionality of full service dental management programs, while remaining free to the community. 2.12. VISIdent (German) The commercial VISIDent software is a GUI based information and accounting system for German dentists, made by BDV . 2.13. Quality Documentation Statistic - QDS (German) QDS is an open source medical catalog and documentation system for the public health care. 2.14. GNUMed GNUMed < http://www.hherb.com/gnumed/gnumed.html> is a comprehensive and robust open source software package for paperless medical practice GNUMed is open source through and through! Each and every single tool used in the development process is open source. We do not use any proprietary software at all. GNUMed servers run on any open source Unix flavour like GNU/Linux and freeBSD as well as on proprietary software such as WinNT (which we do not recommend) GNUMed clients can be anything (even true thin clients), any platform that can use TCP/IP for network communication! GNUMed's main client ("administration client") has an easy to use graphical user interface based on the GTK+ / VDK toolkit. Other clients are easy to write due to well defined API much of the program logic is handled by the database server GNUMed is based on a robust SQL client-server concept and has built in mechanisms to monitor data base integrity at any time. If your data gets corrupted for any reason, you will be notified immediately! The two layer transaction protocol will enable you to recover from any desaster at any time. GNUMed features inbuilt transaction logging and data encryption to maximize data safety and to guarantee maximum confidentiality of sensitive data 2.15. The Littlefish Health Project The Littlefish project is a user friendly patient information and recall system on an open source basis for the use by any community health organisation. The project will follow the GEHR or Good Electronic Health Record standards. 2.16. Free Practice Management FreePm is an open source project to create a provider designed patient centered electronic medical record and practice management application. 2.17. PhysioNet PhysioNet offers free access via the web to large collections of recorded physiologic signals and related open- source software. PhysioNet is a public service of the Research Resource for Complex Physiologic Signals, funded by the National Center for Research Resources of the National Institutes of Health. The Research Resource for Complex Physiologic Signals, to which PhysioNet belongs, is a cooperative project initiated by researchers at Boston's Beth Israel Deaconess Medical Center/Harvard Medical School, Boston University, McGill University, and MIT, under the auspices of the National Center for Research Resources of the National Institutes of Health. This resource, intended to stimulate current research and new investigations in the study of complex biomedical and physiologic signals, has three closely interdependent components: · PhysioNet is an on-line forum for dissemination and exchange of recorded biomedical signals and open-source software for analyzing them, by providing facilities for cooperative analysis of data and evaluation of proposed new algorithms. In addition to providing free electronic access to PhysioBank data and PhysioToolkit software, PhysioNet offers service and training via on-line tutorials to assist users at entry and more advanced levels. PhysioNet is a public service of the Resource, accessible via the World Wide Web. · PhysioBank is a large and growing archive of well-characterized digital recordings of physiologic signals and related data for use by the biomedical research community. PhysioBank currently includes databases of multi-parameter cardiopulmonary, neural, and other biomedical signals from healthy subjects and patients with a variety of conditions with major public health implications, including sudden cardiac death, congestive heart failure, epilepsy, gait disorders, sleep apnea, and aging. These databases will grow in size and scope, and will eventually include signals from selected in vitro and in vivo experiments, as developed and contributed by members of the research community. · PhysioToolkit is a large and growing library of software for physiologic signal processing and analysis, detection of physiologically significant events using both classical techniques and novel methods based on statistical physics and nonlinear dynamics, interactive display and characterization of signals, creation of new databases, simulation of physiologic and other signals, quantitative evaluation and comparison of analysis methods, and analysis of nonequilibrium and nonstationary processes. A unifying theme of the research projects that contribute software to PhysioToolkit is the extraction of hidden information from biomedical signals, information that may have diagnostic or prognostic value in medicine, or explanatory or predictive power in basic research. All PhysioToolkit software is available in source form under the GNU General Public License (GPL). A few interesting points not mentioned above: 1. All of our software development is done under Linux. Contributed software, if not written for Linux, is ported to Linux. Almost all of the software is portable to other versions of UNIX, and to other operating systems as well. 2. Most of our applications for physiologic signal processing, analysis, and visualization are built using a common library layered over the W3C's libwww, permitting transparent access to data stored locally or on web servers (in other words, these applications can act as independent HTTP clients). Although they have been designed to support collaborative research, many will be useful in telemedicine applications. It's a fairly simple matter to create new applications using the library, and there is extensive tutorial and reference material on-line to help you get started on developing your own applications. 3. Among the collections of data are a number of standard annotated databases of electrocardiograms (including several such databases we created beginning in the mid-1970s, and others contributed by their creators) that are required by regulatory agencies such as the US FDA for testing of automated ECG analyzers in compliance with current ANSI and pending ISO standards. The support given us by the NIH NCRR allows us to make these data available freely on the web for the first time. 4. About 12 GB of data are on-line now, and our queue currently contains another 60 GB that will be added over the next several months as we add disk space to our servers. 2.18. REALTIQ - ReAligning Tissue Quantifier REALTIQ stands for Re-aligning Tissue Quantification, the software is currently in the alpha-stage. Software Features: · Re-align any patient-scan to new arbitrary axes by tri-linear interpolation · Segmentation of long-bone tissue · Quantification of long-bone tissue · DICOM compatible Description: A pre-version of this software was developed for use in a study on the relations of the medullary-canal dimensions and the cortical-bone area at patients suffering from arthritic bone-disease. The problem with CAT data is, that if the model (in this case the hand/finger) is not properly aligned with the CAT axis, the cut-planes will only display a distorted view of the bone and quantitative measurement will yield high error-rates. REALTIQ reads in a set of DICOM images and displays it to the viewer as a frontal, sagittal and transversal view. The user can specify, intuitively by using the mouse, an axis through this data, as well as a bounding-box around that axis. The dataset will be mapped to that new axis, so that the structures of interest are now properly aligned. In a second step, the software calculates: · Medullary-canal diameters (in several directions) · Medullary-canal area / absorption rate · Cortical-bone diameters (in several directions) · Cortical-bone area / absorption rate For more information see: DigitalMedics . 2.19. Open Infrastructure for Outcomes OIO is a Web-based information system for treatment outcome management. It is in production at the Harbor/UCLA Medical Center for clinical outcomes management and research data. Forms created with OIO and hosted on any OIO server can be downloaded as XML files. Once downloaded from the "Forms library" and imported into an OIO server, the necessary database tables are automatically recreated and the imported forms become immediately available to the users of that OIO server. 2.20. CTSim CTSim is a Computed Tomography simulator under the GPL license. It simulates the process of obtaining x-ray data around a phantom object. It then uses various reconstruction algorithms for reconstructing the original image. A Web-based CGI interface is included. 2.21. myPACS MyPACS is a Web-based medical image management system. It is written in PHP 3.x and uses MySQL for the relational database backend. 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. 2.22. LIMS - Laboratory Information Management Systems The LIMS ASTM Standard (E1578 Standard Guide for Laboratory Information Management Systems) can be found in ASTM`s Annual Book of Standards Volume 14.01 Healthcare Informatics; Computerized Systems and Chemical and Material Information. There is a small terminology section in this standard that covers 25 terms that relate to LIMS. The purpose of the standard guide is to educate new LIMS users on the purpose and functions and the process of procuring a LIMS. There is one other additional LIMS related standard in this book. This E2066 Standard Guide for Validation of Laboratory Information Management Systems. The BlazeLIMS Server by Blaze Systems Corporation LIMS is now supported on Linux. 2.23. Meditux Meditux is Java-servlet based software that provides a Web interface to MySQL or potentially any relational database engine which is JDBC capable. It was developed to support an Intranet site in a medical intensive care unit where it was used to collect clinical and research data. 2.24. XBNC XNBC is a software package for simulating biological neural networks. Four neuron models are available, three phenomenologic models (xnbc, leaky integrator and conditional burster) and an ion-conductance based model. Inputs to the simulated neurons can be provided by experimental data stored in files, allowing the creation of hybrid networks. Graphic tools are used to describe the modeled neurons as well as the network. 3. Medline and Bibliography Tools 3.1. BioMail BioMail is a small Web- based application for medical researchers and biologists. It is written to automate searching for recent scientific papers in the PubMed Medline database. Periodically BioMail does a user-customized Medline search and sends all matching articles recently added to Medline to the user's e-mail address. 3.2. DubMed DubMed is a java-based Medline (Pubmed) interface. Its server-side backend gets search results from the Entrez system at the National Library of Medicine. DubMed offers a visual search strategy palette, and uses a journal metadata repository to link found citations to online journal articles when available. 3.3. Pybliographer Pybliographer is a tool for managing bibliographic databases. It supports several bibliography formats and can be used for searching, editing, reformatting, etc, through its nice graphical interface for GNOME. Due to its nature, it can be extended to many uses (generating HTML pages according to bibliographic searches, etc). It is provided with sample scripts. Internationalization, support for Medline, support for LyX, speedups, and more. 3.4. sixpack sixpack is a graphic and commandline bibliography database manager written in Perl/Tk. It interacts with the supplied package bp, which can import and export from a big array of formats: bibtex, endnote, medline, procite, and many others. It can download references directly off the Web, and open articles using external viewers. 3.5. Surfraw Surfraw (Shell Users' Revolutionary Front Rage Against the Web) provides a Unix command-line interface to a variety of popular Web search engines and sites, including Google, Altavista, Raging, DejaNews, Research Index, Yahoo!, WeatherNews, Slashdot, Freshmeat, and many others. New elvi clients for Freshmeat, NewScientist, MedLine, and PubMed databases (PubMed, Nucleotide, Protien, Genome, Structure, Popset), and support for more Google search types (BSD, Linux, Mac and UncleSam). 4. Sports and Nutrition 4.1. Nut Nut allows you to record what you eat and analyze your meals for nutrient composition. The database included is the USDA Nutrient Database for Standard Reference, Release 13, which contains 6,210 foods. This database of food composition tables contains values for calories, protein, carbohydrates, fiber, total fat, saturated fat, monounsaturated fat, polyunsaturated fat, and cholesterol; vitamins A, thiamin, riboflavin, niacin, pantothenic acid, B6, folate, B12, C, and E; and minerals calcium, copper, iron, magnesium, manganese, phosphorus, potassium, selenium, sodium, and zinc. Nutrient levels are expressed as a percentage of the Daily Values, the familiar standard of food labeling in the United States. In addition, levels of the omega-6 and omega-3 polyunsaturated fatty acids are shown, along with average grams per day of the important PUFAs. You may search this list of foods and view nutrient values for different serving sizes; you may also rank foods in order of level of a particular nutrient. You may change the daily calorie level to correspond to your personal metabolism, and the levels for fat, carbohydrates, and fiber are automatically adjusted. You may add your own recipes to the database, by creating them from the foods in the database. 4.2. Bicycle Ride Calorie Calculator Bicycle Ride Calorie Calculator by Greg Kondrasuk is a simple program that calculates the number of calories expended on a bicycle ride. It is based on an article in the May 1989 issue of Bicycling Magazine, pp. 100-103. It provides a good estimate of the number of calories burned based on time, distance, rider weight, wind speed and direction, drafting, and climbing. 4.3. weight weight is a GPL program, which helps users keep track of their weight. It computes a moving weighted average based upon daily weight (useful because it smooths the fluctuation of daily weights), can compute caloric debt, and can plot monthly, quarterly, annual, and other graphs of weight. 5. Other Resources 5.1. LinuxMedNews LinuxMedNews is a site designed to facilitate, amplify and begin the process of fundamentally changing medical education and practice into a more effective, fair and humane enterprise using modern technologies. The site uses Zope and a slashdot clone Squishdot to accomplish these goals. It is not intended to be doctor-centric, it is intended to be an interesting/fun forum and resource for anyone who has an interest in health care and open source. 5.2. Other Pointers · Medical-Image-FAQ · Peter's Resources on Medicine (PCR MED) < http://ourworld.compuserve.com/homepages/pvosta/pcrmed.htm> · Peter's Resources on Biocomputing (PCR BIOC) < http://ourworld.compuserve.com/homepages/pvosta/pcrbioc.htm> · Protana · Timothy M. Persons Didn't check for Linux related newsgroups and mailing lists yet. 6. Veterinarian Medicine 6.1. FreeVet FreeVet is a Y2K ready Animal Clinic System built using the Qt toolkit. It currently uses MySQL as its database. It aims to provide the veterinarian with a complete solution for running a clinic, small or large. 7. Miscellaneous 7.1. Data Collection An increasing role in data collection for instance in hospitals, will be played by handheld 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 IR-HOWTO for details. A survey of non-Linux applications for the Palm device you may find at PalmPilot Medical - Palmtops PDAs HPCs Palm - Net Links . 8. Credits Thanks to · Christian Heller · George B. Moody Harvard-MIT Division of Health Sciences and Technology · Martin Wawro LS7, Department of Computer Science, UniDO 9. Revision History · v0.1, 17 November 1999, first draft · v0.2, 26 January 2000, URLs checked, minor changes, second draft · v1.0, 27 January 2000, LinuDent added, preface and disclaimer added, minor changes, first official release · v1.1, 20 April 2000, links to Res Medicinae, QDS, sixpack and LinuxMedNews added, minor changes · v1.2, 4 November 2000, links to Nut, Free Practice Management, LittleFish, GNUMed, REALTIQ, VISIdent, weight, OIO, CTSim, myPACS, BalzeLIMS, XNBC and PhysioNet added, new document URL, minor changes