Sun Microsystems Adapter IP HL 7, Adapter TCP User Manual

Sun Adapter forTCP/IP HL7 User's Guide

Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A.
Part No: 821–0377–10 October 2009
Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more U.S. patents or pending patent applications in the U.S. and in other countries.
U.S. Government Rights – Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements.
This distribution may include materials developed by third parties.
Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company,Ltd.
Sun, Sun Microsystems, the Sun logo, the Solaris logo, the Java Coee Cup logo, docs.sun.com, Java, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARCInternational,Inc.inthe U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
The OPEN LOOK and Sun of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun's licensees who implement OPEN LOOK GUIs and otherwise comply with Sun's written license agreements.
Products covered by and information contained in this publication are controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical or biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. embargo or to entities identied on U.S. export exclusion lists, including, but not limited to, the denied persons and specially designated nationals lists is strictly prohibited.
DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONSAND WARRANTIES, INCLUDINGANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THATSUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
TM
Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering eorts
091015@23031
Contents
Sun Adapter for TCP/IP HL7 User's Guide .......................................................................................... 7
Sun Adapter for TCP/IP HL7 Overview ..............................................................................................8
About Sun Adapter for TCP/IP HL7 ............................................................................................8
About HL7 .................................................................................................................................... 10
The TCP/IP HL7 Adapter Architecture .................................................................................... 10
Modes and Roles .......................................................................................................................... 12
Inbound Functionality ................................................................................................................ 14
Outbound Functionality ............................................................................................................. 17
General Functionality .................................................................................................................. 20
TCP/IP HL7 Adapter Operation ................................................................................................ 22
Monitoring the HL7 Adapter ...................................................................................................... 24
Schematron Support in the HL7 Adapter ................................................................................. 25
Adding and Conguring a TCP/IP HL7 Adapter in a Connectivity Map .................................... 27
Adding a TCP/IP HL7 External Application to a Connectivity Map .................................... 28
Modifying the TCP/IP HL7 Adapter Properties in the Connectivity Map ........................... 29
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties ................................................. 30
General Inbound Settings – TCP/IP HL7 V2 Inbound Adapter ............................................ 31
TCPIP Inbound Settings — TCP/IP HL7 V2 Inbound Adapter ............................................ 32
TCPIP Inbound Settings - Server Port Binding — TCP/IP HL7 V2 Inbound Adapter ....... 35
TCPIP Inbound Settings - Client Connection Establishment — TCP/IP HL7 V2 Inbound
Adapter .......................................................................................................................................... 35
TCPIP Inbound Settings - Inbound Connection Management — TCP/IP HL7 V2 Inbound
Adapter .......................................................................................................................................... 35
TCPIP Inbound Schedules - Listener Schedule — TCP/IP HL7 V2 Inbound Adapter ....... 36
TCPIP Inbound Schedules - Service Schedule TCP/IP HL7 V2 Inbound Adapter ............. 38
HL7 Acknowledgment — TCP/IP HL7 V2 Inbound Adapter ............................................... 39
Lower Layer Protocol — TCP/IP HL7 V2 Inbound Adapter ................................................. 40
Sequence Number Protocol — TCP/IP HL7 V2 Inbound Adapter ....................................... 41
HL7 MSH Segment — TCP/IP HL7 V2 Inbound Adapter ..................................................... 41
3
Contents
HL7 SFT Segment — TCP/IP HL7 V2 Inbound Adapter ....................................................... 44
Communication Control — TCP/IP HL7 V2 Inbound Adapter ........................................... 45
HL7 Recourse Action — TCP/IP HL7 V2 Inbound Adapter .................................................. 47
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties .............................................. 49
General Outbound Settings — TCP/IP HL7 V2 Outbound Adapter .................................... 49
TCPIP Outbound Settings — TCP/IP HL7 V2 Outbound Adapter ...................................... 50
TCPIP Outbound Settings - Client Connection Establishment — TCP/IP HL7 V2
Outbound Adapter ...................................................................................................................... 53
TCPIP Outbound Settings - Server Port Binding — TCP/IP HL7 V2 Outbound
Adapter .......................................................................................................................................... 54
HL7 Acknowledgment — TCP/IP HL7 V2 Outbound Adapter ............................................ 55
Lower Layer Protocol — TCP/IP HL7 V2 Outbound Adapter .............................................. 55
Sequence Number Protocol — TCP/IP HL7 V2 Outbound Adapter .................................... 56
HL7 MSH Segment — TCP/IP HL7 V2 Outbound Adapter .................................................. 57
HL7 SFT Segment — TCP/IP HL7 V2 Outbound Adapter .................................................... 59
Communication Control — TCP/IP HL7 V2 Outbound Adapter ........................................ 60
HL7 Recourse Action — TCP/IP HL7 V2 Outbound Adapter .............................................. 62
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties ................................................. 64
General Inbound Settings — TCP/IP HL7 V3 Inbound Adapter .......................................... 64
TCPIP Inbound Settings — TCP/IP HL7 V3 Inbound Adapter ............................................ 65
TCPIP Inbound Settings - Server Port Binding — TCP/IP HL7 V3 Inbound Adapter ....... 68
TCPIP Inbound Settings - Client Connection Establishment — TCP/IP HL7 V3 Inbound
Adapter .......................................................................................................................................... 69
TCPIP Inbound Settings - Inbound Connection Management — TCP/IP HL7 V3 Inbound
Adapter .......................................................................................................................................... 69
TCPIP Inbound Schedules - Listener Schedule — TCP/IP HL7 V3 Inbound Adapter ....... 70
TCPIP Inbound Schedules - Service Schedule — TCP/IP HL7 V3 Inbound Adapter ........ 71
HL7 Acknowledgment — TCP/IP HL7 V3 Inbound Adapter ............................................... 73
Lower Layer Protocol — TCP/IP HL7 V3 Inbound Adapter ................................................. 73
Sequence Number Protocol — TCP/IP HL7 V3 Inbound Adapter ....................................... 74
HL7v3 Transmission Wrapper — TCP/IP HL7 V3 Inbound Adapter ................................. 74
Communication Control — TCP/IP HL7 V3 Inbound Adapter ........................................... 75
HL7 Recourse Action — TCP/IP HL7 V3 Inbound Adapter .................................................. 77
Schematron Validation — TCP/IP HL7 V3 Inbound Adapter .............................................. 79
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties .............................................. 79
General Outbound Settings — TCP/IP HL7 V3 Outbound Adapter .................................... 80
TCPIP Outbound Settings — TCP/IP HL7 V3 Outbound Adapter ...................................... 80
Sun Adapter forTCP/IPHL7User's Guide • October 20094
Contents
TCPIP Outbound Settings - Client Connection Establishment — TCP/IP HL7 V3
Outbound Adapter ...................................................................................................................... 83
TCPIP Outbound Settings - Server Port Binding — TCP/IP HL7 V3 Outbound
Adapter .......................................................................................................................................... 84
HL7 Acknowledgment — TCP/IP HL7 V3 Outbound Adapter ............................................ 85
Lower Layer Protocol — TCP/IP HL7 V3 Outbound Adapter .............................................. 85
Sequence Number Protocol — TCP/IP HL7 V3 Outbound Adapter .................................... 86
HL7v3 Transmission Wrapper — TCP/IP HL7 V3 Outbound Adapter .............................. 86
Communication Control — TCP/IP HL7 V3 Outbound Adapter ........................................ 87
HL7 Recourse Action — TCP/IP HL7 V3 Outbound Adapter .............................................. 89
Conguring Sun Adapter for TCP/IP HL7 Environment Properties ........................................... 91
Conguring TCP/IP HL7 Adapter Environment Properties ................................................. 91
TCP/IP HL7 Inbound Adapter Environment Properties ....................................................... 92
TCP/IP HL7 Inbound Adapter Environment Properties ....................................................... 94
Using the TCP/IP HL7 Predened Templates ................................................................................. 97
Prerequisites for the HL7 V3 Sample Projects .......................................................................... 97
Creating a Copy of an HL7 Sample Project ............................................................................... 98
Customizing Predened Collaborations for HL7 .................................................................. 102
Creating Copies of HL7 Collaborations .................................................................................. 102
Adding an HL7 Message Library to an Existing Collaboration ............................................ 104
About TCP/IP HL7 V2 Collaborations ........................................................................................... 107
TCP/IP HL7 V2 Adapter Projects Overview .......................................................................... 108
TCP/IP HL7 V2 Adapter Collaborations ................................................................................ 108
Inbound HL7 V2 Collaboration Overview ............................................................................. 109
Outbound HL7 V2 Collaboration Overview .......................................................................... 114
About TCP/IP HL7 V3 Collaborations ........................................................................................... 120
About HL7 V3 ............................................................................................................................ 120
TCP/IP HL7 V3 Adapter Projects Overview .......................................................................... 121
TCP/IP HL7 V3 Adapter Collaborations ................................................................................ 121
Inbound HL7 V3 Immediate Collaboration Overview ......................................................... 122
Inbound HL7 V3 Deferred Collaboration Overview ............................................................ 127
Outbound HL7 V3 Collaboration Overview .......................................................................... 133
MLLP V2 and the Sample Projects .................................................................................................. 140
Creating and Conguring the MLLP V2.0 Database ............................................................. 140
MLLP V2 Content Exchange Model ........................................................................................ 144
Standard Inbound HL7 V2 Collaboration Overview over MLLPV2 ................................... 146
5
6

Sun Adapter forTCP/IP HL7 User's Guide

This document provides information and instructions for working with the Sun Adapter for TCP/IP HL7. It is divided into the topics listed below.
What You Need to Know
These topics provide information that is useful to know before you start working with the TCP/IP HL7 Adapter:
“Sun Adapter for TCP/IP HL7 Overview” on page 8
“About TCP/IP HL7 V2 Collaborations” on page 107
“About TCP/IP HL7 V3 Collaborations” on page 120
“MLLP V2 Content Exchange Model” on page 144
“Standard Inbound HL7 V2 Collaboration Overview over MLLPV2” on page 146
What You Need to Do
These links provide information and instructions for working with the TCP/IP HL7 Adapter in Java CAPS projects:
“Adding a TCP/IP HL7 External Application to a Connectivity Map” on page 28
“Modifying the TCP/IP HL7 Adapter Properties in the Connectivity Map” on page 29
“Conguring TCP/IP HL7 Adapter Environment Properties” on page 91
“Creating a Copy of an HL7 Sample Project” on page 98
“Customizing Predened Collaborations for HL7” on page 102
“Creating Copies of HL7 Collaborations” on page 102
“Adding an HL7 Message Library to an Existing Collaboration” on page 104
“Creating and Conguring the MLLP V2.0 Database” on page 140
Additional Information
7

Sun Adapter forTCP/IPHL7Overview

These links provide additional information that is useful to know when working with the TCP/IP HL7 Adapter:
“TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties” on page 30
“TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties” on page 49
“TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties” on page 64
“TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties” on page 79
“TCP/IP HL7 Inbound Adapter Environment Properties” on page 92
“TCP/IP HL7 Inbound Adapter Environment Properties” on page 94
Sun Adapter forTCP/IP HL7 Overview
The following topics provide information about HL7 and the TCP/IP HL7 Adapter:
“About Sun Adapter for TCP/IP HL7” on page 8
“About HL7” on page 10
“The TCP/IP HL7 Adapter Architecture” on page 10
“Modes and Roles” on page 12
“Inbound Functionality” on page 14
“Outbound Functionality” on page 17
“General Functionality” on page 20
“TCP/IP HL7 Adapter Operation” on page 22
“Monitoring the HL7 Adapter” on page 24
“Schematron Support in the HL7 Adapter” on page 25

About Sun Adapter forTCP/IP HL7

The Sun Adapter for TCP/IP HL7 is a component of the Sun Java Composite Application Suite (Java CAPS) that enables the Java CAPS ESB system to exchange data with an external TCP/IP application using the HL7 data protocol. The Sun Java CAPS ESB with the TCP/IP HL7 Adapter provides:
Macro functionality, providing ease of use and productivity.
Prebuilt standards-compliant inbound and outbound template Collaborations that you can use as is or that you can modify for your specic needs.
A complete set of congurable properties that allow you to customize the functionality of the Adapter. The functions can further be customized by modifying the Collaborations.
Journaling and error messaging to JMS queues and topics. This is in addition to Sun Java CAPS ESB’sstandard alert and debug logging.
Support for HL7 Standard versions 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6 and V3.
Sun Adapter forTCP/IPHL7User's Guide • October 20098
Sun Adapter forTCP/IPHL7Overview
Note – Throughout this document the term “JMS queue” is used in the generic sense and
actually denotes JMS queues or topics.
TCP/IP HL7 Features
The TCP/IP HL7 Adapter includes the following features:
Bidirectional processing, including client or server mode in either direction (to or from Sun Java CAPS ESB).
Handles both HL7 HLLP and MLLP protocols and envelopes.
Provides a wide variety of recourse action congurations.
Non-blocking I/O.
Recovery and retry logic.
Debug levels and error logging.
Journaling of HL7 messages and associated acknowledgements.
HL7 acknowledgement levels.
Fully supports the HL7 sequence numbering protocol.
Full support for HL7 ACK and NAK generation and validation.
Supports delayed ACK in both directions.
TCP/IP HL7 Adapter Components
The TCP/IP HL7 Adapter incorporates three components:
The HL7 TCP/IP Resource Adapter that implements the lower layer HL7 protocol over TCP/IP.
Default inbound and outbound Collaborations that implement the HL7 messaging protocol, sequence numbering, and recourse actions.
Generic HL7 Message Libraries that provide the structures necessary to parse and create the data messages and ACKs used by the protocol.
The TCP/IP HL7 Message Library, also known as an Object Type Denition (OTD) Library, enables the creation of HL7 interfaces capable of running over TCP/IP, and also utilizes the common Adapter services available in Java CAPS. The TCP/IP HL7 Adapter works hand in hand with the Sun Java CAPS HL7 Message Libraries, versions 2.1 through 2.5.1.
The TCP/IP HL7 Adapter properties allow the user to easily congure the operation of the TCP/IP HL7 Adapter. The Adapter includes a set of properties that are congured in the Connectivity Map and only apply to that Adapter in the Project. It also includes a set of properties that are congured in the Environment and apply to all TCP/IP HL7 Adapters in the Project. These properties are adopted into the Message Library’s functions.
Sun Adapter forTCP/IPHL7User's Guide 9
Sun Adapter forTCP/IPHL7Overview
The Message Library handles all of the lower-layer protocol. The Message Library’s behavior is customized using the Adapter conguration properties. These Adapter properties are used by the resource adapter, but are also accessed and used by the prebuilt Collaborations.

About HL7

HL7 is a standard for exchanging information between medical applications and is an abbreviation of Health Level Seven. Level Seven refers to the seventh OSI layer protocol for the health environment. HL7 denes the format and the content of the messages that applications must use when exchanging data with each other under various circumstances.
Hospitals and other medical institutions typically use many dierent types of systems to communicate with one another. Everything, from patient records to billing information, is tracked and recorded in computer systems. In order for these dierent types of systems to communicate with each other, they use a standard like HL7.
Note – In the computer world, a protocol is a formal, well-dened standard for exchanging
information between computer applications.
An important part of the HL7 standard is the ACKnowledgment protocol, also known as an ACK. Every time an application accepts a message and consumes the data, it is expected to send an ACKnowledgment message back to the sending application. The sending application is expected to keep on sending a message until it has received an ACK message.

TheTCP/IP HL7 Adapter Architecture

The TCP/IP HL7 Adapter's functionality comes from a combination of the TCP/IP HL7 Resource Adapter (RA), the predened inbound and outbound HL7 Collaborations, and the generic HL7 Message Libraries.
TCP/IP HL7 Resource Adapter
The TCP/IP HL7 Resource Adapter communicates with external HL7 systems, establishes and maintains the TCP/IP socket, manages message enveloping, maintains the sequence numbering le, and provides the HL7 protocol state to the Collaboration. The RA (Resource Adapter) is congured from the Adapter Properties Editor.
HL7 Collaborations
The inbound and outbound HL7 Collaborations provide message validation, sequence numbering, ACK and NAK generation, and recourse actions. The predened HL7 Collaborations are designed to implement the HL7 standard protocol and inter-operate with similar standard compliant systems by simply changing the Adapter property conguration.
Sun Adapter forTCP/IPHL7User's Guide • October 200910
Sun Adapter forTCP/IPHL7Overview
If a system does not conform to the HL7 specication, the Collaborations can be modied for that transaction by changing the Java code using the Collaboration Editor. The Collaborations Java code is designed to be available and “transparent” so you can easily reference the predened Java code to see how it currently handles HL7 transactions and make the appropriate modications.
The Collaboration Editor allows you to create and edit Java code to modify a Collaboration for your specic needs. In many cases this code can be created graphically (drag and drop), using the Collaboration Editor’sBusiness Rules Designer. If you need to change the code of a prebuilt Collaboration, you should duplicate the Collaboration rst and then modify it.
The Collaborations are designed to target one unit of work at a time, meaning the resolution of one message at a time. Once the current message transaction is resolved, the Collaboration is free to process the next HL7 message. The general form of the Collaborations is a state machine. Based on the state of the connection, the Collaboration performs the appropriate action. Additional Collaborations can be added to a Project to increase message ow.
Generic HL7 Message Libraries
The generic HL7 Message Libraries are version-agnostic structures used to send and receive HL7 messages, acknowledgements, and negative acknowledgements (NAKs). They provide the Collaboration with only the essential elds for implementing the HL7 protocol. If you need to perform functions that are specic to a version or message type, you can add the appropriate Message Library to the Collaboration.
Sun JavaComposite Application Suite Functionality
The TCP/IP HL7 Adapter takes advantage of the Java CAPS facilities to provide journaling and error messaging, as well as monitoring, alerting, and logging. journaling and error messages are sent to JMS queues, which allow exibility for postprocessing. For example, invalid messages and their negative acknowledgements (NAKs) are sent to a JMS queue. This JMS queue can then be set up to allow the invalid HL7 messages to be viewed, corrected, and resubmitted automatically to the same Adapter.
Error Queues
Each Collaboration automatically sends invalid messages that have incorrect data, have invalid formatting, or are deemed unacceptable to a JMS error queue. The error generated by the message and, if appropriate, its associated NAK, are written as JMS properties of that message for later processing. You can send errors to one common queue, to a specied queue for each Adapter, or to a combination of both.
Journaling Queues
When journaling is enabled, the HL7 message and its related acknowledgement (ACK) are written to a JMS journal queue. You determine the number of JMS error queues or journal queues used by a Project. From the JMS queue, these messages can be accessed and written to le, sent to a database, sent to a Web application for processing, and so forth.
Sun Adapter forTCP/IPHL7User's Guide 11
Sun Adapter forTCP/IPHL7Overview
Monitoring
The Enterprise Manager provides a real-time picture of the Adapter's state and status. The monitoring facilities display the following information:
Alerts
Alerts are sent from the RA and the Collaborations when conditions are identied that endanger or stop the interface. You can add your own custom alert messages to the Collaborations.
Logging
Log messages are written from both the RA and the Collaborations. You can also congure your own log messages. The level is set in the Enterprise Manager. For more information on monitoring, alerting and logging, see
Java CAPS
Adapter up or down Connected to external Current sequence number Date and time of the last transaction Adapter properties
Using Enterprise Manager Management Application in
and Alert Codes for Java CAPS Adapters.

Modes and Roles

The TCP/IP HL7 Adapter can operate in two modes: standard and delayed ACK. Standard mode is the typical message exchange in HL7 where an HL7 message is sent and an HL7 ACK is received, or the other way around. In delayed ACK mode, the exchange of a message requires two acknowledgements: one to conrm the message was received and the other from the external system that actually received the message to verify that it was received.
In these two modes, the Adapter and the ESB have a number of roles they play within certain scenarios; that is, certain components can fulll dierent responsibilities within a protocol. For example, the outbound Collaboration can fulll two roles in the delayed ACK mode: one as the “sender of messages” that expects two delayed ACKS, and another as the “forwarder of ACKS” from the external system.
Note – Delayed ACK mode is deprecated as of HL7 version 2.2 and was removed from the HL7
standard as of version 2.5.
Standard Mode
In standard mode, the HL7 Adapter can assume two roles, sender and receiver. These are implemented in the outbound and inbound Collaborations respectively.
Sun Adapter forTCP/IPHL7User's Guide • October 200912
Sun Adapter forTCP/IPHL7Overview
HL7 Adapter Sender Role
The outbound Collaboration is the implementation of the Sender and the RA is congured for an outbound data ow. A Java CAPS Service forwards the data to the Adapter, which in turn forwards the data to the accepting HL7 external system. The External System responds with an ACK or NAK response.
HL7 Adapter Receiver Role
The inbound Collaboration is the implementation of the Receiver role in conjunction with the RA being congured for inbound direction. The Adapter accepts a message from the sending HL7 external system, forwards the data to a Java CAPS Service, and responds to the sending system with an ACK or a NAK response.
Delayed ACK Mode
Delayed ACK mode is an extension to the basic HL7 message exchange mode, where there is some middleware component between the Sender and the Receiver. The sending system expects to receive the ACK from the receiving system in addition to the middleware component. In this mode, the ESB can assume two roles in the protocol: as the Sender and as the Receiver.
ESB Sender Role
In this role, the ESB acts as the Sender in the exchange. The HL7 RA is congured for the outbound direction, and the HL7 outbound Collaboration is congured so the Sends App Ack property is set to True. This parameter is used even though the ESB technically does not send an application ACK. Rather, it receives the application ACK and provides the compliment behavior to the ACK sent by the inbound congured Adapter. The two are related in the protocol.
The purpose of this role is for the ESB to act as if it is a system that requires the Delayed ACKs so that it can communicate with a system that operates in the Delayed ACK Receiver role. An example implementation of this role is available in the HL7Outbound sample Project.
ESB Receiver and Forwarder Role
To perform this role, the ESB is congured with two instances of the HL7 Adapter , each performing its own role as Receiver or Forwarder.
Note – For Delayed ACK, the Receiver and Forwarder must be on the same integration server.
The following steps convey the steps taken in this scenario.
1. The Receiver accepts the HL7 message. It then returns the rst ACK, with an MSH - 5, value “D” (for the Delayed ACK), to the Sender.
Sun Adapter forTCP/IPHL7User's Guide 13
Sun Adapter forTCP/IPHL7Overview
2. The Receiver sends the message to the Forwarder.
3. The Forwarder sends the message to the receiving External System.
4. The receiving External System sends an ACK to the Forwarder.
5. The Forwarder receives the ACK from the External and forwards it on to the Receiver.
6. The Receiver then forwards the ACK, with an MSH - 5, value “F” indicating that it is the receiving External System’s ACK, to the Sender.
In the Receiver role, the HL7 RA is congured for inbound, and the inbound Collaboration is used with the parameter Sends App Ack set to true. In the Forwarder role, the RA is set to outbound, the parameter Forward External Acks to eGate, is set to true, and the outbound Collaboration is selected.
This conguration table presents the necessary parameters used to congure the Adapter to assume the Delayed ACK roles
TABLE 1 Adapter Delayed ACKConguration
Role Direction Sends App Ack Property Forward External Acks
Sender Out True N/A
Receiver In True N/A
Forwarder Out N/A True
An example of the receiver role is provided in the prjHL7Inbound sample Project. The prjHL7Outbound Project provides a sample implementation of the Forwarder role.

Inbound Functionality

The inbound TCP/IP HL7 Adapter Project, prjHL7Inbound, provides a sample implementation of an inbound ow using the Adapter. It can be congured for standard inbound mode or for forward message mode.
Inbound Adapter Data Flow
The inbound TCP/IP HL7 Adapter Project receives HL7 messages from an external system, sends an acknowledgement of the message to the external, provides sequence numbering, writes the HL7 message to a JMS data queue, and also writes the HL7 message and ACK to a JMS journal queue. Any error messages and NAKs are sent to a JMS error queue.
The HL7 data is processed so all the elds in the MSH segment of the message are stored in an internal structure to generate an HL7 response. Non-HL7 data, including HL7 acknowledgments, automatically generate warnings in the Adapter’s log le and send an HL7 NAK to the external system.
Sun Adapter forTCP/IPHL7User's Guide • October 200914
Sun Adapter forTCP/IPHL7Overview
Standard Inbound Message Mode Data Flow and Architecture
The following steps describe the ow of data for an inbound Adapter:
1. The external system sends the HL7 message to the Adapter.
2. The Collaboration receives the HL7 message.
3. The Collaboration validates the message (if validate is enabled). If it fails, the Collaboration takes the congured recourse action. If the recourse action is stripped and the maximum number of retries has been exceeded, the message and error are written to the error queue.
4. The Collaboration writes the message to the data queue.
5. The Collaboration then creates the appropriate ACK and sends it to the RA.
6. The RA envelopes the ACK and sends it to the External System.
7. If journaling is enabled, the message and its ACK are written to the journal queue.
Inbound ReceiverMessage Mode
The Inbound Receiver Message mode is used when the Delayed ACK is congured to fulll the role of the Receiver in the Delayed ACK scenario. It accepts the message and acknowledges the External and then forwards the message to the component fullling the Forwarder role. It then accepts the ACK from the Forwarder and passes it on to the External that sent the message.
The following steps describe the Inbound Forward Message Role:
1. The Sender External, sends an HL7 message to the Inbound Adapter, which is congured as a Receiver (Sends App Acks is enabled).
2. The Inbound Adapter receives the HL7 message and returns the rst Acknowledgement to the External with an MSA - 5, value “D” for Delayed Acknowledgement. The External receives the ACK, validates the ACK (verifying that it is a Delayed ACK), and waits for another ACK.
3. The Inbound Adapter creates a JMS message with the HL7 message as the payload, creates a “reply to” destination, and forwards the HL7 message to the Outbound Forwarder (to a JMS destination).
4. The Outbound Forwarder gets the HL7 message and forwards the message to the External System.
5. The External System receives the HL7 message and returns the HL7 ACK message to the Outbound Forwarder.
6. The Outbound Forwarder gets the HL7 ACK message and sends it to the Inbound Receiver Adapter using the “reply to” destination.
7. The Receiver External reads the HL7 ACK message and forwards the second HL7 ACK message with an MSA - 5, value “F”to the Sender External. The Sender External then takes the appropriate action: for example, journaling the HL7 message and the HL7 ACK.
Sun Adapter forTCP/IPHL7User's Guide 15
Sun Adapter forTCP/IPHL7Overview
Message Verication
Message verication begins with reading the message from the external system. The message is expected to match the MLLP envelope, since both HLLP and MLLP envelopes have the Start of Block (SOB), End of Data (EOD), and a Carriage Return (CR) in common.
If a message fails the read verication, it is considered bad data. If read by an inbound Adapter, this failure causes the Adapter to generate a Canned HL7 NAK. An outbound Adapter ignores the message and logs a warning, reporting the nature of the problem to the log le.
An HLLP envelope needs further verication as to whether it is data or a NAK, as well as the Block Checksum and Block Size. The Adapter behaves as described above if the HLLP envelope verication fails.
After stripping the message envelope, the RA hands the de-enveloped message to the inbound Collaboration where it is parsed into the generic event Message Library. This ensures that the general form and MSH segment are valid. If the MSH property is set, the Collaboration veries that the elds specied in the HL7 segment section are the same as those of the received MSH, otherwise, a NAK is returned.
Acknowledgment Processing
Adapter Generates HL7 Acknowledgment
In this scenario, the Adapter generates an HL7 ACK after receiving and successfully storing the message in a queue; otherwise, it generates an HL7 NAK. The HL7 ACK or NAK is placed in the proper envelope and sent to the external system.
ESB Sends HL7 Acknowledgement
In this scenario, the Adapter acts as a receiver in a Delayed ACK scenario, as described in
“Inbound Receiver Message Mode” on page 15.
Canned HL7 NAK
A canned HL7 NAK is created when a read error occurs or when an message cannot be identied as an HL7 message. The initial test ensures that the message conforms to the lower-layer protocol. The Resource Adapter uses the MSH section parameters to create an appropriate NAK.
Recourse Actions
Recourse actions can be congured for an inbound Adapter for the following conditions. For more information, see
The empty read limit is reached.
The maximum number of NAKs are received by the Adapter.
The maximum number of NAKs are sent by the Adapter.
The maximum number of response timeouts is reached.
A NAK response is received.
Sun Adapter forTCP/IPHL7User's Guide • October 200916
“Recourse Actions” on page 21.
Sun Adapter forTCP/IPHL7Overview
No response is received after a message is sent the maximum number of times.

Outbound Functionality

The outbound TCP/IP HL7 Adapter Project, prjHL7Outbound, can be implemented in standard outbound mode or in two forward message modes: outbound delayed ACK or outbound forwarder.
Outbound Adapter Data Flow
In outbound mode, the Adapter receives HL7 messages from a JMS queue. Each message is veried to ensure it contains HL7 data only. Legitimate HL7 data is enveloped into its congured format and sent to the external system.
A message in the JMS queue triggers the outbound Collaboration. The outbound Collaboration is provided with an HL7 message to send to the external system
The Adapter waits for a congurable number of milliseconds for an incoming HL7 ACK or NAK from the external system. After receiving an HL7 response from the external system, the Adapter strips the message from its envelope and veries its integrity.
Any non-HL7 acknowledgment received from the external system causes the Adapter to resend the same message. If the incoming response is an HL7 ACK or NAK, the Adapter might do either of the following, as dictated by its conguration:
Recourse action on NAK received.
Recourse action on Max NAKreceived.
If journaling is set, these messages and their ACKs are placed in the journal le.
Outbound Standard Messaging Mode
The following steps describe the process for the Outbound Standard Message Mode:
1. An HL7 message triggers the Collaboration. The outbound Collaboration is designed to accept the HL7 messages.
2. The Collaboration maps the received message into the Generic Event Message Library and validates the MSH segment. If validation is enabled, the Collaboration checks the MSH segment of the outbound messages against MSH values congured in the Adapter properties le. If the validation fails or the message cannot be parsed, the message and its error are written to the error queue. Note that the HL7 message is always checked for structural correctness.
3. The Collaboration sends the message to the RA.
4. The RA envelopes the message and sends it to the External System and waits for an ACK.
Sun Adapter forTCP/IPHL7User's Guide 17
Sun Adapter forTCP/IPHL7Overview
5. The Collaboration receives and validates the ACK, and then journals the ACK and the HL7 message (if journaling is enabled). If the Collaboration receives a NAK, the NAK and the HL7 message are sent to the error queue.
6. Finally, the Collaboration commits the JMS receive.
Outbound Adapter Roles for Delayed ACK Scenarios
The outbound Adapter can fulll two roles in a delayed ACK scenario. The outbound delayed acknowledgement mode is used to communicate with an external system that is congured to receive messages in a delayed ACK way; that is, it receives two ACKs. One conrms the message was received, and the other is from the application that accepts the message. For delayed ACK mode, the process is similar to that of the standard outbound mode, except that it receives two ACKs. The initial ACK comes from the receiving system.
Outbound Delayed ACK Role
The following steps describe the outbound delayed acknowledgement role process displayed:
1. The outbound Adapter, which is congured as Delayed Acknowledgement role, receives a message from JMS, and sends the message to the External System.
2. The External System receives the message and returns the rst Acknowledgement to the outbound Adapter with an MSA - 5, value “D” for Delayed Acknowledgement. The outbound Adapter receives the ACK, validates the ACK (verifying that it is a Delayed ACK), and waits for another ACK.
3. The outbound Adapter receives another HL7 ACK message (the second) and validates that the second HL7 ACK message is an MSA - 5, with a value of “F.” If the second ACK is valid, the Adapter commits the message, otherwise it resends the message.
Outbound Forwarder Role
The Outbound Forward Message role is used in conjunction with the with the inbound Adapter, which is also congured to handle delayed ACKs. No validation is preformed: the Adapter acts as a “pass-through.”
The following steps describe the Outbound Forwarder Role processing:
1. Data is received by the Collaboration, from the JMS queue.
2. The Collaboration extracts the JMS property “reply to” destination from the message, but does no validation, and sends the message to the External System.
3. The Adapter receives the ACK from the External System.
4. The Collaboration sends the ACK to the temporary topic that was contained in the “reply to.”
Sun Adapter forTCP/IPHL7User's Guide • October 200918
Sun Adapter forTCP/IPHL7Overview
Note – For Delayed ACK, the Receiver and Forwarder must be on the same integration
server.
Message Verication
The only verication that the outbound Adapter does is to ensure that the message parses into the generic Event Message Library, and that the MSH uses the correct elds. The acknowledge is veried to ensure that the sent message is valid.
Acknowledgment Processing
Adapter Generates HL7 Acknowledgment
In this scenario, the Adapter generates an HL7 ACK after receiving and successfully storing the message in a queue; otherwise, it generates an HL7 NAK. The HL7 ACK or NAK is placed in the proper envelope and sent to the external system.
ESB Sends HL7 Acknowledgement
In this scenario, the Adapter acts as a sender in a Delayed ACK scenario, as described in
“Delayed ACK Mode” on page 13.
Canned HL7 NAK
A Canned HL7 NAK is created when a read error occurs, or when an message cannot be identied as an HL7 message. The initial test ensures that the message conforms to the lower-layer protocol. The Resource Adapter uses the MSH section parameters to create an appropriate NAK.
Recourse Actions
Recourse actions can be congured for the outbound Adapter for the following conditions:
The Adapter sends the maximum number of canned negative acknowledgments.
The Adapter attempts to read data the maximum number of times from the external system after a read or receive operation returns nothing.
The Adapter receives the maximum number of negative acknowledgments.
HL7 message validation fails prior to the sending of the HL7 message to the external system.
The Adapter reaches the maximum number of response timeouts while waiting for data from the external system.
The Adapter receives an HL7 Application NAK from the external system.
The Adapter waits for a response from the external system for the congured amount of time (in milliseconds).
For more information on the available recourse actions, see
Sun Adapter forTCP/IPHL7User's Guide 19
“Recourse Actions” on page 21.
Sun Adapter forTCP/IPHL7Overview
Note – The TCP/IP HL7 Adapter includes internal counters that keep track of all error
conditions.

General Functionality

This section explains the Adapter’s general functions and features. It includes the following topics:
“Non-blocking I/O” on page 20
“HL7 Sequence Numbering Protocol” on page 20
“Failed Message Handling” on page 21
“Recourse Actions” on page 21
Non-blocking I/O
The non-blocking I/O feature prevents the Adapter from locking up when attempting to read or write data blocks, allowing the Adapter to continue its operation in case of any communication errors. If the read attempt fails for a congurable number of times, the Adapter exits or resets its connection to the external system, depending on its conguration. In the event of a failed write, the Adapter can resume its write operation to pick up where it previously left o until the entire message is successfully sent.
Without this feature, the Adapter might lock up when a read or write failure occurs and be unresponsive to all external messages, including requests from the user or the Enterprise Monitor (for status).
HL7 Sequence Numbering Protocol
The Adapter can be congured to use HL7 sequence numbering. The negotiation and incrementation of this number is automatically performed by the Adapter. For more details on HL7 sequence numbering, refer to Appendix C (Lower Layer Protocols) of the HL7 Standard for the HL7 version you are using.
When the Adapter is congured for HL7 sequence numbering, the sequence number le opens when the Adapter starts up. If the sequence number le does not exist, one is created and populated with a zero sequence number. The sequence number le is updated on the inbound Adapter when the Adapter generates the HL7 ACK (this process is transparent to the user), and when the outbound Adapter receives the HL7 ACK from the external system.
If you want to change the sequence number at runtime, you need to suspend the Adapter, edit and save the sequence number le, and reactivate the Adapter. To force the Adapter to resynchronize its sequence number with the external system, you need to suspend the Adapter, edit the le so it contains a “-1”, and then reactivate the Adapter.
Sun Adapter forTCP/IPHL7User's Guide • October 200920
Sun Adapter forTCP/IPHL7Overview
The minimum HL7 sequence number is 1. The maximum HL7 sequence number is 2 billion. A sequence number of “0“ is used to start a session. If the sequence numbers between the Adapter and the external cannot be reconciled during start or when exchanging messages, the Adapter shuts down and wait for human intervention as dictated by the HL7 Standard.
Failed Message Handling
The Adapter can be congured to send failed or skipped messages (destined for the external system) to a JMS-based error queue. Messages that fail validation are also written to the error queue. Note that the inbound mode of the Adapter will not write messages that fail the MLLP and HLLP validation. These are automatically NAKed and not passed to the Collaboration, but are logged to the Adapter’s log le.
The failed or skipped message is written to the JMS queue and the error type and message are written as the JMS properties:
Error: the actual error message or NAK
Error Type: the type of error, such as HL7_NAK_error or HL7_Validation_error.
Skipped messages are those which are continuously NAKed by the external system and thus are skipped if the Adapter is congured accordingly. If the Adapter is congured for any other recourse action other than skip, the message remains in the queue.
Recourse Actions
The TCP/IP HL7 Adapter recourse actions include Reset, Resend, Skip Message, and Exit.
On Reset, the Adapter drops its connection and then attempts to reconnect.
On Resend, the sequence number le and journal le are opened again (provided the newly loaded conguration parameters are set for sequence numbering and journaling).
On Skip Message, the Adapter remains connected, but writes the message to an error queue.
On Exit, the Adapter closes its journal le and sequence number le (provided these were congured for use). The Adapter terminates its connection with the external system and shuts down. This allows you to modify these les and resolve any errors. Once the corrections are made, the Adapter can be reactivated from the Enterprise Manager.
Stopping the Collaboration with a Fatal Alert
When the Exit recourse action is triggered it logs the error that caused the action. It also shuts down the Collaboration, which in turn causes the HL7 message to roll back, and then sends an alert to the Enterprise Manager.
The Exit Recourse Action calls the fatal alerter in the Collaboration:
alerter.fatal(’’error message’’,’’HL7’’);
Sun Adapter forTCP/IPHL7User's Guide 21
Sun Adapter forTCP/IPHL7Overview
The argument error message is the user-congured alert message. The argument HL7 is the source component (this must be “HL7”).
Note – The alerter.fatal("error msg", "HL7") method is only applicable to the packaged
TCP/IP HL7 Collaborations.
The Exit recourse action should be applied to any error condition that requires human intervention to correct an error. Once the error condition is resolved, the Collaboration can be restarted from the Enterprise Manager.

TCP/IP HL7 Adapter Operation

The following topics explain the basic elements of the TCP/IP HL7 Adapter’s general operation:
“Direction” on page 22
“Connection Type” on page 22
“Lower Layer Protocol” on page 23
“HL7 Acknowledgment Level” on page 23
“Journaling” on page 23
“Error Queues” on page 24
“Alerts and Monitoring” on page 24
“Support for HL7 Version 2.5 SFT Segments” on page 24
“Delayed Acknowledgements” on page 24
Direction
The TCP/IP HL7 Adapter can be congured as either HL7 inbound or HL7 outbound. This option is determined automatically by the Adapter’s binding (link) in the Connectivity Map.
Connection Type
The connection type indicates how the Adapter establishes a TCP/IP connection. The role can be as a Client, where the RA connects to the external, or as a Server, where the RA waits for a connection.
Connected as a TCP/IP HL7 Client
As a TCP/IP HL7 client, the Adapter connects to external server (host/port) and establishes a connection (in active mode).
Connected as a TCP/IP HL7 Server
The Adapter waits and listens to a specic port for incoming connection requests from an external client. Once a request is received, the Adapter accepts the request and establishes a connection (in passive mode).
Sun Adapter forTCP/IPHL7User's Guide • October 200922
Sun Adapter forTCP/IPHL7Overview
Lower Layer Protocol
This section describes the two supported envelope types used in the HL7 protocol:
HLLP (Hybrid Lower Layer Protocol)
MLLP (Minimal Lower Layer Protocol)
Both envelope types use the following conguration parameters. For more information on these parameters, see or “Lower Layer Protocol — TCP/IP HL7 V2 Outbound Adapter” on page 55.
Start Block Character
End Data Character
End Block Character
MLLP
The MLLP envelope consists of a Start of Block component, a Data component, an End of Data component, and an End of Block component. The size of the HL7 Data eld is determined by the length of the data (number of bytes between start and end), with a maximum size of 99999 Bytes.
“Lower Layer Protocol — TCP/IP HL7 V2 Inbound Adapter” on page 40
HLLP
The HLLP envelope consists of a Start of Block component, a ”D’ (Data) or ”N’ (NAK) indicator, an HL7 Version component, a Carriage Return, a Data component, a Block Size component, a Block Checksum component, an End of Data component, and an End of Block component. The size of the HL7 Data eld is determined by the length of the data (number of bytes between start and end), with a maximum size of 99999 Bytes.
HL7 Acknowledgment Level
The Adapter supports sending and receiving both HL7 acknowledgement types:
Application acknowledgment: This acknowledgement is sent when the message is successfully received.
Commit (accept) acknowledgment: This acknowledgement is sent after the message is successfully and functionally processed by one receiving system.
Journaling
The Adapter provides the option to journal successfully received or sent messages and their corresponding ACKs. The messages are sent to a JMS queue or topic, depending on how you congure the Adapter, and the ACKs are stored as a JMS property, HL7_ACK, of that message.
Sun Adapter forTCP/IPHL7User's Guide 23
Sun Adapter forTCP/IPHL7Overview
It is expected that, when enabled, the journal queue has one or more subscribers that process the contents of the queue so that it remains manageable. For example, the Batch Adapter or a database Adapter could periodically consume the messages by writing them to a le or a database.
Error Queues
The Adapter provides a mechanism to store failed or stripped messages in a JMS queue or topic. The advantage of this is that the messages are then saved in a form readily usable by the other data ows, that can automatically process these messages or make them available to some type of human intervention or message repair, using tools like the JMS queue editor or an eVision application.
Alerts and Monitoring
If the Adapter loses the connection to the external system in any direction or connection type, due to a crash, shutdown, or suspension (including recourse actions), an alert is generated. The monitor’s status of that Adapter is changed to “down” and the Adapter’s icon is encased in a red warning box. The monitor also displays the number of messages it has processed along with the date and time of the last message sent.
Support for HL7 Version 2.5 SFT Segments
HL7 version 2.5 adds a new SFT segment to every message. The Adapter not only sends and receives messages with the new segment, it can automatically create and populate them, using information from the Adapter properties, for the outbound message and the ACK sent from the inbound mode. This feature is only available when the Version ID property is set to 2.5 or later.
Delayed Acknowledgements
The Adapter supports delayed acknowledgements in either direction and in a number of roles. This functionality is described in detail in
Scenarios” on page 18
.
“Outbound Adapter Roles for Delayed ACK

Monitoring the HL7 Adapter

You can monitor the status of the HL7 Adapter in the deployed Projects that include the adapter. This includes viewing alerts and log messages, checking connector details, and monitoring external connections. This is done on the Enterprise Manager. For more information about using the Enterprise Manager Monitor, see
Management Application in Java CAPS
For outbound HL7 Adapters, periodic monitoring for external connections is performed. The time period is based on the value dened in the HL7 Adapter web application's deployment descriptor le, web.xml. Below is an excerpt from the le dening the time period.
Sun Adapter forTCP/IPHL7User's Guide • October 200924
.
Using Enterprise Manager
Sun Adapter forTCP/IPHL7Overview
<web-app>
...
...
<!-- Default monitoring period used in monitoring the
external system connection -->
<context-param>
<param-name>monitorperiod</param-name>
<param-value>2000</param-value>
</context-param>
...
</web-app>

Schematron Support in the HL7 Adapter

Schematron is supported for HL7 V3 Message Libraries. The Schematron uses the concept of nding tree patterns in the parsed document rather than the grammar. This approach allows representation of numerous structures that are inconvenient and dicult in grammar-based schema languages.
For example, the following le denes a Person element that includes a Name eld and a Gender eld:
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<Name>Eddie</Name>
<Gender>Male</Gender>
<Person>
The above XML document can be validated against the below schematron, which denes a test for a Title eld, a test for Name and Gender, and a test for the order of elds:
<?xml version="1.0" encoding="UTF-8"?> <sch:schema xmlns:sch="http://www.ascc.net/xml/schematron"> <sch:pattern name="Check structure"> <sch:rule context="Person"> <sch:assert test="@Title">The element Person must have a Title attribute<sch:assert> <sch:assert test="count(*) = 2 and count(Name) = 1 and count(Gender) = 1">The element
Person should have the child elements Name and Gender.<sch:assert>
<sch:assert test="*[1] = Name">The element Name must appear before element
Gender.</sch:assert>
</sch:rule>
</sch:pattern>
</sch:schema>
Sun Adapter forTCP/IPHL7User's Guide 25
Sun Adapter forTCP/IPHL7Overview
In the HL7 Adapter, this schematron is useful for validating an HL7 V3 document against predened schematron schemas that you write. You can also obtain schemas from organizations such as NHS and HL7.org. For example, NHS provides schemas for CDA documents.
Schematron Congurationin HL7 Adapter
You congure the schematron validation from the Connectivity Map Properties Editor. The Properties Editor includes two properties to support schematron validation:
Schematron Validation: Selecting true enables schematron validation. You then need to enter an LDAP reference.
Schematron Files: The list of schematron validation les. Use commas to separate multiple les.
API for SchematronValidation
The HL7 Adapter includes an API specic to schematron validation. This API is a wrapper of the Open source XSLT-based API available at API is an XSL le called metastylesheet (skeleton1-5.xsl). Applying the metastylesheet to the schematron XML document generates another XSL le. This XSL le can be applied to the input XML document to validate, which produces the output XML document that contains the results of the validation. This document can be embedded inside the V3 acknowledgement and can be sent to the original sender.
http://xml.ascc.net/schematron/1.5. The
The metastylesheet can be extended and overridden so that you can customize the output XML document.
Example,
The following is an example of an output document generated after invoking the API using the XML input document and the schematron validation document described above.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <schematron-output phase="#ALL" schemaVersion="" title="" xmlns: sch="http://www.ascc.net/xml/schematron"> <active-pattern name="Check structure"/> <fired-rule context="Person" id="" role=""/> <failed-assert id="" role="" test="@Title" location="/@Person[1]">
<text>The element Person must have a Title attribute</text>
</failed-assert>
<schematron-output>
Sun Adapter forTCP/IPHL7User's Guide • October 200926
Adding and Conguring a TCP/IP HL7 Adapter in a Connectivity Map
Using the Schematron API
Perform the following to invoke the schematron API from a Java Collaboration:
Obtaining the Factory Object
Obtaining the Validator Object
Performing the Validation
Obtaining the Factory Object
Below is a sample call to the getSchematronValidatorFactory method.
com.stc.connector.hl7.schematron.SchematronValidatorFactory
factory = com.stc.connector.hl7.schematron.SchematronValidatorFactory. getSchematronValidatorFactory();
Obtaining theValidatorObject
Below is a sample call to the getDefaultValidator method.
com.stc.connector.hl7.schematron.SchematronValidator validator = factory.getDefaultValidator( domSource );
In the above example, domSource is the DOMSource object of the schematron XML.
Performing theValidation
Below is a sample call to the validate method.
com.stc.connector.hl7.schematron.ValidationOutput
output = validator.validate( dataSrc );
In the above example, dataSrc is the source of the payload. The payload can be an entire V3 XML document or a CDA document.
The ValidationOutput object contains the resulting XML document as well as a method isValid(), which returns values when the validation has passed or failed.
Adding and Conguring a TCP/IP HL7 Adapter in a Connectivity Map
All Adapters contain a set of properties that are unique to that Adapter type. When you add a TCP/IP HL7 Adapter to a Connectivity Map, you can modify the properties for that specic Adapter. When you add a TCP/IP HL7 External System in the Project’s Environment, you can modify the properties for that Adapter type for all Projects that use that Environment.
Sun Adapter forTCP/IPHL7User's Guide 27
Adding and Conguring a TCP/IP HL7 Adapter in a Connectivity Map
You can congure the TCP/IP HL7 Adapter properties in the following locations:
Connectivity Map: These properties most commonly apply to a specic component Adapter, and may vary from other Adapters of the same type in the Project.
Environment Explorer: These properties are commonly global, applying to all Adapters of the same type in the Project. The properties are shared by all Adapters in the TCP/IP HL7 External System window.
Collaboration: Many TCP/IP HL7 Adapter properties can also be set from a Collaboration, in which case the settings override the corresponding properties in the Adapter’s conguration le. Any properties that are not overridden retain their congured default settings.

Adding a TCP/IP HL7 External Application to a Connectivity Map

To create a TCP/IP HL7 Adapter you must rst add a TCP/IP HL7 External Application to the Connectivity Map. A TCP/IP HL7 Adapter is automatically created when you link a TCP/IP HL7 External Application and a Service. Services are containers for Java Collaborations, Business Processes, Data Integrator processes, and so on.
To Add a TCP/IP HL7 External Application
Create a Connectivity Map for the Project, and add a Service to the Connectivity Map.
1
On the Connectivity Map toolbar, click the External Applications icon.
2
Select HL7 External Application from the menu.
3
A TCP/IP HL7 External Application icon appears on the Connectivity Map toolbar.
Drag the new HL7 ExternalApplication icon from the toolbar onto the Connectivity Map canvas.
4
To bind the External Application with the Service, do one of the following:
5
If messages are entering from the HL7 system, drag a link from the HL7 External Application to the Service.
If messages are being sent from the Service to the HL7 system, drag a link from the Service to the HL7 External Application.
The TCP/IP HL7 Adapter appears on the link.
Sun Adapter forTCP/IPHL7User's Guide • October 200928
Adding and Conguring a TCP/IP HL7 Adapter in a Connectivity Map
FIGURE 1 Adapter Location
6
Modify the Adapter properties, as described in “Modifying the TCP/IP HL7 Adapter Properties in
the Connectivity Map”on page 29
.

Modifying the TCP/IP HL7 Adapter Properties in the Connectivity Map

You can modify an Adapter's properties after it is created in the Connectivity Map. The properties you modify in the Connectivity Map apply only to the specic Adapter you are conguring. For information on modifying system-wide Adapter properties, see
Sun Adapter for TCP/IP HL7 Environment Properties” on page 91
Tip – A description of each parameter is displayed in the Description box when that parameter is
.
selected, providing an explanation of any required settings or options. Properties are also described in the following topics:
“TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties” on page 30
“TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties” on page 49
“TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties” on page 64
“TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties” on page 79
Sun Adapter forTCP/IPHL7User's Guide 29
“Conguring

TCP/IP HL7V2 AdapterInbound Connectivity Map Properties

Modifying Adapter Properties in the Connectivity Map
From the Connectivity Map, double-click the Adapter icon located in the link between the
1
TCP/IP HL7 External Application and the Service.
The Adapter Properties Editor appears, and displays either inbound or outbound properties depending on the link to the Service.
In the explorer panel on the left of the Properties Editor,expand the tree until you see the
2
category you want to modify and then select that category.
For example, to modify server port binding properties, expand TCPIP Inbound Settings and then select Server Port Binding.
Modify a property by either selecting a new value from a drop-down list (if available) or by
3
typing a new value in the propertyeld.
Tip – Click on the ellipsis button next to a property eld to open a separate conguration dialog
box. This is helpful for large values that cannot be fully displayed in the property eld. Enter the property value in the dialog box and click OK. The value appears in the parameter’s property eld.
(Optional)To record notes and information about the currently selectedproperty, click inside
4
the Comments box in the lowerleft of the editor and enter the text.
This information is saved for future reference.
When you are done conguring the properties, click OK.
5
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties
The TCP/IP HL7 V2 inbound adapter conguration properties are organized into the following sections on the Properties Editor accessed from the Connectivity Map:
“General Inbound Settings – TCP/IP HL7 V2 Inbound Adapter” on page 31
“TCPIP Inbound Settings — TCP/IP HL7 V2 Inbound Adapter” on page 32
“TCPIP Inbound Settings - Server Port Binding — TCP/IP HL7 V2 Inbound Adapter” on
page 35
“TCPIP Inbound Settings - Client Connection Establishment — TCP/IP HL7 V2 Inbound
Adapter” on page 35
“TCPIP Inbound Settings - Inbound Connection Management — TCP/IP HL7 V2 Inbound
Adapter” on page 35
“TCPIP Inbound Schedules - Listener Schedule — TCP/IP HL7 V2 Inbound Adapter” on
page 36
“TCPIP Inbound Schedules - Service Schedule TCP/IP HL7 V2 Inbound Adapter” on
page 38
Sun Adapter forTCP/IPHL7User's Guide • October 200930
Loading...
+ 120 hidden pages