Joining Data Types

Whether you begin by browsing a data type or performing an advanced search, your initial data type selection sets the framework for the data table that you are building. 

For consistency with naming in XNAT, we will call this a "pivot" data type, although this is a loaded term in data mining.

Suppose you select MR Session as your pivot data type. Your report format begins with a single row of data for every MR session that you have permission to see. This means: If a subject does not have an MR session, you will not see any data for that subject in this report. For some searches (i.e. "Create a clinical comparison for all subjects that have scan data") that is ideal. For others ("Show me the project protocol and highlight subjects that are missing MR Sessions") this is not going to work. 

Partial data set: Pivot type "MR Session" joined to "Subject" and filtered by project. Note that subjects with multiple scans are listed multiple times in the "Subject" column. 

Now suppose you select Subject as your pivot data type. Your report format begins with a single row of data for every subject that you have permission to see. This means: If you join to MR Session, you will see one and only one result for MR session as relates to each Subject. In any longitudinal study, or any study that involves gathering multiple sessions of data, this would obviously be a confusing and non-ideal result.

Partial data set: Pivot type "Subject" joined to "MR Session" and filtered by project. Note that subjects with more than one MR (listed in "MR Count") have only one linked MR session in the table.

Pivoting on visits

Users of XNAT 1.6 can use pivot on the new Visit data type. For example, select MR session as the pivot type. Your report format begins with a single row of data for every MR session you have permission to see. If you join to the Visit data type, you will see each MR session that is associated with a Visit. Then you can filter by visit_name and visit_type.



$label.name