You are viewing an old version of this page. View the current version.
The XNAT Prearchive lives in a separate database and file system from your XNAT Archive, and does not permanently store any data. This makes it a safe place to triage scans that may contain PII and prevent them from being permanently stored in your Archive. When scans are sent to the Prearchive, you can review them to ensure that they have been properly anonymized, and that they are assigned to the proper project and subject, before moving them to the Archive.
To get to the Prearchive from anywhere in the XNAT application, go to Upload > Go To Prearchive in the top navigation.
Here's an overview of the elements of the Prearchive UI, and how to use it.
Elements of the Prearchive UI
The main screen consists of:
- The in the prearchive
- The of the highlighted row
- on the session list
- Actions that can be performed on selected sessions
By default the session list displays all the sessions in the prearchive. Using theit is possible to see only the sessions that have been or . You can also .
Left-clicking the column toggle table header will show a list of columns with checkboxes next to them. Selecting a column toggles its visibility. Please note that this setting is not saved, meaning that refreshing the page will cause the session table to revert to its default state.
Selecting/Unselecting a single session
Sessions must be selected to perform operations on them. Double-click a session to select it. The checkbox in the first column should now be checked. Double-clicking a checked session will uncheck it.
Selecting multiple sessions
You can highlight multiple sessions in one of two ways:
- Control-click on individual rows
- Highlight a range by clicking the first session, then shift-click the final session in the range.
To select those rows, click the Select button at the top of the session list. The highlighted rows should now be checked. Rows that were previously checked will remain checked. The Unselect button will unselect any highlighted rows. The Unselect All button will unselect all rows.
There is no button which supports a "Select All" operation because of the potentially large number of sessions in the prearchive. You can however highlight all the rows and the click the "Select" button. This is not recommended if you have over 5000 sessions in the prearchive.
Using the View Menu
The "View" menu shows the following session subsets:
- "All" shows all the sessions in the prearchive.
- "Selected" shows sessions that have been checked
- "Filtered" shows sessions that match the constraints shown in the "Filters" section of the prearchive.
DICOM Headers Menu
The "DICOM Headers" menu enables you to view the DICOM Headers for the sessions in the prearchive. See the DICOM Headers page for more information.
The details section of the prearchive displays the details of the currently highlighted session and enables you to perform some operations on it. The operations are:
- "Archive" moves the highlighted session from the prearchive to the main XNAT archive. See Operations for more information.
- "Change Projects" moves the highlighted session to another project. See Operations for more information.
- "Delete" removes the highlighted session from the prearchive. See Operations for more information.
- "Reset" refreshes the session information. See Operations for more information.
Depending on the state of the highlighted row some of these buttons may be disabled. See Restrictions On Operations for more information.
If you want to quickly perform these operations on a large number or sessions, you can use the actions menu. Using this menu, you can do an Archive, Change Projects, or Delete for all selected sessions. That operation will then be performed for all sessions with a check next to them.
Filters allow you view a subset of the sessions in the prearchive based on
- Project membership.
- The date the sessions were uploaded.
- The date the sessions were scanned.
- The current status of the sessions
- Subject or session label.
The above diagram, for instance, will show only sessions:
- located in "proj_69",
- uploaded between January 4th, 2011 and January 18th, 2011,
- scanned between September 1st, 2008 and October 16th 2008,
- with a "READY" status and
- with the label "sess_1510899638".
Upload Date Filter
This filter allows you to view all sessions that were uploaded between two dates. If there are projects selected in the "Projects:" field, you will only be able to see sessions that are in those projects. See Using the Date Filter for more information on how to use this search.
Scan Date Filter
This filter allows you to view all sessions that were scanned between two dates. If there are projects selected in the "Projects:" field, you will only be able to see sessions that are in those projects. See Using the Date Filter for more information on how to use this search.
The status filter only shows the sessions that have the selected status code. For more information on the meaning of the status code see Session Status.
The subject/session tokenfield that shows only the sessions or subjects that match the given name. If there are projects selected in the "Projects:" field, you will only be able to select subjects and sessions that are in any of those projects. See Using the Tokenfield for more information on how to use this search.
Using the Date Filter
The date filter allows you view sessions that were either uploaded or scanned within a range of dates. The "From" and "To" textfields are the beginning and end of the range respectively. If the "From" textfield is left blank all sessions uploaded before the date in the "To" textfield are shown and vice versa if the "To" field is blank. Sessions without a date will not show up when you filter by date.
Using The Project/Subject/Session Tokenfield
The token field allows you to search the sessions by multiple values. This is best explained using examples, the sections below show how to select sessions in multiple projects but the instructions also apply to the "Subject/Session" tokenfield.
Inserting into the token field
If, for example, you had three projects, "proj_60", "proj_61", and "proj_62" and you wanted to view only the sessions in "proj_60" and "proj_61", select the "Projects:" textfield and do the following:
1. Start typing "proj_60" and select it from the drop-down list. Selecting it inserts a "proj_60" token into the textfield and narrows the session list to just those sessions in "proj_60".
2. Start typing "proj_61" and select it from the drop-down list. Selecting it inserts a "proj_61" token into the textfield.
3. Since there is already a "proj_60" token in the textfield the session list show sessions in both "proj_60" and "proj_61".
Deleting from the token field
Now let's say that, having followed the steps in the previous section you only want to see sessions in "proj_61" just click the "X" in the "proj_61" token.
You can also accomplish the same thing using the keyboard. To do this:
1. Select the "Projects:" textfield
2. Use the left arrow key to move the cursor so that it is just after the "proj_60" token.
3. Hit the Backspace key. The "proj_60" token should now be reddened.
4. Hit the Backspace key again. The "proj_60" token should now be deleted and the session list should only show the sessions in "proj_61"
The reset operation rebuilds the session by recreating the sessions' metadata and generating a new session.xml. This is helpful if the session is in an "ERROR" state.
Moves a session to another project. See Restrictions On Operations on times when this operation is disabled.
Moves a session from the prearchive to the main XNAT archive. See Restrictions On Operations on times when this operation is disabled.
Deletes a session from the prearchive.
When an operation is run on multiple sessions it is run asynchronously. This means that the operation on the selected sessions is not carried out immediately but scheduled. Each sessions' status is changed to indicate that the selected operation is pending.
A session status that is prefixed by "_" is locked. It indicates that that operation is currently occuring on the session and cannot be interrupted. For example, a status of "_ARCHIVING" indicates that the session is at this moment being moved into XNAT main archive. These sessions can only be reset (which cancels the operation) or deleted.
Any operation can be performed on this session.
This session could potentially receive more scans.
This session has been queued for archiving into the main XNAT archive.
This session has been queued for rebuilding.
This session has been queued to moved to another project.
This session is locked because it is currently in the process of receiving a scan.
This session is locked because it is currently being moved into the main XNAT archive.
This session is locked because is currently parsing this sessions' metadata.
This session is locked because it is currently being moved to a new project.
The session is in an unknown ERROR state.
Restrictions On Operations
- Unassigned projects cannot be archived. To move an "Unassigned" project into the main XNAT archive, move it to a existing project and then archive it.
- A session in an "ERROR" state can only be reset or deleted. The nature of the error could be anything from an error parsing the DICOM file (if it is DICOM) to a full filesystem. See the Reset operation for more details.
- A session in the "RECEIVING" state cannot be moved to another project. Since the session is currently receiving more files we have to wait to move it.
- A session in the "MOVING" state cannot be moved to another project since a move is pending on this session.
- A Locked Session can only be deleted or reset.
Prearchive REST Access
The prearchive is now completely accessible via REST. It is possible to add/delete and modify sessions in the prearchive via REST.
The complete contents of the prearchive can be queried by issuing a GET to the following URL:
By default this will return the contents of the prearchive in following JSON format:
You can retrieve all sessions in particular project by issuing GET to:
And individual sessions with:
Sessions can be added by issuing a GET command to the following URL:
For example the following curl command uploads the DICOM archive "test.zip" to project "testProj" under subject "testSubj":
Sessions can be deleted by issuing a POST command to the following URL:
with the following "src" and "async" parameters in the body of the message:
For example, the following curl command will delete session "testSess" with timestamp "20110110_175747" from project "testProjectA":
Sessions can be moved from one project to another within the prearchive by issuing the following POST request:
with the following parameters in the body:
For example, the following curl command will move session "testSess" with timestamp "20110110_175747" from project "testProjectA" to "testProjectB":
The session.xml for a session can be rebuilt using the following POST request:
with the following parameter in the body:
For example, the following curl command will rebuild the session.xml for session "testSess" with timestamp "20110110_175747" from project "testProjectA":
Full Prearchive REST API Reference
- No labels