Question
· Sep 24

Resending a message automatically every 60 minutes from Business Operations

Our vendor is developing an interface API on their end to capture HL7 data on a Server Port, and they require us to send a pre-defined HL7 Order message for testing every hour until the API is completely operational.

Is it possible to accomplish that in a Business Operation automatically without utilizing a service or process? The BO is a standard TCP/IP connection.

I'm manually sending the message again from the Operations right now. I do not have access to the System Operation to use the Task Manager feature.

Product version: IRIS 2023.1
Discussion (3)3
Log in or sign up to continue

To schedule a task for automatically resending a pre-defined HL7 message every hour without using a service or process, you can utilize the Task Manager within the System Management Portal. Here's how you could set this up:

  1. Navigate to System Operation → Task Manager in the System Management Portal.
  2. Create a new task and specify the namespace where your Business Operation resides.
  3. Provide the task's logic, which can include calling a class method that sends the HL7 message through your existing Business Operation setup.
  4. Schedule the task to run every 60 minutes as per your requirement [1].

This approach allows the process to run outside any service or process, utilizing system-level scheduling capabilities.

Alternatively, an efficient retry mechanism can also be implemented directly within the Business Operation to manage regular repeat intervals. You might add settings such as RetryWaitSeconds and use TCP connection management for automated resends (examples in Business Operation configurations align with retry mechanisms described in other solutions) [2].

Let me know if more specific implementation details are needed.

Sources:

If you set Reply Code Actions to :*=R

Retry Interval to 3600

And Failure Timeout to -1

Once a message is sent to the BO it will lead to the message being resent every hour but in my testing there is the downside that you get an error reported for the BO each time since treated as an error even though the message is resent each retry interval and the response is retrieved:
 

ERROR <Ens>ErrGeneral: Retrying HL7 Message body 8@EnsLib.HL7.Message / 267403 because response 17@EnsLib.HL7.Message / 267405 MSA code 'CA' matched ReplyCodeAction 1 : ':*', resulting in Action code R : MSH|^~\&|EnsembleHL7|ISC|Unity|GlobaSys Partners|202509241126||ACK^A01|20250924F2849|T|2.3.1 MSA|CA|20250924F2849 [doReplyAction+13^Ens.BusinessOperation.1:HL7]