Avoiding Accepting Private SOP classes

Many pieces of equipment will try to negotiate both a Private SOP class and an official DICOM SOP Class for the images they send to a PACS, on the basis that only a PACS from the same manufacturer will accept the private one, with everyone else accepting only the DICOM one. It is important that this behavior is maintained at the PACS in order to avoid accidentally accepting the private class(es).

Sample code below shows how to reject non-DICOM SOP classes in the Connection negotiation stage.

DicomObjects.NET version

 private void Server_AssociationRequest(object Sender, DicomObjects.EventArguments.AssociationRequestArgs e)
 {
	foreach (DicomContext ctx in e.Contexts)
	{
	  if(!ctx.AbstractSyntax.StartsWith("1.2.840.10008."))
	  ctx.Reject(3); // reason 3 means "abstract syntax not supported"
	}
 }

DicomObjects.COM version

 Private Sub server_AssociationRequest(ByVal Connection As DicomObjects8.DicomConnection, isOK As Boolean)
  Dim cxt As DicomContext
  For Each cxt In Connection.Contexts
    If left(cxt.AbstractSyntax, 14) <> "1.2.840.10008." Then
      cxt.Reject 3
    End If
  Next
 End Sub
When the equipment finds that the private SOP class has been rejected, then it will automatically create and send a proper and official DICOM SOP Instance


We use cookies to give you the best possible experience on our website. By continuing to use this website, you agree with our use of cookies. for more information please click HERE