OpenEMed is a set of distributed healthcare information service components built around the OMG distributed object specifications and the HL7 (and other) data standards and is written in Java for platform portability. We emphasize the interoperable service functionality that this approach provides in reducing the time it takes to build a healthcare related system. It is not intended as a turnkey system but rather a set of components that can be assembled and configured to meet a variety of tasks. OpenEMed includes sample implementations of the Person Identification Service, Clinical Observation Access Service, Resource Access Decision, and Terminology Query Service which have been adopted as international standards by the Object Management Group (http://www.omg.org) through the OMG's Healthcare Domain Taskforce. The system requires a CORBA 2.3 compliant ORB to run, and works with the OpenORB ORB, for example.
It includes a complete JSP client implementation of a infectious disease monitoring system (B-SAFER) for use in an Urgent Care setting. This includes filters for a variety of data feeds including HL7, CSV, SQL, flat files, and XML. It is being used to acquire a variety of data from multiple hospital systems. Also included is a example of a simple immunization registry pilot. The power of using these components in a variety of settings can ultimately lead to a fully distributed medical record accessible by a patient. This could be ideal in a regional healthcare management scenario (RHIO).
The OpenEMed components have also been used in the FIRST clinical research project at the City of Hope Medical Research Center in Duarte, California as well as initial implementation of a health record exchange at http://OpenHRE.org.
The components used here are specific to healthcare only in the data models that are supported. The data models are very general and can apply to a variety of problems. The Person Identification Service is really simply and Entity or Identity Management Service, in which a set of traits is used to identify an Entity. It logically is an extension of LDAP by providing correlation capabilities and some control over the quality of the matching of traits. The COAS is really a Content Access Service which really simply manages the history of information about the Entities identified with PIDS. What is a litle unique about our implementation is the ability to maintain an audit trail of the events which helps in avoiding duplicate counting of events. The Resource Access Decision service is really a distributed need-to-know facility that can be used to provide much finer grained access control than simply a role based access control system. We have deployed in in other domains than healthcare and examples are contained in the code. The Terminology Query Service provides a dictionary and thesaurus for terms. Our implementation is very rudimentary and intended at this point as a demonstration We welcome participation in the enhancement and wider spread use of these powerful components. We believe they are a good example of the increasingly popular Service Oriented Architecture (SOA) approach. We welcome those interested in helping make these components useable in a Web Services environmenta as well as the very mature CORBA environment.
It also has SSL security implemented for positive identification of the user and the servers and uses the CSIv2 implementation of Adiron. Examples of these applications and more information is available at http://OpenEMed.net.