簡體   English   中英

NET的C#和nHapi驗證HL7

[英]Validate HL7 with C# and nHapi for .NET

我正在使用nHapi項目的C#和.NET版本驗證HL7 2.3標准消息:

https://github.com/duaneedwards/nHapi

我已經下載了dll並將NHapi.Base.dll和NHapi.Model.V23.dll添加到我的項目中。

我知道我應該使用:

NHapi.Base.validation.MessageValidator

但是我不知道應該如何配置IValidationContext theContext以便檢查2.3版本。

另外,我找不到適合它的任何API文檔。

有人可以協助嗎?

驗證消息的方法嵌入到解析器中。 具體規則的實施有意留給實施者(以提高靈活性)。 您需要做的是創建新的上下文:

public class CustomContext : DefaultValidationContext //:IValidationContext
{
    //Define the rules and rule Bindings
}

public class Rule1 : IMessageRule
{
    //Check whatever you want in the fully parsed message
    //For example, check for the mandatory segment, groups cardinalities etc.
}

然后

PipeParser p = new PipeParser();
CustomContext myContext = new CustomContext();
p.ValidationContext = myContext;

這是一個很好的起點: NHapi文檔

甚至我也在尋找某種使用NHapi驗證HL7 V2消息的解決方案,但找不到任何好的文章。 因此,我決定遍歷NHapi對象模塊以查看任何有用的信息以驗證結構,並發現了一些東西。

NHapi HL7 v2 IMessage是使用IType接口實現的,並且具有名為ExtraComponent的屬性。 NHapi解析器不會在無效結構上引發任何異常,但會填充ExtraComponent屬性。 因此,如果您發現ExtraComponent.numComponents()大於0,則消息上會出現結構性問題。

我已經用C#編寫了驗證器代碼。 您可以從github下載它。

https://github.com/shivkumarhaldikar/NHapiValidatator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM