Supporting PACS Infrastructure with FOSS
 
Authors:
Todd L. French, Mayo Clinic; Steven G. Langer, PhD
 
Hypothesis:
As a cost containment measure we were tasked with indentifying underutilized PACS workstations. As an organization, we hypothesized that many workstations were not being fully used, but had no method to identify these systems. Attempting to answer this question for the PACS fleet (over 120 workstations) led us to FOSS (Free Open Source Software) solution.
 
Introduction:
Supporting PACS systems with traditional per-seat licensed software can become extremely expensive and, at times, may stifle innovation. Ideally, the vendor would provide administration software to track usage, but for us there just was not software available to do the task required. FOSS is an alternative to licensed software that can help accomplish administrative tasks. This presentation will detail how one such task was accomplished using FOSS.

PACS are complex entities, with many pieces of hardware and software merged together to form a complete system. Oftentimes, when PACS workstations are deployed, managers use a best-guess method to identify potential locations for these workstations, and more workstations than actually necessary may be deployed. To further complicate the matter, most vendors licensing software for workstation do not have the necessary tools available to help determine which machines are being used. Because systems are licensed by workstation, it becomes extremely important to ensure all systems are being fully utilized.

On face value, the administrative request to locate under-utilized workstations appeared quite simple, but could have consumed vast amounts of dollars to find a workable commercial solution. In the present economy, managers were unwilling to spend their way to a solution. This leaves few choices for IT support using traditional licensed software. Faced with the problem of determining PACS workstations usage and giving managers real-time information drove us to the following FOSS solution.

 
Methods:
FreeBSD, Apache, PHP, MySQL, and ChartDirector are the FOSS components used for this project. FreeBSD was installed first on a XEN virtual server. After the virtual session of FreeBSD was stabilized, all the other FOSS components where added. FreeBSD has an extensive software collection available via “ports.” Apache, PHP, MySQL, and ChartDirector are all available on the FreeBSD ports repository. Once all the FOSS software was installed, we had a Web server that could display numerical data in graphical form making it easier to interpret. At this point the project required coding the application logic using PHP. PHP has vast amounts of real world code examples easily retrievable via the Internet. Code was setup to query each workstation and read a file that contained study load information. The program read through the file and captured data every day based on the date. Data was stored in the MySQL database. Administrators wanting usage data navigated to a web site and were presented with graphical data via ChartDirector and PHP software.
 
Results:
Results proved to be better than expected. Once the hurdle on indentifying a reliable usage indicator on the PACS Microsoft XP 64 systems was overcome, data flowed seamlessly into the MySQL database. ChartDirector easily converted that information into graphs for display via a web page. Decision makers had easily interpretable information to help guide them in their decision-making processes and several systems were identified as under-utilized. Dollars were saved by removing workstations not being used and by taking those licenses off of support contracts.
 
Figure 1

Figure 1
 
Discussion:
While open source software may not be a viable solution for every need, there are times when it can be used, and used very effectively. In the scenario outlined in this abstract, a comparable effort could have been made using Windows Server 2003, IIS (Internet Information Server), and Visual Basic. However, it seemed most charting programs found were geared more toward PHP, rather than VB. In essence, the FOSS solution provided an easier solution than using over-the-counter licensed software. Another advantage, if the project is only needed for a short time, the software can be discarded at no cost to the users. The only financial involvement needed is the time necessary to set the software pieces in place. It is also easy to leave the setup in an inactive state until a new need arises without having to worry about licensure issues.
 
Conclusion:
Large scale PACS come from tier one manufactures with little opportunity for the end users to customize configurations and reporting mechanisms. While that suffices for a majority of the functions, provided there are needs that are outside the scope of PACS vendors. In this case a simple usage report was needed. While the end result could have been provided by the PACS vendor or IT using licensed software, a deliberate effort was made to achieve the end result using FOSS components. Not only did this effort achieve the expected results, it did so with a minimal amount of out-of-pocket expense. Management obtained their usage reports, and Information Technology gained valuable experience using non-traditional methods to achieve a traditional outcome. One of the great things about using FOSS is that people share their experiences and code for the benefit of advancing the open source cause. We relied heavily on information gleaned off the Internet. This paper (written using Open Office), and subsequent poster, will enable others to experience positive outcomes using FOSS. The FOSS worked for us. We found 18 underutilized systems, turned them off, and plan to use the hardware as spares for the rest of the fleet.