BizTalk中的另一个捕获22产生999

时间:2016-12-28 17:26:40

标签: biztalk edi

我在几乎相同的情况下问了另一个问题,A catch 22 in generating 999 file

基本上,我正在收集HIPPA 837文件,我需要生成999响应文件。

今天我输入了缺少ST02元素的文件。 TA1创建了Accept状态,因为它只关心ISA-IEA级别,那部分是好的。

BizTalk拦截了该文件,发现了该问题,并且实际上生成了一条999消息,但它未能作为物理文件发送,因为:

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 

所以这里是捕获22:应该创建一个999来报告这个传入的837文件的错误,999的AK202是对ST02中定义的传入文件的transactionnumber的必需字段引用。 并且传入文件的错误是它缺少此ST02。

现在,对于这种情况,它最终会在BizTalk messageBox中接受TA1和待处理消息。

在我们的贸易伙伴视图中,他们发送文件并仅获得具有接受状态的TA1响应。

我的问题在这里: 1.哪个是报告此类错误(缺少ST02),TA1或999的正确文件?

  1. 无论如何都要绕过这个错误并创建了999?

1 个答案:

答案 0 :(得分:0)

在x12.org上有一个关于此的RFI:http://rfi.x12.org/Request/Details/55?stateViewModel=WPC.RFI.Models.ViewModels.RequestViewModel

TLDR版本:您应该拒绝整个功能组,并使用AK202中功能组的控制标识符。

以下是相关文字:

  

<强>描述

     

当错误与语法或最小/最大相关时,在报告ST02(事务集控制号)中的错误时,997中应使用哪些段/数据元素?如果您尝试使用997的AK202中ST02的入站数据创建997返回提交者,您将创建无效的997事务。看来997标准中可能存在一个缺口,用于报告此级别的错误。如果我们误解了交易的使用并且可以报告,请告诉我们如何。

     

<强>响应

     

位于交易集997和交易集999内的数据元素AK102和AK202将用于传达正被确认的功能组或交易集中的控制号的值。如果在997或999中包含数据元素值的副本会导致997或999中的语法违规,那么如果要在发现违规的级别报告违规,则必须在下次报告更高的水平。

     

<强>建议

     

官方对正式RFI的回应是当前ASC X12主席的一封信。该网站通常会显示RFI的摘要。点击此处查看该RFI信函的PDF文件。

     

在事务集的语法分析之后报告错误时,必须能够在确认中报告所分析的数据。虽然数据元素AK404支持报告在不违反997语法的情况下无法进行语法分析的数据元素的值,但同样的情况不适用于AK202。有两种普遍接受的确认事务集的方法:1)确认功能组内的所有事务集或2)仅确认包含错误的那些事务集。如果在AK202中无法报告错误的事务集控制号,则不建议接受具有错误的功能组。对于请求中的示例,相应的操作是拒绝包含ST02值的整个功能组,当在AK202中回显时,将创建语法上无效的997.此外,相同的逻辑适用于功能组控制号;相应的action是拒绝包含语法无效数据的整个交换。