Ensemble HL7 Version 2 Development Guide
Configuring the Production
[Back] [Next]
   
Server:docs2
Instance:LATEST
User:UnknownUser
 
-
Go to:
Search:    

This chapter describes how to configure a production to include an HL7 routing interface. It also describes how to create a new HL7 routing production, if you do not yet have a production. This chapter includes the following topics:

This chapter discusses tasks that you perform on the [Ensemble] > [Production Configuration] page. The following chapter describes additional tasks.
Creating a New HL7 Routing Production
You can create a new HL7 routing production as follows:
  1. In the Management Portal, switch to the appropriate namespace.
    To do so, click Switch in the title bar, click the namespace, and click OK.
  2. Click Ensemble.
  3. Click Configure.
  4. Click Production and then click Go.
    Ensemble then displays the last production you accessed, within the [Ensemble] > [Production Configuration] page.
  5. Click New to invoke the Production Wizard.
  6. Choose the HL7 Messaging option and click OK.
The starter production has one interface, whose elements are:
When you build an HL7 routing production, you create and configure many such interfaces. You can start by enabling these starter elements, copying them, renaming them, and modifying them to suit your needs. As you build an interface, it frequently happens that while configuring one item you must enter the name of another item that you have not yet created. A clear naming convention is essential to avoid confusion. For suggestions, see Naming Conventions in Ensemble Best Practices. For rules, see Configuration Names,” in Configuring Ensemble Productions.
In addition to interface elements, the starter production provides several elements that do not route HL7 messages, but that provide supporting functionality for the production:
Adding HL7 Business Services
For your production to receive HL7 messages from outside Ensemble, you must add an HL7 business service to the production configuration. To add HL7 business service to a production, you must create it, integrate it into the production, and configure it as needed. The following subsections provide the details.
Creating an HL7 Business Service
To add an HL7 business service to a production:
  1. Display the production in the [Ensemble] > [Production Configuration] page of the Management Portal. To access this page, click Ensemble, click Configure, click Production, and then click Go.
  2. In the Services column, click the Add button (a plus sign).
    Ensemble displays a dialog box.
  3. Click the HL7 Input tab.
  4. Click one of the following from the Input type list:
    This choice selects the host class for your business service.
  5. For HL7 Service Name, type the name of this business service. The name should be unique among the business services. Do not use periods or spaces.
    The default is the name of the class on which this service is based.
  6. For HL7 Service Target, select one of the following:
  7. Click OK.
In addition to the HL7 business services used here, Ensemble provides two simple business services: EnsLib.File.PassthroughService and EnsLib.FTP.PassthroughService. You can select either of these if you simply need to pass a file through the production, and do not want to parse or format the file as HL7.
If you want the production to receive data that is not an HL7 message, see Defining Business Services in Developing Ensemble Productions. Also see Connectivity Options in Introducing Ensemble.
Integrating and Configuring an HL7 Business Service
To integrate a new HL7 business service into an Ensemble production, you must associate it with the routing process or business operation to which it relays messages. Additionally, if you expect the business service to receive nonstandard message structures you will need to create a custom HL7 schema definition to parse and validate these messages. To do this:
  1. Complete the instructions for creating any Target Config Names or Message Schema Category items that your HL7 business service needs. The items might be:
  2. Return to the diagram on the [Ensemble] > [Production Configuration] page. Select the new HL7 business service. If the Target Config Names and Message Schema Category fields were previously blank, configure them now, and click Apply.
  3. Configure additional settings of the business service, as needed. For details, see Settings of an HL7 Business Service in the Reference.”
Adding HL7 Routing Processes
To add an HL7 routing process to a production, you must create it, integrate it into the production, and configure it as needed. The following subsections provide the details.
Creating an HL7 Routing Process
To add an HL7 routing process to a production:
  1. Display the production in the [Ensemble] > [Production Configuration] page of the Management Portal. To access this page, click Ensemble, click Configure, click Production, and then click Go.
  2. In the Processes column, click the Add button (a plus sign).
    Ensemble displays a dialog box.
  3. Click HL7 Message Router for the business process option; the router class defaults to EnsLib.HL7.MsgRouter.RoutingEngine.
  4. For HL7 Router Name, type the name of this business process. The name should be unique among the business processes. Do not use periods or spaces.
    The default is the name of the class on which this process is based.
  5. For Routing Rule Name, do one of the following:
  6. Click OK.
Integrating and Configuring an HL7 Routing Process
To integrate a new HL7 routing process into an Ensemble production, you must associate it with the business service that receives its incoming messages, and with the routing rule set that determines its actions based on those messages. To do this:
  1. Select the HL7 business service. In the menu to the right of the screen, click the Settings tab and open the Basic Settings menu. In the Target Config Names field, enter the name of the new HL7 routing process.
  2. Create a routing rule set, as described in the next chapter. Select the routing process in the configuration diagram. In the Business Rule Name field, enter the full name of the new routing rule set.
  3. Configure additional settings of the routing process, as needed. For details, see Settings for HL7 Routing Processes in the Reference.”
Adding HL7 Sequence Managers
HL7 messages can become out of sequence for various reasons, particularly when multiple processors are handling them. In some cases, it is desirable to ensure that HL7 messages are processed in the correct sequence. In such cases, you can add an HL7 sequence manager to the appropriate part of the production.
An HL7 sequence manager is a business process that accepts incoming HL7 messages (possibly from multiple sources), then forwards the messages to a target configuration item in the order specified by the MSH:13 SequenceNumbers field in the messages.
The sequence manager can detect duplicate messages and timing gaps between messages. It also determines when the timing gaps between sequential messages are sufficiently large to indicate a problem. Its level of sensitivity can be adjusted using its configuration settings.
To build an HL7 sequence manager for use in an HL7 message routing production, you must create and configure it and then integrate it into the production. This topic explains each step.
Important:
The Ensemble HL7 Sequence Manager is a HL7-compatible store-and-forward application and does not support the HL7 Sequence Number Protocol as defined in Chapter 2, section 2.10.1 of the HL7 Standard.
Creating an HL7 Sequence Manager
To add an HL7 sequence manager to a production:
  1. Display the production in the [Ensemble] > [Production Configuration] page of the Management Portal. To access this page, click Ensemble, click Configure, click Production, and then click Go.
  2. In the Processes column, click the Add button (a plus sign).
    Ensemble displays a dialog box.
  3. For Name, type the name of this business process. The name should be unique among the business processes. Do not use periods or spaces.
    The default is the name of the class on which this process is based.
  4. Click OK.
A production can have multiple sequence managers, if needed.
Integrating and Configuring an HL7 Sequence Manager
To integrate a new HL7 sequence manager into an Ensemble production, you must associate it with the business service that receives its incoming messages, and with the target destination for the messages that it sends, once it has sorted out their proper sequence. To do this:
  1. Select the HL7 business service. In the Target Config Names field, enter the name of the new HL7 sequence manager.
  2. Return to configuring the HL7 sequence manager. Provide it with a list of Output Target Config Names for successful messages.
  3. If you want the sequence manager to check for duplicate messages, set Enable Duplicated Message Check to True.
    If you want to save the duplicate messages for troubleshooting purposes, create a HL7 business operation to receive them. In the Duplicated Message Target field enter the name of the new HL7 business operation.
  4. If you want the sequence manager to check for out-of-sequence messages, set Perform Sequence Number Check On to Sender or Receiver and configure the details of sequence checking by setting values for Large Gap Size and Message Wait Timeout. Otherwise, set Perform Sequence Number Check On to None.
    If you want to save the out-of-sequence messages for troubleshooting purposes, create a HL7 business operation to receive them. In the Out Of Sequence Message Target field, enter the name of the new HL7 business operation.
  5. If you want the sequence manager to transform messages before sending them outside Ensemble, set Perform Output Transformation On to Sender or Receiver and set a value for the Output Facility Application. Otherwise, set Perform Output Transformation On to None.
  6. Identify any Passthrough Message Types that the sequence manager should simply send to the Output Target Config Names without checking or transforming them.
  7. Configure additional settings of the sequence manager, as needed. For details, see Settings for HL7 Sequence Managers in the Reference.”
Accessing HL7 Sequence Data Programmatically
You can access the runtime data of the Sequence Manager via SQL. To do so, execute a query on the table EnsLib_HL7.SM.RuntimeData.Thread. This table provides the following string fields:
Application
The name of the sending or receiving application, as taken from the HL7 messages.
Facility
The name of the sending or receiving facility, as taken from the HL7 messages.
Thread
One of the following strings:
Type
One of the following strings:
NextSequenceNumber
Identifies the next number in the sequence for the given facility, application, thread, and type.
A sample SQL query might be as follows:
SELECT Application,Thread,Type,NextSequenceNumber FROM EnsLib_HL7.SM.RuntimeData.Thread WHERE Facility = 'mine'
Adding HL7 Business Operations
To send HL7 messages from a production, you must add an HL7 business operation. To add an HL7 business operation to a production, you must create it, integrate it into the production, and configure it as needed. The following subsections provide the details.
Creating an HL7 Business Operation
To add an HL7 business operation to a production:
  1. Display the production in the [Ensemble] > [Production Configuration] page of the Management Portal. To access this page, click Ensemble, click Configure, click Production, and then click Go.
  2. In the Operations column, click the Add button (a plus sign).
    Ensemble displays a dialog box.
  3. Click HL7 Output.
  4. Click one of the following from the Output type list:
    This selection determines the host class for this business operation.
  5. For Operation Name, type the name of this business operation. The name should be unique among the business operations. Do not use periods or spaces.
    The default is the name of the class on which this operation is based.
  6. Click OK.
In addition to the HL7 business operations used here, Ensemble provides two simple business operations: EnsLib.File.PassthroughOperation and EnsLib.FTP.PassthroughOperation.. You can select either of these if you simply need to pass a file through the production, and do not want to parse or format the file as HL7.
If you want the production to send data that is not an HL7 message, see Defining Business Operations in Developing Ensemble Productions. Also see Connectivity Options in Introducing Ensemble.
Integrating and Configuring an HL7 Business Operation
To integrate a new HL7 business operation into an Ensemble production, simply identify it as a target that receives messages. To do this, you must configure the item that sends messages to the HL7 business operation and enter the configured Name of the HL7 business operation into the appropriate field:
Pager and Email Alerts
Alerts provide the ability to send notification to a user device while an Ensemble production is running. The intention is to alert a system administrator or service technician to the presence of a problem. Alerts may be sent via email, text pager, or another mechanism. For details, see Configuring Alerts in Configuring Ensemble Productions.
The starter HL7 routing production provides the following elements to support alerts: