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.

Files changed (248) hide show
  1. valuesets/__init__.py +7 -0
  2. valuesets/_version.py +8 -0
  3. valuesets/datamodel/valuesets.py +13796 -0
  4. valuesets/datamodel/valuesets_dataclass.py +24503 -0
  5. valuesets/datamodel/valuesets_pydantic.py +13796 -0
  6. valuesets/enums/__init__.py +590 -0
  7. valuesets/enums/academic/__init__.py +1 -0
  8. valuesets/enums/academic/research.py +559 -0
  9. valuesets/enums/analytical_chemistry/__init__.py +1 -0
  10. valuesets/enums/analytical_chemistry/mass_spectrometry.py +198 -0
  11. valuesets/enums/bio/__init__.py +1 -0
  12. valuesets/enums/bio/biological_colors.py +238 -0
  13. valuesets/enums/bio/cell_cycle.py +180 -0
  14. valuesets/enums/bio/currency_chemicals.py +52 -0
  15. valuesets/enums/bio/developmental_stages.py +103 -0
  16. valuesets/enums/bio/genome_features.py +182 -0
  17. valuesets/enums/bio/genomics.py +91 -0
  18. valuesets/enums/bio/go_aspect.py +32 -0
  19. valuesets/enums/bio/go_causality.py +58 -0
  20. valuesets/enums/bio/go_evidence.py +129 -0
  21. valuesets/enums/bio/human_developmental_stages.py +62 -0
  22. valuesets/enums/bio/insdc_geographic_locations.py +591 -0
  23. valuesets/enums/bio/insdc_missing_values.py +49 -0
  24. valuesets/enums/bio/lipid_categories.py +67 -0
  25. valuesets/enums/bio/mouse_developmental_stages.py +62 -0
  26. valuesets/enums/bio/plant_biology.py +86 -0
  27. valuesets/enums/bio/plant_developmental_stages.py +54 -0
  28. valuesets/enums/bio/plant_sex.py +81 -0
  29. valuesets/enums/bio/protein_evidence.py +61 -0
  30. valuesets/enums/bio/proteomics_standards.py +123 -0
  31. valuesets/enums/bio/psi_mi.py +306 -0
  32. valuesets/enums/bio/relationship_to_oxygen.py +37 -0
  33. valuesets/enums/bio/sequence_alphabets.py +449 -0
  34. valuesets/enums/bio/sequence_chemistry.py +357 -0
  35. valuesets/enums/bio/sequencing_platforms.py +302 -0
  36. valuesets/enums/bio/structural_biology.py +320 -0
  37. valuesets/enums/bio/taxonomy.py +238 -0
  38. valuesets/enums/bio/trophic_levels.py +85 -0
  39. valuesets/enums/bio/uniprot_species.py +344 -0
  40. valuesets/enums/bio/viral_genome_types.py +47 -0
  41. valuesets/enums/bioprocessing/__init__.py +1 -0
  42. valuesets/enums/bioprocessing/scale_up.py +249 -0
  43. valuesets/enums/business/__init__.py +1 -0
  44. valuesets/enums/business/human_resources.py +275 -0
  45. valuesets/enums/business/industry_classifications.py +181 -0
  46. valuesets/enums/business/management_operations.py +228 -0
  47. valuesets/enums/business/organizational_structures.py +236 -0
  48. valuesets/enums/business/quality_management.py +181 -0
  49. valuesets/enums/business/supply_chain.py +232 -0
  50. valuesets/enums/chemistry/__init__.py +1 -0
  51. valuesets/enums/chemistry/chemical_entities.py +315 -0
  52. valuesets/enums/chemistry/reaction_directionality.py +65 -0
  53. valuesets/enums/chemistry/reactions.py +256 -0
  54. valuesets/enums/clinical/__init__.py +1 -0
  55. valuesets/enums/clinical/nih_demographics.py +177 -0
  56. valuesets/enums/clinical/phenopackets.py +254 -0
  57. valuesets/enums/common_value_sets.py +8791 -0
  58. valuesets/enums/computing/__init__.py +1 -0
  59. valuesets/enums/computing/file_formats.py +294 -0
  60. valuesets/enums/computing/maturity_levels.py +196 -0
  61. valuesets/enums/computing/mime_types.py +227 -0
  62. valuesets/enums/confidence_levels.py +168 -0
  63. valuesets/enums/contributor.py +30 -0
  64. valuesets/enums/core.py +42 -0
  65. valuesets/enums/data/__init__.py +1 -0
  66. valuesets/enums/data/data_absent_reason.py +53 -0
  67. valuesets/enums/data_science/__init__.py +1 -0
  68. valuesets/enums/data_science/binary_classification.py +87 -0
  69. valuesets/enums/data_science/emotion_classification.py +66 -0
  70. valuesets/enums/data_science/priority_severity.py +73 -0
  71. valuesets/enums/data_science/quality_control.py +46 -0
  72. valuesets/enums/data_science/sentiment_analysis.py +50 -0
  73. valuesets/enums/data_science/text_classification.py +97 -0
  74. valuesets/enums/demographics.py +206 -0
  75. valuesets/enums/ecological_interactions.py +151 -0
  76. valuesets/enums/energy/__init__.py +1 -0
  77. valuesets/enums/energy/energy.py +343 -0
  78. valuesets/enums/energy/fossil_fuels.py +29 -0
  79. valuesets/enums/energy/nuclear/__init__.py +1 -0
  80. valuesets/enums/energy/nuclear/nuclear_facilities.py +195 -0
  81. valuesets/enums/energy/nuclear/nuclear_fuel_cycle.py +96 -0
  82. valuesets/enums/energy/nuclear/nuclear_fuels.py +175 -0
  83. valuesets/enums/energy/nuclear/nuclear_operations.py +191 -0
  84. valuesets/enums/energy/nuclear/nuclear_regulatory.py +188 -0
  85. valuesets/enums/energy/nuclear/nuclear_safety.py +164 -0
  86. valuesets/enums/energy/nuclear/nuclear_waste.py +158 -0
  87. valuesets/enums/energy/nuclear/reactor_types.py +163 -0
  88. valuesets/enums/environmental_health/__init__.py +1 -0
  89. valuesets/enums/environmental_health/exposures.py +265 -0
  90. valuesets/enums/geography/__init__.py +1 -0
  91. valuesets/enums/geography/geographic_codes.py +741 -0
  92. valuesets/enums/health/__init__.py +12 -0
  93. valuesets/enums/health/vaccination.py +98 -0
  94. valuesets/enums/health.py +36 -0
  95. valuesets/enums/health_base.py +36 -0
  96. valuesets/enums/healthcare.py +45 -0
  97. valuesets/enums/industry/__init__.py +1 -0
  98. valuesets/enums/industry/extractive_industry.py +94 -0
  99. valuesets/enums/industry/mining.py +388 -0
  100. valuesets/enums/industry/safety_colors.py +201 -0
  101. valuesets/enums/investigation.py +27 -0
  102. valuesets/enums/materials_science/__init__.py +1 -0
  103. valuesets/enums/materials_science/characterization_methods.py +112 -0
  104. valuesets/enums/materials_science/crystal_structures.py +76 -0
  105. valuesets/enums/materials_science/material_properties.py +119 -0
  106. valuesets/enums/materials_science/material_types.py +104 -0
  107. valuesets/enums/materials_science/pigments_dyes.py +198 -0
  108. valuesets/enums/materials_science/synthesis_methods.py +109 -0
  109. valuesets/enums/medical/__init__.py +1 -0
  110. valuesets/enums/medical/clinical.py +277 -0
  111. valuesets/enums/medical/neuroimaging.py +119 -0
  112. valuesets/enums/mining_processing.py +302 -0
  113. valuesets/enums/physics/__init__.py +1 -0
  114. valuesets/enums/physics/states_of_matter.py +46 -0
  115. valuesets/enums/social/__init__.py +1 -0
  116. valuesets/enums/social/person_status.py +29 -0
  117. valuesets/enums/spatial/__init__.py +1 -0
  118. valuesets/enums/spatial/spatial_qualifiers.py +246 -0
  119. valuesets/enums/statistics/__init__.py +5 -0
  120. valuesets/enums/statistics/prediction_outcomes.py +31 -0
  121. valuesets/enums/statistics.py +31 -0
  122. valuesets/enums/time/__init__.py +1 -0
  123. valuesets/enums/time/temporal.py +254 -0
  124. valuesets/enums/units/__init__.py +1 -0
  125. valuesets/enums/units/measurements.py +310 -0
  126. valuesets/enums/visual/__init__.py +1 -0
  127. valuesets/enums/visual/colors.py +376 -0
  128. valuesets/generators/__init__.py +19 -0
  129. valuesets/generators/auto_slot_injector.py +280 -0
  130. valuesets/generators/enhanced_pydantic_generator.py +100 -0
  131. valuesets/generators/enum_slot_generator.py +201 -0
  132. valuesets/generators/modular_rich_generator.py +353 -0
  133. valuesets/generators/prefix_standardizer.py +198 -0
  134. valuesets/generators/rich_enum.py +127 -0
  135. valuesets/generators/rich_pydantic_generator.py +310 -0
  136. valuesets/generators/smart_slot_syncer.py +428 -0
  137. valuesets/generators/sssom_generator.py +394 -0
  138. valuesets/merged/merged_hierarchy.yaml +21649 -0
  139. valuesets/schema/README.md +3 -0
  140. valuesets/schema/academic/research.yaml +911 -0
  141. valuesets/schema/analytical_chemistry/mass_spectrometry.yaml +206 -0
  142. valuesets/schema/bio/bio_entities.yaml +364 -0
  143. valuesets/schema/bio/biological_colors.yaml +434 -0
  144. valuesets/schema/bio/cell_cycle.yaml +309 -0
  145. valuesets/schema/bio/currency_chemicals.yaml +70 -0
  146. valuesets/schema/bio/developmental_stages.yaml +226 -0
  147. valuesets/schema/bio/genome_features.yaml +342 -0
  148. valuesets/schema/bio/genomics.yaml +101 -0
  149. valuesets/schema/bio/go_aspect.yaml +39 -0
  150. valuesets/schema/bio/go_causality.yaml +119 -0
  151. valuesets/schema/bio/go_evidence.yaml +215 -0
  152. valuesets/schema/bio/insdc_geographic_locations.yaml +911 -0
  153. valuesets/schema/bio/insdc_missing_values.yaml +85 -0
  154. valuesets/schema/bio/lipid_categories.yaml +72 -0
  155. valuesets/schema/bio/plant_biology.yaml +125 -0
  156. valuesets/schema/bio/plant_developmental_stages.yaml +77 -0
  157. valuesets/schema/bio/plant_sex.yaml +108 -0
  158. valuesets/schema/bio/protein_evidence.yaml +63 -0
  159. valuesets/schema/bio/proteomics_standards.yaml +116 -0
  160. valuesets/schema/bio/psi_mi.yaml +400 -0
  161. valuesets/schema/bio/relationship_to_oxygen.yaml +46 -0
  162. valuesets/schema/bio/sequence_alphabets.yaml +1168 -0
  163. valuesets/schema/bio/sequence_chemistry.yaml +477 -0
  164. valuesets/schema/bio/sequencing_platforms.yaml +515 -0
  165. valuesets/schema/bio/structural_biology.yaml +428 -0
  166. valuesets/schema/bio/taxonomy.yaml +453 -0
  167. valuesets/schema/bio/trophic_levels.yaml +118 -0
  168. valuesets/schema/bio/uniprot_species.yaml +1209 -0
  169. valuesets/schema/bio/viral_genome_types.yaml +99 -0
  170. valuesets/schema/bioprocessing/scale_up.yaml +458 -0
  171. valuesets/schema/business/human_resources.yaml +752 -0
  172. valuesets/schema/business/industry_classifications.yaml +448 -0
  173. valuesets/schema/business/management_operations.yaml +602 -0
  174. valuesets/schema/business/organizational_structures.yaml +645 -0
  175. valuesets/schema/business/quality_management.yaml +502 -0
  176. valuesets/schema/business/supply_chain.yaml +688 -0
  177. valuesets/schema/chemistry/chemical_entities.yaml +639 -0
  178. valuesets/schema/chemistry/reaction_directionality.yaml +60 -0
  179. valuesets/schema/chemistry/reactions.yaml +442 -0
  180. valuesets/schema/clinical/nih_demographics.yaml +285 -0
  181. valuesets/schema/clinical/phenopackets.yaml +429 -0
  182. valuesets/schema/computing/file_formats.yaml +631 -0
  183. valuesets/schema/computing/maturity_levels.yaml +229 -0
  184. valuesets/schema/computing/mime_types.yaml +266 -0
  185. valuesets/schema/confidence_levels.yaml +206 -0
  186. valuesets/schema/contributor.yaml +30 -0
  187. valuesets/schema/core.yaml +55 -0
  188. valuesets/schema/data/data_absent_reason.yaml +82 -0
  189. valuesets/schema/data_science/binary_classification.yaml +125 -0
  190. valuesets/schema/data_science/emotion_classification.yaml +109 -0
  191. valuesets/schema/data_science/priority_severity.yaml +122 -0
  192. valuesets/schema/data_science/quality_control.yaml +68 -0
  193. valuesets/schema/data_science/sentiment_analysis.yaml +81 -0
  194. valuesets/schema/data_science/text_classification.yaml +135 -0
  195. valuesets/schema/demographics.yaml +238 -0
  196. valuesets/schema/ecological_interactions.yaml +298 -0
  197. valuesets/schema/energy/energy.yaml +595 -0
  198. valuesets/schema/energy/fossil_fuels.yaml +28 -0
  199. valuesets/schema/energy/nuclear/nuclear_facilities.yaml +463 -0
  200. valuesets/schema/energy/nuclear/nuclear_fuel_cycle.yaml +82 -0
  201. valuesets/schema/energy/nuclear/nuclear_fuels.yaml +421 -0
  202. valuesets/schema/energy/nuclear/nuclear_operations.yaml +480 -0
  203. valuesets/schema/energy/nuclear/nuclear_regulatory.yaml +200 -0
  204. valuesets/schema/energy/nuclear/nuclear_safety.yaml +352 -0
  205. valuesets/schema/energy/nuclear/nuclear_waste.yaml +332 -0
  206. valuesets/schema/energy/nuclear/reactor_types.yaml +394 -0
  207. valuesets/schema/environmental_health/exposures.yaml +355 -0
  208. valuesets/schema/generated_slots.yaml +1828 -0
  209. valuesets/schema/geography/geographic_codes.yaml +1018 -0
  210. valuesets/schema/health/vaccination.yaml +102 -0
  211. valuesets/schema/health.yaml +38 -0
  212. valuesets/schema/healthcare.yaml +53 -0
  213. valuesets/schema/industry/extractive_industry.yaml +89 -0
  214. valuesets/schema/industry/mining.yaml +888 -0
  215. valuesets/schema/industry/safety_colors.yaml +375 -0
  216. valuesets/schema/investigation.yaml +64 -0
  217. valuesets/schema/materials_science/characterization_methods.yaml +193 -0
  218. valuesets/schema/materials_science/crystal_structures.yaml +138 -0
  219. valuesets/schema/materials_science/material_properties.yaml +135 -0
  220. valuesets/schema/materials_science/material_types.yaml +151 -0
  221. valuesets/schema/materials_science/pigments_dyes.yaml +465 -0
  222. valuesets/schema/materials_science/synthesis_methods.yaml +186 -0
  223. valuesets/schema/medical/clinical.yaml +610 -0
  224. valuesets/schema/medical/neuroimaging.yaml +325 -0
  225. valuesets/schema/mining_processing.yaml +295 -0
  226. valuesets/schema/physics/states_of_matter.yaml +46 -0
  227. valuesets/schema/slot_mixins.yaml +143 -0
  228. valuesets/schema/social/person_status.yaml +28 -0
  229. valuesets/schema/spatial/spatial_qualifiers.yaml +466 -0
  230. valuesets/schema/statistics/prediction_outcomes.yaml +26 -0
  231. valuesets/schema/statistics.yaml +34 -0
  232. valuesets/schema/time/temporal.yaml +435 -0
  233. valuesets/schema/types.yaml +15 -0
  234. valuesets/schema/units/measurements.yaml +675 -0
  235. valuesets/schema/valuesets.yaml +100 -0
  236. valuesets/schema/visual/colors.yaml +778 -0
  237. valuesets/utils/__init__.py +6 -0
  238. valuesets/utils/comparison.py +102 -0
  239. valuesets/utils/expand_dynamic_enums.py +414 -0
  240. valuesets/utils/mapping_utils.py +236 -0
  241. valuesets/validators/__init__.py +11 -0
  242. valuesets/validators/enum_evaluator.py +669 -0
  243. valuesets/validators/oak_config.yaml +70 -0
  244. valuesets/validators/validate_with_ols.py +241 -0
  245. valuesets-0.3.1.dist-info/METADATA +395 -0
  246. valuesets-0.3.1.dist-info/RECORD +248 -0
  247. valuesets-0.3.1.dist-info/WHEEL +4 -0
  248. valuesets-0.3.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,254 @@
1
+ """
2
+ Phenopackets Clinical Value Sets
3
+
4
+ Value sets derived from GA4GH Phenopackets Schema for clinical genomics and phenotyping
5
+
6
+ Generated from: clinical/phenopackets.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 KaryotypicSexEnum(RichEnum):
15
+ """
16
+ Karyotypic sex of an individual based on chromosome composition
17
+ """
18
+ # Enum members
19
+ XX = "XX"
20
+ XY = "XY"
21
+ XO = "XO"
22
+ XXY = "XXY"
23
+ XXX = "XXX"
24
+ XXXY = "XXXY"
25
+ XXXX = "XXXX"
26
+ XXYY = "XXYY"
27
+ XYY = "XYY"
28
+ OTHER_KARYOTYPE = "OTHER_KARYOTYPE"
29
+ UNKNOWN_KARYOTYPE = "UNKNOWN_KARYOTYPE"
30
+
31
+ # Set metadata after class creation
32
+ KaryotypicSexEnum._metadata = {
33
+ "XX": {'description': 'Female karyotype (46,XX)', 'meaning': 'NCIT:C45976', 'annotations': {'chromosome_count': 46, 'typical_phenotypic_sex': 'female'}},
34
+ "XY": {'description': 'Male karyotype (46,XY)', 'meaning': 'NCIT:C45977', 'annotations': {'chromosome_count': 46, 'typical_phenotypic_sex': 'male'}},
35
+ "XO": {'description': 'Turner syndrome karyotype (45,X)', 'meaning': 'NCIT:C176780', 'annotations': {'chromosome_count': 45, 'condition': 'Turner syndrome'}},
36
+ "XXY": {'description': 'Klinefelter syndrome karyotype (47,XXY)', 'meaning': 'NCIT:C176784', 'annotations': {'chromosome_count': 47, 'condition': 'Klinefelter syndrome'}},
37
+ "XXX": {'description': 'Triple X syndrome karyotype (47,XXX)', 'meaning': 'NCIT:C176785', 'annotations': {'chromosome_count': 47, 'condition': 'Triple X syndrome'}},
38
+ "XXXY": {'description': 'XXXY syndrome karyotype (48,XXXY)', 'meaning': 'NCIT:C176786', 'annotations': {'chromosome_count': 48, 'condition': 'XXXY syndrome'}},
39
+ "XXXX": {'description': 'Tetrasomy X karyotype (48,XXXX)', 'meaning': 'NCIT:C176787', 'annotations': {'chromosome_count': 48, 'condition': 'Tetrasomy X'}},
40
+ "XXYY": {'description': 'XXYY syndrome karyotype (48,XXYY)', 'meaning': 'NCIT:C89801', 'annotations': {'chromosome_count': 48, 'condition': 'XXYY syndrome'}},
41
+ "XYY": {'description': "Jacob's syndrome karyotype (47,XYY)", 'meaning': 'NCIT:C176782', 'annotations': {'chromosome_count': 47, 'condition': "Jacob's syndrome"}},
42
+ "OTHER_KARYOTYPE": {'description': 'Other karyotypic sex not listed', 'annotations': {'note': 'May include complex chromosomal arrangements'}},
43
+ "UNKNOWN_KARYOTYPE": {'description': 'Karyotype not determined or unknown', 'meaning': 'NCIT:C17998'},
44
+ }
45
+
46
+ class PhenotypicSexEnum(RichEnum):
47
+ """
48
+ Phenotypic sex of an individual based on observable characteristics.
49
+ FHIR mapping: AdministrativeGender
50
+ """
51
+ # Enum members
52
+ MALE = "MALE"
53
+ FEMALE = "FEMALE"
54
+ OTHER_SEX = "OTHER_SEX"
55
+ UNKNOWN_SEX = "UNKNOWN_SEX"
56
+
57
+ # Set metadata after class creation
58
+ PhenotypicSexEnum._metadata = {
59
+ "MALE": {'description': 'Male phenotypic sex', 'meaning': 'PATO:0000384'},
60
+ "FEMALE": {'description': 'Female phenotypic sex', 'meaning': 'PATO:0000383'},
61
+ "OTHER_SEX": {'description': 'Sex characteristics not clearly male or female', 'meaning': 'NCIT:C45908', 'annotations': {'note': 'Includes differences of sex development (DSD)'}},
62
+ "UNKNOWN_SEX": {'description': 'Sex not assessed or not available', 'meaning': 'NCIT:C17998'},
63
+ }
64
+
65
+ class AllelicStateEnum(RichEnum):
66
+ """
67
+ Allelic state/zygosity of a variant or genetic feature
68
+ """
69
+ # Enum members
70
+ HETEROZYGOUS = "HETEROZYGOUS"
71
+ HOMOZYGOUS = "HOMOZYGOUS"
72
+ HEMIZYGOUS = "HEMIZYGOUS"
73
+ COMPOUND_HETEROZYGOUS = "COMPOUND_HETEROZYGOUS"
74
+ HOMOZYGOUS_REFERENCE = "HOMOZYGOUS_REFERENCE"
75
+ HOMOZYGOUS_ALTERNATE = "HOMOZYGOUS_ALTERNATE"
76
+
77
+ # Set metadata after class creation
78
+ AllelicStateEnum._metadata = {
79
+ "HETEROZYGOUS": {'description': 'Different alleles at a locus', 'meaning': 'GENO:0000135', 'annotations': {'symbol': 'het'}},
80
+ "HOMOZYGOUS": {'description': 'Identical alleles at a locus', 'meaning': 'GENO:0000136', 'annotations': {'symbol': 'hom'}},
81
+ "HEMIZYGOUS": {'description': 'Only one allele present (e.g., X-linked in males)', 'meaning': 'GENO:0000134', 'annotations': {'symbol': 'hemi', 'note': 'Common for X-linked genes in males'}},
82
+ "COMPOUND_HETEROZYGOUS": {'description': 'Two different heterozygous variants in same gene', 'meaning': 'GENO:0000402', 'annotations': {'symbol': 'comp het'}},
83
+ "HOMOZYGOUS_REFERENCE": {'description': 'Two reference/wild-type alleles', 'meaning': 'GENO:0000036', 'annotations': {'symbol': 'hom ref'}},
84
+ "HOMOZYGOUS_ALTERNATE": {'description': 'Two alternate/variant alleles', 'meaning': 'GENO:0000002', 'annotations': {'symbol': 'hom alt'}},
85
+ }
86
+
87
+ class LateralityEnum(RichEnum):
88
+ """
89
+ Laterality/sidedness of a finding or anatomical structure
90
+ """
91
+ # Enum members
92
+ RIGHT = "RIGHT"
93
+ LEFT = "LEFT"
94
+ BILATERAL = "BILATERAL"
95
+ UNILATERAL = "UNILATERAL"
96
+ MIDLINE = "MIDLINE"
97
+
98
+ # Set metadata after class creation
99
+ LateralityEnum._metadata = {
100
+ "RIGHT": {'description': 'Right side', 'meaning': 'HP:0012834', 'annotations': {'anatomical_term': 'dexter'}},
101
+ "LEFT": {'description': 'Left side', 'meaning': 'HP:0012835', 'annotations': {'anatomical_term': 'sinister'}},
102
+ "BILATERAL": {'description': 'Both sides', 'meaning': 'HP:0012832', 'annotations': {'note': 'Affecting both left and right'}},
103
+ "UNILATERAL": {'description': 'One side (unspecified which)', 'meaning': 'HP:0012833', 'annotations': {'note': 'Affecting only one side'}},
104
+ "MIDLINE": {'description': 'In the midline/center', 'annotations': {'note': "Along the body's central axis"}},
105
+ }
106
+
107
+ class OnsetTimingEnum(RichEnum):
108
+ """
109
+ Timing of disease or phenotype onset relative to developmental stages
110
+ """
111
+ # Enum members
112
+ ANTENATAL_ONSET = "ANTENATAL_ONSET"
113
+ EMBRYONAL_ONSET = "EMBRYONAL_ONSET"
114
+ FETAL_ONSET = "FETAL_ONSET"
115
+ CONGENITAL_ONSET = "CONGENITAL_ONSET"
116
+ NEONATAL_ONSET = "NEONATAL_ONSET"
117
+ INFANTILE_ONSET = "INFANTILE_ONSET"
118
+ CHILDHOOD_ONSET = "CHILDHOOD_ONSET"
119
+ JUVENILE_ONSET = "JUVENILE_ONSET"
120
+ YOUNG_ADULT_ONSET = "YOUNG_ADULT_ONSET"
121
+ MIDDLE_AGE_ONSET = "MIDDLE_AGE_ONSET"
122
+ LATE_ONSET = "LATE_ONSET"
123
+
124
+ # Set metadata after class creation
125
+ OnsetTimingEnum._metadata = {
126
+ "ANTENATAL_ONSET": {'description': 'Before birth (prenatal)', 'meaning': 'HP:0030674', 'annotations': {'period': 'Before birth'}},
127
+ "EMBRYONAL_ONSET": {'description': 'During embryonic period (0-8 weeks)', 'meaning': 'HP:0011460', 'annotations': {'period': '0-8 weeks gestation'}},
128
+ "FETAL_ONSET": {'description': 'During fetal period (8 weeks to birth)', 'meaning': 'HP:0011461', 'annotations': {'period': '8 weeks to birth'}},
129
+ "CONGENITAL_ONSET": {'description': 'Present at birth', 'meaning': 'HP:0003577', 'annotations': {'period': 'At birth'}},
130
+ "NEONATAL_ONSET": {'description': 'Within first 28 days of life', 'meaning': 'HP:0003623', 'annotations': {'period': '0-28 days'}},
131
+ "INFANTILE_ONSET": {'description': 'Between 28 days and 1 year', 'meaning': 'HP:0003593', 'annotations': {'period': '28 days to 1 year'}},
132
+ "CHILDHOOD_ONSET": {'description': 'Between 1 year and 16 years', 'meaning': 'HP:0011463', 'annotations': {'period': '1-16 years'}},
133
+ "JUVENILE_ONSET": {'description': 'Between 5 years and 16 years', 'meaning': 'HP:0003621', 'annotations': {'period': '5-16 years'}},
134
+ "YOUNG_ADULT_ONSET": {'description': 'Between 16 years and 40 years', 'meaning': 'HP:0011462', 'annotations': {'period': '16-40 years'}},
135
+ "MIDDLE_AGE_ONSET": {'description': 'Between 40 years and 60 years', 'meaning': 'HP:0003596', 'annotations': {'period': '40-60 years'}},
136
+ "LATE_ONSET": {'description': 'After 60 years', 'meaning': 'HP:0003584', 'annotations': {'period': '>60 years'}},
137
+ }
138
+
139
+ class ACMGPathogenicityEnum(RichEnum):
140
+ """
141
+ ACMG/AMP variant pathogenicity classification for clinical genetics
142
+ """
143
+ # Enum members
144
+ PATHOGENIC = "PATHOGENIC"
145
+ LIKELY_PATHOGENIC = "LIKELY_PATHOGENIC"
146
+ UNCERTAIN_SIGNIFICANCE = "UNCERTAIN_SIGNIFICANCE"
147
+ LIKELY_BENIGN = "LIKELY_BENIGN"
148
+ BENIGN = "BENIGN"
149
+
150
+ # Set metadata after class creation
151
+ ACMGPathogenicityEnum._metadata = {
152
+ "PATHOGENIC": {'description': 'Pathogenic variant', 'meaning': 'NCIT:C168799', 'annotations': {'abbreviation': 'P', 'clinical_significance': 'Disease-causing'}},
153
+ "LIKELY_PATHOGENIC": {'description': 'Likely pathogenic variant', 'meaning': 'NCIT:C168800', 'annotations': {'abbreviation': 'LP', 'probability': '>90% certain'}},
154
+ "UNCERTAIN_SIGNIFICANCE": {'description': 'Variant of uncertain significance', 'meaning': 'NCIT:C94187', 'annotations': {'abbreviation': 'VUS', 'note': 'Insufficient evidence'}},
155
+ "LIKELY_BENIGN": {'description': 'Likely benign variant', 'meaning': 'NCIT:C168801', 'annotations': {'abbreviation': 'LB', 'probability': '>90% certain benign'}},
156
+ "BENIGN": {'description': 'Benign variant', 'meaning': 'NCIT:C168802', 'annotations': {'abbreviation': 'B', 'clinical_significance': 'Not disease-causing'}},
157
+ }
158
+
159
+ class TherapeuticActionabilityEnum(RichEnum):
160
+ """
161
+ Clinical actionability of a genetic finding for treatment decisions
162
+ """
163
+ # Enum members
164
+ ACTIONABLE = "ACTIONABLE"
165
+ NOT_ACTIONABLE = "NOT_ACTIONABLE"
166
+ UNKNOWN_ACTIONABILITY = "UNKNOWN_ACTIONABILITY"
167
+
168
+ # Set metadata after class creation
169
+ TherapeuticActionabilityEnum._metadata = {
170
+ "ACTIONABLE": {'description': 'Finding has direct therapeutic implications', 'meaning': 'NCIT:C206303', 'annotations': {'note': 'Can guide treatment selection'}},
171
+ "NOT_ACTIONABLE": {'description': 'No current therapeutic implications', 'meaning': 'NCIT:C206304', 'annotations': {'note': 'No treatment changes indicated'}},
172
+ "UNKNOWN_ACTIONABILITY": {'description': 'Therapeutic implications unclear', 'meaning': 'NCIT:C17998'},
173
+ }
174
+
175
+ class InterpretationProgressEnum(RichEnum):
176
+ """
177
+ Progress status of clinical interpretation or diagnosis
178
+ """
179
+ # Enum members
180
+ SOLVED = "SOLVED"
181
+ UNSOLVED = "UNSOLVED"
182
+ IN_PROGRESS = "IN_PROGRESS"
183
+ COMPLETED = "COMPLETED"
184
+ UNKNOWN_PROGRESS = "UNKNOWN_PROGRESS"
185
+
186
+ # Set metadata after class creation
187
+ InterpretationProgressEnum._metadata = {
188
+ "SOLVED": {'description': 'Diagnosis achieved/case solved', 'meaning': 'NCIT:C20826', 'annotations': {'note': 'Molecular cause identified'}},
189
+ "UNSOLVED": {'description': 'No diagnosis achieved', 'meaning': 'NCIT:C125009', 'annotations': {'note': 'Molecular cause not identified'}},
190
+ "IN_PROGRESS": {'description': 'Analysis ongoing', 'meaning': 'NCIT:C25630'},
191
+ "COMPLETED": {'description': 'Analysis completed', 'meaning': 'NCIT:C216251', 'annotations': {'note': 'May be solved or unsolved'}},
192
+ "UNKNOWN_PROGRESS": {'description': 'Progress status unknown', 'meaning': 'NCIT:C17998'},
193
+ }
194
+
195
+ class RegimenStatusEnum(RichEnum):
196
+ """
197
+ Status of a therapeutic regimen or treatment protocol
198
+ """
199
+ # Enum members
200
+ NOT_STARTED = "NOT_STARTED"
201
+ STARTED = "STARTED"
202
+ COMPLETED = "COMPLETED"
203
+ DISCONTINUED_ADVERSE_EVENT = "DISCONTINUED_ADVERSE_EVENT"
204
+ DISCONTINUED_LACK_OF_EFFICACY = "DISCONTINUED_LACK_OF_EFFICACY"
205
+ DISCONTINUED_PHYSICIAN_DECISION = "DISCONTINUED_PHYSICIAN_DECISION"
206
+ DISCONTINUED_PATIENT_DECISION = "DISCONTINUED_PATIENT_DECISION"
207
+ UNKNOWN_STATUS = "UNKNOWN_STATUS"
208
+
209
+ # Set metadata after class creation
210
+ RegimenStatusEnum._metadata = {
211
+ "NOT_STARTED": {'description': 'Treatment not yet begun', 'meaning': 'NCIT:C53601'},
212
+ "STARTED": {'description': 'Treatment initiated', 'meaning': 'NCIT:C165209'},
213
+ "COMPLETED": {'description': 'Treatment finished as planned', 'meaning': 'NCIT:C105740'},
214
+ "DISCONTINUED_ADVERSE_EVENT": {'description': 'Stopped due to adverse event', 'meaning': 'NCIT:C41331', 'annotations': {'reason': 'Toxicity or side effects'}},
215
+ "DISCONTINUED_LACK_OF_EFFICACY": {'description': 'Stopped due to lack of efficacy', 'meaning': 'NCIT:C49502', 'annotations': {'reason': 'Treatment not effective'}},
216
+ "DISCONTINUED_PHYSICIAN_DECISION": {'description': 'Stopped by physician decision', 'meaning': 'NCIT:C49502'},
217
+ "DISCONTINUED_PATIENT_DECISION": {'description': 'Stopped by patient choice', 'meaning': 'NCIT:C48271'},
218
+ "UNKNOWN_STATUS": {'description': 'Treatment status unknown', 'meaning': 'NCIT:C17998'},
219
+ }
220
+
221
+ class DrugResponseEnum(RichEnum):
222
+ """
223
+ Response categories for drug treatment outcomes
224
+ """
225
+ # Enum members
226
+ FAVORABLE = "FAVORABLE"
227
+ UNFAVORABLE = "UNFAVORABLE"
228
+ RESPONSIVE = "RESPONSIVE"
229
+ RESISTANT = "RESISTANT"
230
+ PARTIALLY_RESPONSIVE = "PARTIALLY_RESPONSIVE"
231
+ UNKNOWN_RESPONSE = "UNKNOWN_RESPONSE"
232
+
233
+ # Set metadata after class creation
234
+ DrugResponseEnum._metadata = {
235
+ "FAVORABLE": {'description': 'Favorable response to treatment', 'meaning': 'NCIT:C123584', 'annotations': {'note': 'Better than expected response'}},
236
+ "UNFAVORABLE": {'description': 'Unfavorable response to treatment', 'meaning': 'NCIT:C102561', 'annotations': {'note': 'Worse than expected response'}},
237
+ "RESPONSIVE": {'description': 'Responsive to treatment', 'meaning': 'NCIT:C165206', 'annotations': {'note': 'Shows expected response'}},
238
+ "RESISTANT": {'description': 'Resistant to treatment', 'meaning': 'NCIT:C16523', 'annotations': {'note': 'No response to treatment'}},
239
+ "PARTIALLY_RESPONSIVE": {'description': 'Partial response to treatment', 'meaning': 'NCIT:C18213', 'annotations': {'note': 'Some but not complete response'}},
240
+ "UNKNOWN_RESPONSE": {'description': 'Treatment response unknown', 'meaning': 'NCIT:C17998'},
241
+ }
242
+
243
+ __all__ = [
244
+ "KaryotypicSexEnum",
245
+ "PhenotypicSexEnum",
246
+ "AllelicStateEnum",
247
+ "LateralityEnum",
248
+ "OnsetTimingEnum",
249
+ "ACMGPathogenicityEnum",
250
+ "TherapeuticActionabilityEnum",
251
+ "InterpretationProgressEnum",
252
+ "RegimenStatusEnum",
253
+ "DrugResponseEnum",
254
+ ]