Yet another catch 22 in BizTalk generating 999

201 views Asked by At

I have asked another question with almost same scenario, A catch 22 in generating 999 file

Basically, I am inbounding HIPPA 837 files and am required to generate 999 response file.

Today I inbounded a file with ST02 element missing. The TA1 created with Accept status, cause it only cares ISA-IEA level and that part is good.

BizTalk inbounded the file, found the issue, and actually generated a 999 message, but it failed to send out as a physical file because:

Unable to read the stream produced by the pipeline. 
 Details: Error: 1 (Field level error)
    SegmentID: AK2
    Position in TS: 3
    Data Element ID: AK202
    Position in Segment: 2
    Data Value: 
    1: Mandatory data element missing 

So here's the catch 22: A 999 should be created to report error for this incoming 837 file, The 999's AK202 is a required field reference to incoming file's transactionnumber defined in ST02. And the error of the incoming file is it is missing this ST02.

Now, for this scenario, it ends up with an accept TA1 and a pending message in BizTalk messageBox.

In our trading partners view, they send a file and ONLY get a TA1 response with accept status.

My question goes here: 1. Which is the right file to report this kind of error (ST02 missing), TA1 or 999?

  1. Is there anyway to bypass this error and have the 999 created?
1

There are 1 answers

0
Dan Field On

There's an RFI on this at x12.org: http://rfi.x12.org/Request/Details/55?stateViewModel=WPC.RFI.Models.ViewModels.RequestViewModel

The TLDR version: you should reject the entire functional group, and use the control identifier from the functional group in AK202.

Here's the relevant text:

Description

What Segments/Data Elements should be used in the 997 when reporting an error in ST02 (Transaction Set Control Number) when the error is related to syntax or min/max? If you attempt to create a 997 back to the submitter with the inbound data from ST02 in AK202 of the 997 you would be creating an invalid 997 transaction. It appears there may be a gap in the 997 standard for reporting errors at this level. If we have misinterpreted the use of the transaction and it can be reported, please let us know how.

Response

Data elements AK102 and AK202 located within transaction set 997 and transaction set 999 are to be used to convey the values of control numbers in the functional group or transaction sets being acknowledged. If including a copy of the value of a data element in the 997 or 999 would cause a syntax violation in the 997 or 999, then if the violation is to be reported at the level at which it was found it must be reported at the next higher level.

Recommendation

The official response to a formal RFI is a letter from the current ASC X12 chair. This website often displays a summary of the RFI. Click here to view a PDF of the letter for this RFI.

When reporting errors after the syntactic analysis of the transaction set, the data analyzed must be able to be reported within the acknowledgment. While data element AK404 supports reporting the value of a data element that fails syntactic analysis without violating the syntax of the 997, the same does not apply to AK202. There are two generally accepted methods of acknowledging transaction sets: 1) acknowledge all transaction sets within the functional group or 2) acknowledge only those transaction sets containing errors. It is not recommended to accept a functional group with errors if the transaction set control number in error cannot be reported in AK202. For the example in your request, the appropriate action is to reject the entire functional group containing the ST02 value which when echoed in AK202 would create a syntactically invalid 997. In addition, the same logic applies to the functional group control number;, the appropriate action is to reject the entire interchange containing the syntactically invalid data.