I’ve been butting my head against a proc for the last several days now, and I’ve come to see if I can get any pointers, insights, or sanity checks.
I have one outbound thread feeding orders to our LIS, but one of the applications we’re receiving orders from requires an ACK back from the LIS instead of one generated by Cloverleaf. I’ve already had the catfight over why this is even necessary, and I’ve lost. So, now I have route replies sending back the ACK from the LIS to the originating system, but none of the other inbound routes to the LIS have route replies set up. As a result, all of the un-routed messages are going into the error database since they don’t have anywhere else to go. I can’t use hcitpsmsgkill on the TPS Inbound Reply since I need some of the ACKs coming back from the LIST to route back up.
Which leads me to my “solution.” The basic premise of the proc is to place it in the TPS Inbound Reply on the Outbound config tab in NetConfig. I’d then pass a series of arguments, into the proc. These arguments would then be checked against the MSH-6 of the received ACK, and would determine if the ACK would be passed back up to a reply route, or killed. In short, if the ACK back from the LIS equals one of the args in the MSH-6, I don’t kill the reply. Otherwise, I kill it.
Now, this didn’t seem like a monumental task to me when I first started it, but I fee like I’m close to the finish line, and I can’t seem to get it to stop erroring out on me. The proc actually hangs up and errors out the Testing Tool when I run it though it.
Here’s what I have built so far:
#####################################################################################
# Name: kill_ack.tcl
# Purpose: To kill select inbound ACK messages based on inbound MSH-6 value of ACK
#
# UPoC type: tps
# Args: tps keyedlist containing the following keys:
#