Существует синтаксический анализатор .NET x12 с открытым исходным кодом на http://x12parser.codeplex.com, который существует некоторое время и довольно зрелый. Он уже поддерживает более 15 наборов транзакций, включая большинство из них в наборе HIPAA. Он довольно расширяемый для ввода собственной спецификации, инструкции для этого находятся на сайте. Проверьте сайт для сериализации html разобранного сообщения X12.
Самое приятное, что мне нравится, это то, что он позволяет разделить ваш X12 на отдельные сообщения X12, чтобы вы могли обрабатывать их по отдельности. Например, если вы хотите разделить требования, вам просто нужно разделить его на идентификатор цикла «2300». Он будет ресериализовать ваш X12 в формате с отступом, поэтому его легче читать. Например, следующее утверждение - 837, после того как оно было проанализировано в объект Interchange и затем сериализовано с пробелом:
ISA*00* *01*SECRET *ZZ*SUBMITTERS.ID *ZZ*RECEIVERS.ID *030101*1253*^*00501*000000905*1*T*:~
GS*HC*SENDER CODE*RECEIVER CODE*19991231*0802*1*X*005010X222~
ST*837*0021*005010X222~
BHT*0019*00*244579*20061015*1023*CH~
NM1*41*2*PREMIER BILLING SERVICE*****46*TGJ23~
PER*IC*JERRY*TE*3055552222*EX*231~
NM1*40*2*KEY INSURANCE COMPANY*****46*66783JJT~
HL*1**20*1~
PRV*BI*PXC*203BF0100Y~
NM1*85*2*BEN KILDARE SERVICE*****XX*9876543210~
N3*234 SEAWAY ST~
N4*MIAMI*FL*33111~
REF*EI*587654321~
NM1*87*2~
N3*2345 OCEAN BLVD~
N4*MAIMI*FL*33111~
HL*2*1*22*1~
SBR*P**2222-SJ******CI~
NM1*IL*1*SMITH*JANE****MI*JS00111223333~
DMG*D8*19430501*F~
NM1*PR*2*KEY INSURANCE COMPANY*****PI*999996666~
REF*G2*KA6663~
HL*3*2*23*0~
PAT*19~
NM1*QC*1*SMITH*TED~
N3*236 N MAIN ST~
N4*MIAMI*FL*33413~
DMG*D8*19730501*M~
CLM*26463774*100***11:B:1*Y*A*Y*I~
REF*D9*17312345600006351~
HI*BK:0340*BF:V7389~
LX*1~
SV1*HC:99213*40*UN*1***1~
DTP*472*D8*20061003~
LX*2~
SV1*HC:87070*15*UN*1***1~
DTP*472*D8*20061003~
LX*3~
SV1*HC:99214*35*UN*1***2~
DTP*472*D8*20061010~
LX*4~
SV1*HC:86663*10*UN*1***2~
DTP*472*D8*20061010~
SE*42*0021~
GE*1*1~
IEA*1*000000905~