40
Page 1 of 40 An HL7 Cookbook for SOA Suite for healthcare integration

Oracle Healthcare Integration HL7 Cookbook

  • Upload
    lynga

  • View
    239

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Healthcare Integration HL7 Cookbook

Page 1 of 40

An HL7 Cookbook for SOA Suite for healthcare integration

Page 2: Oracle Healthcare Integration HL7 Cookbook

Page 2 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 3: Oracle Healthcare Integration HL7 Cookbook

Page 3 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 4: Oracle Healthcare Integration HL7 Cookbook

Page 4 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 5: Oracle Healthcare Integration HL7 Cookbook

Page 5 of 40

Why SOA for Healthcare

SOA Suite for HealthCare helps healthcare industry to reduce operating costs and speeds time-to-market by delivering a consistent user interface, management console and monitoring environment, as well as healthcare libraries and templates for healthcare customer projects.

Oracle SOA Suite for healthcare integration is fully configurable and extensible, providing a highly flexible platform for collaboration across all healthcare domains. Healthcare message standards support: Messaging standards - HL7, HIPAA, Custom , X12N Exchange standards - MLLP (v1.0, v2.0), TCP/IP, File, FTP, SFTP, JMS Simplified dashboards and customized reports helps users to advanced monitoring capabilities that support end-to-end healthcare message tracking. A toolkit for rapid HIPAA 5010 upgrade and compliance provides pre-defined healthcare integration mapping for HIPAA standards that is fully customizable and extensible. MLLP-HA helps easily failover and disaster recovery which makes system running on the long time without any issue. Audit keeps track of all the system changes. Alert and notification (SMS,Email etc) helps user to take the fast action and gives tracking on the real-time.

Page 6: Oracle Healthcare Integration HL7 Cookbook

Page 6 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 7: Oracle Healthcare Integration HL7 Cookbook

Page 7 of 40

Steps to Setup SOA HealthCare Integration:

It uses two components in the designing of SOA Healthcare integration

1. HealthCare Integration UI

2. HealthCare Adapter

HL7 Implementation in HealthCare Integration

User Experience with HL7 Protocol

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

Attach

Documents

Start

Message

Flow

And

Runtime

Create

Endpoint

Create/Import

Documents

HealthCare

Adapter

Page 8: Oracle Healthcare Integration HL7 Cookbook

Page 8 of 40

Create Document Protocols Version Provide the Version name (2.3.1)

Field Value

Version Name 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 9: Oracle Healthcare Integration HL7 Cookbook

Page 9 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 10: Oracle Healthcare Integration HL7 Cookbook

Page 10 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 Value

Document Type Name ADT_A01

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

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 11: Oracle Healthcare Integration HL7 Cookbook

Page 11 of 40

Field Value

Document Definition Name

ADT_A01__def – a name of user choice

Definition ADT-231-MSH.xsd

Transaction Set File ADT-231-MSH.ecs

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-231-MSH.xsd files. Also customize ecs and xsd based on requirement.

Field Value

Document Definition Name 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 button with below mentioned

Field Value

Definition ACK-231-MSH.xsd

Transaction set ecs file ACK-231-MSH.ecs

Save the newly created Document Definition

Page 12: Oracle Healthcare Integration HL7 Cookbook

Page 12 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

Parameters Value

Name MLLPEndpoint – a name of user choice

Transport Protocol MLLP

Connection Mode Server / Client

HostName localhost or Client IP Address

Port Port Number

Page 13: Oracle Healthcare Integration HL7 Cookbook

Page 13 of 40

Add Documents definitions To Receive Click (+) on Document To Receive window to add Document definition for the Endpoint as shown below.

Page 14: Oracle Healthcare Integration HL7 Cookbook

Page 14 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

Select to enable the functional acknowledgment for success or error criterion

Validation Select to enable validation of the document against the configured ECS file

Translation 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 15: Oracle Healthcare Integration HL7 Cookbook

Page 15 of 40

Select appropriate role of the Initiator (sender/receiver) depending on the business use case.

Check the Enabled checkbox. Click on Apply.

Page 16: Oracle Healthcare Integration HL7 Cookbook

Page 16 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 17: Oracle Healthcare Integration HL7 Cookbook

Page 17 of 40

Provide Service name

Provide the integration type. For composite, we can choose default.

Page 18: Oracle Healthcare Integration HL7 Cookbook

Page 18 of 40

Connect to the Server and test the connection with SOA Server.

Page 19: Oracle Healthcare Integration HL7 Cookbook

Page 19 of 40

Select the receive and or send option

Page 20: Oracle Healthcare Integration HL7 Cookbook

Page 20 of 40

Select the Definition which has to receive or send

Page 21: Oracle Healthcare Integration HL7 Cookbook

Page 21 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 22: Oracle Healthcare Integration HL7 Cookbook

Page 22 of 40

Healthcare adapter – Healthcare-UI Binding

If Healthcare adapter is used as a reference (outbound) to send messages from the SOA composite application to external applications then it identifies the Endpoint based on the SCA header properties which needs to be define in Mediator/BPEL processes. Some of them are:

hc.ToEndpoint – Endpoint Name of the receiving application. This name is

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 23: Oracle Healthcare Integration HL7 Cookbook

Page 23 of 40

Simulator Setup for Testing

Test Simulator acts as a testing tool which can helps user to test the Oracle SOA Suite for healthcare integration. It uses a configuration properties file to model endpoints for sending and/or receiving messages in a test case.

Run Simulator:

Go to <soa_home>/bin

Create a property file with below properties:

Run the below command:

ant -f ant-b2bsimulator-util.xml b2bsimulatorstart -Dargs=<propetyFileName>

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.

Exchange = MLLP ListeningFolder = <ListeningFolderName> DeliveryFolder = <DelieryFolderName> ListeningPort= <Listening Serverport> ClientEndPoint Name = <Endpoint Name> HostName = <Healthcare Integration HostName> Port = <Healthcare Integration port>

Page 24: Oracle Healthcare Integration HL7 Cookbook

Page 24 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 25: Oracle Healthcare Integration HL7 Cookbook

Page 25 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 26: Oracle Healthcare Integration HL7 Cookbook

Page 26 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 27: Oracle Healthcare Integration HL7 Cookbook

Page 27 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

Permanent / Transient Connection

MLLP connections can be permanent or transient:

Features of a permanent connection:

Caches the socket based on the endpoint. Only one socket per endpoint is created. The socket is reused for future messages.

Features of a transient connection:

A new socket is created for each message. A message is sent and the listener waits for the acknowledgment. When the acknowledgment is received, the socket is closed.

Immediate Ack Feature

An immediate acknowledgment is generated and transmitted in the transport layer whereas the functional Ack generates at document layer. It is available when the turnaround time of a functional acknowledgment is undesirable (for example, for some business-critical health care applications), because the functional acknowledgment captures translation and validation errors. Oracle SOA healthcare can send an immediate acknowledgment in the following modes: Default: SOA healthcare parses the incoming HL7 message and generates an acknowledgment from it. In this mode, SOA Healthcare can send the acknowledgment to the sending application with correlation details (for example, the control number from the incoming message, the sending application, and so on.) Hence, the Endpoint application can correlate the incoming acknowledgment message. If mapping the MSH.10 of the Ack with the MSH.10 of the incoming business message is required, then enable the Map Ack Control ID property. By default, an Immediate Ack is a generic Ack. If generating an Ack with a trigger event is required, then enable the Map Trigger Event property. Simple: HCFP sends the predefined acknowledgment message to the sender and does not parse the message. Custom: HCFP sends the custom HL7 acknowledgment message based on configurable file content. If this mode is selected, then specifying the file in the Custom Immediate ACK File property is required. Negative: Select this option to send an immediate ACK only in the case of exceptions.

Page 28: Oracle Healthcare Integration HL7 Cookbook

Page 28 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.

Persist HL7 ACK

This feature is used to indicate whether ACK payload has to persist or not. This is applicable only in the case of Immediate acknowledgments or Discard acknowledgment cases. This will help in improving the performance at Runtime. This feature can be enabled while creating the Endpoint as part of Advance tab of Transport Parameter.

Discard HL7 ACK

This feature is used to correlate the FA at the transport level and discard it to further go to the other levels. This improves the performance. Because the ACK is stopped at the transport layer after correlation, it appears in the wire message report, but does not appear in the business message report. To enable the property, select one of the following codes. If the selected code is in the MSA.2 segment, then the ACK is stopped at the transport layer: AA—Application acknowledgment: Accept AE—Application acknowledgment: Error AR—Application acknowledgment: Reject CA—Application acknowledgment: Commit Accept CE—Application acknowledgment: Commit Error CR—Application acknowledgment: Commit Reject This feature can be enabled while creating the Endpoint as part of Advance tab of Transport Parameter.

Batching HL7 Messages

Batching allows a batch number of messages to be sent in a single file using an envelope consisting of File and Batch headers. An example would be the Batch of Detailed Financial Transactions (DFTs) sent from an ancillary system (such as laboratory, radiology, pharmacy, and so on) to a financial system.

Using the Healthcare console, you can also specify the number of records to be committed when there is a large number of business messages for a message exchange by using the Partial Batch Commit Size field in the Administration tab under Settings > Runtime > Miscellaneous.

Mapset and Callout

Mapsets provide data transformation for cases where it is better to map a native data format to a native data format. A mapset includes a predefined or user-defined map file and two document definitions. The map file defines how data is converted from one format to the other. You can use mapsets when you need to map data between messages that are defined by different document definitions. For example, you might have a system that sends

Page 29: Oracle Healthcare Integration HL7 Cookbook

Page 29 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.

Internal Delivery Channels

Internal delivery channels are used for communicating with backend applications, such as receiving messages from or sending them to a JMS topic or queue in a healthcare integration application. An internal delivery channel defines how a message received from an external system (endpoint) is delivered from Oracle SOA Suite for healthcare integration to backend applications, such as JMS topics and queues, or how a message that was sent from a backend system is received by Oracle SOA Suite for healthcare integration for delivery to an external system. When you create an internal delivery channel, that channel is available to all endpoints.

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 30: Oracle Healthcare Integration HL7 Cookbook

Page 30 of 40

Alerts & Notification

In healthcare integration, administrators and support personnel need to know when certain events occur, such as changes to the healthcare configuration or errors that affect processing. Oracle SOA Suite for healthcare integration addresses this by allowing you to define contact information and associate each contact with specific events for which alerts are generated. For example, if an error occurs during message processing or delivery, an email or text alert can be sent to the appropriate people so the issue can be handled immediately. The alert notification feature for healthcare integration works in conjunction with the built-in notification framework of Oracle User Messaging Service (UMS) and Oracle SOA Suite human workflow services.

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 role—Provides access to all Oracle Healthcare functionality Monitor role—Provides 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 31: Oracle Healthcare Integration HL7 Cookbook

Page 31 of 40

Command line utilities

HCFP Command line Oracle Healthcare command-line tools is available to perform certain task using the command line. User can give type the command on the console and perform the task. Some of the Command are for : Purging Metadata Importing Metadata Exporting Metadata Batching Operations Resubmitting a Message Scheduling Endpoint Downtime Updating Endpoints Deleting Endpoints

Performance tips & tricks

Basic Tuning Considerations

The following sections describe basic tuning configurations that you should also consider while tuning:

Tuning Data Storage Configurations Tuning MDS Cache Size Tuning Number of Threads Tuning the JMS Multiple Out Queues Setting

Please refer to the performance guide to more about this.

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 32: Oracle Healthcare Integration HL7 Cookbook

Page 32 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 33: Oracle Healthcare Integration HL7 Cookbook

Page 33 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.

Need for HL7

It is a known fact that, every day huge amount of data needs to be exchanged in a hospital. The information can be from the HIS, billing system, laboratory, radiology, etc which can be in any format. If the data is in non-standard format, it is required to translate from one form to another form when it is being exchanged between the applications as shown below.

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 34: Oracle Healthcare Integration HL7 Cookbook

Page 34 of 40

HL7 Message structure

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

Sample Business Message

MSH|^~\&|ACME|FAC|APP|GFAC|20050804162010||ADT^A01|163136|P|2.3.1|||AL|AL|US|ASCII|ENG

EVN|A01|199901061000|199901101400|01||199901061000

PID|1||A0000010||TEST, Patient 01_10||20001001|F

PV1|1||||||||||||||||||10010

Page 35: Oracle Healthcare Integration HL7 Cookbook

Page 35 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.

Sample Ack message

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

MSH|^~ MSH|^~\&|APP|GFAC|ACME|FAC|20050804162011||ACK^A01|A163136|P|2.3.1|

MSA|AA|163136|MSG Received Successfully|

Page 36: Oracle Healthcare Integration HL7 Cookbook

Page 36 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/

Post Install Script

After installing Oracle SOA Suite, User need to perform the following post-installation tasks before working with Oracle SOA Suite for healthcare integration:

1. Open a command prompt and set the following environment variables: 2. setenv ANT_HOME <Middleware_HOME>/modules/org.apache.ant_1.7.1/ 3. setenv PATH=$ANT_HOME/bin:$PATH 4. setenv JAVA_HOME <Middleware_HOME>/<jrockit_install_directory> 5. setenv PATH=$JAVA_HOME/bin:$PATH 6. Download the standard library from Oracle Technology Network (OTN) and

copy it in the following location: <Middleware_HOME>/<SOA_HOME>/soa/thirdparty/healthcare/stdlibrary/

For Windows, the name of the standard library file is StdMultiSetupInstOracle.exe, and for other operating systems, the file name is StdMultiSetupInstOracle.tar.gz.

7. In a command prompt, run the following commands: 8. cd <Middleware_HOME>/<SOA_HOME>/bin 9. ant -f ant-soahc-postinstall.xml 10. Provide the Server and DB details. 11. Restart both the Admin Server and the Managed Server.

Page 37: Oracle Healthcare Integration HL7 Cookbook

Page 37 of 40

Appendix C

Mediator/BPEL and other SOA tools can be used to bind the service and reference.

Mediator as Binding Component

In this section, we will show how mediator can be used to connect two healthcare adapters in Composite.

As discussed above, We have already prepared two healthcare bindings in the composite

Source Endpoint as the service (HealthCareInboundService)

Target Endpoint as the reference. (HealthCareOutboundReference)

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 38: Oracle Healthcare Integration HL7 Cookbook

Page 38 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

Enter the below expression in Expression box $in.body/ns1:ADT_A04/ns1:MSH/ns1:MSH.9/ns1:MSG.1

Page 39: Oracle Healthcare Integration HL7 Cookbook

Page 39 of 40

Click OK “Save All” and close all tabs but the composite. The design of composite for Healthcare Integration scenario is complete.

Deployment of Composite Application

The composite needs to be deployed to WebLogic server to handle the runtime requests.

Select Composite in the Application Navigator Pane Right click on Composite Click on Deploy <CompositeName> On the pop-up window, select “Deploy to Application Server” Click Next Select the server Name (in our case. it is AppConn) Click Finish

SOA composite deployed onto your server.

Page 40: Oracle Healthcare Integration HL7 Cookbook

Page 40 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.