Thursday Oct 30, 2008

MLLP V2 support in HL7 Binding Component

We recently added MLLP Version 2 support in HL7 BC. I would like to share you the details of this support.

What is MLLP?


MLLP stands for Minimal Lower Layer protocol. It is a simple protocol
over TCP-ip. It is represented as : StartBlockChar -> Payload ->
EndBlockChar -> EndDataChar.

What is MLLP V2?


MLLP V2 provides reliability over MLLP transport. It provides
reliability by insisting on persistence of messages and by additional
ack/nak generation over MLLP. For every message received, the systems
should send a commit acknowledgement or negative acknowledgement. The
commit acknowledgement should be sent when the message is successfully
persisted otherwise a negative acknowledgement should be sent. This ack
/ nak is nothing but a single character enveloped within MLLP wrapper.
The MLLP V2 ack/nak will be of the form :


StartBlockChar -> AckChar/NakChar -> EndBlockChar ->EndDataChar.


The StartBlockCharacter is : 11. EndBlockCharacter is 28 End DataChar is 13.

 The characters used for Commit Acknowledgement in hex is 0x06 and negative acknowledgement is 0x15.


MLLP V2 in HL7 BC.



To Configure MLLP V2 in HL7 BC, just select the LLP Type as MLLPV2 in
ProtocolProperties extensibility element. The HL7 messages can be
persisted in a JDBC Datasource or in the HL7 BC's embedded Axion DB.
For storing the messages in JDBC Datasource, the user has to provide
the JNDI name of the JDBC datasource when the HL7 BC is installed. HL7
BC will create the required Tables for persisting the messages. All the
messages are stored in a table called HL7MessageLog. 

If the JNDI name is not found the embedded DB will be used by default.
The embedded Axion db is created in HL7 BC install location in
glassfish. That will be under
domains\\domain1\\jbi\\components\\sun-hl7-binding\\install_root\\axiondb.


Note: The HL7 messages are persisted only in the server side i.e Inbound mode. In outbound case the messages are not persisted.

Structure of HL7MessageLog table.


HL7MESSAGELOG


MESSAGEID VARCHAR(250) - A hash of the entire request message encoded in Byte 64 format.

APPLICATIONID VARCHAR(250) - The application name which stores the message. This will be service assembly name.

REQUESTMESSAGE CLOB - Entire HL7 request message

RESPONSEMESSAGE CLOB - HL7 Ack or HL7 NAK message

STATUS SMALLINT - Status of the message. 1 - Request message received, 2. HL7 ACK sent. 3 HL7 NACK sent

CREATEDTIME TIMESTAMP - Created time of the request message

LASTUPDATEDTIME TIMESTAMP - The time when the table was last updated.

About

vishblog

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today