diff --git a/src/schema/objects/columns.yaml b/src/schema/objects/columns.yaml index f5422abab2..43fdabea0a 100644 --- a/src/schema/objects/columns.yaml +++ b/src/schema/objects/columns.yaml @@ -42,11 +42,29 @@ age: Using "89+" for ages above 88 is DEPRECATED. definition: { "LongName": "Subject age", - "Description": "Subject age in postnatal years", + "Description": "Subject age in postnatal years.", + "AgeReference": "birth", "Format": "number", "Units": "year", "Maximum": 89, } +birthdate: + name: birthdate + display_name: Birth date + description: | + Date of the start of a subject's neonate stage. Date format (YYYY-MM-DD). + Should not be provided or anonymized for human subjects. + type: string + format: date +birthtime: + name: birthtime + display_name: Birth time + description: | + Time (or estimated time) of birth. Time format (hh:mm:ssZ). + Typically, this field will be combined with birthdate. + Should not be provided or anonymized for human subjects. + type: string + format: time cardiac: name: cardiac display_name: Cardiac measurement @@ -92,6 +110,23 @@ component: - $ref: objects.enums.quat_y.value - $ref: objects.enums.quat_z.value - $ref: objects.enums.quat_w.value +deathdate: + name: deathdate + display_name: Death date + description: | + Date of the end of a subject's life cycle. Date format (YYYY-MM-DD). + Should not be provided or anonymized for human subjects. + type: string + format: date +deathtime: + name: deathtime + display_name: Death time + description: | + Time (or estimated time) of death. Time format (hh:mm:ssZ). + Typically, this field will be combined with deathdate. + Should not be provided or anonymized for human subjects. + type: string + format: time detector__channels: name: detector display_name: Detector Name @@ -253,6 +288,25 @@ index: description: | The label integer index. type: integer +age_category: + name: age_category + display_name: Age category + description: | + A non-numeric term for a subject's life cycle stage (for instance, 'adult'). + Inspired by the + [UBERON life cycle stage](http://purl.obolibrary.org/obo/UBERON_0000105). + type: string + enum: + - $ref: objects.enums.adolescent.value + - $ref: objects.enums.adult.value + - $ref: objects.enums.embryo.value + - $ref: objects.enums.infant.value + - $ref: objects.enums.juvenile.value + - $ref: objects.enums.late_adult.value + - $ref: objects.enums.neonate.value + - $ref: objects.enums.perinate.value + - $ref: objects.enums.prime_adult.value + - $ref: objects.enums.young_adult.value low_cutoff: name: low_cutoff display_name: Low cutoff diff --git a/src/schema/objects/enums.yaml b/src/schema/objects/enums.yaml index 19e0e30307..b3186b2697 100644 --- a/src/schema/objects/enums.yaml +++ b/src/schema/objects/enums.yaml @@ -1452,3 +1452,91 @@ microvascular: display_name: microvascular description: | The origin of a tissue: microvascular +birth: + value: birth + display_name: birth + description: | + A life cycle temporal boundary that is defined as the emergence of a + neonate from the body of its mother. Assumed to be the default age + reference if not otherwise specified. + It marks the beginning of a subject's neonatal stage + ([UBERON_0035946](http://purl.obolibrary.org/obo/UBERON_0035946)). +fertilization: + value: fertilization + display_name: fertilization + description: | + A life cycle temporal boundary that is defined as the union of gametes of + opposite sexes during the process of sexual reproduction to form a zygote + ([GO_0009566](http://purl.obolibrary.org/obo/GO_0009566)). + It marks the beginning of the subject's embryonic stage. +LMP_startdate: + value: LMP start date + display_name: LMP start date + description: | + A life cycle temporal boundary that is defined as the first day of the mother's + last menstrual period (LMP). Used as reference when + time point of fertilization is unknown. + It marks the beginning of the subject's gestational stage. +adolescent: + value: adolescent + display_name: adolescent + description: | + Life cycle stage of a subject loosely defined by the transitional growth + and development between childhood and adulthood, often described as ‘puberty’. +adult: + value: adult + display_name: adult + description: | + Life cycle stage of a subject that starts with sexual maturity and ends with + death. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0000113. +embryo: + value: embryo + display_name: embryo + description: | + Life cycle stage of a subject that starts with fertilization and ends with the + fully formed embryo. If fertilization is unknown the LMP startdate is assumed. + Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0000068. +infant: + value: infant + display_name: infant + description: | + Life cycle stage of subjects (mammals) that follows the neonate stage and ends at + weaning. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0034920. +juvenile: + value: juvenile + display_name: juvenile + description: | + Life cycle stage of a subject that starts with the independence of the nest + and/or caregivers and ends with sexual maturity. Adapted from + UBERON - http://purl.obolibrary.org/obo/UBERON_0034919. +late_adult: + value: late adult + display_name: late adult + description: | + Life cycle stage of a subject that follows the prime adult stage and ends with + death. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0007222. +neonate: + value: neonate + display_name: neonate + description: + Life cycle stage of a subject that immediately follows birth. + Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0007221. +perinate: + value: perinate + display_name: perinate + description: | + Life cycle stage of a subject that starts right before and ends right after birth. + Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0012101. +prime_adult: + value: prime adult + display_name: prime adult + description: | + Life cycle stage of a subject that starts with sexual maturity or + the cessation of growth, whichever comes last, and ends before senescence. + Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0018241. +young_adult: + value: young adult + display_name: young adult + description: | + Life cycle stage of a subject that starts with sexual maturity and ends with the + cessation of growth (if this is reached after sexual maturity). diff --git a/src/schema/objects/metadata.yaml b/src/schema/objects/metadata.yaml index e6567a57f5..58ec95ed4c 100644 --- a/src/schema/objects/metadata.yaml +++ b/src/schema/objects/metadata.yaml @@ -48,6 +48,17 @@ AcquisitionVoxelSize: type: number exclusiveMinimum: 0 unit: mm +AgeReference: + name: AgeReference + display_name: Age Reference + description: | + Non-numeric term of for a time point in a subject's life cycle that serves + as reference for the numeric age information (for instance, 'birth'). + type: string + enum: + - $ref: objects.enums.fertilization.value + - $ref: objects.enums.LMP_startdate.value + - $ref: objects.enums.birth.value Anaesthesia: name: Anaesthesia display_name: Anaesthesia diff --git a/src/schema/rules/dataset_metadata.yaml b/src/schema/rules/dataset_metadata.yaml index b9c8e74761..88ff250c4b 100644 --- a/src/schema/rules/dataset_metadata.yaml +++ b/src/schema/rules/dataset_metadata.yaml @@ -58,3 +58,10 @@ genetic_info: TissueOrigin: optional BrainLocation: optional CellType: optional + +participants: + selectors: + - path == "/participants.json" + - '"age" in columns' + fields: + AgeReference: recommended diff --git a/src/schema/rules/tabular_data/modality_agnostic.yaml b/src/schema/rules/tabular_data/modality_agnostic.yaml index 83fd7e14f4..b25d2bff55 100644 --- a/src/schema/rules/tabular_data/modality_agnostic.yaml +++ b/src/schema/rules/tabular_data/modality_agnostic.yaml @@ -15,6 +15,11 @@ Participants: handedness: recommended strain: recommended strain_rrid: recommended + birthdate: optional + birthtime: optional + deathdate: optional + deathtime: optional + age_category: optional HED: optional index_columns: [participant_id] additional_columns: allowed