...
Note: A single file can be the subject of multiple ARs. When this occurs, the user must meet the terms of EACH AR before they will be permitted to download the file.
...
Delegation - For projects with an equivalent governing body as ACT, ACT needs to be able to delegate the restriction management to that governing body.
Set levels without micromanagement - For projects that do not have an equivalent governing body, ACT will need to continue to set the appropriate levels. However, we need to minimize the amount of micromanagement needed apply the set levels to files within the project.
New Automatic Approval Types - For some cases a user might gain approval via an independent 3rd party. For such chases Synapse would need to communitate communicate with the third party’s system to validate a user’s approval. We will cover this in more detail in the next section.
...
The goal for phase two will be to expand the use of DUO metadata to individual data files. Ideally, the
Background
As mentioned above, the Data Use Ontology (DUO) was develop to help standardize the data use nomenclature of biomedical data. Unfortunately, DUO was defined using Web Ontology Language (OWL), in a manner that allows broad interpretation of the definitions. For example, DUO does not actually define the expected keys or their corresponding values types. However, DUO does define 26 categories or data restrictions, with some comments about how each might be used.
Since Synapse already has support for defining metadata using JSON-Schemas, it is worth exploring the possibly of translating DUO into a JSON-schema. The following code was used to first define each of the 26 data use categories into JSON-schema, and then combining all of them into a single umbrella JSON-schema:
https://github.com/Sage-Bionetworks/Synapse-Repository-Services/pull/4643/files
All of the schemas were then loaded into a test environment to generate the following “validation schema”:
Code Block | ||
---|---|---|
| ||
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://repo-prod.prod.sagebase.org/repo/v1/schema/type/registered/ebispot.duo-duo",
"title": "Full DUO schema",
"description": "...",
"allOf": [
{"$ref": "#/definitions/ebispot.duo-D0000004"},
{"$ref": "#/definitions/ebispot.duo-D0000006"},
{"$ref": "#/definitions/ebispot.duo-D0000007"},
{"$ref": "#/definitions/ebispot.duo-D0000011"},
{"$ref": "#/definitions/ebispot.duo-D0000012"},
{"$ref": "#/definitions/ebispot.duo-D0000015"},
{"$ref": "#/definitions/ebispot.duo-D0000016"},
{"$ref": "#/definitions/ebispot.duo-D0000018"},
{"$ref": "#/definitions/ebispot.duo-D0000019"},
{"$ref": "#/definitions/ebispot.duo-D0000020"},
{"$ref": "#/definitions/ebispot.duo-D0000021"},
{"$ref": "#/definitions/ebispot.duo-D0000022"},
{"$ref": "#/definitions/ebispot.duo-D0000024"},
{"$ref": "#/definitions/ebispot.duo-D0000025"},
{"$ref": "#/definitions/ebispot.duo-D0000026"},
{"$ref": "#/definitions/ebispot.duo-D0000027"},
{"$ref": "#/definitions/ebispot.duo-D0000028"},
{"$ref": "#/definitions/ebispot.duo-D0000029"},
{"$ref": "#/definitions/ebispot.duo-D0000042"},
{"$ref": "#/definitions/ebispot.duo-D0000043"},
{"$ref": "#/definitions/ebispot.duo-D0000044"},
{"$ref": "#/definitions/ebispot.duo-D0000045"},
{"$ref": "#/definitions/ebispot.duo-D0000046"}
],
"definitions": {
"ebispot.duo-D0000004": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NRES": {
"type": "boolean",
"description": "This data use permission indicates there is no restriction on use."
}},
"title": "no restriction"
},
"ebispot.duo-D0000006": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"HMB": {
"type": "boolean",
"description": "This data use permission indicates that use is allowed for health/medical/biomedical purposes; does not include the study of population origins or ancestry."
}},
"title": "health or medical or biomedical research"
},
"ebispot.duo-D0000007": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"DS": {
"type": "boolean",
"description": "This data use permission indicates that use is allowed provided it is related to the specified disease."
}},
"title": "disease specific research",
"if": {"properties": {"DS": {"const": true}}},
"then": {"properties": {"DS_disease": {
"type": "string",
"description": "DUO recommends MONDO be used, to provide the basis for automated evaluation. For more information see https://github.com/EBISPOT/DUO/blob/master/MONDO_Overview.md",
"enum": [
"cancer",
"alzheimer",
"amnesia",
"..."
]
}}}
},
"ebispot.duo-D0000011": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"POA": {
"type": "boolean",
"description": "This data use permission indicates that use of the data is limited to the study of population origins or ancestry."
}},
"title": "population origins or ancestry research only"
},
"ebispot.duo-D0000012": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"RS": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to studies of a certain research type."
}},
"title": "research specific restrictions",
"if": {"properties": {"RS": {"const": true}}},
"then": {"properties": {"RS_research_type": {
"type": "string",
"description": "...",
"enum": [
"???",
"..."
]
}}}
},
"ebispot.duo-D0000015": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NMDS": {
"type": "boolean",
"description": "This data use modifier indicates that use does not allow methods development research (e.g., development of software or algorithms)."
}},
"title": "no general methods research"
},
"ebispot.duo-D0000016": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"GSO": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to genetic studies only (i.e., studies that include genotype research alone or both genotype and phenotype research, but not phenotype research exclusively)"
}},
"title": "genetic studies only"
},
"ebispot.duo-D0000018": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NPUNCU": {
"type": "boolean",
"description": "This data use modifier indicates that use of the data is limited to not-for-profit organizations and not-for-profit use, non-commercial use."
}},
"title": "not for profit, non commercial use only"
},
"ebispot.duo-D0000019": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"PUB": {
"type": "boolean",
"description": "This data use modifier indicates that requestor agrees to make results of studies using the data available to the larger scientific community."
}},
"title": "publication required"
},
"ebispot.duo-D0000020": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"COL": {
"type": "boolean",
"description": "This data use modifier indicates that the requestor must agree to collaboration with the primary study investigator(s)."
}},
"title": "collaboration required",
"if": {"properties": {"COL": {"const": true}}},
"then": {"properties": {"COL_PI": {
"type": "string",
"description": "This could be coupled with a string describing the primary study investigator(s)."
}}}
},
"ebispot.duo-D0000021": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"IRB": {
"type": "boolean",
"description": "This data use modifier indicates that the requestor must provide documentation of local IRB/ERB approval."
}},
"title": "ethics approval required"
},
"ebispot.duo-D0000022": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"GS": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to within a specific geographic region."
}},
"title": "geographical restriction",
"if": {"properties": {"GS": {"const": true}}},
"then": {"properties": {"GS_location": {
"type": "string",
"description": "This should be coupled with an ontology term describing the geographical location the restriction applies to."
}}}
},
"ebispot.duo-D0000024": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"MOR": {
"type": "boolean",
"description": "This data use modifier indicates that requestor agrees not to publish results of studies until a specific date."
}},
"title": "publication moratorium",
"if": {"properties": {"MOR": {"const": true}}},
"then": {"properties": {"MOR_date": {
"type": "string",
"description": "This should be coupled with a date specified as ISO8601",
"format": "date-time"
}}}
},
"ebispot.duo-D0000025": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"TS": {
"type": "boolean",
"description": "This data use modifier indicates that use is approved for a specific number of months."
}},
"title": "time limit on use",
"if": {"properties": {"TS": {"const": true}}},
"then": {"properties": {"TS_number_of_months": {
"type": "integer",
"description": "This should be coupled with an integer value indicating the number of months."
}}}
},
"ebispot.duo-D0000026": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"US": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to use by approved users."
}},
"title": "user specific restriction"
},
"ebispot.duo-D0000027": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"PS": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to use within an approved project."
}},
"title": "project specific restriction",
"if": {"properties": {"PS": {"const": true}}},
"then": {"properties": {"PS_project": {
"type": "string",
"description": "???"
}}}
},
"ebispot.duo-D0000028": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"IS": {
"type": "boolean",
"description": "This data use modifier indicates that use is limited to use within an approved institution."
}},
"title": "institution specific restriction",
"if": {"properties": {"IS": {"const": true}}},
"then": {"properties": {"IS_institution": {
"type": "string",
"description": "???"
}}}
},
"ebispot.duo-D0000029": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"RTN": {
"type": "boolean",
"description": "This data use modifier indicates that the requestor must return derived/enriched data to the database/resource."
}},
"title": "return to database or resource"
},
"ebispot.duo-D0000042": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"GRU": {
"type": "boolean",
"description": "This data use permission indicates that use is allowed for general research use for any research purpose."
}},
"title": "general research use"
},
"ebispot.duo-D0000043": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"CC": {
"type": "boolean",
"description": "This data use modifier indicates that use is allowed for clinical use and care. Clinical Care is defined as Health care or services provided at home, in a healthcare facility or hospital. Data may be used for clinical decision making."
}},
"title": "clinical care use"
},
"ebispot.duo-D0000044": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NPOA": {
"type": "boolean",
"description": "This data use modifier indicates use for purposes of population, origin, or ancestry research is prohibited."
}},
"title": "population origins or ancestry research prohibited"
},
"ebispot.duo-D0000045": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NPU": {
"type": "boolean",
"description": "This data use modifier indicates that use of the data is limited to not-for-profit organizations."
}},
"title": "not for profit organisation use only"
},
"ebispot.duo-D0000046": {
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {"NCU": {
"type": "boolean",
"description": "This data use modifier indicates that use of the data is limited to not-for-profit use. This indicates that data can be used by commercial organisations for research purposes, but not commercial purposes."
}},
"title": "non-commercial use only"
}
}
} |
We chose to implement each category as a separate JSON-schema, each consisting of at least one boolean property, using the ontology:shorthand as the key. For example, D0000007
use the key DS
. In each case, the default value of each boolean is false. For some cases, when a value of “true” is provided, extra data is expected. For example, D0000024
which is labeled as: publication moratorium
, with a key of MOR
, include an extra field to capture the moratorium date: MOR_date
, when MOR
is set to true.