pynetdicom.pdu_items.SOPClassExtendedNegotiationSubItem

class pynetdicom.pdu_items.SOPClassExtendedNegotiationSubItem

A SOP Class Extended Negotiation Sub-item.

A SOP Class Extended Negotation Sub-item allows peer Application Entities to exchange application information defined by specific Service Class specifications [1].

item_length

The number of bytes from the first byte following the Item Length field to the last byte of the Item.

Type:int
item_type

The Item Type field value (0x56).

Type:int
service_class_application_information

The Service Class Application Information field value.

Type:bytes
sop_class_uid

The SOP Class UID field value.

Type:uid
sop_class_uid_length

The SOP Class UID Length field value.

Type:int

Notes

A SOP Class Extended Negotiation Sub-item requires the following parameters:

  • Item type (1, fixed, 0x56)
  • Item length (1)
  • SOP Class UID length (1)
  • SOP Class UID (1)
  • Service class application information

Encoding

When encoded, a SOP Class Extended Negotiation Sub-item has the following structure, taken from Table D.3-11 [1] (offsets shown with Python indexing). Items are always encoded using Big Endian [2]. The SOP Class UID parameter is encoded as a UID as per the rules in Part 5, Section 9.1 (ie NO trailing padding null byte).

Offset Length Description
0 1 Item type
1 1 Reserved
2 2 Item length
4 2 SOP class UID length
6 Variable SOP class UID
6 + UID length Variable Service class application info

References

[1](1, 2) DICOM Standard, Part 7, Annex D.3.3.5
[2]DICOM Standard, Part 8, Section 9.3.1
__init__()

Initialise a new SOP Class Extended Negotiation Item.

Methods

__init__() Initialise a new SOP Class Extended Negotiation Item.
decode(bytestream) Decode bytestream and use the result to set the field values of the PDU item.
encode() Return the encoded PDU as bytes.
from_primitive(primitive) Set the item’s values using a SOP Class Extended Negotiation primitive.
to_primitive() Return a SOP Class Extended Negotiation primitive from the current Item.

Attributes

app_info Return the item’s Service Class Application Information field value.
item_length Return the item’s Item Length field value as an int.
item_type Return the item’s Item Type field value as an int.
sop_class_uid Return the item’s SOP Class UID field value.
sop_class_uid_length Return the item’s SOP Class UID Length field value.
uid Return the item’s SOP Class UID field value.
app_info

Return the item’s Service Class Application Information field value.

decode(bytestream)

Decode bytestream and use the result to set the field values of the PDU item.

Parameters:bytestream (bytes) – The PDU data to be decoded.
encode()

Return the encoded PDU as bytes.

Returns:The encoded PDU.
Return type:bytes
from_primitive(primitive)

Set the item’s values using a SOP Class Extended Negotiation primitive.

Parameters:primitive (pdu_primitives.SOPClassExtendedNegotiation) – The primitive to use to set the Item’s field values.
item_length

Return the item’s Item Length field value as an int.

item_type

Return the item’s Item Type field value as an int.

sop_class_uid

Return the item’s SOP Class UID field value.

sop_class_uid_length

Return the item’s SOP Class UID Length field value.

to_primitive()

Return a SOP Class Extended Negotiation primitive from the current Item.

Returns:The primitive representation of the current Item.
Return type:pdu_primitives.SOPClassExtendedNegotiation
uid

Return the item’s SOP Class UID field value.