Существует парсер .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~