我们需要为客户处理一些 EDI 消息,我想知道你们中是否有人可以推荐一些可以完成任务的组件(不一定是免费的)。我对可以将 EDI 消息解析为 .NET 结构和某种传输协议(SMTP、FTP、HTTP、AS2)等实现的框架感兴趣。
5 回答
http://x12parser.codeplex.com上有一个开源的 .NET x12 解析器,它已经存在了一段时间,现在已经相当成熟了。它已经支持超过 15 个事务集,包括 HIPAA 集中的大部分事务集。注入您自己的规范非常可扩展,网站上有相关说明。查看该站点以获取已解析的 X12 消息的 html 序列化。
我喜欢的好处是它允许您将 X12 拆分为单独的 X12 消息,以便您可以单独处理它们。例如,如果您想解绑声明,您只需通过循环 ID“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~
http://www.sparrow-technologies.com/ediparser.net.aspx上有一个商业的 .NET X12 解析器,它已经存在了一段时间并且也相当成熟。它支持 X12、HL7 和 SCRIPT 标准。当我在我的一个项目中使用它时,它很容易理解。它附带了许多不同 EDI 消息类型的样本,因此它使我更容易编写我的第一个项目。
我对 .NET 中的 EDIFACT 文档做了一些工作,但从未找到我可以使用的框架。幸运的是,我只需要解析两种不同类型的文档。在我的情况下,最简单的方法是手动解析文件并创建友好的业务对象,以我可以使用的方式保存数据。框架会给你很大的灵活性和更友好的 API 来使用,但它可能不是必需的。
如果您不严格依赖 .Net,我建议您使用最初由 SeeBeyond Corp.开发的JCAPS B2B 套件。
否则,我听说过InterfaceWare关于Chameleon的好消息
看看: http ://www.orionhealth.com/products/symphonia/
它可以满足您的需求,尽管您在使用它时会遇到各种限制。