Open Source

Eclipse and Public Health Software

By Jonathan Erickson, June 08, 2007

Open source community will have access to a processing engine for understanding and planning more efficient responses to pandemics

DDJ: IBM has announced that it has made available an advanced software technology that can help predict the transmission of diseases across countries and around the globe to the open source community. The tool, known as Spatio-Temporal Epidemiological Modeler, or STEM for short, will help scientists and public health officials understand and plan more efficient responses to health crises. STEM is available for use through the Eclipse Open Healthcare Framework Project (OHF), hosted at the Eclipse Foundation.

With us today is Dan Ford, a senior research staff member at IBM Research and a member of IBM's Healthcare and Life Sciences group. Dan, what do Eclipse and public health have in common?

DF: The success of both reply upon the cooperation of many different people and many different organizations. They are really both examples of how small coordinated contributions can be incredibly effective and make a huge difference. In the case of successful open source projects like Eclipse, and others, they are the result of a cohesive community that provides the code contributions, bug reports, bug fixes and documentation that make a living system. Successful public health is no different, the mosquito born disease Yellow Fever was once a problem in the United States. It was eventually eliminated from the country by communities and citizens implementing effective mosquito control. This "debugging" effort consisted of eliminating breeding sites by treating all forms of standing water. This was a large task that no single agency or group of individuals could accomplish on their own.

The success of Eclipse is really an exception, as most open source projects fail. They simply do not succeed in creating a supporting community around the goals of the project. The project just isn't compelling enough and people are busy with other priorities. This happens in Healthcare as well. Yellow Fever remains a killer in many parts of the world even though a vaccine exists and techniques for effective mosquito control are well known. The problem is that it just isn't deadly enough and pervasive enough to raise above the current priorities (basic survival) of the communities that, through their collective efforts, could eliminate the disease.

By combining public health software like STEM with an open source framework like Eclipse, we show how it is possible to enable the cooperative efforts of new. virtual, public health communities. Unlike their concrete counterparts, these new communities can draw upon what is effectively a global set of skills and resources that is resilient to any particular public health crisis. Thus, their priorities and their capabilities can rise to the levels needed to make a difference in improving the health of the public, perhaps even on a global scale.

DDJ: Can you tell us a little about the STEM modeler? Is it unique from the ground up, or does it make use of currently available projects? Is it written in Java? What platforms does it run on?

DF: The STEM modeler uses a Graph as its underlying representational framework. Nodes in the Graph represent geographic locations, while Labels represent data such as area, population and disease state. Edges in the Graph represent relationships between geographic locations such as physical adjacency, being connected by a road or by air travel.

The most novel innovation in STEM is its ability to compose the Graph used in the simulation from different components that contain bits and pieces of the eventual Graph used in the simulation. For instance, a geographic model of the United States is created from a set of Nodes representing all of the counties, a set of Labels providing details such as area and a set of Edges representing the sharing of a common border. This combination can be represented as a single unit called a Model and re-used in the system.

Composition is facilitated by allowing Models to contain other Models (and other graph components). This allows basic components of all models to be created once and then re-used in more specific high-level models that add their own details to the eventual Graph. STEM comes with an extensive set of components that represent most of the political geography (i.e., countries) of the world. It also includes a set of visual editors for creating compositions.

It's implementation is "unique from the ground up". It is written in Java (1.5) and makes extensive use of the Eclipse Modeling Framework (EMF) to generate implementations for the different components that can be combined to create the eventual simulation. Each EMF generated component has a different UML model and is serialized into separate cross-referencing XML files. STEM runs on all platforms supported by Eclipse.

DDJ: It would seem that geographical information is at least as important as anything else when examining pandemic issues. Does STEM have a GIS component?

DF: STEM is not a GIS system, but it does contain abstract representations of most of the political geographic of the world. In particular it contains data sets for countries defined using the ISO-3166 standard and models most of them to "UN Administration level" 2, which for the United States is at the level of counties. It also contains an extensive set of lat/long data in GML format for visualization purposes.

DDJ: If readers want to learn more about STEM, is there a Web site they can go to?

DF: Yes, details on STEM are available on the Open Healthcare Framework (OHF) Project, which is part of Eclipse.com.

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!