1Creating an End-to-End HL7/MLLP Application with Content

Transcription

1Creating an End-to-End HL7/MLLP Application with Content
1
Creating an End-to-End HL7/MLLP
Application with Content-Based Routing
1
This tutorial takes you through the steps of creating a SOA composite comprising a
BPEL and a JMS Adapter binding component to route an ADT message to target
endpoints using BPEL switch capability. After creating the composite, it will then be
deployed to the J2EE server. The tutorial includes the following sections:
■
Section 1.1, "About This Tutorial"
■
Section 1.2, "Importing the Document Definitions"
■
Section 1.3, "Creating JMS Queues in Oracle WebLogic Server"
■
Section 1.4, "Creating Internal Delivery Channels"
■
Section 1.5, "Creating Endpoints in Oracle SOA Suite for Healthcare Integration"
■
Section 1.6, "Creating the SOA Composite Application"
■
Section 1.7, "Testing the Application"
■
Section 1.8, "Working with the Prebuilt Sample"
1.1 About This Tutorial
This exercise is designed to show you how to create a simple end-to-end HL7/MLLP
application using Oracle SOA Suite for healthcare integration user interface and JMS
Internal Delivery Channel. You will use Oracle SOA Suite for healthcare integration to
update an end-to-end HL7/MLLP application with one source endpoint and three
target endpoints for handling generic ADT and ORM messages. You will add business
logic to route and map messages using the BPEL switch capabilities and conditionally
execute different flows based on the input document type. You will use XSLT Mapper
to create HL7 V2.3 to 2.4 ORM transformation map for one target endpoint. Once the
application is created and deployed, you can also test the application using the B2B
simulator and the test data provided with the sample.
The following is the flow of the tutorial:
■
■
You will create four endpoints:
–
Admission: MLLP server endpoint
–
Laboratory: MLLP client endpoint
–
Pharmacy: MLLP client endpoint
–
Radiology: MLLP client endpoint
If the inbound message type is A04, it is transformed to an ORM message.
1-1
About This Tutorial
■
■
■
If the inbound message type is either A04 or A08, then the message is transformed
to an ADT message of Laboratory endpoint, and is routed to both the Laboratory
and Pharmacy endpoints. Else, if the inbound message type is A40 or A47, then
the message is transformed to an ADT message of Pharmacy endpoint, and is
routed to both Laboratory and Pharmacy endpoints.
Any other inbound message type is transformed to an ADT message of Pharmacy
endpoint and is routed to both the Laboratory and Pharmacy endpoints.
If the inbound message type is A31, then it is transformed to the generic ADT
canonical format and is routed to a JMS queue from which any subscriber to the
queue can consume the message for further processing.
All the preceding switch-based message flows demonstrate the capabilities of Oracle
SOA Suite to handle a stream of messages.
It is recommended that you complete Scenarios 1-3 before
attempting Scenario 7, because Scenario 7 is a build-up on Scenarios
1-3.
Note:
1.1.1 Tutorial Requirements
To run this tutorial, you must have Oracle SOA Suite installed, including the
following:
■
Oracle Database with RCU to create the schemas
■
Oracle WebLogic Server
■
Oracle SOA Suite
■
Oracle JDeveloper with the SOA extension
■
B2B Simulator
In addition you should have a WebLogic domain already created for the SOA Suite.
Note: You need to delete the existing design metadata from your
computer before starting with Scenario 7.
To steps to clean up design metadata:
1.
Log on to Oracle SOA Suite for healthcare integration.
2.
Click the Designer tab and then the Administration tab.
3.
Double-click Repository Management, and click Purge Design Metadata
in the Purge section on the right.
1.1.2 Provided Files
The Scenario7 ZIP file includes files you need to create the sample project, including
an import file for the HL7 document definitions and a configuration file to use when
testing the application. It also includes all of the project files, which you can open in
Oracle JDeveloper instead of creating them in this tutorial, and then deploy and test
the application.
Unpacking the Scenario7 ZIP file displays the following:
■
/artifacts/samples/composite/hcfp-107-MLLP-scenario7.zip: A prebuilt SOA
composite project, based on the instructions in this tutorial.
1-2 Oracle SOA Suite for healthcare intergration - Sample Scenario
Importing the Document Definitions
■
■
■
■
■
/artifacts/samples/b2b/b2b-hcfp-107-MLLP-scenario7.zip: A prebuilt Oracle
SOA Suite for healthcare integration configuration, based on the instructions in
this tutorial.
/artifacts/input/<all input payload files>: The payload files to simulate the
messages.
–
ADT_A04_2.3.dat
–
ADT_A28_2.3.dat
–
ADT_A31_2.3.dat
–
ADT_A40_2.3.dat
–
ADT_A47_2.3.dat
/artifacts/schema/HL7DocTypeExport.zip: An export file containing the HL7
document definitions used in this tutorial.
/artifacts/runtime/hl7-config.xml: A sample configuration file to use with the
B2B simulator when testing the application.
The ecs and xsd files required for modelling:
–
artifacts/schema/ADT_2.3.xsd
–
artifacts/schema/ADT_2.3canonical.xsd
–
artifacts/schema/ORM_2.4.xsd
1.2 Importing the Document Definitions
To create the sample project, you need to import the document definitions for the HL7
message structures. This import provides the full definitions for only a few types of
messages. Before you begin, make sure that the WebLogic Administration and
Managed servers are running.
To import the document definitions
1. Log on to the Oracle SOA Suite for healthcare integration user interface by typing
http://<hostname>:<port>/healthcare in the address bar of a supported Web
browser and pressing Enter.
2.
Click the Designer tab and then click the Administration tab.
3.
Double-click the Repository Management icon to display the Repository
Management tab.
4.
In the Import section, browse and select the HL7DocTypeExport.zip file from the
/artifacts/schema folder and click Import.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing3
Creating JMS Queues in Oracle WebLogic Server
Figure 1–1 Repository Management
This imports the schemas to Healthcare repository.
To check the schema in the repository:
1. Click the Configuration tab.
2.
Right-click Document Protocol and click Refresh.
You can see all the HL7 documents listed there.
1.3 Creating JMS Queues in Oracle WebLogic Server
You need to create the following JMS queues in WebLogic Server Console:
■
AdmissionQueue
■
LabQueue
■
PharmacyQueue
■
RadiologyQueue
■
CanonicalQueue
To create AdmissionQueue:
Log on to Oracle Weblogic server console (http://<hostname>:<port>/console
where <hostname> is the name of the computer where Oracle SOA Suite is installed
and <port> is typically 7001).
1.
2.
Under Domain Structure, expand Services > Messaging.
3.
If the application server is installed in production mode, go to the Change Center
in the left navigation panel and click Lock and Edit.
1-4 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating JMS Queues in Oracle WebLogic Server
Figure 1–2 The Lock & Edit Button
4.
Click JMS Modules, and then click SOAJMSModule in the JMS Modules table on
the right pane.
5.
Click New to display the Create a New JMS System Module Resource page.
6.
Select the Queue option and click Next to display the Create a New JMS System
Module Resource page.
7.
Enter AdmissionQueue as Name, jms/b2b/Admission as JNDI Name, and click
Next.
Figure 1–3 Entering Queue Details
Creating an End-to-End HL7/MLLP Application with Content-Based Routing5
Creating JMS Queues in Oracle WebLogic Server
8.
Select SOASubDeployment from the Subdeployments list and then select the
SOAJMSServer option under Targets.
Figure 1–4 Selecting Subdeployments and Target
9.
Click Finish to create the queue.
10. Similarly create four more queues:
■
Queue Name: LabQueue
JNDI Name: jms/b2b/Laboratory
■
Queue Name: PharmacyQueue
JNDI Name: jms/b2b/Pharmacy
■
Queue Name: RadiologyQueue
JNDI Name: jms/b2b/Radiology
■
Queue Name: CanonicalQueue
JNDI Name: jms/b2b/Canonical
1-6 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating Internal Delivery Channels
Figure 1–5 Created JMS Queues
11. After creating all the queues, click Activate Changes on the Change Center panel.
Figure 1–6 Activate Changes
The Lock & Edit button changes to Activate Changes when
there are changes made to the system.
Note:
1.4 Creating Internal Delivery Channels
You need to create internal delivery channels by using the Oracle SOA Suite for
healthcare integration user interface to interact with the JMS queues.
To create AdmissionQueue channel:
1. Log on to Oracle SOA Suite for healthcare integration
(http://<hostname>:<port>/healthcare) where <hostname> is the name of the
computer where Oracle SOA Suite is installed and <port> is typically 8001.
2.
Click the Administration tab.
3.
Expand Internal Delivery Channel.
4.
Click Send to Internal and then click the Create icon.
5.
In the Create... dialog box, enter Name as AdmissionQueue.
6.
Ensure that JMS is selected in the Transport Protocol list.
7.
Enter the value for the Destination name as jms/b2b/Admission. This is the JNDI
name of the Queue that is created in the WebLogic server console.)
Creating an End-to-End HL7/MLLP Application with Content-Based Routing7
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
8.
Ensure that the value for the Connection factory is
jms/b2b/B2BQueueConnectionFactory. This is the JNDI name of the connection
factory.
Figure 1–7 Create AdmissionQueue
9.
Click OK.
10. In the AdmissionQueue tab, click Apply.
11. Similarly create three more channels under Receive from Internal:
■
■
■
Channel Name: LaboratoryQueue
–
Destination Name: jms/b2b/Laboratory
–
Protocol: JMS
–
Connection Factory: jms/b2b/B2BQueueConnectionFactory
Channel Name: PharmacyQueue
–
Destination Name: jms/b2b/Pharmacy
–
Protocol: JMS
–
Connection Factory: jms/b2b/B2BQueueConnectionFactory
Channel Name: RadiologyQueue
–
Destination Name: jms/b2b/Radiology
–
Protocol: JMS
–
Connection Factory: jms/b2b/B2BQueueConnectionFactory
1.5 Creating Endpoints in Oracle SOA Suite for Healthcare Integration
First, you need to create and configure four endpoints (Admission, Laboratory,
Pharmacy, and Radiology) by using the Oracle SOA Suite for healthcare integration
user interface.
To create and configure the Admission endpoint:
1. Log on to the Oracle SOA Suite for healthcare integration user interface by typing
http://<hostname>:<port>/healthcare in the address bar of a supported Web
browser and pressing Enter. <hostname> is the name of the computer where Oracle
SOA Suite is installed and <port> is typically 8001.
2.
Click the Configuration tab, click the Endpoint folder, and then click the Create
(+) icon. This displays the Create... dialog box.
3.
In the Create... dialog box, enter the following:
1-8 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
■
Admission as Name
■
8040 as Port
■
localhost as Host Name
Verify that Transport Protocol is set to MLLP10, Connection Mode is set to
Server. These are the default values.
Figure 1–8 Specifying Parameters for an Endpoint
■
Click OK to create the endpoint. Once you click OK, the newly created
endpoint is opened at the right pane of the Oracle SOA Suite for healthcare
integration interface.
4.
Click the + icon in the Receive section to display the document selection window.
5.
Expand Document Protocol > HL7 > 2.3 > ADT, select the ADT_Def document
definition, and click OK.
6.
Select AdmissionQueue from the Internal Channel list.
7.
Select the Functional ACK check box.
8.
Click the + icon in the Send section to display the document selection window.
9.
Expand Document Protocol > HL7 > 2.3 > ACK, select the GenericAck document
definition, and click OK.
10. Select the Enabled check box.
11. Click Apply.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing9
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
Figure 1–9 Configuring the Admission Endpoint
To create and configure the Laboratory endpoint:
1. Log on to the Oracle SOA Suite for healthcare integration user interface.
2.
Click the Configuration tab, click the Endpoint folder, and then click the Create
(+) icon. This displays the Create... dialog box.
3.
In the Create... dialog box, specify the following:
■
Laboratory as Name
■
9040 as Port
■
localhost as Host Name
■
Client as Connection Mode
Verify that Transport Protocol is set to MLLP10.
Figure 1–10 Specifying Parameters for an Endpoint
■
4.
Click OK to create the endpoint. Once you click OK, the newly created
endpoint is opened at the right pane of the Oracle SOA Suite for healthcare
integration interface.
Click the + icon in the Send section to display the document selection window.
1-10 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
5.
Expand Document Protocol > HL7 > 2.3 > ADT, select the ADT_Def document
definition, and click OK.
6.
Select the Functional ACK check box.
7.
Click the + icon in the Receive section to display the document selection window.
8.
Expand Document Protocol > HL7 > 2.3 > ACK, select the GenericAck document
definition, and click OK.
9.
Select the Enabled check box.
10. Click Apply.
Figure 1–11 Configuring the Laboratory Endpoint
To create and configure the Pharmacy endpoint:
1. Log on to the Oracle SOA Suite for healthcare integration user interface.
2.
Click the Configuration tab, click the Endpoint folder, and then click the Create
(+) icon. This displays the Create... dialog box.
3.
In the Create... dialog box, specify the following:
■
Pharmacy as Name
■
9050 as Port
■
localhost as Host Name
■
Client as Connection Mode
Verify that Transport Protocol is set to MLLP10.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing11
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
Figure 1–12 Specifying Parameters for an Endpoint
■
Click OK to create the endpoint. Once you click OK, the newly created
endpoint is opened at the right pane of the Oracle SOA Suite for healthcare
integration interface.
4.
Click the + icon in the Send section to display the document selection window.
5.
Expand Document Protocol > HL7 > 2.3 > ADT, select the ADT_Def document
definition, and click OK.
6.
Select the Functional ACK check box.
7.
Click the + icon in the Receive section to display the document selection window.
8.
Expand Document Protocol > HL7 > 2.3 > ACK, select the GenericAck document
definition, and click OK.
9.
Select the Enabled check box.
10. Click Apply.
Figure 1–13 Configuring the Pharmacy Endpoint
To create and configure the Radiology endpoint:
1. Log on to the Oracle SOA Suite for healthcare integration user interface.
2.
Click the Configuration tab, click the Endpoint folder, and then click the Create
(+) icon. This displays the Create... dialog box.
1-12 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating Endpoints in Oracle SOA Suite for Healthcare Integration
3.
In the Create... dialog box, specify the following:
■
Radiology as Name
■
9060 as Port
■
localhost as Host Name
■
Client as Connection Mode
Verify that Transport Protocol is set to MLLP10.
Figure 1–14 Specifying Parameters for an Endpoint
■
Click OK to create the endpoint. Once you click OK, the newly created
endpoint is opened at the right pane of the Oracle SOA Suite for healthcare
integration interface.
4.
Click the + icon in the Send section to display the document selection window.
5.
Expand Document Protocol > HL7 > 2.4 > ORM, select the ORM_Def document
definition, and click OK.
6.
Select the Enabled check box.
7.
Click Apply.
Figure 1–15 Configuring the Radiology Endpoint
Creating an End-to-End HL7/MLLP Application with Content-Based Routing13
Creating the SOA Composite Application
Note: Ensure that Outbound Dispatcher Count and Inbound
Dispatcher Count are set to 1, and the Auto Stack Handler check box
under Settings > Runtime is selected.
1.6 Creating the SOA Composite Application
The following procedures describe how to create the SOA application and project, and
include creating a receiving healthcare service, a sending healthcare service, JMS
queues, internal delivery channels, and an Oracle BPEL Process component to transfer
the data. This process includes the following tasks:
■
Task 1, "Create the SOA Application and Project"
■
Task 2, "Create a Connection to the WebLogic Server"
■
■
■
■
■
Task 3, "Create and Configure the Oracle JMS Adapters for Receiving Admission
Messages"
Task 4, "Create and Configure the Oracle JMS Adapter for the Sending Laboratory
Messages"
Task 5, "Create and Configure the Oracle JMS Adapters for the Sending Pharmacy
Messages"
Task 6, "Create and Configure the Oracle JMS Adapters for the Sending Radiology
Messages"
Task 7, "Create and Configure the Oracle JMS Adapters for the Sending Canonical
Messages"
■
Task 8, "Add an Oracle BPEL Process Component"
■
Task 9, "Deploy the Composite Application"
Task 1 Create the SOA Application and Project
In Oracle JDeveloper, do one of the following:
1.
■
■
If there are no existing applications, click New Application.
If there are existing applications, click in the existing application name in the
Application Navigator toolbar, and select New Application.
The Create SOA Application Wizard appears.
2.
For the application name, enter FPScenario7.
3.
Under Application Template, select SOA Application.
1-14 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–16 Create SOA Application Wizard - Name Your Application
4.
Click Next.
The Name Your Project page appears.
5.
For the project name, enter FPScenario7Composite, and then click Next.
Figure 1–17 Create SOA Application Wizard - Name Your Project
The Configure SOA Settings page appears.
6.
Select Empty Composite, and then click Finish.
The application and project are created in the Application Navigator and the
composite.xml file is opened in the editor.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing15
Creating the SOA Composite Application
7.
Click Save All.
Task 2 Create a Connection to the WebLogic Server
Ensure that the connection to the Weblogic server exists, else
run the following steps to create a connection to the Weblogic server.
Note:
1.
Launch Oracle JDeveloper by running the jdev executable file.
2.
In the Oracle JDeveloper toolbar, select View > Application Server Navigator.
The Application Server Navigator window appears.
3.
Right-click Application Servers and select New Application Server... to display
the Usage page.
Figure 1–18 Selecting a New Application Server
4.
Select the Standalone Server check box and click Next to display the Name and
Type page.
5.
In the Connection Name field, enter AppConn, and verify the connection type is
set to WebLogic 10.3.
The connection name can be any unique name. If you use
AppConn for the name, you can run the prebuilt application with
little configuration.
Note:
1-16 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–19 Create Application Server Connection - Name and Type
6.
Click Next.
The Authentication page appears.
7.
Enter the user name and password to log on to the WebLogic Server.
Figure 1–20 Create Application Server Connection - Authentication
8.
Click Next.
The Configuration page appears.
9.
Enter the following information for the server;
Creating an End-to-End HL7/MLLP Application with Content-Based Routing17
Creating the SOA Composite Application
–
Weblogic Hostname: The name of the computer where the WebLogic
Administration Server resides.
–
Port: The port number on which the Administration Server listens for
requests.
–
Weblogic Domain: The name of the user domain that is running the
Administration Server.
Figure 1–21 Create Application Server Connection - Configuration
10. Click Next.
The Test page appears.
11. Click Test Connection.
1-18 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–22 Create Application Server Connection -Test
12. When the test comes back successful, click Next, and then click Finish.
13. Click Save All.
Task 3 Create and Configure the Oracle JMS Adapters for Receiving Admission
Messages
1. In Oracle JDeveloper, select View > Component Palette bring the list of
components that can be used while designing the composite.
In the Component Palette on the right, scroll down to JMS Adapter and drag it to
the Exposed Services lane in the composite to create a receiving endpoint.
The JMS Configuration Wizard appears.
2.
On the Welcome page, click Next to start configuring the JMS Adapter binding
component.
The Service Name page appears.
3.
For the service name, enter ReceiveGenericADT. Click Next.
The JMS Provider page appears.
4.
Select the Oracle Enterprise Messaging Service (OEMS) option, select Oracle
WebLogic JMS from the list, and click Next.
The Service Connection page appears.
5.
Click the AppServer Connection field and select the application server connection
you created in the previous task (AppConn).
6.
Click Next.
The Adapter Interface page appears.
7.
Select the Define from operation and schema option and click Next.
The Operation page appears.
8.
Select the Consume Message option and click Next.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing19
Creating the SOA Composite Application
The Consume Operation Parameters page appears.
9.
Select BytesMessage from the Message Body Type list.
10. Click Browse next to the Destination Name field, select the destination queue,
which in this case is AdmissionQueue, and click OK.
Figure 1–23 Selecting the Destination Queue
11. Click Next on the Consume Operation parameters page. The Messages page
appears.
12. For the URL field, click the search icon to display the Type Chooser dialog box.
13. Click the Import Schema File icon and browse to /artifacts/schema/ADT_2.3.xsd
(version 2.3) from the schema location where you have unzipped the Scenario7
ZIP file. Click OK when prompted to copy the artifacts.
1-20 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–24 Copying the Schema File
14. Select the root element ADT:ADT.CONTENT and click OK in the Type Chooser
dialog box.
Figure 1–25 Selecting the Root Element in the Schema
15. Click Next on the Messages page.
16. Click Finish to complete the JMS adapter configuration.
Now, ReceiveGenericADT adapter is configured as an exposed service to receive
Admission messages from AdmissionQueue. The next task is to add four more
JMS adapters as external references to send ADT (version 2.3) messages to
LabQueue, PharmacyQueue, and CanonicalQueue, and ORM (version 2.4)
messages to RadiologyQueue.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing21
Creating the SOA Composite Application
Task 4 Create and Configure the Oracle JMS Adapter for the Sending Laboratory
Messages
1. From the Components Palette on the right, scroll down to JMS Adapter and drag it
to the External References lane in the composite.
The JMS Configuration Wizard appears.
2.
On the Welcome page, click Next.
The Service Name page appears.
3.
For the service name, enter SendToLab. Click Next.
The JMS Provider page appears.
4.
Select the Oracle Enterprise Messaging Service (OEMS) option, select Oracle
WebLogic JMS from the list, and click Next.
The Service Connection page appears.
5.
Click the AppServer Connection field and select the application server connection
you created in the previous task (AppConn).
6.
Click Next.
The Adapter Interface page appears.
7.
Select the Define from operation and schema option and click Next.
The Operation page appears.
8.
Select the Produce Message option and click Next.
The Produce Operation Parameters page appears.
9.
Click Browse next to the Destination Name field, select the destination queue,
which in this case is LabQueue, and click OK.
1-22 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–26 Selecting the Destination Queue
10. Click Next on the Produce Operation parameters page. The Messages page
appears.
11. For the URL field, click the search icon to display the Type Chooser dialog box.
12. Select ADT_2.3.xsd under Project Schema Files, select the root element
ADT:ADT.CONTENT, and click OK in the Type Chooser dialog box.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing23
Creating the SOA Composite Application
Figure 1–27 Selecting the Root Element in the Schema
13. Click Next on the Messages page.
14. Click Finish to complete the JMS adapter configuration.
Task 5 Create and Configure the Oracle JMS Adapters for the Sending Pharmacy
Messages
1. From the Components Palette on the right, scroll down to JMS Adapter and drag it
to the External References lane in the composite.
The JMS Configuration Wizard appears.
2.
On the Welcome page, click Next.
The Service Name page appears.
3.
For the service name, enter SendToPharmacy. Click Next.
The JMS Provider page appears.
4.
Select the Oracle Enterprise Messaging Service (OEMS) option, select Oracle
WebLogic JMS from the list, and click Next.
The Service Connection page appears.
5.
Click the AppServer Connection field and select the application server connection
you created in the previous task (AppConn).
6.
Click Next.
The Adapter Interface page appears.
7.
Select the Define from operation and schema option and click Next.
The Operation page appears.
8.
Select the Produce Message option and click Next.
The Produce Operation Parameters page appears.
1-24 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
9.
Click Browse next to the Destination Name field, select the destination queue,
which in this case is PharmacyQueue, and click OK.
Figure 1–28 Selecting the Destination Queue
10. Click Next on the Produce Operation parameters page. The Messages page
appears.
11. For the URL field, click the search icon to display the Type Chooser dialog box.
12. Select ADT_2.3.xsd under Project Schema Files, select the root element
ADT:ADT.CONTENT, and click OK in the Type Chooser dialog box.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing25
Creating the SOA Composite Application
Figure 1–29 Selecting the Root Element in the Schema
13. Click Next on the Messages page.
14. Click Finish to complete the JMS adapter configuration.
Task 6 Create and Configure the Oracle JMS Adapters for the Sending Radiology
Messages
1. From the Components Palette on the right, scroll down to JMS Adapter and drag it
to the External References lane in the composite.
The JMS Configuration Wizard appears.
2.
On the Welcome page, click Next.
The Service Name page appears.
3.
For the service name, enter SendToRadiology. Click Next.
The JMS Provider page appears.
4.
Select the Oracle Enterprise Messaging Service (OEMS) option, select Oracle
WebLogic JMS from the list, and click Next.
The Service Connection page appears.
5.
Click the AppServer Connection field and select the application server connection
you created in the previous task (AppConn).
6.
Click Next.
The Adapter Interface page appears.
7.
Select the Define from operation and schema option and click Next.
The Operation page appears.
8.
Select the Produce Message option and click Next.
The Produce Operation Parameters page appears.
9.
Click Browse next to the Destination Name field, select the destination queue,
which in this case is RadiologyQueue, and click OK.
1-26 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–30 Selecting the Destination Queue
10. Click Next on the Produce Operation parameters page. The Messages page
appears.
11. For the URL field, click the search icon to display the Type Chooser dialog box.
12. Click the Import Schema File icon and browse to /artifacts/schema/ORM_
2.4.xsd (version 2.4) from the schema location where you have unzipped the
Scenario7 ZIP file. Click OK when prompted to copy the artifacts.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing27
Creating the SOA Composite Application
Figure 1–31 Copying the Schema File
13. Select the root element ORM: ORM.CONTENT and click OK in the Type Chooser
dialog box.
Figure 1–32 Selecting the Root Element in the Schema
14. Click Next on the Messages page.
15. Click Finish to complete the JMS adapter configuration.
Task 7 Create and Configure the Oracle JMS Adapters for the Sending Canonical
Messages
1. From the Components Palette on the right, scroll down to JMS Adapter and drag it
to the External References lane in the composite.
The JMS Configuration Wizard appears.
1-28 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
2.
On the Welcome page, click Next.
The Service Name page appears.
3.
For the service name, enter SendToCanonical. Click Next.
The JMS Provider page appears.
4.
Select the Oracle Enterprise Messaging Service (OEMS) option, select Oracle
WebLogic JMS from the list, and click Next.
The Service Connection page appears.
5.
Click the AppServer Connection field and select the application server connection
you created in the previous task (AppConn).
6.
Click Next.
The Adapter Interface page appears.
7.
Select the Define from operation and schema option and click Next.
The Operation page appears.
8.
Select the Produce Message option and click Next.
The Produce Operation Parameters page appears.
9.
Click Browse next to the Destination Name field, select the destination queue,
which in this case is CanonicalQueue, and click OK.
Figure 1–33 Selecting the Destination Queue
Creating an End-to-End HL7/MLLP Application with Content-Based Routing29
Creating the SOA Composite Application
10. Click Next on the Produce Operation parameters page. The Messages page
appears.
11. For the URL field, click the search icon to display the Type Chooser dialog box.
12. Click the Import Schema File icon and browse to /artifacts/schema/ADT_
2.3canonical.xsd from the schema location where you have unzipped the Scenario7
ZIP file. Click OK when prompted to copy the artifacts.
Figure 1–34 Copying the Schema File
13. Select the root element ADT_ALL:ADT_ALL.CONTENT and click OK in the
Type Chooser dialog box.
Figure 1–35 Selecting the Root Element in the Schema
14. Click Next on the Messages page.
1-30 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
15. Click Finish to complete the JMS adapter configuration.
Now the composite has five bindings: ReceiveGenericADT as the service, and
SendToLaboratory, SendToPharmacy, SendToRadiology, and SendToCanonical as
references.
Task 8 Add an Oracle BPEL Process Component
The BPEL Process component receives the generic ADT messages from the source
Admission endpoint, and based on the message type, routes the messages to the
Laboratory and Pharmacy target endpoints, or transforms the ADT messages to ORM
messages and sends the messages to the Radiology endpoint. You will use the different
constructs and extensions of the BPEL Process component (such as Flow activities to
execute a set of activities sequentially, Assign activities for assigning a variable,
Transform activities to perform the actual transformation of message formats, and
Invoke activities to invoke external services.
1.
From the Components Palette on the right, drag an Oracle BPEL Process
component to the Components section in the composite.
The Create BPEL Process dialog appears.
While working with the BPEL Process component, if Oracle
JDeveloper throws any "out of memory" exception, close the Oracle
JDeveloper instance, and then reopen it.
Note:
2.
Enter BPELProcess_Scenario7 for the name, select Define Service Later from the
Template list, and click OK.
Figure 1–36 Create BPEL Process Dialog
3.
In the composite, wire the components together:
■
Drag the arrow from ReceiveGenericADT to BPELProcess_Scenario7
■
Drag the yellow triangle from BPELProcess_Scenario7 to SendToLaboratory
Creating an End-to-End HL7/MLLP Application with Content-Based Routing31
Creating the SOA Composite Application
■
Drag the yellow triangle from BPELProcess_Scenario7 to SendToPharmacy
■
Drag the yellow triangle from BPELProcess_Scenario7 to SendToRadiology
■
Drag the yellow triangle from BPELProcess_Scenario7 to SendToCanonical
This indicates the path of the messages through the SOA application.
Figure 1–37 Wired Composite Components
4.
Right-click the Oracle BPEL Process component and select Edit to edit the BPEL
configuration.
The BPELProcess_Scenario7.bpel file opens so that you can edit the Oracle BPEL
Process component. You need to create a mapping between the input (from JMS
Adapter) and output (to other four JMS adapters) of the BPEL Process
1-32 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–38 Edit BPEL Process
5.
From the Component Palette, drag a Receive activity to the BPEL Process control
flow.
6.
Right-click the activity, select Edit to display the Receive window.
7.
Enter the name ReceiveGenericADT in the Name field and click OK.
8.
Connect the ReceiveGenericADT activity with the ReceiveGenericADT service.
The Edit Receive window appears.
9.
Click the Automatically Create Input Variable icon, specify the name of the
variable as FromAdmission, and then click OK in the Create Variable dialog box.
Figure 1–39 Creating a Variable
10. Select the Create Instance check box in the Receive window and click OK.
11. From the Component Palette, drag a Flow activity to the BPEL Process control
flow.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing33
Creating the SOA Composite Application
12. Expand the Flow activity by clicking the + sign to the left of the Flow activity
component.
13. From the Component Palette, drag a Switch activity to the first sequence of the
Flow activity.
14. Click <condition> and then click the fx icon. The Expression Builder window
opens.
15. In the Expression Builder window, enter the following expression in the
Expression field to check if the message is of A04 type, and click OK:
bpws:getVariableData('FromAdmission','body','/ns6:ADT/ns6:MSH/ns6:MSH.9
/ns6:CM_MSG.2')='A04'
Figure 1–40 Specifying a Condition
16. Click OK to close the conditions box.
17. From the Oracle Extensions section of the Component Palette, drag a Transform
activity to the Switch activity, below the condition task that you entered in the
preceding step.
18. Right-click the activity, select Edit to display the Transform window.
19. In the General tab, enter the name TransformToRadiology in the Name field and
click OK.
1-34 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–41 Dragging an Transform Activity to a Switch Activity
20. From the BPEL Constructs section of the Component Palette, drag an Invoke
activity to the area below the TransformToRadiology activity. Edit the activity and
name this Invoke activity as InvokeRadiology and click OK.
21. Connect the InvokeRadiology activity with SendToRadiology service. The Edit
Invoke window appears.
22. Click the Automatically Create Input Variable icon, specify the name of the
variable as ToRadiology, and then click OK in the Create Variable dialog box.
23. Click OK to close the Edit Invoke window.
24. Double-click the TransformToRadiology activity to display the Transform dialog
box.
25. Click the Create icon (the plus sign), select FromAdmission as Source Variable
and click OK. Select ToRadiology as the Target Variable in the Transform dialog
box.
26. In the Mapper File field, enter xsl/TransformationToRadiology.xsl, and click the
Create Mapping (the plus sign) icon to create a new Mapper file.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing35
Creating the SOA Composite Application
Figure 1–42 The Transform Dialog Box
27. Map the source fields to target fields by dragging the following fields from source
and dropping to the corresponding fields in the target:
■
Type
■
XDataVersion
■
Standard
■
Version
■
GUID
■
CreatedBy
■
CreatedDate
■
ID
■
Name
■
MSH
■
PID field of ADT_.PATIENT to ORM_.PATIENT
When you try to map the source and target, for each field, the
Auto Map Preferences dialog box is displayed. In the Auto Map
Preference dialog box, select For optional nodes with required
children option in the Insert xsl:if statements section and then click
OK to enable auto mapping. Because the structure of the source and
the target fields are different, Oracle SOA Suite for healthcare
integration prompts for enabling auto mapping for resolving the
structural differences.
Note:
1-36 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–43 Mapping Source and Target Fields
28. Return to the BPEL Process design. The BPEL design should be like the following
graphic.
Figure 1–44 The BPEL Process Design
Creating an End-to-End HL7/MLLP Application with Content-Based Routing37
Creating the SOA Composite Application
29. Click the Source tab at the lower end of the Oracle JDeveloper window, search for
the entry starting with <invoke name="InvokeRadiology" and ending with />.
Delete the "/" character, press the End key to go to the end of the line, and then
press the Enter key.
30. Enter the following code snippet in the next line:
<bpelx:inputProperty name="jca.jms.WeblogicUnitOfOrder"
expression="'Radiology'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.TO_ENDPOINT"
expression="'Radiology'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_NAME"
expression="'ORM'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_REVISION"
expression="'2.4'"/>
</invoke>
You can also copy the preceding code snippet from the
/<folder where you have unpacked the Scenario7 ZIP
file>/artifacts/input/JMSProperties.txt file.
Note:
The BPEL Source panel appears as the following:
31. Click Save All and switch to the Design tab.
32. From the Component Palette, drag an Empty activity to the area below the
otherwise box.
33. From the Component Palette, drag a Switch activity to the second sequence of the
Flow activity.
34. Click <condition> and then click the fx icon. The Expression Builder window
opens.
35. In the Expression Builder window, enter the following expression in the
Expression field and click OK:
bpws:getVariableData('FromAdmission','body','/ns6:ADT/ns6:MSH/ns6:MSH.9
/ns6:CM_MSG.2')='A04' or
bpws:getVariableData('FromAdmission','body','/ns6:ADT/ns6:MSH/ns6:MSH.9
/ns6:CM_MSG.2')='A08'
1-38 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–45 Specifying a Condition
36. Click OK to close the conditions box.
37. From the Oracle Extensions section of the Component Palette, drag a Transform
activity to the Switch activity, below the condition task that you entered in the
preceding step.
38. Right-click the activity, select Edit to display the Transform window.
39. In the General tab, enter the name TransformToLaboratory in the Name field and
click OK.
Figure 1–46 Dragging an Transform Activity to a Switch Activity
Creating an End-to-End HL7/MLLP Application with Content-Based Routing39
Creating the SOA Composite Application
40. From the BPEL Constructs section of the Component Palette, drag an Assign
activity to the Switch activity, below the TransformToLaboratory activity.
41. Right-click the activity and select Edit to display the Edit Assign window.
42. In the General tab, enter AssignToLaboratory in the Name field and click OK.
43. From the Oracle Extensions section of the Component Palette, drag a Transform
activity to the area below the otherwise box.
44. Right-click the activity and select Edit to display the Transform window.
45. Click the General tab, enter TransformToPharmacy in the Name field, and click
OK.
46. From the BPEL Constructs section of the Component Palette, drag an Assign
activity to the area below the TransformToPharmacy activity.
47. Right-click the activity and select Edit to display the Edit Assign window.
48. In the General tab, enter the name AssignToPharmacy in the Name field and click
OK.
49. From the Component Palette, drag a Flow activity to the area between the
AssignToLaboratory and AssignToPharmacy activities.
50. Expand the Flow activity and from the Component Palette, drag an Invoke
activity to the first sequence of the above flow.
51. Edit the Invoke activity and enter InvokeLaboratory as the name of the activity
and click OK.
52. From the Component Palette, drag another Invoke activity to the second sequence
of the flow.
53. Edit the Invoke activity and enter InvokePharmacy as the name of the activity and
click OK. The BPEL Process flow should be similar to the following graphic:
Figure 1–47 The BPEL Process Flow
1-40 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
54. Connect the InvokeLaboratory activity with the SendToLaboratory service. The
Edit Invoke window appears.
55. Click the Automatically Create Input Variable (the plus sign) icon, specify the
name of the variable as ToLaboratory, and then click OK in the Create Variable
dialog box.
56. Click OK to close the Edit Invoke window.
57. Connect InvokePharmacy activity with the SendToPharmacy service. The Edit
Invoke window appears.
58. Click the Automatically Create Input Variable (the plus sign) icon, specify the
name of the variable as ToPharmacy, and then click OK in the Create Variable
dialog box.
59. Click OK to close the Edit Invoke window.
60. Double-click the TransformToLaboratory activity to display the Transform dialog
box.
61. Click the Create (the plus sign) icon, select the source as FromAdmission from the
Source Variable list and click OK.
62. Select the target as ToLaboratory from the Target Variable list.
63. In the Mapper File field, enter xsl/TransformationToLaboratory.xsl, and click
the Create Mapping (the plus sign) icon to create a new Mapper file.
Figure 1–48 The Transform Dialog Box
64. Map the source fields to target fields by dragging the following fields from source
and dropping to the corresponding fields in the target:
■
Type
■
XDataVersion
■
Standard
■
Version
■
GUID
■
CreatedBy
Creating an End-to-End HL7/MLLP Application with Content-Based Routing41
Creating the SOA Composite Application
■
CreatedDate
■
ID
■
Name
■
MSH
■
EVN
■
PID field of ADT_.PATIENT
65. Return to the BPEL Process design.
66. Double-click the AssignToLaboratory activity and assign ToLaboratory/body to
ToPharmacy/body and click OK in the Edit Assign dialog box.
Figure 1–49 Assigning ToLaboratory to ToPharmacy
67. Double-click the TransformToPharmacy activity to display the Transform dialog
box.
68. Click the Create (the plus sign) icon, select the source as FromAdmission from the
Source Variable list and click OK.
69. Select the target as ToPharmacy from the Target Variable list.
70. In the Mapper File field, enter xsl/TransformationToPharmacy.xsl, and click the
Create Mapping (the plus sign) icon to create a new Mapper file.
71. Map the source fields to target fields by dragging the following fields from source
and dropping to the corresponding fields in the target:
■
Type
■
XDataVersion
■
Standard
■
Version
1-42 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
■
GUID
■
CreatedBy
■
CreatedDate
■
ID
■
Name
■
MSH
■
EVN
■
PID field of ADT_.PATIENT
72. Return to the BPEL Process design.
73. Double-click the AssignToPharmacy activity and assign ToPharmacy/body to
ToLaboratory/body and click OK in the Edit Assign dialog box.
74. Click the Source tab at the lower end of the Oracle JDeveloper window, search for
the entry starting with <invoke name="InvokeLaboratory" and ending with />.
Delete the "/" character, press the End key to go to the end of the line, and then
press the Enter key.
75. Enter the following code snippet in the next line:
<bpelx:inputProperty name="jca.jms.WeblogicUnitOfOrder"
expression="'Laboratory'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.TO_ENDPOINT"
expression="'Laboratory'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_NAME"
expression="'ADT'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_REVISION"
expression="'2.3'"/>
</invoke>
The BPEL Source panel appears as the following:
76. Search for the entry starting with <invoke name="InvokePharmacy" and ending
with />. Delete the "/" character, press the End key to go to the end of the line,
and then press the Enter key.
77. Enter the following code snippet in the next line:
<bpelx:inputProperty name="jca.jms.WeblogicUnitOfOrder"
expression="'Pharmacy'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.TO_ENDPOINT"
expression="'Pharmacy'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_NAME"
expression="'ADT'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_REVISION"
expression="'2.3'"/>
Creating an End-to-End HL7/MLLP Application with Content-Based Routing43
Creating the SOA Composite Application
</invoke>
You can also copy the preceding code snippet from the
/<folder where you have unpacked the Scenario7 ZIP
file>/artifacts/input/JMSProperties.txt file.
Note:
The BPEL Source panel appears as the following:
78. Click Save All and switch to the Design tab.
79. Add a third sequence to the main Flow activity by clicking the Add Sequence
icon.
80. From the Component Palette, drag a Switch activity to the third sequence.
81. Click <condition> and then click the fx icon. The Expression Builder window
opens.
82. In the Expression Builder window, enter the following expression in the
Expression field and click OK:
bpws:getVariableData('FromAdmission','body','/ns6:ADT/ns6:MSH/ns6:MSH.9
/ns6:CM_MSG.2')='A31'
1-44 Oracle SOA Suite for healthcare intergration - Sample Scenario
Creating the SOA Composite Application
Figure 1–50 Specifying a Condition
83. Click OK to close the conditions box.
84. From the Oracle Extensions section of the Component Palette, drag a Transform
activity to the Switch activity, below the condition task that you entered in the
preceding step.
85. Right-click the activity, select Edit to display the Transform window.
86. In the General tab, enter the name TransformToCanonical in the Name field and
click OK.
87. From the BPEL Constructs section of the Component Palette, drag an Invoke
activity to the area below the TransformToCanonical activity. Edit the activity and
name this Invoke activity as InvokeCanonical and click OK.
88. Connect the InvokeCanonical activity with SendToCanonical service. The Edit
Invoke window appears.
89. Click the Automatically Create Input Variable icon, specify the name of the
variable as ToCanonical, and then click OK in the Create Variable dialog box.
90. Click OK to close the Edit Invoke window.
91. Double-click the TransformToCanonical activity to display the Transform dialog
box.
92. Click the Create icon (the plus sign), select FromAdmission as Source Variable
and click OK. Select ToCanonical as the Target Variable in the Transform dialog
box.
93. In the Mapper File field, enter xsl/TransformationToCanonical.xsl, and click the
Create Mapping (the plus sign) icon to create a new Mapper file.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing45
Creating the SOA Composite Application
Figure 1–51 The Transform Dialog Box
94. Map the source fields to target fields by dragging the following fields from source
and dropping to the corresponding fields in the target:
■
Type
■
XDataVersion
■
Standard
■
Version
■
GUID
■
CreatedBy
■
CreatedDate
■
ID
■
Name
■
MSH
■
EVN
■
PID field of ADT_.PATIENT to ADT_ALL.PATIENT
95. Return to the BPEL Process design.
96. Click the Source tab at the lower end of the Oracle JDeveloper window, search for
the entry starting with <invoke name="InvokeCanonical" and ending with />.
Delete the "/" character, press the End key to go to the end of the line, and then
press the Enter key.
97. Enter the following code snippet in the next line:
<bpelx:inputProperty name="jca.jms.WeblogicUnitOfOrder"
expression="'Canonical'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.TO_ENDPOINT"
expression="'Canonical'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_NAME"
expression="'ADT'"/>
<bpelx:inputProperty name="jca.jms.JMSProperty.DOCTYPE_REVISION"
expression="'2.3'"/>
</invoke>
1-46 Oracle SOA Suite for healthcare intergration - Sample Scenario
Testing the Application
You can also copy the preceding code snippet from the
/<folder where you have unpacked the Scenario7 ZIP
file>/artifacts/input/JMSProperties.txt file.
Note:
The BPEL Source panel appears as the following:
98. Click Save All and close all the tabs except the composite tab. The Oracle SOA
Suite for healthcare integration composite is now ready for deployment.
Task 9 Deploy the Composite Application
In the Application Navigator panel, right-click FPScenario7Composite, point to
Deploy, and then click FPScenario7Composite.
1.
The Deploy FPScenario7Composite dialog appears.
2.
Select Deploy to Application Server, and then click Next.
3.
On the Deploy Configuration page, select Overwrite any existing composites
with the same revision ID and click Next.
4.
On the Select Server page, select the server connection you defined in Task 3
(AppConn), and then click Finish. Ignore any warning message that may appear.
The healthcare application is deployed to the WebLogic server. Any messages
generated during deployment appear in the lower section of the Oracle
JDeveloper window.
1.7 Testing the Application
A sample input file is provided so you can test your application and verify that it is
working correctly. You can use the Oracle B2B command-line simulator to perform the
test. A configuration file is required, which is provided in the Scenario3 ZIP file.
In this test scenario, there are four endpoints: Admission, Laboratory, Pharmacy, and
Radiology. Admission is configured as an MLLP server, and Laboratory, Pharmacy,
and Radiology are configured as MLLP clients. You configure the B2B simulator to
send HL7 messages to an MLLP server.
1.
When B2B Simulator sends an HL7 message, the Admission endpoint receives the
message sends the ACK back to B2B Simulator.
2.
The Oracle BPEL Process component receives the message from Admission and
routes it to all the Laboratory, Pharmacy, and Radiology endpoints. In the case of
transformation, the ADT message to Radiology gets transformed to an ORM
message.
3.
Laboratory sends the HL7 message to another MLLP client with the port 9040 (in
this case, B2B Simulator can act as an MLLP client) and receives the ACK.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing47
Testing the Application
4.
Pharmacy sends the HL7 message to another MLLP client with the port 9050 (in
this case, B2B Simulator can act as an MLLP client) and receives ACK.
5.
Radiology sends the HL7 message to another MLLP client with the port 9060 (in
this case, B2B Simulator can act as an MLLP client) and receives ACK.
Testing the application consists of two steps: Testing the application and verifying the
data.
Task 1 Test the Application
1. Navigate to the temporary directory where you extracted the Scenario7 ZIP file in
Section 1.2, "Importing the Document Definitions".
2.
In the temporary directory, navigate to /artifacts/runtime and copy hl7-config.xml
to $ORACLE_SOA_HOME/bin, where $ORACLE_SOA_HOME is the location in
the Oracle Fusion Middleware Home directory in which Oracle SOA Suite is
installed.
If not already set, run the following command to set
$ORACLE_SOA_HOME:
Note:
setenv ORACLE_SOA_HOME <the absolute path to the in which Oracle SOA
Suite is installed>
3.
Navigate to the $ORACLE_SOA_HOME/bin folder and do the following:
a.
Open hl7-config.properties in a text editor.
b.
Edit the following entries:
Specify the value of ListeningPort as the port number of the sender endpoints
Specify the values of Name as the receiving partner’s name
Specify the values of Port as the port numbers of the receiver ports
Specify the values of the HostName as the names of the computers that are
running the Healthcare application.
c.
4.
5.
Save and then close the file.
Check if already exist, else -run the following commands to create two folders:
■
mkdir
-p
/tmp/blite/test/in
■
mkdir
-p /tmp/blite/test/out
Navigate to the temporary directory where you extracted the Scenario7 ZIP file. In
the temporary directory, navigate to /artifacts/input and copy any of the test
input files, which are listed in Section 1.1.2, "Provided Files", to
/tmp/blite/test/in/MyCompany_ADT_2.3.txt as the following:
cp ADT_A04_2.3.dat /tmp/blite/test/in/MyCompany_ADT_2.3.txt
6.
Check if ANT_HOME is already set, else run the following command:
setenv ANT_HOME $ORACLE_SOA_HOME/../modules/org.apache.ant_1.7.1/
7.
Navigate to $ORACLE_SOA_HOME/bin.
8.
Type the following command to run the B2B Simulator:
ant -f ant-b2bsimulator-util.xml b2bsimulatorstart
-Dargs=”hl7-config.properties”
1-48 Oracle SOA Suite for healthcare intergration - Sample Scenario
Testing the Application
B2B Simulator obtains the message for processing from the /tmp/blite/test/in/
folder.
Ensure that only one instance of B2B Simulator is running (to
avoid creation of multiple java processes.)
Note:
It is assumed that both B2B Simulator and Oracle SOA Suite
for healthcare integration are running in the same environment
(because the prebuilt configurations refer to localhost:port.)
Note:
9.
When command has run successfully, you can review the messages by using:
■
The Reports feature of Oracle SOA Suite for healthcare integration
■
The Composite instance
■
The test output directory of B2B Simulator to which Out_Patient_Laboratory
sends the message (/tmp/test/blite/out)
Repeat Step 5 to send more messages.
Task 2 Verify the Message Flow
Using the Oracle Fusion Middleware Enterprise Management Console:
1.
Open a Web browser and log on to:
http://<hostname>:<port>/em
Where <hostname> is the name of the computer where WebLogic Server resides,
and <port> is the port number on which WebLogic Server is listening. Typically,
the port is 7001.
2.
Expand the SOA folder under the farm name in the left panel and navigate to
FPScenario7Composite.
3.
Click the Dashboard tab. The composite instances are listed under the Recent
Instances section.
4.
Click the first Instance ID. The message flow at each component of
FPScenario7Composite is displayed.
5.
Click ReceiveGenericADT under Trace. This displays the message details in the
Reports page of the Oracle SOA Suite for healthcare integration user interface
Similarly click each component of the composite to verify the status of the
message.
Using the Oracle SOA Suite for healthcare integration user interface:
1.
Log on to http://<host>:<port>/healthcare. Typically, the port number is 8001.
2.
Click the Dashboard tab and specify the options of your choice.
3.
Click the Reports tab. The list of messages will be displayed. The message flow for
a selected message will be displayed at the bottom of the page. If there are errors, a
red X icon is displayed at the component where the error has occurred. Click the
icon to view the error details.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing49
Working with the Prebuilt Sample
Figure 1–52 Viewing the Message Details in the Oracle SOA Suite for healthcare integration User Interface
1.8 Working with the Prebuilt Sample
The Scenario3 ZIP file includes the Oracle JDeveloper project that is described in the
previous procedures. You can extract the sample project and then deploy and test it
without going through the steps of creating the project.
1.
Perform Task 3, "Create and Configure the Oracle JMS Adapters for Receiving
Admission Messages"
2.
Perform Task 4, "Create and Configure the Oracle JMS Adapter for the Sending
Laboratory Messages"
3.
Perform Task 5, "Create and Configure the Oracle JMS Adapters for the Sending
Pharmacy Messages"
4.
Perform Task 6, "Create and Configure the Oracle JMS Adapters for the Sending
Radiology Messages"
5.
Task 7, "Create and Configure the Oracle JMS Adapters for the Sending Canonical
Messages"
6.
Log on to http://<host>:<port>/healthcare.
7.
Click the Designer tab and then click the Administration tab.
8.
Double-click Import/Export.
9.
Import Oracle SOA Suite healthcare Integration configuration from
/artifacts/samples/b2b-hcfp-107-MLLP-scenario7.zip.
10. Expand Settings and double-click Runtime.
1-50 Oracle SOA Suite for healthcare intergration - Sample Scenario
Working with the Prebuilt Sample
11. Ensure that Outbound Dispatcher Count and Inbound Dispatcher Count are set
to 1, and the Auto Stack Handler check box is selected.
12. Enable the JMS channels in Oracle SOA Suite for healthcare integration user
interface as follows:
a.
Click the Designer tab, click the Administration tab, and then click the
Internal Delivery Channel folder.
b.
Double-click the channels and ensure that the Enabled check box is selected (if
it is not already enabled, select the Enabled check box and click Apply.)
c.
Unzip artifacts/samples/composite/hcfp-107-MLLP- scenario7.zip on your
local drive and open FPScenario7.jws in Oracle JDeveloper.
d.
Perform Task 2, "Create a Connection to the WebLogic Server".
e.
Perform Task 9, "Deploy the Composite Application".
f.
Test the project, as described in Section 1.7, "Testing the Application" for
experiencing the process at run time.
Creating an End-to-End HL7/MLLP Application with Content-Based Routing51