Class: Group¶
An aggregate participant group and its reported demographics.
URI: neurostudy:Group
classDiagram
class Group
click Group href "../Group/"
Group : acquired_count
Group : age_maximum
Group : age_mean
Group : age_median
Group : age_minimum
Group : age_standard_deviation
Group : age_unit
Group : age_unit_normalized
Group --> "0..1" AgeUnit : age_unit_normalized
click AgeUnit href "../AgeUnit/"
Group : approached_count
Group : arm
Group --> "0..1" Arm : arm
click Arm href "../Arm/"
Group : clinical_characteristics
Group : consented_count
Group : description
Group : diagnostic_instrument
Group --> "*" Assessment : diagnostic_instrument
click Assessment href "../Assessment/"
Group : diagnostic_system
Group : education_summary
Group : enrolled_count
Group : ethnicity_distribution
Group --> "*" CategoryDistribution : ethnicity_distribution
click CategoryDistribution href "../CategoryDistribution/"
Group : excluded_count
Group : exclusion_criteria
Group : gender_distribution
Group --> "*" CategoryDistribution : gender_distribution
click CategoryDistribution href "../CategoryDistribution/"
Group : handedness_distribution
Group --> "*" CategoryDistribution : handedness_distribution
click CategoryDistribution href "../CategoryDistribution/"
Group : id
Group : inclusion_criteria
Group : is_healthy
Group : medical_condition
Group : medication_status
Group : medications
Group : name
Group : other_characteristics
Group : population_characteristics
Group : race_distribution
Group --> "*" CategoryDistribution : race_distribution
click CategoryDistribution href "../CategoryDistribution/"
Group : recruitment_dates
Group : recruitment_method
Group : sample_overlap_count
Group : sample_source
Group --> "0..1" SampleSource : sample_source
click SampleSource href "../SampleSource/"
Group : sample_source_reference
Group : sex_distribution
Group --> "*" CategoryDistribution : sex_distribution
click CategoryDistribution href "../CategoryDistribution/"
Group : socioeconomic_status_summary
Group : species
Slots¶
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| id | 1 String |
direct | |
| name | 1 String |
Study-local group label, for example healthy controls or patients with Parkin... | direct |
| description | 0..1 String |
Narrative definition of the group and its role in the study | direct |
| species | 1 String or Species |
The species of this cohort | direct |
| arm | 0..1 Arm |
The arm this cohort was allocated to | direct |
| approached_count | 0..1 Integer |
Number of prospective participants approached for this group | direct |
| consented_count | 0..1 Integer |
Number who consented or assented to participate | direct |
| enrolled_count | 0..1 Integer |
Number enrolled after screening and before acquisition | direct |
| acquired_count | 0..1 Integer |
Number for whom data were acquired or who were scanned | direct |
| excluded_count | 0..1 Integer |
Number excluded after consent, enrollment, acquisition, and quality control | direct |
| inclusion_criteria | * String |
Eligibility requirements that a participant had to satisfy for membership in ... | direct |
| exclusion_criteria | * String |
Screening, imaging-safety, clinical, behavioral, or quality-control criteria ... | direct |
| recruitment_method | 0..1 String |
How, where, and from what setting participants were recruited | direct |
| recruitment_dates | 0..1 String |
Free-text recruitment period when the source does not support a precise norma... | direct |
| age_mean | 0..1 Float |
Mean participant age in the unit given by age_unit | direct |
| age_standard_deviation | 0..1 Float |
Standard deviation of participant age in the unit given by age_unit | direct |
| age_minimum | 0..1 Float |
Youngest age reported for the group | direct |
| age_maximum | 0..1 Float |
Oldest age reported for the group | direct |
| age_median | 0..1 Float |
Median participant age for the group | direct |
| age_unit | 0..1 String |
Unit used for age summaries, normally years but potentially months, weeks, or... | direct |
| age_unit_normalized | 0..1 AgeUnit |
age_unit folded onto a fixed set |
direct |
| sex_distribution | * CategoryDistribution |
Aggregate phenotypic sex distribution | direct |
| gender_distribution | * CategoryDistribution |
Aggregate self-described gender distribution, kept separate from phenotypic s... | direct |
| handedness_distribution | * CategoryDistribution |
Aggregate handedness distribution | direct |
| race_distribution | * CategoryDistribution |
Aggregate racial distribution using the study-reported category labels | direct |
| ethnicity_distribution | * CategoryDistribution |
Aggregate ethnic distribution using the study-reported category labels | direct |
| is_healthy | 0..1 Boolean |
Whether this cohort is free of medical, neurological and psychiatric conditio... | direct |
| population_characteristics | * String |
How this cohort deviates from the typical, where no other field covers it... | direct |
| other_characteristics | * String |
Cohort traits that are true but not selective: the entries moved out of `popu... | direct |
| medical_condition | * String |
Medical, neurological, psychiatric, developmental, or physiological condition... | direct |
| diagnostic_system | 0..1 String |
Classification system and edition under which this group's `medical_condition... | direct |
| diagnostic_instrument | * Assessment |
The study assessment that established this group's defining condition -- the ... | direct |
| clinical_characteristics | 0..1 String |
Disease duration, severity, treatment status, or other clinically relevant su... | direct |
| medications | * String |
The drugs or other agents this cohort was taking, as the source names them, o... | direct |
| medication_status | 0..1 String |
Whether the cohort was medicated, unmedicated, drug-naive, or withdrawn, and ... | direct |
| education_summary | 0..1 String |
Aggregate education level and the measurement or coding system used | direct |
| socioeconomic_status_summary | 0..1 String |
Aggregate socioeconomic status and the instrument or proxy used to measure it | direct |
| sample_source | 0..1 SampleSource |
Where this group's participants came from | direct |
| sample_source_reference | 0..1 String |
The dataset name, or the prior publication as the source cites it: an author-... | direct |
| sample_overlap_count | 0..1 Integer |
How many of this group were in that prior report, when the source says so | direct |
Usages¶
| used by | used in | type | used |
|---|---|---|---|
| AnalysisGroup | group | range | Group |
| FactorLevel | groups | range | Group |
| Study | groups | range | Group |
Identifier and Mapping Information¶
Schema Source¶
- from schema: https://neurostuff.org/schemas/neuroimaging-study-storage
Mappings¶
| Mapping Type | Mapped Value |
|---|---|
| self | neurostudy:Group |
| native | neurostudy:Group |
LinkML Source¶
Direct¶
name: Group
description: An aggregate participant group and its reported demographics.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage
rank: 1000
attributes:
id:
name: id
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
identifier: true
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- StatisticalMap
- Table
- CoordinateSet
- Study
range: string
required: true
name:
name: name
description: Study-local group label, for example healthy controls or patients
with Parkinson disease.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Analysis
- ModelTerm
- ExternalDataset
- PerformanceMetric
range: string
required: true
description:
name: description
description: Narrative definition of the group and its role in the study.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
domain_of:
- StudyDesign
- Arm
- Group
- Task
- Condition
- Assessment
- Region
- Preprocessing
- StatisticalMap
- Table
- CoordinateSet
- Study
range: string
species:
name: species
description: The species of this cohort.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
required: true
any_of:
- range: Species
- range: string
arm:
name: arm
description: 'The arm this cohort was allocated to. Set it whenever a cohort was
allocated to one, which is the parallel-group case: every participant of this
cohort received this arm and no other. A crossover study allocates nobody to
one arm, so its cohorts leave this empty and an arm reaches an analysis only
as a level of a model term, through `FactorLevel.arms`. Distinct from `medication_status`,
which is the on/off state during acquisition rather than the allocation.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: Arm
inlined: false
approached_count:
name: approached_count
description: Number of prospective participants approached for this group.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
consented_count:
name: consented_count
description: Number who consented or assented to participate.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
enrolled_count:
name: enrolled_count
description: Number enrolled after screening and before acquisition.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
acquired_count:
name: acquired_count
description: Number for whom data were acquired or who were scanned.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
excluded_count:
name: excluded_count
description: Number excluded after consent, enrollment, acquisition, and quality
control.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
inclusion_criteria:
name: inclusion_criteria
description: Eligibility requirements that a participant had to satisfy for membership
in this group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
exclusion_criteria:
name: exclusion_criteria
description: Screening, imaging-safety, clinical, behavioral, or quality-control
criteria causing exclusion.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
recruitment_method:
name: recruitment_method
description: How, where, and from what setting participants were recruited.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
recruitment_dates:
name: recruitment_dates
description: Free-text recruitment period when the source does not support a precise
normalized date range; examples include January 2021 to June 2022, 2018-2020,
or autumn 2023.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
age_mean:
name: age_mean
description: Mean participant age in the unit given by age_unit.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: float
minimum_value: 0
age_standard_deviation:
name: age_standard_deviation
description: Standard deviation of participant age in the unit given by age_unit.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: float
minimum_value: 0
age_minimum:
name: age_minimum
description: Youngest age reported for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: float
minimum_value: 0
age_maximum:
name: age_maximum
description: Oldest age reported for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: float
minimum_value: 0
age_median:
name: age_median
description: Median participant age for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: float
minimum_value: 0
age_unit:
name: age_unit
description: Unit used for age summaries, normally years but potentially months,
weeks, or gestational weeks.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
age_unit_normalized:
name: age_unit_normalized
description: '`age_unit` folded onto a fixed set. **Derived, not extracted**:
`pondie.normalization.age_unit` sets it from the source''s own wording, which
is kept in `age_unit`.
Without it the age fields are not comparable across studies: `6` under "months"
and `6` under "years" are the same number, and a filter on age reads every neonatal
and infant cohort wrong. `UNKNOWN` where the wording does not say -- not `years`,
because assuming the common case is what makes that error silent.'
in_subset:
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: AgeUnit
sex_distribution:
name: sex_distribution
description: 'Aggregate phenotypic sex distribution. Use one entry per reported
category, with the study''s category label and a count and/or percentage. A
cohort described wholly as one sex reports its distribution without ever printing
a breakdown: "22 male smokers", "young women (n = 8)" and "ten male patients"
are each one entry whose count is the whole group, plus a second entry for the
absent sex with a count of zero. Read a demographics table row ("N female |
5") exactly as you would read the same fact in a sentence.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined_as_list: true
gender_distribution:
name: gender_distribution
description: Aggregate self-described gender distribution, kept separate from
phenotypic sex. Use one entry per reported category.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined_as_list: true
handedness_distribution:
name: handedness_distribution
description: Aggregate handedness distribution. Use one entry per reported category,
such as right-handed, left-handed, or ambidextrous.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined_as_list: true
race_distribution:
name: race_distribution
description: Aggregate racial distribution using the study-reported category labels.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined_as_list: true
ethnicity_distribution:
name: ethnicity_distribution
description: Aggregate ethnic distribution using the study-reported category labels.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined_as_list: true
is_healthy:
name: is_healthy
description: 'Whether this cohort is free of medical, neurological and psychiatric
conditions. **Derived, not extracted**: code sets it from `medical_condition`,
so it cannot disagree with it.
True when the group records no condition, or records only an assertion of absence
("no neurological or psychiatric disorder", "healthy controls"). False when
any entry is a condition. Unset when `medical_condition` was never extracted
-- that is not a healthy cohort, it is an unread one.
Derived rather than asked because the source''s own wording does not settle
it: the addiction and obesity literature says "healthy" to mean free of comorbidity.'
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: boolean
population_characteristics:
name: population_characteristics
description: 'How this cohort **deviates from the typical**, where no other field
covers it: habitual exposure (heavy caffeine use, social drinkers, smoking status),
training or expertise (athletes, musicians, bilinguals, gamers), occupation
or social role (veterans, undergraduates, shift workers), lifestyle (sedentary,
vegetarian, meditation practitioners), and body habitus where it is atypical
(obese, overweight, underweight).
Deviation is the test, and it is what makes this field worth querying. A study
selects its cohort for something; that something is what belongs here. The unremarkable
does not: "normal weight", "healthy weight", "typically developing", "right-handed",
"no hearing loss" and an ordinary age range describe a cohort that was not selected
for anything, and recording them fills the field with the absence of information.
If every plausible cohort could carry the value, leave it out.
**Every other Group slot takes priority.** Nothing here that belongs in `age_mean`,
`age_minimum`, `age_maximum`, `age_median`, `sex_distribution`, `gender_distribution`,
`handedness_distribution`, `race_distribution`, `ethnicity_distribution`, `education_summary`,
`socioeconomic_status_summary`, `medications`, `medication_status`, `recruitment_method`,
`species`, `inclusion_criteria`, `exclusion_criteria` or `medical_condition`.
"All Caucasian" is `race_distribution`; "children aged 8-11" is `age_minimum`
and `age_maximum`; "five participants were female" is `sex_distribution`.
Not a diagnosis either. Where a trait is also the cohort''s condition -- alcohol
dependence, obesity as a diagnosed disease -- `medical_condition` takes it alone,
which is where a clinician would look.
What was screened out is not a characteristic. "Excluding caffeine" in an exclusion
list says nothing about caffeine use in the cohort.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
other_characteristics:
name: other_characteristics
description: 'Cohort traits that are true but not selective: the entries moved
out of `population_characteristics` because every plausible cohort could carry
them. "normal weight", "typically developing", "right-handed", "normal or corrected-to-normal
vision", "no history of neurological illness", "MRI compatible", "native English
speakers" are the recurring forms.
**Derived, not extracted.** `pondie.normalization.population_characteristics`
partitions the extracted list and code writes this side of it, so the slot is
never put to a model. It exists because the alternative to moving these values
is dropping them, which loses a cohort detail a reader auditing the study wants
to see.
The partition is by selectivity, not by truth. A value here is not wrong; it
is a value no query can usefully filter on, which is the only reason it cannot
share a field with the trait a study chose its cohort for.
Asymmetric where the literature is: "right-handed" is normative and "left-handed"
or "mixed-handed" is selective, because a study recruiting left-handers recruited
for that. Likewise a negated *condition* is normative ("no psychiatric history")
and a negated *exposure* is not ("no history of smoking" defines the control
arm of a smoking study).'
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
medical_condition:
name: medical_condition
description: Medical, neurological, psychiatric, developmental, or physiological
condition(s) defining or characterizing the group. List the primary diagnosis
and all comorbidities.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
diagnostic_system:
name: diagnostic_system
description: 'Classification system and edition under which this group''s `medical_condition`
was diagnosed, such as DSM-5 or ICD-10. An edition that appears only inside
an instrument''s title does not establish it: "SCID for DSM-IV Axis II Disorders",
administered to screen comorbidities, says nothing about the system used to
diagnose the condition that defines the group.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
diagnostic_instrument:
name: diagnostic_instrument
description: 'The study assessment that established this group''s defining condition
-- the `medical_condition` entries, or for a healthy group its confirmed absence.
Naming one here claims it classified this cohort, which is narrower than having
been administered to it: an interview screening a comorbidity the group is not
defined by, or grading the severity of a diagnosis made elsewhere, is recorded
in `assessments` and pointed at from nowhere. Groups defined by enrollment or
history rather than by an assessment -- a treatment programme''s patients, self-reported
users -- name nothing, as do sources reporting a diagnostic system but never
the instrument applying it. Every entry must also appear in the study''s `assessments`.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: Assessment
multivalued: true
inlined: false
clinical_characteristics:
name: clinical_characteristics
description: Disease duration, severity, treatment status, or other clinically
relevant summaries.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
medications:
name: medications
description: The drugs or other agents this cohort was taking, as the source names
them, one agent per entry. Names only.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
multivalued: true
medication_status:
name: medication_status
description: 'Whether the cohort was medicated, unmedicated, drug-naive, or withdrawn,
and the on/off medication state during acquisition or testing. The state, not
the agents: which drugs they were taking is `medications`.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
education_summary:
name: education_summary
description: Aggregate education level and the measurement or coding system used.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
socioeconomic_status_summary:
name: socioeconomic_status_summary
description: Aggregate socioeconomic status and the instrument or proxy used to
measure it.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
sample_source:
name: sample_source
description: 'Where this group''s participants came from. `recruited` when they
were enrolled for this study and no other source is stated; `public_dataset`
when they were drawn from a named public or consortium dataset; `previously_reported`
when the same or an overlapping sample was already reported in another publication.
On the group and not the study, because overlap is routinely partial: a study
may scan a fresh patient group against controls taken from an existing dataset,
and a study-level flag cannot say which. `Study.external_datasets` remains the
place for a named dataset the study as a whole used.
A protocol, preprocessing pipeline or analysis "described previously" is a shared
METHOD and leaves this `recruited`; so does comparing findings to earlier literature
in the discussion. Only a statement that these same people were scanned, studied
or reported before counts, and a source that means it normally says so in one
sentence.
`recruited` is an assertion and not the absence of one. A meta-analysis excluding
overlapping samples has to distinguish a study that recruited freshly from one
nobody checked, and an unfilled field cannot.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: SampleSource
sample_source_reference:
name: sample_source_reference
description: 'The dataset name, or the prior publication as the source cites it:
an author-year citation, a bracketed reference number, or a trial registration
number, copied as written. Without it the overlap is known but not actionable
-- deciding whether two papers are one independent sample needs the identity
of the other one.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: string
sample_overlap_count:
name: sample_overlap_count
description: How many of this group were in that prior report, when the source
says so. It is the difference between two papers being one sample and their
sharing part of one, which is the difference between dropping a study and down-weighting
it.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
domain_of:
- Group
range: integer
minimum_value: 0
Induced¶
name: Group
description: An aggregate participant group and its reported demographics.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage
rank: 1000
attributes:
id:
name: id
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
identifier: true
owner: Group
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- StatisticalMap
- Table
- CoordinateSet
- Study
range: string
required: true
name:
name: name
description: Study-local group label, for example healthy controls or patients
with Parkinson disease.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
owner: Group
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Analysis
- ModelTerm
- ExternalDataset
- PerformanceMetric
range: string
required: true
description:
name: description
description: Narrative definition of the group and its role in the study.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
owner: Group
domain_of:
- StudyDesign
- Arm
- Group
- Task
- Condition
- Assessment
- Region
- Preprocessing
- StatisticalMap
- Table
- CoordinateSet
- Study
range: string
species:
name: species
description: The species of this cohort.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
required: true
any_of:
- range: Species
- range: string
arm:
name: arm
description: 'The arm this cohort was allocated to. Set it whenever a cohort was
allocated to one, which is the parallel-group case: every participant of this
cohort received this arm and no other. A crossover study allocates nobody to
one arm, so its cohorts leave this empty and an arm reaches an analysis only
as a level of a model term, through `FactorLevel.arms`. Distinct from `medication_status`,
which is the on/off state during acquisition rather than the allocation.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: Arm
inlined: false
approached_count:
name: approached_count
description: Number of prospective participants approached for this group.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0
consented_count:
name: consented_count
description: Number who consented or assented to participate.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0
enrolled_count:
name: enrolled_count
description: Number enrolled after screening and before acquisition.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0
acquired_count:
name: acquired_count
description: Number for whom data were acquired or who were scanned.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0
excluded_count:
name: excluded_count
description: Number excluded after consent, enrollment, acquisition, and quality
control.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0
inclusion_criteria:
name: inclusion_criteria
description: Eligibility requirements that a participant had to satisfy for membership
in this group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
exclusion_criteria:
name: exclusion_criteria
description: Screening, imaging-safety, clinical, behavioral, or quality-control
criteria causing exclusion.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
recruitment_method:
name: recruitment_method
description: How, where, and from what setting participants were recruited.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
recruitment_dates:
name: recruitment_dates
description: Free-text recruitment period when the source does not support a precise
normalized date range; examples include January 2021 to June 2022, 2018-2020,
or autumn 2023.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
age_mean:
name: age_mean
description: Mean participant age in the unit given by age_unit.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: float
minimum_value: 0
age_standard_deviation:
name: age_standard_deviation
description: Standard deviation of participant age in the unit given by age_unit.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: float
minimum_value: 0
age_minimum:
name: age_minimum
description: Youngest age reported for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: float
minimum_value: 0
age_maximum:
name: age_maximum
description: Oldest age reported for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: float
minimum_value: 0
age_median:
name: age_median
description: Median participant age for the group.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: float
minimum_value: 0
age_unit:
name: age_unit
description: Unit used for age summaries, normally years but potentially months,
weeks, or gestational weeks.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
age_unit_normalized:
name: age_unit_normalized
description: '`age_unit` folded onto a fixed set. **Derived, not extracted**:
`pondie.normalization.age_unit` sets it from the source''s own wording, which
is kept in `age_unit`.
Without it the age fields are not comparable across studies: `6` under "months"
and `6` under "years" are the same number, and a filter on age reads every neonatal
and infant cohort wrong. `UNKNOWN` where the wording does not say -- not `years`,
because assuming the common case is what makes that error silent.'
in_subset:
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: AgeUnit
sex_distribution:
name: sex_distribution
description: 'Aggregate phenotypic sex distribution. Use one entry per reported
category, with the study''s category label and a count and/or percentage. A
cohort described wholly as one sex reports its distribution without ever printing
a breakdown: "22 male smokers", "young women (n = 8)" and "ten male patients"
are each one entry whose count is the whole group, plus a second entry for the
absent sex with a count of zero. Read a demographics table row ("N female |
5") exactly as you would read the same fact in a sentence.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined: true
inlined_as_list: true
gender_distribution:
name: gender_distribution
description: Aggregate self-described gender distribution, kept separate from
phenotypic sex. Use one entry per reported category.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined: true
inlined_as_list: true
handedness_distribution:
name: handedness_distribution
description: Aggregate handedness distribution. Use one entry per reported category,
such as right-handed, left-handed, or ambidextrous.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined: true
inlined_as_list: true
race_distribution:
name: race_distribution
description: Aggregate racial distribution using the study-reported category labels.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined: true
inlined_as_list: true
ethnicity_distribution:
name: ethnicity_distribution
description: Aggregate ethnic distribution using the study-reported category labels.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: CategoryDistribution
multivalued: true
inlined: true
inlined_as_list: true
is_healthy:
name: is_healthy
description: 'Whether this cohort is free of medical, neurological and psychiatric
conditions. **Derived, not extracted**: code sets it from `medical_condition`,
so it cannot disagree with it.
True when the group records no condition, or records only an assertion of absence
("no neurological or psychiatric disorder", "healthy controls"). False when
any entry is a condition. Unset when `medical_condition` was never extracted
-- that is not a healthy cohort, it is an unread one.
Derived rather than asked because the source''s own wording does not settle
it: the addiction and obesity literature says "healthy" to mean free of comorbidity.'
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: boolean
population_characteristics:
name: population_characteristics
description: 'How this cohort **deviates from the typical**, where no other field
covers it: habitual exposure (heavy caffeine use, social drinkers, smoking status),
training or expertise (athletes, musicians, bilinguals, gamers), occupation
or social role (veterans, undergraduates, shift workers), lifestyle (sedentary,
vegetarian, meditation practitioners), and body habitus where it is atypical
(obese, overweight, underweight).
Deviation is the test, and it is what makes this field worth querying. A study
selects its cohort for something; that something is what belongs here. The unremarkable
does not: "normal weight", "healthy weight", "typically developing", "right-handed",
"no hearing loss" and an ordinary age range describe a cohort that was not selected
for anything, and recording them fills the field with the absence of information.
If every plausible cohort could carry the value, leave it out.
**Every other Group slot takes priority.** Nothing here that belongs in `age_mean`,
`age_minimum`, `age_maximum`, `age_median`, `sex_distribution`, `gender_distribution`,
`handedness_distribution`, `race_distribution`, `ethnicity_distribution`, `education_summary`,
`socioeconomic_status_summary`, `medications`, `medication_status`, `recruitment_method`,
`species`, `inclusion_criteria`, `exclusion_criteria` or `medical_condition`.
"All Caucasian" is `race_distribution`; "children aged 8-11" is `age_minimum`
and `age_maximum`; "five participants were female" is `sex_distribution`.
Not a diagnosis either. Where a trait is also the cohort''s condition -- alcohol
dependence, obesity as a diagnosed disease -- `medical_condition` takes it alone,
which is where a clinician would look.
What was screened out is not a characteristic. "Excluding caffeine" in an exclusion
list says nothing about caffeine use in the cohort.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
other_characteristics:
name: other_characteristics
description: 'Cohort traits that are true but not selective: the entries moved
out of `population_characteristics` because every plausible cohort could carry
them. "normal weight", "typically developing", "right-handed", "normal or corrected-to-normal
vision", "no history of neurological illness", "MRI compatible", "native English
speakers" are the recurring forms.
**Derived, not extracted.** `pondie.normalization.population_characteristics`
partitions the extracted list and code writes this side of it, so the slot is
never put to a model. It exists because the alternative to moving these values
is dropping them, which loses a cohort detail a reader auditing the study wants
to see.
The partition is by selectivity, not by truth. A value here is not wrong; it
is a value no query can usefully filter on, which is the only reason it cannot
share a field with the trait a study chose its cohort for.
Asymmetric where the literature is: "right-handed" is normative and "left-handed"
or "mixed-handed" is selective, because a study recruiting left-handers recruited
for that. Likewise a negated *condition* is normative ("no psychiatric history")
and a negated *exposure* is not ("no history of smoking" defines the control
arm of a smoking study).'
in_subset:
- mvp
- deterministic
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
medical_condition:
name: medical_condition
description: Medical, neurological, psychiatric, developmental, or physiological
condition(s) defining or characterizing the group. List the primary diagnosis
and all comorbidities.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
diagnostic_system:
name: diagnostic_system
description: 'Classification system and edition under which this group''s `medical_condition`
was diagnosed, such as DSM-5 or ICD-10. An edition that appears only inside
an instrument''s title does not establish it: "SCID for DSM-IV Axis II Disorders",
administered to screen comorbidities, says nothing about the system used to
diagnose the condition that defines the group.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
diagnostic_instrument:
name: diagnostic_instrument
description: 'The study assessment that established this group''s defining condition
-- the `medical_condition` entries, or for a healthy group its confirmed absence.
Naming one here claims it classified this cohort, which is narrower than having
been administered to it: an interview screening a comorbidity the group is not
defined by, or grading the severity of a diagnosis made elsewhere, is recorded
in `assessments` and pointed at from nowhere. Groups defined by enrollment or
history rather than by an assessment -- a treatment programme''s patients, self-reported
users -- name nothing, as do sources reporting a diagnostic system but never
the instrument applying it. Every entry must also appear in the study''s `assessments`.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: Assessment
multivalued: true
inlined: false
clinical_characteristics:
name: clinical_characteristics
description: Disease duration, severity, treatment status, or other clinically
relevant summaries.
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
medications:
name: medications
description: The drugs or other agents this cohort was taking, as the source names
them, one agent per entry. Names only.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
multivalued: true
medication_status:
name: medication_status
description: 'Whether the cohort was medicated, unmedicated, drug-naive, or withdrawn,
and the on/off medication state during acquisition or testing. The state, not
the agents: which drugs they were taking is `medications`.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
education_summary:
name: education_summary
description: Aggregate education level and the measurement or coding system used.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
socioeconomic_status_summary:
name: socioeconomic_status_summary
description: Aggregate socioeconomic status and the instrument or proxy used to
measure it.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
sample_source:
name: sample_source
description: 'Where this group''s participants came from. `recruited` when they
were enrolled for this study and no other source is stated; `public_dataset`
when they were drawn from a named public or consortium dataset; `previously_reported`
when the same or an overlapping sample was already reported in another publication.
On the group and not the study, because overlap is routinely partial: a study
may scan a fresh patient group against controls taken from an existing dataset,
and a study-level flag cannot say which. `Study.external_datasets` remains the
place for a named dataset the study as a whole used.
A protocol, preprocessing pipeline or analysis "described previously" is a shared
METHOD and leaves this `recruited`; so does comparing findings to earlier literature
in the discussion. Only a statement that these same people were scanned, studied
or reported before counts, and a source that means it normally says so in one
sentence.
`recruited` is an assertion and not the absence of one. A meta-analysis excluding
overlapping samples has to distinguish a study that recruited freshly from one
nobody checked, and an unfilled field cannot.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: SampleSource
sample_source_reference:
name: sample_source_reference
description: 'The dataset name, or the prior publication as the source cites it:
an author-year citation, a bracketed reference number, or a trial registration
number, copied as written. Without it the overlap is known but not actionable
-- deciding whether two papers are one independent sample needs the identity
of the other one.'
in_subset:
- mvp
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: string
sample_overlap_count:
name: sample_overlap_count
description: How many of this group were in that prior report, when the source
says so. It is the difference between two papers being one sample and their
sharing part of one, which is the difference between dropping a study and down-weighting
it.
in_subset:
- model_extracted
from_schema: https://neurostuff.org/schemas/neuroimaging-study-storage/group
rank: 1000
owner: Group
domain_of:
- Group
range: integer
minimum_value: 0