What's New in the Sun TCP/IP HL7 Adapter

Chapter 1 What's New in the Sun TCP/IP HL7 Adapter

The following sections provide instructions on the most significant TCP/IP HL7 release to date For more information, visit the Java CAPS web site at http://goldstar.stc.com/support.

This chapter covers the following topics:

This chapter covers the following tasks:

What's New in This Release


Note –

Requires Java CAPS 6 Update 1


Please read this section for the latest updates and additions to the User's Guide available along the following location.

http://developers.sun.com/docs/javacaps/designing/jcapscommadapt.commadapt_tcpiphl7_c.html

The Sun TCP/IP HL7 Adapter includes the following new features:

  1. Schematron Support in HL7 Adapter.

  2. Dynamic Connection Support.

  3. HL7 External System Connection Status Monitoring.

  4. Monitoring Alert Code Type.

  5. Newly Added HL7 Version 2.6 OTD Library.

  6. Method to Execute the MLLP V2.0 Database scripts from GUI.

Schematron Support in HL7 Adapter

This topic helps users validate the Schematron configuration in HL7 adapter.

Schematron Overview

The Schematron uses the concept of finding tree patterns in the parsed document rather than the grammar. This approach allows representation of numerous structures that are inconvenient and difficult in grammar-based schema languages.

Example:

<?xml version="1.0" encoding="UTF-8"?><Person><Name>Eddie</Name><Gender>Male</Gender><Person>

The above example is an XML document. This xml document can be validated against the below schematron:

<?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">he element Person should have the child elements Name and Gender.<sch:assert><sch:assert test="*[1] = Name">The element Name must appear before elementGender.</sch:assert></sch:rule></sch:pattern></sch:schema>

In HL7 adapter, this schematron is useful for validating a HL7 V3 document against predefined schematron schemas. Users can write these schematron schemas. These can be obtained from organizations like NHS, HL7 org. For example, NHS provides few schematrons for CDA documents.

Schematron Configuration in HL7 Adapter

The schematron validation is configured from the Connectivity Map Properties dialog box.

There are two properties listed for Schematron support:

Schematron Properties
  1. Schematron Validation: Enabled or Disabled.

    This opens the Enable Schematron Validation LDAP Setting box. When Enabled the Schematron Configuration is performed.

    Provide the LDAP Reference value. Prefix ldap:// or ldaps:// when providing a LDAP reference.


    Note –

    This is not case sensitive.


    Enter LDAP Reference
  2. Schematron Files: Provide the list of schematron files. Use commas to separate multiple files.

    Enter Schematron Files

    Example, checkprofileid.xml

    Change the extension to .xml.

    Click OK.

  3. Click OK.

ProcedureTo Manage the Repository

Before You Begin

The below steps explains about Schematron support using a sample project prhHL7V3Inbound_WithSchematron.zip.


Note –

The sample project comes along with the HL7eWay.sar. This can be downloaded from the Downloads tab from the SAR uploader GUI.


  1. Upload the .sar files to the Repository and download sample project from the repository.


    Note –

    For detailed instructions, see Installing the TCP/IP HL7 Adapter and Sample Projects in Sun Adapter for TCP/IP HL7 Tutorial.

    Ensure the required HL7 V3 SAR files are uploaded to the repository.

    • HL7eWay.sar

    • HL7OTDLibrary.sar

    • HL7OTDLibraryGeneric.sar

    • HL7V32006PatientAdmin.sar

    • HL7V32006TransInfra.sar


  2. Click the Downloads tab on the Suite Uploader.

    Click on HL7 Adapter Inbound Collaboration Project for HL7V3 PRPA_IN403001UV01 With Schematron Validation Enabled and save prjHL7V3Inbound_WithSchematron.zip to a local directory.

API for Schematron Validation

There is a new API added in HL7 adapter for schematron validation. This API is a wrapper of the Open source XSLT based API available at http://xml.ascc.net/schematron/1.5. The API is an XSL file called metastylesheet (skeleton1-5.xsl) . Applying the metastylesheet to the schematron xml document generates another xsl file. This xsl file can be applied to the input xml document to validate, which produces the output xml document.

This metastylesheet can be extended and overridden so that you can customize the output xml document.

The output xml document contains details of all the validation failures. This document can be embedded inside the V3 acknowledgement and can be sent to the original sender.

Example,

A resultant xml document generated after invoking the api using the XML document and the schematron document mentioned in the overview section. The xml document will look as follows -


<?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>

Using the Schematron API

Use the methods mentioned below ton invoke the schematron API from the JCD. The following are discussed.

Obtaining the Factory Object

com.stc.connector.hl7.schematron.SchematronValidatorFactory factory = com.stc.connector.hl7.schematron.SchematronValidatorFactory.getSchematronValidatorFactory();

Obtaining the Validator Object

com.stc.connector.hl7.schematron.SchematronValidator validator = factory.getDefaultValidator( domSource );

domSource is the DOMSource object of the schematron XML.

Performing the Validation

com.stc.connector.hl7.schematron.ValidationOutput output = validator.validate( dataSrc );

dataSrc is a Source of the payload. The payload can be an entire V3 XML document or a CDA document.

The ValidationOutput object contains the resultant XML document as well as a method is Valid() which returns values when the validation has passed or failed.

Working With the Sample Project

This sample project receives a HL7 V3 message PRPA_IN403001UV01 and sends a HL7 V3 ACK or NAK (MCCI_IN000004UV01). This project is same as prjHL7V3Inbound except that the schematron validation for the input xml.

ProcedureTo Import the Sample Project

  1. Create CAPS Environment in the Services tab.

    See To Create a HL7 V3 External System for procedural description.

  2. Import the project file.

    For steps to import the sample Project ZIP file, see Importing the Sample TCP/IP HL7 Adapter Projects in Sun Adapter for TCP/IP HL7 Tutorial.

    In the current example, prjHL7V3Inbound_WithSchematron.

  3. Expand the tree node.

    The illustration is as shown.

    Display of Tree Node
    Note –

    The JAR file is bundled in the project.

    For example, checkprofileid.jar

    In the current example, the JAR file (checkprofileid.jar) is bundled along with the sample project file imported from Java CAPS Repository, prjHL7V3Inbound_WithSchematron.


ProcedureTo Check Out... the Project

  1. Select prjHL7V3Inbound_WithSchematron —> cmHl7V3Inbound.

    SeeChecking Out the Imported Projects in Sun Adapter for TCP/IP HL7 Tutorial for steps to check out project components.

  2. Double-click cmHL7V3Inbound.

    The action displays the screen shown below.

    Select Schematron Validation
  3. Double-click on the node found between eaHL7V3Inbound and jcdHL7V3Inbound1.

    This action opens the properties screen for the Schematron.

    Schematron Validation Properties
  4. Click the ellipses (...) to modify the Properties.

    1. Schematron Validation: Enable

    2. Schematron Files: Provide a list of Schematron files. Use comma to separate multiple files.

Editing the JCD

The JCD is edited as described in the steps below.

ProcedureTo Invoke the Collaboration Editor

  1. Select the node jcdHL7V3Inbound and double-click on it.

    jcdHL7V3_Inbound

    This action invokes the Collaboration Editor and displays the Java source.

    Collaboration Editor

Schematron Validation Inside the JCD

The schematron validation API is invoked from the JCD. This validation follows the normal HL7 V3 validation. It is invoked only when the Enable Schematron Validation property is true. This validation scans the schematronfiles list and invokes the method validateWithSchematron() depending on the value set forth for the property.

Validating the Code Snippet


boolean validated = validateHL7Message( HL7message );
java.util.ArrayList outputList = new java.util.ArrayList();
if (validated) {
boolean schematronValidationEnabled =
input.getHL7v3MessageInfo().getSchematronValidationInfo().
isSchematronValidationEnabled();
log( LOG_LEVEL_INFO, "SchematronEnabled = " + schematronValidationEnabled );
if (schematronValidationEnabled) {
String[] schFiles =
input.getHL7v3MessageInfo().getSchematronValidationInfo().getSchematronFilesList();
log( LOG_LEVEL_INFO, "schFilesList  = " + schFiles );
for (int i = 0; i < schFiles.length; i++) {
log( LOG_LEVEL_INFO, "Adding schematron file for validation  = " + schFiles[i] );
com.stc.connector.hl7.schematron.ValidationOutput output =
validateWithSchematron( "/" + schFiles[i], HL7message );
outputList.add( output );
}

for (int i = 0; i < outputList.size(); i++) {
com.stc.connector.hl7.schematron.ValidationOutput output =
(com.stc.connector.hl7.schematron.ValidationOutput) outputList.get( i );
if (!output.isValid()) {
validated = false;
schematronValidationError = true;
log( LOG_LEVEL_INFO, "Schematron Validation failed." );
break;
} else {
validated = true;
}
}

The illustrations are as shown.

Figure1 Inside the JCDFigure2 Inside the JCD

Validating With Schematron Method

The Schematron method invokes the Schematron API. It reads the schematron files from classpath and constructs a DOM source. The DOM source passes it to obtain the SchematronValidator object. The object invokes the validate() method to pass the hl7payload.

validateWithSchematron() method


private com.stc.connector.hl7.schematron.
ValidationOutput validateWithSchematron( String
 schematronFile, byte[] hl7payload )
throws Exception
{
com.stc.connector.hl7.schematron.SchematronValidatorFactory 
factory =
com.stc.connector.hl7.schematron.SchematronValidatorFactory.
getSchematronValidatorFactory();
log( LOG_LEVEL_INFO, "Schematron URI :" +
this.getClass().getResource( schematronFile ).toString() );
java.io.InputStream in = this.getClass().
getResourceAsStream( schematronFile );
java.io.BufferedReader bufReader = new java.io.
BufferedReader( new
java.io.InputStreamReader( in ) );
StringBuffer schematronXml = new StringBuffer();
String line = bufReader.readLine();
while (line != null) {
schematronXml.append( line );
line = bufReader.readLine();
}

bufReader.close();

javax.xml.parsers.DocumentBuilderFactory 
domBuilderFactory =
javax.xml.parsers.DocumentBuilderFactory.
newInstance();
domBuilderFactory.setNamespaceAware( true );
org.w3c.dom.Document doc = domBuilderFactory.
newDocumentBuilder().parse( new
org.xml.sax.InputSource( new java.io.ByteArrayInputStream
( schematronXml.toString().getBytes() ) ) );
javax.xml.transform.dom.DOMSource domSource = new
javax.xml.transform.dom.DOMSource( doc.
getDocumentElement() );
com.stc.connector.hl7.schematron.SchematronValidator 
validator =
factory.getDefaultValidator( domSource );
javax.xml.transform.stream.StreamSource dataSrc = new javax.xml.
transform.stream.StreamSource(
new java.io.ByteArrayInputStream( hl7payload ) );
com.stc.connector.hl7.schematron.ValidationOutput output = 
validator.validate( dataSrc );
return output;
}

The illustrations are as shown.

Validate With SchematronFigure2 Validate With Schematron

Retrieving the Resultant XML Document

The makeNAK() method retrieves the Resultant XML document generated from the Schematron validation. The XML document is embedded in the AcknowledgementDetail section of HL7V3 Acknowledgement XML.

makeNAK() method


if (schematronValidationError) {
log( LOG_LEVEL_INFO, "Schematron validationOutputList.size=" 
+ validationOutputList.size()
);
or (int i = 0; i < validationOutputList.size(); i++) {
// otd_MCCI_IN000004UV01_1.getAcknowledgement(0).
addAcknowledgementDetail();
com.stc.connector.hl7.schematron.ValidationOutput output =
(com.stc.connector.hl7.schematron.ValidationOutput) 
validationOutputList.get( i );
String outputStr = output.getOutputAsString();
otd_MCCI_IN000004UV01_1.getAcknowledgement( 0 ).
getAcknowledgementDetail( i ).getTypeCode().setCode( "E" );
otd_MCCI_IN000004UV01_1.getAcknowledgement( 0 ).
getAcknowledgementDetail( i ).getCode().setCode
( "Validation Failure: Schematron Validation Failed" );
otd_MCCI_IN000004UV01_1.getAcknowledgement( 0 ).
getAcknowledgementDetail( i ).getText().setMediaType( "text/xml" );
otd_MCCI_IN000004UV01_1.getAcknowledgement( 0 ).
getAcknowledgementDetail( i ).getText().setX__PCDATA__MX( outputStr );
log( LOG_LEVEL_INFO, "Schematron Validation Output = " 
+ outputStr );
}
}
Properties of makeNAK

Sample Schematron

<?xml version="1.0" encoding="UTF-8"?><sch:schema xmlns:sch="http://www.ascc.net/xml/schematron"><sch:ns prefix="hl7v3" uri="urn:hl7-org:v3"/><sch:pattern name="Check structure"><sch:rule context="hl7v3:PRPA_IN403001UV01"><sch:assert test="count(hl7v3:profileId) = 1">The profileId should be present. It is missing.</sch:assert></sch:rule></sch:pattern></sch:schema>

This schematron checks for the presence of the <profileId> tag under PRPA_IN403001UV01 tag.

Sample Input Document

<PRPA_IN403001UV01 xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 PRPA_IN403001UV01.xsd"><id root="1.1.2.3.4.6" extension="5929" assigningAuthorityName="Litware Inc."/><creationTime value="20050303180027"/><versionCode code="V3PR1"/><interactionId root="1.1.6.7.8" extension="PRPA_IN403001UV01" assigningAuthorityName="HL7"/><profileId root="1.1.1.1"/><processingCode code="D"/><processingModeCode code="T"/><acceptAckCode code="AL"/>.........

ProcedureTo Import a Schematron XML and Using it Inside the JCD

This is for users who want to create the checkprofileid.jar.

  1. Create a JAR file containing the Schematron XML.

  2. Import the ZIP file from File —> Import.

  3. Open the JCD Editor and click Add JAR.

    This will add the JAR file to the JCD.

    Tree Structure

ProcedureTo Create a HL7 V3 External System

  1. Click the CAPS Environment from the Services tab.

  2. Right-click and select New Environment.

    A new environment is created and is added to the CAPS Environment tree.

  3. Rename the new environment to envHL7V3Outbound or retain the default name.

  4. Right-click envHL7V3Outbound or Environment1 and select New. Choose LogicalHost from the drop-down menu.

    It takes few seconds to process the LogicalHost into the Environment.

    1. Right-click LogicalHost1 and select New. Choose Sun Java System Application Server from the drop-down menu.

      A new Application Server (SunJavaSystemApplicationServer1) is added to the Environment Explorer tree under LogicalHost1.

    2. Right-click LogicalHost1 and select New. Choose Sun JMS IQ Manager from the drop-down menu.

      A new JMS IQ Manager (SunJmsIQMgr1) is added to the Environment Explorer tree under LogicalHost1.

  5. Right-click envHL7V3Outbound or Environment1 and select New. Choose File External System.

    1. Enter the Name for the External System as esFile.

    2. Click OK.

    A new node esFile is added to the Environment Editor.

  6. Right-click envHL7V3Outbound or Environment1 and select New. Choose HL7V3 External System.

    HL7V3 External System
    1. Enter the Name for the External System as esHL7V3.

    2. Click OK.

    A new node esHL7V3 is added to the Environment Editor.

  7. Click envHL7V3Outbound or Environment1 on the right pane to view the complete structure of the new nodes.

  8. Click on File menu and select Save All to save all the changes made to the environment.

ProcedureTo Import a Schematron XML Into the Project

  1. Create a Deployment Profile.

    See Building and Deploying the Sample Project in Sun Adapter for TCP/IP HL7 Tutorial for steps on creating a deployment profile.


    Note –

    Make sure that the selected Environment: is envHL7V3Outbound and the selected Connectivity Map: is cmHL7V3Inbound.


    The illustration is as shown.

    Deployment Profile
  2. Click OK.

  3. Click Automap.

    Automap Properties

    This displays the Automap Results dialog box.

    Automap Results
  4. Click Close.

  5. Click Save All.

  6. Click the Build button.

    See Building and Deploying the Sample Project in Sun Adapter for TCP/IP HL7 Tutorial for steps on building the project.

    This action displays the Project build confirmation message.

    Build Successful
  7. Click OK.

  8. Click the Deploy button.


    Tip –

    Make sure the GlassFish server is started before deploying.


Executing a Sample Project

The steps describe the method to build and deploy the compressed (.zip) project files, prjHL7V3Inbound_WithSchematron.zip and prjHL7V3Outbound.zip.

ProcedureTo Build and Deploy the Project ZIP Files

  1. Upload the latest HL7eWay.sar from the Java Composite Application Platform Suite Uploader.

  2. Install the new NBMs into the NetBeans IDE from the CAPS Repository.

  3. Import the project prjHL7V3Inbound_WithSchematron.zip and prjHL7V3Outbound.zip.

    Follow the steps described in Schematron Validation Inside the JCD.

  4. Create the Deployment Profiles.

  5. Build and Deploy both the projects.

  6. Use the sample HL7V3 message to trigger the project. Use Copy and Paste. Copy the file into C:\temp. Name the file as PRPA_IN403001UV01.xml:


    Note –

    Copy and Paste the content to Notepad File and name the file as PRPA_IN403001UV01.xml. Ensure to change the extension from TXT to XML.


    Sample XML File

    <?xml version="1.0" encoding="UTF-8"?><PRPA_IN403001UV01 xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 PRPA_IN403001UV01.xsd"><id root="1.1.2.3.4.6" extension="5929" assigningAuthorityName="Litware Inc."/><creationTime value="20050303180027"/><versionCode code="V3PR1"/><interactionId root="1.1.6.7.8" extension="PRPA_IN403001UV01" assigningAuthorityName="HL7"/><!--profileId root="1.1.1.1"/--><processingCode code="D"/><processingModeCode code="T"/><acceptAckCode code="AL"/><receiver typeCode="RCV"><device classCode="DEV" determinerCode="INSTANCE"><id root="1.4.7.8.3"/></device></receiver><sender typeCode="SND"><device classCode="DEV" determinerCode="INSTANCE"><id root="1.45.6.7.98"/></device></sender><controlActProcess classCode="CACT" moodCode="EVN"><subject typeCode="SUBJ" contextConductionInd="false"><encounterEvent classCode="ENC" moodCode="EVN"><id root="1.56.3.4.7.5" extension="122345" assigningAuthorityName="Maple Hospital Emergency"/><code code="EMER" codeSystem="2.16.840.1.113883.5.4"/><statusCode code="active"/><subject contextControlCode="OP"><patient classCode="PAT"><id root="1.56.3.4.7.9" extension="55321" assigningAuthorityName="Maple Hospital Patients"/><patientPerson classCode="PSN" determinerCode="INSTANCE"><name><given>Rob</given><given>P</given><family>Young</family></name><administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/><birthTime value="19800309"/></patientPerson></patient></subject></encounterEvent></subject></controlActProcess></PRPA_IN403001UV01>

    Properties of XMLCode

    The logical processing is as follows:

    1. Place the .xml file in C:\temp.

    2. Open the server log file and check the results at the following location:

      Drivename:\JavaCAPS6U1\appserver\domains\domian1\logs

      This action displays the following message.


      Schematron Validation Failed

Monitoring HL7 External System Connection Status : Inbound Mode

This feature describes monitoring the external system connection status from the Enterprise Manager GUI when the HL7 Adapter is deployed in an inbound mode.

Enterprise Manager No Connection

Managing the Repository

This section explains the method to manage the Repository.

ProcedureTo Download EMR Files from Java Composite Application Platform Suite

  1. Enter the Host Address http://localhost:portnumber

    The default portnumber is 12000.

  2. Enter the User Name and Password.

    The default User Name is Administrator and Password is STC.

  3. Click Downloads tab and select the following from the list.

    1. eWays Base Enterprise Manager Plug-in

    2. HL7 eWay Enterprise Manager Plug-in

  4. Save the emr files to the local directory.


    Note –

    User can also locate the emr files from the local directory, if these are installed during Java CAPS installation.

    Follow the path to pick the already installed HL7eWay.emr from the local directory,

    Drive:/JavaCAPSR6U1/repository/repository/data/files/InstallManager/HL7eWay/downloadables/com.stc.HL7eWay.emr

    The emr file is installed during Java CAPS installation.


ProcedureTo Upload EMR Files to Enterprise Manager

  1. Start the eManager from the following location: Drivename:/JavaCAPSR6U`/eManager/startserver.bat

    Double-click startserver.bat.

  2. Invoke any Web Browser and enter the URL to start the Java CAPS Enterprise Manager.

    http://localhost:port number

    For example, the port number is 15000

  3. Enter the User ID and Password.

    The default User ID is admin and default Password is adminadmin.

  4. Install the HL7eWay.emr from the Java CAPS Repository to the Enterprise Manager.

    1. Click Web Application Manager from Java CAPS Enterprise Manager —> Manage Applications.

    2. Click Browse to select the com.stc.HL7eWay.emr from the local directory.

      This file is downloaded from the Java Composite Application Platform Suite.

    3. Click Deploy.

    4. Click Web Application Manager.

      Enter all the required credentials like Host Name, User Name, and Password.

    5. Click Connect.

      The list of Management Applications available for installation from the Repository is displayed.

    6. Select eWays Base Enterprise Manager Plug-in and HL7 eWay Enterprise Manager Plug-in.


      Note –

      Ensure to select eWay Base Enterprise Manager Plug-in. If not installed the application generates an error message.


      Select an appropriate eWay Monitor Plug-in and check the version of the .sar file.

      EM Plugins Installed
    7. Click Install.

    See Using Enterprise Manager Management Application in Java CAPS for detailed procedures.

    This installs the eWay Base Enterprise Manager Plug-in and HL7eWay Enterprise Manager Plug-in from Java CAPS Repository to the Enterprise Manager.

Executing a Sample Project : Inbound Mode

Create a sample project to use the uploaded HL7eWay.sar

ProcedureTo Execute a Sample Project for the Inbound Mode

  1. Install HL7eWay.sar file to the Sun Java CAPS Repository.

    For steps, see Installing the TCP/IP HL7 Adapter and Sample Projects in Sun Adapter for TCP/IP HL7 Tutorial.

  2. Start the NetBeans IDE and use the NetBeans Plugins Manager to install the HL7 adapter nbms to NetBeans IDE.

  3. Re-start the Netbeans IDE and establish connection to the Sun Java CAPS Repository.

  4. Create a CAPS Environment for the prjHL7Inbound project.

    CAPS Environment Created
  5. Import the HL7 project prjHL7Inbound.zip that is bundled with HL7eWay.sar into NetBeans IDE

    prjHL7Inbound Project
  6. Create the Deployment Profile and select Check Out...

    The Check Out... option enables users to modify the created Deployment Profile for prjHL7Inbound.

    1. Enter the Deployment Profile Name and select the Environment from the drop-down menu.

    2. Select the check box to choose the Used Connectivity Map cmHL7Inbound.

    3. Click OK.

  7. Click the Automap button to map the created environment files.


    Note –

    Ensure to start the GlassFish V2 sever before deploying.


  8. Click Build to build the project.

    The following message is displayed after the build is successful.


    Project buld was successful (elapsed time: 120.562 seconds).
    Build and Deploy
  9. Click OK.

  10. Click Deploy button to deploy the project onto GlassFish V2 Application Server from the NetBeans IDE.

    This action displays the following message.


    Project deployment successful (elaspsed time: 49 seconds).
  11. Open a Web Browser and login to the Enterprise Manager at the following path:

    http://localhost:portnumber

    The default portnumber is 15000.

  12. Expand the tree from the Explorer frame of the eManager GUI and select the prjHL7Inbound/Deployment1/cmHL7Inbound/eaHL7Inbound external system.

  13. Select the Monitor external Connection action of the tree from the eaHL7Inbound => jcdHL7inbound1 frame.

    This action displays the screen as shown below.

    Enterprise Maanger
  14. Start multiple HL7 external system and continue to send requests to the HL7 inbound project. Follow the Monitor External Connection link to observe the status of the external systems connection.

  15. Terminate one of the external systems and observe that the status information of the terminated system does not appear in the status table

  16. Execute the sample project using HL7 Simulator.

    Here, is a sample illustration.

    HL7 Simulator

Monitoring HL7 External System Connection Status : Outbound Mode

This feature is meant to monitor the connectivity status of external systems from the Enterprise Manager GUI when the HL7 Adapter is deployed in the outbound mode.

Enterprise Manager Connection Established

Code in Web.xml


<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>

Executing a Sample Project : Outbound Mode

Create a sample project to use the uploaded HL7eWay.sar

ProcedureTo Execute a Sample Project for the Outbound Mode

  1. Install HL7eWay.sar file to Sun Java CAPS Repository.

    For steps, see Sun Adapter for TCP/IP HL7 Tutorial.

  2. Start the NetBeans IDE. Use the NetBeans PlugIns Manager to install the HL7 adapter nbms to NetBeans IDE.

  3. Re-start the Netbeans IDE and establish connection to the Sun Java CAPS Repository.

  4. Create a CAPS Environment for the prjHL7Outbound project.

    CAPS Environment Created
  5. Import the sample HL7 project prjHL7Outbound.zip that is bundled with HL7eWay.sar into NetBeans IDE

    prjHL7Outbound
  6. Create Deployment Profile and select Check Out...

    The Check Out... option enables the user to modify the created Deployment Profile for prjHL7Outbound.

    1. Enter the Deployment Profile Name and select the Environment from the drop-down menu.

    2. Choose the Used Connectivity Map cmHL7Outbound by selecting the check box.

    3. Click OK.

  7. Click Automap button to map the created environment files.


    Note –

    Ensure to start the GlassFish V2 sever before deploying.


  8. Click Build to build the project.

    The following message indicates that the build was successful.


    Project buld was successful (elapsed time: 13.687 seconds).
    Automap, Build and Deploy
  9. Click OK.

  10. Click Deploy button to deploy the project onto GlassFish V2 Application Server from NetBeans IDE.

    The action displays the following message.


    Porject deployment successful (elaspsed time: 45 seconds).
  11. Repeat steps 11 through 17 of prjHL7Inbound. See Executing a Sample Project : Inbound Mode.

  12. Open a Web Browser and login to the Enterprise Manager at the following path:

    http://localhost:portnumber

    The default portnumber is 15000.

  13. Click Refresh Rate

    The illustration is as shown.

    Explorer Frame
  14. Expand the tree from the Explorer frame of the eManager GUI. Select the prjHL7Outbound/Deployment1/cmHL7Outbound/eaHL7Outbound external system.

  15. Select the Monitor external Connection action of the tree from the jcdHL7Outbound —> eaHL7Outbound frame.

    This triggers an executor thread that monitors the external system connection. The user observes the latest status in the GUI.

    The screen is displayed as shown.

    Enterprise Manager Monitor
  16. Click Stop Monitoring to exit the listening of TCPIP Server Monitor Task.

    The Monitoring Period is displayed in milliseconds.

  17. Execute the sample project using HL7 Listener.

    Here, is a sample illustration.

    HL7 Listener

Dynamic Connection Support

The Dynamic Connection Support feature is added to both TCPIP and HL7 Adapters.

Dynamic Connection support features the following.

  1. Users can provide the host and port details and dynamically connect to the external system.

  2. The following new methods are added.

    1. setHost(String ipaddress or hostname)

    2. setPort(int number)

    3. connect()

    4. connect(String host, int port)

    5. Close()

  3. An environment configuration property called Connection Mode is added.

    The value can be Automatic or Manual.

  4. The Dynamic Connection Support is available only if Connection Mode is Automatic.

    Default Value is Automatic

  5. An exception is generated if the methods setHost, setPort,connect() are invoked when the ConnectionMode is Automatic.

  6. If the connect() method is invoked without invoking setHost() and setPort(). The adapter uses the environment properties to connect to the host and port.

Code in JCD


TCPIPClient_1.connect( "localhost", 9999 );
// send handshake string
TCPIPClient_1.sendEnvelopedMsg( "Sun",getBytes() );
//receive handshake string
byte[] back = TCPIPClient_1.receiveEnvelopedMesg();
...
...
...
TCPIPClient_1.close();
TCPIPClient_1.connect( "129.158.239.67", 9999 );
// send handshake string
TCPIPClient_1.sendEnvelopedMesg( "Sun",getBytes() );
// receive handshake string
back = TCPIPClient_1.receiveEnvelopedMesg();
...
...
....
TCPIPClient_1.client();

Alert Type TCPIPBASE_SERVER_IDLE_TIMEOUT_EXPIRED

The HL7 adapter is enhanced to generate an alert when no messages are received from the HL7 client with in the configured idle time-out period (threshold).

ProcedureTo Execute a Sample Project for the Alert Code

  1. Install HL7eWay.sar file to Sun Java CAPS Repository.

  2. Start the NetBeans IDE and install the HL7 adapter nbms to NetBeans IDE.

  3. Re-start the NetBeans IDE and establish connection to the Sun Java CAPS Repository.

  4. Import the sample HL7 project prjHL7Inbound.zip that is bundled with HL7eWay.sar into NetBeans IDE.

    Alert Codes Connectivity Map
  5. Double-click on the node to invoke the Configuration Properties.

    Alert Code Property
  6. Click OK.

  7. Click prjHL7Inbound to build and deploy the project to the GlassFish Application Server.

  8. Send messages to HL7 inbound project continuously from HL7 External System.

  9. Start Java CAPS Enterprise Manager and install the HL7eWay emr from Java CAPS Repository to Enterprise Manager.

  10. Connect to GlassFish Application Server where the project is deployed from Enterprise Manager.

  11. Stop sending the message from HL7 External System.

    Since there were no messages received from the HL7 External System within the configured idletimeout period, HL7 adapter will generate an alert.

  12. Select the prjHL7Inbound/Deployment1/cmHL7Inbound/eaHL7Inbound external system from the explorer frame of the eManager GUI.

  13. Select the Alerts link from the tree. An alert of type TCPIPBASE_SERVER_IDLE_TIMEOUT_EXPIRED is displayed in alerts table from the eaHL7Inbound=>jcdHL7inbound1 frame.

See Also

Message Code: TCPIPBASE-SERVER-IDLE-TIMEOUT-EXPIRED000008

Description: No message received from the peer within in the specified idle timeout value <60000>. So the connection with the peer is being terminated.

HL7 Version 2.6 OTD Library

This topic provides a complete list of HL7 v2.6 OTD Library.

Table 1–1 HL7 Version 2.6 OTD Library

HL7 2.6 OTD 

HL7 Description 

HL7_26_ADT_A03 

ADT/ACK - Discharge/end visit 

HL7_26_SIU_S13 

SIU/ACK - Notification of appointment rescheduling 

HL7_26_QBP_Z81 

Dispense History 

HL7_26_OMN_O07 

OMN - Non-stock requisition order 

HL7_26_RRE_O26 

RRE - Pharmacy/Treatment Refill Authorization Acknowledgement 

HL7_26_ADT_A01 

ADT/ACK - Admit/visit notification 

HL7_26_QSX_J02 

QSX/ACK - Cancel subscription/acknowledge message 

HL7_26_SRM_S05 

SRM/SRR - Request appointment discontinuation 

HL7_26_EHC_E21 

Cancel Authorization Request 

HL7_26_RSP_K25 

RSP - Personnel Information by Segment Response 

HL7_26_DFT_P03 

DFT/ACK - Post detail financial transaction 

HL7_26_PEX_P07 

PEX - Unsolicited initial individual product experience report 

HL7_26_MDM_T03 

MDM/ACK - Document status change notification 

HL7_26_RQA_I09 

RQA/RPA - Request for modification to an authorization 

HL7_26_SRR_S08 

SRM/SRR - Request modification of service/resource on appointment 

HL7_26_ADT_A37 

ADT/ACK - Unlink patient information 

HL7_26_ADT_A52 

ADT/ACK - Cancel leave of absence for a patient 

HL7_26_ADT_A22 

ADT/ACK - Patient returns from a "leave of absence" 

HL7_26_SIU_S24 

SIU/ACK - Notification of opened ("unblocked") schedule time slot(s) 

HL7_26_MFK_M14 

MFN/MFK - Master file notification - site defined 

HL7_26_ADT_A12 

ADT/ACK - Cancel transfer 

HL7_26_RRD_O14 

RRD - Pharmacy/treatment dispense acknowledgment 

HL7_26_PMU_B02 

PMU/ACK - Update personnel record 

HL7_26_RSP_E03 

HealthCare Services Invoice Status 

HL7_26_QBP_E03 

HealthCare Services Invoice Status 

HL7_26_MFK_M05 

MFN/MFK - Patient location master file 

HL7_26_ADT_A42 

ADT/ACK - Merge visit - visit number 

HL7_26_RSP_Z82 

Dispense History (Response) 

HL7_26_RCL_I06 

RQC/RCL - Request/receipt of clinical data listing 

HL7_26_PEX_P08 

PEX - Unsolicited update individual product experience report 

HL7_26_ADT_A39 

ADT/ACK - Merge person - patient ID (for backward compatibility only) 

HL7_26_ADT_A55 

ADT/ACK - Cancel change attending doctor 

HL7_26_ADT_A38 

ADT/ACK - Cancel pre-admit 

HL7_26_OPU_R25 

OPU - Unsolicited Population/Location-Based Laboratory Observation Message 

HL7_26_SRM_S06 

SRM/SRR - Request appointment deletion 

HL7_26_ADT_A54 

ADT/ACK - Change attending doctor 

HL7_26_EAN_U09 

EAN/ACK - Automated equipment notification 

HL7_26_ADT_A06 

ADT/ACK - Change an outpatient to an inpatient 

HL7_26_SIU_S17 

SIU/ACK - Notification of appointment deletion 

HL7_26_ADT_A35 

ADT/ACK - Merge patient information - account number only (for backward compatibility 

HL7_26_ACK 

Version 2.6 HL7 Acknowledgment 

HL7_26_PMU_B08 

PMU/ACK - Revoke Certificate/Permission 

HL7_26_MFN_M11 

MFN/MFK - Test/calculated observations master file 

HL7_26_RDY_Z80 

Dispense Information (Response) 

HL7_26_QBP_Q15 

QBP - Query by parameter requesting an RDY display response 

HL7_26_SRR_S03 

SRM/SRR - Request appointment modification 

HL7_26_QRY_Q26 

ROR - Pharmacy/treatment order response 

HL7_26_QBP_Q24 

QBP - Allocate identifiers 

HL7_26_MFK_M10 

MFN/MFK - Test /observation batteries master file 

HL7_26_ADT_A46 

ADT/ACK - Change patient ID (for backward compatibility only) 

HL7_26_ADT_A45 

ADT/ACK - Move visit information - visit number 

HL7_26_OUL_R23 

OUL - Unsolicited Specimen Container Oriented Observation Message 

HL7_26_SRR_S10 

SRM/SRR - Request discontinuation of service/resource on appointment 

HL7_26_MFN_M01 

MFN/MFK - Master file not otherwise specified (for backward compatibility only) 

HL7_26_RQA_I10 

RQA/RPA - Request for re-submission of an authorization 

HL7_26_SCN_S37 

SCN/ACK - Notification of anti-microbial device cycle data 

HL7_26_QBP_E22 

Authorization Request Status 

HL7_26_MFK_M07 

MFN/MFK - Clinical study without phases but with schedules master file 

HL7_26_RTB_Z94 

Tabular Dispense History (Response) 

HL7_26_ADT_A48 

ADT/ACK - Change alternate patient ID (for backward compatibility only) 

HL7_26_MDM_T06 

MDM/ACK - Document addendum notification and content 

HL7_26_MDM_T10 

MDM/ACK - Document replacement notification and content 

HL7_26_NMQ_N01 

NMQ/NMR - Application management query message 

HL7_26_INR_U06 

INR/ACK - Automated equipment inventory request 

HL7_26_RSP_K22 

RSP - Find candidates response 

HL7_26_MDM_T09 

MDM/ACK - Document replacement notification 

HL7_26_RSP_K24 

RSP - Allocate identifiers response 

HL7_26_SRM_S04 

SRM/SRR - Request appointment cancellation 

HL7_26_PMU_B03 

PMU/ACK - Delete personnel re cord 

HL7_26_ADT_A23 

ADT/ACK - Delete a patient record 

HL7_26_MFN_M05 

MFN/MFK - Patient location master file 

HL7_26_RTB_Z92 

Who Am I (Response) 

HL7_26_ADT_A30 

ADT/ACK - Merge person information (for backward compatibility only) 

HL7_26_CSU_C11 

CSU - Patient completes a phase of the clinical trial 

HL7_26_TCR_U11 

TCR/ACK - Automated equipment test code settings request 

HL7_26_ADT_A04 

ADT/ACK - Register a patient 

HL7_26_ADT_A26 

ADT/ACK - Cancel pending transfer 

HL7_26_ACK_var 

null 

HL7_26_ORU_R01 

ORU/ACK - Unsolicited transmission of an observation message 

HL7_26_OMI_O23 

OMI - Imaging order 

HL7_26_MFK_M17 

DRG Master File Message 

HL7_26_OML_O33 

OML - Laboratory order for multiple orders related to a single specimen 

HL7_26_PMU_B04 

PMU/ACK - Active practicing person 

HL7_26_CRM_C02 

CRM - Cancel a patient registration on clinical trial (for clerical mistakes only) 

HL7_26_RGR_RGR 

Pharmacy/Treatment Dose Information 

HL7_26_OMB_O27 

OMB - Blood product order 

HL7_26_RQP_I04 

RQD/RPI - Request for patient demographic data 

HL7_26_ADT_A15 

ADT/ACK - Pending transfer 

HL7_26_BAR_P01 

BAR/ACK - Add patient accounts 

HL7_26_CRM_C03 

CRM - Correct/update registration information 

HL7_26_ORL_O34 

ORL - Laboratory order response message to a multiple order related to single specification 

HL7_26_DFT_P11 

DFT/ACK - Post Detail Financial Transactions - New 

HL7_26_INU_U05 

INU/ACK - Automated equipment inventory update 

HL7_26_QBP_Z93 

Tabular Dispense History 

HL7_26_PPT_PCL 

PPT - PC/ pathway (goal-oriented) query response 

HL7_26_RSP_K31 

RSP - Dispense History Response 

HL7_26_RPL_I02 

RQI/RPL - Request/receipt of patient selection display list 

HL7_26_RSP_E22 

Authorization Request Status 

HL7_26_MFN_M02 

MFN/MFK - Master file - staff practitioner 

HL7_26_VXR_V03 

VXR - Vaccination record response 

HL7_26_RSP_Z86 

Pharmacy Information Comprehensive (Response) 

HL7_26_RTB_Z76 

Tabular Patient List (Response) 

HL7_26_RPA_I09 

RQA/RPA - Request for modification to an authorization 

HL7_26_ADT_A05 

ADT/ACK - Pre-admit a patient 

HL7_26_ADT_A53 

ADT/ACK - Cancel patient returns from a leave of absence 

HL7_26_SIU_S22 

SIU/ACK - Notification of deletion of service/resource on appointment 

HL7_26_RSP_Z88 

Dispense Information (Response) 

HL7_26_RTB_K13 

RTB - Tabular response in response to QBP^Q13 

HL7_26_MDM_T08 

MDM/ACK - Document edit notification and content 

HL7_26_BPS_O29 

BPS - Blood product dispense status 

HL7_26_MFK_M12 

MFN/MFK - Master file notification message 

HL7_26_ROR_ROR 

ROR - Pharmacy prescription order query response 

HL7_26_RDS_O13 

RDS - Pharmacy/treatment dispense 

HL7_26_EHC_E20 

Submit Authorization Request 

HL7_26_PIN_I07 

PIN/ACK - Unsolicited insurance information 

HL7_26_SIU_S18 

SIU/ACK - Notification of addition of service/resource on appointment 

HL7_26_ADT_A43 

ADT/ACK - Move patient information - patient identifier list 

HL7_26_ADT_A41 

ADT/ACK - Merge account - patient account number 

HL7_26_QBP_Q21 

QBP - Get person demographics 

HL7_26_ADT_A60 

ADT/ACK - Update allergy information 

HL7_26_MFK_M15 

MFN/MFK - Inventory item master file notification 

HL7_26_RAR_RAR 

Pharmacy/Treatment Administration Information 

HL7_26_OUL_R24 

OUL - Unsolicited Order Oriented Observation Message 

HL7_26_RPI_I04 

RQD/RPI - Request for patient demographic data 

HL7_26_ADT_A08 

ADT/ACK - Update patient information 

HL7_26_RSP_K21 

RSP - Get person demographics response 

HL7_26_MDM_T04 

MDM/ACK - Document status change notification and content 

HL7_26_EHC_E15 

Payment/Remittance Advice 

HL7_26_CRM_C05 

CRM - Patient enters phase of clinical trial 

HL7_26_EHC_E13 

Additional Information Response 

HL7_26_SRR_S07 

SRM/SRR - Request addition of service/resource on appointment 

HL7_26_RDE_O11 

RDE - Pharmacy/treatment encoded order 

HL7_26_MFK_M13 

MFN/MFK - Master file notification - general 

HL7_26_ORN_O08 

ORN - Non-stock requisition acknowledgment 

HL7_26_SSR_U04 

SSR/ACK - specimen status request 

HL7_26_ADT_A16 

ADT/ACK - Pending discharge 

HL7_26_OML_O21 

OML - Laboratory order 

HL7_26_MFN_M14 

MFN/MFK - Master file notification - site defined 

HL7_26_QBP_Q13 

QBP - Query by parameter requesting an RTB - tabular response 

HL7_26_OPR_O38 

OPR - Population/Location-Based Laboratory Order Acknowledgment Message 

HL7_26_MFN_M06 

MFN/MFK - Clinical study with phases and schedules master file 

HL7_26_ORI_O24 

ORI - Imaging order response message to any OMI 

HL7_26_ORU_R32 

ORU - Unsolicited Pre-Ordered Point-Of-Care Observation 

HL7_26_ADT_A34 

ADT/ACK - Merge patient information - patient ID only (for backward compatibility) 

HL7_26_VXU_V04 

VXU - Unsolicited vaccination record update 

HL7_26_RRA_O18 

RRA - Pharmacy/treatment administration acknowledgment 

HL7_26_BAR_P10 

BAR/ACK - Transmit Ambulatory Payment Classification (APC) 

HL7_26_EAC_U07 

EAC/ACK - Automated equipment command 

HL7_26_RRE_O12 

RRE - Pharmacy/treatment encoded order acknowledgment 

HL7_26_BRT_O32 

BRT - Blood product transfusion/disposition acknowledgment 

HL7_26_PMU_B07 

PMU/ACK - Grant Certificate/Permission 

HL7_26_SRR_S05 

SRM/SRR - Request appointment discontinuation 

HL7_26_RQA_I11 

RQA/RPA - Request for cancellation of an authorization 

HL7_26_QRY_Q29 

RER - Pharmacy/treatment encoded order information 

HL7_26_PRR_PC5 

PRR - PC/ problem response 

HL7_26_ADT_A50 

ADT/ACK - Change visit number 

HL7_26_RPR_I03 

RQI/RPR - Request/receipt of patient selection list 

HL7_26_EAR_U08 

EAR/ACK - Automated equipment response 

HL7_26_PPR_PC2 

PPR - PC/ problem update 

HL7_26_PMU_B05 

PMU/ACK - Deactivate practicing person 

HL7_26_RGV_O15 

RGV - Pharmacy/treatment given 

HL7_26_CSU_C12 

CSU - Update/correction of patient order/result information 

HL7_26_ORL_O36 

ORL - Laboratory order response message to a single container of a specimen OML 

HL7_26_CRM_C08 

CRM - Patient has gone off phase of clinical trial 

HL7_26_MFN_M13 

MFN/MFK - Master file notification - general 

HL7_26_ADT_A24 

ADT/ACK - Link patient information 

HL7_26_SLN_S35 

SLN/ACK - Notification of sterilization lot deletion 

HL7_26_ESR_U02 

ESR/ACK - Automated equipment status request 

HL7_26_MFK_M04 

MFN/MFK - Master files charge description 

HL7_26_RDE_O25 

RDE - Pharmacy/treatment refill authorization request 

HL7_26_RPA_I11 

RQA/RPA - Request for cancellation of an authorization 

HL7_26_RTB_Z78 

Tabular Patient List (Response) 

HL7_26_MFK_M08 

MFN/MFK - Test/observation (numeric) master file 

HL7_26_ORU_R30 

ORU - Unsolicited Point-Of-Care Observation Message Without Existing Order - Placed 

HL7_26_SRR_S04 

SRM/SRR - Request appointment cancellation 

HL7_26_SSU_U03 

SSU/ACK - Specimen status update 

HL7_26_SIU_S14 

SIU/ACK - Notification of appointment modification 

HL7_26_PGL_PC8 

PGL - PC/ goal delete 

HL7_26_VXX_V02 

VXX - Response to vaccination query returning multiple PID matches 

HL7_26_MFN_M04 

MFN/MFK - Master files charge description 

HL7_26_RSP_Znn 

null 

HL7_26_SIU_S15 

SIU/ACK - Notification of appointment cancellation 

HL7_26_PPP_PCB 

PPP - PC/ pathway (problem-oriented) add 

HL7_26_QBP_Z91 

Who Am I 

HL7_26_MDM_T11 

MDM/ACK - Document cancel notification 

HL7_26_OMS_O05 

OMS - Stock requisition order 

HL7_26_MFN_M10 

MFN/MFK - Test /observation batteries master file 

HL7_26_PPG_PCH 

PPG - PC/ pathway (goal-oriented) update 

HL7_26_QBP_Z97 

Dispense History 

HL7_26_NMD_N02 

NMD/ACK - Application management data message (unsolicited) 

HL7_26_SIU_S16 

SIU/ACK - Notification of appointment discontinuation 

HL7_26_QBP_Q25 

QBP - Personnel Information by Segment Query 

HL7_26_QBP_Z95 

Tabular Dispense History 

HL7_26_SRR_S11 

SRM/SRR - Request deletion of service/resource on appointment 

HL7_26_MFN_M08 

MFN/MFK - Test/observation (numeric) master file 

HL7_26_QRY_Q27 

RAR - Pharmacy/treatment administration information 

HL7_26_QBP_Znn 

null 

HL7_26_ADT_A14 

ADT/ACK - Pending admit 

HL7_26_MFK_M02 

MFN/MFK - Master file - staff practitioner 

HL7_26_MFN_M17 

DRG Master File Message 

HL7_26_MFK_M09 

MFN/MFK - Test/observation (categorical) master file 

HL7_26_LSU_U12 

LSU/ACK - Automated equipment log/service update 

HL7_26_QRY_Q28 

RDR - Pharmacy/treatment dispense information 

HL7_26_RSP_Z90 

Lab Results History (Response) 

HL7_26_CSU_C09 

CSU - Automated time intervals for reporting, like monthly 

HL7_26_BTS_O31 

BTS - Blood product transfusion/disposition 

HL7_26_RQI_I01 

RQI/RPI - Request for insurance information 

HL7_26_VXQ_V01 

VXQ - Query for vaccination record 

HL7_26_ADT_A40 

ADT/ACK - Merge patient - patient identifier list 

HL7_26_DOC_T12 

QRY/DOC - Document query 

HL7_26_BAR_P06 

BAR/ACK - End account 

HL7_26_EHC_E02 

Cancel HealthCare Services Invoice 

HL7_26_RQI_I03 

RQI/RPR - Request/receipt of patient selection list 

HL7_26_ADT_A13 

ADT/ACK - Cancel discharge/end visit 

HL7_26_STI_S30 

STI/STS - Request item 

HL7_26_OML_O35 

OML - Laboratory order for multiple orders related to a single container 

HL7_26_PGL_PC7 

PGL - PC/ goal update 

HL7_26_ESU_U01 

ESU/ACK - Automated equipment status update 

HL7_26_PPR_PC3 

PPR - PC/ problem delete 

HL7_26_RPA_I08 

RQA/RPA - Request for treatment authorization information 

HL7_26_QCN_J01 

QCN/ACK - Cancel query/acknowledge message 

HL7_26_SQR_S25 

SQM/SQR - Schedule query message and response 

HL7_26_SIU_S21 

SIU/ACK - Notification of discontinuation of service/resource on appointment 

HL7_26_ADT_A62 

ADT/ACK - Cancel change consulting doctor 

HL7_26_OUL_R22 

OUL - Unsolicited Specimen Oriented Observation Message 

HL7_26_SLR_S28 

SLR/SLS - Request new sterilization lot 

HL7_26_ADT_A18 

ADT/ACK - Merge patient information (for backward compatibility only) 

HL7_26_QBP_Z87 

Dispense Information 

HL7_26_ORU_R31 

ORU - Unsolicited New Point-Of-Care Observation Message - Search For An Order 

HL7_26_QBP_Z85 

Pharmacy Information Comprehensive 

HL7_26_SRM_S01 

SRM/SRR - Request new appointment booking 

HL7_26_SRM_S08 

SRM/SRR - Request modification of service/resource on appointment 

HL7_26_RTB_Z96 

Tabular Dispense History (Response) 

HL7_26_QRY_PCK 

QRY - PC/ pathway (goal-oriented) query 

HL7_26_SLR_S29 

SLR/SLS - Request Sterilization lot deletion 

HL7_26_RQA_I08 

RQA/RPA - Request for treatment authorization information 

HL7_26_OMP_O09 

OMP - Pharmacy/treatment order 

HL7_26_ORL_O22 

ORL - General laboratory order response message to any OML 

HL7_26_MFN_M15 

MFN/MFK - Inventory item master file notification 

HL7_26_SRM_S10 

SRM/SRR - Request discontinuation of service/resource on appointment 

HL7_26_PPP_PCC 

PPP - PC/ pathway (problem-oriented) update 

HL7_26_EHC_E01 

Submit HealthCare Services Invoice 

HL7_26_RQI_I02 

RQI/RPL - Request/receipt of patient selection display list 

HL7_26_CSU_C10 

CSU - Patient completes the clinical trial 

HL7_26_QBP_Z99 

Who Am I 

HL7_26_TCU_U10 

TCU/ACK - Automated equipment test code settings update 

HL7_26_RPA_I10 

RQA/RPA - Request for re-submission of an authorization 

HL7_26_PMU_B01 

PMU/ACK - Add personnel record 

HL7_26_RQC_I06 

RQC/RCL - Request/receipt of clinical data listing 

HL7_26_SRR_S09 

SRM/SRR - Request cancellation of service/resource on appointment 

HL7_26_QRY_T12 

QRY/DOC - Document query 

HL7_26_SDR_S31 

SDR/SDS - Request anti-microbial device data 

HL7_26_MFK_M06 

MFN/MFK - Clinical study with phases and schedules master file 

HL7_26_SRM_S02 

SRM/SRR - Request appointment rescheduling 

HL7_26_SQM_S25 

SQM/SQR - Schedule query message and response 

HL7_26_PPV_PCA 

PPV - PC/ goal response 

HL7_26_ADT_A27 

ADT/ACK - Cancel pending admit 

HL7_26_RRI_I12 

REF/RRI - Patient referral 

HL7_26_RDY_K15 

RDY - Display response in response to QBP^Q15 

HL7_26_ADT_A33 

ADT/ACK - Cancel patient departing - tracking 

HL7_26_RQC_I05 

RQC/RCI - Request for patient clinical information 

HL7_26_ADT_A51 

ADT/ACK - Change alternate visit ID 

HL7_26_STC_S33 

STC/ACK - Notification of sterilization configuration 

HL7_26_MDM_T01 

MDM/ACK - Original document notification 

HL7_26_QSB_Q16 

QSB - Create subscription 

HL7_26_BRP_O30 

BRP - Blood product dispense status acknowledgment 

HL7_26_LSR_U13 

LSR/ACK - Automated equipment log/service request 

HL7_26_CRM_C04 

CRM - Patient has gone off a clinical trial 

HL7_26_RDY_Z98 

Dispense History (Response) 

HL7_26_OMG_O19 

OMG - General clinical order 

HL7_26_ADT_A29 

ADT/ACK - Delete person information 

HL7_26_ADT_A32 

ADT/ACK - Cancel patient arriving - tracking 

HL7_26_QBP_Z73 

Information about Phone Calls 

HL7_26_PMU_B06 

PMU/ACK - Terminate practicing person 

HL7_26_MFN_M03 

MFN/MFK - Master file - test/observation (for backward compatibility only) 

HL7_26_ORM_O01 

ORM - Order message (also RDE, RDS, RGV, RAS) 

HL7_26_RTB_Z74 

Information about Phone Calls (Response) 

HL7_26_QRY_Q30 

RGR - Pharmacy/treatment dose information 

HL7_26_PGL_PC6 

PGL - PC/ goal add 

HL7_26_OMD_O03 

OMD - Diet order 

HL7_26_ADT_A17 

ADT/ACK - Swap patients 

HL7_26_BAR_P02 

BAR/ACK - Purge patient accounts 

HL7_26_MFK_M16 

MFN/MFK - Master File Notification Inventory Item Enhanced 

HL7_26_ADT_A28 

ADT/ACK - Add person information 

HL7_26_ADT_A02 

ADT/ACK - Transfer a patient 

HL7_26_MDM_T07 

MDM/ACK - Document edit notification 

HL7_26_ADT_A47 

ADT/ACK - Change patient identifier list 

HL7_26_QBP_Z75 

Tabular Patient List 

HL7_26_NMR_N01 

NMQ/NMR - Application management query message 

HL7_26_SRM_S11 

SRM/SRR - Request deletion of service/resource on appointment 

HL7_26_QBP_Z77 

Tabular Patient List 

HL7_26_SIU_S26 

SIU/ACK Notification that patient did not show up for schedule appointment 

HL7_26_MFK_M01 

MFN/MFK - Master file not otherwise specified (for backward compatibility only) 

HL7_26_ADT_A10 

ADT/ACK - Patient arriving - tracking 

HL7_26_PPG_PCG 

PPG - PC/ pathway (goal-oriented) add 

HL7_26_ADT_A44 

ADT/ACK - Move account information - patient account number 

HL7_26_QRY_PC4 

QRY - PC/ problem query 

HL7_26_SMD_S32 

SMD/SMS - Request anti-microbial device cycle data 

HL7_26_ADT_A11 

ADT/ACK - Cancel admit/visit notification 

HL7_26_ADT_A20 

ADT/ACK - Bed status update 

HL7_26_CRM_C06 

CRM - Cancel patient entering a phase (clerical mistake) 

HL7_26_SRR_S01 

SRM/SRR - Request new appointment booking 

HL7_26_ORP_O10 

ORP - Pharmacy/treatment order acknowledgment 

HL7_26_ORF_R04 

ORF - Response to query; transmission of requested observation 

HL7_26_QSB_Z83 

ORU Subscription 

HL7_26_RPI_I01 

RQI/RPI - Request for insurance information 

HL7_26_SIU_S19 

SIU/ACK - Notification of modification of service/resource on appointment 

HL7_26_ORS_O06 

ORS - Stock requisition acknowledgment 

HL7_26_QBP_Z79 

Dispense Information 

HL7_26_ADT_A25 

ADT/ACK - Cancel pending discharge 

HL7_26_MDM_T02 

MDM/ACK - Original document notification and content 

HL7_26_QVR_Q17 

QVR - Query for previous events 

HL7_26_RSP_K11 

RSP - Segment pattern response in response to QBP^Q11 

HL7_26_OPL_O37 

OPL - Population/Location-Based Laboratory Order Message 

HL7_26_QBP_Q31 

QBP Query Dispense history 

HL7_26_SIU_S20 

SIU/ACK - Notification of cancellation of service/resource on appointment 

HL7_26_MFK_M03 

MFN/MFK - Master file - test/observation (for backward compatibility only) 

HL7_26_QRY_PC9 

QRY - PC/ goal query 

HL7_26_SIU_S23 

SIU/ACK - Notification of blocked schedule time slot(s) 

HL7_26_PPP_PCD 

PPP - PC/ pathway (problem-oriented) delete 

HL7_26_PPR_PC1 

PPR - PC/ problem add 

HL7_26_QBP_Q23 

QBP - Get corresponding identifiers 

HL7_26_RRG_O16 

RRG - Pharmacy/treatment give acknowledgment 

HL7_26_RCI_I05 

RQC/RCI - Request for patient clinical information 

HL7_26_EHC_E04 

Re-Assess HealthCare Services Invoice Request 

HL7_26_ADR_A19 

QRY/ADR - Patient query 

HL7_26_SUR_P09 

SUR - Summary product experience report 

HL7_26_QBP_Q22 

QBP - Find candidates 

HL7_26_SRM_S03 

SRM/SRR - Request appointment modification 

HL7_26_CRM_C01 

CRM - Register a patient on a clinical trial 

HL7_26_MFK_M11 

MFN/MFK - Test/calculated observations master file 

HL7_26_SRR_S06 

SRM/SRR - Request appointment deletion 

HL7_26_ADT_A31 

ADT/ACK - Update person information 

HL7_26_QBP_Q11 

QBP - Query by parameter requesting an RSP segment pattern response 

HL7_26_CRM_C07 

CRM - Correct/update phase information 

HL7_26_ORB_O28 

ORB - Blood product order acknowledgment 

HL7_26_SRR_S02 

SRM/SRR - Request appointment rescheduling 

HL7_26_PPG_PCJ 

PPG - PC/ pathway (goal-oriented) delete 

HL7_26_ADT_A61 

ADT/ACK - Change consulting doctor 

HL7_26_SLN_S34 

SLN/ACK - Notification of sterilization lot 

HL7_26_OSR_Q06 

OSQ/OSR - Query for order status 

HL7_26_MFN_M09 

MFN/MFK - Test/observation (categorical) master file 

HL7_26_MDM_T05 

MDM/ACK - Document addendum notification 

HL7_26_OSQ_Q06 

OSQ/OSR - Query for order status 

HL7_26_ADT_A36 

ADT/ACK - Merge patient information - patient ID and account number (for backwards) 

HL7_26_MFN_M12 

MFN/MFK - Master file notification message 

HL7_26_RER_RER 

Pharmacy/Treatment Encoded Order Information 

HL7_26_SDN_S36 

SDN/ACK - Notification of anti-microbial device data 

HL7_26_PTR_PCF 

PTR - PC/ pathway (problem-oriented) query response 

HL7_26_QRY_R02 

QRY - Query for results of observation 

HL7_26_ORD_O04 

ORD - Diet order acknowledgment 

HL7_26_ORG_O20 

ORG/ORL - General clinical order response 

HL7_26_MFN_M07 

MFN/MFK - Clinical study without phases but with schedules master file 

HL7_26_RSP_K23 

RSP - Get corresponding identifiers response 

HL7_26_ADT_A09 

ADT/ACK - Patient departing - tracking 

HL7_26_EHC_E10 

Edit/Adjudication Results 

HL7_26_RAS_O17 

RAS - Pharmacy/treatment administration 

HL7_26_ADT_A49 

ADT/ACK - Change patient account number 

HL7_26_EHC_E24 

Authorization Response 

HL7_26_RSP_Z84 

Who Am I (Response) 

HL7_26_ADT_A07 

ADT/ACK - Change an inpatient to an outpatient 

HL7_26_OUL_R21 

OUL - Unsolicited laboratory observation 

HL7_26_QRY_PCE 

QRY - PC/ pathway (problem-oriented) query 

HL7_26_REF_I12 

REF/RRI - Patient referral 

HL7_26_SRM_S09 

SRM/SRR - Request cancellation of service/resource on appointment 

HL7_26_EHC_E12 

Request Additional Information 

HL7_26_SRM_S07 

SRM/SRR - Request addition of service/resource on appointment 

HL7_26_BAR_P05 

BAR/ACK - Update account 

HL7_26_SIU_S12 

SIU/ACK - Notification of new appointment booking 

HL7_26_BAR_P12 

BAR/ACK - Update Diagnosis/Procedure 

HL7_26_MFN_M16 

MFN/MFK - Master File Notification Inventory Item Enhanced 

HL7_26_QBP_Z89 

Lab Results History 

HL7_26_QRY_A19 

QRY/ADR - Patient query 

HL7_26_ORR_O02 

ORR - Order response (also RRE, RRD, RRG, RRA) 

HL7_26_ADT_A21 

ADT/ACK - Patient goes on a "leave of absence" 

Method to Execute the MLLP V2.0 Database Scripts From GUI

This topic describes the steps to execute the MLLP V2.0 Database Scripts from GUI. The Database is used when a user wants to use HL7eWay.sar with MLLP V2.0 transport scenarios.

Working With the Java DB (Derby) Database in NetBeans IDE

This topic demonstrates the method to set up a connection to Sun's Java Database (which is based on the Apache Derby database) in NetBeans IDE. Once a connection is established, the user begins to work with the database in the IDE.

ProcedureTo Connect to the Database

  1. Click the Services tab and expand the Databases node to connect to the Derby Database.

    Derby Database
    Note –

    A broken icon represents that the database is not connected.


  2. Right-click the database connection node (jdbc:derby://localhost:1527/sample [app on APP) and choose Connect.

    The connection is established successfully and is as shown in the figure.

    Derby Database Connected

ProcedureTo Execute the MLLP V2.0 DB Scripts From GUI

  1. Click the Projects tab.

  2. Expand and click CAPS Components Library.

  3. Select and expand Adapters.

  4. Select and expand HL7.

  5. Select and right-click derby_install.sql. from Database Scripts.

  6. Click Open.

    Derby Connection Tree

    This opens the derby_install.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) 
  7. Choose the Database Connection from the drop-down list.

  8. Click the Run button.

    Run Database SQL

    The following message is displayed.


    SQL statement(s) executed successfully.
    Execution Successful