XNAT is an open-source imaging informatics software platform dedicated to helping with imaging-based research. XNAT’s core functions manage importing, archiving, processing and securely distributing imaging and related study data.
CfN manages an XNAT server that is connected to the CfN cluster. The server URL:
http://picsl-xnat.uphs.upenn.edu/
For some functions on the XNAT server, your browser must have Java enabled to work with the xnat service. However since Java support is being phased out in major browsers, functionality is being transferred to desktop tools by the XNAT team.
The XNAT data archive is stored on the /data/tesla-data
volume, and is directly accessible with read-only permissions on the cluster at /data/XNAT
. This allows direct processing from the cluster of data stored within XNAT.
Users who need to read this data must be added to the xnat_users
linux group. Individual project directories are readable only by members of the linux group for lab/project members. If you need to be added to the appropriate group, please tell the admins and have your PI send approval.
XNAT can also be setup to run 'pipelines', which are collections of scripts and processing steps that can be launched and monitored from the XNAT web interface. Please contact the admins for details.
User logins are separate from CfN cluster logins. Please connect the admins for more information.
XNAT organizes data by Project. Each Project has private control of its data and a user must be granted access to a Project to view or edit data.
XNAT users can have different permissions within a Project:
Project Owners: If you define additional project owners, they will have all of the permissions on your project that you do. They can read, insert, modify, and delete anything (and everything) associated with your project. They can also add additional users to your project and modify the data types associated with your project.
Project Members: Members have the ability to manage the data in your project. They can read, insert, and modify subjects and experiments in your project. They cannot modify the project users and data types.
Project Collaborators: Collaborators have read-only access on all of the data in your project. They cannot insert or modify data owned by your project. They can download your data and use it within their projects.
When data is “in Prearchive”, it means the data has been received and stored by the XNAT system, but it is in a special holding state and has not been fully integrated into a Project. It has not been fully entered into the XNAT database. The Prearchive is a useful holding place for data so it can be reviewed by a Project member and have Subject
and Session
labels changed as necessary (see below).
When data is “moved to Archive” in XNAT, it means the data has been fully integrated into the XNAT database as part of a Project. It is now viewable and actionable from the Project's page in the web interface.
When data is uploaded/imported to XNAT, it always goes into Prearchive, even if only temporarily before it's moved to Archive.
To manually upload data, use the desktop tool XNAT Upload Assistant. This program runs on your local machine.
For the Upload Assistant setup:
server: http://picsl-xnat.uphs.upenn.edu
username: your XNAT username (probably the same as you cluster username, but may not be)
password: you XNAT password
See below for handling anonymization.
XNAT can receive data directly from PACS/Sectra, from clinical scanners, and from research scanners such as the Stellar-Chance scanner. This is typically called 'pushing' data to a 'DICOM (SCP) Receiver', or to an 'AE Title', or simply 'to XNAT'. Please contact the admins for details.
Data can end up in either Archive or Prearchive at the completion of the upload/push process from a scanner or PACS/Sectra. This depends on project-specific settings. Namely, within a project's 'Manage' tab, it's set under 'Define Prearchive Settings'. Data always 'goes through' Prearchive briefly even if its final destination is Archive.
We recommend setting this option to leave data in Prearchive, so your group knows it needs to be reviewed and probably have PHI removed before moving to Archive. The setting's label reads:
All image data should be placed in a temporary location (prearchive) before being manually transferred into the permanent archive.
Anonymization refers to the removal of personally identifying information in medical data (Protected Health Information - PHI)
When data is uploaded to XNAT, a site-wide anonymization script is run as the data first goes to Prearchive. See here for details.
When data is moved from prearchive to archive, a Project-specific anon script is run, if one is set. Each Project can define its own anonymization script if the site-wide script is insufficient.
IMPORTANT The site-wide anon script does not remove these fields:
Non-Anonymized (NA) Fields
DICOM Tag | DICOM Tag Name | XNAT Field |
---|---|---|
(0008,0050) | Accession Number | <No direct map to XNAT> |
(0008,1030) | Study Description | Project ID |
(0010,0010) | Patient Name | Subject Label |
(0010,0020) | Patient ID | Session Label |
Note on Accession Number: XNAT generates its own Accession Numbers ('Expt ID') in the format PICSL_xnat_<xyz>
. These are generated for Subjects and for Sessions, and are shown in the XNAT database, but are not used to modify DICOM headers. Yes, it can be confusing.
The above 'NA' fields are not anonymized because they are used by users to identify data within XNAT before it can be given whatever kind of unique, anonymized identifiers that a research group's study protocol specifies. Before data is pushed from PACS/Sectra and clinical scanners, the DICOM header info cannot be modified, so this information must be preserved upon entry into XNAT.
It's up to the user to change these 'NA Fields' as needed to protect PHI.
When pushing data from the research scanner (which allows the user to modify the DICOM 'Patient Comments' or 'Study Comments' field before pushing the data), the user has the option to assign metadata that XNAT will use to new assign values to the some of the NA fields during import. Otherwise, the NA fields be preserved as in a push from PACS/Sectra. See here for details.
If the user moves data manually from Prearchive to Archive (recommended), they have two options:
1) 'Review and Archive' - user is prompted to change the XNAT Subject (DICOM field 'Patient Name') and XNAT Session (DICOM field 'Patient ID') fields.
2) 'Archive' - data is archived without prompting user to change anything
When using the XNAT Desktop Upload Assistant (client-side tool for manual uploading), data goes straight to project archive. However after the data first enters Prearchive, the user is prompted to change the Subject and Session fields before it's moved to Archive.