2009-04-22 51 views
25

搜索库或框架,提供一个对象模型,分析,验证等HL7对象模型的.NET

的想法是能够旋转起来类型HL7 V2或V3的一个新对象。然后也许称它为消息类型ORU_R01或ADT或ORM。

难道生命是伟大的,如果我们能够做这样的事:

HL7V2 myMessage = new HL7V2(); 
myMessage.Type = V2MsgTypes.ORU_R01; 
myMessage.TryParse(someHL7_string); 

if (myMessage.IsValid) 
{ 
    //do some work 
    //maybe access the PID segment 
    if (myMessage.Patient.Names.FamilyName =="Johnson") 
    { 
    //do more work 
    } 
} 

回答

28

你想nHAPI我用它在一个项目之前,和它的工作很大。由于其中一个输入源没有精确地遵循HL7规范,所以我不得不在源代码上稍微修改一下,以使nHAPI的解析器允许这些消息(因为我不能改变它们)。

+2

虽然nHAPI的问题在于它假定某个特定“HL7版本”的任何给定消息具有一种风味。 HL7的现实是,不同的国家对HL7有不同的定义(例如澳大利亚的参考消息与美国不同),并且在一个国家内,不同的病理学实验室会有自己的2.3.1 ORU消息。一些国家甚至不更改版本号。 nHAPI使并发定义变得困难。一种更好的方法可能是从诸如HL7等EDI格式中抽象出来并使用XML; XSD和XSLT代替 – MickyD 2015-04-29 09:15:17

+1

这是一个有效的论点,但或许更好的答案是改进nHAPI,因为nHAPI的重点在于将相同的抽象从EDI格式转换为对象模型。人们也可以争辩说,各种HL7应用程序的实施者应该更好地遵守标准,因为这是真正的潜在问题。鉴于这不会发生,改善。NET抽象似乎比创建一个更好的解决方案。 – 2015-04-29 16:45:33

0

Orion Helth有一个名为Symphonia的工具包,它做了类似的工作。也有接口软件的变色龙工具集,它也是这样做的。

6

我也使用nHAPI,它工作的很好。但是,您可能需要注意一些古怪的行为,比如避开特殊字符。我还必须手动破解HL7字符串来更新一些使用对象模型无法访问的字段。

0

我只是碰到这种产品跌跌撞撞,以及:

Managed Code Objects for Visual Studio .Net

从他们的网页:

在Visual Studio .Net的HL7类库DLL旨在让HL7软件开发商提供廉价,快速,可靠地将HL7集成到现有解决方案中。