The rule of HL7 is that the sender should resend a message if it
has not been ACKnowledged by the receiver. If the application that
is sending messages to you is correctly implemented and is sending
messages asynchronously, you could get away without doing any
persistent queuing, which would remove a bottleneck in your process.
However, the norm for most HL7 asynchronous applications is that
they are not correctly implemented and a translator needs to assume
responsibility for storing and forwarding messages (queueing
persistently).