web stats
Multiple MLLP Senders Mirth to Mirth - Mirth Community

Go Back   Mirth Community > Mirth Connect > Support

Thread Tools Display Modes
Old 11-04-2019, 01:40 PM
rriker rriker is offline
What's HL7?
Join Date: Oct 2019
Location: Duke University - Durham, NC USA
Posts: 3
rriker is on a distinguished road
Default Multiple MLLP Senders Mirth to Mirth

I'm in the middle of migrating a Mirth 2.2 instance to a Mirth 3.8 instance because it's been long overdue. My last connection that needs to be switched over is a feed from our phillps montor broker (ORU vital signs). Considering we get 1-12 messages per second per monitor in the hospital, I am looking at a throughput of 50-100 messages per second. Not a problem in our mirth 2.2 instance (we have an inbound MLLP feed, a 'buffer' channel to utilize mirth's internal message queue, and a high-speed javasript database (Oracle Exadata) destination channel). As we file the vitals recorded time, synchronization is not an issue.

In parallel to the migration project, we're adding a secondary destination for vitals (in 3.8) that will transform the HL7 message into a mutant json file (a stripped version of the FHIR patient/observation transformers) for filing into our postgres11/timescaleDB instance.

My bottleneck as of now is in my volume testing. I can split that buffer channel feed to keep our prod instance to oracle happy while using a second destination on the "buffer" channel to write to another channel for passing the HL7 message from Mirth 2.2 to Mirth 3.8. However, I'm stuck at about 10 messages/sec on the TCP/MLLP connection and can not figure out what setting would open that up.

In my earlier testing, I would cram 7-10 MLLP connections outbound from Mirth 2.2 to the same listener on Mirth 3.8 with hardly a message queued (they all processed so fast). However, 7 MLLP/TCP destinations on a 2.2 channel just means 7 copies of the same message spawning and being sent across.

Has anyone found a way to utilize multiple destinations in a way that can work off of the same source (queue) so that messages are not duplicated across the destinations? Or is it worth just going to my Vendor to setup a new feed and accept that messages will flow fine?

Or am I just setting things up wrong where I should see more than 10 messages/sec on a MLLP/TCP connection?

Specs below
Channel definition:
mirth 2.2 to Mirth 3.8 = unsynchronzed, LLP sender, Keep Connection open, ACK timeout: 15000ms, Using Persistent queues
mirth 3.8 listener = message storage RAW, source queue ON, queue bufer 10000, response: Auto-Generate, max processing threads: 20, max Connections: 10,keep connection open
Mirth 2.2 Windows 2008 R2 2core 8gb java 8
Mirth 3.8 RHEL 7.6 4core 16gb OpenJDK13
Mirth 3.8 CentOS 7 4core 16gb OpenJDK13
Reply With Quote

mirth 2.x, mirth 3.8.0, mirth-to-mirth

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -8. The time now is 12:12 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.
Mirth Corporation