Demo.DICOM.Process.WorkList
persistent class Demo.DICOM.Process.WorkList extends EnsLib.DICOM.Process
SQL Table Name: Demo_DICOM_Process.WorkList
This class demonstrates how to handle DICOM C-FIND-RQ and respond with worklist entriesProperty Inventory
Method Inventory
- CreateFinalFindResponse()
- CreateIntermediateFindResponse()
- CreateNCreateResponse()
- OnError()
- OnMessage()
Parameters
parameter SETTINGS = NumberOfWorkListEntries;
This parameter influences the number of worklist entries returned by a C-FIND-RQ
Properties
property DocumentFromService as EnsLib.DICOM.Document;
This is the incoming document from the business Sservice
Property methods: DocumentFromServiceGet(), DocumentFromServiceGetObject(), DocumentFromServiceGetObjectId(), DocumentFromServiceGetStored(), DocumentFromServiceGetSwizzled(), DocumentFromServiceIsValid(), DocumentFromServiceNewObject(), DocumentFromServiceSet(), DocumentFromServiceSetObject(), DocumentFromServiceSetObjectId(), DocumentFromServiceUnSwizzle()
property NumberOfWorkListEntries as %Integer [ InitialExpression = 1 ];
Property methods: NumberOfWorkListEntriesDisplayToLogical(), NumberOfWorkListEntriesGet(), NumberOfWorkListEntriesGetStored(), NumberOfWorkListEntriesIsValid(), NumberOfWorkListEntriesLogicalToDisplay(), NumberOfWorkListEntriesNormalize(), NumberOfWorkListEntriesSet()
property OriginatingMessageID as %Integer;
This keeps track of the OriginatingMessageID
Property methods: OriginatingMessageIDDisplayToLogical(), OriginatingMessageIDGet(), OriginatingMessageIDGetStored(), OriginatingMessageIDIsValid(), OriginatingMessageIDLogicalToDisplay(), OriginatingMessageIDNormalize(), OriginatingMessageIDSet()
property ReplyCounter as %Integer;
This keeps track of the number of replies sent to the worklist request
Property methods: ReplyCounterDisplayToLogical(), ReplyCounterGet(), ReplyCounterGetStored(), ReplyCounterIsValid(), ReplyCounterLogicalToDisplay(), ReplyCounterNormalize(), ReplyCounterSet()
property StudyInstanceCounter as %Integer [ InitialExpression = 0 ];
This provides a unique counter to disambiguate StudyInstances
Property methods: StudyInstanceCounterDisplayToLogical(), StudyInstanceCounterGet(), StudyInstanceCounterGetStored(), StudyInstanceCounterIsValid(), StudyInstanceCounterLogicalToDisplay(), StudyInstanceCounterNormalize(), StudyInstanceCounterSet()
Methods
method CreateFinalFindResponse(pDocIn As EnsLib.DICOM.Document, Output pDocOut As EnsLib.DICOM.Document) as %Status
Create a Final Find Response
method CreateIntermediateFindResponse(pDocIn As EnsLib.DICOM.Document, Output pDocOut As EnsLib.DICOM.Document) as %Status
Create an Intermediate find response
method CreateNCreateResponse(pDocIn As EnsLib.DICOM.Document, Output pDocOut As EnsLib.DICOM.Document) as %Status
Create a response to N-CREATE-RQ
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
This method handles the C-FIND-RQ and C-CANCEL-RQ messages. The find request asks for a query to be performed using the criteria
specified in the request's data-set. The query *may* take significant time and produce many results so individual matches are reported
in one or more messages. The protocol requires that all messages bar the last one have their status set to 'Pending'. This
indicates to the client that there is more data coming. The last message has a status of 'Success' which means that the query
has finished. In this example, the selection criteria are ignored and 'dummy' patient records are returned. A production
implementation would necessarily be more complex.
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()
- OnAssociationAborted()
- OnAssociationErrored()
- OnAssociationEstablished()
- OnAssociationRejected()
- OnAssociationReleased()
- OnComplete()
- OnDetermineTransferSyntax()
- OnFailureTimeout()
- OnGenerateSuperSession()
- OnGetConnections()
- 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,"WorkList") | = | NumberOfWorkListEntries
OriginatingMessageID
DocumentFromService
ReplyCounter
StudyInstanceCounter
|