Overview of the Integration Receiving the Inbound HL7 Message During Runtime
This section provides a runtime overview of key component responsibilities in the handleHL7_MLLP_6200_INBOUND parent integration that receives the initial HL7 inbound message from the EMR application. The EMR application was updated with patient details that must also be automatically updated in a FHIR patient repository and pathology system.
Receive and Convert the Inbound HL7 Message
- The MLLP Adapter trigger connection
(MLLPAdapter) listens for messages from an EMR
application that uses HL7. For this use case, the MLLP Adapter receives an HL7 Update Patient Information message (ADT_A08)
from the EMR application and starts the integration.
- 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.
- 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.
See Create Oracle Integration for Healthcare Schemas and Documents.
Invoke Child Integration
- The map action (callProcessor) shows the
source healthcare-message-reference element of the
translateHL7 healthcare action. This element contains
the contents of the healthcare action message in XML, but in an opaque message
reference format. This output is mapped as a binary object into the integration
action that invokes the processADT_MLLP_A08 child integration.
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 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.
- 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.
- A view of the integration action configuration shows the
processADT_A08 child integration is selected to be
invoked.