SOP class is one of those horrible obscure expressions used in DICOM which put people off the standard immediately! It is supposed to stand for “Service Object Pair”, and has its roots in the slightly odd object orientated origins of DICOM, but in practice, each object only has one directly associated service (Storage) and each other service only has one type of object, so a better name would be Service OR Object

So in reality there are 2 types of SOP classes:

  • Persistent object types (e.g. CT or MR objects)
  • Negotiable services - e.g. “Patient-Root C-FIND” or “Modality Performed Procedure Step Service”

In general, the terms “SOP Class” and “Abstract Syntax” are interchangeable - the only difference being that the term abstract syntax is used more in discussions of negotiation, and perhaps that is the best definition of SOP classes - they are the standard unit of functionality negotiated during Association establishment.

For persistent objects, the term “Information Object Definition” (IOD) means effectively the same thing