GetFieldValue()

Top  Previous  Next

Object: EHL7.EHL7Message

FileName: EHL7.dll

 

METHOD

 

Name: GetFieldValue()

Parameters:

1) oSegment (Segment Object)

2) nFieldNumber (Long) index of the data field in the segment (1-xxx) to get value from

3) nFieldComponent (Optional Long) default = 1, which component of the field element to get value from

       

Returns: String

Description: Returns the value from a field element of a segment.  If an error occurs IsError is set to true

 

Programming Note: Passing 0 in nFieldComponent will return the values in ALL components for the field delimited with "^" or an empty string ("") if all components are empty.

 

See Also: SetFieldValue()

 

Example:

Private Sub MessageTest()

Dim myVendorObj As New EHL7.HL7Vendors

Dim myMsg As New EHL7.EHL7Message

Dim strVendorID As String

Dim oSegment As Object

Dim oMSH As Object

Dim i As Long

myVendorObj.VendorPath = "C:\EasyHL7"

strVendorID = myVendorObj.GetVendorID("Default","2.3")

If strVendorID = "" Then

    MsgBox myVendorObj.LastError

    Set myVendorObj = Nothing

    Exit Sub

End If

If Not MyVendorObj.OpenVendor(strVendorID) Then

    MsgBox myVendorObj.LastError

    Set myVendorObj = Nothing

    Exit Sub

End If

With myMsg

   Set oMSH = .CreateMessage(myVendorObj)

   'Do some processing of the MSH Segment

   If .IsError Then

     MsgBox .LastError

     .ClearErrors

     Exit Sub

   End If

   'Add a patient identifier segment

   Set oSegment = .AddSegment("PID")

   If .IsError Then

     MsgBox .LastError

     .ClearErrors

     Exit Sub

   End If

   'Add the patient's name

   .SetFieldValue "Smith", oSegment, 5, 1

   .SetFieldValue "John", oSegment, 5, 2

   .SetFieldValue "J", oSegment, 5, 3

   .SetFieldValue "Jr", oSegment, 5, 4

   .SetFieldValue "Mr", oSegment, 5, 5

   'Another way to Set a field value is to pass 0 in nComponent and a delimited string

    .SetFieldValue "Smith^John^J^Jr^Mr", oSegment, 5, 0

   'Add the Patient's Sex only 1 component for field 8 so I can

   'ignore the 4th parameter

   .SetFieldValue "M", oSegment, 8

   'Now get the values back out.

   'Show the first name

   MsgBox "The first name is: " & .GetFieldValue(oSegment,5,2)

   'Show everything

   MsgBox "Patient name field = " & .GetFieldValue(oSegment,5,0)

End With

End Sub