Что ж, я не уверен, что в (0000,0900) правильно сообщается о состоянии, так как наиболее интересная часть вывода dcmtk опущена.Попробуйте использовать опцию -ll TRACE для movecu и найдите «Команда получена DIMSE:».Затем вы можете увидеть исходный набор данных, отправленный S-MOVE SCP.Это должно выглядеть примерно так:
T: DIMSE Command Received:
T:
T: # Dicom-Data-Set
T: # Used TransferSyntax: Little Endian Implicit
T: (0000,0002) UI =MOVEPatientRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
T: (0000,0100) US 32801 # 2, 1 CommandField
T: (0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
T: (0000,0800) US 0 # 2, 1 CommandDataSetType
T: (0000,0900) US 43009 # 2, 1 Status
T: (0000,1021) US 0 # 2, 1 NumberOfCompletedSuboperations
T: (0000,1022) US 3 # 2, 1 NumberOfFailedSuboperations
Но поскольку на скриншоте, который вы разместили, правильно указано действительное состояние 0xa702, я сильно подозреваю, что присутствует в ответе MOVE-SCP.
Тем не менее, вы правы, что атрибут (0000,0902) не разрешен для этого конкретного кода состояния.См. PS3.4, Таблица C.4-2.Статус должен всегда присутствовать.В зависимости от кода состояния дополнительные атрибуты могут использоваться для передачи дополнительной информации о состоянии (например, почему произошла ошибка операции или какие объекты были затронуты).В приведенной выше таблице указано, какие дополнительные атрибуты разрешены для какого статуса.