求助:Pokitdok批量医保资格查询X12循环配置问题
解决Pokitdok医保资格批量查询的X12循环问题
你这是踩了X12 270交易结构的典型坑——把多个参保人塞到同一个HL层级里,导致Pokitdok只识别到了第一条查询请求。X12医保资格查询的规范要求,每个参保人必须拥有独立的HL分层结构,下面给你拆解具体的修改方案:
核心问题分析
你当前的X12文本里,两个NM1*IL(参保人标识段)都挂在同一个HL*3*2*22*0节点下,但按照X12 5010规范,每个参保人需要对应一个独立的HL段,父节点指向投保人所在的HL*2层级。
修改后的X12结构调整要点
- 给第二个参保人新增一个
HL*4*2*22*0段,明确它属于投保人层级的子节点 - 确保每个参保人的
TRN(跟踪号)唯一,避免重复导致解析异常 - 更新
SE段的段数计数(因为新增了多个段,原来的13要改成实际的段数)
修正后的完整代码
const data = { x12: `ISA*03*0123456789*01*1234567890*30*000000005 *30*12345 *131031*1147*^*00501*000000907*1*T*:~ GS*HS*000000005*12345*20131031*1147*1*X*005010X279A1~ ST*270*0001*005010X279A1~ BHT*0022*13*10001234*20131031*1147~ HL*1**20*1~ NM1*PR*2*MOCKPAYER*****PI*MOCKPAYER~ HL*2*1*21*1~ NM1*1P*2*POKITDOK, INC.*****XX*1912301953~ // 第一个参保人独立HL分支 HL*3*2*22*0~ TRN*1*930000000000*9800000004~ NM1*IL*1*Doe*Jane****MI*W000000001~ DMG*D8*19700101~ DTP*291*D8*20131031~ // 第二个参保人独立HL分支(新增) HL*4*2*22*0~ TRN*1*930000000001*9800000005~ NM1*IL*1*Doe2*Jane****MI*W000000002~ DMG*D8*19700202~ DTP*291*D8*20131031~ SE*19*0001~ GE*1*1~ IEA*1*000000907~` }
额外提醒
SE段的第一个数字是ST到SE之间的总段数,一定要数准确,差一个都会导致X12解析失败- Pokitdok对X12规范的校验很严格,哪怕是小的格式错误都会导致批量查询不生效
- 如果后续要加更多参保人,只需要重复「HL段 + TRN + NM1 + DMG + DTP」的结构即可
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

