Open Healthcare Framework Bridge Architecture & API Documentation



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

Eclipse Open Healthcare Framework

Electronic Health Network - Case Study Consent2Share Share with Confidence

for Microsoft Dynamics CRM On-Premise Installation Instructions

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

SINTERO SERVER. Simplifying interoperability for distributed collaborative health care

IHE IT Infrastructure Technical Framework Supplement

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

InCompass, Privacy Impact Assessment (PIA) 8/3/2011

EMC XDS Repository Connector for Documentum

Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006

Advanced Matching and IHE Profiles

Office of Court Administration Automated Registry (AR) Interface Design Document for DSHS - Clinical Management for Behavioral Health Services (CMBHS)

Reverse Phone and Address Lookup Version 1.0.0

The VerticalResponse API Guide

PHP Language Binding Guide For The Connection Cloud Web Services

EHR Standards Landscape

A Framework for Testing Distributed Healthcare Applications

U.S. Department of Health and Human Services (HHS) The Office of the National Coordinator for Health Information Technology (ONC)

Integrating Complementary Tools with PopMedNet TM

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

Operation of Qvidian Proposal Automation (QPA) CRM APIs

CONNECT Vangent Health Information Exchange Open Source (HIEOS) Document Registry and Repository Installation and Configuration Manual

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

IHE IT Infrastructure Technical Framework Supplement. On-Demand Documents. Trial Implementation

Cross-domain Identity Management System for Cloud Environment

Developing an Interoperable Blackboard Proxy Tool

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

Mutual Fund Web Service Developer Guide

INTEGRATING THE ESANTÉ DSP INTO GECAMED

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP

Web Services API Developer Guide

Magento integration 1.0

Regionale uitwisseling van medische gegevens (IHE)

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

Creating Web Services in NetBeans

Release 1. ICAPRG604A Create cloud computing services

CA Nimsoft Service Desk

South Carolina Health Information Exchange (SCHIEx)

SOAP WSDL & HTTP MIME REST Web Services Companion Guide HIPAA Operating Rules (HOpR) CORE Phase II

WIRIS quizzes web services Getting started with PHP and Java

NetBeans IDE Field Guide

Integrating Kareo PM and WebPT EHR

A Brief Introduction to MySQL

WHMCS Integration Manual

Continuous Integration The Full Monty Artifactory and Gradle. Yoav Landman & Frederic Simon

EMC XDS Repository Connector for ViPR

T320 E-business technologies: foundations and practice

Siebel Web UI Dynamic Developer Kit Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

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

Application note: Connecting the to a Database

T320 E-business technologies: foundations and practice

XDS-I - CROSS-ENTERPRISE DOCUMENT SHARING FOR IMAGING

Quarterly Data Collection QDC Tool User Manual Version 2.0 February 2004

SDK Code Examples Version 2.4.2

Example for Using the PrestaShop Web Service : CRUD

Copyright 2011 Sentry Data Systems, Inc. All Rights Reserved. No Unauthorized Reproduction.

Drupal CMS for marketing sites

Performance Testing and Optimization in Web-Service Based Applications

What are Web Services? A BT Conferencing white paper

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

Webware License Management Guide

Cloud Computing with Windows Azure using your Preferred Technology

ConCert by HIMSS Certification: An Overview

Healthcare Information Exchange Software Testing

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

IHE IT Infrastructure. XDS Patient Identity Management White Paper

HIGH AVAILABILITY CONFIGURATION FOR HEALTHCARE INTEGRATION PORTFOLIO (HIP) REGISTRY

Avid. Avid Interplay Web Services. Version 2.0

Open Source SCA The Apache Tuscany Project

Setting up the integration between Oracle Social Engagement & Monitoring Cloud Service and Oracle RightNow Cloud Service

About Contract Management

CloudCERT (Testbed framework to exercise critical infrastructure protection)

SOA and WS-BPEL. Composing Service-Oriented Solutions with PHP and ActiveBPEL. Chapter 2 "SOAP Servers and Clients with PHP SOAP Extension"

Continuous Automated Deployment with

OpenEMR: Achieving DICOM Interoperability using Mirth

Clinical Document Exchange Integration Guide - Outbound

Web Services Technologies

PROGRAMMERS GUIDE. Version 1.x

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY

MXSAVE XMLRPC Web Service Guide. Last Revision: 6/14/2012

e-filing Secure Web Service User Manual

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

HL7 and SOA Based Distributed Electronic Patient Record Architecture Using Open EMR

Duke University Program Design & Construction Course

Investigations on Hierarchical Web service based on Java Technique

WEB SERVICES. Revised 9/29/2015

Turkey s National Health Information System (NHIS)

IBM Rational Asset Manager

Developing Web Services with Eclipse

Talend Open Studio for ESB. Release Notes 5.2.1

SCHIEx: The South Carolina Health Information Exchange Update

Transcription:

Open Healthcare Framework Bridge Architecture & API Documentation mattadav@us.ibm.com Matthew Davis kxjiang@us.ibm.com Kelvin Jiang monvura@us.ibm.com Melih Onvural ioprenc@us.ibm.com Ivan Oprencak Page 1 of 14

Contents 1. Introduction... 3 2. Technology Documentation... 4 2.1 OHF Bridge Demo... 4 2.1.1 File Locations... 4 2.1.2 Demo Steps... 4 2.2 Newsgroup Help... 5 3. Sample Code... 6 3.1 Search Patients... 6 3.2 Retrieve Documents... 7 4. API Documentation... 8 4.1 Search Patients... 8 4.1.1 Methods... 8 4.1.2 Object Types... 8 4.2 Retrieve Documents... 10 4.1.1 Methods... 10 4.1.2 Object Types... 11 5. Glossary... 13 Page 2 of 14

1. Introduction The United States Government is committed to apply modern information technology to private clinics and public hospitals nationwide by 2014. In 2006, President George W. Bush listed five key policies to modernize healthcare technologies, one of which was to implement a nationwide information network [that] will protect the privacy of a patient's medical information while making health information available in real-time. The Eclipse Foundation is dedicated to design a common healthcare framework that will interconnect clinics and hospitals both on a regional level and on a national level to heed the call to build an integrated healthcare infrastructure. The first step is to provide existing EMR management systems with a platform-independent plug-in that defines patient information search and retrieval methods to and from an EMR repository. This documentation will address the design and implementation of this plug-in. Page 3 of 14

2. Technology Documentation This chapter describes the sample PHP application that demonstrates the OHF Bridge technology. 2.1 OHF Bridge Demo The following demo is for the initial standalone version of OHF Bridge, utilizing the OHF PIX, PDQ and XDS plug-ins. Some variation may be made in the steps of the demo; however, due to the limited nature of the repository data, irrelevant or bad data may be returned. The steps outlined returned relevant, working data at edit time. 2.1.1 File Locations The Bridge demo currently resides at http://ibmod235.dal-ebis.ihost.com:8080/ohf/demo/index.php, The WSDL files currently reside at: http://ibmod235.dal-ebis.ihost.com:8090/bridge/services/ohf-pdq-bridge?wsdl (Search patients) http://ibmod235.dal-ebis.ihost.com:8090/bridge/services/ohf-xds-bridge?wsdl (Retrieve documents) 2.1.2 Demo Steps Demonstrate Patient Search Functionality 1. Start by going to the PDQ Search Page at the link above 2. Enter as many or as few search terms as you would like. Recommended search (i.e. known results) come from searching for the state Wisconsin. Select "Wisconsin" in the State drop-down. 3. Click "Search for Patients" This will return a list of all patients that match your search terms in the PIX/PDQ repository. The first name on the list should be "Joyce Murphy". Demonstrate Document Retrieval Functionality 1. To search for documents in the XDS Registry, click "Search Documents" under the entry for "Joyce Murphy". w a list of documents match Joyce Murphy's Patient ID, from the XDS registry, will show up. Some of these documents do not work, due to bad data in the repository or other problems. However, the "Patient Generated Medical History" documents will work. Page 4 of 14

2. To view a document, click "View Document" next to any of the "Patient Generated Medical History" documents. 3. An XML file should appear with relevant information. Any file with a matching MIME type should also work! At this time, only the XML files work. This completes the basic PIX/PDQ/XDS demonstration using OHF Bridge in PHP. Variations may be made in the above steps (i.e. you can search by names, other states, etc) but, due to the limited nature of the repository, valid data may not be available. 2.1 Newsgroup Help Several developers are currently working on OHF Bridge, and they are happy to help others to implement this technology in your EMR application. If you have any question about the implementation of OHF Bridge, please post it on the Eclipse OHF newsgroup. The newsgroups is located at news://news.eclipse.org/eclipse.technology.ohf You can request a password at: http://www.eclipse.org/newsgroups/main.html Page 5 of 14

3. Sample Code The OHF Bridge provides a very simple API for patient search and document retrieval. This chapter describes the hello world code to search for a patient and to retrieve a document. 3.1 Search Patients <?php /** * Simple demonstration of searching for PDQ Records * in the registry */ require_once dirname( FILE ). '/conf.php'; require_once dirname( FILE ). '/OHFSoapClient.php'; require_once dirname( FILE ). '/PDQSearchObject.php'; // If a search term was submitted, do search. if ($_POST) { $SOAPClient = new OHFSoapClient(); $searchobj = new PDQSearchObject(); $searchobj->setfields($_post); // Retrieving the PDQ Records $results = $SOAPClient->searchPatients($searchObj); if (PEAR::isError($results)) { // If we received a PEAR Exception, then print debug information and exit. echo "Error - Unable to query database: ". $results- >getmessage(); }?> } if (OHF_DEBUG) { echo '<pre>'; print_r($results->getbacktrace()); echo '</pre>'; } exit(); Page 6 of 14

3.2 Retrieve Documents <?php /** * Simple demonstration of searching for XDS documents * in the registry */ require_once dirname( FILE ). '/conf.php'; require_once dirname( FILE ). '/OHFSoapClient.php'; // If a search term was submitted, do search. if ($_REQUEST['patientId']) { $SOAPClient = new OHFSoapClient(); // Retrieving the XDS Documents $results = $SOAPClient- >searchdocumentsbypatientid($_request['patientid']); if (PEAR::isError($results)) { // If we received a PEAR Exception, then print debug information and exit. echo "Error - Unable to query database: ". $results- >getmessage(); }?> } if (OHF_DEBUG) { echo '<pre>'; print_r($results->getbacktrace()); echo '</pre>'; } exit(); Page 7 of 14

4. API Documentation The following web services are implemented in Java using Apache AXIS and are callable via a general web service consumer. An automatically generated WSDL file is provided as a descriptor for these web services and can be used directly for consumption purposes. te: The following API is experimental and is subject to change, including web service association, operation names, prototype definitions and data structures. The following will be updated periodically to reflect changes in the general web service API. 4.1 Search Patients For searching patients, the PDQ Bridge web service will take the fields from a search of patient demographic information, and return the results of a query on a PIX/PDQ Repository. The results of the search should allow users of an EMR system to find the documents associated with the individual(s) that are returned based on the values of the search fields. 4.1.1 Methods SearchPatient RPC call that sends out a local object that is mapped to a PDQQueryObject, and populated with values from the search demographic search form. Returns the result of the query as an array of type PDQQueryObject. Request Parameter Type Description Required q PDQQueryObject Object of s which are the demographic fields upon which one could search for patients Yes Response searchpatient returns an array of type PDQQueryObject which is the result of the query run against the information collected in the search form. 4.1.2 Object Types PDQQueryObject Simple object composed of the fields necessary to query against patient information during the SOAP transit Page 8 of 14

Fields patientid Name Type Description Required The patient id by which an individual is stored in the repository lastname A patient s last name firstname A patient s first name middlename A patient s middle name namesuffix nameprefix A patient s suffix in their name (such as Jr., Sr., III, etc.) A patient s prefix to their name (such as Mrs., Mr., Dr., etc.) nametitle sex The patient s gender dateofbirth A patient s date of birth addressstreet A patient s street address addresscity A patient s city address addresscountyorparish addressstateorprovince A patient s county or parish based on the local region in which they live and its terminology A patient s state or province based on the local region in which they live and its terminology addresscountry A patient s nation of residence addressziporpostalcode addresstype A patient s zip code or postal code based on the local region in which they live and its terminology A descriptor for what address the patient is providing (business, home, P.O. Box, etc.) addressotherdesignation phonehome A patient s home telephone number phonebusiness A patient s work telephone number Page 9 of 14

4.2 Retrieve Documents For retrieving documents, the XDS Bridge web service provides the necessary functionality to interface with the XDS registry and repository for searching, retrieving and submitting EMR documents. The XDS Bridge provides native functionality for searching the XDS registry for a list of records based on a unique patient identifier. This identifier may either be used directly or referenced indirectly via a patient search request. 4.2.1 Methods SearchByPatientId RPC call that searches the XDS registry for a list of documents associated with a given patient ID. Returns an array of objects of type XDSDocument that contain document metadata and information for further retrieval. Request Parameter Type Description Required patientid Unique patient identifier for document searches. Yes Response SearchByPatientId returns an array of objects of type XDSDocument or null if no responses found. Exceptions SearchByPatientId throws SOAP exceptions, to be handled by the consumer, on the event of server errors. GetDocumentByUniqueId Queries for and retrieves an XDS document from the repository based on the unique identifier assigned to each document placed in the repository. Returns a single object of type XDSDocument that contains document data and metadata. Request Parameter Type Description Required uniqueid Unique ID for which to search/retrieve document from the registry for. Yes Page 10 of 14

Response Returns a single object of type XDSDocument with the document contents and metadata or null if the document was not found. Exceptions getdocumentbyuniqueid throws SOAP exceptions, to be handled by the consumer, on the event of server errors. GetDocumentByUUID Queries for and retrieves an XDS document from the repository based on the Universally Unique Identifier (UUID) assigned to each document placed in the registry and repository. Returns a single object of type XDSDocument that contains document data and metadata. Request uuid Parameter Type Description Required Universally unique identifier (UUID) for which to search/retrieve document from the registry for. Yes Response Returns a single object of type XDSDocument with the document contents and metadata or null if the document was not found. Exceptions getdocumentbyuniqueid throws SOAP exceptions, to be handled by the consumer, on the event of server errors. 4.2.2 Objects Types XDSDocument Simple data object for holding and mapping XDSDocument data while in transit via a SOAP envelope. Page 11 of 14

Fields document Name Type Description Required Base64-encoded binary or ASCII contents for the document. documenttitle Title of the document message (deprecated) Server message for error handling. mimetype MIME type for the document in transit. size Integer Size in bytes of the document in transit status (deprecated) uuid Integer Server status code for document. Universally unique identifier (UUID) for the document in transit. uniqueid Unique ID for document in transit. Yes Yes Page 12 of 14

5. Glossary Eclipse: Eclipse is an open source framework and platform for building software. The OHF Bridge uses the latest server-side OSGi technologies that will be included in the upcoming release of Eclipse 3.2. Specifically, OHF Bridge utilizes the server-side Equinox/OSGi technology, which is currently an incubator project within Eclipse. For more information, please go to http://www.eclipse.org/equinox/. Electronic Medical Records (EMR): EMRs are the patient medical records in electronic formats. The EMR data accepted by OHF Bridge fully conform to the HL7 international healthcare standard. Interoperability Stack: The Healthcare Repository is a physical datacenter that hosts patient medical documents. It has two separate components: the registry that hosts the metadata for patient and document search, and the repository that stores the contents of medical documents. In the event of patient search, the search is done in the registry; a list of matching patient is then returned. In the event of document retrieval, the registry accesses the repository, pulls the document and returns it. If the EMR application requests a creation, change or deletion of a document, the repository will first take the appropriate action and update the document, and then it will request a change in the metadata within the registry. A security component lies on top of both the repository and the registry and performs the permission handling. Open Healthcare Framework (OHF): OHF leverages the extensibility of Eclipse to create a set of standards and technologies to connect clinics and hospitals nationwide. For more information, please go to http://www.eclipse.org/ohf/. OHF Bridge: OHF Bridge is the first step towards implementing the Open Healthcare Framework. It is an open source, platform independent plug-in that can be implemented into existing EMR applications to add the capability of centralizing and searching of patient data. For more information, please go to http://wiki.eclipse.org/index.php/ohf#ohf_in_action. Page 13 of 14

OHF Plug-ins: The OHF Plug-ins includes three distinct mechanisms (PDQ, PIX, and XDS), each consists of two components: the component that retrieves files (the consumer component) and another component that creates files (the source component). The PDQ plug-in handles the search of patient with demographic information including patient ID, full name, address, gender, date of birth, and contact information and returns a list of possible matches. Next, the PIX plug-in handle the cross-reference and comparison of patient metadata. Lastly, the XDS plug-in finds a list of documents for the matching patient and retrieves the full content of a selected document. Page 14 of 14