Acknowledgement Messages
18 min
acknowledgement messages overview this section contains acknowledgement details, workflows, and scenarios reference xml standard guide, v2022071 sec 7 pages 33 34; sec 9 2 9 4 pages 43 55 r 317 the application shall allow the status of a transaction to be viewable by an end user or application support staff if the transaction resulted in an error, ensure the error is displayed to supporting staff to allow for error resolution status status is used to indicate to the sender that the message was accepted for system processing a status is always a synchronous response status 010 indicates that system processing is complete and was successful, status 000 indicates that the final response is pending a status 000 indicates that message processing is not complete a subsequent acknowledgement message should be expected the status message is not dependent on human interaction status best practice descriptioncode is an optional element that contains codes suitable for use on error messages only descriptioncode element should not be used on a status message verify this verify message is returned as an asynchronous response as a follow up to previous status 000 the verify message confirms that the receiving system successfully received and accepted the message a verify indicates that message processing is complete a subsequent acknowledgement message should not be sent or expected the verify message is not dependent on human interaction error this message indicates that an error has occurred an error can be generated when there is a communication problem or when an error occurs during system processing of the message the error message is not dependent on human interaction note for more information on error, see the error guidance docid\ pfx40swr9o9vdpjvja qp section error best practice in the case where the customer’s time limitation threshold has been exceeded, and a syntactically valid message has been received, an error is an incorrect response acknowledgement message table note the terms "free standing" and "asynchronous" are interchangeable message type code meaning(s) as sender as receiver status 000 the transmission has been accepted for system processing, but has not yet reached its final status there should be a final verify (010) or error forthcoming follow with an asynchronous (free standing) verify or error to complete the message flow while an asynchronous verify or error is expected to follow a status 000, if it is not received, no assumption should be made as to whether the original message has been received successfully or not the recommendation is to wait 24 hours before following a manual process or sending a duplicate message status 010 confirms successful delivery and system acceptance of a message to its final destination the final acknowledgement message to close the transaction workflow no further acknowledgement message should follow synchronous response indicates that message processing is complete subsequent acknowledgement message should not be expected verify 010 asynchronous message that confirms successful delivery and system acceptance of a message to its final destination the final acknowledgement message to close the transaction workflow no further acknowledgement message should follow send only if the original message was responded to with a status 000 subsequent acknowledgement message should not be expected do not respond to a free standing error or verify with a new free standing error or verify error for a full list of ncpdp error codes and their descriptions, see the ncpdp external code list or schema can be generated when there is a communication problem or when an error occurs during the system processing of the message closes the transaction workflow subsequent acknowledgement messages should not be expected could be synchronous or asynchronous a synchronous error is sent in response to a message an asynchronous error (also called free standing error) is initiated as a new message after the status (code 000) is sent send to acknowledge that the transaction failed system processing do not send an error if the transaction workflow has already been closed (status/verify code 010) send as soon as possible after a status (code 000) has been sent customers may create and return unique error descriptions which may further indicate why a system failure has occurred after receiving an error, do not expect subsequent acknowledgement messages do not respond to a free standing error or verify with a new free standing error or verify error codes for a full list of ncpdp error codes (e g , transactionerrorcode) and their descriptions, see the ncpdp external code list or schema reference ncpdp script schema, v2023011 error reference ncpdp script ecl, v202301 descriptioncode reference ncpdp script ecl, v202301 transactionerrorcode 900 error text table the error codes below are tied to the 900 "other" code from the ncpdp external code list when applicable, surescripts will send the 900 code along with an error message the table below details example error messages error scenario error/description npi in the pharmacy element does not pass the luhn check digit npi in pharmacy does not pass the luhn check digit newrx message does not contain ndc, compoundinformation element, or supply qualifier no ndc or compound or supply code in message for medicationprescribed sending prescriber does not have the service level to send epcs transactions sender does not meet controlled substance directory requirements vendor application is not certified to send epcs messages message type not supported by sender sending portal is not configured to transmit controlled substances pharmacy is not certified to receive epcs messages receiver does not meet controlled substance directory requirements deaschedule is not present in a newrx epcs message controlled substance must have a deaschedule populated in medication prescribed controlled substance has been identified, but is not digitally signed or there is no digital signature indicator controlled substance must be signed or digital signature indicator must be true patient address is not present in epcs message patient address required for controlled substance 900 pharmacy and prescriber generated errors the error codes below are tied to the 900 "other" code from the ncpdp external code list when applicable, it’s recommended that the pharmacies and prescribers send the 900 code along with an error message the table below details example error messages error scenario error/description the receiver only supports the digital signature indicator (flag), not the pki digital signature digital signature not supported the receiver only supports the digital signature, not the digital signature indicator (flag) digital signature indicator not supported the prescription may not have met a legal or other requirement for epcs rx does not meet the requirements, legal or otherwise, for epcs the digital certificate is not on file at the certificate authority digital certificate not on record the digital certificate has been revoked by the certificate authority digital certificate has been revoked the actual digest value does not match the calculated values or an error occurred when trying to process the digital signature invalid digital signature compounds or non drug supply items are not supported the receiving system cannot process the compound or supply item acknowledgement message workflow scenarios the following workflows depict various scenarios where verify, error, and status are sent in response to a newrx message note that for all of these scenarios, newrx could be any of the following messages listed in about electronic prescribing docid\ gbrepzd7mqfnxlfq9uflh customers must support all messages as described in the acknowledgement message table docid\ xgplk6zd1l7x8nxymqrlr every message workflow ends with status (code 010), verify, or error scenario 1 – message errors at surescripts 1a) a newrx is sent 1b) surescripts receives the newrx 1c) surescripts does not recognize the format of the message, or errors are contained within the message, and returns an error or error text to the sending customer scenario 2 – message is acknowledged successfully by recipient 2a) a newrx is sent 2b) surescripts forwards the message to the receiving customer 2c) receiving customer system validates the message and returns a status (code 010) to surescripts this indicates the message was accepted by the ultimate receiving system 2d) surescripts forwards the status (code 010) back to the sending customer scenario 3 – message errors at receiver 3a) a newrx is sent 3b) surescripts forwards the message to the receiving customer 3c) receiving customer system either does not recognize the format of the message, or errors are contained within the message, and returns an error message or error text to surescripts 3d) surescripts sends an error to the sending customer scenario 4 – status 000 followed by an error 4a) a newrx is sent 4b) surescripts forwards the message to the receiving customer 4c) receiving customer system validates the message and returns a pending status (code 000) to surescripts this indicates that the message has been received for system processing, but processing is not yet complete and the message has not reached its ultimate destination 4d) surescripts forwards the status (code 000) back to the sending customer 4e) receiving customer system encounters an error when processing the message and initiates a new error (sometimes referred to as a "free standing error") note surescripts may convert the message to fax and avoid sending the error back to the sending customer see the faxing docid\ qcqrnav afdjgysemegcz section for more information 4f) surescripts forwards the error to the sending customer 4g) sending customer system acknowledges the error by sending back a verified status (code 010) to surescripts 4h) surescripts forwards the verified status (code 010) to the receiving customer scenario 5 – status 000 followed by a verify 5a) a newrx is sent to surescripts 5b) surescripts forwards the message to the receiving customer 5c) receiving customer system validates the message and sends back a status (code 000) to surescripts this indicates that the message has been received, but system processing is not yet complete and the message has not reached its ultimate destination 5d) surescripts forwards the status (code 000) back to the sending customer 5e) receiving customer system delivers the newrx to the end point and initiates a new verify (sometimes referred to as a "free standing verify") 5f) surescripts forwards the verify to the sending customer 5g) sending customer system acknowledges the verify by sending back a status (code 010) to surescripts code 010 indicates it was accepted by the ultimate receiver 5h) surescripts forwards the status (code 010) to the receiving system scenario 6 – connectivity error with receiving customer 6a) a newrx is sent to surescripts 6b) surescripts attempts to forward the message to the receiving customer, but is unable to connect and receives an http error or the connection times out after 24 seconds 6c) surescripts sends back a status (code 000) to the sending customer system this indicates that the message has been received for system processing, but processing is not yet complete and the message has not reached its ultimate destination 6d) surescripts makes up to 3 additional delivery attempts with a delay of at least 1 minute, 5 minutes and then 10 minutes between each attempt 6e) if one of the delivery attempts is successful and the receiving customer system returns a status (code 000), surescripts will audit the response, but it will not deliver that recent status (code 000) to the sending customer as they have already received one from surescripts in step 6c final status will be sent to the sending customer once the receiving system sends a free standing error or verify as in steps 4e and 5e above 6f) if one of the delivery attempts is successful and the receiving customer system returns a status (code 010), surescripts will convert the status (code 010) into a free standing verify and deliver the verify to the sending customer 6g) sending customer system acknowledges the verify by sending back a status (code 010) to surescripts code 010 indicates it was accepted by the ultimate receiving system 6h) if one of the delivery attempts is successful and the receiving customer system returns an error, surescripts will forward the error to the sending customer note surescripts may convert the message to fax and avoid sending the error back to the sending customer see the faxing docid\ qcqrnav afdjgysemegcz section for more information 6i) sending customer system acknowledges the error by sending back a status (code 010) to surescripts code 010 indicates it was accepted by the ultimate receiving system 6j) if none of the delivery attempts are successful surescripts will create and send a free standing error to the sending customer note surescripts may convert the message to fax and avoid sending the error back to the sending customer see the faxing docid\ qcqrnav afdjgysemegcz section for more information 6k) sending customer system acknowledges the error by sending back a status (code 010) to surescripts code 010 indicates it was accepted by the ultimate receiving system