using DicomObjects;
using DicomObjects.Enums;
using (var cn = new DicomAssociation())
{
// Replace with your private SOP Class UID
var privateSopClassUID = "1.2.840.113619.6.1.4.50.1002";
cn.RequestedContexts.Add(privateSopClassUID);
cn.Open("localhost", 104, "callingAET", "calledAET");
// Add relevant Dicom tags with value if required by your private SOP Class UID
var queryDS = new DicomDataSet();
queryDS.Add(Keyword.PatientName, "");
queryDS.Add(Keyword.PatientID, "");
queryDS.Add(Keyword.PatientSex, "");
queryDS.Add(Keyword.PatientBirthDate, "");
queryDS.Add(Keyword.QueryRetrieveLevel, "STUDY");
cn.Find(privateSopClassUID, queryDS);
// this holds the returned C-FIND results
DicomDataSetCollection results = cn.ReturnedIdentifiers;
// this holds the final C-FIND response, including the final status
DicomDataSet finalC_Find_Status = cn.LastCommand;
// the final C-FIND status, 0 means Success
int status = cn.LastStatus;
cn.Close();
}