Skip to content

Data Model

Megan Henning edited this page Jul 24, 2017 · 25 revisions

This is a description of the SciTran data model, as delivered by the SciTran API, as well as an overview of the data hierarchy.

Data Hierarchy

Data Hierarchy

Data Model

  • Fields marked with † are only returned by detail endpoints, such as /projects/123, but suppressed by list endpoints for efficiency, such as /projects.
  • Only italicized fields are guaranteed to be returned by all requests.
  • Timestamps are in ISO 8601 format

Group

Field Type Description
_id string database ID
created timestamp creation time (automatically set)
modified timestamp modification time (automatically updated)
label string group label
permissions [Permission, …] array of user roles
tags [string, …] array of application-specific tags

User

Field Type Description
_id string database ID
created timestamp creation time (automatically set)
modified timestamp modification time (automatically updated)
firstname string first name
lastname string last name
email email email address
avatar URL avatar image URL
avatars object map of available avatars
root boolean super admin flag
key‡ string API key

‡ Only returned by the endpoint users/self

Avatars (subdocument only)

Field Type Description
provider URL OAuth provider avatar URL (automatically set)
gravatar URL Gravatar URL (automatically set)
custom URL user-defined avatar URL

Permission (subdocument only)

Field Type Description
uid string database ID of permission holder
access ro|rw|admin access level

Container

Field Type Description
_id string database ID
created timestamp creation time (automatically set)
modified timestamp modification time (automatically updated)
notes [Note, …] array of Note objects
files [File, …] array of File objects
analyses† [Analysis, …] array of Analysis objects
permissions [Permission, …] array of Permission objects
public boolean indicates whether or not container is public
archived boolean indicates whether or not container is archived
label string application-specific label
tags [string, …] array of application-specific tags
info† object application-specific information

‡ Only the permission of the requesting user is included for list requests and also for detail requests, if the current user does not have admin permissions.

Project (extends Container)

Field Type Description
group string database ID of project owner
description string description of the project

Session (extends Container)

Field Type Description
group string database ID of parent project owner
project string database ID of parent project
uid string data-derived unique ID
timestamp timestamp earliest data acquisition time
timezone string earliest data acquisition time zone
subject Subject subject information

Subject (subdocument only)

Field Type Description
_id string database ID
firstname† string first name
lastname† string last name
firstname_hash† string hash of first name
lastname_hash† string hash of last name
sex string sex (one of female|male|other|unknown)
race string race (one of American Indian or Alaska Native|Asian|Native Hawaiian or Other Pacific Islander|Black or African American|White|More Than One Race|Unknown or Not Reported)
ethnicity string ethnicity (one of Not Hispanic or Latino|Hispanic or Latino|Unknown or Not Reported)
age int age at time of session in seconds
code string subject code
info† object application-specific information

Acquisition (extends Container)

Field Type Description
session string database ID of parent session
collections [string, …] array of collection IDs
uid string data-derived unique ID
timestamp timestamp data acquisition time
timezone string data acquisition time zone

Analysis (extends Container)

Field Type Description
description string analysis description
user string user id of the submitter (automatically set)
timestamp timestamp time of insertion (automatically set)
version string version id
job string identifier of the job that generated the analysis

Collection (extends Container)

Field Type Description
curator string user ID of collection creator

Note (subdocument only)

Field Type Description
_id string database ID
created timestamp creation time (automatically set)
modified timestamp modification time (automatically updated)
user string user ID of note writer
text string note text

File (subdocument only)

Field Type Description
name string name of file
created timestamp creation time (automatically set)
modified timestamp modification time (automatically updated)
type string type of file (e.g., dicom, image, document, …)
size int size of file
hash string hash of file
modality string instrument type (e.g., MR, CT, …)
measurements [string, …] types of measurements
origin File Origin file origin object
tags [string, …] array of application-specific tags
info† object application-specific information

File Origin (subdocument only)

Field Type Description
type device|user|job type of file origin
id string database ID of joined name and method
name string name of device|user|job
method string method of file origin

Device

Field Type Description
_id string database ID
label string device name
model string vendor and model info
location string physical location