===== CfN XNAT ===== 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/ ==== Browser JAVA Requirements ==== 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. ==== Documentation ==== The [[https://wiki.xnat.org/documentation|XNAT Wiki has documentation]] ==== Direct Data Access from the Cluster ==== 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. ==== Pipelines ==== 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. ==== Accounts ==== User logins are separate from CfN cluster logins. Please connect the admins for more information. ==== Projects ==== 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. ==== User Roles and Permissions ==== 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. [[https://wiki.xnat.org/display/XNAT17/Understanding+User+Roles+and+Permissions|Full details are here.]] ==== Uploading Data ==== === "Archive" and "Prearchive" === 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. === Manual Uploads === To manually upload data, use the desktop tool [[https://wiki.xnat.org/documentation/how-to-use-xnat/image-session-upload-methods-in-xnat/using-the-desktop-upload-assistant|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. === Pushing Data from PACS/Sectra or a Scanner === 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. == Prearchive or Archive as Final Destination == 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. === Data Anonymization - IMPORTANT === Anonymization refers to the removal of personally identifying information in medical data (Protected Health Information - PHI) == Site-wide Anonymization == When data is uploaded to XNAT, a site-wide anonymization script is run as the data first goes to Prearchive. [[https://wiki.xnat.org/display/XNAT17/Where+Anonymization+Happens+in+XNAT|See here for details.]] == Project-specific Anonymization == 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. == 'NA' Fields That Are NOT Automatically Anonymized == **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 | | |(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_''. 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.__ == Modifying NA Fields on the Research Scanner == 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. [[https://wiki.xnat.org/pages/viewpage.action?pageId=36373129|See here for details.]] == Modifying NA Fields During Move to Archive == 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 == XNAT Upload Assistant and Anonymization == 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.