I am learning how to use nHapi. As many have pointed out, there's not much documentation. Following [this](ftp://ftp.heanet.ie/disk1/sourceforge/n/project/nh/nhapi/Documentation/1.0/nHapi_1_0.pdf) doc I've been able to parse a message using the library. But I can't figure out how to access that message using an object model (which is what I really want nHapi to do). Essentially, I want to take an HL7 message as a string and access it using the object model, in the same way that LINQ to SQL takes a database record and lets you access it as an object. I found [Parsing an HL7 without a priori messageType knowledge](https://stackoverflow.com/questions/8567345/parsing-an-hl7-without-apriori-messagetype-knowledge), but it seems to be about something else because the code in the post returns a string instead of an HL7 object (like I need). In the [documentation I linked to above](ftp://ftp.heanet.ie/disk1/sourceforge/n/project/nh/nhapi/Documentation/1.0/nHapi_1_0.pdf) they seem to access the parts of a message using a "query"--but I can't find the materials to query IMessages in the library. 

Here is the code I'm using, with a line showing what I want to do...

Imports NHapi.Base
Imports NHapi.Base.Parser
Imports 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

```