DQR Admin: Connecting XNAT with a PACS for DQR Usage
In order for your XNAT to be able to take advantage of the functionality provided by the DQR Plugin, you must first set up a working connection to a PACS or DICOM AE. This requires the coordination of two parties – the XNAT Administrator, and the PACS Administrator. In order to complete this process, you will need to have network information and AE Titles for both systems, and each party will have to configure their system to talk to the other.
Step 1: Register PACS in the XNAT system
1. Go to Administer > Plugin Settings > DICOM Query-Retrieve in the site navigation, and find the "Manage DICOM AE (PACS) Connections" panel.

2. Click Add New DICOM AE. A PACS configuration dialog will open.

3. Enter the network information and configuration for this PACS system in the dialog.
FIELD | DESCRIPTION |
---|---|
AE Title | This should be the AE Title broadcast by the PACS or DICOM AE you are connecting to |
Host | This is a network address, and could be an IP address, "localhost" for a dev setup, or a URL. Note: The "http/s" protocol must be omitted. |
Label | This is used internally by XNAT to identify this PACS in the UI |
Port | This is the network port used by the PACS system to accept requests and send or receive data |
Queryable | Toggles whether to allow users to send C-FIND queries and C-MOVE requests to this PACS in order to find and import data |
Default Q/R AE | If multiple PACS are configured to be "Queryable", only one can be the "Default" for querying new data. This affects the select menu on the "Import Studies" UI |
Storable | Toggles whether to allow users to push data from XNAT to this PACS |
Default Storage AE | If multiple PACS are configured to be "Storable", only one can be the "Default" for storing data. This affects the select menu on the "Send To PACS" UI |
DicomWeb Enabled | If your PACS uses DicomWeb indexing, toggle this to “YES” |
DicomWeb Root URL | If DicomWeb is enabled, this external URL should be used as the indexing root URL. Note: Clicking “Test” will fail if there are no studies in the PACS for today’s date |
4. Click Save to save this configuration.
When creating a PACS, a utilization schedule is automatically set that allows requests to be processed 100% of the time, every day of the week. You can restrict the PACS Utilization schedule in step 5.
Your new PACS configuration will now appear in the table. You can go back and edit this configuration at any time by clicking on the highlighted name of the PACS in the table, or the "Edit" button in the table row for that PACS.
5. Set PACS Utilization Schedule
In a high-use, data-rich environment, PACS Administrators may have specific business rules regarding how much network traffic they want to allow to and from their PACS system. The "Schedule" setting allows XNAT Administrators to restrict all use of each connected PACS to certain hours of the day. You can also throttle the data transfer rate, if desired.
In the screenshot above of the PACS table, the second column is titled "Schedule" and there is a "Schedule" link in the row for all PACS that you've added. Clicking this link causes a modal to appear that you can use to configure the PACS' utilization.
To edit the Availability Schedule for a PACS, see: DQR Admin: Setting A PACS Availability Schedule
6. Set the Calling AE Title in the DQR "Other Settings"

Every DICOM AE has a single "Calling AE Title" that is attached to every DICOM Query. This can be (but does not have to be) separate from the AE Title specified in the XNAT SCP Receiver that the PACS system will send requested studies to.
Step 2: Register XNAT in the PACS system
PACS Administrators are charged with securing highly sensitive patient data, and are naturally extremely concerned about data security. If you are setting up DQR for the first time on a development XNAT instance, it is doubtful that the PACS Administrator will agree to set up a connection to your XNAT. You may want to set up your own development PACS instance to use in testing, before attempting to connect to a production PACS instance. Here is one example: https://www.osimis.io/download
It is also essential that the PACS you are trying to communicate with is set up so that it can speak with your XNAT. In addition to making sure there are no network issues with your XNAT communicating with the PACS, you will need to make sure that both the XNAT information about the PACS matches the PACS and that the PACS information about XNAT matches XNAT.
When you use DQR to request data from a PACS, XNAT tells the PACS to send the data to a specific AE Title. The PACS will then look at its own configuration, see that the requested AE destination is associated with a specific site and a specific port, and send the data to that site and port.
Note: This is why it is sometimes necessary to use an AE Title other than "XNAT" for your XNAT. If you were to try to connect two XNATs to a PACS and both XNATs only had a single receiver at "XNAT:8104", then when the PACS received a request for data to be sent to the "XNAT" AE, there would be no way to configure the PACS to know which XNAT's receiver it should send the data to.
As an example, if you are working with a local Orthanc PACS, you might want your orthanc.json file to have a block like this:
"DicomModalities": {
"xnat": [
"{AETITLE}",
"{ADDRESS}",
"{PORT}"
]
},
This will route any requests that come into the PACS for data to be sent to an AE with your specified "{AE TITLE}", to the SCP Receiver using the specified "{PORT}" on the XNAT available at the specified IP "{ADDRESS}".
Your XNAT's Calling AE Title (defined above) and every DQR-enabled SCP Receiver AE Title (defined in the Admin UI) must be registered in your PACS, or else queries and C-MOVE requests will not be accepted by the PACS system.
Note: Different PACS platforms (Orthanc, DCM4CHEE, etc.) will each have a different means of configuration. The details of those different configurations is out of the scope of this documentation. Consult the documentation for your PACS, or work with your PACS Administrator to complete this step.
Step 3: Test Your PACS Connection in XNAT
After configuring both ends of your XNAT-PACS connection, you can test the connection by logging into your XNAT as an admin and going to the DQR Settings tab in your Plugin Settings page. There, click the "Ping" button associated with your PACS configuration.

If the ping is successful, you will see a success message at the top of the page. If not, double-check your connection settings, and ensure that the PACS system is running and available on your network.
