DICOMOutput node
Use a DICOMOutput node to receive DICOM XML messages, combine the metadata from DICOM XML messages with the pixel data stored in the file system by the DICOMInput node, and send the resulting DICOM image to an SCP.
Purpose
The DICOMOutput node is a Service Class User (SCU) node for the Storage service class. The node takes metadata from a DICOM XML message, combines the metadata with the scanned image (pixel data) (and any other attributes not in the DICOM XML message) from the file system. The scanned image must be copied to the file system by using the DICOMInput node. The result is sent to a Service Class Provider (SCP) application, for example a DICOM Picture Archiving System (PACS) by using the DICOM C-STORE command.
The DICOMOutput 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
The DICOMOutput node receives DICOM XML messages on its input terminal. The DICOM XML message is recombined with the scanned image (pixel data) that is stored in the file system by the DICOMInput node and the resulting DICOM image is sent to a destination SCP. The destination SCP is configured using node properties and this configuration cannot be overridden in the local environment. The same DICOM image can be sent multiple times to the same destination SCP. The destination SCP can check the SOP identifier, which uniquely identifies the DICOM image, to determine whether the DICOM image has already been received.
If a DICOM image transfer succeeds, then the DICOM XML message is propagated to the output terminal of the DICOMOutput node for further processing in the message flow. If a DICOM image transfer fails, then an error is produced.
The process of combining the metadata from the DICOM XML message with the scanned image (pixel data) is called encoding. The node configuration includes options for you to change the encoding of a DICOM image. Therefore the encoding of a DICOM image received by a DICOMInput node can be different from the encoding of the DICOM image that is sent to a destination application.
- Storage Commit
You can configure the DICOMOutput node to request storage commit response messages from the destination SCP to which it sends DICOM images. The DICOMOutput node can be configured with a port on which to receive these asynchronous response messages. If the port is not configured, the node does not request storage commit responses. If the port is configured, the node does not propagate messages to its output terminal until the storage commit response messages are received. You can also configure a timeout that defines the maximum time to wait for the storage commit response message. If a response is not received within this time, an error is produced.
- Processing directory
You configure the DICOMOutput node with a directory on the file system for processing DICOM images (recombining the metadata in the XML message with the pixel data). This directory is specified in the
Processing directory
node property. This directory cannot be used by any other node unless you are using a multi-instance configuration. In a multi-instance configuration, the same message flow is configured on both the active and passive integration node. Only one message flow is active at any time and the shared file system directory provides the state for the passive DICOMOutput node when the message flow is activated.
- 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
DICOM
complex type is used to define the DICOM XML messages that arrive at the input terminal, and that are sent from the DICOMOutput node output terminal.
- DICOM transactions
- If an error occurs, the DICOMOutput 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.
Activity log entries
- BROKERAE is the name of the DICOMOutput application entity.
- REMOTEAE is the name of the remote application entity.
- hostname:2222 is the host name and port number of the remote application entity.
Condition | Description | Type | Example | Recommendations |
---|---|---|---|---|
Start send | A DICOM image
is being prepared for sending to a remote application entity. Note: Sending
a DICOM image is known
in DICOM as a C-STORE
command.
|
Information BIP12068 | Starting DICOM C-STORE operation
(BROKERAE,REMOTEAE,hostname:2222) The DICOM image Object Identifier (OID) is logged in the FILENAME field in the activity log. |
No action is required. |
End send | The DICOM image
was successfully sent to a remote application entity. If storage commit is enabled, then this activity log entry signals that the requested storage commit response message was received. |
Information BIP12068 | Finished DICOM C-STORE operation
(BROKERAE,REMOTEAE,hostname:2222) The DICOM image OID is logged in the FILENAME field in the activity log. |
No action is required. |
Send failed | A DICOM send failed (C-STORE command). An error is produced by the DICOMOutput node. | Error BIP12070 | Failed DICOM C-STORE operation
(BROKERAE,REMOTEAE,hostname:2222) The DICOM image OID is logged in the FILENAME field in the activity log. |
Check network connectivity between the integration node and the remote SCP. Check the type of data that is being transferred (SOP class and transfer syntax) is compatible with the remote SCP. Check the application entity names and port numbers match exactly with the remote SCP. Check the remote SCP is online and ready to accept connections and data transfers. Check the error details for more information about the error. |
Start send storage commit request | The DICOMOutput node is sending a storage commit request message to the remote SCP. | Information BIP12068 | Sending storage commit request message (BROKERAE,REMOTEAE,hostname:2222) | No action is required. |
End send storage commit request | The storage commit request message was successfully sent to the remote SCP. | Information BIP12068 | Finished sending storage commit request message (BROKERAE,REMOTEAE,hostname:2222) | No action is required. |
Send storage commit request failed | The DICOMOutput node could not send a storage commit request message to the remote SCP. | Error BIP12070 | Failed to send storage commit request message (BROKERAE,REMOTEAE,hostname:2222) | Check network connectivity between the integration node and the remote SCP. Check that the remote application supports the storage commit SOP class. 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 error details for more information about the error. |
Send storage commit request timed out | The storage commit response message was not received by the DICOMOutput node within the configured time limit. | Error BIP12070 | Timed out waiting for storage commit response message (BROKERAE,REMOTEAE,hostname:2222) | Check network connectivity between integration node and the remote SCP. Check the remote application supports the storage commit SOP class. Check the application entity names and port numbers match exactly with the remote SCP. Check the remote SCP is online and ready to accept connections and data transfers. Check the error details for more information about the error. |
Archive DICOM image | A DICOM image is being archived by the DICOMOutput node | Information BIP12068 | Archiving DICOM instance from
DICOMOutput node (BROKERAE) The DICOM image OID is logged in the FILENAME field in the activity log. |
No action is required. |
Delete DICOM image | A DICOM image is being deleted from the DICOMOutput archive | Information BIP12068 | Deleting DICOM instance from
DICOMOutput node archive (BROKERAE) The DICOM image OID is logged in the FILENAME field in the activity log. |
No action is required. |
Configuring the DICOMOutput node
When you have added an instance of a DICOMOutput 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 the message is routed if the image has been transferred successfully to the destination SCP. |
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 BAR file to deploy it).
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | Yes | No | DICOMOutput | 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. |
Processing directory | Yes | Yes | Output | A file system directory that the node can use
to process outgoing DICOM images.
This directory must be unique for this node. Note: If the node property
is a relative directory name, for example, Output,
then it is appended to the IBM Integration Bus work
path to get an absolute directory. If the node property contains an
absolute directory name, for example, C:\DICOM\Output),
then it is used directly as the file system location.
|
Remote application entity title (AET) | Yes | Yes | REMOTEAE | The name of the DICOM SCP endpoint to which the node connects. |
Archive DICOM images this many hours after they are sent | Yes | Yes | 72 | DICOM images are moved from the processing directory into a subdirectory named Archive after this many hours. |
Delete DICOM images this many hours after they are archived | Yes | Yes | 72 | DICOM images are deleted from the Archive subdirectory this many hours after they are archived. |
Property | M | C | Default | Description |
---|---|---|---|---|
Connection timeout (seconds) | Yes | Yes | 60 | The length of time, in seconds, that the node waits for a connection to the SCP. |
Operation priority (LOW, NORMAL, HIGH) | 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. |
Encode sequences with explicit length | No | Yes | Not selected | Specifies whether sequences in the DICOM image are encoded with an explicit length. |
Encode sequence items with explicit length | No | Yes | Not selected | Specifies whether sequence items in the DICOM image are encoded with an explicit length. |
Include group length attributes | No | Yes | Not selected | Specifies whether groups of DICOM attributes have a specified length. |
Encode empty sequences with explicit length | No | Yes | Selected | Specifies whether empty sequences in the DICOM image are encoded with an explicit length. |
Encode empty sequence items with explicit length | No | Yes | Selected | Specifies whether empty sequence items in the DICOM image are encoded with an explicit length. |
Property | M | C | Default | Description |
---|---|---|---|---|
Maximum wait time for storage commit responses (seconds) | No | Yes | 60 | The maximum time to wait for storage commit response messages. If a response is not received in this time period, the node produces an error. |
Receive storage commit responses on port | No | Yes | 2223 | The port that receives storage commit response messages. If this field is blank, the node does not request storage commit response messages. |