Demo.DICOM.Process.AsyncRouterDispatcher
persistent class Demo.DICOM.Process.AsyncRouterDispatcher extends EnsLib.DICOM.Process
SQL Table Name: Demo_DICOM_Process.AsyncRouterDispatcher
Demo.DICOM.Process.AsyncRouterDispatcher acts as the target AET for other AET's sending DICOM images using a DICOM C-STORE-Req. All images sent within an DICOM association context are stored. Once the association is released by the sending AET, a signal message containing the session id is sent to all configured DICOM Router/filers asynchronously (outside the DICOM protocol). The files will then forward the stored images to the configured targets. This allows for routing of DICOM images to multiple targets where the transfer to each individual target happens within a single association. This approach avoids performance issues when studies/series with lots of images are routed to multiple targets.Property Inventory
Method Inventory
- CreateStorageResponse()
- OnAssociationAborted()
- OnAssociationErrored()
- OnAssociationReleased()
- OnError()
- OnGetConnections()
- OnMessage()
- SendToFilers()
Parameters
parameter DOMAIN = ENSDEMO;
Inherited description: Domain for Text localization
parameter SETTINGS = FilerConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?productionName=@productionId&className=Demo.DICOM.Process.AsyncRouterFiler},RuleClass:Basic:selector?context={Ens.ContextSearch/SubclassOf?class=Demo.DICOM.Util.AbstractRoutingRule&abstract=0},StoreIgnoredEntries:Basic;
Inherited description: List of properties can be set as settings in the configuration file
format is a comma separated list of property names
Properties
property FilerConfigNames;
This is the (comma separated) list of configuration names of the router filer process(es)
Property methods: FilerConfigNamesDisplayToLogical(), FilerConfigNamesGet(), FilerConfigNamesGetStored(), FilerConfigNamesIsValid(), FilerConfigNamesLogicalToDisplay(), FilerConfigNamesLogicalToOdbc(), FilerConfigNamesNormalize(), FilerConfigNamesSet()
property RuleClass as %String (MAXLEN = 2000);
DICOM Routing Class to be used for evaluation if individual images are to be sent to the specified filer(s).
Property methods: RuleClassDisplayToLogical(), RuleClassGet(), RuleClassGetStored(), RuleClassIsValid(), RuleClassLogicalToDisplay(), RuleClassLogicalToOdbc(), RuleClassNormalize(), RuleClassSet()
property StoreIgnoredEntries as %Boolean [ InitialExpression = 1 ];
If set to TRUE, status entries of DICOM documents not being sent to the target filer will be stored with a Document Status of 'Ignored'
Property methods: StoreIgnoredEntriesDisplayToLogical(), StoreIgnoredEntriesGet(), StoreIgnoredEntriesGetStored(), StoreIgnoredEntriesIsValid(), StoreIgnoredEntriesLogicalToDisplay(), StoreIgnoredEntriesNormalize(), StoreIgnoredEntriesSet()
Methods
method CreateStorageResponse(pDocIn As EnsLib.DICOM.Document, Output pDocOut As EnsLib.DICOM.Document) as %Status
Create a storage response DICOM message
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 OnAssociationReleased(pSourceConfigName As %String, pInput As EnsLib.DICOM.Notify.Released) as %Status
This callback is called by the framework when an Association is released
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
classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Return an array of connections for drawing lines on the config diagram
method OnMessage(pSourceConfigName As %String, pInput As %Library.Persistent) as %Status
Messages received here are instances of EnsLib.DICOM.Document sent to this process by the service.
method SendToFilers() as %Status
Send a signal message containing the session id to all configured DICOM filers asynchronously
Inherited Members
Inherited Properties
- %ConfigName
- %ConfigQueueName
- %CurrentResponseHeader
- %IsCompleted
- %IsInPrivateSession
- %IsTerminated
- %IsTimerInterrupted
- %LastActionTime
- %LastHandledTime
- %LastReportedError
- %MasterPendingResponses
- %MasterPendingResponsesOld
- %MessagesReceived
- %MessagesReceivedOld
- %MessagesSent
- %MessagesSentOld
- %PrimaryRequestHeader
- %PrimaryResponseHeader
- %QuitTask
- %RepliedStatus
- %SessionId
- %StatusCode
- %SuperSession
- %TimeCompleted
- %TimeCreated
- %WarnedLatest
- %isShadow
- %request
- %response
- %responseClassName
- %responseId
- Adapter
- AlertGroups
- AlertOnError
- AlertRetryGracePeriod
- BusinessPartner
- FailureTimeout
- InactivityTimeout
- QueueCountAlert
- QueueWaitAlert
- ReplyCodeActions
- Retry
- RetryInterval
- ServiceDuplexName
- SuspendMessage
- ThrottleDelay
Inherited Methods
- %AddToSaveSet()
- %AddToSyncSet()
- %BMEBuilt()
- %CheckConstraints()
- %CheckConstraintsForExtent()
- %ClassIsLatestVersion()
- %ClassName()
- %ComposeOid()
- %ConstructClone()
- %Delete()
- %DeleteExtent()
- %DeleteId()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Exists()
- %ExistsId()
- %Extends()
- %GUID()
- %GUIDSet()
- %GetLock()
- %GetParameter()
- %GetSwizzleObject()
- %Id()
- %InsertBatch()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %KillExtentData()
- %LoadFromMemory()
- %LockExtent()
- %LockId()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %Oid()
- %OnBeforeAddToSync()
- %OnClose()
- %OnDetermineClass()
- %OnNew()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PhysicalAddress()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SaveIndices()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SuperSessionSet()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateIndices()
- %ValidateObject()
- AbortAssociation()
- AdapterName()
- AssignOneSetting()
- ClearAllPendingResponses()
- DeferResponse()
- EnumerateSettingsClose()
- EnumerateSettingsExecute()
- EnumerateSettingsFetch()
- EstablishAssociation()
- GenerateSuperSession()
- GetDeferredResponseToken()
- GetProductionSettingValue()
- GetProductionSettings()
- GetPropertyConnections()
- GetSettings()
- GetShadowInstance()
- IsInPrivateSession()
- IsInPrivateSessionSet()
- IsResponsePending()
- OnAssociationEstablished()
- OnAssociationRejected()
- OnComplete()
- OnDetermineTransferSyntax()
- OnFailureTimeout()
- OnGenerateSuperSession()
- OnGetReplyAction()
- OnInit()
- OnKeepalive()
- OnMonitor()
- OnProductionStart()
- OnProductionStop()
- OnRequest()
- OnResponse()
- OnTearDown()
- OnTimeout()
- QueueName()
- ReleaseAssociation()
- RemovePendingResponse()
- Reply()
- ReplyError()
- ScheduleWakeupCall()
- SendAlert()
- SendDeferredResponse()
- SendRequestAsync()
- SendRequestSync()
- SetTimer()
- StartPrivateSession()
- StopAllPrivateSessions()
- StopPrivateSession()
- UnRegisterPrivateSession()
Storage
Gray indicates storage defined by superclasses.
Storage Model: CacheStorage (Ens.BusinessProcess)
^Ens.BusinessProcessD(ID,"pending",n) | = | %MasterPendingResponses(n) |
^Ens.BusinessProcessD(ID,"received",n) | = | %MessagesReceived(n) |
^Ens.BusinessProcessD(ID,"sent",n) | = | %MessagesSent(n) |
^Ens.BusinessProcessD(ID) | = | %%CLASSNAME
%ConfigQueueName
%IsCompleted
%MasterPendingResponsesOld
%PrimaryRequestHeader
%PrimaryResponseHeader
%RepliedStatus
%responseId
Adapter
%SessionId
%TimeCompleted
%TimeCreated
%ConfigName
%QuitTask
AlertOnError
%responseClassName
%IsTimerInterrupted
%IsTerminated
%StatusCode
%MessagesReceivedOld
%MessagesSentOld
ReplyCodeActions
RetryInterval
AlertRetryGracePeriod
FailureTimeout
Retry
SuspendMessage
QueueCountAlert
QueueWaitAlert
InactivityTimeout
BusinessPartner
AlertGroups
%SuperSession
|
^Ens.BusinessProcessD(ID,"Process") | = | ServiceDuplexName
%IsInPrivateSession
|
^Ens.BusinessProcessD(ID,"AsyncRouterDispatcher") | = | FilerConfigNames
RuleClass
StoreIgnoredEntries
|