Programming with PACS Client Framework (original) (raw)
The PACS Client Framework is a framework for easily creating DICOM client applications. The framework consists of high level, ready to use components that provide various DICOM Service Class User (SCU) implementations, including:
- Store SCU
- Query Retrieve SCU
- Performed Procedure Step SCU
- Patient Updater SCU
- Media Creation Management SCU
- DICOM Print Management SCU
When using the PACS Client Framework, the first step must be a call to DicomEngine.Startup in order to initialize the data required by the library. This is usually done at the beginning of the application. When the library is no longer needed, DicomEngine.Shutdown must be called to release the data. This is usually done when the application needs to shut down. The following topics provide a systematic approach to understanding how to program with the PACS Client Framework Library.
DICOM Storage Service Class SCU
DICOM standard defines Storage Service class SCU service to allow an invoking service-user to request the storage of Composite SOP Instance information by a peer service-provide. This allows DICOM AE to:
- Store any Composite SOP Instance (i.e. image or non-image instance) to remote DICOM AE.
- The remote reserves the right to accept the Composite SOP Instance and encoding/compression (i.e. transfer syntax) from the proposed association request by the requesting AE.
The functionality provided by the StoreScu class simplifies the process of adding Storage Service Class User ( Storage SCU ) support to an application. The StoreScu class provides members to handle C-STORE service to store any SOP Classes listed in table B.5-1 of DICOM standard 3.4 to peer DICOM Storage Service Class Provider (Storage SCP). Classes defined by the Storage Service Class. StoreScu class provides the following method for doing a C-STORE-REQ message : StoreScu.StoreAdditionally the following events are available:
- StoreScu.BeforeCStore use to receive notification before a C-STORE-REQ message is sent.
- StoreScu.AfterCStore use to receive notification after a C-STORE-RSP has been received.
DICOM Query/Retrieve Service Class SCU
The DICOM standard defines Query/Retrieve Service Classes that facilitate the querying and retrieving of DICOM datasets. The QueryRetrieveScu class simplifies the process of building a standard Study Root Query/Retrieve Model Service Class User (Study Root Query/Retrieve SCU) support to an application. Its members handle all query attributes used in the Study Root Query/Retrieve Service Class as a service class user. It also provides interfaces (BeforeAssociateRequest and BeforeCFind Events) to easily add support for other Query/Retrieve Services such as Modality Worklist, Patient Root Query/Retrieve, General Purposes Worklist, etc. The QueryRetrieveScu class provides the following methods for doing a DICOM query or retrieve operation.
DICOM Query
DICOM Retrieve
Additionally the following events are available:
- QueryRetrieveScu.BeforeCFind use to receive notification before a C-FIND-REQ is sent.
- QueryRetrieveScu.AfterCFind use to receive notification after a C-FIND-RSP has been received.
- QueryRetrieveScu.MatchInstance use to get each match instance found during a C-FIND-REQ command.
- QueryRetrieveScu.BeforecMove use to receive notification before a C-MOVE-REQ is sent.
- QueryRetrieveScu.AfterCMove use to receive notification after a C-MOVE-REQ has been sent.