using-oracle-integration-healthcare-oracle-integration-Gen3
using-oracle-integration-healthcare-oracle-integration-Gen3
F84764-09
February 2025
Oracle Cloud Using Oracle Integration for Healthcare in Oracle Integration 3,
F84764-09
This software and related documentation are provided under a license agreement containing restrictions on use and
disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,
perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation
of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find
any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then
the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any
programs embedded, installed, or activated on delivered hardware, and modifications of such programs) and Oracle
computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial
computer software," "commercial computer software documentation," or "limited rights data" pursuant to the applicable
Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction,
duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle
programs (including any operating system, integrated software, any programs embedded, installed, or activated on
delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle
data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms
governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications that may create a risk of
personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all
appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its
affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle®, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used
under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo
are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open
Group.
This software or hardware and documentation may provide access to or information about content, products, and
services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an
applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss,
costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth
in an applicable agreement between you and Oracle.
Contents
iii
5 Design Time and Runtime Overview of an Oracle Integration for
Healthcare Use Case
Use Case Overview 5-1
Overview of the Design-Time Messages 5-2
Overview of the Integration Receiving the Inbound HL7 Message During Runtime 5-3
Overview of the Integration Processing the Patient Updates During Runtime 5-6
iv
Preface
This guide describes how to use Oracle Integration for Healthcare.
Topics:
• Audience
• Documentation Accessibility
• Diversity and Inclusion
• Related Resources
• Conventions
Audience
This guide is intended for developers who want to use Oracle Integration for Healthcare.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
Program website at https://www.oracle.com/corporate/accessibility/.
Related Resources
See these Oracle resources:
• Oracle Cloud at http://cloud.oracle.com
• Using Integrations in Oracle Integration 3
• Using the Oracle Mapper with Oracle Integration 3
• Oracle Integration documentation on the Oracle Help Center.
5
Conventions
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
6
1
Introduction to Oracle Integration for
Healthcare
Learn about how Oracle Integration for Healthcare provides support for HL7 in Oracle
Integration.
Topics:
• About HL7
• Oracle Integration for Healthcare Support for HL7 and FHIR
• Oracle Integration for Healthcare Restrictions
• Quick Tour Through Oracle Integration for Healthcare Use Cases
• Workflow to Use Oracle Integration for Healthcare
• Provision Oracle Integration for Healthcare
• Oracle Integration for Healthcare Videos and Live Labs
About HL7
Health Level Seven (HL7) provides standards for the exchange, integration, sharing, and
retrieval of health information between systems within and across healthcare providers. HL7
provides a delimited, flat file-based message structure. Messages are event-based (order
blood tests, receive test results, update patient information, and others). There is a
corresponding message for each event.
Health organizations typically include numerous healthcare systems to process different patient
administrative or clinical tasks, including billing, medication management, patient tracking, and
documentation. These systems communicate when they receive new information or need to
retrieve information. HL7 provides standards, guidelines, and methodologies for these systems
to communicate with each other. The standards allow for the interoperability of healthcare data
as it's shared and processed by different systems. This interoperability allows clinical and non-
clinical data to be shared more easily with the goal of improving patient care and health system
performance.
1-1
Chapter 1
Oracle Integration for Healthcare Support for HL7 and FHIR
• Supports HL7 applications on different versions interacting with each other through Oracle
Integration for Healthcare.
• Supports the following FHIR profile packages that have been tested.
– US Core
– FHIR Canadian
– FHIR Australian
– FHIR UK
– FHIR iSiK
If you are unable to successfully import a profile package not shown in this list, see this
blog.
• Supports creating healthcare integrations in projects or in standalone environments
(outside of a project). See Design, Manage, and Monitor Integrations in Projects and
Create Healthcare Integrations in a Project in Using Integrations in Oracle Integration 3
• Supports common healthcare interoperability use cases, including:
– Transfer of care
– Inventory synchronization – employee medical record (EMR) and enterprise resource
planning (ERP)
– Payer/provider
– Modernization programs:
* Exposure of health data using Fast Healthcare Interoperability Resources (FHIR)
* Mobile applications
* Patient portal
– Update of a state immunization registry upon patient checkout
• Supports message standards and transport protocols commonly used in the healthcare
interoperability (integration) market:
– Supports the Minimal Lower Layer Protocol (MLLP). MLLP is a TCP-based standard
for sending and receiving HL7 messages. You configure the MLLP Adapter to receive
inbound (trigger) HL7 messages or send outbound (invoke) HL7 messages. See MLLP
Adapter Capabilities in Using the MLLP Adapter with Oracle Integration 3.
– Supports Fast Healthcare Interoperability Resources (FHIR). FHIR is a set of rules and
specifications for exchanging electronic healthcare data over the REST protocol in
XML or JSON format. You configure the FHIR Adapter to invoke FHIR resources (for
example, a patient resource, encounter resource, and others) in outbound messages
in Oracle Integration. See FHIR Adapter Capabilities in Using the FHIR Adapter with
Oracle Integration 3.
• Supports defining the connections to external systems with which to exchange HL7
messages.
• Supports designing and customizing the HL7 messages to exchange. See Create Oracle
Integration for Healthcare Schemas and Documents.
• Supports integrating and processing HL7 messages in integrations with the healthcare
action. The healthcare action converts inbound HL7 messages to XML format and
outbound messages from XML format to HL7 format. See Design an Integration with a
Healthcare Action.
• Supports tracking and monitoring HL7 integrations at runtime.
1-2
Chapter 1
Oracle Integration for Healthcare Restrictions
• Supports retaining runtime data for 184 days when selecting the Production tracing level
during integration activation. See Activate an Integration in Using Integration Insight in
Oracle Integration 3
Topics:
• Synchronize EMR Patient Updates in a FHIR Patient Repository and a Pathology System
• Synchronize Employee Information Between an HR Application and an EMR Application
1-3
Chapter 1
Quick Tour Through Oracle Integration for Healthcare Use Cases
1. Patient details are updated in an EMR, which emits an HL7 ADT_A08 message. The
message is received by Oracle Integration and converted to a FHIR patient resource for
updating in a FHIR-enabled patient repository.
2. The integration continues and Oracle Integration translates an HL7 message from version
2.5 to version 2.3.1 and sends it to a pathology system for updating the patient records.
1-4
Chapter 1
Quick Tour Through Oracle Integration for Healthcare Use Cases
1. Start of onboarding a new employee. A new employee event is sent to Oracle Integration,
converted to an HL7 message, and sent to Mellennium.
2. Start of a new or updated employee vaccination record. A new HL7 vaccination message
event is sent to Oracle Integration, converted to Oracle PeopleSoft format, and sent to
Oracle PeopleSoft.
1-5
Chapter 1
Workflow to Use Oracle Integration for Healthcare
Note:
To follow this workflow, you must first select the Healthcare edition during Oracle
Integration instance provisioning. See Provision Oracle Integration for Healthcare.
1-6
Chapter 1
Provision Oracle Integration for Healthcare
1-7
Chapter 1
Oracle Integration for Healthcare Videos and Live Labs
If you change this instance from the Standard or Enterprise edition to the Healthcare edition,
you can edit these pages.
1-8
2
Create Oracle Integration for Healthcare
Schemas and Documents
You create a healthcare schema using a standard HL7 schema definition as a starting point. All
HL7 version 2 base schemas from version 2.3.1 onwards are supported and provided with
Oracle Integration. You can also customize the schema according to your needs. You then
create a document definition based on the schema. This document definition represents the
HL7 message to use in your integrations. You then select this document to convert when
configuring the healthcare action in your integration.
Topics:
• Create a New Healthcare Schema
• Create a Custom HL7 Message
• Edit or Clone an HL7 Message
c. Click Healthcare .
d. In the Schemas section, click Add.
2. To create a schema in a standalone environment:
a. In the navigation pane, click Healthcare, then Schemas.
b. On the Schemas page, click Create.
3. Enter the following details.
Element Description
Name Enter a schema name.
Identifier This field is automatically populated with a unique schema identifier
based on your schema name. You can manually change this value, if
needed.
Description Enter an optional description of this schema.
Message standard View the message standard. Only HL7V2 is available and it cannot
be deselected. The message standard identifies the business
protocol to follow when exchanging messages between applications.
2-1
Chapter 2
Create a New Healthcare Schema
Element Description
Message version Select the message version. HL7 V2 versions 2.3.1, 2.4, 2.5.1, 2.5,
2.6, 2.7, 2.7.1, 2.8.1, 2.8, 2.8.2, and 2.9 are supported.
Message type Select the message type. The types shown are based on the HL7 V2
version you selected.
4. Click Create.
The details page for your new HL7 message is displayed. The standard segments and
elements that come with the message type you selected are shown. A segment is a higher
level construct, consisting of a sequence of elements and composites. An element is the
smallest unit that represents a single data field of a primitive type, such as alphanumeric
text, integer, decimal, date, time, or binary. If you create a schema in a project, the project
name is displayed in the banner. For this example, the schema was created in a
standalone environment (outside of a project).
2-2
Chapter 2
Create a New Healthcare Schema
You can customize the standard HL7 message. For example, the application with which
you are integrating may require another segment or loop. You can add new constructs
(such as new segments and loops) to a standard healthcare schema or edit existing
constructs within it.
5. If you want to create a new segment, see Add a New Segment.
6. If you want to create a new loop, see Add a New Loop.
2-3
Chapter 2
Create a Custom HL7 Message
• New child element: The smallest unit that represents a single data field of a primitive
type, such as alphanumeric text, integer, decimal, date, time, or binary.
• New child composite: A complex data type consisting of one or more elements.
• New segment: The next higher level construct, consisting of a sequence of elements
and composites.
• New loop: A container for a specific set of segments or child loops, which makes its
structure nested and hierarchical.
c. Click Healthcare .
d. In the HL7 messages section, click Add.
2. To create a message in a standalone environment:
a. In the navigation pane, click Healthcare, then HL7 messages.
b. On the HL7 messages page, click Create.
3. Enter the following details to create a new HL7 message definition.
Element Description
Name Enter a message name.
Identifier This field is automatically populated with the message name. You can
manually change this value.
Description Enter an optional description of this message.
2-4
Chapter 2
Create a Custom HL7 Message
Element Description
Message standard View the message standard. Only HL7V2 is available and it cannot
be deselected. The message standard identifies the business
protocol to follow when exchanging messages between applications.
Message version Select the message version.
HL7 message versions 2.3.1, 2.4, 2.5.1, 2.5, 2.6, 2.7, 2.7.1, 2.8.1,
2.8, 2.8.2, and 2.9 are supported.
Message type Select the HL7 message type. The types shown are based on the
HL7 message version you selected.
4. Click Create.
The details page for your new message is displayed.
2-5
Chapter 2
Create a Custom HL7 Message
5. Note that the message version and message type values you selected previously are
displayed. These cannot be changed.
The Message schema field shows Standard as the schema type by default. If you had
previously created custom schemas, they are also displayed for selection in the drop-down
list.
6. Select the schema to use or click Customize to display the Clone standard schema dialog
to create a new schema. For this example, the schema created in Create a New
Healthcare Schema is selected.
7. Click Save, and return to the HL7 messages page.
If you create a document in a project, the project name is displayed in the banner. For this
example, the document was created in a standalone environment (outside of a project).
The message is now available for conversion when you configure the healthcare action in
an integration. See Design an Integration with a Healthcare Action.
2-6
Chapter 2
Edit or Clone an HL7 Message
c. Click Healthcare .
d. Go to the HL7 messages section.
2. To edit a message in a standalone environment:
a. In the navigation pane, click Healthcare, then HL7 messages.
3. Hover over a message row to see the actions you can perform on a message.
4. Click Edit .
5. Edit the message's name and description, as necessary.
Note:
You cannot change the message standard or version.
6. Select the message schema to use. You can select the standard schema or one you
created.
7. Click Save.
This message is now available for selection when you configure the healthcare action in an
integration.
c. Click Healthcare .
2. Go to the HL7 messages section.
3. To clone a message in a standalone environment:
2-7
Chapter 2
Edit or Clone an HL7 Message
2-8
3
Design an Integration with a Healthcare Action
Once you have created your schema and message, you can design an integration with a
healthcare action.
Topics:
• Best Practices for Designing a Healthcare Integration
• Create Trigger and Invoke Connections that Support the HL7 and FHIR Standards
• Convert HL7 Messages with a Healthcare Action
Build a Parent Routing Integration to Invoke Child Integrations that Process a Single
HL7 Inbound Message
You may design an integration that receives many different HL7 inbound message types. For
example:
• ADT_A05 (Pre-admit a patient)
• ADT_A08 (Update patient information)
• ADT_A09 (Patient departing - tracking)
As a best practice, build a parent routing integration that invokes child integrations that each
process a single HL7 inbound message type. For this example, create three child integrations.
Do not attempt to build a single integration with a routing action (for example, a for-each action
or switch action) to process each message.
Create your child integration with a REST Adapter trigger connection that can accept a binary
format as its request payload. Select the default application/octet-stream as the mime-type.
You pass the message-reference object that you get back from calling the healthcare action
into your child integration. See Overview of the Integration Receiving the Inbound HL7
Message During Runtime.
Use a Lookup Function in the Mapper to Select the Child Integration to Invoke
Use a lookup function in the mapper to select the child integration to invoke. Based on the
message and message type, the lookup function returns the name of the integration
(Integration Code) and the version of the integration (Integration Version) to invoke.
3-1
Chapter 3
Best Practices for Designing a Healthcare Integration
In the lookup table, based on the specific inbound message received, a specific integration is
invoked.
Add Fault Handling to Address Inbound Messages that are Not Selected in the
Healthcare Action
A healthcare action is not designed to throw faults. You should design fault handling logic into
your integration to catch message faults. For example, assume you design the following
integration to receive inbound messages from an HL7 application:
In the healthcare action, you select the following two inbound message types for translation:
• ADT_A08 (Update patient information) version 2.5
• ADT_A08 (Update patient information) version 2.3.1
3-2
Chapter 3
Best Practices for Designing a Healthcare Integration
Assume the healthcare action also receives an inbound ADT_A04 (Register a patient)
message from the HL7 application. Because this message type has not been selected in the
healthcare action, it cannot be translated into an Oracle Integration payload. The ADT_A04
message type is passed through the healthcare action, but fails in the subsequent map action
with errors.
As a best practice, add and design a switch action immediately after the healthcare action and
before the map action with the following branch logic:
• Route 1: If the message is not selected in the healthcare action, then address the fault in
that branch with your own fault handling logic. For example, add a notification action that
sends an email to the inbound HL7 application informing them that an unplanned message
was received.
• Otherwise: If the message is selected in the healthcare action, translate it into an Oracle
Integration payload, perform mapping, and call the child integration for further processing
and delivery to the outbound application endpoint.
<strong>{
"document-standard": "HL7V2",
"document-version": "2.3.1",
"document-type": "ADT_A01",
3-3
Chapter 3
Best Practices for Designing a Healthcare Integration
"document-definition": "HL7V2_ADT_A01",
"message": [
{
"healthcare-message-reference": "clm:base64_meta.base64_payload1",
"message-tracking-id": "123"
},
{
"healthcare-message-reference": "clm:base64_meta.base64_payload2",
"message-tracking-id": "abc"
}
]
}</strong>
Use of this JSON message in your child integrations is not required. However, use of this
message enables you to take advantage of potential future features. The idea is that if you use
this JSON message as the contract in your child integrations now, change are not required in
the future. You do not need to create a new handler integration. The incoming HL7 message is
routed to the appropriate processor integration based on your routing rules. For this to work,
you need to build your integration using this JSON payload.
This payload provides metadata about the message and capability to also support batch
messages. You map this data using the data returned from the healthcare action when you call
the operation Match and translate inbound message. An example of this mapping is shown
below.
3-4
Chapter 3
Create Trigger and Invoke Connections that Support the HL7 and FHIR Standards
Create Trigger and Invoke Connections that Support the HL7 and
FHIR Standards
You must create trigger (inbound) and invoke (outbound) connections to communicate with
applications that support the HL7 or FHIR standards.
• Create MLLP Adapter Connections
• Create a FHIR Connection
Note:
If your Oracle Integration instance does not include the Healthcare edition, you
cannot drag the healthcare action into an integration. See Create an Oracle
Integration Instance in Provisioning and Administering Oracle Integration 3.
3-5
Chapter 3
Convert HL7 Messages with a Healthcare Action
• On the right side of the canvas, click Actions and drag the Healthcare action to
the appropriate location.
• Click at the location where you want to add the healthcare action, then select
Healthcare.
The Configure healthcare action call wizard is displayed.
5. Enter the following details:
Element Description
Name Enter a name.
Description Enter an optional descriptions for what this action
does.
3-6
Chapter 3
Convert HL7 Messages with a Healthcare Action
Element Description
Operation Select an operation to perform:
• Convert message reference to document:
Use this operation to identify the incoming
message type and version. This operation
returns a reference to a translated message
and metadata needed to route the
integration to an appropriate child integration
to process the message. When you call the
operation, you need to specify a list of HL7
documents with which you want to match.
• Match and translate inbound message:
Use this operation to convert inbound HL7-
formatted messages into XML format.
Specify the documents you want this action
to receive. These are the documents that
you configured during design time. This
operation takes a raw HL7 message off the
wire, parses it, and matches it with the
document definition you select in the
Choose documents section. The message
is then converted to an Oracle Integration
XML payload.
• Translate to outbound message: Use this
operation to convert an XML payload
message to an outbound HL7 message.
Choose documents Select all the HL7 message definitions that you
This field is displayed if you select the Match expect to receive on the port number you
and translate inbound message operation. configured for your MLLP Adapter connection.
This integration receives and routes all
messages sent to that port number.
Documents that are not selected are ignored.
If you created the integration in a project, only
documents available in that project are visible for
selection.
Document Select the document to use.
This field is displayed if you select the Convert If you created the integration in a project, only
message reference to document or Translate documents available in that project are visible for
to outbound message operation. selection.
For example:
• If you select Match and translate inbound message, the selected ADT_A08
message document is converted from HL7 format to an Oracle Integration XML-
formatted message.
3-7
Chapter 3
Convert HL7 Messages with a Healthcare Action
3-8
Chapter 3
Convert HL7 Messages with a Healthcare Action
6. Click Finish.
3-9
Chapter 3
Convert HL7 Messages with a Healthcare Action
7. Continue designing the remaining parts of your integration, including adding and
configuring your invoke connections.
Examples of using all three operations in a use case are provided. See Design Time and
Runtime Overview of an Oracle Integration for Healthcare Use Case.
3-10
4
Import FHIR Profile Packages
You can import FHIR profile packages into Oracle Integration. You then select the profile
package to use when configuring the FHIR Adapter in an integration.
Topics:
• Import a FHIR Profile Package
• Browse the Contents of the FHIR Profile Package
See Profile Definitions and Documentation.
c. Click Healthcare .
d. In the FHIR profiles section, click Add.
2. Import a FHIR profile into a standalone environment.
Element Description
Name Enter a FHIR profile package name.
Identifier This field is automatically populated with a unique FHIR profile
identifier based on your FHIR profile package name. You can
manually change this value, if needed.
Description Enter an optional description of this profile package.
Drag and Drop Click to select a TGZ file from your host or drag and drop a file into
the field. See Oracle Integration for Healthcare Support for HL7 and
FHIR for a list of tested profile packages.
5. Click Import.
4-1
Chapter 4
Browse the Contents of the FHIR Profile Package
Import of the FHIR profile package occurs in the background and can take up to five
minutes.
Once imported, you can browse the contents of the profile package. See Browse the
Contents of the FHIR Profile Package.
The profile package is now available for selection when you configure the FHIR Adapter in
an integration. See Add the FHIR Adapter Connection to an Integration in Using the FHIR
Adapter with Oracle Integration 3.
c. Click Healthcare .
d. Go to the FHIR profiles section.
2. Browse a FHIR profile package in a standalone environment.
4-2
Chapter 4
Browse the Contents of the FHIR Profile Package
5. Hover your cursor over a row and click View to view property details.
4-3
5
Design Time and Runtime Overview of an
Oracle Integration for Healthcare Use Case
This section provides an overview of key design-time and runtime component capabilities in
the healthcare use case that synchronizes EMR application patient updates with a FHIR
patient repository and a pathology system.
Topics:
• Use Case Overview
• Overview of the Design-Time Messages
• Overview of the Integration Receiving the Inbound HL7 Message During Runtime
• Overview of the Integration Processing the Patient Updates During Runtime
A quick tour of this use case is provided. See Synchronize EMR Patient Updates in a FHIR
Patient Repository and a Pathology System.
5-1
Chapter 5
Overview of the Design-Time Messages
1. The Healthcare tab for the project shows the available messages. A message is based
on an associated HL7 schema. The workflow is as follows:
• You create the schema and select the HL7 version, message version, and message
type to use.
• You create the message based on the schema.
• The message that you create is the HL7 message definition for the message that your
integration processes at runtime.
• You select the messages to use when configuring the healthcare action during
integration design.
As an example, the contents of the A08 Patient Update 2_5 message are as follows:
• HL7 version 2
• Message version 2.5
• Message type ADT_A08 (Update patient information)
5-2
Chapter 5
Overview of the Integration Receiving the Inbound HL7 Message During Runtime
5-3
Chapter 5
Overview of the Integration Receiving the Inbound HL7 Message During Runtime
2. The logger action (logDebugMsg) logs the message to the debugger. A review of the
logger action in the activity stream shows the HL7-formatted message received from the
EMR application.
The message is then passed to the map and healthcare (translateHL7) actions. The
message is known as a healthcare message reference.
3. A view of the healthcare action configuration shows that the Match and translate inbound
message operation is selected. This operation converts the inbound HL7-formatted
messages selected in the Choose documents field to Oracle Integration XML-formatted
payload messages. The two messages selected for conversion were created during
design-time. See Overview of the Design-Time Messages.
Each message is based on an HL7 message schema that you want to process. For this
example, two different HL7 versions (2.3.1 and 2.5) of the ADT_A08 message are
selected. Any inbound messages that are received, but not selected in the Choose
documents field, are ignored and not processed.
5-4
Chapter 5
Overview of the Integration Receiving the Inbound HL7 Message During Runtime
The target Connectivity Properties section shows the integration name, integration
version, and project code being called. This information is obtained from a lookup function.
For example, for Integration Code, if the message definition value is A08 Update Patient
5-5
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
2_5, it is routed to the processADT_A08 child integration. The use of lookup functions
offers a way to enable specific child integrations to process specific HL7 messages.
2. The integration action (callProcessor) invokes the processADT_A08 child integration to
process the ADT_A08 message.
Tip:
As a best practice, build a parent routing integration that can invoke a different
child integration to process a different HL7 inbound message type (one child
integration per message). Do not build a single integration with routing logic (for
example, a switch or for-each action) to process each message.
3. A view of the integration action configuration shows the processADT_A08 child integration
is selected to be invoked.
5-6
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
parent integration to process the patient updates. The processADT_A08 child integration
automatically updates the FHIR patient repository and pathology system with the patient
details initially updated in the EMR application.
• Process the Integration
• Update the FHIR Patient Repository
• Update the Pathology System
The child integration includes a healthcare action (ConvertMessage) after the map action
of the same name.
2. A view of the healthcare action configuration shows that the Convert message reference
to document operation is selected. This operation converts the inbound HL7 document
into an Oracle Integration-mappable format.
4. The assign action (assignID) in the Route 1 branch of the switch action checks for a FHIR
patient ID in the message. If there is an ID, it is extracted from the message.
5-7
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
5. A check is made with the extracted ID to ensure that the patient exists in the FHIR patient
repository.
5-8
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
6. If the patient ID is found in the repository, a variable is assigned in the assign action
(Assignment5).
patientExists = 'TRUE'
7. The FHIR ID is passed to a parallel action (Parallel) with two branches. A parallel action
allows the path of an integration to be split into multiple branches. Each branch is
processed in parallel due to their independence from each other. For this use case, a
parallel branch is provided to update both external applications:
• FHIR patient repository (branch 1)
• Pathology system (branch 2)
5-9
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
assignment of patientExists equals false, insert the patient into the FHIR patient
repository.
b. The map action (insertPatient) shows the source HL7 message payload under
Transaction Data that is mapped to the target Patient.
5-10
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
c. The expanded PID:PID element shows the specific patient mappings, such as
patient name, gender, and home phone number.
• The second branch in the switch action identifies whether to update an existing patient.
The popup message on the first branch indicates that if the assignment of
patientExists equals true, update the patient in the FHIR patient repository.
5-11
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
b. The map action (updatetPatient) shows the source HL7 message payload under
Transaction Data that is mapped to the target Patient.
c. The expanded PID:PID element shows the specific patient mappings, such as patient
ID, name, gender, and home phone number.
2. The expanded activity stream shows that the patient already existed and was updated in
the FHIR server repository.
5-12
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
2. The expanded mapper (Translate2NativeHL7) shows the HL7 version 2.5 source and HL7
version 2.3.1 target element mappings performed by the user at design time (patient ID,
patient name, date of birth, and more).
5-13
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
Before sending the document to the pathology system, it must be converted from Oracle
Integration XML format back to HL7 format in a healthcare action.
3. A view of the healthcare action (Translate2NativeHL7) configuration shows that the
Translate to outbound message operation is selected. This operation converts the
outbound XML-formatted payload message to the HL7 version 2.3.1-formatted payload
message selected in the Choose documents field. The healthcare action produces a
healthcare message reference to pass directly to the MLLP Adapter invoke connection.
5. The logger action (logOutboundMessage) in the expanded activity stream shows that the
HL7 2.3.1 message was sent.
5-14
Chapter 5
Overview of the Integration Processing the Patient Updates During Runtime
The integration is now complete. The EMR application patient detail updates have been
automatically synchronized in the FHIR patient repository and pathology system.
5-15