September 20, 2006

MedPix medical image database uses healthy dose of FOSS

Author: Michael Stutz

MedPix is a sprawling online medical images database and diagnostic tool that's used around the world by radiologists, nurses, physicians, and medical students -- and the whole system is powered by Linux and open source software.

MedPix is hosted by the US federal government's health sciences university, the Uniformed Services University in Bethesda, Maryland. It's the brainchild of James G. Smirniotopoulos, M.D., a USU professor of Radiology, Neurology, and Biomedical Informatics and Clinical Sciences Chair of its Department of Radiology and Radiological Sciences.

The idea behind the system is to improve upon the way case-related medical data, especially radiographs, can be accessed by medical professionals -- a problem that Smirniotopoulos has been dealing with for over 25 years.

"When I was preparing for my Radiology Board examination in 1980, I used 3x5-inch cards to take and file notes," Smirniotopoulos says. "In 1982 I purchased a Commodore 64 computer, and shortly thereafter designed a database to replace my file cards."

This proved to be a learning experience for Smirniotopoulos, who says he first tackled Commodore Basic and then even the computer's machine language so that he could implement a substring search function for his database. Years later, he ported his database to Microsoft Access using a Visual Basic GUI, but this posed a new problem: "I wanted a Web interface to a single database for work and home," he says, "rather than synchronizing two copies of the database. I also needed to add the ability to store images."

A Web-based teaching file

This idea soon expanded into something much greater. Smirniotopoulos explains that current radiology training requirements mandate that programs keep an active teaching file -- residents have to organize and contribute cases to the file, which are then reviewed by attending staff physicians.

"We wanted to make a Web-based teaching file to allow great cases to be shared by all of our military training programs. We were also working toward the planned merger of the two local Radiology programs at the Walter Reed Army Medical Center and the National Naval Medical Center. Previously, they had two independent hard-copy film teaching files -- now they would be able to share a single, digital teaching file."

During this time, both hospitals were also going digital -- this was the advent of PACS (Picture Archiving and Communication System), where costly and time-consuming film was replaced by instant digital imaging. Working with Henry Irvine, then a USU medical student, Smirniotopoulos saw an opportunity.

"Our goal was to make a digital teaching file with the complete operation and maintenance of the database independent of the client OS, by using a standard Web browser interface. We also added functions for storing patient information and images on the server."

This system became the open-source-powered MedPix, which allows access to its growing database to any Web-enabled device. It quickly became a popular resource for medical professionals worldwide. While anyone can browse the MedPix database and search images by various medically relevant parameters, posting actual case data requires free registration; the site currently has more than 21,000 registered members.

Today MedPix provides a teaching file service to 14 medical institutions -- including all of the radiology residency programs in the military healthcare system. Its "Case of the Week" feature is used in USU's continuing education department and also appears in Military Medicine, a monthly trade journal, and the MedPix system was recently licensed to appear on the American College of Radiology's site as part of their LifeLong Learning program.

Powered by FOSS

MedPix runs under Linux (Fedora Core) and Apache on a standard PC. The software that controls the database is all open source -- mostly PHP 4 applications, but a Java applet handles the dynamic image labeling, and Smirniotopoulos says there are also "some useful functions in JavaScript."

One recent function is what Smirniotopoulos calls a "Diagnostic Image Atlas," which is a diagnostic aid that allows users to compare and match their own image data with a proven case in the MedPix database -- but its various features such as dynamic display of caption metadata and ability to search by multiple fields such as location and pathology make it much more efficient than the old paper references of the past.

The database back end itself is powered by PostgreSQL -- which he says was "chosen because of its full implementation of SQL, true transactions, and excellent scalability."

Images are stored in the MedPix database under a hierarchical schema that Smirniotopoulos developed beginning back in the Commodore days.

"The initial constraints of the C64 led to a rudimentary classification system to save memory space and allow faster searches. Full-text searching was always part of the program, but was very slow on the C64. When the C64 version was first ported to Microsoft Access, and then to MedPix, we continued the same schema system -- but developed a simple hierarchical approach. The next version of MedPix will have a multi-tiered hierarchy, and will use descriptors that match or are similar to the normal 'language' used by a radiologist, pathologist, [or other specialist] in describing image data."

The choice of open source software has worked well for Smirniotopoulos and his team. "We have enjoyed a stable system, progressing from an initial test of 300 database records that has grown to tens of thousands," he says.

MedPix currently has almost 30,000 peer-reviewed images (taken from nearly 8,000 real-life cases) in its relational database, and it has served more than 40 million pages since its debut. For further accessibility it has a voice-recognition system in prototype that will create MedPix queries on the fly.

"We made a design decision to use open source tools for many reasons," Smirniotopoulos says. "Cost and user or client platform independence were the primary drivers."

But there's another reason that free, open source software made sense for Smirniotopoulos and his team -- the global support.

"We also found the open source community to be very generous with code examples and providing help via email for sticky problems," he says.


  • Open Source
Click Here!