Overview of the Integration Processing the Patient Updates During Runtime
This section provides a runtime overview of key component responsibilities in the processADT_A08 child integration that is invoked by the handleHL7_MLLP_6200_INBOUND 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
- A REST Adapter trigger connection
(ReceiveMessage) receives the inbound message from
the handleHL7_MLLP_6200_INBOUND parent integration.
The child integration includes a healthcare action (ConvertMessage) after the map action of the same name.
- 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.
- The map action (ConvertMessage) shows the mapping.
- 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.
- A check is made with the extracted ID to ensure that the patient
exists in the FHIR patient repository.
The following actions are performed.
- The FHIR Adapter
(check4Patient) is invoked to check if the
patient exists in the FHIR server repository.
- The map action (check4Patient)
passes the FHIR patient ID.
- The FHIR Adapter
(check4Patient) is invoked to check if the
patient exists in the FHIR server repository.
- If the patient ID is found in the repository, a variable is
assigned in the assign action
(Assignment5).
patientExists = 'TRUE'
- 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)
Update the FHIR Patient Repository
- The first branch in the parallel action includes a switch action
with two routes.
- The first branch in the switch action identifies whether to
add a new patient in the FHIR patient repository. The popup message on
the first branch indicates that if the assignment of
patientExists equals
false, insert the patient into the FHIR
patient repository.
The following actions are performed.
- The FHIR Adapter
(insertPatient) inserts the patient
into the FHIR server repository.
- The map action
(insertPatient) shows the source HL7
message payload under Transaction Data
that is mapped to the target Patient.
- The expanded PID:PID element
shows the specific patient mappings, such as patient name,
gender, and home phone number.
- The FHIR Adapter
(insertPatient) inserts the patient
into the FHIR server repository.
- 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.
The following actions are performed.
- The FHIR Adapter
(updatetPatient) updates the patient in the
FHIR server repository.
- The map action (updatetPatient)
shows the source HL7 message payload under Transaction
Data that is mapped to the target
Patient.
- The expanded PID:PID element shows
the specific patient mappings, such as patient ID, name, gender, and
home phone number.
- The first branch in the switch action identifies whether to
add a new patient in the FHIR patient repository. The popup message on
the first branch indicates that if the assignment of
patientExists equals
false, insert the patient into the FHIR
patient repository.
- The expanded activity stream shows that the patient already existed
and was updated in the FHIR server repository.
Update the Pathology System
- The second branch in the parallel action updates the pathology
system. Because the EMR application uses HL7 version 2.5 and the pathology
system uses HL7 version 2.3.1, a message conversion to the earlier version must
be performed.
- 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).
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.
- 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.
- An MLLP Adapter invoke connection
(MLLPAdapter_Outbound) sends the HL7 version 2.3.1
message to the pathology system for updating.
- The logger action (logOutboundMessage) in
the expanded activity stream shows that the HL7 2.3.1 message was sent.
The integration is now complete. The EMR application patient detail updates have been automatically synchronized in the FHIR patient repository and pathology system.