Eclipse Open Healthcare Framework



Similar documents
Towards a National Health Information Network

Open Healthcare Framework Bridge Architecture & API Documentation

1 What Are Web Services?

IBM Interoperable Healthcare Information Infrastructure (IHII) Overview. China October 2006 IBM

1 What Are Web Services?

Leveraging the Eclipse TPTP* Agent Infrastructure

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

Inside the Digital Commerce Engine. The architecture and deployment of the Elastic Path Digital Commerce Engine

Digital Asset Management Beyond CMIS

EHR Standards Landscape

Developers Integration Lab (DIL) System Architecture, Version 1.0

Building a Modular Server Platform with OSGi. Dileepa Jayakody Software Engineer SSWSO2 Inc.

A Quick Introduction to SOA

Cross-domain Identity Management System for Cloud Environment

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

SCA & SDO Implementations Open Source and Vendor Products

Enterprise Application Designs In Relation to ERP and SOA


How To Build A Financial Messaging And Enterprise Service Bus (Esb)

White Paper: OSGi-based E-Health / Assisted Living

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

ebay : How is it a hit

An Oracle White Paper May Oracle Tuxedo: An Enterprise Platform for Dynamic Languages

What is Open Source? Open source is defined by three key components:

Developing Web Services with Eclipse

A Generic Database Web Service

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

Getting started with API testing

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Introduction to Service-Oriented Architecture for Business Analysts

zen Platform technical white paper

Unlock the Value of Your Microsoft and SAP Software Investments

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Base One's Rich Client Architecture

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

Eclipse Summit Europe 2008

San Jose State University

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Portals, Portlets & Liferay Platform

Eclipse Open Financial Markets Platform

How To Write An Ria Application

A brief introduction on SharePoint

Service-Oriented Software Testing Platform *

Building the European Biodiversity. Observation Network (EU BON)

Joseph D. Rogers. Team Lead National Program of Cancer Registries (NPCR) Centers for Disease Control and Prevention (CDC)

Overview of SODA and The Stepstone Reference Implementation.

Software Architecture Document

Cloud Computing with Windows Azure using your Preferred Technology

An Oracle White Paper June Integration Technologies for Primavera Solutions

WELCOME TO Open Source Enterprise Architecture

An Open Policy Framework for Cross-vendor Integrated Governance

How To Write A Test Program For Eclipse (Eclipse)

Developing Web Services with Documentum

Service Component Architecture, Apache Tuscany & WebSphere SOA Feature Pack Beta

Open Source SCA The Apache Tuscany Project

OSGi Remote Management

AN APPROACH TO DEVELOPING BUSINESS PROCESSES WITH WEB SERVICES IN GRID

Introduction to IBM Worklight Mobile Platform

IHE cross-enterprise document sharing for imaging: interoperability testing software

Open For Business in a Nutshell

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

Invitation to OASIS CAMP A Cirrus View (high level)

ehealth Standardisiserung durch Open Source

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

President and Director OeHF. Implementing IHE Actors using the Open ehealth Integration Platform (IPF)

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

A Flexible Services Architecture Based Translator Web Services

Web Development with the Eclipse Platform

Federated single sign-on (SSO) and identity management. Secure mobile access. Social identity integration. Automated user provisioning.

Service-oriented architecture in e-commerce applications

Social Security Administration (SSA) Experience with Provider Directory HIT Security and Privacy WG

Last Updated: July STATISTICA Enterprise Server Security

A common interface for multi-rule-engine distributed systems

SuperOffice Expander. Introduction & Background

Bringing Business Objects into ETL Technology

Julia Fischer, Stefan Naumann, Markus Dick {-.-, s.naumann, m.dick} (at) umwelt-campus.de

SOA Myth or Reality??

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Open Source Development with the Elastic Path Ecommerce Platform

Property & Casualty Insurance Solutions from CCS Technology Solutions

HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture

Equinox above the Cloud ( - Some call it Heaven!!)

A Framework for Testing Distributed Healthcare Applications

Distributed systems. Distributed Systems Architectures

How to Easily Integrate BIRT Reports into your Web Application

Solution Showcase Session. Enterprise 2.0 Computing Services

Implementation of a service oriented architecture in smart sensor systems integration platform

A standards-based approach to application integration

Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Introduction to Service Oriented Architecture (SOA)

Safe Harbor Statement

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

JVA-561. Developing SOAP Web Services in Java

Service Virtualization: Managing Change in a Service-Oriented Architecture

BMC Software Inc. Technical Disclosure Publication Document Enterprise Service Bus (ESB) Insulation Service. Author. Vincent J.

Transcription:

Eclipse Open Healthcare Framework Eishay Smith [1], James Kaufman [1], Kelvin Jiang [2], Matthew Davis [3], Melih Onvural [4], Ivan Oprencak [5] [1] IBM Almaden Research Center, [2] Columbia University, [3] University of Oklahoma, [4] North Carolina State University, [5] University of Pennsylvania

Table of contents 1. Executive Summary... 2 2. Introduction... 2 3. OHF on the client side... 3 4. Embracing the Server Side... 3 4.1. The problem... 3 4.2. Our solution... 4 4.3. Benefits... 4 5. OHF on the Server Side overview... 5 6. Results... 6 7. Conclusions... 6 References... 6 1. Executive Summary This is a Position Paper for the Server-Side Eclipse Symposium at the 2007 European Eclipse Summit in Esslingen, Germany. The problem with designing a generic component to be used by an arbitrary application is that the developer does not know where the component would eventually be deployed. The application might be running on a server or desktop. With serviceoriented architecture (SOA) gaining momentum, we witness server-side applications taking a significant presence on the desktop. Using web services, desktop applications are using more logic running on the server. Using web services, the client and server sides can interoperate seamlessly even when they are running in different environments. Further more, we see desktop applications being replaced by rich AJAX-driven web applications, providing users good experience and flexibility. The above applies strongly to the healthcare IT market. Healthcare systems come in all of the above flavors, and runs on different platforms, yet they want to interoperate amongst each other which is why the Open Healthcare Framework [1](OHF) provides a server-side solution. The paper describes the Eclipse OHF project and the reasons why it chose to use the Eclipse sever-side technology. Then, the architecture briefly describes how the OHF Plug-ins expose functionality using web services. 2. Introduction The OHF addresses part of a need to improve the levels of interoperability between applications and systems within and across healthcare organizations corporate and regions. The project implements extensible frameworks, exemplary tools, and key health informatics standards wrapped as plugins. The project supports objectives of many government health departments to encourage the use of interoperable open source infrastructure to lower integration barriers. Independent Software Vendors (ISVs) may use the framework, components and tools created by this project to build desktop, gateways and server applications running on healthcare IT infrastructure.

3. OHF on the client side Many of the OHF components are implementations of healthcare related standard protocols, data structures, encryption & security tools etc. The conventional way of using OHF is to create an Eclipse RCP application with user interface and workflow logic that use the OHF components, as illustrated in Figure 1. National Health Information Infrastructure (NHII) Eclipse RCP Application Interoperability Stack OHF Plugins XDS Protocol XDS Repository View Controller Model OHF Plugins XDS Protocol XDS Registry OHF Plugins PIX Protocol Patient Identifier Cross-Referencing Figure 1 OHF components embedded in a standard Eclipse RCP application The typical healthcare applications one would build with OHF components are Electronic Medical Record (EMR) or Patient Health Record (PHR). These products run at either a clinic or a patient s home. Naturally, healthcare applications are deployed in many other environments, though in most of these environments client/server is the preferred architecture. 4. Embracing the Server Side 4.1. The problem Most OHF Plug-ins are designed to be used as components in a workflow typically executed by a healthcare application. We see two main problems with embedding them only in the traditional Eclipse RCP application model. The first problem is that as soon as the application targets more than one user, the market demands a client/server solution. Many healthcare applications deployed in clinics and hospitals have web interfaces to their back end to facilitate this need. The second problem is that most existing healthcare applications run in a.net [7], LAMP [8], or MUMPS [9] environment. Very few of them use the Java environment and hardly any of them use the Eclipse RCP environment. We anticipate that it will take several years before Eclipse RCP applications appear in this domain.

This situation poses a problem to the OHF community. We wish to be relevant to existing healthcare applications today regardless of their runtime environment. If OHF does not meet market demands soon enough then we will see similar projects duplicating the OHF efforts in other environments. The OHF goal is to create a community that provides implementations of the healthcare standards for interoperability built on a standard (Eclipse) framework. A multitude of non-standard projects for interoperability (even if open source) will not provide convergence around a common set of open standards. Moreover, as in most open source projects, if there is no community around a single common project, the individual projects (without any users) will slowly wither away. 4.2. Our solution Our solution is to use Server-Side Eclipse and Axis [10] to expose the functionalities of OHF components via web services. This is the OHF Bridge [6] subproject of OHF. The OHF Bridge is an OSGi on Server runtime that embeds OHF Plug-ins and exposes a subset of their functionalities as web services. Using the OHF Bridge, applications residing in a SOAP-enabled environment (namely PHP and.net solutions) may take advantage of OHF and its list of healthcare applications. HTTP SOAP HTTP Figure 2 The OHF Bridge as a black box 4.3. Benefits Most existing runtime environments are capable of making SOAP transactions. By moving to the server-side and exposing the OHF components as web services, the OHF project is now relevant to existing healthcare applications.

5. OHF on the Server Side overview The OHF Bridge uses OSGi on Server and Axis to run the OHF Plug-ins within the Tomcat web container. The web container may be any container (e.g. Jetty), and it may be embedded in an application server (e.g. Geronimo). Inside the web container, the bridge runs the OSGi on Server servlet. The OSGi environment contains the runtime plug-ins along with the OHF Plug-ins and the Axis engine. The Axis engine has a web service that accepts SOAP calls and translates them to the relevant API that the OHF Plug-ins exposes. Using an adoption layer, the OHF Bridge simplifies transactions that may require several calls and translate workflows into one SOAP [11] call. Another role of the adoption layer is to translate the Eclipse Modeling Framework (EMF) models we use into simpler SOAP messages. The XML representation of the EMF modules that describes the healthcare standard document schemas are complex and not all environments can parse them easily. The intent is to enable even the simplest SOAP libraries (e.g. PHP SOAP) to work with the OHF data models. SOAP Figure 3 The OHF Bridge as a white box

6. Results Using the OHF Bridge, OHF has had tremendous success. In a very short time, several ISVs have integrated OHF functionality into their applications. The ISVs using OHF are distributing a range of solutions from open source to proprietary, using.net or LAMP. Six ISVs are working on OHF integration in their applications and using it in National Healthcare Interoperability Networks (NHIN), as well as in the 2007 IHE Connectathon event and in the 2007 HIMSS Showcase. This server-side option for using the OHF hides the complexity of implementing the standards so effectively that some of these ISVs were able to implement the components and successfully demonstrate basic functions with only a few hours of work. 7. Conclusions Traditional Eclipse Plug-ins that may be useful as web services should seriously consider the server-side option demonstrated in the OHF Bridge architecture. Waiting for the market to adopt the Eclipse RCP environment would take too long, and targeting only client side applications is very limiting (although this is still a practical alternative for Java applications today). The OHF project is a healthcare project in its core. The development around exposing the APIs of the OHF Plug-ins as SOAP calls was groundbreaking since there are no alternative open source solutions available today. We hope to see Eclipse projects that will facilitate this task in a convenient way, or even automate it entirely. Giving Eclipse Plug-ins the ability to participate as first class citizens in the new SOA era is crucial to Eclipse future. References [1] OHF Project: http://www.eclipse.org/ohf/ [2] OHF Blog: http://ohf-dev.blogspot.com/ [3] OHF Wiki: http://wiki.eclipse.org/index.php/ohf [4] OHF Mailing list: http://dev.eclipse.org/mhonarc/lists/ohf-dev/maillist.html [5] OHF Newsgroup: http://dev.eclipse.org/newslists/news.eclipse.technology.ohf/threads.html [6] OHF Bridge: http://wiki.eclipse.org/index.php/ohf_bridge [7].NET: http://msdn.microsoft.com/netframework/ [8] LAMP: http://en.wikipedia.org/wiki/lamp_(software_bundle) [9] MUMPS: http://en.wikipedia.org/wiki/mumps [10] Apache Axis : http://ws.apache.org/axis/ [11] SOAP : http://www.w3.org/tr/soap/