Dimse.Pdu (Dimse v0.8.7)

Copy Markdown View Source

DICOM Upper Layer PDU type definitions.

Defines structs for all 7 PDU types specified in DICOM PS3.8 Section 9.3, plus their sub-item types used in association negotiation.

PDU Types

TypeHexStructDirection
10x01AssociateRqSCU → SCP
20x02AssociateAcSCP → SCU
30x03AssociateRjSCP → SCU
40x04PDataTfBoth
50x05ReleaseRqBoth
60x06ReleaseRpBoth
70x07AbortBoth

Sub-Items (inside A-ASSOCIATE-RQ/AC)

  • PresentationContext — proposed or accepted abstract syntax + transfer syntaxes
  • AbstractSyntax — SOP Class UID
  • TransferSyntax — Transfer Syntax UID
  • UserInformation — max PDU length, implementation UID/version, extended negotiation
  • RoleSelection — SCU/SCP role negotiation per SOP class (PS3.7 D.3.3.4)
  • SopClassExtendedNegotiation — service-class-specific info per SOP class (PS3.7 D.3.3.5)
  • SopClassCommonExtendedNegotiation — service class + related SOP classes (PS3.7 D.3.3.6)
  • UserIdentity — SCU authentication credentials in A-ASSOCIATE-RQ (PS3.7 D.3.3.7)
  • UserIdentityAc — SCP server response in A-ASSOCIATE-AC (PS3.7 D.3.3.8)

Wire Format

All PDUs share a common header: 1 byte type, 1 byte reserved (0x00), 4 bytes length (big-endian uint32). The length field does not include the 6-byte header itself.

See PS3.8 Section 9.3 for complete wire format tables.