[英]How do i access the information in an hl7 message parsed with nHapi
我正在學習如何使用nHapi。 正如許多人所指出的那樣,沒有太多文件。 按照這個文檔,我已經能夠使用庫解析一條消息。 但我無法弄清楚如何使用對象模型訪問該消息(這是我真正想要的nHapi)。 本質上,我想將HL7消息作為字符串並使用對象模型訪問它,就像LINQ to SQL獲取數據庫記錄並允許您作為對象訪問它一樣。 我發現沒有先驗的messageType知識解析HL7 ,但它似乎是關於別的東西,因為帖子中的代碼返回一個字符串而不是HL7對象(就像我需要的那樣)。 在我上面鏈接的文檔中,他們似乎使用“查詢”訪問消息的各個部分 - 但我找不到在庫中查詢IMessages的材料。
這是我正在使用的代碼,其中一行顯示了我想要做的事情......
進口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
請記住HL7消息,每個段必須以換行結束。
此外,您需要將消息解析回其實際類型,以便正確填充對象模型(請注意,當我使用myPipeParser.Parse時,它會從NHapi.Model轉換回QRY_R02消息類型。 V23圖書館)。 所以代碼應該是這樣的:
Imports NHapi.Model.V23.Message
Imports NHapi.Base.Parser
Imports NHapi.Base
Module Module1
Sub Main()
Dim msg As String = "MSH|^~\&|SENDING|SENDER|RECV|INST|20060228155525||QRY^R02^QRY_R02|1|P|2.3" & vbNewLine & _
"QRD|20060228155525|R|I||||10^RD&Records&0126|38923^^^^^^^^&INST|||"
Dim myPipeParser As PipeParser = New PipeParser()
Dim myImsg As QRY_R02 = myPipeParser.Parse(msg)
Dim msgType As String = myImsg.GetStructureName
Dim mySendingFacilityName As String = myImsg.MSH.SendingFacility.NamespaceID.Value
Console.WriteLine(mySendingFacilityName)
Console.ReadLine()
End Sub
End Module
我知道這是很久以前的事了,不過我最近一直在尋找這個資源,並且發現幾乎沒有關於如何使用這個API的文檔。 在項目NHapi.NUnit的源代碼的測試部分中可以找到優秀的示例源。 來源可以在這里找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.