Skip to content

Commit 4177595

Browse files
committed
Add ContextURI to allow to define the context for the entity values
It is often desired to be able to determine that values used for entities in the dataset belong to some controlled vocabulary, or simply defined centrally within some "id" authority. E.g. could be unique scanning session IDs per scanning center, or similarly subject_ids defined per study or centrally for the center. It is of particular interest for large studies where multiple datasets could be created, one per site or primary data modality, to later possibly be composed into a single dataset or just to become parts of the one larger multi-site one. In such cases it becomes quite important to annotate that particular entities (subject_id, session_id and possibly even _desc- or _acq- values) are defined in the scope of the specific larger study and thus correspond to the "same" thing given the same contextURI and value.
1 parent cc1d6d1 commit 4177595

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

src/common-principles.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,7 @@ and a guide for using macros can be found at
540540
"Units": "RECOMMENDED",
541541
"Delimiter": "OPTIONAL",
542542
"TermURL": "RECOMMENDED",
543+
"ContextURI": "RECOMMENDED",
543544
"HED": "OPTIONAL",
544545
}
545546
) }}
@@ -592,6 +593,20 @@ like in the example below.
592593
}
593594
```
594595

596+
The `ContextURL` can be used to provide a URL to a controlled vocabulary or ontology, or simply to provide a URL to a page that provides more context for the values in the column.
597+
It is to be used, so if combined with the value in that value (`<label>` or `<index>`), it would establish a unique identifier for the entity to be used across BIDS datasets.
598+
In the example below it would establish that `participant_id` is shared across datasets of the center, which would allow to differentiate center's subjects apart from subject ids used by other datasets used in the lab.
599+
600+
```JSON
601+
{
602+
"participant_id": {
603+
"Description": "Unique identifier used for study subjects in the lab across studies",
604+
"ContextURI": "https://thelab.example.com/term/subject/"
605+
}
606+
}
607+
```
608+
609+
595610
### Compressed tabular files
596611

597612
Large tabular information, such as physiological recordings, MUST be stored with

src/modality-agnostic-files.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,9 @@ to date of birth.
267267

268268
```JSON
269269
{
270+
"participant_id": {
271+
"ContextURI": "http://thelab.example.com/term/subject/"
272+
},
270273
"age": {
271274
"Description": "age of the participant",
272275
"Units": "year"
@@ -422,7 +425,7 @@ about the questionnaire and `adhd_b` and `adhd_c_dx` correspond to individual
422425
columns.
423426

424427
In addition to the keys available to describe columns in all tabular files
425-
(`LongName`, `Description`, `Levels`, `Units`, and `TermURL`) the
428+
(`LongName`, `Description`, `Levels`, `Units`, `TermURL`, and `ContextURL`) the
426429
`participants.json` file as well as phenotypic files can also include column
427430
descriptions with a `Derivative` field that, when set to true, indicates that
428431
values in the corresponding column is a transformation of values from other

src/schema/objects/metadata.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,15 @@ Columns:
519519
type: array
520520
items:
521521
type: string
522+
ContextURI:
523+
name: ContextURI
524+
display_name: Context URI
525+
description: |
526+
URI establishing the context for the values of this data.
527+
For example, https://thelab.example.com/term/subject/ if used for "participant_id"
528+
could be used to non-ambigously link participant data acquisitions across datasets.
529+
type: string
530+
format: uri
522531
ContinuousHeadLocalization:
523532
name: ContinuousHeadLocalization
524533
display_name: Continuous Head Localization

0 commit comments

Comments
 (0)