Written by

Sr Application Development Analyst at The Ohio State University Wexner Medical Center
Question Scott Roth · Apr 2

ErrException: <INVALID OREF>zOutputToIOStream+^EnsLib.HL7.Message

Trying to start investigating an error we are seeing with multiple of the same messages getting sent to the same vendor. We receive an HL7 message with an RTF embedded from our EMR, send it through a DTL to just update the Patient Class, and then send it onto the Operation which is TCP.

We are starting to see this error message...

ERROR <Ens>ErrBPTerminated: Terminating BP DocOutRptRouting3M360 # due to error: ERROR <Ens>ErrException: <INVALID OREF>zOutputToIOStream+6^EnsLib.HL7.Message.1 -- logged as '-' number - @''
> ERROR <Ens>ErrException: <INVALID OREF>zOutputToIOStream+6^EnsLib.HL7.Message.1 -- logged as '-' number - @''

which is causing the messages to be sent multiple times through the Operation

when trying to view the HL7 body metadata within the trace viewer we are even seeing

ERROR <Ens>ErrException: <INVALID OREF>zFullSizeGet+3^EnsLib.HL7.Message.1 -- logged as '-' number - @''

I am starting to think this has something to do with the HEAP size and or Max Per-Process Memory which is set at 262 MB per process. Looking at our top memory processes we aren't seeing anything hit this limitation.

My next stop is WRC but thought I would reach out first to see if there was anyone that had an idea of what is going on.

Product version: IRIS 2022.1
$ZV: IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) Thu Dec 7 2023 17:06:30 EST [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.m1]

Comments

Jeffrey Drumm · Apr 2

Do you see any difference when removing action #1 and setting this property for the DTL instead?

0
Scott Roth  Apr 2 to Jeffrey Drumm

interesting theory to try, someone on my team changed it to cover it to stream, and put it back into the message before this answer. the Physician memory usage went down, the virtual memory usage went up. However, the error seemed more at the Routing than the DTL. It may have something to do with Locking and trying to send to multiple locations in a single send.

0
Jeffrey Drumm  Apr 2 to Scott Roth

Is the routing rule attempting to filter/route based on content embedded in the RTF? And how large is the message?

0
Scott Roth  Apr 3 to Jeffrey Drumm

The rule was just routing the message through a DTL and sending it to two places in the same line.

The message size was 12661.

My team member just ended up splitting up the send line into multiple send lines instead of a single send line with two destinations.

0