Extended negotiation allows “options” to be negotiated between 2 Application Entities as part of Negotiation. In order for the option to be available for use, it must be both proposed by the initiator and agreed by the acceptor.
Specification of storage level (how accurately the data is retained) for C-STORE
In DicomObjects, these values are used as follows:
For an SCU:
Create and set up a DicomConnection/DicomAssociation object
Add the appropriate Presentation Context
Set the ExtendedNegotiationValues property of that context to a byte array containing the values required
Use SetDestination/Open as normal
Check the ExtendedNegotiationValues property of the context to see if it has been accepted by the SCP (and if not, do not expect to use the facility!)
For an SCP:
Set DicomServer.AllowExtendedNegotiation to true
In the AssociationRequest event, check the value of the ExtendedNegotiationValues property of the requested contexts, and leave at 1 if you accept, or set to 0 if you do not.
Note that for convenience in DicomObjects, these values are attached per DicomContext but in fact are negotiated at a SOP Class level, so values set/accessed for one DicomContext are in fact shared between all DicomContext objects in the same association sharing the same SOP Class/Abstract Context.
Providing software toolkits and consultancy for healthcare integration with primary focus on DICOM & XDS