Creating an SCP

The following steps provide the basic information required to create an SCP:

image\sqrblit.gif Create the DICOM Network handle by calling the StartUp method. This must be done before any DICOM Network Operations methods are called.

image\sqrblit.gif To listen for incoming connection requests, call the Listen method.

image\sqrblit.gif When an SCU wishes to connect to an SCP, the SCU calls Connect method. This generates a NetAccept event on the SCP to let the SCP know that a connection request has been received.

image\sqrblit.gif The SCP should respond by calling the StartUp method, and the Accept method. Calling StartUp method creates a network handle for this specific connection and allows the SCP to maintain information about this connection. Calling the Accept method will generate a NetConnect event on the SCU. At this time the DICOM Network connection has been established. (An SCP should always accept a connection request. Once the connection is made the SCP can check the SCU and close the connection if it does not wish to maintain it. Since the connection requests are queued, if the connection is not accepted, it remains in the queue. When the next request is received, it is placed in the queue behind the first request. Calling the Accept method at this point will connect the first request, not the second, since the first request is still in the queue.)

image\sqrblit.gif When an SCU requests a DICOM Associate connection, the SCU calls the SendAssociateRequest method. This generates a NetReceiveAssociateRequest event on the SCP.

image\sqrblit.gif When the NetReceiveAssociateRequest event is called, create the DICOM Associate handle by calling the CreateAssociate method.

image\sqrblit.gif Reset the newly created DICOM Associate handle to an Associate Accept by calling the ResetAssociate method, or set the new DICOM Associate handle using the following methods

SetRequest method

SetVersion method

SetCalled method

SetCalling method

SetApplication method

SetPresentationID method

SetPresentationAbstract method

SetPresentationResult method

AddPresentation method

DeletePresentation method

SetTransferSyntax method

AddTransferSyntax method

DeleteTransferSyntax method

SetMaxLength method

SetImplementClass method

SetAsyncOperations method

SetRoleSelect method

SetImplementVersion method

SetUserInfo method

AddUserInfo method

DeleteUserInfo method

SetExtendedData method

image\sqrblit.gif The DICOM Associate connection request can be accepted or rejected. To accept the Associate connection request, call the SendAssociateAccept method. This will generate a NetReceiveAssociateAccept event on the SCU. At this time the DICOM Associate connection has been established. To reject the Associate connection request, call SendAssociateReject method. This will generate a NetReceiveAssociateReject event on the SCU.