我正在學習如何使用nHapi。正如許多人指出的那樣,沒有太多的文件。繼this文檔後,我已經能夠使用庫解析消息。但我不知道如何使用對象模型訪問該消息(這正是我真正想要nHapi所要做的)。本質上,我想以一個字符串的形式接收HL7消息,並使用對象模型訪問它,就像LINQ to SQL獲取數據庫記錄並讓您以對象的形式訪問它一樣。我發現Parsing an HL7 without a priori messageType knowledge,但它似乎是關於別的東西,因爲在帖子中的代碼返回一個字符串,而不是一個HL7對象(就像我需要)。在documentation I linked to above中,他們似乎使用「查詢」訪問消息的各個部分 - 但我找不到要在庫中查詢IMessage的材料。我如何訪問使用nHapi解析的hl7消息中的信息
這裏是我使用的代碼,以顯示我想要做一個線...
進口NHapi.Base 進口NHapi.Base.Parser 進口NHapi.Base.Model
Module Module1
Sub Main()
Dim msg As String = "MSH|^~\&|SENDING|SENDER|RECV|INST|20060228155525||QRY^R02^QRY_R02|1|P|2.3|QRD|20060228155525|R|I||||10^RD&Records&0126|38923^^^^^^^^&INST|||"
Dim myPipeParser As PipeParser = New PipeParser()
Dim myImsg As IMessage = myPipeParser.Parse(msg)
Dim msgType As String = myImsg.GetStructureName
Dim mySendingFacilityName As String = myImsg.getSendingFacility() //this is what I want
End Sub
我有一個引用的dll設置,並能夠引用像管道解析器的東西。但是,當我嘗試NHapi.Model.V23.Message.QRY_R02 myQryR2我得到的錯誤:類型或名稱空間NHapi不存在於命名空間NHapi.Base.Model當我打開QRY_R02.cs文件,但是,它說的命名空間是NHapi.Model.V251.Message我很困惑。我應該引用兩個DLL嗎? – bernie2436
有多個NHapi.Model.XXXX版本。基本上,如果你參考NHapi.Model.V23,那麼它將引入所有的HL7 2.3模型。如果您參考NHapi.Model.V25,那麼它將引入所有的HL7 2.5型號。您只會引用NHapi.Model.XXX dll中的一個。 您應該只需要引用NHapi.Base.dll和NHapi.Model.XXX.dll。 – Chad