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 Component Runtime Properties

The runtime properties allow you to make changes to a project after the project's design time is completed, without touching the business logic. The runtime properties can be accessed from the Properties window or from the binding component's properties editor.

Configuring the HL7 Binding Component Runtime Properties

The runtime configuration for the HL7 Binding Component affects all HL7 Binding Components that are deployed on the domain you are configuring.

To Edit HL7 Binding Component Runtime Properties

  1. From the Services window of the NetBeans IDE, expand the Servers node.
  2. If GlassFish is not started, start GlassFish. To do this, right-click GlassFish V2 and then select Start.
  3. Under the application server, expand the JBI -> Binding Components nodes and select the HL7 Binding Component (sun-hl7-binding).
  4. If sun-hl7-binding is not started, right-click it and then select Start.
  5. Double-click the sun-hl7-binding.

    The Properties Editor appears.


    image:Image shows the HL7 Binding Component Properties Editor
  6. Edit the properties as needed.

    Properties are described under HL7 Binding Component Runtime Properties.

  7. Once you are finished editing your properties, click Close.
  8. On the NetBeans toolbar, click Save All.
  9. If you have any deployed HL7 Binding Component projects, redeploy the projects so the changes take affect.

Defining an HL7 Binding Component Application Configuration

The HL7 Binding Component's Application Configuration property allows you to change the configuration information for an endpoint without changing a projects business logic. The HL7 WSDL endpoint properties can be configured from the HL7 Binding Component Runtime Properties Editor.

To Define the HL7 Application Configuration

  1. To associate a Configuration Extension profile with the HL7 endpoint, open your project service assembly in the CASA Editor. To do this, from the Project window, right-click your composite application's Service Assembly node, and then select Edit.

    The CASA Editor opens.


    image:Image shows the CASA Editor as described in context
  2. Right-click the HL7 consumer port icon, and then select Properties.

    The HL7 WSDL Port Properties Editor appears.


    image:Image shows the HL7 WSDL Port Properties Editor
  3. From the Properties Editor, under Config Extension, enter a name for your profile, such as the name of the HL7 WSDL. Click Close.
  4. From the NetBeans IDE Services window, make sure that GlassFish V2 server is started. If the GlassFish server is not started, right-click GlassFish V2 and then select Start. In the same way, make sure that the HL7 Binding Component (sun-hl7-binding) is also started.
  5. Right-click the sun-hl7-binding and then select Properties.
    image:Image shows the sun-hl7-binding node in the NetBeans Services window

    The sun-hl7-binding Properties Editor appears.

  6. From the sun-hl7-binding Properties Editor, click the edit button for the Application Configuration property.

    The sun-hl7-binding Application Configuration Editor appears.


    image:Image shows the Application Configuration property editor
  7. Click Add to add a new row to the Application Configuration Editor, representing all of the application configurable parameters for the HL7 Binding Component.
  8. Enter the properties for your binding.

    For more information about Application Configuration properties, see Application Configuration under Runtime Properties.

  9. Click OK and Close to save properties.

    When the composite application is deployed, the HL7 Binding Component will use the new application configuration that has been defined for the respective endpoint.

Defining the Application Configuration Using Other Tools

In addition to the NetBeans IDE, you can also use these other tools to edit the HL7 Binding Component Application Configuration.

Using Application Variables to Define Name/Value Pairs

The binding component Application Variables property allows you to define a list of name:value pairs for a given stated type. The application variable name can be used as a token for a WSDL extensibility element attribute in a corresponding binding. For example, if you were defining an application variable for the hostname as FOO, then the WSDL attribute would be ${FOO}. In the Application Variables property you would enter a String value of FOO for the name and the desired attribute as the value. When you deploy an application that uses application variables, any variable that is referenced in the application's WSDL is loaded automatically.

image:Graphic shows the HL7 Binding Component Runtime Properties Editor and the Application Variable dialog box.

The Application Variables configuration property offers four variable types:

Variables also allow greater flexibility for your WSDL files. For example, you can use the same WSDL for different runtime environments by using application variables to specify system specific information. These values can then be modified from the binding component runtime properties as needed.

When you deploy an application that uses Application Variables, all of the Application Variables that are referenced in the application's WSDL files are loaded automatically. If you attempt to start an application and an Application Variables value is not defined (no value is specified for the Application Variable) an exception is thrown.

To change a property when the application is running, change your Application Variable property value, then right-click your application in the Services window under Servers -> GlassFish -> JBI -> Service Assemblies, and click Stop in the popup menu. When you restart your project, your new settings will take effect.

Using Application Variables for Password Protection

To protect passwords that would otherwise appear as clear text in your WSDL file, you can enter a password Application Variable as a token. In the following example, a password Application Variable is created that uses the name SECRET and the password PROTECT.

Creating a Password Application Variable

  1. In the NetBeans Servers window, expand Servers -> GlassFish V2 -> JBI -> Binding Components.
  2. Right click sun-hl7-binding.

    The sun-hl7-binding Properties appear in the Properties window.

  3. Click the Application Variables property ellipsis button.

    The Application Variables editor appears.

  4. Click Add, select Password as your variable type, and then click OK.

    A new row is added to the Application Variables editor.

  5. Enter SECRET as the name, and enter PROTECT as the value.

    Because this is a password type, the characters of your password are displayed as asterisks.

  6. Use the application variable name ${SECRET} as your WSDL password attribute, using the dollar sign and curly braces as shown.

Runtime Properties

The HL7 Binding Component properties specify Thread Count, Application Configuration, Application Variables, Statistics, Loggers, and reference the Binding Component's description, name, type, and state.

Header
Header
Description
Displays the description of the binding component.
Name
Displays the name of the binding component.
State
Indicates the state of the binding component as Started, or Stopped.
Type
Displays the component type.
Build Number
Displays the build version for the current component.
Version
Displays the components specification version.
Number of Outbound Processor Threads
Specifies the number of threads configured to concurrently process outbound HL7 requests. The value range is an integer from 1 to 2147483647.
Number of Inbound Reply Threads
Specifies the Maximum number of threads configured to process responses to HL7 client requests. The value range is an integer from 1 to 2147483647.
Data Source Name
Specifies the name of the data source where the sequence number and the HL7 acknowledgement message are persisted.
Allow Dynamic Endpoint
Specifies if Dynamic Endpoints are allowed for the HL7 Binding. For more information, see Dynamically Configuring HL7 Endpoints
Application Configuration
Specifies the values for a Composite Application's external connectivity parameters, which are normally defined in the WSDL service extensibility elements. You can apply these values to a user-named endpoint ConfigExtension Property. The Application Configuration property editor includes fields for all of the connectivity parameters that apply to that component's binding protocol. When you enter the name of a saved ConfigExtension and define the connectivity parameters in the Application Configuration editor, these values override the WSDL defined connectivity attributes when your project is deployed. To change these connectivity parameters again, you simply change the values in the Application Configuration editor, then shutdown and start your Service Assembly to apply the new values.

The Application Configuration parameters include the following:

  • Application Configuration Name: Specifies the name of the Application Configuration.
  • Acknowledgement Mode: Indicates the acknowledge mode type: original or enhanced.
  • SFT Enabled: Enables or disables SFT segment processing.
  • Encoding Characters: 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).
  • End Block Char: 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.
  • End Data Char: 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.
  • Field Separator: 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 serves as a 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.
  • HLLP Checksum: Specifies if HLLP CheckSum is enabled.
  • Host: Specifies the host part of a URL used to connect to an HL7 external system. The equivalent WSDL attribute is hl7:address -> location(host).
  • LLP Type: Indicates the Lower Layer Protocol Type as MLLPv1 (Minimal Lower Layer Protocol release 1), MLLPv2 (Minimal Lower Layer Protocol release 2), and HLLP (Hybrid Lower Layer Protocol). The equivalent WSDL attribute is hl7:protocolproperties -> llpType.
  • MLLPV2 Retries Count on Nak: Specifies the maximum number of retries on receipt of MLLP V2 negative acknowledgement. The equivalent WSDL attribute is hl7:protocolproperties -> mllpv2RetriesCountOnNak.
  • MLLPV2 Retry Interval: Specifies the time duration to wait in milliseconds before each retry. The equivalent WSDL attribute is hl7:protocolproperties -> mllpv2RetryInterval.
  • MLLPV2.0 Time to Wait For ACK/NAK: Specifies the time duration to wait in milliseconds for receiving MLLP V2 commit acknowledgement / negative acknowledgement. The equivalent WSDL attribute is hl7:protocolproperties -> mllpv2TimeToWaitForAckNak.
  • Host Port: A URL part, which specifies the connectivity information to connect to the HL7 external system. The equivalent WSDL attribute is hl7:address -> location (port).
  • Processing ID: 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). The equivalent WSDL attribute is hl7:protocolproperties -> processingID
  • Sending Application: Specifies the MSH-03 Sending Application to be used in creating the NAK for invalid HL7 messages.
  • Sending Facility: Specifies the MSH-04 Sending Facility to be used in creating the NAK for invalid HL7 messages.
  • Sequence Number: Specifies if sequence number protocol is enabled. The equivalent WSDL attribute is hl7:protocolproperties -> seqNumEnabled.
  • Software Binary ID: Specifies HL7 segment SFT-04, the Software Binary ID. This property is available starting with HL7 version 2.5. Software Binary IDs are issued by a vendor for each unique software version instance. These 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.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareBinaryID.

  • Software Version or Release Number: Specifies HL7 segment SFT-02, the Software Certified Version or Release Number. The latest software version number or release number for the sending system, helps to provide a more complete profile of the application that is sending or receiving HL7 messages.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareCertifiedVersionOrReleaseNumber.

  • Software Install Date: Specifies HL7 segment SFT-06, the Software Install Date. This is the date, in YYYYMMDDHHSS format, on which the submitting software was installed at the sending site.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareInstallDate.

  • Software Product Information: Specifies HL7 segment SFT-05, software product identification information. This may include a description of the software application, configuration settings,modifications made to the software.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareProductInformation.

  • Software Product Name: Specifies HL7 segment SFT-03, the name of the software product that submitted the transaction. The software product name is a key component for identifying the sending application.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareProductName.

  • Software Vendor Organization: Defines the Software Vendor Organization field (SFT-1-Software Vendor Organization) which identifies the vendor who is responsible for maintaining the application.

    The equivalent WSDL attribute is hl7:protocolproperties -> softwareVendorOrganization.

  • Start Block Character: 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.

    The equivalent WSDL attribute is hl7:protocolproperties -> startBlockCharacter.

  • Validate MSH: Specifies if the MSH segment in the HL7 message is validated against initiation rules.

    The equivalent WSDL attribute is hl7:protocolproperties -> validateMSH.

  • Version ID: 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.
Application Variable
The Application Variables configured for the binding component. Application Variables allow you to define a list of name:value pairs for a given stated type. The application variable name can be used as a token for a WSDL extensibility element attribute in a corresponding binding.

The Application Variables configuration property offers four variable types:

  • String: Specifies a string value, such as a path or directory.

  • Number: Specifies a number value.

  • Boolean: Specifies a Boolean value. The VALUE field provides a checkbox (checked = true).

  • Password: Specifies a password value. The password is masked and displays only asterisks.

For more information about using Application Variables, see Using Application Variables to Define Name/Value Pairs and Using Application Variables for Password Protection.

Statistics Properties

The Statistics properties provide a record of key statistics for the HL7 Binding Component.

Activated Endpoints

Tracks the number of activated endpoints.

Active Exchanges

Tracks the number of active exchanges.

Avg. Component Time

Tracks the average message exchange component time in milliseconds.

Avg. D.C. Time

Tracks the average message exchange delivery channel time in milliseconds.

Avg. Msg. Service Time

Tracks the average message exchange message service time in milliseconds.

Avg. Response Time

Tracks the average message exchange response time in milliseconds.

Completed Exchanges

Tracks the total number of completed exchanges.

Error Exchanges

Tracks the total number of error exchanges.

Received Dones

Tracks the number of received dones.

Received Errors

Tracks the number of received errors.

Received Faults

Tracks the number of received faults.

Received Replies

Tracks the number of received replies.

Received Requests

Tracks the number of received requests.

Sent Dones

Tracks the number of sent dones.

Sent Errors

Tracks the number of sent errors.

Sent Faults

Tracks the number of sent faults.

Sent Replies

Tracks the number of sent replies.

Sent Requests

Tracks the number of sent requests.

Up Time

Tracks the up time of this component in milliseconds.

Logger Properties

The HL7 Binding Component runtime Logger properties include 13 different component activities that can be monitored and recorded at user-designated levels.

Each logger can be set to record information at any of the following levels:

HL7 Binding Component Loggers

The values for the HL7 Binding Component Loggers start with the location: sun-hl7-binding. The value text has been wrapped for display purposes.

sun-hl7-binding

Specifies the logging level for the entire group of component loggers. Individual logger levels can then be changed as desired. com.sun.jbi.hl7bc

EndpointImpl

com.sun.jbi.hl7bc.EndpointImpl

HL7BindingComponent

com.sun.jbi.hl7bc.HL7BindingComponent

HL7BindingDeployer

com.sun.jbi.hl7bc.HL7BindingDeployer

HL7Denormalizer

com.sun.jbi.hl7bc.HL7Denormalizer

HL7Normalizer

com.sun.jbi.hl7bc.HL7Normalizer

InboundMessageProcessor

com.sun.jbi.hl7bc.InboundMessageProcessor

InboundReceiver

com.sun.jbi.hl7bc.InboundReceiver

OutboundMessageProcessor

com.sun.jbi.hl7bc.OutboundMessageProcessor

OutboundReciever

com.sun.jbi.hl7bc.OutboundReciever

ServiceUnitImpl

com.sun.jbi.hl7bc.SchedulerEndpointManager

DeploymentLookup

com.sun.jbi.hl7bc.DeploymentLookup

MessagingChannel

com.sun.jbi.hl7bc.MessagingChannel

For more information about the HL7 Binding Component Logging Codes, see Logging Codes By Component.