Page 1 of 40
Contents
Introduction......................................................................................................................... 4 Why SOA for Healthcare .................................................................................................... 5 Installation Steps ................................................................................................................. 6 Steps to Setup SOA HealthCare Integration: .................................................................... 7 HL7 Implementation in HealthCare Integration .......................................................... 7 User Experience with HL7 Protocol ............................................................................. 7 Document Creation ...................................................................................................... 7 Endpoint Creation ...................................................................................................... 12 HealthCare Adapter .......................................................................................................... 16 Healthcare adapter Healthcare-UI Binding ........................................................... 22 Simulator Setup for Testing.............................................................................................. 23 Monitoring Aspects ........................................................................................................... 24 Dashboards ................................................................................................................... 24 Reports .......................................................................................................................... 26 Other features .................................................................................................................... 27 Transport Protocols ..................................................................................................... 27 Permanent / Transient Connection ............................................................................ 27 Immediate Ack Feature ............................................................................................... 27 Sequencing .................................................................................................................... 28 Persist HL7 ACK ......................................................................................................... 28 Discard HL7 ACK........................................................................................................ 28 Batching HL7 Messages .............................................................................................. 28 Mapset and Callout ...................................................................................................... 28 Internal Delivery Channels ......................................................................................... 29 Dynamic IP ................................................................................................................... 29 MLLP HA ..................................................................................................................... 29 Alerts & Notification.................................................................................................... 30 Audit Trail .................................................................................................................... 30 User Provision .............................................................................................................. 30 Command line utilities................................................................................................. 31 Performance tips & tricks ................................................................................................. 31 Basic Tuning Considerations ...................................................................................... 31 Best Practices .................................................................................................................... 31 FAQ ................................................................................................................................... 32
Page 2 of 40
Reference:.......................................................................................................................... 32 Appendix A ........................................................................................................................ 33 What is HL7.................................................................................................................. 33 Need for HL7 ................................................................................................................ 33 HL7 Message structure................................................................................................ 34 Acknowledgment in HL7 ............................................................................................. 35 Appendix B ........................................................................................................................ 36 Preseeded document .................................................................................................... 36 Post Install Script ......................................................................................................... 36 Appendix C ........................................................................................................................ 37 Mediator as Binding Component ............................................................................... 37 Deployment of Composite Application ...................................................................... 39
Page 3 of 40
Introduction
SOA Suite for HealthCare integration is an integrated, best-of-breed suite that helps HealthCare organizations rapidly design and assemble, deploy and manage, highly agile and adaptable business applications. In Oracle SOA Suite for Healthcare integration, standalone products such as B2B, Oracle Web Services Manager (OWSM), BAM, Adapters, Mediator, and others are combined in a single suite on a single Weblogic server platform. HL7 (Health Level Seven) is one American National Standards Institute (ANSI) accredited Standards Developing Organizations (SDOs).HL7 is a standard that is being used to exchange the data in the health care world. SOA Suite for HealthCare integration is used for exchanging clinical and administrative data between medical applications.
Purpose The main purpose of this book is to discuss about the support of HL7 in Oracle SOA Suite for HealthCare. This book starts with implementation is Oracle SOA Suite for HealthCare in terms of modeling of HL7 and message communication using this. It also includes basics of HL7 After reading this book, user should be able to use Oracle SOA Suite for HealthCare and model different features.
Audience This Cookbook is intended for SOA Suite for HealthCare users / HL7 users who want to use HL7 messages using Oracle SOA Suite for HealthCare and would like to understand various use cases and implementation. . Prerequisite Basic knowledge of HL7. Assumptions This document is based on Oracle Fusion Middleware HealthCare Integration SOA Suite.
Page 4 of 40
Page 5 of 40
Installation Steps
Installation of SOA for healthcare can be done in 2 steps: 1. Install SOA Following are the quick installation of SOA guide. http://docs.oracle.com/cd/E28280_01/user.1111/e23486/toc.htm
2. Post Install Steps for HealthCare Integration Please refer to Appendix-B Or Following are the link for post install steps: http://docs.oracle.com/cd/E28280_01/user.1111/e23486/hcfp_ui_intro.htm #CHDDEHDH
Page 6 of 40
It uses two components in the designing of SOA Healthcare integration 1. HealthCare Integration UI 2. HealthCare Adapter
Document Creation
In this section, we create the document which has to be sent or receive from the Endpoint. Respective document will be attached to the Endpoint to send or receive. There are two way to create the document. 1. Import the preseed document 2. Create Documents User can choose any of the way either by importing already exiting documents or Create the document. Import the preseed document In the Healthcare Integration UI: Go to Designer page Administration Repository Management page Browse Preseed Doc Library Click on Import To know more about this, please refer to Appendix-B preseed chapter. Create Documents The required document definition will be created by admin. Endpoint can make use of the same as a document to send or document to receive panel. Designer Expand Document Select Document Protocols Select HL7
Page 7 of 40
Create Document Protocols Version Provide the Version name (2.3.1) Field Version Name Value 2.3.1
Save the newly created Document Protocol version Note: Generally, Version Name belongs to the particular release of the HL7 2.x like 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6 etc
Page 8 of 40
Note: Depending on the requirement you can edit the values in the remaining fields or you can choose the default. This scenario uses messages with only MSH segment hence choose the default values in File and Batch headers Create Document Types Create Document Type: ADT_A01
Page 9 of 40
Select newly created Document Protocol Version (2.3.1) in Document Protocol pane Click (+) icon to Add Document Type Provide the Document Type Name (ADT_A01) Enter the following information Field Document Type Name Document Type Description Optionally, if the ACK message is not based on the trigger event such as A01, A02, select the option for HL7 Generic ACK, only if the ACK message generated by system should not contain the trigger event. Such as A01, A02 etc.. Save the newly created Document Type Note: Document Type Name is based on Message-Type and Trigger-Event of HL7. Like In HL7, ADT is message type and A01 is trigger event then In HealthCare Integration, Document Type Name will be ADT_A01. Create Document Definition Select newly created Document Type (ADT_A01) in Document Protocol pane Click (+) icon to Add Document Definition Provide the Document Definition Name
Value ADT_A01
You have the option of providing an xsd corresponding to the transaction set ecs , which can be used in the back end application such as BPEL for required transformation to edifecs.xml. Provide the Transaction set ecs file, under Transaction tab. This is mandatory. It is best practice to create the ecs file using the document.
Page 10 of 40
Note: If it is required to process the ACK message create another document definition for the document type ACK_A01 with the following information Note: User can use Document Editor to create ADT-231-MSH.ecs and ADT-231MSH.xsd files. Also customize ecs and xsd based on requirement. Field Document Definition Name Value ACK_def a name of user choice
Observe the xsd and ecs files are already being uploaded. As this is a common document type, it has been made part of default configuration. However, it is also possible to upload the ecs and xsd files for ACK_A01 by clicking below mentioned Field Definition Transaction set ecs file Value ACK-231-MSH.xsd ACK-231-MSH.ecs button with
Page 11 of 40
Endpoint Creation In Oracle SOA Suite for healthcare integration, endpoints are communication channels from where predefined documents are sent or received. For Oracle SOA Suite for healthcare integration, you need to associate an endpoint with document definitions and enable the endpoint to be able to start sending and receiving messages. Select Endpoint Click (+) icon to create a new Endpoint
Value MLLPEndpoint a name of user choice MLLP Server / Client localhost or Client IP Address Port Number
Page 12 of 40
Add Documents definitions To Receive Click (+) on Document To Receive window to add Document definition for the Endpoint as shown below.
Page 13 of 40
Select the required document for business use case. Repeat the above steps for all the required document definitions. Note: User can also drag the document definition from document tree and drop it to the Document To Send Pane. Functional ACK Validation Translation Select to enable the functional acknowledgment for success or error criterion Select to enable validation of the document against the configured ECS file Select to enable the translation of XML to native format and vice-versa
Add Document To Send If User wants to send the document to Endpoint, User can attach the document to Document to Send Pane.
Page 14 of 40
Select appropriate role of the Initiator (sender/receiver) depending on the business use case.
Page 15 of 40
HealthCare Adapter
The Oracle Healthcare Adapter is used to add healthcare integration binding components to a SOA composite application. It helps to create an end-to-end process, such as sending admissions information generated by a registration application to a laboratory system. How to Configure Healthcare Adapter Adding a Healthcare Adapter to a composite launches the Healthcare Configuration Wizard in Oracle JDeveloper. The wizard lets you to create and configure healthcare integration binding components in SOA composite application as a service or reference: The component is used as a service (inbound) to receive messages from external systems and deliver them to SOA composite applications. Oracle SOA Suite for healthcare integration is the entry point to the SOA composite application. The component is used as a reference (outbound) to send messages from the SOA composite application to external applications. Oracle SOA Suite for healthcare integration is the exit point to the SOA composite application. Starting screen of Healthcare Adapter
Page 16 of 40
Page 17 of 40
Connect to the Server and test the connection with SOA Server.
Page 18 of 40
Page 19 of 40
Page 20 of 40
Note: User can use BPEL, Mediator and other SOA component to create the composite based on their requirement. User can drag the component in the component panel and complete the composite flow. Please refer to Appendix-C to know more about Mediator Binding.
Page 21 of 40
defined in the endpoint configuration in the healthcare integration user interface. hc.documentProtocolVersion - version Name of the protocol associated with the document definition. For example, 2.3.1. hc.documentTypeName - Document Type Name associated with the document definition. For example, ADT_A01.
If Healthcare adapter is used as a service (inbound) to receive messages from external systems and deliver them to SOA composite applications. Then Composite name needs to also define in the HCFP-UI in the Endpoint page of Document To Receive pane. This Binds the Document to Composite and once it receives, it delivers to given composite. To send the message to backend/composite, User can choose either Internal Channel or Composite.
Page 22 of 40
ListeningFolder: Where the files will be picked up and send to the Client Endpoint ListeningPort: Server port for Simulator.
ClientEndPoint: has the detail about where the file has to send.
Page 23 of 40
Monitoring Aspects
Dashboards
Oracle SOA Suite for healthcare integration dashboards displays information about the current health of the endpoints in a healthcare integration application. You can create and configure multiple dashboards as needed to monitor the status and volume metrics for the endpoints you have defined. The Dashboards tab reflects changes that occur in the runtime repository, such as purging runtime instance data, new messages processed, and new error messages. You can display data for various time periods, and you can manually refresh the data in real time or set the dashboard to automatically refresh at set intervals. System Dashboard System Dashboard that displays a global view of status of the healthcare setup. This includes a overall view of the endpoints and internal delivery channels for the purpose of monitoring. The System Dashboard enables you to view a list of enabled as well as disabled endpoints and the ports to which these endpoints listen, if applicable. In addition, the dashboard displays the message counts. The System Dashboard also allows you to group or sort endpoints by transport protocol, outbound and inbound, or both.
Page 24 of 40
Endpoint Dashboard Endpoint Dashboard displays Endpoint view dashboard where user can check the details about the specific Endpoint. Endpoint dashboard displays the message counts, doctyes, message volumes and other details for specific Endpoint.
Sequencing Dashboard The Sequenced Messages section of an endpoint dashboard provides information about the health of the sequenced message queue. In this section, you can view information about the messages that are pending in the sequenced message queue. If there is no information in this section, then sequenced messages are processing successfully. If messages are backed up, you can view the necessary information and take steps to unblock the queue.
Page 25 of 40
Reports
The Reports page of the Oracle SOA Suite for healthcare integration user interface lets you view the status of the messages being processing through healthcare integration components in real-time. You can view all messages, or you can narrow down the messages displayed by a variety of criteria, including endpoints, date ranges, document information, and payload fields. User can create a report template with his customized report properties.
Page 26 of 40
Other features
Transport Protocols
There are different other protocols supported by Healthcare integration. MLLP 2.0 HLLP File FTP SFTP WS-HTTP JMS Generic TCP
Page 27 of 40
Sequencing
SOA Healthcare allows the users to achieve End-End FIFO through 2 approaches. a. Component Sequencing b. Interface Sequencing To know more about the Sequencing, please refer Sequencing guide.
Page 28 of 40
messages in HL7 2.3.1 format, but a receiving system needs the data in HL7 2.5 format. Or you might need to transform HIPAA 4010 messages to HIPAA 5010 and back again. Java callouts transform the formats of messages exchanged between the host and remote endpoints. You can use callouts to invoke an XSLT style sheet and any Java program in general.
Dynamic IP
The dynamic IP feature of MLLP provides flexibility to deliver a message to dynamic endpoints. This is set in the message enqueue header property file. For example: eventName=DynamicIP:EP:140.87.154.102:4444 This feature is also available in Healthcare Adapter (as part of the SOA Service Component Architecture (SCA) assembly model) using the following syntax: hc.toDynamicIP=EP: 140.87.154.102:4444
MLLP HA
In a clustered environment, the first healthcare integration instance to start up and initialize is the instance that handles MLLP traffic. When the instance handling MLLP traffic fails, an inactive instance in the cluster becomes active and takes over the responsibility of handling MLLP traffic within the configured timeout period. All in-flight messages from the failed instance are recovered since message processing is transactional for healthcare integration. This ensures that no messages are lost during failover. If the instance that fails becomes completely disabled, the second and now active instance continues to pick up messages from and send messages to an outbound distributed queue created specifically for high availability processing. High availability for Oracle SOA Suite for healthcare integration is handled through the high availability features of WebLogic Server, Oracle database, and Oracle SOA Suite. You can configure Oracle SOA Suite for healthcare integration for high availability by adding Oracle B2B properties in Oracle Enterprise Manager. These properties enable high availability for healthcare integration projects and specify timeout and heartbeat intervals for the servers in the cluster. All features currently supported for MLLP in Oracle SOA Suite for healthcare integration are also supported in a high availability environment, including message sequencing.
Page 29 of 40
Audit Trail
The Oracle auditing framework collects and stores information about events affecting configured components, providing an audit log of activity for those components to help support your compliance requirements. Auditing for each SOA Suite component is defined by an audit policy that defines which components and which activities are captured in the audit log. You can configure the audit policy to only capture the information you need and ignore the rest. This is done on the Audit Policy page of Oracle Enterprise Manager. The set of auditable events for each application and component is defined by the audit policy and differs between each application. When you expand the list of events for a component, only those events that can be audited for that component appear in the list. For each event, you can further specify whether to only log successful attempts or failed attempts (currently Oracle SOA Suite for healthcare integration only logs successful attempts).
User Provision
The Oracle Healthcare administrator (the default login username-password combination) can add additional users (registered users in the Weblogic default store) by using the Oracle Healthcare console. These users can log in to Oracle Healthcare and only view endpoint. The following roles are available: Administrator roleProvides access to all Oracle Healthcare functionality Monitor roleProvides read access to reporting and metrics functionality only (use of the Reports link) User can be create by using the Identity Store (in the Oracle Weblogic Server console), and then Admin can provision users with specific roles in the Healthcare console.
Page 30 of 40
Best Practices
Following are some of the best Practice for HL7 Document Processing. 1. Validate the Edifecs xml document against the respective XSD in the back end application such as BPEL. This will ensure the validity of the document before sending it to BPEL. 2. Turn on the Validation for both inbound and Outbound HL7 Message for getting appropriate error message related to the validity of the document. 3. It is needed to either to enable validation/Translation for generating FA in Oracle Healthcare Integration. 4. Make sure to use the same Document routing ID in Oracle Healthcare Integration and BPEL for respective Document Definition. 5. Make sure to use the proper line delimiters in the document, also to define the same in the Oracle Healthcare Integration configuration.
Page 31 of 40
FAQ
1. What is Custom Document in Healthcare Integration ? Custom document is used to send the custom document or HL7V3 document. 2. How the HIPAA and NCPDP messages are handled ? These documents can be handled using support of B2B. B2B supports multiple other protocols. 3. How can we resubmit or retransmit the same message again ? Healthcare has feature of resubmitting the message again. In the report section, user can choose particular message and resubmit. 4. Where can user define Callout Directory? Callout directory can be defined in Administration tab Settings Runtime page. 5. What is FA handled automatically in Document? If User wants to handle FA based on the document then user can disable the global property in Runtime setting page and decide the FA based on each document.
Reference:
http://www.hl7.org http://www.oracle.com/technetwork/middleware/healthcare/overview/index.html http://docs.oracle.com/cd/E23943_01/user.1111/e23486/toc.htm http://blogs.oracle.com/SOAForHealthcare/
Page 32 of 40
Appendix A
What is HL7
HL7 (Health Level Seven) is one of several American National Standards Institute (ANSI) accredited Standards Developing Organizations (SDOs) operating in the health care arena for exchanging clinical and administrative data between medical applications. "7" refers to the seventh layer in the OSI model. This standard defines the format and the content of the messages that medical applications must use when exchanging data with each other and does not explains the technical details on how the data should be exchanged.
When one system is introduced in this diagram, it becomes much more complex. The number of translation programs increases there by increasing the overhead. Hence by using the HL7 standard protocol, which is suitable for healthcare domain, the challenge of conversion can be eliminated completely as shown below.
Page 33 of 40
Messages are defined sequence of segments or segment groups. Each segment, group or message set within a message can be optional and/or repeating. Delimiters The default message delimiters are ^ ~ \ & component separator repetition separator Escape character Sub component separator
Page 34 of 40
Acknowledgment in HL7
An HL7 is required to be sent by the receving application to make sure that message has been accepted.
Ack modes
Original Mode This is a business level acknowledgement not a messaging system acknowledgement where in the message validated at the integration level not just at the acceptence level. A majority of HL7 interfaces today use original this mode. Enhanced mode This mode is typically dependent on MSH .15 of the incoming message. The standard values are NE: Never AL: Always SU: Successfully processed ER: Only during Error Oracle Oracle Healthcare Integration supports both the modes mentioned above.
MSA.1 - Code explaining Accept (AA), error (AE) or Reject (AR) MSA.2 - Contains the control number of incoming business message. i.e., MSH.10 of business message MSA.3 - Optional field containing the error description
Page 35 of 40
Appendix B
Preseeded document
Preseeded documents is the repository file which has all the hl7 standard message document So user can directly import those documents and use it in the Endpoint. These preseeded documents are available at: <soa_home>/soa/thirdparty/healthcare/hl7_doctypes/
Page 36 of 40
Appendix C
Mediator/BPEL and other SOA tools can be used to bind the service and reference.
Add a Mediator to the composite. In this use-case, the Mediator will merely be a pass-through. Search for Mediator in Component Palette. (Mediator is under Service Component) Drag and drop Mediator to the Components area of the canvas. Provide the name as MediatorBinding Click OK Start to assemble the three components: HealthCareInboundService, MediatorBinding and HealthCareOutboundReference To wire components together, simply drag the small triangle at the bottom corner of the component and drag it onto a drop zone (possible drop zones will be highlighted in green). Start by wiring HealthCareInboundService and MediatorBinding
Page 37 of 40
Then MediatorBinding to HealthCareOutboundReference reference Double Click on the mediator (MediatorBinding) to add the sequencing information. Select FIFO for Resequence field under receive section. Select icon from the Group under Resequencer Option
Page 38 of 40
Click OK Save All and close all tabs but the composite. The design of composite for Healthcare Integration scenario is complete.
Page 39 of 40
Chief Editor: Nitesh Jain Contributors: Ramesh Anantharamaiah Prasanna Chandrashekhara Sundararaman Shenbagam Ted Hong Suresh Sharma Lasted Updated: July 19, 2013
Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Oracle Corporation provides the software that powers the Internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright 2013 Oracle Corporation All rights reserved.
Page 40 of 40