SendCGetRequest Example for Visual Basic
Dim nRet As Integer
Dim szClassUID As String
Dim nVR As Integer
Dim hPDU As Long
Dim nID As Integer
'send a get request to the server
'gszGetFile will be used when this AE receives the NetReceiveCStoreRequest
'associated with this CGetRequest to save the data set
gszGetFile = InputBox("Select filename for retrieved data set", "Get Request", "d:\temp\get_request.dic")
If (Len(gszGetFile) < 1) Then Exit Sub
szClassUID = InputBox("What class do you wish to get?", "Get Request", UID_SC_IMAGE_STORAGE)
If (Len(szClassUID) < 1) Then Exit Sub
'create the data set that encodes the identifier to be matched
LEADDICOM1.InitDS DICOM_CLASS_UNKNOWN, 0
'add the required elements
LEADDICOM1.FindTag TAG_QUERY_RETRIEVE_LEVEL
nVR = LEADDICOM1.CurrentTag.VR
LEADDICOM1.InsertElement False, TAG_QUERY_RETRIEVE_LEVEL, nVR, False, 0
LEADDICOM1.StringValueCount = 1
LEADDICOM1.StringValues (0) = "PATIENT"
LEADDICOM1.SetStringValue 1
LEADDICOM1.FindTag TAG_PATIENT_NAME
LEADDICOM1.InsertElement False, TAG_PATIENT_NAME, LEADDICOM1.CurrentTag.VR, False, 0
LEADDICOM1.StringValueCount = 1
LEADDICOM1.StringValues (0) = "*" 'get all patients
LEADDICOM1.SetStringValue 1
'add the optional fields that we want returned
LEADDICOM1.FindTag TAG_PATIENT_ID
LEADDICOM1.InsertElement False, TAG_PATIENT_ID, LEADDICOM1.CurrentTag.VR, False, 0
LEADDICOM1.FindTag TAG_PATIENT_BIRTH_DATE
nVR = LEADDICOM1.CurrentTag.VR
LEADDICOM1.InsertElement False, TAG_PATIENT_BIRTH_DATE, nVR, False, 0
LEADDICOM1.FindTag TAG_PATIENT_SEX
nVR = LEADDICOM1.CurrentTag.VR
LEADDICOM1.InsertElement False, TAG_PATIENT_SEX, nVR, False, 0
LEADDICOM1.FindTag TAG_NUMBER_OF_PATIENT_RELATED_INSTANCES
nVR = LEADDICOM1.CurrentTag.VR
LEADDICOM1.InsertElement False, TAG_NUMBER_OF_PATIENT_RELATED_INSTANCES, nVR, False, 0
hPDU = LEADDICOMNet1.GetAssociate (LEADDICOMNet1.hNet)
'now, send a request
nID = LEADDICOMNet1.FindPresentationAbstract (hPDU, szClassUID)
If (nID = 0) Then
nRet = LEADDICOM1.FindUID(szClassUID)
If (nRet = 0) Then
MsgBox "Abstract Syntax, " & LEADDICOM1.CurrentUID.Name & ", Not Supported by Association!"
Else
MsgBox "Abstract Syntax, " & szClassUID & ", Not Supported by Association!"
End If
Exit Sub
End If
LEADDICOMNet1.SendCGetRequest LEADDICOMNet1.hNet, nID, 999, szClassUID, COMMAND_PRIORITY_MEDIUM, LEADDICOM1.hDicomDS
'we now must wait for the response and for the C-STORE sub-operations