JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS HL7 Binding Component User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

Oracle HL7 Binding Component User's Guide

About the HL7 Binding Component

The Health Level 7 Messaging Standard

The HL7 Binding Component

HL7 Binding Component as a Consumer

HL7 Binding Component as a Provider

HL7 Acknowledgements

Sequence Numbering

HL7 Binding Component Features

Using the HL7 Binding Component Wizard

Accessing the HL7 Binding Component Wizard

To Access the Wizard by Creating a New File

To Access the Wizard by Creating a New Binding

To Access the Wizard by Creating a New WSDL Document

Configuring the HL7 Binding Component in the Wizard

To Configure the HL7 Binding Component in the Wizard

Abstract WSDL Properties

General Settings

Endpoint properties

Encoding Details

LLP Details

MLLP Version 2 Properties (Outbound Only)

HL7 Version 2 Settings

HL7 Version 2 Properties

MSH Properties

Message Properties

Communication Controls

HL7 Binding WSDL Extensibility Elements

Adding HL7 Extensibility Attributes From the WSDL Editor

To add Service Level HL7 Extensibility Attributes

Service Level HL7 Extensibility Elements

HL7 address Element

HL7 protocolproperties Element

HL7 communicationcontrols Element

Binding Level HL7 Extensibility Elements

HL7 binding Element

HL7 operation Element

HL7 message Element

Dynamically Configuring HL7 Endpoints

Application Variables

Application Configurations

Dynamic Addressing Using Normalized Message Properties

Enabling Dynamic Endpoint Configuration

Using Normalized Message Properties in a BPEL Process

Using Predefined Normalized Message Properties in a BPEL Process

To Use Predefined Normalized Message Properties in a BPEL Process

Normalized Message Properties

General Normalized Message Properties

HL7 Binding Component Normalized Message Properties for Outbound Endpoints

HL7 Binding Component Normalized Message Properties for Inbound Endpoints

HL7 Binding Component Runtime Properties

Configuring the HL7 Binding Component Runtime Properties

To Edit HL7 Binding Component Runtime Properties

Defining an HL7 Binding Component Application Configuration

To Define the HL7 Application Configuration

Defining the Application Configuration Using Other Tools

Using Application Variables to Define Name/Value Pairs

Using Application Variables for Password Protection

Creating a Password Application Variable

Runtime Properties

Statistics Properties

Logger Properties

HL7 Binding Component Loggers

Using HL7 Quality of Service (QoS) Features

Quality of Service (QoS) Properties

Using Message Throttling

To Configure Throttling for an HL7 WSDL Port

Using Redelivery

HL7 Binding WSDL Extensibility Elements

WSDL, or Web Service Description Language, is an XML-based language used to define web services. The HL7 WSDL extensibility elements are used to construct HL7 messages by specifying the message parts, message formats, and other message related information used to properly map an HL7 message exchange. The HL7 WSDL elements also contain information that the HL7 Binding Component uses to establish connections and sessions with HL7 external systems. Various properties that affect the delivery of HL7 messages are included within the HL7 WSDL extensibility elements.

WSDL files are created using the WSDL Wizard and validated within the NetBeans IDE. The extensibility elements correspond to the properties you specify in the wizard. They are described here so you can add and modify them in the WSDL file directly.

For more information on how to use the WSDL Wizard to create and HL7 WSDL file see Using the HL7 Binding Component Wizard.

HL7 extensibility elements are divided into two sets of configuration elements:

The following sections describe the HL7 extensibility elements. The tables describe the attributes for each extensibility element and its child elements. For each attribute or element the table lists the name, description, whether the attribute or element applies to both provider or consumer (Common), whether it is required, and an example of its usage.

Adding HL7 Extensibility Attributes From the WSDL Editor

You can add HL7 extensibility elements from the wizard when you create the WSDL file. After the WSDL file is created, you can add extensibility attributes by entering the text directly or graphically in the WSDL Editor

To add Service Level HL7 Extensibility Attributes

  1. Open the HL7 Binding WSDL file in the WSDL Editor and expand the Services -> hl7wsdlService -> hl7wsdlPort nodes.
  2. If the type of element you want to add (address, protocolproperties, or communicationcontrols) does not appear in the list, right-click the hl7wsdlPort node, point to Add and then select the type of element to add.

    A new node is added under the hl7wsdlPort node.

  3. To add an address element, do the following:
    1. Right-click the hl7wsdlPort node, point to Add and then select HL7 Address.

      A new hl7:address element appears in the list.

    2. Right-click the new element and then select Properties.
    3. Configure the address extensibility attributes, and then click Close.

      For more information about these attributes, see HL7 address Element.

  4. To add a protocolproperties element, do the following:
    1. Right-click the hl7wsdlPort node, point to Add and then select HL7 Protocol Properties.

      A new hl7:protocolproperties element appears in the list.

    2. Right-click the new element and then select Properties.
    3. Configure the protocolproperties extensibility attributes, and then click Close.

      For more information about these attributes, see HL7 protocolproperties Element.

  5. To add communicationcontrol attributes, do the following:
    1. If the communicationcontrol element does not appear in the list, right-click the hl7wsdlPort node, point to Add and then select HL7 Communication Control.

      A new hl7:communcationcontrols element appears in the list.

    2. Right-click the hl7:communicationcontrols node and then select Add communicationcontrol.

      A new hl7:communicationcontrol is added under the hl7:communicationcontrols node.

    3. Right-click the new element and then select Properties.
    4. Configure the communcationcontrol extensibility attributes, and then click Close.

      Configure the following attribute properties. For more information about these attributes, see HL7 communicationcontrols Element.

      • name: Specifies the attribute.

      • value: Specifies the value associated with that attribute.

      • enabled: Specifies if the attribute is enabled.

      • recourseAction: Specifies the recourse action associated with the attribute.

        The recourse actions are:

        • Reset: Closes the connection with the HL7 external system and throws an alert.

        • Resend: Resends the last sent message to the HL7 external system.

        • Suspend: Closes the connection with the HL7 external system, suspends the endpoint from processing the messages, and throws an alert.

        • Skipmessage: Remains connected but writes the message to an error queue.

        • Error: Throws an Exception.

Service Level HL7 Extensibility Elements

The following tables list and describe the Service Level HL7 extensibility elements:

HL7 address Element

The HL7 address extensibility element specifies the information for connectivity to the HL7 external system.

Table 3 HL7 address Element Attributes

Name and Description
Required or Optional
Applies to Provider or Consumer
Example
location: Specifies the host and port used to connect to the HL7 external system.
Required
Common (both)
hl7://myhost:4040
transportProtocolName: Specifies the transport protocol used to transfer the message payload.
Required
Common (both)
tcp-ip

The following example illustrates the use of the HL7 address element defined for a service port.

   <service name="SomeService">
      <port name="port1" binding="tns:someBinding">
          <hl7:address location="hl7://localhost:4040"
                       transportProtocolName="tcp-ip"/>
      </port>
    </service>

HL7 protocolproperties Element

The HL7 protocolproperties extensibility element specifies the protocol specific information for connecting to the HL7 external system.

Table 4 HL7 protocolproperties Element Attributes

Name and Description
Required or Optional
Applies to Provider or Consumer
Example
acknowledgeMode: Indicates the acknowledge mode type: Original Mode or Enhanced Mode.
Optional
Common (both)
original
llpType: Indicates the Lower Layer Protocol Type. MLLPv1, MLLPv2, or HLLP.
Optional
Common (both)
MLLPv1
startBlockCharacter: Indicates the Start Block Character Value in a decimal ASCII number from 1 to 127. Unless there is a conflict, the value should be ASCII VT, which is decimal 11.
Optional
Common (both)
11
endDataCharacter: Indicates the End Data Character Value in decimal ASCII number from 1 to 127. Unless there is a conflict, the value should be ASCII VT, which is decimal 28.
Optional
Common (both)
28
endBlockCharacter: Indicates the End Block Character Value in decimal ASCII number from 1 to 127. To be strictly comply with the HL7 standard, this parameter must be set to a carriage Return, which is decimal 13.
Optional
Common (both)
13
hllpChecksumenabled: Specifies if HLLP CheckSum is enabled. “true” indicates enabled.
Optional
Common (both)
false
seqNumberEnabled: Specifies if sequence number protocol is enabled. “true” indicates enabled.
Optional
Common (both)
false
validateMSH: Specifies if the MSH segment in the HL7 message is validated against initiation rules. “true” indicates enabled.
Optional
Common (both)
false
processingID: Specifies the ProcessingID value against which the MSH-11-ProcessingID field in the received message is validated when validateMSH is set to “true”. Valid values are P (production), D (debugging), or T (training).
Optional
Common (both)
P
versionID: Specifies the versionID value against which MSH-12-VersionID field in the received message is validated when validateMSH is set to true. Valid values are 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1 or 2.6.
Required
Common (both)
2.3.1
fieldSeparator: Defines the Field Separator character value in a decimal ASCII number. This represents the separator between the segment ID and the first field, MSH-2-encoding characters. As such, it server as the separator and defines the character to be used as a separator for the rest of the message. The default setting is 124 which is the character "|". The allowed range is 1 to 127. This attribute value is used in creating the NAK for invalid HL7 messages.
Optional
Common (both)
124
encodingCharacters: Specifies the encoding characters to be used in creating the NAK for invalid HL7 messages. This attribute contains the four characters in the following order: the component separator, repetition separator, escape character, and subcomponent separator. Recommended values are ^~\& (that is, ASCII 94, 126, 92, and 38, respectively).
Optional
Common (both)
^~\&
sendingApplication: Specifies the MSH-03 Sending Application to be used in creating the NAK for invalid HL7 messages.
Optional
Common (both)
Java CAPS HL7 BC
sendingFacility: Specifies the MSH-04 Sending Facility to be used in creating the NAK for invalid HL7 messages.
Optional
Common (both)
Java CAPS HL7 BC
enabledSFT: Enables or disables SFT segment processing. “true” indicates enabled.
Optional
Common (both)
true
softwareVendorOrganization: Specifies HL7 segment SFT-01, the software vendor organization field. This identifies the vendor who is responsible for maintaining the application.
Optional
Common (both)
Oracle Corporation
softwareCertifiedVersionOr ReleaseNumber: Specifies HL7 segment SFT-02, the software certified version or release number. This is the current version or release number of the sending application.
Optional
Common (both)
6.3
softwareProductName: Specifies HL7 segment SFT-03, the name of the software product that submitted the transaction. The product name is a key component in identifying the sending application.
Optional
Common (both)
Java CAPS HL7 Binding Component
softwareBinaryID: Specifies HL7 segment SFT-04, the software binary ID. This property is available for HL7 version 2.5 and above. Software binary IDs are issued by a vendor for each unique software version instance. Binary IDs are used to differentiate between differing versions of the same software. Identical primary IDs indicate that the software is identical at the binary level, but configuration settings may differ.
Optional
Common (both)
2.0
softwareProductInformation: Specifies HL7 segment SFT-05, software product identification information. This can include a description of the software application, configuration settings, and software modifications.
Optional
Common (both)
Binding Component for HL7 over TCP/IP connection
softwareInstallDate: Specifies HL7 segment SFT-06, the software install date. This is the date on which the submitting software was installed at the sending site. Format as follows: YYYYMMDDHHSS.
Optional
Common (both)
200909141020
journalingEnabled: Enables or disables journaling. If enabled, it stores the HL7 messages and respective ACK in the flat file database. “true” indicates enabled.
Optional
Common (both)
true

The following example illustrates the use of the HL7 protocolproperties element.

  <hl7:protocolproperties acknowledgmentMode="original"
  llpType="MLLPv1"
  startBlockCharacter="11"
  endDataCharacter="28"
  endBlockCharacter="13"
  hllpChecksumEnabled="false"
  seqNumEnabled="false"
  processingID="P"
  versionID="2.3.1"
  validateMSH="false"
  sendingApplication="Java CAPS HL7 BC"
  sendingFacility="Java CAPS HL7 BC"
  enabledSFT="false"
  softwareVendorOrganization="Oracle Corporation"
  softwareCertifiedVersionOrReleaseNumber="6.3"
  softwareProductName="HL7 Binding Component"
  softwareBinaryID="6.3"
  softwareProductInformation="It is a binding component for HL7 over TCP/IP connection"
  journallingEnabled="false"
  mllpv2RetriesCountOnNak="0"
  mllpv2RetryInterval="0"
  mllpv2TimeToWaitForAckNak="0"
  encodingCharacters="^~&amp;"
  softwareInstallDate=""
  fieldSeparator="124"/> 

HL7 communicationcontrols Element

HL7 Communication controls and recourse actions together control the data transfer over a TCP/IP connection. The configuration of these elements is defined inside the HL7 communicationcontrol extensibility element. These attributes help to establish Quality of Service (QoS) between HL7 external systems and HL7 endpoints.

The HL7 communication control attributes can be added to an endpoint from the WSDL Editor or from the Communication Controls. The HL7 communicationcontrol attributes differ for inbound or outbound endpoints.

Table 5 HL7 communicationcontrol Element Attributes

Name and Description
Inbound or Outbound
Recourse Action
MAX_NAK_SENT: Specifies the maximum number of NAKs, the binding component sends to the client before executing the recourse action. A negative acknowledgment is sent from the HL7 inbound endpoint when the received message from client is invalid. An invalid message, according to the HL7 specification, is one that fails MSH segment validation or has an invalid sequence number.
Inbound
Suspend and Reset.
MAX_CANNED_NAK_SENT: Specifies the maximum number of canned NAKs, the binding component sends to the client before executing the configured recourse action. This communication control deals with the case where the message received from client is invalid as per the HL7 specification rules for that particular message.
Inbound
Suspend and Reset.
MAX_CONNECT_RETRIES: Specifies the maximum number of connection retires the binding component will attempt before executing the recourse action.

The value is presented in the format: n1;n2,n1;n2,..., where n1 is the number of retry attempts to connect, and n2 is the interval (in seconds) between retry attempts. If the value of n1 is –1, it indicates that the number of retry attempts is indefinite.

Outbound
Suspend and Error.
TIME_TO_WAIT_FOR_A_RESPONSE: Specifies the amount of time (in seconds) that the binding component waits for a response from the external system before executing the configured recourse action.
Outbound
Resend, Reset, and Suspend.
MAX_NO_RESPONSE: Specifies the maximum number of timeouts the binding component allows, while waiting for the response from external HL7 system, before executing the configured recourse action.

This Communication Control is used in relationship with TIME_TO_WAIT_FOR_A_RESPONSE. The binding component resends the last sent message for each timeout until the configured maximum number of timeouts is exceeded.

Outbound
Suspend and Reset.
MAX_RECEIVED: Specifies which recourse action the binding component will implement upon receiving a NAK from external system. There is no set value for this property other than enable and the selected recourse action.
Outbound
Resend, Reset, and Skipmessage.
MAX_NAK_RECEIVED: Specifies the maximum number of NAKs (negative acknowledgments) that the binding component accepts before it executes the configured recourse action.
Outbound
Suspend, Reset, and Skipmessage.

Binding Level HL7 Extensibility Elements

The HL7 extensibility elements used to bind abstract WSDL messages to HL7 messages fall into three element types. Each type signifies how the binding occurs. At the binding level, the configuration applies to the entire port type. At the operation level, the configuration applies only to the operation. At the message level, the configuration applies to that particular message, whether it's input or output.

HL7 binding Element

The HL7 binding extensibility element specifies a binding that is of interest to the HL7 Binding Component. It is essentially an empty element that serves as a marker, allowing the HL7 Binding Component to gather HL7 "binding" information described by the other HL7 extensibility elements. The HL7 binding extensibility element must be specified in the WSDL to define an HL7 protocol based binding.

The following example demonstrates how the HL7 binding extensibility element is used to associate a binding with a specific HL7 protocol.

<binding name="someBinding" type="tns:somePortType">
        <hl7:binding/>
    </binding>

HL7 operation Element

The HL7 operation extensibility element specifies an operation binding that is of interest to the HL7 Binding Component.

The following example demonstrates how the HL7 operation extensibility element is used to associate an abstract operation with an HL7 operation.

<binding name="someBinding" type="tns:somePortType">
        <hl7:binding/>
        <operation name="someOperation">
            </hl7:operation/>
    </binding>

HL7 message Element

The HL7 message element specifies the concrete properties associated with receiving or sending an HL7 message from or to the HL7 external system. To configure the attributes, right-click the message element and then select Properties.

Table 6 HL7 message Element Attributes

Name and Description
Required or Optional
Applies to Provider or Consumer
Example
use: Specifies if the message (part) defined is encoded using a well defined encoding style.
Required
Common (both)
encoded
encodingStyle: Specifies the encoding type associated with the message (part). This also defines the encoder type used to process the encoded data.
Optional
Common (both)
hl7encoder-1.0
part:Indicates the part of the message that contains the HL7 message to be sent.
Optional
Common (both)
part1

The following example demonstrates the HL7 message extensibility element defined for one-way operation.

<binding name="someBinding" type="tns:somePortType">
        <hl7:binding/>
        <operation name="oneWayOp">
            <hl7:operation/>
            <input>
                <hl7:message part="part1" 
                 use="encoded"
                 encodingStyle="hl7encoder-1.0"/>
            </input>
        </operation>
    </binding>