Download T2: Health Information Exchange: Architecture Implementation Guide
NHIN’s asynchronous queries are implemented as two separate SOAP conversations. The NHIN client sends its query message in a SOAP message to the NHIN server, which responds with the “ACK” SOAP message defined in this Appendix. Later on, the NHIN server sends the actual query response back to the NHIN client, or its designee, in a new SOAP conversation. The NHIN client responds with a SOAP “ACK” message of its own. From the SOAP server’s point of view, this “ACK” message is the response to the query SOAP message and the response to the query response SOAP message.
The ACK message is returned as an HL7 “original mode” ACK within an “NHINResponse” message. The HL7 MSH and MSA “segments” are defined in the remainder of this Appendix.
The message is type ACK with no event code.
The MSA segment returns the Acknowledgment Code value “AA” and echoes the original query’s MSH.MESSAGE CONTROL ID value in MSA.MESSAGE CONTROL ID.
<ACK xmlns="urn:hl7-org:v2xml">
<MSH>
<MSH.1/>
<MSH.2/>
<MSH.3>
<HD.1>Query Result Locator</HD.1>
</MSH.3>
<MSH.4>
<HD.1>Query Facility Name</HD.1>
</MSH.4>
<MSH.5>
<HD.1>Query Application Name</HD.1>
</MSH.5>
<MSH.6>
<HD.1>ST ELSEWHERE HOSPITAL</HD.1>
</MSH.6>
<MSH.7>
<TS.1>20051026130205</TS.1>
</MSH.7>
<MSH.9>
<MSG.1>ACK</MSG.1>
</MSH.9>
<MSH.10>24</MSH.10>
<MSH.11>
<PT.1>P</PT.1>
</MSH.11>
<MSH.12>
<VID.1>2.4</VID.1>
</MSH.12>
</MSH>
<MSA>
<MSA.1>AA</MSA.1>
<MSA.2>123456789</MSA.2>
</MSA>
</ACK>
In order to test the Connecting for Health Common Framework prototype, we set up a series of Record Locator Service (RLS) and Inter-SNO Bridge (ISB) test servers in the three participating communities. The RLS servers provide access to a matching algorithm for determining when an existing patient record matches a query, and to database of accurate but anonymized demographic details (names, dates of birth, and addresses were scrambled to prevent any "test" patient from having a real patient's identity), plus associated record locations for those patients. Incoming test requests were then run through the matching algorithm to determine which record locations in the database, if any, were matched. Each of the ISB servers provides access to the RLS from entities outside the SNO.
In order to make the basic workings of the prototype visible, we have left the test servers running and accessible for those who would like to experiment with formatting valid queries and parsing the results. In addition, each region is making the source code used to handle the incoming queries available for download from the same server hosting the test interface. The source code covers those functions created by each of the three regions, built on a variety of technical platforms:
CA:
Operating System: Linux Red Hat Enterprise Linux ES 4
Application Server: Apache Tomcat, 5.0
Web Services: Apache Axis, 1.3
IN:
Operating System: Red Hat Enterprise Linux AS 4
Application Server: Apache Tomcat, 4.1.31
Web Services: Apache Axis, 1.1
MA:
Operating System: Windows Server 2003
Application Server: IIS 5/BizTalk 2004 as EAI tool
Web Services: .NET framework 1.1
You can find pointers to the regional servers hosting the test interface for the prototype, plus the source code and related files, at: http://www.markle.org/health/markle-connecting-health-collaboration/phases-work/phase-3-common-framework.
Markle Connecting for Health thanks Clay Shirky, Chair, Technical Subcommittee, and Adjunct Professor, New York University Graduate Interactive Telecommunications Program; Vinod Muralidhar and John Calladine, Computer Sciences Corporation (CSC); Lonnie Blevins and Clement McDonald, MD, Regenstrief Institute for Healthcare; and Don Grodecki, Browsersoft, Inc., for documenting this implementation guide.
©2006-2012, Markle Foundation
These works were originally published as part of the Markle Connecting for Health Common Framework: Resources for Implementing Private and Secure Health Information Exchange. They are made available free of charge, but subject to the terms of a License. You may make copies of these works; however, by copying or exercising any other rights to the works, you accept and agree to be bound by the terms of the License. All copies of these works must reproduce this copyright information and notice.