999 - Implementation Acknowledgment
October 09, 2018
The 999 Implementational Acknowledgment is a response to a previously transmitted functional group. It may identify the acceptance or rejection of the function group, transaction sets or segments. In addition to ensuring the transmitted file was syntactically correct, increasing levels of detail may be enforced by the trading partner.
Effective January 1, 2012, the 999 Implementation Acknowledgment has replaced the 997 Functional Acknowledgment. CMS did extend the compliance deadline to March 31, 2012.
So, what's the purpose of the 999 and why should I care?
As a trading partner sending EDI files, the 999 allows you to track the receipt of EDI files with the trading partner. This is critical to ensure that the trading partner hasn't lost any of your files. If you utilize the services of a Medicare Claims Clearinghouse, the failure could be between you and the Clearinghouse or between the Clearinghouse and the payer. Sending claims directly to the payer limits the failure to only between you and the payer.
As a trading partner receiving EDI files, the 999 allows your system to validate syntactically incorrect EDI files and kick them out of the front end system early. There's no reason to bog down the main processing system with garbage EDI files.
Use of the 999 implementational acknowledgment isn't mandated but most places do utilize it in some capacity. This is a must have for automatic acknowledgment between trading partners.
Here are the possible segments that make up a 999 transaction.
Control Segments
- ISA - Interchange Control Header
- IEA - Interchange Control Trailer
- GS - Function Group Header
- GE - Function Group Trailer
- TA1 - Interchange Acknowledgment Segment
Inner Segments
- 0100 - ST - Transaction Set Header
- 0200 - AK1 - Functional Group Response Header
- 0300 - AK2 - Transaction Set Response Header
- 0400 - IK3 - Error Identification
- 0500 - CTX - Segment Context
- 0500 - CTX - Business Unit Identifier
- 0600 - IK4 - Implementation Data Element Note
- 0700 - CTX - Element Context
- 0800 - IK5 - Transaction Set Response Trailer
- 0900 - AK9 - Functional Group Response Trailer
- 1000 - SE - Transaction Set Trailer
Accepted or Rejected - What to look for?
In order to determine if your 999 was accepted or rejected, you will need to review the IK5 and AK9 segments. Here are a few examples of partial 999's and a brief translation.
- Example 1: Accepted
- IK5*A~
- AK9*A*1*1*1~
- Example 2: Accepted with errors
- IK5*E~
- AK9*A*1*1*1~
- Example 3: Rejected
- IK5*R*5~
- AK9*R*1*1*0~
The IK501 (data element 01) and AK901 (data element 01) specify whether the identified transaction set is accepted or rejected. For your reference, see the tables below for the appropriate code and meaning.
IK501 - Transaction Set Acknowledgment Code
Code | Definition |
---|---|
A | Accepted |
E | Accepted But Errors Were Noted |
M | Rejected, Message Authentication Code (MAC) Failed |
R | Rejected |
W | Rejected, Assurance Failed Validity Tests |
X | Rejected, Content After Decryption Could Not Be Analyzed |
AK901 - Functional Group Acknowledge Code
Code | Definition |
---|---|
A | Accepted |
E | Accepted, But Errors Were Noted |
M | Rejected, Message Authentication Code (MAC) Failed |
P | Partially Accepted, At Least One Transaction Set Was Rejected |
R | Rejected |
W | Rejected, Assurance Failed Validity Tests |
X | Rejected, Content After Decryption Could Not Be Analyzed |
Here are a few complete 999 examples of what you might expect to see returned from an 837 EDI transaction.
Sample 999 - Accepted
- ISA*00* *00* *ZZ*RECEIVERID *ZZ*SENDERID *181006*0534*^*00501*000000011*0*P*:~
- GS*FA*RECEIVERCODE*SENDERCODE*20181006*0534*22*X*005010X231A1~
- ST*999*0001*005010X231A1~
- AK1*HC*734591*005010X222A1~
- AK2*837*734591001*005010X222A1~
- IK5*A~
- AK9*A*1*1*1~
- SE*6*0001~
- GE*1*22~
- IEA*1*000000011~
Sample 999 - Accepted with Errors
- ISA*00* *00* *ZZ*RECEIVERID *ZZ*SENDERID *181006*0535*^*00501*000000011*0*P*:~
- GS*FA*RECEIVERCODE*SENDERCODE*20181006*0535*22*X*005010X231A1~
- ST*999*0001*005010X231A1~
- AK1*HC*734591*005010X222A1~
- AK2*837*734591001*005010X222A1~
- IK3*CLM*23*2300*8~
- CTX*CLM01:1 0702~
- IK4*6*1073*7*Z~
- IK5*E*5~
- AK9*A*1*1*1~
- SE*9*0001~
- GE*1*22~
- IEA*1*000000011~
Sample 999 - Rejected
- ISA*00* *00* *ZZ*RECEIVERID *ZZ*SENDERID *181006*0536*^*00501*000000011*0*P*:~
- GS*FA*RECEIVERCODE*SENDERCODE*20181006*0536*22*X*005010X231A1~
- ST*999*0001*005010X231A1~
- AK1*HC*734591*005010X222A1~
- AK2*837*734591001*005010X222A1~
- IK3*CLM*23*2300*8~
- CTX*CLM01:1 0702~
- IK4*2*782*6*$206~
- IK3*CLM*23*2300*8~
- CTX*CLM01:1 0702~
- IK4*2*782*6*$206~
- IK5*R*5~
- AK9*R*1*1*0~
- SE*12*0001~
- GE*1*22~
- IEA*1*000000011~
Determining the status of your transaction is fairly straightforward once you know what to look for. If your transaction happened to have errors or rejections, we'll need to dig a bit deeper into the other segments contained in the 999.
Continue reading the next article where we discuss the other segments contained in the 999 that will help you interpret 999 rejections.
We hope you found this article helpful! Please reach out to us with questions/feedback.
Disclaimer:
While every effort is made to keep all information up to date and accurate, all content found on Eclaims.com is intended to be a general information resource and is provided "AS IS". The accuracy of the information is in no way guaranteed. Eclaims.com makes no warranty to the accuracy, completeness or reliability of any content available through the website. Eclaims.com assumes no liability whatsoever for any errors or omissions in any content contained on this website. You are responsible for verifying any information before relying on it.