Skip to content

qie.throwAckError

Signature: qie.throwAckError(error, resend*, emailMessage*)

Returns: void

Abort the Ack Script with an error, causing the message to be resent.

Note

Calling this method is equivalent to using the JavaScript 'throw' statement. Only call qie.throwAckError() from within an Ack Script.

Parameters

Type Name Description Default
String error error description
Boolean resend* (optional) resend message true
String emailMessage* (optional) an alternate message to use for the email instead of the error message in case the error contains PHI error message

Example

// Ack Script on the Destination Node:
if (StringUtils.isEmpty(response)) {
   return false;
}
var ackMessage = qie.parseHL7String(response);
var msgId = message.getNode('MSH-10');
var ackId = ackMessage.getNode('MSA-2');
if ((msgId.equals('') && ackId.equals('')) || !msgId.equals(ackId)) {
   qie.throwAckError("Ack id (" + ackId + ") not equal to message id (" + msgId + ")");
}
if (ackMessage.getNode('MSA-1').endsWith('A')) {
   return true;
} else {
   qie.throwAckError("Ack Error: " + ackMessage.getNode('MSA-3'), false, "Ack Error: See channel for more information.");
}