This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?


persistent class Demo.DICOM.Process.AsyncRouterFiler extends EnsLib.DICOM.Process

SQL Table Name: Demo_DICOM_Process.AsyncRouterFiler

Acts as the StorageSCU for a target image server (e.g. a PACS) Invoked by sending a signal message, then sends all DICOM message with status 'Queued' it finds in Demo.DICOM.BatchedDocument for the current session within a single DICOM association.

Property Inventory

Method Inventory


parameter DOMAIN = ENSDEMO;
Inherited description: Domain for Text localization
parameter SETTINGS = OperationDuplexName,RemoveCompletedEntries,RetryCount,-FailureTimeout;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names


property CurrentSessionId as %String;
This is the Session Id of the DICOM messages being sent
Property methods: CurrentSessionIdDisplayToLogical(), CurrentSessionIdGet(), CurrentSessionIdGetStored(), CurrentSessionIdIsValid(), CurrentSessionIdLogicalToDisplay(), CurrentSessionIdLogicalToOdbc(), CurrentSessionIdNormalize(), CurrentSessionIdSet()
property CurrentState as %String [ InitialExpression = "NotConnected" ];
In this demo, the process is ever in one of two states, the Operation is connected or not.
Property methods: CurrentStateDisplayToLogical(), CurrentStateGet(), CurrentStateGetStored(), CurrentStateIsValid(), CurrentStateLogicalToDisplay(), CurrentStateLogicalToOdbc(), CurrentStateNormalize(), CurrentStateSet()
property OperationDuplexName;
This is the name of the operation providing storage
Property methods: OperationDuplexNameDisplayToLogical(), OperationDuplexNameGet(), OperationDuplexNameGetStored(), OperationDuplexNameIsValid(), OperationDuplexNameLogicalToDisplay(), OperationDuplexNameLogicalToOdbc(), OperationDuplexNameNormalize(), OperationDuplexNameSet()
property RemoveCompletedEntries as %Boolean [ InitialExpression = 0 ];
If set to TRUE, status entries of DICOM documents sent to the target system successfully will be deleted from Demo.DICOM.BatchedDocument upon successful completion instead of being stored with a DocumentStatus of 'Delivered'
Property methods: RemoveCompletedEntriesDisplayToLogical(), RemoveCompletedEntriesGet(), RemoveCompletedEntriesGetStored(), RemoveCompletedEntriesIsValid(), RemoveCompletedEntriesLogicalToDisplay(), RemoveCompletedEntriesNormalize(), RemoveCompletedEntriesSet()
property RetryCount as %Integer [ InitialExpression = 3 ];
This is the number of times to retry after the association with the PACS system encounters an error.
-1 means never give up.
Property methods: RetryCountDisplayToLogical(), RetryCountGet(), RetryCountGetStored(), RetryCountIsValid(), RetryCountLogicalToDisplay(), RetryCountNormalize(), RetryCountSet()


method OnAssociationAborted(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Aborted) as %Status
This callback is called by the framework when an association is aborted
method OnAssociationErrored(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Errored) as %Status
This callback is called by the framework when an assocation encounters an error
method OnAssociationEstablished(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Established) as %Status
This call back is called by the framework when an Association is established
method OnAssociationRejected(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Rejected) as %Status
This callback is called by the framework when an Association is rejected
method OnAssociationReleased(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Released) as %Status
Inherited description: This callback is called by the framework when an Association is released
method OnDetermineTransferSyntax(Output pTransferSyntax) as %Status
This callback permits the transfer syntax to be overriden
method OnError(request As %Library.Persistent, ByRef response As %Library.Persistent, callrequest As %Library.Persistent, pErrorStatus As %Status, pCompletionKey As %String) as %Status
This method is called when any error occurs. Returning the same error will cause the BusinessProcess to set its status to error and close down
method OnMessage(pSourceConfigName As %String, pInput As %Library.Persistent) as %Status
Messages received here are primarily instances of EnsLib.DICOM.Document sent to this process by the RouterDispatcher Process or RouterFiler config items.
method ProcessNextDicomDocument(pSessionId) as %Status
method RetryOrTerminate(pError) as %Status
This method is called by OnAssociationErrored and OnAssociationAborted to determine what should be done after an error is encountered. Returns status $$$OK if retrying, otherwise it returns the error status

Inherited Members

Inherited Properties

Inherited Methods


Gray indicates storage defined by superclasses.

Storage Model: CacheStorage (Ens.BusinessProcess)


Storage Model: CacheStorage (Ens.BusinessProcess)


Storage Model: CacheStorage (Ens.BusinessProcess)


Storage Model: CacheStorage (Ens.BusinessProcess)


Storage Model: CacheStorage (EnsLib.PrivateSession.Process)


Storage Model: CacheStorage (Demo.DICOM.Process.AsyncRouterFiler)