Sun Adapter for TCP/IP HL7 User's Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A.
Copyright 2009 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. 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.
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 ....................................................................................................
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 ....................
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 ................
Sun Adapter for TCP/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.
Sun Adapter for TCP/IP HL7 Overview 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/
Sun Adapter for TCP/IP HL7 Overview 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 configurations. ■ Non-blocking I/O.
Sun Adapter for TCP/IP HL7 Overview The Message Library handles all of the lower-layer protocol. The Message Library’s behavior is customized using the Adapter configuration 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.
Sun Adapter for TCP/IP HL7 Overview If a system does not conform to the HL7 specification, the Collaborations can be modified 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 predefined Java code to see how it currently handles HL7 transactions and make the appropriate modifications.
Sun Adapter for TCP/IP HL7 Overview ■ Monitoring The Enterprise Manager provides a real-time picture of the Adapter's state and status. The monitoring facilities display the following information: ■ ■ ■ ■ ■ ■ Adapter up or down Connected to external Current sequence number Date and time of the last transaction Adapter properties Alerts Alerts are sent from the RA and the Collaborations when conditions are identified that endanger or stop the interface.
Sun Adapter for TCP/IP HL7 Overview HL7 Adapter Sender Role The outbound Collaboration is the implementation of the Sender and the RA is configured for an outbound data flow. 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.
Sun Adapter for TCP/IP HL7 Overview 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.
Sun Adapter for TCP/IP HL7 Overview Standard Inbound Message Mode Data Flow and Architecture The following steps describe the flow 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 configured recourse action.
Sun Adapter for TCP/IP HL7 Overview Message Verification Message verification 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 verification, it is considered bad data. If read by an inbound Adapter, this failure causes the Adapter to generate a Canned HL7 NAK.
Sun Adapter for TCP/IP HL7 Overview ■ 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 verified to ensure it contains HL7 data only.
Sun Adapter for TCP/IP HL7 Overview 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 fulfill two roles in a delayed ACK scenario.
Sun Adapter for TCP/IP HL7 Overview Note – For Delayed ACK, the Receiver and Forwarder must be on the same integration server. Message Verification The only verification 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 fields. The acknowledge is verified to ensure that the sent message is valid.
Sun Adapter for TCP/IP HL7 Overview 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.
Sun Adapter for TCP/IP HL7 Overview 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.
Sun Adapter for TCP/IP HL7 Overview The argument error message is the user-configured 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.
Sun Adapter for TCP/IP HL7 Overview 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 configuration parameters. For more information on these parameters, see “Lower Layer Protocol — TCP/IP HL7 V2 Inbound Adapter” on page 40 or “Lower Layer Protocol — TCP/IP HL7 V2 Outbound Adapter” on page 55.
Sun Adapter for TCP/IP HL7 Overview 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 file or a database. Error Queues The Adapter provides a mechanism to store failed or stripped messages in a JMS queue or topic.
Sun Adapter for TCP/IP HL7 Overview ... ... monitorperiod 2000 ... Schematron Support in the HL7 Adapter Schematron is supported for HL7 V3 Message Libraries. The Schematron uses the concept of finding tree patterns in the parsed document rather than the grammar.
Sun Adapter for TCP/IP HL7 Overview In the HL7 Adapter, this schematron is useful for validating an HL7 V3 document against predefined 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 Configuration in HL7 Adapter You configure the schematron validation from the Connectivity Map Properties Editor.
Adding and Configuring 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.
Adding and Configuring a TCP/IP HL7 Adapter in a Connectivity Map You can configure the TCP/IP HL7 Adapter properties in the following locations: ■ Connectivity Map: These properties most commonly apply to a specific 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.
Adding and Configuring a TCP/IP HL7 Adapter in a Connectivity Map FIGURE 1 6 Adapter Location 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 specific Adapter you are configuring.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties ▼ Modifying Adapter Properties in the Connectivity Map 1 From the Connectivity Map, double-click the Adapter icon located in the link between the 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.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties ■ ■ ■ ■ ■ ■ ■ “HL7 Acknowledgment — TCP/IP HL7 V2 Inbound Adapter” on page 39 “Lower Layer Protocol — TCP/IP HL7 V2 Inbound Adapter” on page 40 “Sequence Number Protocol — TCP/IP HL7 V2 Inbound Adapter” on page 41 “HL7 MSH Segment — TCP/IP HL7 V2 Inbound Adapter” on page 41 “HL7 SFT Segment — TCP/IP HL7 V2 Inbound Adapter” on page 44 “Communication Control — TCP/IP HL7 V2 Inbound Adapter” on page 45 “HL7 Recourse Action — TCP/IP HL7 V2 Inbound Adap
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TCPIP Inbound Settings — TCP/IP HL7 V2 Inbound Adapter The following table lists and describes the properties on the TCPIP Inbound Settings page of the Properties Editor accessed from the Connectivity Map. These properties configure the Java socket and server socket options. TABLE 3 Connectivity Map - TCPIP Inbound Settings Name Description Connection Type The way the adapter establishes the TCP/IP connection.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 3 Connectivity Map - TCPIP Inbound Settings (Continued) Name Description Keep Alive An indicator of whether the client’s SO_KEEPALIVE option is enabled or disabled. Select true to enable SO_KEEPALIVE; otherwise, select false.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 3 Connectivity Map - TCPIP Inbound Settings (Continued) Name Description SoLinger An indicator of whether the adapter performs a “linger-on-close” timeout. This option disables or enables an immediate return from a call to the close() method for a TCP Socket. To enable the linger-on-close timeout, select true; otherwise, select false. If you enable this property, specify the maximum length of the timeout in the SoLinger Timeout property.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TCPIP Inbound Settings - Server Port Binding — TCP/IP HL7 V2 Inbound Adapter The following table lists and describes the properties that appear on the Server Port Binding page of the Properties Editor accessed from the Connectivity Map. The properties define the server port binding retry options. This section is only used when the Connection Type under TCPIP Inbound Settings is set to Server.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 6 Connectivity Map - TCPIP Inbound Settings - Inbound Connection Management Name Description Max Connection Pool Size The maximum number of concurrent connections allowed for the specific listener or monitor that is listening or monitoring the specified TCP/IP port. 0 (zero) indicates that there is no limit. This value indicates the capability or availability of this server’s services.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties ■ Timer Service – Available for Java EE, this scheduler is configured using the At Fixed Rate, Delay, and Period properties. ■ Work Manager – Available for Java EE (JCA 1.5 and above), this scheduler is configured using the Delay and Period properties. TABLE 7 Connectivity Map - TCPIP Inbound Schedules - Listener Schedule Name Description Scheduler The scheduler type for this inbound communication.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TCPIP Inbound Schedules - Service Schedule TCP/IP HL7 V2 Inbound Adapter The following table lists and describes the properties that appear on the Service Schedule page of the Properties Editor accessed from the Connectivity Map. These properties configure the scheduler used by the TCP/IP server that executes the business tasks (Collaboration rules) over the existing connection. This scheduler affects the actual business rules you define.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 8 Connectivity Map - TCPIP Inbound Schedules - Service Schedule (Continued) Name Description At Fixed Rate An indicator of whether a fixed-rate execution or fixed-delay execution is used. This property applies to the Timer Service configuration only, and is used when the Schedule Type property is set to Repeated. Select true to indicate fixed-rate; select false to indicate fixed-delay.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 9 Connectivity Map - HL7 Acknowledgment Name eGate Sends App Acks Description An indicator of whether the HL7 application acknowledgment sent to the external system is generated by the adapter or forwarded from the application server.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 10 Connectivity Map - Lower Layer Protocol (Continued) Name Description End Data Character The second to the last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127. Unless there is a conflict, the value should be ASCII FS (decimal 28). End Block Character The last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 12 Connectivity Map - HL7 MSH Segment Name Description Field Separator The character that separates the segment ID and the first real field. This value defines the character that is used as a separator for the rest of the message and is the first field in the HL7 MSH segment (MSH-01). The value is a decimal ASCII number, and the allowed range is 1 to 127. The default setting is 124, which is the pipe character (|).
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 12 Connectivity Map - HL7 MSH Segment (Continued) Name Description Processing ID The subcomponent processing ID of the MSH-11 field. MSH-11 is used to indicate whether a message is processed as defined in the HL7 Application processing rules. Specify one of the following options: ■ D - The message is part of a debugging system. Version ID ■ P - The message is part of a production system.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 12 Connectivity Map - HL7 MSH Segment (Continued) Name Description Validate MSH An indicator of whether to validate the MSH segment of the data message (for inbound) and the MSH segment of the ACK (for outbound). Select true if you want the Collaboration to validate the MSH segment; otherwise select false. This parameter is used in Collaboration code.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 13 Connectivity Map - HL7 SFT Segment (Continued) Name Description Software Certified Version or Release Number The latest software version number or release number for the sending system, which helps provide a more complete profile of the application that is sending or receiving HL7 messages. Version numbers are important in identifying the specific release of an application.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 14 Connectivity Map - Communication Control Name Description Time To Wait For A Response The amount of time (in milliseconds) that the adapter waits for a response from the external system before taking recourse action (see Action on No Response in HL7 Recourse Action). Any data from the external system is considered a response. This property corresponds to the initial read/receive operation timeout.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties HL7 Recourse Action — TCP/IP HL7 V2 Inbound Adapter The following table lists and describes the properties that appear on the HL7 Recourse Action page of the Properties Editor accessed from the Connectivity Map. These properties define the actions the adapter takes when operations occur outside the configured constraints.
TCP/IP HL7 V2 Adapter Inbound Connectivity Map Properties TABLE 15 Connectivity Map - HL7 Recourse Action (Continued) Name Description Action on Nak Received The action the adapter takes when it receives an HL7 Application NAK from the external system. Select one of the following options: ■ Resend – The adapter attempts to resend the message to the external system. ■ Reset – The adapter closes its connection with the external system and goes through the connection scenario.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties The TCP/IP HL7 V2 server outbound adapter configuration properties are organized into the following sections on the Properties Editor accessed from the Connectivity Map: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ “General Outbound Settings — TCP/IP HL7 V2 Outbound Adapter” on page 49 “TCPIP Outbound Settings — TCP/IP HL7 V2 Outbound Adapter” on page 50 “TCPIP Outbound Settings - Client Connection Establishme
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TCPIP Outbound Settings — TCP/IP HL7 V2 Outbound Adapter The following table lists and describes the properties on the TCPIP Outbound Settings page of the Properties Editor accessed from the Connectivity Map. These properties configure the Java socket and server socket options. For more information, see the Javadocs for Java SDK.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 17 Connectivity Map - TCPIP Outbound Settings Name Description (Continued) Keep Alive An indicator of whether the client’s SO_KEEPALIVE option is enabled or disabled. Select true to enable SO_KEEPALIVE; otherwise, select false.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 17 Connectivity Map - TCPIP Outbound Settings Name Description (Continued) SoLinger An indicator of whether the adapter performs a “linger-on-close” timeout. This option disables or enables an immediate return from a call to the close() method for a TCP Socket. To enable the linger-on-close timeout, select true; otherwise, select false.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 17 Connectivity Map - TCPIP Outbound Settings Name Description (Continued) Socket Factory Implementation Class Name The name of the Java class that implements the socket factory. This class is used to create the socket. If you have provided your own socket implementation, enter the name of the Java class that contains this implementation here. The factory implementation class must implement the com.stc.connector.tcpip.model.factory.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 18 Connectivity Map - TCPIP Outbound Settings - Client Connection Establishment (Continued) Name Description Auto Reconnect Upon Matching Failure An indicator or whether to attempt to reconnect automatically when the adapter gets a matching connection from a container, even though this connection is not valid; for example, the external side of the connection is closed or reset due to the external application’s logic.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties HL7 Acknowledgment — TCP/IP HL7 V2 Outbound Adapter The following table lists and describes the properties that appear on the HL7 Acknowledgment page of the Properties Editor accessed from the Connectivity Map. These properties define how the application acknowledgment events are handled.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 21 Connectivity Map - Lower Layer Protocol Name Description MLLP is the configured default value. LLP Type The lower layer protocol (LLP) type. Select one of the following options: MLLP (Minimal Lower Layer Protocol) ■ HLLP (Hybrid Lower Layer Protocol) ■ MLLP v2.0 (Minimal Lower Layer Protocol v2.0) ■ For more information on the available envelope types, see “Lower Layer Protocol” on page 23.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties HL7 MSH Segment — TCP/IP HL7 V2 Outbound Adapter The following table lists and describes the properties that appear on the HL7 MSH Segment page of the Properties Editor accessed from the Connectivity Map. These properties define the configuration of the MSH segment of the HL7 message. For more information about this segment, refer to the HL7 specification (http://www.hl7.org).
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 23 Connectivity Map - HL7 MSH Segment (Continued) Name Description Receiving Facility A user-defined value that further identifies the receiving application among multiple identical instances of the application running on behalf of different organizations. The default value is Sun HL7 adapter. This is the sixth field in the HL7 MSH segment (MSH-06). Security The implemented application level security features.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 23 Connectivity Map - HL7 MSH Segment (Continued) Name Description Conformance Statement ID A unique identifier that applies to a query’s conformance statement. It can also be used as a Message Profile Identifier to assert constancy with a message profile (grammar, syntax, usage, and so on). This is the 21st field in the HL7 MSH segment (MSH-21).
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 24 Connectivity Map - HL7 SFT Segment (Continued) Name Description Software Certified Version or Release Number The latest software version number or release number for the sending system, which helps provide a more complete profile of the application that is sending or receiving HL7 messages. Version numbers are important in identifying the specific release of an application.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 25 Connectivity Map - Communication Control Name Description Time To Wait For A Response The amount of time (in milliseconds) that the adapter waits for a response from the external system before taking recourse action (see Action on No Response in HL7 Recourse Action). Any data from the external system is considered a response. This property corresponds to the initial read/receive operation timeout.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties HL7 Recourse Action — TCP/IP HL7 V2 Outbound Adapter The following table lists and describes the properties that appear on the HL7 Recourse Action page of the Properties Editor accessed from the Connectivity Map. These properties define the actions the adapter takes when operations occur outside the configured constraints.
TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties TABLE 26 Connectivity Map - HL7 Recourse Action (Continued) Name Description Action on Nak Received The action the adapter takes when it receives an HL7 Application NAK from the external system. Select one of the following options: ■ Resend – The adapter attempts to resend the message to the external system. ■ Reset – The adapter closes its connection with the external system and goes through the connection scenario.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties The TCP/IP HL7 V3 Server inbound adapter configuration properties are organized into the following sections on the Properties Editor accessed from the Connectivity Map: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ “General Inbound Settings — TCP/IP HL7 V3 Inbound Adapter” on page 64 “TCPIP Inbound Settings — TCP/IP HL7 V3 Inbound Adapter” on page 65 “TCPIP Inbound Settings - Server Port Binding — TCP/IP
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 27 Connectivity Map - General Inbound Settings (V3) (Continued) Name Description Scope Of State The scope of the state object, which is a Message Library node. Select one of the following options for this property: ■ Resource Adapter Level – The state has the same life cycle as the resource adapter. Dedicated Session Mode ■ Connection Level – The state has the same life cycle as the connection.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 28 Connectivity Map - TCPIP Inbound Settings (V3) (Continued) Name Description ServerSO Timeout The value (in milliseconds) of the SO_TIMEOUT parameter for ServerSocket. The timeout must be greater than zero (0). A timeout of zero is interpreted as an infinite timeout. This value is used for the ServerSocket.accept() method.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 28 Connectivity Map - TCPIP Inbound Settings (V3) (Continued) Name Description Receive Buffer Size A number indicating the receive buffer size. This is the value of the SO_RCVBUF option for the current socket, which is the buffer size used by the operating system for input on this socket. It provides an estimate of the size of the underlying buffers used by the platform for incoming network I/O.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 28 Connectivity Map - TCPIP Inbound Settings (V3) (Continued) Name Description SoTimeout The value of the SoTimeout in milliseconds. This is used for the accepted client socket. You can enter a value greater than or equal to zero (0). When set to zero (0), the timeout is infinite.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TCPIP Inbound Settings - Client Connection Establishment — TCP/IP HL7 V3 Inbound Adapter The following table lists and describes the property that appears on the Client Connection Establishment page of the Properties Editor accessed from the Connectivity Map. This property defines a wait time before connecting to the external system. This section is only used when the Connection Type under TCPIP Inbound Settings is set to Client.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 31 Connectivity Map - TCPIP Inbound Settings (V3) - Inbound Connection Management (Continued) Name Description Scope Of Connection The scope of the accepted connection that is used by the adapter. Select one of the following options: ■ Resource Adapter Level – The resource adapter closes the connection upon request (by way of ClosureCommandMessage) so the connection may “keep alive” during multiple executions of the Collaboration.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 32 Connectivity Map - TCPIP Inbound Schedules (V3) - Listener Schedule Name Description Scheduler The scheduler type for this inbound communication. Select one of the following options: ■ Timer Service – The task is scheduled through the Java EE Timer Service. Timer Service is supported by Java EE. ■ Work Manager – The task is scheduled through the Java EE Work Manager. Work Manager is supported by Java EE (JCA 1.5 and above).
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties scheduler used by the TCP/IP server that executes the business tasks (Collaboration rules) over the existing connection. This scheduler affects the actual business rules you define. You can use either of the following two Java EE schedulers, both of which provide the functionality required by the inbound TCP/IP server.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 33 Connectivity Map - TCPIP Inbound Schedules (V3) - Service Schedule (Continued) Name Description At Fixed Rate An indicator of whether a fixed-rate execution or fixed-delay execution is used. This property applies to the Timer Service configuration only, and is used when the Schedule Type property is set to Repeated. Select true to indicate fixed-rate; select false to indicate fixed-delay.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 35 Connectivity Map - Lower Layer Protocol (V3) Name Description LLP Type The lower layer protocol (LLP) type. The supported option is MLLP v2.0 (Minimal Lower Layer Protocol v2.0). For more information on MLLP v2.0, see “Lower Layer Protocol” on page 23. Start Block Character The first envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties needs to package and route the message to the specified receiving applications or message handling services. The transmission wrapper is a cluster of classes and identifies the sender and receiver of the message and the particular kind of message being communicated. TABLE 37 Connectivity Map - HL7v3 Transmission Wrapper Name Description Interaction ID The identification of the unique information interchange.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 38 Connectivity Map - Communication Control (V3) Name Description Time To Wait For A Response The amount of time (in milliseconds) that the adapter waits for a response from the external system before taking recourse action (see Action on No Response in HL7 Recourse Action). Any data from the external system is considered a response. This property corresponds to the initial read/receive operation timeout.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties HL7 Recourse Action — TCP/IP HL7 V3 Inbound Adapter The following table lists and describes the properties that appear on the HL7 Recourse Action page of the Properties Editor accessed from the Connectivity Map. These properties define the actions the adapter takes when operations occur outside the configured constraints.
TCP/IP HL7 V3 Adapter Inbound Connectivity Map Properties TABLE 39 Connectivity Map - HL7 Recourse Action (V3) Name Description (Continued) Action on Nak Received The action the adapter takes when it receives an HL7 Application NAK from the external system. Select one of the following options: ■ Resend – The adapter attempts to resend the message to the external system. ■ Reset – The adapter closes its connection with the external system and goes through the connection scenario.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties Schematron Validation — TCP/IP HL7 V3 Inbound Adapter The following table lists and describes the properties that appears on the Schematron Validation page of the Properties Editor accessed from the Connectivity Map. The schematron uses the concept of finding tree patterns in a parsed document rather than grammar patterns.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties General Outbound Settings — TCP/IP HL7 V3 Outbound Adapter The following table lists and describes the TCP/IP HL7 V3 outbound adapter properties that appear on the General Outbound Settings page of the Properties Editor accessed from the Connectivity Map. TABLE 41 Connectivity Map - General Outbound Settings (V3) Name Description Max Data Size A number that indicates the maximum amount of data that the programs can hold internally.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 42 Connectivity Map - TCPIP Outbound Settings (V3) Name Description Connection Type The way the adapter establishes the TCP/IP connection. Select one of the following options: ■ Client – The adapter connects to an external server (host/port) to establish the connection. The adapter is in active mode. ■ Server – The adapter waits and listens on a certain port for an incoming connection request from an external client.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 42 Connectivity Map - TCPIP Outbound Settings (V3) (Continued) Name Description Receive Buffer Size A number indicating the receive buffer size. This is the value of the SO_RCVBUF option for the current socket, which is the buffer size used by the operating system for input on this socket. It provides an estimate of the size of the underlying buffers used by the platform for incoming network I/O.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 42 Connectivity Map - TCPIP Outbound Settings (V3) (Continued) Name Description SoTimeout The value of the SoTimeout in milliseconds. You can enter a value greater than or equal to zero (0). When set to zero (0), the timeout is infinite. With this option set to a non-zero value, calling the read() method on the input stream associated with this socket will block for only the configured length of time. If the timeout expires, a java.io.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 43 Connectivity Map - TCPIP Outbound Settings (V3) - Client Connection Establishment (Continued) Name Description Always Create New Connection An indicator of whether the adapter always attempts to create a new connection when a connection establishment request is received. Select on of the following options: ■ true – The adapter always attempts to create a new connection without attempting to match an existing connection.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 44 Connectivity Map - TCPIP Outbound Settings (V3) - Server Port Binding (Continued) Name Description Retry Binding Interval The amount of time (in milliseconds) that the adapter waits between attempts to bind to the specified TCP/IP port on the localhost.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 46 Connectivity Map - Lower Layer Protocol (V3) Name Description (Continued) End Data Character The second to the last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127. Unless there is a conflict, the value should be ASCII FS (decimal 28). End Block Character The last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 48 Connectivity Map - HL7v3 Transmission Wrapper Name Description Interaction ID The identification of the unique information interchange. The attribute values are derived from the HL7 MDF interaction names; for example, POLB_INI00100 and COMT_IN300652. Processing Code An indicator of the type of system the message is part of. Specify one of the following options: ■ D - The message is part of a debugging system.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 49 Connectivity Map - Communication Control (V3) Name Description Time To Wait For A Response The amount of time (in milliseconds) that the adapter waits for a response from the external system before taking recourse action (see Action on No Response in HL7 Recourse Action). Any data from the external system is considered a response. This property corresponds to the initial read/receive operation timeout.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties HL7 Recourse Action — TCP/IP HL7 V3 Outbound Adapter The following table lists and describes the properties that appear on the HL7 Recourse Action page of the Properties Editor accessed from the Connectivity Map. These properties define the actions the adapter takes when operations occur outside the configured constraints.
TCP/IP HL7 V3 Adapter Outbound Connectivity Map Properties TABLE 50 Connectivity Map - HL7 Recourse Action (V3) Name Description (Continued) Action on Nak Received The action the adapter takes when it receives an HL7 Application NAK from the external system. Select one of the following options: ■ Resend – The adapter attempts to resend the message to the external system. ■ Reset – The adapter closes its connection with the external system and goes through the connection scenario.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties Configuring Sun Adapter for TCP/IP HL7 Environment Properties The adapter environment configuration properties define how the adapter connects to and interacts with other Java CAPS components within the environment. The environment properties are accessed from the NetBeans IDE Services window.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties TCP/IP HL7 Inbound Adapter Environment Properties The TCP/IP HL7 Adapter configuration parameters accessed from the Environment tree apply to both the inbound and outbound Adapters, and are the same for HL7 v2 and HL7 v3 Adapters.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties TABLE 52 Environment - HL7 Inbound Adapter - TCPIP Inbound Settings Name Description Steady Pool Size An integer indicating the minimum number of message–driven beans to maintain. When the value is set to a number greater than 0 (zero), the container pre-populates the MDB pool with the specified number and tries to ensure that there are always this number of beans in the free pool.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties TABLE 53 Environment - HL7 Inbound Adapter - Sequence Number Protocol Name Description Sequence Number File Location The location of the sequence number file (a local directory). This is required when the Sequence Number Protocol is enabled. The sequence number folder is a nonvolatile directory that stores the sequence number files used to persist the HL7 sequence number.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties HL7 Outbound Adapter - TCPIP Outbound Settings The following table lists and describes the properties that appear on the MDB Pool Setting page of the Properties Editor accessed from the Environment. These properties configure the Java socket and server socket options. For more information, see the Javadocs provided with Java SDK.
Configuring Sun Adapter for TCP/IP HL7 Environment Properties TABLE 56 Environment - HL7 Outbound Adapter - Connection Pool Settings Name Description Steady Pool Size An integer indicating the minimum number of resource adapter connections to be maintained. When the value is set to a number greater than 0 (zero), the container pre-populates the RA connection pool with the specified number and tries to ensure that there are always this many connections in the free pool.
Using the TCP/IP HL7 Predefined Templates TABLE 57 Environment - HL7 Outbound Adapter - Sequence Number Protocol Name Description Sequence Number File Location The location of the sequence number file (a local directory). This is required when the Sequence Number Protocol is enabled. The sequence number folder is a nonvolatile directory that stores the sequence number files used to persist the HL7 sequence number.
Using the TCP/IP HL7 Predefined Templates Collaborations. Therefore, it is important to maintain the original predefined jcdHL7V3Inbound and jcdHL7V3Outbound Collaborations in their initial form for future use. Before working with the HL7 V3 sample Projects, be sure that the required HL7 V3 SAR files are uploaded to the repository. The required files are listed below: 1. HL7eWay.sar 2. HL7OTDLibrary.sar 3. HL7V32006ACCTBilling.sar 4. HL7V32006ClaimsAndReimb.sar 5. HL7V32006ClinicalGenomics.sar 6.
Using the TCP/IP HL7 Predefined Templates 5 Export the Project you want to copy: a. On the Projects window, right-click the Project to copy, click Export, and then click Project. The Export Manager dialog box appears. FIGURE 2 Export Manager b. Select the Projects and Environments to export. The selected Project appears in the Selected Projects: pane of the Export Manager. c.
Using the TCP/IP HL7 Predefined Templates Tip – Click the left-arrow button , if you want to move the selected projects from the right pane to the left pane. d. Click Browse and select an appropriate directory to save the exported Project. FIGURE 3 Export Manager — Browse Option e. Click Export. The Project is compressed and saved to the specified directory and file name. 6 100 Rename the original Project in the NetBeans IDE.
Using the TCP/IP HL7 Predefined Templates Note – The NetBeans IDE will not import identically named Projects to the same root, so you must perform this step before importing the Project back in. 7 On the NetBeans IDE, click Save All. 8 Import the Project back in to the Repository. a. On the NetBeans menu bar, select Tools, point to CAPS Repository, and then select Import Project from the drop-down menu. A confirmation dialog box appears asking if you need to save any changes. b.
Using the TCP/IP HL7 Predefined Templates d. Click Import. It may take a few seconds to import the project. When the project is imported, the Import Status dialog box appears. e. Click OK on the dialog box. The CAPS Repository is refreshed, and you now have two copies of the same Project in the Repository. Customizing Predefined Collaborations for HL7 The predefined Collaborations are designed to be extended and modified, however, for HL7 compliant systems this is not necessary.
Using the TCP/IP HL7 Predefined Templates FIGURE 4 Collaboration — Copied to Project Tree 4 Repeat this step for additional copies of the Collaboration. 5 To add each new Collaboration to a Project's Connectivity Map, drag and drop the Collaboration from the Projects Explorer tree to the Connectivity Map Editor. The new Collaborations can now be associated with the Project's components.
Using the TCP/IP HL7 Predefined Templates FIGURE 5 Connectivity Map — Newly Added Collaborations Adding an HL7 Message Library to an Existing Collaboration In some cases, a specific HL7 message or messages might need to be added to the Collaboration. Perform the following to add a HL7 Message Library to an existing Collaboration. Note – Make sure you are using the correct version of the Message Library for the Collaboration you are working with.
Using the TCP/IP HL7 Predefined Templates FIGURE 6 4 Collaboration Definition (Java) Properties Click Add to select the object type definition. A dialog box appears where you can select the Message Library to add.
Using the TCP/IP HL7 Predefined Templates FIGURE 7 5 Select Object Type Definition In the Look In field, navigate to the location of the Message Library. The HL7 Message Libraries are located in CAPS Components Library > Message Library > HL7. 6 Select the Message Library and then click Select. The Message Library is added to the list.
About TCP/IP HL7 V2 Collaborations FIGURE 8 Message Library Added to the List Tip – You can also modify an existing HL7 V2 Message Library by clicking the Message Library to change, clicking the ellipsis that appears, and selecting the appropriate Message Library. 7 On the Collaboration Definition Properties dialog box, click OK.
About TCP/IP HL7 V2 Collaborations The following topics provide information about the sample V2 Collaborations and provide instructions for copying and customizing them: ■ ■ ■ ■ “TCP/IP HL7 V2 Adapter Projects Overview” on page 108 “TCP/IP HL7 V2 Adapter Collaborations” on page 108 “Inbound HL7 V2 Collaboration Overview” on page 109 “Outbound HL7 V2 Collaboration Overview” on page 114 TCP/IP HL7 V2 Adapter Projects Overview Several sample Projects are provided with the TCP/IP HL7 Adapter to illustrate di
About TCP/IP HL7 V2 Collaborations At the end of each action, the state is set for the next execution of the Collaboration. There are three main states: ■ To Establish: A new or reset connection needs to have an HL7 session established. If sequence numbering is used, the sequence numbers need to be negotiated. ■ Messaging: This is where the exchange of messages and ACKs takes place. ■ Shutdown: This is where any cleanup can happen before the connection is closed, or to close the connection.
About TCP/IP HL7 V2 Collaborations otdHL7_GENERIC_EVT_1, com.stc.SeeBeyond.OTD_Library.HL7.Generic.HL7_ACK.AC K otdHL7_ACK_1,com.stc.connectors.jms.JMS otdJMS_JOURNAL, com.stc.connectors.jms.JMS otdJMS_ERROR) throws Throwable Note – The above text has been wrapped to fit the page. Once the message is received, the Collaboration determines whether the message needs to be validated. The HL7 V2 message is then validated making sure that the message structure is correct.
About TCP/IP HL7 V2 Collaborations Collaboration gets triggered by a HL7 message received from a HL7 Client/Outbound/External; it then calls HL7 User Collaboration Rule by executing the receive() method Receive is the entry point to the HL7 User Collaboration; it has the following signature: receive (HL7eWay, JMS_DATA, GenericHL7OTD, HL7ACKOTD, JournalJMSSess, ErrorJMSSess) receive (...
About TCP/IP HL7 V2 Collaborations Inbound HL7 V2 Collaboration - Part 2 The Collaboration receives the HL7 V2 message from the external using receiveHL7message(). If an exception occurs due to incomplete data and the adapter fails to read the data within the configured number of retries, the associated recourse action is taken. If the exception is due to no response, the associated recourse action is taken.
About TCP/IP HL7 V2 Collaborations Continued receiveAndSend() Gets the HL7 Message from External and validates it and sends Ack/Nak receiveHL7Message() receives the HL7 Message from External Handle Max Failed Read Retry/Take Recourse Action YES Exception due to incomplete data? YES Handle No Response Error/ Take Recourse Action archiveError Message() Calls other helper methods to validate the HL7 message NO NO Handle Max NAK Sent condition/Take Recourse Action Exception occurred? sendHL7Nak()
About TCP/IP HL7 V2 Collaborations Inbound HL7 V2 Collaboration - Part 3 After the ACK is sent, the HL7 V2 message and the ACK are journaled to the JMS queue Journal destination. If the message fails to journal, the associated recourse action is taken. If sequence numbering is enabled, the processAckNakSequenceNumbering method calculates the next sequence number and stores the number in the sequence number file by calling the updateSequenceNumberFile method to persist the next sequence number.
About TCP/IP HL7 V2 Collaborations The following topics describe the business logic defined in the jcdHL7Outbound Collaboration: ■ ■ ■ ■ “Outbound HL7 V2 Collaboration - Part 1” on page 115 “Outbound HL7 V2 Collaboration - Part 2” on page 117 “Outbound HL7 V2 Collaboration - Part 3” on page 119 “HL7 V2 Outbound Test Collaboration” on page 119 Outbound HL7 V2 Collaboration - Part 1 The Collaboration is triggered by a JMS HL7 V2 message.
About TCP/IP HL7 V2 Collaborations Collaboration gets triggered by a JMS HL7 message; it then calls HL7 User Collaboration Rule by executing the receive() method Receive is the entry point to the HL7 User Collaboration; it has the following signature: receive (JMSMessage, HL7Eway, GenericHL7OTD, HL7ACKOTD, JournalJMSSess, ErrorJMSSess) receive (...
About TCP/IP HL7 V2 Collaborations Outbound HL7 V2 Collaboration - Part 2 The Collaboration receives the HL7 ACK or NAK from the external system using receiveHL7AckNak(). If an exception occurs due to incomplete data and the adapter fails to read the data within the configured number of retries, the associated recourse action is taken. If the exception is due to no response, the associated recourse action is taken.
About TCP/IP HL7 V2 Collaborations Continued receiveHL7AckNak() Get the HL7 ACK message from External Handle Max Failed Read Retry/Take Recourse Action YES Exception due to incomplete data? YES Exception occurred? NO NO isAckMessage() Validates message and determines if message is ACK or NAK Handle No Response Error/Take Recourse Action validateAckNak() Unmarshalls message to ACK OTD and do MSH/MSA data validations NO Can result in archiving the HL7 message/with NAK in ERROR Queue ACK message
About TCP/IP HL7 V2 Collaborations Outbound HL7 V2 Collaboration - Part 3 If the ACK message passes validation, the HL7 V2 message and ACK message are sent to the JMS journal destination. If the message fails to journal, the associated recourse action is taken. If sequence numbering is enabled, the processAckNakSequenceNumbering method calculates the next sequence number and stores the number in the sequence number file, calling updateSequenceNumberFile to persist the next sequence number.
About TCP/IP HL7 V3 Collaborations About TCP/IP HL7 V3 Collaborations The following topics provide a brief overview of HL7 V3, and describe the HL7 V3 Collaborations and provide instructions on copying and customizing the Collaborations: ■ ■ ■ ■ ■ ■ “About HL7 V3” on page 120 “TCP/IP HL7 V3 Adapter Projects Overview” on page 121 “TCP/IP HL7 V3 Adapter Collaborations” on page 121 “Inbound HL7 V3 Immediate Collaboration Overview” on page 122 “Inbound HL7 V3 Deferred Collaboration Overview” on page 127 “Outb
About TCP/IP HL7 V3 Collaborations The V3 standard also includes interactions, such as Create Patient Billing Account. There are three modes of Acknowledgement process in HL7 V3: ■ ■ ■ Immediate Mode Deferred Mode Queued Mode TCP/IP HL7 V3 Adapter Projects Overview Several HL7 V3 sample Projects are provided with the TCP/IP HL7 Adapter to illustrate different scenarios for connecting with external HL7 systems. You can download the sample Projects from the Downloads page of the Java CAPS Suite Installer.
About TCP/IP HL7 V3 Collaborations 1. 2. 3. 4.
About TCP/IP HL7 V3 Collaborations Note – The above text has been wrapped to fit the page.
About TCP/IP HL7 V3 Collaborations Collobration gets triggered by a hl7 v3 PRPA_IN403001UV01 message received from HL7 client,it then calls HL7 user colloboration rules by exceuting the receive method. Receive is the entry point to the HL7 user collaboration, it has the following signature.
About TCP/IP HL7 V3 Collaborations Version Code, Processing Code, Processing Mode Code, and Interaction ID. If these fields do not match the configuration, a NAK is returned. The Collaboration receives the HL7 V3 message from the external using receiveHL7Message(). If an exception occurs due to incomplete data, and the adapter fails to read the data within the configured number of retries, the associated recourse action is taken.
About TCP/IP HL7 V3 Collaborations Continued validateHL7Message() Validates V3 message and determines if it should send ACK/NAK HL7 V3 Message passed Validation? NO Calls other helper methoss to validate HL7 v3 message SendHL7NAK() Sends HL7 v3 (MCCI_IN000004UV01) immediate NAK message archive ErrorMessage() YES sendHL7ACK() Sends HL7 V3(MCCI_IN000004U V01) immediate ACK Message Calls other helper methods (makeACK())to make V3 ACK message and send it journalHL7 Message() Journal HL7 v3 Message?
About TCP/IP HL7 V3 Collaborations Inbound HL7 V3 Deferred Collaboration Overview The Inbound HL7 V3 Collaboration, jcdHL7V3DeferredInbound, contains Message Libraries for the HL7 V3 Resource Adapter, JMS Data, JMS Journal, JMS Error, and JMS APP ACK as well as the HL7 V3 Patient Administration Domain Interaction Event (PRPA_IN403001UV01) and the corresponding HL7 V3 Commit Acknowledgement (MCCI_IN000006UV01) and Application Acknowledgement (MCCI_IN000007UV01).
About TCP/IP HL7 V3 Collaborations otdHL7_ACK_1,com.stc.connectors.jms.JMS otdJMS_JOURNAL, com.stc.connectors.jms.JMS otdJMS_ERROR) throws Throwable. Note – The above text is wrapped to fit the page. Once the message is received, the Collaboration determines whether the message needs to be validated. The HL7 V3 message is then validated, making sure that the message structure is correct.
About TCP/IP HL7 V3 Collaborations Collobration gets triggered by a hl7 v3 PRPA_IN403001UV01 message received from HL7 client,it then calls HL7 user colloboration rules by exceuting the receive method. Receive is the entry point to the HL7 user collaboration, it has the following signature.
About TCP/IP HL7 V3 Collaborations HL7 V3 Standard Inbound Message Mode Data Flow (For Deferred Mode of ACK Process) — Part 2 The Collaboration receives the HL7 V3 message from the external using receiveHL7message(). If an exception occurs due to incomplete data, and the adapter fails to read the data within the configured number of retries, the associated recourse action is taken. If the exception is due to no response, the associated recourse action is taken.
About TCP/IP HL7 V3 Collaborations Continued receiveAndSend() Gets the HL7 v3 message from the external , validates it and sends ACK/NAK receiveHL7Message() receives the HL7 v3 message from the external Handle Max Failed read retry.Take recourse action YES Exception due to incomplete data YES Exception occurred? Calls other helper methods to validate message and sequence number NO validateHL7Message() Handle No reponse error.
About TCP/IP HL7 V3 Collaborations HL7 V3 Standard Inbound Message Mode Data Flow (For Deferred Mode of ACK Process) — Part 3 After the Commit ACK is sent and the Application ACK is stored in JMS, the HL7 V3 message and the ACKs are journaled to the JMS queue journal destination. If the message fails to journal the associated recourse action is taken.
About TCP/IP HL7 V3 Collaborations Continued HL7 V3 Message validation passed YES Validate Sequence numbering processSequenceNumbering() SendHL7NAK() Sends HL7 v3 (MCCI_IN000006UV01) commit NAK message if accept ack is required or send HL7 v3 Application NAK (MCCI_IN000007UV01) and insert expected seq number in the NAK archive ErrorMessage() Handle max Nak sent Condition/Take recourse action Is sequence Number enabled NO NO Is Correct expected sequence number YES Stores the expected sequence number
About TCP/IP HL7 V3 Collaborations corresponding HL7 V3 Acknowledgements. MCCI_IN000004UV01 for Immediate Mode and MCCI_IN000006UV01 for Deferred Mode. The Collaboration works with its own internal code and the Properties Configuration files. The outbound Collaboration assumes that it is reading valid HL7 V3 messages, so the data flow that feeds this Collaboration must ensure this. The Outbound Collaboration is for both immediate and deferred mode.
About TCP/IP HL7 V3 Collaborations Collaboration gets triggered by JMS HL7 message. It then calls HL7 user collaboration rule by executing the receive method. Receive is the entry point to the HL7 user collaboration, it has the following signature. receive (JMSMessage,HL7eway, otd_PRPA_IN403001UV01, otd_MCCI_IN000004UV01, otdMCCI_IN000006UV01_1, JournalJMSOTD, ErrorJMSOTD) receive(--) send HL7 message to external HL7 system and wait for HL7 ACK Handle validation error.
About TCP/IP HL7 V3 Collaborations HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode of ACK Process) — Part 2 In processMessage(), the message moves on to insertSequenceNumber(). If sequence numbering is enabled and is in Deferred Mode, the insertSequenceNumber method inserts the sequence number and call sendHL7Message().
About TCP/IP HL7 V3 Collaborations Continued Only if sequence numbering is enabled and ACK process is deferred Mode InsertSequenceNumber() insert the next sequence number in the hl7 v3 message sendHL7Message() send the hl7 v3 message to external using HL7eWays OTD receiveHL7AckNak() Get the HL7 Ack message form the external Exception Occurred YES NO isAckMessage() Validates message and determines if message is Ack or Nak If ack mode is immediate, Unmarshalls message to MCCI_IN000004UV01 Otd, or if i
About TCP/IP HL7 V3 Collaborations HL7 V3 Standard Outbound Message Mode Data Flow (For Immediate and Deferred Mode of ACK Process) — Part 3 If the message does not pass validation it is handled as a NAK, the associated recourse action is taken, and the message is archived in the error queue.
About TCP/IP HL7 V3 Collaborations Continued Ack Message passed validation? NO Handle Nak Condition.
MLLP V2 and the Sample Projects MLLP V2 and the Sample Projects Minimal Lower Layer Protocol Release 2 (MLLP V2.0) is a message transport protocol, and is required for all message transport protocols used to transport HL7 Version 3 content. This protocol wraps the HL7 message to indicate the beginning and end of each message. The following topics provide instruction on how to set up the MLLP database, and describe MLLP V2.0 and the MLLP V2.
MLLP V2 and the Sample Projects d. Click OK. The database appears in the list of databases on the Services window. 2 Make sure your database instance is running. 3 For Oracle, DB2, SQL Server, and Sybase databases, do the following: a. Copy the database driver file to JavaCAPS_Home/appserver/lib. b. Under Databases on the NetBeans Services window, right-click Drivers and then select New Driver. The New JDBC Driver dialog box appears. c. Click Add, and then brows to and select the database driver file.
MLLP V2 and the Sample Projects Note – A broken icon represents that the database is not connected. ▼ To Run the MLLP V2.0 Database Scripts You can either run the MLLP database scripts from NetBeans or from a SQL editor. The following steps take you through running the scripts from NetBeans. 142 1 On the NetBeans IDE, click the Projects tab. 2 Expand CAPS Components Library > Adapters > HL7 > Database Scripts. 3 Right-click db_platform_install.sql; for example, derby_install.sql. 4 Click Open.
MLLP V2 and the Sample Projects This opens the SQL Editor window along with the SQL Statement. CREATE TABLE HL7MESSAGELOG (MESSAGEID VARCHAR(250), APPLICATIONID VARCHAR(250) , REQUESTMESSAGE CLOB, RESPONSEMESSAGE CLOB, STATUS SMALLINT, CREATEDTIME TIMESTAMP, LASTUPDATEDTIME TIMESTAMP) 5 In the SQL Editor toolbar, click in the Connection field and select the database connection from the drop-down list. 6 In the toolbar, click Run SQL.
MLLP V2 and the Sample Projects 7 To view the new tables, return to the Services window, right-click the database connection, and then click Refresh. Expand the database connection and then Tables to view the database. ▼ To Create the Connection Pool and JDBC Resource In order to connect to the database, you need to define a JDBC connection pool and JDBC resource using the GlassFish Admin Console or the command-line interface. 1 Start the GlassFish server.
MLLP V2 and the Sample Projects acknowledgement message. The MLLP V2 acknowledgement protocol is synchronous: the source system will not send new HL7 content until an acknowledgement for the previous HL7 content has been received.
MLLP V2 and the Sample Projects In outbound mode, the message is sent to the sender and waits for the commit acknowledgement or negative acknowledgement from the receiver. If the adapter receives a negative acknowledgement, the message is sent again until the configured maximum number of retries is made.
MLLP V2 and the Sample Projects Collobration gets triggered by a hl7 message received from HL7 client,it then calls HL7 user colloboration rules by exceuting the receive method. Receive is the entry point to the HL7 user collaboration, it has the following signature.
MLLP V2 and the Sample Projects HL7 V2 Standard Inbound Message Mode Data Flow over MLLPV2 — Part 2 The Collaboration receives the HL7 V2 message from the external using receiveHL7message(). If an exception occurs due to incomplete data, and the adapter fails to read the data within the configured number of retries, the associated recourse action is taken. If the exception is due to no response, the associated recourse action is taken.
MLLP V2 and the Sample Projects HL7 V2 Standard Inbound Message Mode Data Flow over MLLPV2 — Part 3 If no exception occurs, validateHL7Message() is called, which validates the message to determine whether to ACK or NAK the message. Other helper methods are also called to validate the HL7 message. If the HL7 message does not pass validation, the Collaboration calls makeNak() and sendHL7Nak() to create and send the NAK to the external system. The HL7 message, with the NAK, is archived to the error queue.
MLLP V2 and the Sample Projects Continued Calls other helper methods to makeNAK and send it archiveError Message() StoreHL7NAK() Stores HL7 NAK in Persistence Database SendHL7NAK() Sends HL7 NAK NO HL7 Message passed Validation? YES SendHL7ACK() Sends HL7 ACK Handle max Nak sent Condition/Take recourse action This is to store the HL7 ACK in the persistence database agains the received HL7 message.