protected override void Execute() { DicomMessage cFindRequest = new DicomMessage(DimseCommand.CFINDRQ); cFindRequest.CommandSet.Set("0x00000002", VR.UI, "1.2.840.10008.5.1.4.1.2.1.1"); // Set Affected SOP class to Patient Root Query/Retrieve Information Model – FIND cFindRequest.DataSet.Set("0x00080052", VR.CS, "PATIENT"); // "Query Retrieve Level" cFindRequest.DataSet.Set("0x00100020", VR.LO, "ABCD"); // Patient ID. scu = new DicomThread_NUnit.CFINDSCUThread(cFindRequest, this.transferSyntaxUid); scu.Initialize(this); Config.SetOptions(scu, "Ticket1293", "SCU " + this.transferSyntaxUid); scu.Options.LoadDefinitionFile(Path.Combine(Paths.DefinitionsDirectoryFullPath, "PatientRootQueryRetrieve-FIND.def")); scp = new DicomThread_NUnit.CFINDSCPThread(); scp.Initialize(this); scp.Options.LoadDefinitionFile(Path.Combine(Paths.DefinitionsDirectoryFullPath, "PatientRootQueryRetrieve-FIND.def")); Config.SetOptions(scp, "Ticket1293", "SCP " + this.transferSyntaxUid); scp.Start(); // Wait 1 seconds before starting the SCU. Sleep(1000); scu.Start(); scp.WaitForCompletion(); DicomMessage receivedCFindRequest = scp.Messages.DicomMessages.CFindRequests[0]; Options.DvtkScriptSession.IsDataTransferExplicit = IsDataTransferExplicit(this.scp); Validate(receivedCFindRequest); WriteInformation(receivedCFindRequest.DataSet.DumpUsingVisualBasicNotation("dataSet")); }