Skip to content

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