pynetdicom.pdu_primitives.SOPClassExtendedNegotiation

class pynetdicom.pdu_primitives.SOPClassExtendedNegotiation[source]

A representation of the SOP Class Extended Negotiation primitive.

Allows peer AEs to exchange application information defined by specific Service Class specifications. Each Service Class is required to document the application information it supports and how this information is negotiated between SCUs and SCPs.

The SOP Class Extended Negotiation is optional and there may only be a single SOPClassExtendedNegotiation item for each available SOP Class UID.

Identical for both A-ASSOCIATE-RQ and A-ASSOCIATE-AC

Examples

>>> from pynetdicom.pdu_primitives import SOPClassExtendedNegotiation
>>> item = SOPClassExtendedNegotiation()
>>> item.sop_class_uid = '1.2.840.10008.5.1.4.1.2.1.3'
>>> item.service_class_application_information = b'\x01'

References

__init__() None[source]

Methods

__init__()

from_primitive()

Convert the primitive to a PDU item ready to be encoded.

Attributes

service_class_application_information

Get or set the Service Class Application Information.

sop_class_uid

Get or set the SOP Class UID.

from_primitive() SOPClassExtendedNegotiationSubItem[source]

Convert the primitive to a PDU item ready to be encoded.

Returns:

item

Return type:

pdu_items.SOPClassExtendedNegotiationSubItem

Raises:

ValueError – If sop_class_uid or service_class_application_information are not set

property service_class_application_information: bytes | None

Get or set the Service Class Application Information.

Parameters:

value (bytes) – The Service Class Application Information as per the Service Class Specifications (see PS3.4)

Raises:

TypeError – If value is not a bytes object.

property sop_class_uid: UID | None

Get or set the SOP Class UID.

Parameters:

value (pydicom.uid.UID, bytes or str) – The corresponding Abstract Syntax UID

Raises:

TypeError – If value is not a pydicom.uid.UID, bytes or str