DICOMFindMove node
Use a DICOMFindMove node to query a remote SCP for patients, studies, series, and images, and to move the results of a query to an application entity such as a DICOMInput node.
Purpose
The DICOMFindMove node is a Service Class User (SCU) for the Query and Retrieve service classes. The node has two closely related capabilities. The first capability is to query a remote Service Class Provider (SCP) for patients, studies, series, and images by using a DICOM C-FIND command. The search criteria are specified in an XML message that is propagated to the input terminal of the node. The result of the query is propagated to the output terminal of the node. The second capability of the DICOMFindMove node is to move the results of a query to an application entity by using a DICOM C-MOVE command. The destination of a move command can be a DICOMInput node that is configured in IBM® Integration Bus, a DICOM Picture Archiving Communications System (PACS), or any other DICOM SCP.
The DICOMFindMove node is contained in the Healthcare drawer of the message flow node palette, and is represented in the IBM Integration Toolkit by the following icon:
Using this node in a message flow
An example of how to use the DICOMFindMove node is shown in the Healthcare: Web service to DICOM built-in pattern in the Healthcare category in the Patterns Explorer view.
The query and move capabilities are combined in one node because they are closely related in DICOM. A move command is logically a find command followed by a copy of the results to a nominated destination. When the move operations complete, a results message is propagated to the output terminal of the DICOMFindMove node. The results message includes details of the success or failure of the move command. The results message contains a count of completed transfers, warnings, failures, error information, and a status field. If the status field contains any value other than zero, the move operation did not complete successfully.
- Message schema
- A single schema is used to describe all the DICOM XML messages that are sent and received by the DICOM nodes. However, only one of the complex types that are defined in the schema is used to structure each type of message. The FindMove complex type is used to define the messages that are received at the DICOMFindMove node input terminal and the Results complex type is used to define the messages that are sent from the DICOMFindMove node output terminal.
- For more information about the schema, see DICOM message schema.
- DICOM transactions
- The DICOMFindMove node processing runs within the active transaction for the thread that is processing the DICOM image. If an error occurs, the DICOMFindMove node produces an error. Depending on the exception handling logic in the containing message flow, the error might cause the current transaction to be rolled back.
Query roots
The DICOM standard defines two types of query that are known as roots. These roots, patient and study, are used by the DICOMFindMove node to identify and retrieve data.
- The patient level query is used to query an SCP for patient information. The patient level query has a set of attributes that can be used in the query, such as patient name, patient sex, and birth date.
- The study level query is used to query an SCP for the studies for a specified patient. The study level query must include the patient ID attribute and zero or more optional attributes to further refine the search, such as the study date.
- The series level query is used to query an SCP for the series within a specific study. The series level query must include the study UID and zero or more optional attributes to further refine the search, such as the modality.
- The image level query is used to query an SCP for specific images in a series. An image level query must include the series UID.
- The study level query is used to query an SCP for studies for
a specified patient. There are no mandatory attributes but there is
a large set of optional attributes that includes study date, study
time, patient name, patient ID, and patient sex.Note: This study level query can be considered as a merging of the study and patient level queries from the patient root. You can use the study level query to search for all the studies for a patient given some basic search criteria, for example, patient name and study date. Using the patient root, you require two separate queries to achieve the same result. The first query is a patient level query to find a patient ID, the second query is a study level query to find the studies for that patient.
- The series level query is used to query an SCP for the series within a specific study. The series level query must include the study UID and zero or more optional attributes to further refine the search, such as the modality.
- The image level query is used to query for specific images in a series. An image level query must include the series UID.
For each root and level combination, the DICOMFindMove node defines the supported search attributes and a minimum set of attributes that the SCP should return. For information about the supported attributes, see Patient query root and Study query root.
The returned attributes are propagated by the node in the results messages from the output terminal. A query can return many results but these results are propagated as a single results message from the DICOMFindMove node. Vendors can support additional attributes to use as search criteria in the XML query message. The DICOMFindMove node allows these additional attributes to be configured in the XML query message, but they are not documented by the node (because they are vendor-specific). The DICOM standard requires that all the search attributes that are provided are also returned in responses. For information about the schema for the query and response messages, see, DICOM message schema.
<DICOM:FindMove xmins:DICOM="http://com.ibm.healthcare/DICOM">
<QueryRoot>STUDY</QueryRoot>
<QueryLevel>STUDY</Querylevel>
<MoveDestination>BROKERAE</MoveDestination>
<OperationPriority>NORMAL</OperationPriority>
<Match>
<Attribute Tag="PatientName">FEROVIX</Attribute>
<Attribute Tag="AccessionNumber">1210490</Attribute>
</Match>
<Return>
</Return>
</DICOM:FindMove>
The following is an example of a results
message returned to the DICOMFindMove node. For details
of the DICOM tags, see: DICOM Tags.<DICOM:Results xmins:DICOM="http://com.ibm.healthcare/DICOM">
<DICOM>
<Attribute Tag="00080005"VR="CS">ISO_IR 100</Attribute>
<Attribute Tag="00080016"VR="UI">1.2.840.10008.5.1.4.1.1.2</Attribute>
<Attribute Tag="00080018"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093016410718700003864</Attribute>
<Attribute Tag="00080052"VR="CS">IMAGE</Attribute>
<Attribute Tag="00080054"VR="AE">PACS</Attribute>
<Attribute Tag="00080056"VR="CS">ONLINE</Attribute>
<Attribute Tag="0020000D"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093013443132800000021</Attribute>
<Attribute Tag="0020000E"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093016410718700003676</Attribute>
<Attribute Tag="00200013"VR="IS">188</Attribute>
<Attribute Tag="00880130"VR="SH"/>
<Attribute Tag="00880140"VR="UI"/>
<MoveResults>
<Completed>1</Completed>
<Failed>0</Failed>
<Warnings>0</Warnings>
<Status>0</Status>
<ErrorID>0</ErrorID>
<ErrorComment/>
</MoveResults>
</DICOM>
</DICOM:Results>
Activity log entries
- BROKERAE is the name of the sending application entity.
- REMOTEAE1 is the name of the remote application entity to which queries are sent.
- REMOTEAE2 is the name of the application entity to which the DICOM images are copied.
- hostname:11112 is the host name and port number of the remote application entity to which queries are sent.
Condition | Description | Type | Example | Recommendations |
---|---|---|---|---|
Start query retrieve | A DICOM query
is being prepared for sending to a remote application entity. Note: A DICOM query command is known
in DICOM as a C-FIND
command.
|
Information BIP12068 | Starting DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) | No action is required |
End query retrieve | The DICOM query (C-FIND command) completed and any results are ready for processing. The result messages are converted into XML and then propagated to the containing message flow. | Information BIP12068 | Finished DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) | No action is required |
Query retrieve failed | The DICOM query failed (C-FIND command). An error is produced by the DICOMFindMove node. | Error BIP12070 | Failed DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) | Check network connectivity between the broker
and the remote SCP. Check that the query message is correct according to the study root and level. Check that the query message contains the requisite key fields for the specified query root and level. Check that the application entity names and port numbers exactly match with the remote SCP. Check that the remote SCP is online and ready to accept connections and data transfers. Check the exception details for more information about the error. |
Start move | A DICOM image
is being copied to a destination application entity. Note: This operation
is known in DICOM as
a C-MOVE command.
|
Information BIP12068 | Starting DICOM C-Move operation(BROKERAE,
REMOTEAE1, REMOTEAE2, 1, 5) where: 1 is the index of the current DICOM image. 5 is the total number of DICOM images to be moved. |
No action is required |
End move | A DICOM C-MOVE command completed
successfully. Note: If the destination of the C-MOVE is a broker,
this activity log entry does not guarantee that the DICOM images were processed.
|
Information BIP12068 | Finished DICOM C-Move operation(BROKERAE,
REMOTEAE1, REMOTEAE2, 1, 5) where: 1 is the index of the current DICOM image. 5 is the total number of DICOM images to be moved. |
No action is required |
Move failed | A DICOM move (C-MOVE command) failed. An error is produced by the DICOMFindMove node. | Error BIP12070 | Warnings or failures reported from DICOM C-MOVE operation (BROKERAE,REMOTEAE1,REMOTEAE2,hostname:11112) | Check network connectivity between the broker
and the remote SCP. Check that the move destination is valid and configured on the remote SCP. Check that the data that is being moved can be accepted by the move destination SCP. Check that the query message is correct according to the study root and level. Check that the query message contains the required key fields for the specified query root and level. Check that the application entity names and port numbers exactly match with the remote SCP. Check that the remote SCP is online and ready to accept connections and data transfers. Check the exception details for more information about the error. |
Configuring the DICOMFindMove node
When you have added an instance of a DICOMFindMove node into a message flow, you can configure it.
All mandatory properties for which you must enter a value (properties that do not have a default value defined) are marked with an asterisk.
Terminals and properties
Terminal | Description |
---|---|
In | The input terminal that accepts a message for processing by the node. |
Out | The output terminal to which a results message is routed if a query is successful. |
No match | The output terminal to which a results message is routed if a query is successful but no results are returned. The message that is propagated from this terminal is a regular results message but with no DICOM results elements contained in it. |
The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the broker archive (BAR) file to deploy it).
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | Yes | No | DICOMFindMove | The name of the node. |
Short description | No | No | A brief description of the node. | |
Long description | No | No | Text that describes the purpose of the node in the message flow. |
Property | M | C | Default | Description |
---|---|---|---|---|
Connection details | Yes | Yes | localhost:2222 | The host name and port for the application entity SCP to which the node connects. |
Application entity title (AET) | Yes | Yes | BROKERAE | The name for this DICOM SCU endpoint. A text string of up to 16 characters that allows application entities to be identified when they connect. |
Remote application entity title (AET) | Yes | Yes | REMOTEAE | The name of the DICOM SCP endpoint to which the node connects and sends queries. |
Property | M | C | Default | Description |
---|---|---|---|---|
Cancel after this many responses | No | Yes | 99 | The node stops receiving results after this many response messages have been received. This setting prevents large queries from monopolizing the SCP. |
Connection timeout (seconds) | Yes | Yes | 60 | The length of time that the node waits for a connection to be established with the SCP. |
Offer only implicit VR little endian transfer syntax | No | Yes | Not selected | Specifies whether the node should connect to the SCP by using the DICOM default of implicit VR little endian encoding. |
Operation priority | Yes | Yes | NORMAL | The priority for the transfer of the image to the SCP. It is not mandatory that the receiving application acts on this priority. |