Moving data from one AE to another AE may require several sub-operations to take place in order to accomplish the task. The following is an example showing the types of sub-operations that may be required in a simple C-MOVE-REQ.
In the following example, four AEs will be involved as follows:
AE |
Role |
Action |
A |
SCU |
Sends the C-MOVE-REQ message. |
B |
SCP/SCU |
Receives the C-MOVE-REQ message and controls the move. |
C |
SCP |
Currently stores the data to be moved. |
D |
SCP |
Will store the moved data at the completion of the move. |
This process will be broken down into six steps, as shown in the diagram above. These steps are given in the table below. Please note that the use of priority, status, dataSet, etc., throughout the steps below does not imply equivalence. The point of this table is to show possible sub-operations that may be called, and how the message IDs are used to track responses.
Step |
Method Call |
Explanation |
1 |
DicomNet.SendCMoveRequest(presentationID, 1, affectedClass, priority, "D", dataSet) |
A sends this call to B. The second parameter is the message number for this AE's messages. This is the first message sent by A. A wants to move the Data Set specified by dataSet to D, as indicated in the sixth parameter. |
2 |
DicomNet.SendCGetRequest(presentationID, 1, affectedClass, priority, dataSet) |
B sends this call to C. B must retrieve the data indicated by dataSet, in order to store it on D. The second parameter indicates that this is the first message sent by B. When C responds with DicomNet.SendCGetResponse, it will refer to this message ID. That way B knows which message (command) has been completed. |
3 |
DicomNet.SendCGetResponse(presentationID, 1, affectedClass, status, remaining, completed, failed, warning, dataSet) |
C sends this call to B. This sends the requested data to B in dataSet. The second parameter indicates that this is a response to the first message sent by B. This way B knows the response to DicomNet.SendCGetRequest (step 2) has been received. |
4 |
DicomNet.SendCStoreRequest(presentationID, 2, affectedClass, instance, priority, "A", 1, dataSet) |
B sends this call to D. B must determine whether D is capable of storing the data. The second parameter indicates that this is the second message sent by B. The sixth parameter indicates that A placed the original C-MOVE-REQ. The seventh parameter indicates that the original message sent by A, requesting the move, was message number 1. The Data Set to be stored is in dataSet. |
5 |
DicomNet.SendCStoreResponse(presentationID, 2, affectedClass, instance, status) |
D sends this call to B. The second parameter indicates that this is in response to the second message sent by B. |
6 |
DicomNet.SendCMoveResponse(presentationID, 1, affectedClass, status, remaining, completed, failed, warning, dataSet) |
B sends this call to A. The second parameter indicates that this is in response to the first message sent by A. At this point the move has been completed, and the data is now stored on D. |
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.