997 - Functional Acknowledgment

The 997 Functional 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.

So, what's the purpose of the 997 and why should I care?

As a trading partner sending EDI files, the 997 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 direclty to the payer limits the failure to only between you and the payer.

As a trading partner receiving EDI files, the 997 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.

Effective January 1, 2012, the 999 Implementation Acknowledgment has replaced the 997 Functional Acknowledgment.

Use of the 997 functional 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 997 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

  • ST - Transaction Set Header
  • AK1 - Functional Group Response Header
  • AK2 - Transaction Set Response Header
  • AK3 - Data Segment Note
  • AK4 - Date Element Note
  • AK5 - Transaction Set Response Trailer
  • AK9 - Functional Group Respone Trailer
  • SE - Transaction Set Trailer

Accepted or Rejected - What to look for?

In order to determine if your 997 was accepted or rejected, you will need to review the AK5 and AK9 segments. Here are a few examples of partial 997's and a brief translation.

  • Example 1: Accepted
  • AK5*A~
  • AK9*A*1*1*1~
  • Example 2: Accepted with errors
  • AK5*E~
  • AK9*E*1*1*1~
  • Example 3: Rejected
  • AK5*R~
  • AK9*R*1*1*1~

The AK501 (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.

AK501 - Transaction Set Acknowledgment Code

CodeDefinition
AAccepted
EAccepted But Errors Were Noted
MRejected, Message Authentication Code (MAC) Failed
RRejected
WRejected, Assurance Failed Validity Tests
XRejected, Content After Decryption Could Not Be Analyzed

AK901 - Functional Group Acknowledge Code

CodeDefinition
AAccepted
EAccepted, But Errors Were Noted
MRejected, Message Authentication Code (MAC)Failed
PPartially Accepted, At Least One Transaction Set Was Rejected
RRejected
WRejected, Assurance Failed Validity Tests
XRejected, Content After Decryption Could Not Be Analyzed

Here are a few complete 997 examples of what you might expect to see returned from an 837 EDI transaction.

Sample 997 - Accepted

  • ISA*00*          *00*          *ZZ*NEBLUECONNECT  *ZZ*SUBNUM         *100111*1523*U*00401*000000001*0*P*:~
  • GS*FA*NEBLUECONNECT*SUBNUM*20100111*152355*1*X*004010~
  • ST*997*0001~
  • AK1*HC*507240~
  • AK2*837*12218717~
  • AK5*A~
  • AK9*A*1*1*1~
  • SE*6*0001~
  • GE*1*1~
  • IEA*1*000000001~

Sample 997 - Accepted with Errors

  • ISA*00*          *00*          *ZZ*NEBLUECONNECT  *ZZ*SUBNUM         *100111*1523*U*00401*000000001*0*P*:~
  • GS*FA*NEBLUECONNECT*SUBNUM*20100111*152355*1*X*004010~
  • ST*997*0004~
  • AK1*HC*507243~
  • AK2*837*12218734~
  • AK3*CLM*51*2300*1~
  • AK5*E~
  • AK9*A*1*1*1~
  • SE*7*0004~
  • GE*1*1~
  • IEA*1*000000001~

Sample 997 - Rejected

  • ISA*00*          *00*          *ZZ*NEBLUECONNECT  *ZZ*SUBNUM         *100111*1523*U*00401*000000001*0*P*:~
  • GS*FA*NEBLUECONNECT*SUBNUM*20100111*152355*1*X*004010~
  • ST*997*0003~
  • AK1*HC*507242~
  • AK2*837*12218733~
  • AK3*CLM*21*2300*1~
  • AK5*R*5~
  • AK9*R*1*1*0~
  • SE*7*0003~
  • GE*1*1~
  • IEA*1*000000001~

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 997.

Continue reading the next article where we discuss the other segments contained in the 997 that will help you interpret 997 rejections.