MIRC Pipelines
This article describes the pipelines used in the CTP MIRC plug-in to implement various DICOM and HTTP functions. It is intended for administrators configuring or upgrading their systems. This article does not apply to the Tomcat MIRC version.
MIRC is implemented as a plug-in to CTP. Most of the functionality is provided through servlets that the plug-in inserts into the CTP servlet container, but certain asynchronous functions are deployed as CTP pipelines. A CTP pipeline is a sequence of processing steps called pipeline stages. Pipelines start with one or more ImportServices that receive data objects from outside the program and queue them for processing by subsequent stages.
Pipelines are defined in the CTP/config.xml file. A graphical editor for this file is planned, but for now, if you wish to reconfigure the pipelines, you must edit the file with a text editor. If you choose to do so, you may wish to refer to the CTP article that describes all the standard stages, CTP-The RSNA Clinical Trial Processor.
- Editing an XML file must be done carefully to keep it well-formed. If you are not familiar with XML, this article may be helpful, XML Primer.
The standard MIRC config.xml file is shown below:
<Configuration> <Server port="80"/> <Plugin class="mirc.MIRC" name="MIRC Site" root="mircsite"/> <Pipeline name="File Service Pipeline"> <ImportService calledAETTag="00120010" class="org.rsna.ctp.stdstages.DicomImportService" logConnections="rejected" name="File Service DicomImportService" port="1081" quarantine="quarantines/FileService/DicomImportService" root="roots/FileService/DicomImportService"/> <Anonymizer class="org.rsna.ctp.stdstages.DicomAnonymizer" lookupTable="scripts/lookup-table.properties" name="File Service DicomAnonymizer" quarantine="quarantines/FileService/DicomAnonymizer" root="roots/FileService/DicomAnonymizer" script="scripts/FileService/MircFileServiceAnonymizer.script"/> <StorageService class="mirc.stages.MircFileStorageService" fsNameTag="00120010" name="MircFileStorageService" quarantine="quarantines/FileService/MircFileStorageService" root="roots/FileService/MircFileStorageService"/> </Pipeline> <Pipeline name="DICOM Service Pipeline"> <ImportService class="org.rsna.ctp.stdstages.DicomImportService" logConnections="rejected" name="DICOM Service DicomImportService" port="1082" quarantine="quarantines/DicomService/DicomImportService" root="roots/DicomService/DicomImportService"/> <Anonymizer class="org.rsna.ctp.stdstages.DicomAnonymizer" lookupTable="scripts/lookup-table.properties" name="DICOM Service DicomAnonymizer" quarantine="quarantines/DicomService/DicomAnonymizer" root="roots/DicomService/DicomAnonymizer" script="scripts/DicomServiceAnonymizer.script"/> <StorageService class="mirc.stages.MircDocumentStorageService" name="MircFileStorageService" ssid="ss1" quarantine="quarantines/DicomService/MircDocumentStorageService" root="roots/DicomService/MircFileStorageService"/> </Pipeline> <Pipeline name="TCE Service Pipeline"> <ImportService class="org.rsna.ctp.stdstages.DicomImportService" logConnections="rejected" name="TCE Service DicomImportService" port="1083" quarantine="quarantines/TCEService/DicomImportService" root="roots/TCEService/DicomImportService"/> <ImportService class="org.rsna.ctp.stdstages.HttpImportService" logConnections="rejected" name="TCE Service HttpImportService" port="1084" quarantine="quarantines/TCEService/HttpImportService" root="roots/TCEService/HttpImportService"/> <StorageService class="mirc.stages.TCEStorageService" name="TCEStorageService" ssid="ss1" quarantine="quarantines/TCEService/TCEStorageService" root="roots/TCEService/TCEStorageService"/> </Pipeline> </Configuration>
The meanings of all the attributes is described in the article referenced above. In this article the intent is to describe the flexibility you have in configuring this file.