DICOM Query-Retrieve Plugin

This plugin is in a pre-release state. Documentation is in progress.


The Dicom Query Retrieve (DQR) plugin provides a variety of features which allow users of your XNAT site to interact directly with multiple PACS (Picture archiving and communication systems). Users can query PACS (using C-FIND) and request data from them (using C-MOVE) with highly customizable query-specific anonymization and DICOM metadata relabeling during import. Users can also send data from XNAT to the PACS (using C-STORE), both new data, as well as new scan series that contain processing results.

A more advanced feature is the ability to tell XNAT to relabel the data you are importing from the PACS, either to remove PHI or to route it to the subject/session you want that data to live in. This can be done either through the UI, or through DQR’s “Import CSV” feature. Import CSV allows users to pregenerate a CSV list of what they want to import from the PACS and what, if any, relabeling they want to be done to it. They can then kick off an import of the studies listed in the CSV, either through the UI or via REST.

A great deal of how DQR works is highly configurable. For example, you can define how much your site’s users should be able to import from a specific PACS during specific times of day or days of the week (which can stop XNAT from importing a lot of data when the PACS is usually busy fulfilling higher priority requests). You can also write new processors, which execute whatever custom code you want when XNAT receives DICOM files. We want to make DQR even more configurable in the future, so please let us know if there’s something we could add to make DQR work better for you.

Installing DQR

The first step to using DQR is getting a copy of the DQR jar. To do this, you should go to https://bitbucket.org/xnatdev/dicom-query-retrieve and download the latest release from the Downloads section (if there is not a release version there or you want to work off a pre-release version of DQR, you can clone the repo, checkout the desired branch, and do "./gradlew fatJar"). You should make sure that whatever version of the DQR plugin jar you got is designed to work with the version of XNAT you have. Since the XNAT code DQR uses frequently changes, it is likely that a given DQR jar will only work for the XNAT version it is designed for. If possible, you should update the version of XNAT you're using to the one the DQR plugin is designed to work with (the initial release of DQR is only designed to work with XNAT 1.7.6).

Once you have the jar, you should put it in the plugins directory for your XNAT (/data/xnat/home/plugins is the default), make sure the file permissions are such that XNAT should be able to access it, and restart Tomcat.