What are DICOM Operations
DICOM (Digital Imaging and Communications in Medicine) is a communications protocol for medical imaging. DICOM defines the standard for communication of medical images between medical devices and applications.
The DICOM protocol covers all aspects of image acquisition, transmission, storage, retrieval, display, and printing. In this module, we will discuss the basics of DICOM operations. We will cover the C-FIND, C-MOVE, C-GET, C-ECHO, and C-STORE operations.
Before we dive into the individual operations, we’ll need to understand the DICOM Message Service Element first. Then DIMSE-C. Then the DICOM operations.
What is the DICOM Message Service Element
In a previous module we defined the DICOM Message Service Element (DIMSE) as the set of commands such as “store” or “move” for DICOM files. There are two types of DIMSE services. DIMSE-N and DIMSE-C.
The DIMSE-N services apply to Normalized SOP instances whereas the DIMSE-C services apply to Composite SOP instances. Composite meaning made up of various IOD elements such as medical images.
DIMSE-N Services
- N-EVENT-REPORT
- N-GET
- N-SET
- N-ACTION
- N-CREATE
- N-DELETE
DIMSE-C Services
- C-FIND operation
- C-MOVE operation
- C-STORE operation
- C-GET operation
- C-ECHO operation
DICOM Operations are the list of composite commands listed above. In this lesson, we’ll dig deeper into the 5 composite operations listed.
What is the DIMSE-C Service
DIMSE-C is a service class-specific command that is used to send requests and responses between two application entities.
- A DIMSE-C request contains the following information:
- A Command Field, which specifies the particular composite operation that is being requested;
- A Message ID, which identifies the request;
- A DIMSE-C response contains a response status code, which indicates whether or not the request was successful, and an error comment, which may provide additional information on what the error is.
What are the DICOM Operations, and What Do They Involve?
DICOM operations are the basic actions that take place when two devices communicate with each other using the DICOM standard. Each type of operation involves different steps and has different purposes. We will elaborate on the five DICOM operations that fall under the DIMSE-C service:, find, move, store, get and echo.
DICOM Operations
C-FIND
C-FIND is the DICOM operation that allows a DICOM application to search for SOP instances in a DICOM storage SCP. The application provides query keys specifying the characteristics of the desired SOP instances, and the storage SCP responds with a list of matching SOP instances.
C-FIND can be used to search for images of a particular patient, studies performed on a particular date, or images acquired with a particular modality. In addition, C-FIND can be used to retrieve information about the structure and contents of a DICOM dataset.
For example, in the real world. A front end user will search for studies in a DICOM application such as a VNA. In the backend, this application is sending C-FIND requests to one or more other DICOM applications such as other PACS or Enterprise Archives. The results are presented to the front end user as a list of studies available from each DICOM system.
C-FIND Request
The C-FIND RQ message is used to request a search of the DICOM dataset. The message contains query keys specifying the characteristics of the desired SOP instances.
C-FIND Response
The C-FIND RSP message is used to respond to a C-FIND request. The message contains a list of matching SOP instances.
C-MOVE
C-MOVE is the DICOM operation for retrieving images from a remote DICOM image repository. A C-MOVE request consists of a DICOM command message containing an ordered list of zero or more C-MOVE destination AE titles and port numbers.
The C-MOVE message also contains a message ID that is used to identify the C-MOVE request and its associated response message. When a DICOM image repository receives the C-MOVE message, it initiates a C-MOVE sub-operation for each C-MOVE destination AE title in the list.
A C-MOVE sub-operation sends a DICOM query message to the identified C-MOVE destination AE with the same message ID as the original C-MOVE request. The query message requests all images have the same study instance UID as the images in the original C-MOVE request.
The response to the query is a list of DICOM images matching the criteria specified in the query. These images are then sent to the specified C-MOVE destinations.
Finally, when all of the images have been sent, a status message indicating success or failure is sent back to the original requester.
In the real world example, the C-MOVE is usually paired with a C-FIND operation. This paired operation is called the query/retrieve service. When a front end user on a VNA performs a C-FIND query to locate the study they want, they will be presented with a list of results. To open one of the results for viewing, the user may be able to retrieve that particular study. Thus prompting the C-MOVE operation. This allows the study to be moved from the remote application entity such as the EA, into the VNA.
C-STORE
C-STORE is the DICOM operation used to send images from a modality (e.g., CT scanner, MRI) or image archive ( PACS) to another DICOM system.
The sending system is called the source, while the receiving system is called the destination. C-STORE can also be used to send images from one application to another within the same DICOM system.
For example, a radiologist might use a workstation with specialized software to review images. After completion of review, the radiologist would send these images to PACS for final storage. In this case, the workstation would be the source, and the PACS would be the destination.
C-GET
Like the C-MOVE operation, the C-GET operation can retrieve SOP instances. The difference is that in C-GET the following sub operations occur on the same association.
However, the C-GET operation is not as commonly used to retrieve images. Rather the C-MOVE operation is more widely implemented.
C-ECHO
C-ECHO is the simplest of all the DICOM operations. It is used to verify that two DICOM systems are able to communicate with each other. To perform a C-ECHO, one system (the source) sends a C-ECHO request message to another system (the destination).
The destination then responds with a C-ECHO response message. If the destination can receive and process the request message, it will respond with a success status code. Otherwise, it will respond with an error status code.
C-ECHO is often used to test connectivity between two DICOM systems before attempting to perform more complex operations such as C-STORE or C-MOVE.
When Do DICOM Operations Occur Within The Workflow?
Three examples of DICOM commands in the workflow:
- C-FIND operations are used to query the PACS for dataset information, such as patient ID or study date.
- C-MOVE operations are used to move datasets from one PACS to another.
- C-STORE operations are used to store datasets to an archive such as a PACS, VNA or EA
Each of these operations has a specific purpose within the DICOM workflow. The order of the DICOM operations depends on the workflow. For example to perform a Query/Retrieve. The C-FIND operation generally occurs first, followed by the C-MOVE operation.
What Are The Request And Response Messages Associated With DICOM Operations?
The request message contains the criteria that should be used for the search, and the response message contains a list of matching DICOM objects.
- The C-MOVE operation is used to retrieve DICOM objects from the server. The request message (C-MOVE-RQ) specifies the desired object, and the response message (C-MOVE-RSP) contains the object data.
- The C-GET operation is used to retrieve DICOM objects from the server. The request message (C-GET-RQ) specifies the desired object, and the response message (C-GET-RSP) contains the object data.
- The C-ECHO operation is used to verify that the server is functioning properly. The request message (C-ECHO-RQ) contains no data, and the response message (C-ECHO-RSP) indicates whether or not the server was able to process the request.
- The C-STORE operation is used to store DICOM objects on the server. The request message (C-STORE-RQ) contains the object data, and the response message (C-STORE-RSP) indicates whether or not the server could store the object.
How Understanding Dicom Operations Can Help You Create Compliant Workflows
When images are exchanged between devices, they must be in a DICOM format to be compliant. By understanding DICOM operations, you can create workflows that are compliant with this standard. This means that images will be properly handled and displayed on devices such as computers and modalities.
In addition, DICOM-compliant workflows often result in better patient care, as they help to ensure that medical images are exchanged quickly and efficiently.
As healthcare increasingly relies on digital technology, it is essential to create workflows that meet all applicable standards. Understanding DICOM operations is a key step in this process.