valuesets 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of valuesets might be problematic. Click here for more details.
- valuesets/__init__.py +7 -0
- valuesets/_version.py +8 -0
- valuesets/datamodel/valuesets.py +13796 -0
- valuesets/datamodel/valuesets_dataclass.py +24503 -0
- valuesets/datamodel/valuesets_pydantic.py +13796 -0
- valuesets/enums/__init__.py +590 -0
- valuesets/enums/academic/__init__.py +1 -0
- valuesets/enums/academic/research.py +559 -0
- valuesets/enums/analytical_chemistry/__init__.py +1 -0
- valuesets/enums/analytical_chemistry/mass_spectrometry.py +198 -0
- valuesets/enums/bio/__init__.py +1 -0
- valuesets/enums/bio/biological_colors.py +238 -0
- valuesets/enums/bio/cell_cycle.py +180 -0
- valuesets/enums/bio/currency_chemicals.py +52 -0
- valuesets/enums/bio/developmental_stages.py +103 -0
- valuesets/enums/bio/genome_features.py +182 -0
- valuesets/enums/bio/genomics.py +91 -0
- valuesets/enums/bio/go_aspect.py +32 -0
- valuesets/enums/bio/go_causality.py +58 -0
- valuesets/enums/bio/go_evidence.py +129 -0
- valuesets/enums/bio/human_developmental_stages.py +62 -0
- valuesets/enums/bio/insdc_geographic_locations.py +591 -0
- valuesets/enums/bio/insdc_missing_values.py +49 -0
- valuesets/enums/bio/lipid_categories.py +67 -0
- valuesets/enums/bio/mouse_developmental_stages.py +62 -0
- valuesets/enums/bio/plant_biology.py +86 -0
- valuesets/enums/bio/plant_developmental_stages.py +54 -0
- valuesets/enums/bio/plant_sex.py +81 -0
- valuesets/enums/bio/protein_evidence.py +61 -0
- valuesets/enums/bio/proteomics_standards.py +123 -0
- valuesets/enums/bio/psi_mi.py +306 -0
- valuesets/enums/bio/relationship_to_oxygen.py +37 -0
- valuesets/enums/bio/sequence_alphabets.py +449 -0
- valuesets/enums/bio/sequence_chemistry.py +357 -0
- valuesets/enums/bio/sequencing_platforms.py +302 -0
- valuesets/enums/bio/structural_biology.py +320 -0
- valuesets/enums/bio/taxonomy.py +238 -0
- valuesets/enums/bio/trophic_levels.py +85 -0
- valuesets/enums/bio/uniprot_species.py +344 -0
- valuesets/enums/bio/viral_genome_types.py +47 -0
- valuesets/enums/bioprocessing/__init__.py +1 -0
- valuesets/enums/bioprocessing/scale_up.py +249 -0
- valuesets/enums/business/__init__.py +1 -0
- valuesets/enums/business/human_resources.py +275 -0
- valuesets/enums/business/industry_classifications.py +181 -0
- valuesets/enums/business/management_operations.py +228 -0
- valuesets/enums/business/organizational_structures.py +236 -0
- valuesets/enums/business/quality_management.py +181 -0
- valuesets/enums/business/supply_chain.py +232 -0
- valuesets/enums/chemistry/__init__.py +1 -0
- valuesets/enums/chemistry/chemical_entities.py +315 -0
- valuesets/enums/chemistry/reaction_directionality.py +65 -0
- valuesets/enums/chemistry/reactions.py +256 -0
- valuesets/enums/clinical/__init__.py +1 -0
- valuesets/enums/clinical/nih_demographics.py +177 -0
- valuesets/enums/clinical/phenopackets.py +254 -0
- valuesets/enums/common_value_sets.py +8791 -0
- valuesets/enums/computing/__init__.py +1 -0
- valuesets/enums/computing/file_formats.py +294 -0
- valuesets/enums/computing/maturity_levels.py +196 -0
- valuesets/enums/computing/mime_types.py +227 -0
- valuesets/enums/confidence_levels.py +168 -0
- valuesets/enums/contributor.py +30 -0
- valuesets/enums/core.py +42 -0
- valuesets/enums/data/__init__.py +1 -0
- valuesets/enums/data/data_absent_reason.py +53 -0
- valuesets/enums/data_science/__init__.py +1 -0
- valuesets/enums/data_science/binary_classification.py +87 -0
- valuesets/enums/data_science/emotion_classification.py +66 -0
- valuesets/enums/data_science/priority_severity.py +73 -0
- valuesets/enums/data_science/quality_control.py +46 -0
- valuesets/enums/data_science/sentiment_analysis.py +50 -0
- valuesets/enums/data_science/text_classification.py +97 -0
- valuesets/enums/demographics.py +206 -0
- valuesets/enums/ecological_interactions.py +151 -0
- valuesets/enums/energy/__init__.py +1 -0
- valuesets/enums/energy/energy.py +343 -0
- valuesets/enums/energy/fossil_fuels.py +29 -0
- valuesets/enums/energy/nuclear/__init__.py +1 -0
- valuesets/enums/energy/nuclear/nuclear_facilities.py +195 -0
- valuesets/enums/energy/nuclear/nuclear_fuel_cycle.py +96 -0
- valuesets/enums/energy/nuclear/nuclear_fuels.py +175 -0
- valuesets/enums/energy/nuclear/nuclear_operations.py +191 -0
- valuesets/enums/energy/nuclear/nuclear_regulatory.py +188 -0
- valuesets/enums/energy/nuclear/nuclear_safety.py +164 -0
- valuesets/enums/energy/nuclear/nuclear_waste.py +158 -0
- valuesets/enums/energy/nuclear/reactor_types.py +163 -0
- valuesets/enums/environmental_health/__init__.py +1 -0
- valuesets/enums/environmental_health/exposures.py +265 -0
- valuesets/enums/geography/__init__.py +1 -0
- valuesets/enums/geography/geographic_codes.py +741 -0
- valuesets/enums/health/__init__.py +12 -0
- valuesets/enums/health/vaccination.py +98 -0
- valuesets/enums/health.py +36 -0
- valuesets/enums/health_base.py +36 -0
- valuesets/enums/healthcare.py +45 -0
- valuesets/enums/industry/__init__.py +1 -0
- valuesets/enums/industry/extractive_industry.py +94 -0
- valuesets/enums/industry/mining.py +388 -0
- valuesets/enums/industry/safety_colors.py +201 -0
- valuesets/enums/investigation.py +27 -0
- valuesets/enums/materials_science/__init__.py +1 -0
- valuesets/enums/materials_science/characterization_methods.py +112 -0
- valuesets/enums/materials_science/crystal_structures.py +76 -0
- valuesets/enums/materials_science/material_properties.py +119 -0
- valuesets/enums/materials_science/material_types.py +104 -0
- valuesets/enums/materials_science/pigments_dyes.py +198 -0
- valuesets/enums/materials_science/synthesis_methods.py +109 -0
- valuesets/enums/medical/__init__.py +1 -0
- valuesets/enums/medical/clinical.py +277 -0
- valuesets/enums/medical/neuroimaging.py +119 -0
- valuesets/enums/mining_processing.py +302 -0
- valuesets/enums/physics/__init__.py +1 -0
- valuesets/enums/physics/states_of_matter.py +46 -0
- valuesets/enums/social/__init__.py +1 -0
- valuesets/enums/social/person_status.py +29 -0
- valuesets/enums/spatial/__init__.py +1 -0
- valuesets/enums/spatial/spatial_qualifiers.py +246 -0
- valuesets/enums/statistics/__init__.py +5 -0
- valuesets/enums/statistics/prediction_outcomes.py +31 -0
- valuesets/enums/statistics.py +31 -0
- valuesets/enums/time/__init__.py +1 -0
- valuesets/enums/time/temporal.py +254 -0
- valuesets/enums/units/__init__.py +1 -0
- valuesets/enums/units/measurements.py +310 -0
- valuesets/enums/visual/__init__.py +1 -0
- valuesets/enums/visual/colors.py +376 -0
- valuesets/generators/__init__.py +19 -0
- valuesets/generators/auto_slot_injector.py +280 -0
- valuesets/generators/enhanced_pydantic_generator.py +100 -0
- valuesets/generators/enum_slot_generator.py +201 -0
- valuesets/generators/modular_rich_generator.py +353 -0
- valuesets/generators/prefix_standardizer.py +198 -0
- valuesets/generators/rich_enum.py +127 -0
- valuesets/generators/rich_pydantic_generator.py +310 -0
- valuesets/generators/smart_slot_syncer.py +428 -0
- valuesets/generators/sssom_generator.py +394 -0
- valuesets/merged/merged_hierarchy.yaml +21649 -0
- valuesets/schema/README.md +3 -0
- valuesets/schema/academic/research.yaml +911 -0
- valuesets/schema/analytical_chemistry/mass_spectrometry.yaml +206 -0
- valuesets/schema/bio/bio_entities.yaml +364 -0
- valuesets/schema/bio/biological_colors.yaml +434 -0
- valuesets/schema/bio/cell_cycle.yaml +309 -0
- valuesets/schema/bio/currency_chemicals.yaml +70 -0
- valuesets/schema/bio/developmental_stages.yaml +226 -0
- valuesets/schema/bio/genome_features.yaml +342 -0
- valuesets/schema/bio/genomics.yaml +101 -0
- valuesets/schema/bio/go_aspect.yaml +39 -0
- valuesets/schema/bio/go_causality.yaml +119 -0
- valuesets/schema/bio/go_evidence.yaml +215 -0
- valuesets/schema/bio/insdc_geographic_locations.yaml +911 -0
- valuesets/schema/bio/insdc_missing_values.yaml +85 -0
- valuesets/schema/bio/lipid_categories.yaml +72 -0
- valuesets/schema/bio/plant_biology.yaml +125 -0
- valuesets/schema/bio/plant_developmental_stages.yaml +77 -0
- valuesets/schema/bio/plant_sex.yaml +108 -0
- valuesets/schema/bio/protein_evidence.yaml +63 -0
- valuesets/schema/bio/proteomics_standards.yaml +116 -0
- valuesets/schema/bio/psi_mi.yaml +400 -0
- valuesets/schema/bio/relationship_to_oxygen.yaml +46 -0
- valuesets/schema/bio/sequence_alphabets.yaml +1168 -0
- valuesets/schema/bio/sequence_chemistry.yaml +477 -0
- valuesets/schema/bio/sequencing_platforms.yaml +515 -0
- valuesets/schema/bio/structural_biology.yaml +428 -0
- valuesets/schema/bio/taxonomy.yaml +453 -0
- valuesets/schema/bio/trophic_levels.yaml +118 -0
- valuesets/schema/bio/uniprot_species.yaml +1209 -0
- valuesets/schema/bio/viral_genome_types.yaml +99 -0
- valuesets/schema/bioprocessing/scale_up.yaml +458 -0
- valuesets/schema/business/human_resources.yaml +752 -0
- valuesets/schema/business/industry_classifications.yaml +448 -0
- valuesets/schema/business/management_operations.yaml +602 -0
- valuesets/schema/business/organizational_structures.yaml +645 -0
- valuesets/schema/business/quality_management.yaml +502 -0
- valuesets/schema/business/supply_chain.yaml +688 -0
- valuesets/schema/chemistry/chemical_entities.yaml +639 -0
- valuesets/schema/chemistry/reaction_directionality.yaml +60 -0
- valuesets/schema/chemistry/reactions.yaml +442 -0
- valuesets/schema/clinical/nih_demographics.yaml +285 -0
- valuesets/schema/clinical/phenopackets.yaml +429 -0
- valuesets/schema/computing/file_formats.yaml +631 -0
- valuesets/schema/computing/maturity_levels.yaml +229 -0
- valuesets/schema/computing/mime_types.yaml +266 -0
- valuesets/schema/confidence_levels.yaml +206 -0
- valuesets/schema/contributor.yaml +30 -0
- valuesets/schema/core.yaml +55 -0
- valuesets/schema/data/data_absent_reason.yaml +82 -0
- valuesets/schema/data_science/binary_classification.yaml +125 -0
- valuesets/schema/data_science/emotion_classification.yaml +109 -0
- valuesets/schema/data_science/priority_severity.yaml +122 -0
- valuesets/schema/data_science/quality_control.yaml +68 -0
- valuesets/schema/data_science/sentiment_analysis.yaml +81 -0
- valuesets/schema/data_science/text_classification.yaml +135 -0
- valuesets/schema/demographics.yaml +238 -0
- valuesets/schema/ecological_interactions.yaml +298 -0
- valuesets/schema/energy/energy.yaml +595 -0
- valuesets/schema/energy/fossil_fuels.yaml +28 -0
- valuesets/schema/energy/nuclear/nuclear_facilities.yaml +463 -0
- valuesets/schema/energy/nuclear/nuclear_fuel_cycle.yaml +82 -0
- valuesets/schema/energy/nuclear/nuclear_fuels.yaml +421 -0
- valuesets/schema/energy/nuclear/nuclear_operations.yaml +480 -0
- valuesets/schema/energy/nuclear/nuclear_regulatory.yaml +200 -0
- valuesets/schema/energy/nuclear/nuclear_safety.yaml +352 -0
- valuesets/schema/energy/nuclear/nuclear_waste.yaml +332 -0
- valuesets/schema/energy/nuclear/reactor_types.yaml +394 -0
- valuesets/schema/environmental_health/exposures.yaml +355 -0
- valuesets/schema/generated_slots.yaml +1828 -0
- valuesets/schema/geography/geographic_codes.yaml +1018 -0
- valuesets/schema/health/vaccination.yaml +102 -0
- valuesets/schema/health.yaml +38 -0
- valuesets/schema/healthcare.yaml +53 -0
- valuesets/schema/industry/extractive_industry.yaml +89 -0
- valuesets/schema/industry/mining.yaml +888 -0
- valuesets/schema/industry/safety_colors.yaml +375 -0
- valuesets/schema/investigation.yaml +64 -0
- valuesets/schema/materials_science/characterization_methods.yaml +193 -0
- valuesets/schema/materials_science/crystal_structures.yaml +138 -0
- valuesets/schema/materials_science/material_properties.yaml +135 -0
- valuesets/schema/materials_science/material_types.yaml +151 -0
- valuesets/schema/materials_science/pigments_dyes.yaml +465 -0
- valuesets/schema/materials_science/synthesis_methods.yaml +186 -0
- valuesets/schema/medical/clinical.yaml +610 -0
- valuesets/schema/medical/neuroimaging.yaml +325 -0
- valuesets/schema/mining_processing.yaml +295 -0
- valuesets/schema/physics/states_of_matter.yaml +46 -0
- valuesets/schema/slot_mixins.yaml +143 -0
- valuesets/schema/social/person_status.yaml +28 -0
- valuesets/schema/spatial/spatial_qualifiers.yaml +466 -0
- valuesets/schema/statistics/prediction_outcomes.yaml +26 -0
- valuesets/schema/statistics.yaml +34 -0
- valuesets/schema/time/temporal.yaml +435 -0
- valuesets/schema/types.yaml +15 -0
- valuesets/schema/units/measurements.yaml +675 -0
- valuesets/schema/valuesets.yaml +100 -0
- valuesets/schema/visual/colors.yaml +778 -0
- valuesets/utils/__init__.py +6 -0
- valuesets/utils/comparison.py +102 -0
- valuesets/utils/expand_dynamic_enums.py +414 -0
- valuesets/utils/mapping_utils.py +236 -0
- valuesets/validators/__init__.py +11 -0
- valuesets/validators/enum_evaluator.py +669 -0
- valuesets/validators/oak_config.yaml +70 -0
- valuesets/validators/validate_with_ols.py +241 -0
- valuesets-0.3.1.dist-info/METADATA +395 -0
- valuesets-0.3.1.dist-info/RECORD +248 -0
- valuesets-0.3.1.dist-info/WHEEL +4 -0
- valuesets-0.3.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Reaction Directionality
|
|
3
|
+
|
|
4
|
+
Directionality of chemical reactions and processes
|
|
5
|
+
|
|
6
|
+
Generated from: chemistry/reaction_directionality.yaml
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Dict, Any, Optional
|
|
12
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
13
|
+
|
|
14
|
+
class RelativeTimeEnum(RichEnum):
|
|
15
|
+
# Enum members
|
|
16
|
+
BEFORE = "BEFORE"
|
|
17
|
+
AFTER = "AFTER"
|
|
18
|
+
AT_SAME_TIME_AS = "AT_SAME_TIME_AS"
|
|
19
|
+
|
|
20
|
+
# Set metadata after class creation
|
|
21
|
+
RelativeTimeEnum._metadata = {
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
class PresenceEnum(RichEnum):
|
|
25
|
+
# Enum members
|
|
26
|
+
PRESENT = "PRESENT"
|
|
27
|
+
ABSENT = "ABSENT"
|
|
28
|
+
BELOW_DETECTION_LIMIT = "BELOW_DETECTION_LIMIT"
|
|
29
|
+
ABOVE_DETECTION_LIMIT = "ABOVE_DETECTION_LIMIT"
|
|
30
|
+
|
|
31
|
+
# Set metadata after class creation
|
|
32
|
+
PresenceEnum._metadata = {
|
|
33
|
+
"PRESENT": {'description': 'The entity is present'},
|
|
34
|
+
"ABSENT": {'description': 'The entity is absent'},
|
|
35
|
+
"BELOW_DETECTION_LIMIT": {'description': 'The entity is below the detection limit'},
|
|
36
|
+
"ABOVE_DETECTION_LIMIT": {'description': 'The entity is above the detection limit'},
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
class ReactionDirectionality(RichEnum):
|
|
40
|
+
"""
|
|
41
|
+
The directionality of a chemical reaction or process
|
|
42
|
+
"""
|
|
43
|
+
# Enum members
|
|
44
|
+
LEFT_TO_RIGHT = "LEFT_TO_RIGHT"
|
|
45
|
+
RIGHT_TO_LEFT = "RIGHT_TO_LEFT"
|
|
46
|
+
BIDIRECTIONAL = "BIDIRECTIONAL"
|
|
47
|
+
AGNOSTIC = "AGNOSTIC"
|
|
48
|
+
IRREVERSIBLE_LEFT_TO_RIGHT = "IRREVERSIBLE_LEFT_TO_RIGHT"
|
|
49
|
+
IRREVERSIBLE_RIGHT_TO_LEFT = "IRREVERSIBLE_RIGHT_TO_LEFT"
|
|
50
|
+
|
|
51
|
+
# Set metadata after class creation
|
|
52
|
+
ReactionDirectionality._metadata = {
|
|
53
|
+
"LEFT_TO_RIGHT": {'description': 'Reaction proceeds from left to right (forward direction)', 'aliases': ['LR', 'forward', '-->']},
|
|
54
|
+
"RIGHT_TO_LEFT": {'description': 'Reaction proceeds from right to left (reverse direction)', 'aliases': ['RL', 'reverse', 'backward', '<--']},
|
|
55
|
+
"BIDIRECTIONAL": {'description': 'Reaction can proceed in both directions', 'aliases': ['BIDI', 'reversible', '<-->']},
|
|
56
|
+
"AGNOSTIC": {'description': 'Direction is unknown or not specified', 'aliases': ['unknown', 'unspecified']},
|
|
57
|
+
"IRREVERSIBLE_LEFT_TO_RIGHT": {'description': 'Reaction proceeds only from left to right and cannot be reversed', 'aliases': ['irreversible forward', '->>']},
|
|
58
|
+
"IRREVERSIBLE_RIGHT_TO_LEFT": {'description': 'Reaction proceeds only from right to left and cannot be reversed', 'aliases': ['irreversible reverse', '<<-']},
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
__all__ = [
|
|
62
|
+
"RelativeTimeEnum",
|
|
63
|
+
"PresenceEnum",
|
|
64
|
+
"ReactionDirectionality",
|
|
65
|
+
]
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Chemical Reactions Value Sets
|
|
3
|
+
|
|
4
|
+
Value sets for chemical reactions, reaction types, mechanisms, and kinetics.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Generated from: chemistry/reactions.yaml
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
from typing import Dict, Any, Optional
|
|
13
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
14
|
+
|
|
15
|
+
class ReactionTypeEnum(RichEnum):
|
|
16
|
+
"""
|
|
17
|
+
Types of chemical reactions
|
|
18
|
+
"""
|
|
19
|
+
# Enum members
|
|
20
|
+
SYNTHESIS = "SYNTHESIS"
|
|
21
|
+
DECOMPOSITION = "DECOMPOSITION"
|
|
22
|
+
SINGLE_DISPLACEMENT = "SINGLE_DISPLACEMENT"
|
|
23
|
+
DOUBLE_DISPLACEMENT = "DOUBLE_DISPLACEMENT"
|
|
24
|
+
COMBUSTION = "COMBUSTION"
|
|
25
|
+
SUBSTITUTION = "SUBSTITUTION"
|
|
26
|
+
ELIMINATION = "ELIMINATION"
|
|
27
|
+
ADDITION = "ADDITION"
|
|
28
|
+
REARRANGEMENT = "REARRANGEMENT"
|
|
29
|
+
OXIDATION = "OXIDATION"
|
|
30
|
+
REDUCTION = "REDUCTION"
|
|
31
|
+
DIELS_ALDER = "DIELS_ALDER"
|
|
32
|
+
FRIEDEL_CRAFTS = "FRIEDEL_CRAFTS"
|
|
33
|
+
GRIGNARD = "GRIGNARD"
|
|
34
|
+
WITTIG = "WITTIG"
|
|
35
|
+
ALDOL = "ALDOL"
|
|
36
|
+
MICHAEL_ADDITION = "MICHAEL_ADDITION"
|
|
37
|
+
|
|
38
|
+
# Set metadata after class creation
|
|
39
|
+
ReactionTypeEnum._metadata = {
|
|
40
|
+
"SYNTHESIS": {'description': 'Combination reaction (A + B → AB)', 'annotations': {'aliases': 'combination, addition', 'pattern': 'A + B → AB'}},
|
|
41
|
+
"DECOMPOSITION": {'description': 'Breakdown reaction (AB → A + B)', 'annotations': {'aliases': 'analysis', 'pattern': 'AB → A + B'}},
|
|
42
|
+
"SINGLE_DISPLACEMENT": {'description': 'Single replacement reaction (A + BC → AC + B)', 'annotations': {'aliases': 'single replacement', 'pattern': 'A + BC → AC + B'}},
|
|
43
|
+
"DOUBLE_DISPLACEMENT": {'description': 'Double replacement reaction (AB + CD → AD + CB)', 'annotations': {'aliases': 'double replacement, metathesis', 'pattern': 'AB + CD → AD + CB'}},
|
|
44
|
+
"COMBUSTION": {'description': 'Reaction with oxygen producing heat and light', 'annotations': {'reactant': 'oxygen', 'products': 'usually CO2 and H2O'}},
|
|
45
|
+
"SUBSTITUTION": {'description': 'Replacement of one group by another', 'meaning': 'MOP:0000790', 'annotations': {'subtypes': 'SN1, SN2, SNAr'}},
|
|
46
|
+
"ELIMINATION": {'description': 'Removal of atoms/groups forming double bond', 'meaning': 'MOP:0000656', 'annotations': {'subtypes': 'E1, E2, E1cB'}},
|
|
47
|
+
"ADDITION": {'description': 'Addition to multiple bond', 'meaning': 'MOP:0000642', 'annotations': {'subtypes': 'electrophilic, nucleophilic, radical'}},
|
|
48
|
+
"REARRANGEMENT": {'description': 'Reorganization of molecular structure', 'annotations': {'examples': 'Claisen, Cope, Wagner-Meerwein'}},
|
|
49
|
+
"OXIDATION": {'description': 'Loss of electrons or increase in oxidation state', 'annotations': {'electron_change': 'loss'}},
|
|
50
|
+
"REDUCTION": {'description': 'Gain of electrons or decrease in oxidation state', 'annotations': {'electron_change': 'gain'}},
|
|
51
|
+
"DIELS_ALDER": {'description': '[4+2] cycloaddition reaction', 'meaning': 'RXNO:0000006', 'annotations': {'type': 'pericyclic', 'components': 'diene + dienophile'}},
|
|
52
|
+
"FRIEDEL_CRAFTS": {'description': 'Electrophilic aromatic substitution', 'meaning': 'RXNO:0000369', 'annotations': {'subtypes': 'alkylation, acylation'}},
|
|
53
|
+
"GRIGNARD": {'description': 'Organometallic addition reaction', 'meaning': 'RXNO:0000014', 'annotations': {'reagent': 'RMgX'}},
|
|
54
|
+
"WITTIG": {'description': 'Alkene formation from phosphonium ylide', 'meaning': 'RXNO:0000015', 'annotations': {'product': 'alkene'}},
|
|
55
|
+
"ALDOL": {'description': 'Condensation forming β-hydroxy carbonyl', 'meaning': 'RXNO:0000017', 'annotations': {'mechanism': 'enolate addition'}},
|
|
56
|
+
"MICHAEL_ADDITION": {'description': '1,4-addition to α,β-unsaturated carbonyl', 'meaning': 'RXNO:0000009', 'annotations': {'type': 'conjugate addition'}},
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
class ReactionMechanismEnum(RichEnum):
|
|
60
|
+
"""
|
|
61
|
+
Reaction mechanism types
|
|
62
|
+
"""
|
|
63
|
+
# Enum members
|
|
64
|
+
SN1 = "SN1"
|
|
65
|
+
SN2 = "SN2"
|
|
66
|
+
E1 = "E1"
|
|
67
|
+
E2 = "E2"
|
|
68
|
+
E1CB = "E1CB"
|
|
69
|
+
RADICAL = "RADICAL"
|
|
70
|
+
PERICYCLIC = "PERICYCLIC"
|
|
71
|
+
ELECTROPHILIC_AROMATIC = "ELECTROPHILIC_AROMATIC"
|
|
72
|
+
NUCLEOPHILIC_AROMATIC = "NUCLEOPHILIC_AROMATIC"
|
|
73
|
+
ADDITION_ELIMINATION = "ADDITION_ELIMINATION"
|
|
74
|
+
|
|
75
|
+
# Set metadata after class creation
|
|
76
|
+
ReactionMechanismEnum._metadata = {
|
|
77
|
+
"SN1": {'description': 'Unimolecular nucleophilic substitution', 'annotations': {'rate_determining': 'carbocation formation', 'stereochemistry': 'racemization'}},
|
|
78
|
+
"SN2": {'description': 'Bimolecular nucleophilic substitution', 'annotations': {'rate_determining': 'concerted', 'stereochemistry': 'inversion'}},
|
|
79
|
+
"E1": {'description': 'Unimolecular elimination', 'annotations': {'intermediate': 'carbocation'}},
|
|
80
|
+
"E2": {'description': 'Bimolecular elimination', 'annotations': {'requirement': 'antiperiplanar'}},
|
|
81
|
+
"E1CB": {'description': 'Elimination via conjugate base', 'annotations': {'intermediate': 'carbanion'}},
|
|
82
|
+
"RADICAL": {'description': 'Free radical mechanism', 'annotations': {'initiation': 'homolytic cleavage'}},
|
|
83
|
+
"PERICYCLIC": {'description': 'Concerted cyclic electron reorganization', 'annotations': {'examples': 'Diels-Alder, Cope'}},
|
|
84
|
+
"ELECTROPHILIC_AROMATIC": {'description': 'Electrophilic aromatic substitution', 'annotations': {'intermediate': 'arenium ion'}},
|
|
85
|
+
"NUCLEOPHILIC_AROMATIC": {'description': 'Nucleophilic aromatic substitution', 'annotations': {'requirement': 'electron-withdrawing groups'}},
|
|
86
|
+
"ADDITION_ELIMINATION": {'description': 'Addition followed by elimination', 'annotations': {'intermediate': 'tetrahedral'}},
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
class CatalystTypeEnum(RichEnum):
|
|
90
|
+
"""
|
|
91
|
+
Types of catalysts
|
|
92
|
+
"""
|
|
93
|
+
# Enum members
|
|
94
|
+
HOMOGENEOUS = "HOMOGENEOUS"
|
|
95
|
+
HETEROGENEOUS = "HETEROGENEOUS"
|
|
96
|
+
ENZYME = "ENZYME"
|
|
97
|
+
ORGANOCATALYST = "ORGANOCATALYST"
|
|
98
|
+
PHOTOCATALYST = "PHOTOCATALYST"
|
|
99
|
+
PHASE_TRANSFER = "PHASE_TRANSFER"
|
|
100
|
+
ACID = "ACID"
|
|
101
|
+
BASE = "BASE"
|
|
102
|
+
METAL = "METAL"
|
|
103
|
+
BIFUNCTIONAL = "BIFUNCTIONAL"
|
|
104
|
+
|
|
105
|
+
# Set metadata after class creation
|
|
106
|
+
CatalystTypeEnum._metadata = {
|
|
107
|
+
"HOMOGENEOUS": {'description': 'Catalyst in same phase as reactants', 'annotations': {'phase': 'same as reactants', 'examples': 'acid, base, metal complexes'}},
|
|
108
|
+
"HETEROGENEOUS": {'description': 'Catalyst in different phase from reactants', 'annotations': {'phase': 'different from reactants', 'examples': 'Pt/Pd on carbon, zeolites'}},
|
|
109
|
+
"ENZYME": {'description': 'Biological catalyst', 'meaning': 'CHEBI:23357', 'annotations': {'type': 'protein', 'specificity': 'high'}},
|
|
110
|
+
"ORGANOCATALYST": {'description': 'Small organic molecule catalyst', 'annotations': {'metal_free': 'true', 'examples': 'proline, thiourea'}},
|
|
111
|
+
"PHOTOCATALYST": {'description': 'Light-activated catalyst', 'annotations': {'activation': 'light', 'examples': 'TiO2, Ru complexes'}},
|
|
112
|
+
"PHASE_TRANSFER": {'description': 'Catalyst facilitating reaction between phases', 'annotations': {'function': 'transfers reactant between phases'}},
|
|
113
|
+
"ACID": {'description': 'Acid catalyst', 'annotations': {'mechanism': 'proton donation'}},
|
|
114
|
+
"BASE": {'description': 'Base catalyst', 'annotations': {'mechanism': 'proton abstraction'}},
|
|
115
|
+
"METAL": {'description': 'Metal catalyst', 'annotations': {'examples': 'Pd, Pt, Ni, Ru'}},
|
|
116
|
+
"BIFUNCTIONAL": {'description': 'Catalyst with two active sites', 'annotations': {'sites': 'multiple'}},
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
class ReactionConditionEnum(RichEnum):
|
|
120
|
+
"""
|
|
121
|
+
Reaction conditions
|
|
122
|
+
"""
|
|
123
|
+
# Enum members
|
|
124
|
+
ROOM_TEMPERATURE = "ROOM_TEMPERATURE"
|
|
125
|
+
REFLUX = "REFLUX"
|
|
126
|
+
CRYOGENIC = "CRYOGENIC"
|
|
127
|
+
HIGH_PRESSURE = "HIGH_PRESSURE"
|
|
128
|
+
VACUUM = "VACUUM"
|
|
129
|
+
INERT_ATMOSPHERE = "INERT_ATMOSPHERE"
|
|
130
|
+
MICROWAVE = "MICROWAVE"
|
|
131
|
+
ULTRASOUND = "ULTRASOUND"
|
|
132
|
+
PHOTOCHEMICAL = "PHOTOCHEMICAL"
|
|
133
|
+
ELECTROCHEMICAL = "ELECTROCHEMICAL"
|
|
134
|
+
FLOW = "FLOW"
|
|
135
|
+
BATCH = "BATCH"
|
|
136
|
+
|
|
137
|
+
# Set metadata after class creation
|
|
138
|
+
ReactionConditionEnum._metadata = {
|
|
139
|
+
"ROOM_TEMPERATURE": {'description': 'Standard room temperature (20-25°C)', 'annotations': {'temperature': '20-25°C'}},
|
|
140
|
+
"REFLUX": {'description': 'Boiling with condensation return', 'annotations': {'temperature': 'solvent boiling point'}},
|
|
141
|
+
"CRYOGENIC": {'description': 'Very low temperature conditions', 'annotations': {'temperature': '<-150°C', 'examples': 'liquid N2, liquid He'}},
|
|
142
|
+
"HIGH_PRESSURE": {'description': 'Elevated pressure conditions', 'annotations': {'pressure': '>10 atm'}},
|
|
143
|
+
"VACUUM": {'description': 'Reduced pressure conditions', 'annotations': {'pressure': '<1 atm'}},
|
|
144
|
+
"INERT_ATMOSPHERE": {'description': 'Non-reactive gas atmosphere', 'annotations': {'gases': 'N2, Ar'}},
|
|
145
|
+
"MICROWAVE": {'description': 'Microwave heating', 'annotations': {'heating': 'microwave irradiation'}},
|
|
146
|
+
"ULTRASOUND": {'description': 'Ultrasonic conditions', 'annotations': {'activation': 'ultrasound'}},
|
|
147
|
+
"PHOTOCHEMICAL": {'description': 'Light-induced conditions', 'annotations': {'activation': 'UV or visible light'}},
|
|
148
|
+
"ELECTROCHEMICAL": {'description': 'Electrically driven conditions', 'annotations': {'activation': 'electric current'}},
|
|
149
|
+
"FLOW": {'description': 'Continuous flow conditions', 'annotations': {'type': 'continuous process'}},
|
|
150
|
+
"BATCH": {'description': 'Batch reaction conditions', 'annotations': {'type': 'batch process'}},
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
class ReactionRateOrderEnum(RichEnum):
|
|
154
|
+
"""
|
|
155
|
+
Reaction rate orders
|
|
156
|
+
"""
|
|
157
|
+
# Enum members
|
|
158
|
+
ZERO_ORDER = "ZERO_ORDER"
|
|
159
|
+
FIRST_ORDER = "FIRST_ORDER"
|
|
160
|
+
SECOND_ORDER = "SECOND_ORDER"
|
|
161
|
+
PSEUDO_FIRST_ORDER = "PSEUDO_FIRST_ORDER"
|
|
162
|
+
FRACTIONAL_ORDER = "FRACTIONAL_ORDER"
|
|
163
|
+
MIXED_ORDER = "MIXED_ORDER"
|
|
164
|
+
|
|
165
|
+
# Set metadata after class creation
|
|
166
|
+
ReactionRateOrderEnum._metadata = {
|
|
167
|
+
"ZERO_ORDER": {'description': 'Rate independent of concentration', 'annotations': {'rate_law': 'rate = k', 'integrated': '[A] = [A]₀ - kt'}},
|
|
168
|
+
"FIRST_ORDER": {'description': 'Rate proportional to concentration', 'annotations': {'rate_law': 'rate = k[A]', 'integrated': 'ln[A] = ln[A]₀ - kt'}},
|
|
169
|
+
"SECOND_ORDER": {'description': 'Rate proportional to concentration squared', 'annotations': {'rate_law': 'rate = k[A]²', 'integrated': '1/[A] = 1/[A]₀ + kt'}},
|
|
170
|
+
"PSEUDO_FIRST_ORDER": {'description': 'Apparent first order (excess reagent)', 'annotations': {'condition': 'one reagent in large excess'}},
|
|
171
|
+
"FRACTIONAL_ORDER": {'description': 'Non-integer order', 'annotations': {'indicates': 'complex mechanism'}},
|
|
172
|
+
"MIXED_ORDER": {'description': 'Different orders for different reactants', 'annotations': {'example': 'rate = k[A][B]²'}},
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
class EnzymeClassEnum(RichEnum):
|
|
176
|
+
"""
|
|
177
|
+
EC enzyme classification
|
|
178
|
+
"""
|
|
179
|
+
# Enum members
|
|
180
|
+
OXIDOREDUCTASE = "OXIDOREDUCTASE"
|
|
181
|
+
TRANSFERASE = "TRANSFERASE"
|
|
182
|
+
HYDROLASE = "HYDROLASE"
|
|
183
|
+
LYASE = "LYASE"
|
|
184
|
+
ISOMERASE = "ISOMERASE"
|
|
185
|
+
LIGASE = "LIGASE"
|
|
186
|
+
TRANSLOCASE = "TRANSLOCASE"
|
|
187
|
+
|
|
188
|
+
# Set metadata after class creation
|
|
189
|
+
EnzymeClassEnum._metadata = {
|
|
190
|
+
"OXIDOREDUCTASE": {'description': 'Catalyzes oxidation-reduction reactions', 'meaning': 'EC:1', 'annotations': {'EC_class': '1', 'examples': 'dehydrogenases, oxidases'}},
|
|
191
|
+
"TRANSFERASE": {'description': 'Catalyzes group transfer reactions', 'meaning': 'EC:2', 'annotations': {'EC_class': '2', 'examples': 'kinases, transaminases'}},
|
|
192
|
+
"HYDROLASE": {'description': 'Catalyzes hydrolysis reactions', 'meaning': 'EC:3', 'annotations': {'EC_class': '3', 'examples': 'proteases, lipases'}},
|
|
193
|
+
"LYASE": {'description': 'Catalyzes non-hydrolytic additions/removals', 'meaning': 'EC:4', 'annotations': {'EC_class': '4', 'examples': 'decarboxylases, aldolases'}},
|
|
194
|
+
"ISOMERASE": {'description': 'Catalyzes isomerization reactions', 'meaning': 'EC:5', 'annotations': {'EC_class': '5', 'examples': 'racemases, epimerases'}},
|
|
195
|
+
"LIGASE": {'description': 'Catalyzes formation of bonds with ATP', 'meaning': 'EC:6', 'annotations': {'EC_class': '6', 'examples': 'synthetases, carboxylases'}},
|
|
196
|
+
"TRANSLOCASE": {'description': 'Catalyzes movement across membranes', 'meaning': 'EC:7', 'annotations': {'EC_class': '7', 'examples': 'ATPases, ion pumps'}},
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
class SolventClassEnum(RichEnum):
|
|
200
|
+
"""
|
|
201
|
+
Classes of solvents
|
|
202
|
+
"""
|
|
203
|
+
# Enum members
|
|
204
|
+
PROTIC = "PROTIC"
|
|
205
|
+
APROTIC_POLAR = "APROTIC_POLAR"
|
|
206
|
+
APROTIC_NONPOLAR = "APROTIC_NONPOLAR"
|
|
207
|
+
IONIC_LIQUID = "IONIC_LIQUID"
|
|
208
|
+
SUPERCRITICAL = "SUPERCRITICAL"
|
|
209
|
+
AQUEOUS = "AQUEOUS"
|
|
210
|
+
ORGANIC = "ORGANIC"
|
|
211
|
+
GREEN = "GREEN"
|
|
212
|
+
|
|
213
|
+
# Set metadata after class creation
|
|
214
|
+
SolventClassEnum._metadata = {
|
|
215
|
+
"PROTIC": {'description': 'Solvents with acidic hydrogen', 'annotations': {'H_bonding': 'donor', 'examples': 'water, alcohols, acids'}},
|
|
216
|
+
"APROTIC_POLAR": {'description': 'Polar solvents without acidic H', 'annotations': {'H_bonding': 'acceptor only', 'examples': 'DMSO, DMF, acetone'}},
|
|
217
|
+
"APROTIC_NONPOLAR": {'description': 'Nonpolar solvents', 'annotations': {'H_bonding': 'none', 'examples': 'hexane, benzene, CCl4'}},
|
|
218
|
+
"IONIC_LIQUID": {'description': 'Room temperature ionic liquids', 'annotations': {'state': 'liquid salt', 'examples': 'imidazolium salts'}},
|
|
219
|
+
"SUPERCRITICAL": {'description': 'Supercritical fluids', 'annotations': {'state': 'supercritical', 'examples': 'scCO2, scH2O'}},
|
|
220
|
+
"AQUEOUS": {'description': 'Water-based solvents', 'annotations': {'base': 'water'}},
|
|
221
|
+
"ORGANIC": {'description': 'Organic solvents', 'annotations': {'base': 'organic compounds'}},
|
|
222
|
+
"GREEN": {'description': 'Environmentally friendly solvents', 'annotations': {'property': 'low environmental impact', 'examples': 'water, ethanol, scCO2'}},
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
class ThermodynamicParameterEnum(RichEnum):
|
|
226
|
+
"""
|
|
227
|
+
Thermodynamic parameters
|
|
228
|
+
"""
|
|
229
|
+
# Enum members
|
|
230
|
+
ENTHALPY = "ENTHALPY"
|
|
231
|
+
ENTROPY = "ENTROPY"
|
|
232
|
+
GIBBS_ENERGY = "GIBBS_ENERGY"
|
|
233
|
+
ACTIVATION_ENERGY = "ACTIVATION_ENERGY"
|
|
234
|
+
HEAT_CAPACITY = "HEAT_CAPACITY"
|
|
235
|
+
INTERNAL_ENERGY = "INTERNAL_ENERGY"
|
|
236
|
+
|
|
237
|
+
# Set metadata after class creation
|
|
238
|
+
ThermodynamicParameterEnum._metadata = {
|
|
239
|
+
"ENTHALPY": {'description': 'Heat content (ΔH)', 'annotations': {'symbol': 'ΔH', 'units': 'kJ/mol'}},
|
|
240
|
+
"ENTROPY": {'description': 'Disorder (ΔS)', 'annotations': {'symbol': 'ΔS', 'units': 'J/mol·K'}},
|
|
241
|
+
"GIBBS_ENERGY": {'description': 'Free energy (ΔG)', 'annotations': {'symbol': 'ΔG', 'units': 'kJ/mol'}},
|
|
242
|
+
"ACTIVATION_ENERGY": {'description': 'Energy barrier (Ea)', 'annotations': {'symbol': 'Ea', 'units': 'kJ/mol'}},
|
|
243
|
+
"HEAT_CAPACITY": {'description': 'Heat capacity (Cp)', 'annotations': {'symbol': 'Cp', 'units': 'J/mol·K'}},
|
|
244
|
+
"INTERNAL_ENERGY": {'description': 'Internal energy (ΔU)', 'annotations': {'symbol': 'ΔU', 'units': 'kJ/mol'}},
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
__all__ = [
|
|
248
|
+
"ReactionTypeEnum",
|
|
249
|
+
"ReactionMechanismEnum",
|
|
250
|
+
"CatalystTypeEnum",
|
|
251
|
+
"ReactionConditionEnum",
|
|
252
|
+
"ReactionRateOrderEnum",
|
|
253
|
+
"EnzymeClassEnum",
|
|
254
|
+
"SolventClassEnum",
|
|
255
|
+
"ThermodynamicParameterEnum",
|
|
256
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Auto-generated package."""
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""
|
|
2
|
+
NIH Demographics and Common Data Elements
|
|
3
|
+
|
|
4
|
+
Standard value sets for NIH Common Data Elements (CDEs) including demographics,
|
|
5
|
+
race, ethnicity, sex, and other clinical variables following NIH and OMB standards
|
|
6
|
+
|
|
7
|
+
Generated from: clinical/nih_demographics.yaml
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
from typing import Dict, Any, Optional
|
|
13
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
14
|
+
|
|
15
|
+
class RaceOMB1997Enum(RichEnum):
|
|
16
|
+
"""
|
|
17
|
+
Race categories following OMB 1997 standards used by NIH and federal agencies.
|
|
18
|
+
Respondents may select multiple races.
|
|
19
|
+
"""
|
|
20
|
+
# Enum members
|
|
21
|
+
AMERICAN_INDIAN_OR_ALASKA_NATIVE = "AMERICAN_INDIAN_OR_ALASKA_NATIVE"
|
|
22
|
+
ASIAN = "ASIAN"
|
|
23
|
+
BLACK_OR_AFRICAN_AMERICAN = "BLACK_OR_AFRICAN_AMERICAN"
|
|
24
|
+
NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER = "NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER"
|
|
25
|
+
WHITE = "WHITE"
|
|
26
|
+
MORE_THAN_ONE_RACE = "MORE_THAN_ONE_RACE"
|
|
27
|
+
UNKNOWN_OR_NOT_REPORTED = "UNKNOWN_OR_NOT_REPORTED"
|
|
28
|
+
|
|
29
|
+
# Set metadata after class creation
|
|
30
|
+
RaceOMB1997Enum._metadata = {
|
|
31
|
+
"AMERICAN_INDIAN_OR_ALASKA_NATIVE": {'description': 'A person having origins in any of the original peoples of North and South America (including Central America), and who maintains tribal affiliation or community attachment', 'meaning': 'NCIT:C41259', 'annotations': {'omb_code': '1002-5'}},
|
|
32
|
+
"ASIAN": {'description': 'A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian subcontinent', 'meaning': 'NCIT:C41260', 'annotations': {'omb_code': '2028-9', 'includes': 'Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, Philippine Islands, Thailand, Vietnam'}},
|
|
33
|
+
"BLACK_OR_AFRICAN_AMERICAN": {'description': 'A person having origins in any of the black racial groups of Africa', 'meaning': 'NCIT:C16352', 'annotations': {'omb_code': '2054-5'}},
|
|
34
|
+
"NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER": {'description': 'A person having origins in any of the original peoples of Hawaii, Guam, Samoa, or other Pacific Islands', 'meaning': 'NCIT:C41219', 'annotations': {'omb_code': '2076-8'}},
|
|
35
|
+
"WHITE": {'description': 'A person having origins in any of the original peoples of Europe, the Middle East, or North Africa', 'meaning': 'NCIT:C41261', 'annotations': {'omb_code': '2106-3'}},
|
|
36
|
+
"MORE_THAN_ONE_RACE": {'description': 'Person identifies with more than one race category', 'meaning': 'NCIT:C67109', 'annotations': {'note': 'Added after 1997 revision to allow multiple race reporting'}},
|
|
37
|
+
"UNKNOWN_OR_NOT_REPORTED": {'description': 'Race not known, not reported, or declined to answer', 'meaning': 'NCIT:C17998', 'annotations': {'aliases': 'Unknown, Not Reported, Prefer not to answer'}},
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
class EthnicityOMB1997Enum(RichEnum):
|
|
41
|
+
"""
|
|
42
|
+
Ethnicity categories following OMB 1997 standards used by NIH and federal agencies
|
|
43
|
+
"""
|
|
44
|
+
# Enum members
|
|
45
|
+
HISPANIC_OR_LATINO = "HISPANIC_OR_LATINO"
|
|
46
|
+
NOT_HISPANIC_OR_LATINO = "NOT_HISPANIC_OR_LATINO"
|
|
47
|
+
UNKNOWN_OR_NOT_REPORTED = "UNKNOWN_OR_NOT_REPORTED"
|
|
48
|
+
|
|
49
|
+
# Set metadata after class creation
|
|
50
|
+
EthnicityOMB1997Enum._metadata = {
|
|
51
|
+
"HISPANIC_OR_LATINO": {'description': 'A person of Cuban, Mexican, Puerto Rican, South or Central American, or other Spanish culture or origin, regardless of race', 'meaning': 'NCIT:C17459', 'annotations': {'omb_code': '2135-2'}},
|
|
52
|
+
"NOT_HISPANIC_OR_LATINO": {'description': 'A person not of Hispanic or Latino origin', 'meaning': 'NCIT:C41222', 'annotations': {'omb_code': '2186-5'}},
|
|
53
|
+
"UNKNOWN_OR_NOT_REPORTED": {'description': 'Ethnicity not known, not reported, or declined to answer', 'meaning': 'NCIT:C17998', 'annotations': {'aliases': 'Unknown, Not Reported, Prefer not to answer'}},
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class BiologicalSexEnum(RichEnum):
|
|
57
|
+
"""
|
|
58
|
+
Biological sex assigned at birth based on anatomical and physiological traits.
|
|
59
|
+
Required by NIH as a biological variable in research.
|
|
60
|
+
"""
|
|
61
|
+
# Enum members
|
|
62
|
+
MALE = "MALE"
|
|
63
|
+
FEMALE = "FEMALE"
|
|
64
|
+
INTERSEX = "INTERSEX"
|
|
65
|
+
UNKNOWN_OR_NOT_REPORTED = "UNKNOWN_OR_NOT_REPORTED"
|
|
66
|
+
|
|
67
|
+
# Set metadata after class creation
|
|
68
|
+
BiologicalSexEnum._metadata = {
|
|
69
|
+
"MALE": {'description': 'Male sex assigned at birth', 'meaning': 'PATO:0000384'},
|
|
70
|
+
"FEMALE": {'description': 'Female sex assigned at birth', 'meaning': 'PATO:0000383'},
|
|
71
|
+
"INTERSEX": {'description': "Born with reproductive or sexual anatomy that doesn't fit typical definitions of male or female", 'meaning': 'NCIT:C45908', 'annotations': {'prevalence': '0.018% to 1.7%', 'note': 'May be assigned male or female at birth'}},
|
|
72
|
+
"UNKNOWN_OR_NOT_REPORTED": {'description': 'Sex not known, not reported, or declined to answer', 'meaning': 'NCIT:C17998'},
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
class AgeGroupEnum(RichEnum):
|
|
76
|
+
"""
|
|
77
|
+
Standard age groups used in NIH clinical research, particularly NINDS CDEs
|
|
78
|
+
"""
|
|
79
|
+
# Enum members
|
|
80
|
+
NEONATE = "NEONATE"
|
|
81
|
+
INFANT = "INFANT"
|
|
82
|
+
YOUNG_PEDIATRIC = "YOUNG_PEDIATRIC"
|
|
83
|
+
PEDIATRIC = "PEDIATRIC"
|
|
84
|
+
ADOLESCENT = "ADOLESCENT"
|
|
85
|
+
YOUNG_ADULT = "YOUNG_ADULT"
|
|
86
|
+
ADULT = "ADULT"
|
|
87
|
+
OLDER_ADULT = "OLDER_ADULT"
|
|
88
|
+
|
|
89
|
+
# Set metadata after class creation
|
|
90
|
+
AgeGroupEnum._metadata = {
|
|
91
|
+
"NEONATE": {'description': 'Birth to 28 days', 'meaning': 'NCIT:C16731', 'annotations': {'max_age_days': 28}},
|
|
92
|
+
"INFANT": {'description': '29 days to less than 1 year', 'meaning': 'NCIT:C27956', 'annotations': {'min_age_days': 29, 'max_age_years': 1}},
|
|
93
|
+
"YOUNG_PEDIATRIC": {'description': '0 to 5 years (NINDS CDE definition)', 'meaning': 'NCIT:C39299', 'annotations': {'min_age_years': 0, 'max_age_years': 5, 'ninds_category': True}},
|
|
94
|
+
"PEDIATRIC": {'description': '6 to 12 years (NINDS CDE definition)', 'meaning': 'NCIT:C16423', 'annotations': {'min_age_years': 6, 'max_age_years': 12, 'ninds_category': True}},
|
|
95
|
+
"ADOLESCENT": {'description': '13 to 17 years', 'meaning': 'NCIT:C27954', 'annotations': {'min_age_years': 13, 'max_age_years': 17}},
|
|
96
|
+
"YOUNG_ADULT": {'description': '18 to 24 years', 'meaning': 'NCIT:C91107', 'annotations': {'min_age_years': 18, 'max_age_years': 24}},
|
|
97
|
+
"ADULT": {'description': '25 to 64 years', 'meaning': 'NCIT:C17600', 'annotations': {'min_age_years': 25, 'max_age_years': 64}},
|
|
98
|
+
"OLDER_ADULT": {'description': '65 years and older', 'meaning': 'NCIT:C16268', 'annotations': {'min_age_years': 65, 'aliases': 'Geriatric, Elderly, Senior'}},
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
class ParticipantVitalStatusEnum(RichEnum):
|
|
102
|
+
"""
|
|
103
|
+
Vital status of a research participant in clinical studies
|
|
104
|
+
"""
|
|
105
|
+
# Enum members
|
|
106
|
+
ALIVE = "ALIVE"
|
|
107
|
+
DECEASED = "DECEASED"
|
|
108
|
+
UNKNOWN = "UNKNOWN"
|
|
109
|
+
|
|
110
|
+
# Set metadata after class creation
|
|
111
|
+
ParticipantVitalStatusEnum._metadata = {
|
|
112
|
+
"ALIVE": {'description': 'Participant is living', 'meaning': 'NCIT:C37987'},
|
|
113
|
+
"DECEASED": {'description': 'Participant is deceased', 'meaning': 'NCIT:C28554'},
|
|
114
|
+
"UNKNOWN": {'description': 'Vital status unknown or lost to follow-up', 'meaning': 'NCIT:C17998'},
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
class RecruitmentStatusEnum(RichEnum):
|
|
118
|
+
"""
|
|
119
|
+
Clinical trial or study recruitment status per NIH/ClinicalTrials.gov
|
|
120
|
+
"""
|
|
121
|
+
# Enum members
|
|
122
|
+
NOT_YET_RECRUITING = "NOT_YET_RECRUITING"
|
|
123
|
+
RECRUITING = "RECRUITING"
|
|
124
|
+
ENROLLING_BY_INVITATION = "ENROLLING_BY_INVITATION"
|
|
125
|
+
ACTIVE_NOT_RECRUITING = "ACTIVE_NOT_RECRUITING"
|
|
126
|
+
SUSPENDED = "SUSPENDED"
|
|
127
|
+
TERMINATED = "TERMINATED"
|
|
128
|
+
COMPLETED = "COMPLETED"
|
|
129
|
+
WITHDRAWN = "WITHDRAWN"
|
|
130
|
+
|
|
131
|
+
# Set metadata after class creation
|
|
132
|
+
RecruitmentStatusEnum._metadata = {
|
|
133
|
+
"NOT_YET_RECRUITING": {'description': 'Study has not started recruiting participants', 'meaning': 'NCIT:C211610'},
|
|
134
|
+
"RECRUITING": {'description': 'Currently recruiting participants', 'meaning': 'NCIT:C142621'},
|
|
135
|
+
"ENROLLING_BY_INVITATION": {'description': 'Enrolling participants by invitation only', 'meaning': 'NCIT:C211611'},
|
|
136
|
+
"ACTIVE_NOT_RECRUITING": {'description': 'Study ongoing but not recruiting new participants', 'meaning': 'NCIT:C211612'},
|
|
137
|
+
"SUSPENDED": {'description': 'Study temporarily stopped', 'meaning': 'NCIT:C211613'},
|
|
138
|
+
"TERMINATED": {'description': 'Study stopped early and will not resume', 'meaning': 'NCIT:C70757'},
|
|
139
|
+
"COMPLETED": {'description': 'Study has ended normally', 'meaning': 'NCIT:C70756'},
|
|
140
|
+
"WITHDRAWN": {'description': 'Study withdrawn before enrollment', 'meaning': 'NCIT:C70758'},
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
class StudyPhaseEnum(RichEnum):
|
|
144
|
+
"""
|
|
145
|
+
Clinical trial phases per FDA and NIH definitions
|
|
146
|
+
"""
|
|
147
|
+
# Enum members
|
|
148
|
+
EARLY_PHASE_1 = "EARLY_PHASE_1"
|
|
149
|
+
PHASE_1 = "PHASE_1"
|
|
150
|
+
PHASE_1_2 = "PHASE_1_2"
|
|
151
|
+
PHASE_2 = "PHASE_2"
|
|
152
|
+
PHASE_2_3 = "PHASE_2_3"
|
|
153
|
+
PHASE_3 = "PHASE_3"
|
|
154
|
+
PHASE_4 = "PHASE_4"
|
|
155
|
+
NOT_APPLICABLE = "NOT_APPLICABLE"
|
|
156
|
+
|
|
157
|
+
# Set metadata after class creation
|
|
158
|
+
StudyPhaseEnum._metadata = {
|
|
159
|
+
"EARLY_PHASE_1": {'description': 'Exploratory trials before traditional Phase 1', 'meaning': 'NCIT:C54721', 'annotations': {'aliases': 'Phase 0'}},
|
|
160
|
+
"PHASE_1": {'description': 'Initial safety and dosage studies', 'meaning': 'NCIT:C15600', 'annotations': {'participants': '20-100'}},
|
|
161
|
+
"PHASE_1_2": {'description': 'Combined Phase 1 and Phase 2 trial', 'meaning': 'NCIT:C15694'},
|
|
162
|
+
"PHASE_2": {'description': 'Efficacy and side effects studies', 'meaning': 'NCIT:C15601', 'annotations': {'participants': '100-300'}},
|
|
163
|
+
"PHASE_2_3": {'description': 'Combined Phase 2 and Phase 3 trial', 'meaning': 'NCIT:C49686'},
|
|
164
|
+
"PHASE_3": {'description': 'Efficacy comparison with standard treatment', 'meaning': 'NCIT:C15602', 'annotations': {'participants': '300-3000'}},
|
|
165
|
+
"PHASE_4": {'description': 'Post-marketing surveillance', 'meaning': 'NCIT:C15603', 'annotations': {'note': 'After FDA approval'}},
|
|
166
|
+
"NOT_APPLICABLE": {'description': 'Not a phased clinical trial', 'meaning': 'NCIT:C48660', 'annotations': {'note': 'For observational studies, device trials, etc.'}},
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
__all__ = [
|
|
170
|
+
"RaceOMB1997Enum",
|
|
171
|
+
"EthnicityOMB1997Enum",
|
|
172
|
+
"BiologicalSexEnum",
|
|
173
|
+
"AgeGroupEnum",
|
|
174
|
+
"ParticipantVitalStatusEnum",
|
|
175
|
+
"RecruitmentStatusEnum",
|
|
176
|
+
"StudyPhaseEnum",
|
|
177
|
+
]
|