From 1e5480115292b546841a6a60f8c18ee2a8be8ab6 Mon Sep 17 00:00:00 2001 From: dragon-ai-agent Date: Mon, 22 Dec 2025 18:14:40 -0800 Subject: [PATCH] Add bdchm-derived value sets for clinical, data use, and SDOH domains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New schema files: - social/sdoh.yaml: GravitySdohDomainEnum (18 SDOH domains), EducationalAttainmentEnum - clinical/provenance.yaml: ConditionProvenanceEnum, VisitProvenanceEnum, DrugExposureProvenanceEnum, StatusEnum, HistoricalStatusEnum, ResearchProjectTypeEnum - data/data_use.yaml: DataUsePermissionEnum, DataUseModifierEnum (GA4GH DUO) Updated: - bio/specimen_processing.yaml: Added AnalyteTypeEnum, SourceMaterialTypeEnum, and additional specimen processing enums Source: https://github.com/RTIInternational/NHLBI-BDC-DMC-HM 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cache/ncit/terms.csv | 30 + cache/obi/terms.csv | 2 + docs/schema/valuesets.yaml | 1370 ++++++++++++++++- mkdocs.yml | 9 +- project/jsonschema/valuesets.schema.json | 348 +++++ src/valuesets/datamodel/valuesets.py | 608 ++++++++ src/valuesets/datamodel/valuesets_pydantic.py | 608 ++++++++ src/valuesets/enums/__init__.py | 23 +- .../enums/bio/specimen_processing.py | 258 +++- src/valuesets/enums/clinical/provenance.py | 190 +++ src/valuesets/enums/data/data_use.py | 58 + src/valuesets/enums/social/sdoh.py | 92 ++ .../schema/bio/specimen_processing.yaml | 346 ++++- src/valuesets/schema/clinical/provenance.yaml | 245 +++ src/valuesets/schema/data/data_use.yaml | 122 ++ src/valuesets/schema/social/sdoh.yaml | 173 +++ src/valuesets/schema/valuesets.yaml | 4 + 17 files changed, 4438 insertions(+), 48 deletions(-) create mode 100644 src/valuesets/enums/clinical/provenance.py create mode 100644 src/valuesets/enums/data/data_use.py create mode 100644 src/valuesets/enums/social/sdoh.py create mode 100644 src/valuesets/schema/clinical/provenance.yaml create mode 100644 src/valuesets/schema/data/data_use.yaml create mode 100644 src/valuesets/schema/social/sdoh.yaml diff --git a/cache/ncit/terms.csv b/cache/ncit/terms.csv index c97c8066..6a8a37c4 100644 --- a/cache/ncit/terms.csv +++ b/cache/ncit/terms.csv @@ -385,3 +385,33 @@ NCIT:C176153,SF36 v1.0 Standard - General Health Norm-Based Score,2025-12-19T12: NCIT:C127861,Combs Prognostic Index,2025-12-19T12:48:59.840147 NCIT:C71164,Animal Model,2025-12-19T12:48:59.840748 NCIT:C14341,Primate Retrovirus,2025-12-19T12:48:59.841504 +NCIT:C171542,Food Insecurity,2025-12-22T08:13:42.039429 +NCIT:C25195,Pressure,2025-12-22T08:13:42.042210 +NCIT:C17751,Disease-Free Survival,2025-12-22T08:13:54.998395 +NCIT:C78543,Peritoneal Necrotic Lesion,2025-12-22T08:13:54.999800 +NCIT:C50698,Phototoxicity,2025-12-22T08:13:59.348641 +NCIT:C17610,Blood Sample,2025-12-22T08:13:59.349788 +NCIT:C67145,Current Every Day Smoker,2025-12-22T08:13:59.350573 +NCIT:C71344,Associate of Science,2025-12-22T08:13:59.351374 +NCIT:C179143,Employment Status,2025-12-22T08:15:18.866903 +NCIT:C35041,Stress,2025-12-22T08:15:18.871834 +NCIT:C157356,Health Insurance,2025-12-22T08:15:18.882023 +NCIT:C76123,Not High School Graduate,2025-12-22T08:15:18.886926 +NCIT:C67136,High School Completion,2025-12-22T08:15:18.888026 +NCIT:C198567,DNA Specimen,2025-12-22T08:16:54.241776 +NCIT:C198568,RNA Specimen,2025-12-22T08:16:54.242433 +NCIT:C128274,Circulating Cell-Free DNA,2025-12-22T08:16:54.243666 +NCIT:C3261,Metastatic Neoplasm,2025-12-22T08:16:54.245150 +NCIT:C4798,Recurrent Neoplasm,2025-12-22T08:16:54.246249 +NCIT:C3331,Pleural Effusion,2025-12-22T08:16:54.247076 +NCIT:C12530,Granulocyte,2025-12-22T08:16:54.248167 +NCIT:C25219,Fixation,2025-12-22T08:16:54.250633 +NCIT:C17246,Uzbekistan,2025-12-22T08:16:54.252030 +NCIT:C25208,Weight,2025-12-22T08:16:54.253310 +NCIT:C25335,Volume,2025-12-22T08:16:54.254496 +NCIT:C41185,Concentration,2025-12-22T08:16:54.255973 +NCIT:C28150,Freeze-Drying,2025-12-22T08:19:09.517425 +NCIT:C8509,Primary Neoplasm,2025-12-22T08:19:09.518825 +NCIT:C122534,Other Architecture and Engineering Workers,2025-12-22T08:19:09.519891 +NCIT:C116701,Spectrophotometry,2025-12-22T08:19:09.525228 +NCIT:C122936,Patient Derived Xenograft,2025-12-22T08:19:25.480593 diff --git a/cache/obi/terms.csv b/cache/obi/terms.csv index d6e4ec6e..fe7a884b 100644 --- a/cache/obi/terms.csv +++ b/cache/obi/terms.csv @@ -74,3 +74,5 @@ OBI:0001183,epitope protection from tumor challenge experiment,2025-12-19T11:06: OBI:0002452,assay measuring epitope specific interferon-alpha production by T cells,2025-12-19T11:06:30.220982 OBI:0001186,epitope protection from infectious challenge experiment based on pathogen burden,2025-12-19T11:06:30.221431 OBI:0001937,has specified numeric value,2025-12-19T11:06:30.227493 +OBI:0000659,specimen collection process,2025-12-22T08:16:54.248591 +OBI:0000094,material processing,2025-12-22T08:16:54.249148 diff --git a/docs/schema/valuesets.yaml b/docs/schema/valuesets.yaml index 562fc617..d34cfc35 100644 --- a/docs/schema/valuesets.yaml +++ b/docs/schema/valuesets.yaml @@ -46,6 +46,10 @@ imports: - industry/extractive_industry - statistics/prediction_outcomes - social/person_status +- social/sdoh +- bio/specimen_processing +- clinical/provenance +- data/data_use - computing/mime_types - physics/states_of_matter - environmental_health/exposures @@ -20014,6 +20018,1303 @@ enums: description: The vital status is not known meaning: NCIT:C17998 title: Unknown + GravitySdohDomainEnum: + name: GravitySdohDomainEnum + definition_uri: https://w3id.org/valuesets/GravitySdohDomainEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Social Determinants of Health domains as defined by the Gravity Project. + These domains represent key areas of social need that impact health outcomes. + title: Gravity Project SDOH Domains + from_schema: https://w3id.org/valuesets/social/sdoh + see_also: + - https://thegravityproject.net/ + - https://hl7.org/fhir/us/sdoh-clinicalcare/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + FOOD_INSECURITY: + text: FOOD_INSECURITY + description: Limited or uncertain availability of nutritionally adequate and + safe foods + meaning: NCIT:C171542 + aliases: + - Food Insecurity + HOUSING_INSTABILITY: + text: HOUSING_INSTABILITY + description: Challenges with housing including trouble paying rent or frequent + moves + meaning: SNOMED:1156191002 + aliases: + - Housing instability + HOMELESSNESS: + text: HOMELESSNESS + description: The condition of lacking stable, safe, and adequate housing + meaning: SNOMED:32911000 + aliases: + - Homeless + INADEQUATE_HOUSING: + text: INADEQUATE_HOUSING + description: Housing that does not meet basic standards for safety and habitability + meaning: SNOMED:105531004 + aliases: + - Unsatisfactory housing conditions + TRANSPORTATION_INSECURITY: + text: TRANSPORTATION_INSECURITY + description: Lack of reliable, safe, and affordable transportation + FINANCIAL_INSECURITY: + text: FINANCIAL_INSECURITY + description: Inability to meet basic financial needs and obligations + MATERIAL_HARDSHIP: + text: MATERIAL_HARDSHIP + description: Difficulty affording basic necessities such as food, housing, + and utilities + EMPLOYMENT_STATUS: + text: EMPLOYMENT_STATUS + description: Current employment situation and stability + meaning: NCIT:C179143 + aliases: + - Employment Status + EDUCATIONAL_ATTAINMENT: + text: EDUCATIONAL_ATTAINMENT + description: Highest level of education completed + meaning: EFO:0011015 + aliases: + - educational attainment + VETERAN_STATUS: + text: VETERAN_STATUS + description: Military veteran status and related needs + STRESS: + text: STRESS + description: Psychological stress affecting health and wellbeing + meaning: NCIT:C35041 + aliases: + - Stress + SOCIAL_CONNECTION: + text: SOCIAL_CONNECTION + description: Quality and quantity of social relationships and support networks + INTIMATE_PARTNER_VIOLENCE: + text: INTIMATE_PARTNER_VIOLENCE + description: Abuse occurring between people in a close relationship + meaning: MESH:D000066511 + aliases: + - IPV + - domestic violence + - Intimate Partner Violence + ELDER_ABUSE: + text: ELDER_ABUSE + description: Abuse, neglect, or exploitation of older adults + meaning: MESH:D004552 + aliases: + - Elder Abuse + HEALTH_LITERACY: + text: HEALTH_LITERACY + description: Ability to obtain, process, and understand health information + meaning: MESH:D057220 + aliases: + - Health Literacy + MEDICAL_COST_BURDEN: + text: MEDICAL_COST_BURDEN + description: Financial strain from healthcare costs + HEALTH_INSURANCE_COVERAGE_STATUS: + text: HEALTH_INSURANCE_COVERAGE_STATUS + description: Status of health insurance coverage + meaning: NCIT:C157356 + aliases: + - Health Insurance + DIGITAL_LITERACY: + text: DIGITAL_LITERACY + description: Ability to use digital technology and access digital resources + DIGITAL_ACCESS: + text: DIGITAL_ACCESS + description: Access to internet and digital devices + UTILITY_INSECURITY: + text: UTILITY_INSECURITY + description: Difficulty paying for utilities such as electricity, gas, or + water + EducationalAttainmentEnum: + name: EducationalAttainmentEnum + definition_uri: https://w3id.org/valuesets/EducationalAttainmentEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Levels of educational attainment for survey and demographic purposes. + Based on standard US educational categories. + title: Educational Attainment Levels + from_schema: https://w3id.org/valuesets/social/sdoh + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + EIGHTH_GRADE_OR_LESS: + text: EIGHTH_GRADE_OR_LESS + description: Completed 8th grade or less + aliases: + - 8TH_GRADE_OR_LESS + - elementary + HIGH_SCHOOL_NO_DIPLOMA: + text: HIGH_SCHOOL_NO_DIPLOMA + description: Some high school but no diploma + meaning: NCIT:C76123 + aliases: + - some high school + - Not High School Graduate + HIGH_SCHOOL_GRADUATE_GED: + text: HIGH_SCHOOL_GRADUATE_GED + description: High school graduate or GED equivalent + meaning: NCIT:C67136 + aliases: + - high school diploma + - GED + - High School Completion + SOME_COLLEGE_NO_DEGREE: + text: SOME_COLLEGE_NO_DEGREE + description: Some college or technical school but no degree + aliases: + - SOME_COLLEGE_OR_TECH_NO_DEGREE + ASSOCIATE_DEGREE: + text: ASSOCIATE_DEGREE + description: Associate degree (2-year college) + meaning: NCIT:C71344 + aliases: + - Associate of Science + BACHELORS_DEGREE: + text: BACHELORS_DEGREE + description: Bachelor's degree (4-year college) + meaning: NCIT:C71345 + aliases: + - COLLEGE_OR_TECH_WITH_DEGREE + - Bachelor of Arts + MASTERS_DEGREE: + text: MASTERS_DEGREE + description: Master's degree + meaning: NCIT:C39452 + aliases: + - Master of Science + DOCTORAL_DEGREE: + text: DOCTORAL_DEGREE + description: Doctoral or professional degree (PhD, MD, JD, etc.) + meaning: NCIT:C39387 + aliases: + - MASTERS_OR_DOCTORAL_DEGREE + - Doctor of Philosophy + SpecimenPreparationMethodEnum: + name: SpecimenPreparationMethodEnum + definition_uri: https://w3id.org/valuesets/SpecimenPreparationMethodEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Methods for preparing and preserving biological specimens for analysis. + Sourced from NF-OSI metadata dictionary and Human Cell Atlas standards. + title: Specimen Preparation Methods + from_schema: https://w3id.org/valuesets/bio/specimen_processing + see_also: + - https://nf-osi.github.io/nf-metadata-dictionary/ + - https://data.humancellatlas.org/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + FFPE: + text: FFPE + description: Formalin-fixed, paraffin-embedded tissue preservation + meaning: NCIT:C143028 + annotations: + fixative: + tag: fixative + value: formalin + embedding: + tag: embedding + value: paraffin + aliases: + - Formalin-fixed paraffin-embedded + - formalin-fixed, paraffin-embedded + - FFPE Tissue Block + FORMALIN_FIXED: + text: FORMALIN_FIXED + description: Tissue fixed with formalin without paraffin embedding + annotations: + fixative: + tag: fixative + value: formalin + aliases: + - formalin-fixed + CRYOPRESERVED: + text: CRYOPRESERVED + description: Specimen preserved by freezing with cryoprotectant + meaning: NCIT:C16475 + annotations: + temperature: + tag: temperature + value: ultra-low + aliases: + - Cryopreserved + - Cryopreservation + VIABLY_FROZEN: + text: VIABLY_FROZEN + description: Specimen frozen while maintaining cell viability + annotations: + viability: + tag: viability + value: preserved + aliases: + - Viably frozen + FLASH_FROZEN: + text: FLASH_FROZEN + description: Rapid freezing to preserve molecular integrity + annotations: + method: + tag: method + value: rapid freezing + aliases: + - Flash frozen + - snap frozen + FRESH_COLLECTED: + text: FRESH_COLLECTED + description: Freshly collected specimen without preservation + annotations: + preservation: + tag: preservation + value: none + aliases: + - Fresh collected + - fresh + OCT_EMBEDDED: + text: OCT_EMBEDDED + description: Tissue embedded in optimal cutting temperature compound + annotations: + embedding: + tag: embedding + value: OCT compound + purpose: + tag: purpose + value: cryosectioning + aliases: + - OCT + - OCT embedded + RNALATER: + text: RNALATER + description: Storage in reagent that stabilizes and protects cellular RNA + annotations: + purpose: + tag: purpose + value: RNA stabilization + manufacturer: + tag: manufacturer + value: Thermo Fisher + aliases: + - RNAlater + ETHANOL_PRESERVED: + text: ETHANOL_PRESERVED + description: Specimen preserved in ethanol + annotations: + preservative: + tag: preservative + value: ethanol + aliases: + - ethanol + METHANOL_FIXED: + text: METHANOL_FIXED + description: Specimen fixed with methanol + annotations: + fixative: + tag: fixative + value: methanol + aliases: + - methanol + ACETONE_FIXED: + text: ACETONE_FIXED + description: Specimen fixed with acetone + annotations: + fixative: + tag: fixative + value: acetone + PAXgene_FIXED: + text: PAXgene_FIXED + description: Tissue fixed using PAXgene tissue system + annotations: + purpose: + tag: purpose + value: RNA and DNA preservation + DRIED: + text: DRIED + description: Air-dried or desiccated specimen + aliases: + - air-dried + LYOPHILIZED: + text: LYOPHILIZED + description: Freeze-dried specimen + meaning: NCIT:C28150 + aliases: + - freeze-dried + - lyophilization + - Freeze-Drying + TissuePreservationEnum: + name: TissuePreservationEnum + definition_uri: https://w3id.org/valuesets/TissuePreservationEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Broader categorization of tissue preservation approaches + title: Tissue Preservation Methods + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + FROZEN: + text: FROZEN + description: Tissue preserved by freezing + meaning: NCIT:C70717 + aliases: + - Frozen Specimen + FIXED: + text: FIXED + description: Tissue preserved by chemical fixation + meaning: NCIT:C25219 + aliases: + - Fixation + FRESH: + text: FRESH + description: Fresh unfixed tissue + EMBEDDED: + text: EMBEDDED + description: Tissue embedded in medium (paraffin, OCT, etc.) + SpecimenCollectionMethodEnum: + name: SpecimenCollectionMethodEnum + definition_uri: https://w3id.org/valuesets/SpecimenCollectionMethodEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Methods for collecting biological specimens + title: Specimen Collection Methods + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + BIOPSY: + text: BIOPSY + description: Tissue sample obtained by biopsy + meaning: NCIT:C15189 + aliases: + - Biopsy Procedure + SURGICAL_RESECTION: + text: SURGICAL_RESECTION + description: Tissue obtained during surgical resection + meaning: NCIT:C15329 + aliases: + - Surgical Procedure + AUTOPSY: + text: AUTOPSY + description: Specimen obtained at autopsy + meaning: NCIT:C25153 + aliases: + - Autopsy + FINE_NEEDLE_ASPIRATE: + text: FINE_NEEDLE_ASPIRATE + description: Sample obtained by fine needle aspiration + meaning: NCIT:C15361 + aliases: + - FNA + - Fine-Needle Aspiration + CORE_NEEDLE_BIOPSY: + text: CORE_NEEDLE_BIOPSY + description: Sample obtained by core needle biopsy + meaning: NCIT:C15190 + aliases: + - Needle Biopsy + PUNCH_BIOPSY: + text: PUNCH_BIOPSY + description: Sample obtained by punch biopsy + SWAB: + text: SWAB + description: Sample collected by swabbing + VENIPUNCTURE: + text: VENIPUNCTURE + description: Blood sample obtained by venipuncture + meaning: NCIT:C28221 + aliases: + - Phlebotomy + LUMBAR_PUNCTURE: + text: LUMBAR_PUNCTURE + description: CSF sample obtained by lumbar puncture + meaning: NCIT:C15327 + aliases: + - spinal tap + - Lumbar Puncture + LAVAGE: + text: LAVAGE + description: Sample obtained by lavage (washing) + SpecimenTypeEnum: + name: SpecimenTypeEnum + definition_uri: https://w3id.org/valuesets/SpecimenTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of biological specimens used in research + title: Biological Specimen Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + see_also: + - https://nf-osi.github.io/nf-metadata-dictionary/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + TISSUE: + text: TISSUE + description: Solid tissue specimen + meaning: NCIT:C12801 + aliases: + - Tissue + BLOOD: + text: BLOOD + description: Whole blood specimen + meaning: NCIT:C12434 + aliases: + - Blood + PLASMA: + text: PLASMA + description: Blood plasma specimen + meaning: NCIT:C13356 + aliases: + - Plasma + SERUM: + text: SERUM + description: Blood serum specimen + meaning: NCIT:C13325 + aliases: + - Serum + BUFFY_COAT: + text: BUFFY_COAT + description: Leukocyte-enriched blood fraction + meaning: NCIT:C84507 + aliases: + - Buffy Coat + URINE: + text: URINE + description: Urine specimen + meaning: NCIT:C13283 + aliases: + - Urine + SALIVA: + text: SALIVA + description: Saliva specimen + meaning: NCIT:C13275 + aliases: + - Saliva + STOOL: + text: STOOL + description: Stool/fecal specimen + meaning: NCIT:C13234 + aliases: + - Feces + - fecal + CSF: + text: CSF + description: Cerebrospinal fluid specimen + meaning: NCIT:C12692 + aliases: + - cerebrospinal fluid + - Cerebrospinal Fluid + SWEAT: + text: SWEAT + description: Sweat specimen + MUCUS: + text: MUCUS + description: Mucus specimen + BONE_MARROW: + text: BONE_MARROW + description: Bone marrow specimen + meaning: NCIT:C12431 + aliases: + - Bone Marrow + PRIMARY_TUMOR: + text: PRIMARY_TUMOR + description: Primary tumor tissue specimen + meaning: NCIT:C8509 + aliases: + - Primary Neoplasm + METASTATIC_TUMOR: + text: METASTATIC_TUMOR + description: Metastatic tumor tissue specimen + meaning: NCIT:C3261 + aliases: + - Metastatic Neoplasm + TUMOR_ADJACENT_NORMAL: + text: TUMOR_ADJACENT_NORMAL + description: Normal tissue adjacent to tumor + meaning: NCIT:C164032 + aliases: + - Tumor-Adjacent Normal Specimen + ORGANOID: + text: ORGANOID + description: Organoid specimen + meaning: NCIT:C172259 + aliases: + - Organoid + SPHEROID: + text: SPHEROID + description: Cell spheroid specimen + MICROTISSUE: + text: MICROTISSUE + description: Engineered microtissue specimen + PDX_TISSUE: + text: PDX_TISSUE + description: Patient-derived xenograft tissue + meaning: NCIT:C122936 + aliases: + - PDX tissue + - Patient Derived Xenograft + CDX_TISSUE: + text: CDX_TISSUE + description: Cell line-derived xenograft tissue + aliases: + - CDX tissue + AnalyteTypeEnum: + name: AnalyteTypeEnum + definition_uri: https://w3id.org/valuesets/AnalyteTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of analytes that can be extracted from biological specimens + for molecular analysis. + title: Analyte Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + DNA: + text: DNA + description: Deoxyribonucleic acid + meaning: NCIT:C198567 + aliases: + - DNA Specimen + RNA: + text: RNA + description: Ribonucleic acid + meaning: NCIT:C198568 + aliases: + - RNA Specimen + TOTAL_RNA: + text: TOTAL_RNA + description: Total RNA including all RNA species + FFPE_DNA: + text: FFPE_DNA + description: DNA extracted from formalin-fixed paraffin-embedded tissue + aliases: + - Formalin-Fixed Paraffin-Embedded DNA + FFPE_RNA: + text: FFPE_RNA + description: RNA extracted from formalin-fixed paraffin-embedded tissue + aliases: + - Formalin-Fixed Paraffin-Embedded RNA + cfDNA: + text: cfDNA + description: Cell-free DNA found in blood plasma + meaning: NCIT:C128274 + aliases: + - Circulating Cell-Free DNA + - cell-free DNA + PROTEIN: + text: PROTEIN + description: Protein analyte + meaning: NCIT:C17021 + aliases: + - Protein + NUCLEI_RNA: + text: NUCLEI_RNA + description: RNA isolated from cell nuclei + REPLI_G_DNA: + text: REPLI_G_DNA + description: Whole genome amplified DNA using Repli-G technology + aliases: + - Repli-G (Qiagen) DNA + REPLI_G_X_DNA: + text: REPLI_G_X_DNA + description: Whole genome amplified DNA using Repli-G X technology + aliases: + - Repli-G X (Qiagen) DNA + REPLI_G_POOLED_DNA: + text: REPLI_G_POOLED_DNA + description: Pooled whole genome amplified DNA using Repli-G + aliases: + - Repli-G Pooled (Qiagen) DNA + GENOMEPLEX_DNA: + text: GENOMEPLEX_DNA + description: Whole genome amplified DNA using GenomePlex technology + aliases: + - GenomePlex (Rubicon) Amplified DNA + EBV_IMMORTALIZED: + text: EBV_IMMORTALIZED + description: DNA/cells from EBV immortalized cell lines + aliases: + - EBV Immortalized Normal + SourceMaterialTypeEnum: + name: SourceMaterialTypeEnum + definition_uri: https://w3id.org/valuesets/SourceMaterialTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of source materials from which specimens are derived, particularly + relevant for cancer and tissue banking research. + title: Source Material Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + PRIMARY_TUMOR: + text: PRIMARY_TUMOR + description: Primary tumor tissue + meaning: NCIT:C8509 + aliases: + - Primary Neoplasm + METASTATIC: + text: METASTATIC + description: Metastatic tumor tissue + meaning: NCIT:C3261 + aliases: + - Metastatic Neoplasm + RECURRENT_TUMOR: + text: RECURRENT_TUMOR + description: Recurrent tumor tissue + meaning: NCIT:C4798 + aliases: + - Recurrent Neoplasm + BLOOD_DERIVED_NORMAL: + text: BLOOD_DERIVED_NORMAL + description: Normal cells derived from blood + BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD: + text: BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD + description: Cancer cells from peripheral blood + BLOOD_DERIVED_CANCER_BONE_MARROW: + text: BLOOD_DERIVED_CANCER_BONE_MARROW + description: Cancer cells from bone marrow + BONE_MARROW_NORMAL: + text: BONE_MARROW_NORMAL + description: Normal bone marrow cells + SOLID_TISSUE_NORMAL: + text: SOLID_TISSUE_NORMAL + description: Normal solid tissue + BUCCAL_CELL_NORMAL: + text: BUCCAL_CELL_NORMAL + description: Normal buccal (cheek) cells + NORMAL_ADJACENT_TISSUE: + text: NORMAL_ADJACENT_TISSUE + description: Normal tissue adjacent to tumor + meaning: NCIT:C164032 + aliases: + - Tumor-Adjacent Normal Specimen + CELL_LINES: + text: CELL_LINES + description: Established cell lines + meaning: NCIT:C16403 + aliases: + - Cell Line + PRIMARY_XENOGRAFT_TISSUE: + text: PRIMARY_XENOGRAFT_TISSUE + description: Tissue from primary xenograft + XENOGRAFT_TISSUE: + text: XENOGRAFT_TISSUE + description: Tissue derived from xenograft models + NEXT_GENERATION_CANCER_MODEL: + text: NEXT_GENERATION_CANCER_MODEL + description: Tissue from next-generation cancer models + PLEURAL_EFFUSION: + text: PLEURAL_EFFUSION + description: Fluid from pleural effusion + meaning: NCIT:C3331 + aliases: + - Pleural Effusion + SALIVA: + text: SALIVA + description: Saliva specimen + meaning: NCIT:C13275 + aliases: + - Saliva + GRANULOCYTES: + text: GRANULOCYTES + description: Granulocyte cells + meaning: NCIT:C12530 + aliases: + - Granulocyte + EBV_IMMORTALIZED_NORMAL: + text: EBV_IMMORTALIZED_NORMAL + description: EBV immortalized normal cells + CONTROL_ANALYTE: + text: CONTROL_ANALYTE + description: Control analyte material + FFPE_SCROLLS: + text: FFPE_SCROLLS + description: FFPE tissue scrolls + FFPE_RECURRENT: + text: FFPE_RECURRENT + description: FFPE tissue from recurrent tumor + NOT_REPORTED: + text: NOT_REPORTED + description: Source material type not reported + UNKNOWN: + text: UNKNOWN + description: Unknown source material type + meaning: NCIT:C17998 + aliases: + - Unknown + SpecimenCreationActivityTypeEnum: + name: SpecimenCreationActivityTypeEnum + definition_uri: https://w3id.org/valuesets/SpecimenCreationActivityTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: High-level types of activities through which specimens are generated, + either by collection from source or derivation from existing specimens. + title: Specimen Creation Activity Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + COLLECTION_FROM_SOURCE: + text: COLLECTION_FROM_SOURCE + description: Activity that collects an initial sample directly from a subject + or source + meaning: OBI:0000659 + aliases: + - specimen collection process + DERIVATION_FROM_SPECIMEN: + text: DERIVATION_FROM_SPECIMEN + description: Activity that derives a new specimen from an existing one + meaning: OBI:0000094 + aliases: + - material processing + SpecimenProcessingActivityTypeEnum: + name: SpecimenProcessingActivityTypeEnum + definition_uri: https://w3id.org/valuesets/SpecimenProcessingActivityTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: High-level types of specimen processing activities + title: Specimen Processing Activity Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + FIXATION: + text: FIXATION + description: Chemical preservation to maintain structural and molecular features + meaning: NCIT:C25219 + aliases: + - Fixation + FREEZING: + text: FREEZING + description: Processing activity that freezes a specimen + meaning: NCIT:C70717 + aliases: + - Frozen Specimen + MOUNTING: + text: MOUNTING + description: Securing a specimen in place for examination + PRESERVATION: + text: PRESERVATION + description: Processing activity that preserves a specimen for storage + SpecimenQualityObservationTypeEnum: + name: SpecimenQualityObservationTypeEnum + definition_uri: https://w3id.org/valuesets/SpecimenQualityObservationTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of measurements that reflect specimen quality or suitability + for use + title: Specimen Quality Observation Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + A260_A280_RATIO: + text: A260_A280_RATIO + description: Ratio of absorbance at 260nm to 280nm wavelength for nucleic + acid purity + RIBOSOMAL_RNA_28S_16S_RATIO: + text: RIBOSOMAL_RNA_28S_16S_RATIO + description: Ratio of 28S to 16S ribosomal RNA for RNA integrity + SpecimenQualityObservationMethodEnum: + name: SpecimenQualityObservationMethodEnum + definition_uri: https://w3id.org/valuesets/SpecimenQualityObservationMethodEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Methods used for determining specimen quality + title: Specimen Quality Observation Methods + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + UV_SPEC: + text: UV_SPEC + description: UV-Vis spectrophotometry measuring absorbance across UV and visible + ranges + meaning: NCIT:C116701 + aliases: + - Spectrophotometry + PICO_GREEN: + text: PICO_GREEN + description: Fluorescent dye assay for quantifying double-stranded DNA + SpecimenQuantityObservationTypeEnum: + name: SpecimenQuantityObservationTypeEnum + definition_uri: https://w3id.org/valuesets/SpecimenQuantityObservationTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of quantity measurements for specimens + title: Specimen Quantity Observation Types + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + WEIGHT: + text: WEIGHT + description: Current weight of the specimen + meaning: NCIT:C25208 + aliases: + - Weight + VOLUME: + text: VOLUME + description: Current volume of the specimen + meaning: NCIT:C25335 + aliases: + - Volume + CONCENTRATION: + text: CONCENTRATION + description: Concentration of extracted analyte in specimen + meaning: NCIT:C41185 + aliases: + - Concentration + SectionLocationEnum: + name: SectionLocationEnum + definition_uri: https://w3id.org/valuesets/SectionLocationEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Location in a parent specimen from which a section was excised + title: Section Location + from_schema: https://w3id.org/valuesets/bio/specimen_processing + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + TOP: + text: TOP + description: The top portion of a specimen per orientation criteria + BOTTOM: + text: BOTTOM + description: The bottom portion of a specimen per orientation criteria + UNKNOWN: + text: UNKNOWN + description: Unknown location on a specimen + meaning: NCIT:C17998 + aliases: + - Unknown + ConditionProvenanceEnum: + name: ConditionProvenanceEnum + definition_uri: https://w3id.org/valuesets/ConditionProvenanceEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Sources of condition/diagnosis records indicating how the condition + was documented or determined. + title: Condition Provenance + from_schema: https://w3id.org/valuesets/clinical/provenance + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + EHR_BILLING_DIAGNOSIS: + text: EHR_BILLING_DIAGNOSIS + description: Diagnosis recorded for billing purposes in EHR + EHR_CHIEF_COMPLAINT: + text: EHR_CHIEF_COMPLAINT + description: Condition documented as chief complaint in EHR + EHR_ENCOUNTER_DIAGNOSIS: + text: EHR_ENCOUNTER_DIAGNOSIS + description: Diagnosis recorded during healthcare encounter + EHR_EPISODE_ENTRY: + text: EHR_EPISODE_ENTRY + description: Condition recorded as part of care episode + EHR_PROBLEM_LIST_ENTRY: + text: EHR_PROBLEM_LIST_ENTRY + description: Condition on patient problem list in EHR + FIRST_POSITION_CONDITION: + text: FIRST_POSITION_CONDITION + description: Primary diagnosis in first position on claim + NLP_DERIVED: + text: NLP_DERIVED + description: Condition derived through natural language processing + OBSERVATION_RECORDED_FROM_EHR: + text: OBSERVATION_RECORDED_FROM_EHR + description: Condition recorded as observation in EHR + PATIENT_SELF_REPORTED_CONDITION: + text: PATIENT_SELF_REPORTED_CONDITION + description: Condition reported by the patient + aliases: + - PATIENT_SELF-REPORTED_CONDITION + PRIMARY_CONDITION: + text: PRIMARY_CONDITION + description: Primary condition for an encounter or episode + REFERRAL_RECORD: + text: REFERRAL_RECORD + description: Condition documented in referral record + SECONDARY_CONDITION: + text: SECONDARY_CONDITION + description: Secondary or comorbid condition + TUMOR_REGISTRY: + text: TUMOR_REGISTRY + description: Condition from tumor registry + WORKING_DIAGNOSIS: + text: WORKING_DIAGNOSIS + description: Preliminary or working diagnosis + CLINICAL_DIAGNOSIS: + text: CLINICAL_DIAGNOSIS + description: Clinically confirmed diagnosis + VisitProvenanceEnum: + name: VisitProvenanceEnum + definition_uri: https://w3id.org/valuesets/VisitProvenanceEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Sources of healthcare visit/encounter records indicating the origin + of the visit documentation. + title: Visit Provenance + from_schema: https://w3id.org/valuesets/clinical/provenance + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + CASE_REPORT_FORM: + text: CASE_REPORT_FORM + description: Visit from clinical trial case report form + CLAIM: + text: CLAIM + description: Visit derived from insurance claim + EHR: + text: EHR + description: Visit from electronic health record + EHR_ENCOUNTER_RECORD: + text: EHR_ENCOUNTER_RECORD + description: Visit from EHR encounter documentation + EHR_ADMISSION_NOTE: + text: EHR_ADMISSION_NOTE + description: Visit from EHR admission note + EHR_DISCHARGE_RECORD: + text: EHR_DISCHARGE_RECORD + description: Visit from EHR discharge documentation + EHR_EMERGENCY_ROOM_NOTE: + text: EHR_EMERGENCY_ROOM_NOTE + description: Visit from EHR emergency room note + EHR_INPATIENT_NOTE: + text: EHR_INPATIENT_NOTE + description: Visit from EHR inpatient note + EHR_OUTPATIENT_NOTE: + text: EHR_OUTPATIENT_NOTE + description: Visit from EHR outpatient note + INPATIENT_CLAIM: + text: INPATIENT_CLAIM + description: Visit from inpatient insurance claim + OUTPATIENT_CLAIM: + text: OUTPATIENT_CLAIM + description: Visit from outpatient insurance claim + FACILITY_CLAIM: + text: FACILITY_CLAIM + description: Visit from facility insurance claim + PROFESSIONAL_CLAIM: + text: PROFESSIONAL_CLAIM + description: Visit from professional services claim + PHARMACY_CLAIM: + text: PHARMACY_CLAIM + description: Visit from pharmacy claim + LAB: + text: LAB + description: Visit from laboratory record + REGISTRY: + text: REGISTRY + description: Visit from disease or patient registry + SURVEY: + text: SURVEY + description: Visit from patient survey + PATIENT_SELF_REPORT: + text: PATIENT_SELF_REPORT + description: Visit reported by patient + aliases: + - PATIENT_SELF-REPORT + NLP: + text: NLP + description: Visit derived through natural language processing + HEALTH_INFORMATION_EXCHANGE_RECORD: + text: HEALTH_INFORMATION_EXCHANGE_RECORD + description: Visit from health information exchange + DrugExposureProvenanceEnum: + name: DrugExposureProvenanceEnum + definition_uri: https://w3id.org/valuesets/DrugExposureProvenanceEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Sources of drug exposure records indicating how the medication information + was documented. + title: Drug Exposure Provenance + from_schema: https://w3id.org/valuesets/clinical/provenance + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + RANDOMIZED_DRUG: + text: RANDOMIZED_DRUG + description: Drug from clinical trial randomization + aliases: + - RANDOMIZED DRUG + PATIENT_SELF_REPORTED_MEDICATION: + text: PATIENT_SELF_REPORTED_MEDICATION + description: Medication reported by patient + aliases: + - PATIENT SELF-REPORTED MEDICATION + NLP_DERIVED: + text: NLP_DERIVED + description: Drug exposure derived through NLP + aliases: + - NLP DERIVED + PRESCRIPTION_DISPENSED_IN_PHARMACY: + text: PRESCRIPTION_DISPENSED_IN_PHARMACY + description: Prescription dispensed at pharmacy + aliases: + - PRESCRIPTION DISPENSED IN PHARMACY + PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER: + text: PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER + description: Drug administered by physician from EHR order + aliases: + - PHYSICIAN ADMINISTERED DRUG (IDENTIFIED FROM EHR ORDER) + DISPENSED_IN_OUTPATIENT_OFFICE: + text: DISPENSED_IN_OUTPATIENT_OFFICE + description: Drug dispensed in outpatient office + aliases: + - DISPENSED IN OUTPATIENT OFFICE + PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER: + text: PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER + description: Prescription dispensed via mail order + aliases: + - PRESCRIPTION DISPENSED THROUGH MAIL ORDER + PRESCRIPTION_WRITTEN: + text: PRESCRIPTION_WRITTEN + description: Prescription written by provider + aliases: + - PRESCRIPTION WRITTEN + MEDICATION_LIST_ENTRY: + text: MEDICATION_LIST_ENTRY + description: Drug from medication list + aliases: + - MEDICATION LIST ENTRY + PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE: + text: PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE + description: Drug administered as procedure + aliases: + - PHYSICIAN ADMINISTERED DRUG (IDENTIFIED AS PROCEDURE) + INPATIENT_ADMINISTRATION: + text: INPATIENT_ADMINISTRATION + description: Drug administered during inpatient stay + aliases: + - INPATIENT ADMINISTRATION + StatusEnum: + name: StatusEnum + definition_uri: https://w3id.org/valuesets/StatusEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Values indicating whether a condition or observation is present, + absent, or of unknown status. + title: Presence Status + from_schema: https://w3id.org/valuesets/clinical/provenance + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + PRESENT: + text: PRESENT + description: Was present in the patient at observation time + ABSENT: + text: ABSENT + description: Was absent in the patient at observation time + UNKNOWN: + text: UNKNOWN + description: Status was unknown at observation time + HistoricalStatusEnum: + name: HistoricalStatusEnum + definition_uri: https://w3id.org/valuesets/HistoricalStatusEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Extended status values including historical presence of conditions + or observations. + title: Historical Status + from_schema: https://w3id.org/valuesets/clinical/provenance + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + PRESENT: + text: PRESENT + description: Currently present in the patient + ABSENT: + text: ABSENT + description: Currently absent in the patient + UNKNOWN: + text: UNKNOWN + description: Current status is unknown + HISTORICAL: + text: HISTORICAL + description: Was present in the patient historically but not currently + ResearchProjectTypeEnum: + name: ResearchProjectTypeEnum + definition_uri: https://w3id.org/valuesets/ResearchProjectTypeEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Types of research projects and studies + title: Research Project Types + from_schema: https://w3id.org/valuesets/clinical/provenance + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + CONSORTIUM: + text: CONSORTIUM + description: Multi-institutional research consortium + STUDY: + text: STUDY + description: Individual research study + DataUsePermissionEnum: + name: DataUsePermissionEnum + definition_uri: https://w3id.org/valuesets/DataUsePermissionEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Primary data use permissions from the GA4GH Data Use Ontology (DUO) + indicating what research purposes data can be used for. + title: Data Use Permissions + from_schema: https://w3id.org/valuesets/data/data_use + see_also: + - https://github.com/EBISPOT/DUO + - https://www.ga4gh.org/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + GRU: + text: GRU + description: General research use - allowed for any research purpose including + health/medical/biomedical, fundamental biology, population origins, statistical + methods development, and social-sciences research. + meaning: DUO:0000042 + aliases: + - general research use + HMB: + text: HMB + description: Health/medical/biomedical research only - does not include study + of population origins or ancestry. + meaning: DUO:0000006 + aliases: + - health or medical or biomedical research + DS: + text: DS + description: Disease-specific research - use allowed only for research related + to specified disease(s). Should be coupled with disease ontology term. + meaning: DUO:0000007 + aliases: + - disease specific research + NO_RESTRICTION: + text: NO_RESTRICTION + description: No restriction on use of the data. + meaning: DUO:0000004 + aliases: + - no restriction + DataUseModifierEnum: + name: DataUseModifierEnum + definition_uri: https://w3id.org/valuesets/DataUseModifierEnum + instantiates: + - valuesets_meta:ValueSetEnumDefinition + description: Additional conditions and modifiers for data use from the GA4GH Data + Use Ontology (DUO). + title: Data Use Modifiers + from_schema: https://w3id.org/valuesets/data/data_use + see_also: + - https://github.com/EBISPOT/DUO + - https://www.ga4gh.org/ + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + status: DRAFT + permissible_values: + NPUNCU: + text: NPUNCU + description: Not-for-profit use only - use limited to not-for-profit organizations + and non-commercial use. + meaning: DUO:0000018 + aliases: + - not for profit, non commercial use only + NPO: + text: NPO + description: Use limited to not-for-profit organizations only. + meaning: DUO:0000045 + aliases: + - not for profit organisation use only + NCU: + text: NCU + description: Non-commercial use only - data can be used by commercial organizations + for research but not commercial purposes. + meaning: DUO:0000046 + aliases: + - non-commercial use only + IRB: + text: IRB + description: Ethics approval required - requestor must provide documentation + of local IRB/ERB approval. + meaning: DUO:0000021 + aliases: + - ethics approval required + NRES: + text: NRES + description: No restriction on data use. + meaning: DUO:0000004 + aliases: + - no restriction + NMDS: + text: NMDS + description: No general methods research - does not allow methods development. + meaning: DUO:0000015 + aliases: + - no general methods research + RS: + text: RS + description: Research-specific restrictions apply. + meaning: DUO:0000012 + aliases: + - research specific restrictions MimeType: name: MimeType definition_uri: https://w3id.org/valuesets/MimeType @@ -65199,6 +66500,69 @@ slots: from_schema: https://w3id.org/linkml/valuesets/social/person_status slot_uri: valuesets:person_status range: PersonStatusEnum + sdoh_domain: + name: sdoh_domain + definition_uri: https://w3id.org/valuesets/sdoh_domain + description: The social determinants of health domain + from_schema: https://w3id.org/valuesets/social/sdoh + slot_uri: valuesets:sdoh_domain + range: GravitySdohDomainEnum + educational_attainment: + name: educational_attainment + definition_uri: https://w3id.org/valuesets/educational_attainment + description: Highest level of education attained + from_schema: https://w3id.org/valuesets/social/sdoh + slot_uri: valuesets:educational_attainment + range: EducationalAttainmentEnum + specimen_preparation_method: + name: specimen_preparation_method + definition_uri: https://w3id.org/valuesets/specimen_preparation_method + description: Method used to prepare/preserve specimen + from_schema: https://w3id.org/valuesets/bio/specimen_processing + slot_uri: valuesets:specimen_preparation_method + range: SpecimenPreparationMethodEnum + tissue_preservation: + name: tissue_preservation + definition_uri: https://w3id.org/valuesets/tissue_preservation + description: Tissue preservation method + from_schema: https://w3id.org/valuesets/bio/specimen_processing + slot_uri: valuesets:tissue_preservation + range: TissuePreservationEnum + condition_provenance: + name: condition_provenance + definition_uri: https://w3id.org/valuesets/condition_provenance + description: Source/provenance of a condition record + from_schema: https://w3id.org/valuesets/clinical/provenance + slot_uri: valuesets:condition_provenance + range: ConditionProvenanceEnum + visit_provenance: + name: visit_provenance + definition_uri: https://w3id.org/valuesets/visit_provenance + description: Source/provenance of a visit record + from_schema: https://w3id.org/valuesets/clinical/provenance + slot_uri: valuesets:visit_provenance + range: VisitProvenanceEnum + drug_provenance: + name: drug_provenance + definition_uri: https://w3id.org/valuesets/drug_provenance + description: Source/provenance of a drug exposure record + from_schema: https://w3id.org/valuesets/clinical/provenance + slot_uri: valuesets:drug_provenance + range: DrugExposureProvenanceEnum + data_use_permission: + name: data_use_permission + definition_uri: https://w3id.org/valuesets/data_use_permission + description: Permission level for data use + from_schema: https://w3id.org/valuesets/data/data_use + slot_uri: valuesets:data_use_permission + range: DataUsePermissionEnum + data_use_modifier: + name: data_use_modifier + definition_uri: https://w3id.org/valuesets/data_use_modifier + description: Additional conditions for data use + from_schema: https://w3id.org/valuesets/data/data_use + slot_uri: valuesets:data_use_modifier + range: DataUseModifierEnum mime: name: mime definition_uri: https://w3id.org/valuesets/mime @@ -67581,7 +68945,7 @@ classes: class_uri: valuesets:Fake metamodel_version: 1.7.0 source_file: valuesets.yaml -source_file_date: '2025-12-19T09:37:51' -source_file_size: 3401 -generation_date: '2025-12-19T12:49:51' +source_file_date: '2025-12-22T08:23:22' +source_file_size: 3479 +generation_date: '2025-12-22T08:41:54' diff --git a/mkdocs.yml b/mkdocs.yml index 3a87eec3..467bd074 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -27,11 +27,18 @@ watch: nav: - Home: index.md - Schema: elements/index.md - - About: about.md + - Governance: governance.md + - How-To Guides: + - how-to-guides/agentic-ide-support.md + - how-to-guides/dynamic-valuesets-validation.md + - how-to-guides/sync-uniprot-species.md + - Slot Generation: slot-generation.md - Slides: slides/index.md + - About: about.md exclude_docs: | /templates-linkml/ + /manuscript/ site_url: https://linkml.github.io/valuesets repo_url: https://github.com/linkml/valuesets diff --git a/project/jsonschema/valuesets.schema.json b/project/jsonschema/valuesets.schema.json index 9bfa4f04..c405f179 100644 --- a/project/jsonschema/valuesets.schema.json +++ b/project/jsonschema/valuesets.schema.json @@ -209,6 +209,26 @@ "title": "AminoAcidExtendedEnum", "type": "string" }, + "AnalyteTypeEnum": { + "description": "Types of analytes that can be extracted from biological specimens for molecular analysis.", + "enum": [ + "DNA", + "RNA", + "TOTAL_RNA", + "FFPE_DNA", + "FFPE_RNA", + "cfDNA", + "PROTEIN", + "NUCLEI_RNA", + "REPLI_G_DNA", + "REPLI_G_X_DNA", + "REPLI_G_POOLED_DNA", + "GENOMEPLEX_DNA", + "EBV_IMMORTALIZED" + ], + "title": "AnalyteTypeEnum", + "type": "string" + }, "AnalyticalControlType": { "description": "Types of control samples used in analytical chemistry", "enum": [ @@ -1706,6 +1726,28 @@ "title": "ConcentrationUnitEnum", "type": "string" }, + "ConditionProvenanceEnum": { + "description": "Sources of condition/diagnosis records indicating how the condition was documented or determined.", + "enum": [ + "EHR_BILLING_DIAGNOSIS", + "EHR_CHIEF_COMPLAINT", + "EHR_ENCOUNTER_DIAGNOSIS", + "EHR_EPISODE_ENTRY", + "EHR_PROBLEM_LIST_ENTRY", + "FIRST_POSITION_CONDITION", + "NLP_DERIVED", + "OBSERVATION_RECORDED_FROM_EHR", + "PATIENT_SELF_REPORTED_CONDITION", + "PRIMARY_CONDITION", + "REFERRAL_RECORD", + "SECONDARY_CONDITION", + "TUMOR_REGISTRY", + "WORKING_DIAGNOSIS", + "CLINICAL_DIAGNOSIS" + ], + "title": "ConditionProvenanceEnum", + "type": "string" + }, "ConfidenceLevelEnum": { "description": "Confidence levels for predictions and classifications", "enum": [ @@ -2419,6 +2461,31 @@ "title": "DataType", "type": "string" }, + "DataUseModifierEnum": { + "description": "Additional conditions and modifiers for data use from the GA4GH Data Use Ontology (DUO).", + "enum": [ + "NPUNCU", + "NPO", + "NCU", + "IRB", + "NRES", + "NMDS", + "RS" + ], + "title": "DataUseModifierEnum", + "type": "string" + }, + "DataUsePermissionEnum": { + "description": "Primary data use permissions from the GA4GH Data Use Ontology (DUO) indicating what research purposes data can be used for.", + "enum": [ + "GRU", + "HMB", + "DS", + "NO_RESTRICTION" + ], + "title": "DataUsePermissionEnum", + "type": "string" + }, "DatasetEncodingFormat": { "description": "Encoding formats (MIME types) commonly used for ML dataset files in Croissant.\nThese specify how data is serialized and stored.", "enum": [ @@ -2626,6 +2693,24 @@ "title": "Drug", "type": "string" }, + "DrugExposureProvenanceEnum": { + "description": "Sources of drug exposure records indicating how the medication information was documented.", + "enum": [ + "RANDOMIZED_DRUG", + "PATIENT_SELF_REPORTED_MEDICATION", + "NLP_DERIVED", + "PRESCRIPTION_DISPENSED_IN_PHARMACY", + "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER", + "DISPENSED_IN_OUTPATIENT_OFFICE", + "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER", + "PRESCRIPTION_WRITTEN", + "MEDICATION_LIST_ENTRY", + "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE", + "INPATIENT_ADMINISTRATION" + ], + "title": "DrugExposureProvenanceEnum", + "type": "string" + }, "DrugResponseEnum": { "description": "Response categories for drug treatment outcomes", "enum": [ @@ -2688,6 +2773,21 @@ "title": "EducationLevel", "type": "string" }, + "EducationalAttainmentEnum": { + "description": "Levels of educational attainment for survey and demographic purposes. Based on standard US educational categories.", + "enum": [ + "EIGHTH_GRADE_OR_LESS", + "HIGH_SCHOOL_NO_DIPLOMA", + "HIGH_SCHOOL_GRADUATE_GED", + "SOME_COLLEGE_NO_DEGREE", + "ASSOCIATE_DEGREE", + "BACHELORS_DEGREE", + "MASTERS_DEGREE", + "DOCTORAL_DEGREE" + ], + "title": "EducationalAttainmentEnum", + "type": "string" + }, "ElectricalConductivityEnum": { "description": "Classification of materials by electrical conductivity", "enum": [ @@ -3874,6 +3974,33 @@ "title": "GeothermalWellType", "type": "string" }, + "GravitySdohDomainEnum": { + "description": "Social Determinants of Health domains as defined by the Gravity Project. These domains represent key areas of social need that impact health outcomes.", + "enum": [ + "FOOD_INSECURITY", + "HOUSING_INSTABILITY", + "HOMELESSNESS", + "INADEQUATE_HOUSING", + "TRANSPORTATION_INSECURITY", + "FINANCIAL_INSECURITY", + "MATERIAL_HARDSHIP", + "EMPLOYMENT_STATUS", + "EDUCATIONAL_ATTAINMENT", + "VETERAN_STATUS", + "STRESS", + "SOCIAL_CONNECTION", + "INTIMATE_PARTNER_VIOLENCE", + "ELDER_ABUSE", + "HEALTH_LITERACY", + "MEDICAL_COST_BURDEN", + "HEALTH_INSURANCE_COVERAGE_STATUS", + "DIGITAL_LITERACY", + "DIGITAL_ACCESS", + "UTILITY_INSECURITY" + ], + "title": "GravitySdohDomainEnum", + "type": "string" + }, "GridType": { "description": "Types of electrical grid systems", "enum": [ @@ -4030,6 +4157,17 @@ "title": "HistoricalPeriod", "type": "string" }, + "HistoricalStatusEnum": { + "description": "Extended status values including historical presence of conditions or observations.", + "enum": [ + "PRESENT", + "ABSENT", + "UNKNOWN", + "HISTORICAL" + ], + "title": "HistoricalStatusEnum", + "type": "string" + }, "HousingStatus": { "description": "Housing status of patients per UDS Plus HRSA standards", "enum": [ @@ -8072,6 +8210,15 @@ "title": "ResearchField", "type": "string" }, + "ResearchProjectTypeEnum": { + "description": "Types of research projects and studies", + "enum": [ + "CONSORTIUM", + "STUDY" + ], + "title": "ResearchProjectTypeEnum", + "type": "string" + }, "ResearchReactorTypeEnum": { "description": "Types of research reactors", "enum": [ @@ -8229,6 +8376,16 @@ "title": "Season", "type": "string" }, + "SectionLocationEnum": { + "description": "Location in a parent specimen from which a section was excised", + "enum": [ + "TOP", + "BOTTOM", + "UNKNOWN" + ], + "title": "SectionLocationEnum", + "type": "string" + }, "SensorWhileDrillingFeature": { "description": "Measurement while drilling (MWD) and logging while drilling (LWD) features for orebody ML and geosteering applications.", "enum": [ @@ -8528,6 +8685,36 @@ "title": "SolventClassEnum", "type": "string" }, + "SourceMaterialTypeEnum": { + "description": "Types of source materials from which specimens are derived, particularly relevant for cancer and tissue banking research.", + "enum": [ + "PRIMARY_TUMOR", + "METASTATIC", + "RECURRENT_TUMOR", + "BLOOD_DERIVED_NORMAL", + "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD", + "BLOOD_DERIVED_CANCER_BONE_MARROW", + "BONE_MARROW_NORMAL", + "SOLID_TISSUE_NORMAL", + "BUCCAL_CELL_NORMAL", + "NORMAL_ADJACENT_TISSUE", + "CELL_LINES", + "PRIMARY_XENOGRAFT_TISSUE", + "XENOGRAFT_TISSUE", + "NEXT_GENERATION_CANCER_MODEL", + "PLEURAL_EFFUSION", + "SALIVA", + "GRANULOCYTES", + "EBV_IMMORTALIZED_NORMAL", + "CONTROL_ANALYTE", + "FFPE_SCROLLS", + "FFPE_RECURRENT", + "NOT_REPORTED", + "UNKNOWN" + ], + "title": "SourceMaterialTypeEnum", + "type": "string" + }, "SourcingStrategyEnum": { "description": "Sourcing strategy approaches", "enum": [ @@ -8575,6 +8762,119 @@ "title": "SpatialRelationship", "type": "string" }, + "SpecimenCollectionMethodEnum": { + "description": "Methods for collecting biological specimens", + "enum": [ + "BIOPSY", + "SURGICAL_RESECTION", + "AUTOPSY", + "FINE_NEEDLE_ASPIRATE", + "CORE_NEEDLE_BIOPSY", + "PUNCH_BIOPSY", + "SWAB", + "VENIPUNCTURE", + "LUMBAR_PUNCTURE", + "LAVAGE" + ], + "title": "SpecimenCollectionMethodEnum", + "type": "string" + }, + "SpecimenCreationActivityTypeEnum": { + "description": "High-level types of activities through which specimens are generated, either by collection from source or derivation from existing specimens.", + "enum": [ + "COLLECTION_FROM_SOURCE", + "DERIVATION_FROM_SPECIMEN" + ], + "title": "SpecimenCreationActivityTypeEnum", + "type": "string" + }, + "SpecimenPreparationMethodEnum": { + "description": "Methods for preparing and preserving biological specimens for analysis. Sourced from NF-OSI metadata dictionary and Human Cell Atlas standards.", + "enum": [ + "FFPE", + "FORMALIN_FIXED", + "CRYOPRESERVED", + "VIABLY_FROZEN", + "FLASH_FROZEN", + "FRESH_COLLECTED", + "OCT_EMBEDDED", + "RNALATER", + "ETHANOL_PRESERVED", + "METHANOL_FIXED", + "ACETONE_FIXED", + "PAXgene_FIXED", + "DRIED", + "LYOPHILIZED" + ], + "title": "SpecimenPreparationMethodEnum", + "type": "string" + }, + "SpecimenProcessingActivityTypeEnum": { + "description": "High-level types of specimen processing activities", + "enum": [ + "FIXATION", + "FREEZING", + "MOUNTING", + "PRESERVATION" + ], + "title": "SpecimenProcessingActivityTypeEnum", + "type": "string" + }, + "SpecimenQualityObservationMethodEnum": { + "description": "Methods used for determining specimen quality", + "enum": [ + "UV_SPEC", + "PICO_GREEN" + ], + "title": "SpecimenQualityObservationMethodEnum", + "type": "string" + }, + "SpecimenQualityObservationTypeEnum": { + "description": "Types of measurements that reflect specimen quality or suitability for use", + "enum": [ + "A260_A280_RATIO", + "RIBOSOMAL_RNA_28S_16S_RATIO" + ], + "title": "SpecimenQualityObservationTypeEnum", + "type": "string" + }, + "SpecimenQuantityObservationTypeEnum": { + "description": "Types of quantity measurements for specimens", + "enum": [ + "WEIGHT", + "VOLUME", + "CONCENTRATION" + ], + "title": "SpecimenQuantityObservationTypeEnum", + "type": "string" + }, + "SpecimenTypeEnum": { + "description": "Types of biological specimens used in research", + "enum": [ + "TISSUE", + "BLOOD", + "PLASMA", + "SERUM", + "BUFFY_COAT", + "URINE", + "SALIVA", + "STOOL", + "CSF", + "SWEAT", + "MUCUS", + "BONE_MARROW", + "PRIMARY_TUMOR", + "METASTATIC_TUMOR", + "TUMOR_ADJACENT_NORMAL", + "ORGANOID", + "SPHEROID", + "MICROTISSUE", + "PDX_TISSUE", + "CDX_TISSUE" + ], + "title": "SpecimenTypeEnum", + "type": "string" + }, "SpectroscopyMethodEnum": { "description": "Spectroscopy techniques for material analysis", "enum": [ @@ -8661,6 +8961,16 @@ "title": "StateOfMatterEnum", "type": "string" }, + "StatusEnum": { + "description": "Values indicating whether a condition or observation is present, absent, or of unknown status.", + "enum": [ + "PRESENT", + "ABSENT", + "UNKNOWN" + ], + "title": "StatusEnum", + "type": "string" + }, "StemCell": { "description": "Stem cell types and progenitor cells", "title": "StemCell", @@ -9079,6 +9389,17 @@ "title": "TimeZoneEnum", "type": "string" }, + "TissuePreservationEnum": { + "description": "Broader categorization of tissue preservation approaches", + "enum": [ + "FROZEN", + "FIXED", + "FRESH", + "EMBEDDED" + ], + "title": "TissuePreservationEnum", + "type": "string" + }, "ToxicityClassificationEnum": { "description": "Text toxicity classification labels", "enum": [ @@ -9798,6 +10119,33 @@ "title": "ViralGenomeTypeEnum", "type": "string" }, + "VisitProvenanceEnum": { + "description": "Sources of healthcare visit/encounter records indicating the origin of the visit documentation.", + "enum": [ + "CASE_REPORT_FORM", + "CLAIM", + "EHR", + "EHR_ENCOUNTER_RECORD", + "EHR_ADMISSION_NOTE", + "EHR_DISCHARGE_RECORD", + "EHR_EMERGENCY_ROOM_NOTE", + "EHR_INPATIENT_NOTE", + "EHR_OUTPATIENT_NOTE", + "INPATIENT_CLAIM", + "OUTPATIENT_CLAIM", + "FACILITY_CLAIM", + "PROFESSIONAL_CLAIM", + "PHARMACY_CLAIM", + "LAB", + "REGISTRY", + "SURVEY", + "PATIENT_SELF_REPORT", + "NLP", + "HEALTH_INFORMATION_EXCHANGE_RECORD" + ], + "title": "VisitProvenanceEnum", + "type": "string" + }, "VitalSignEnum": { "description": "", "enum": [ diff --git a/src/valuesets/datamodel/valuesets.py b/src/valuesets/datamodel/valuesets.py index d012f72c..bd82dd4e 100644 --- a/src/valuesets/datamodel/valuesets.py +++ b/src/valuesets/datamodel/valuesets.py @@ -5614,6 +5614,614 @@ class PersonStatusEnum(RichEnum): "UNKNOWN": {'description': 'The vital status is not known', 'meaning': 'NCIT:C17998'}, } +class GravitySdohDomainEnum(RichEnum): + """ + Social Determinants of Health domains as defined by the Gravity Project. These domains represent key areas of social need that impact health outcomes. + """ + # Enum members + FOOD_INSECURITY = "FOOD_INSECURITY" + HOUSING_INSTABILITY = "HOUSING_INSTABILITY" + HOMELESSNESS = "HOMELESSNESS" + INADEQUATE_HOUSING = "INADEQUATE_HOUSING" + TRANSPORTATION_INSECURITY = "TRANSPORTATION_INSECURITY" + FINANCIAL_INSECURITY = "FINANCIAL_INSECURITY" + MATERIAL_HARDSHIP = "MATERIAL_HARDSHIP" + EMPLOYMENT_STATUS = "EMPLOYMENT_STATUS" + EDUCATIONAL_ATTAINMENT = "EDUCATIONAL_ATTAINMENT" + VETERAN_STATUS = "VETERAN_STATUS" + STRESS = "STRESS" + SOCIAL_CONNECTION = "SOCIAL_CONNECTION" + INTIMATE_PARTNER_VIOLENCE = "INTIMATE_PARTNER_VIOLENCE" + ELDER_ABUSE = "ELDER_ABUSE" + HEALTH_LITERACY = "HEALTH_LITERACY" + MEDICAL_COST_BURDEN = "MEDICAL_COST_BURDEN" + HEALTH_INSURANCE_COVERAGE_STATUS = "HEALTH_INSURANCE_COVERAGE_STATUS" + DIGITAL_LITERACY = "DIGITAL_LITERACY" + DIGITAL_ACCESS = "DIGITAL_ACCESS" + UTILITY_INSECURITY = "UTILITY_INSECURITY" + +# Set metadata after class creation to avoid it becoming an enum member +GravitySdohDomainEnum._metadata = { + "FOOD_INSECURITY": {'description': 'Limited or uncertain availability of nutritionally adequate and safe foods', 'meaning': 'NCIT:C171542', 'aliases': ['Food Insecurity']}, + "HOUSING_INSTABILITY": {'description': 'Challenges with housing including trouble paying rent or frequent moves', 'meaning': 'SNOMED:1156191002', 'aliases': ['Housing instability']}, + "HOMELESSNESS": {'description': 'The condition of lacking stable, safe, and adequate housing', 'meaning': 'SNOMED:32911000', 'aliases': ['Homeless']}, + "INADEQUATE_HOUSING": {'description': 'Housing that does not meet basic standards for safety and habitability', 'meaning': 'SNOMED:105531004', 'aliases': ['Unsatisfactory housing conditions']}, + "TRANSPORTATION_INSECURITY": {'description': 'Lack of reliable, safe, and affordable transportation'}, + "FINANCIAL_INSECURITY": {'description': 'Inability to meet basic financial needs and obligations'}, + "MATERIAL_HARDSHIP": {'description': 'Difficulty affording basic necessities such as food, housing, and utilities'}, + "EMPLOYMENT_STATUS": {'description': 'Current employment situation and stability', 'meaning': 'NCIT:C179143', 'aliases': ['Employment Status']}, + "EDUCATIONAL_ATTAINMENT": {'description': 'Highest level of education completed', 'meaning': 'EFO:0011015', 'aliases': ['educational attainment']}, + "VETERAN_STATUS": {'description': 'Military veteran status and related needs'}, + "STRESS": {'description': 'Psychological stress affecting health and wellbeing', 'meaning': 'NCIT:C35041', 'aliases': ['Stress']}, + "SOCIAL_CONNECTION": {'description': 'Quality and quantity of social relationships and support networks'}, + "INTIMATE_PARTNER_VIOLENCE": {'description': 'Abuse occurring between people in a close relationship', 'meaning': 'MESH:D000066511', 'aliases': ['IPV', 'domestic violence', 'Intimate Partner Violence']}, + "ELDER_ABUSE": {'description': 'Abuse, neglect, or exploitation of older adults', 'meaning': 'MESH:D004552', 'aliases': ['Elder Abuse']}, + "HEALTH_LITERACY": {'description': 'Ability to obtain, process, and understand health information', 'meaning': 'MESH:D057220', 'aliases': ['Health Literacy']}, + "MEDICAL_COST_BURDEN": {'description': 'Financial strain from healthcare costs'}, + "HEALTH_INSURANCE_COVERAGE_STATUS": {'description': 'Status of health insurance coverage', 'meaning': 'NCIT:C157356', 'aliases': ['Health Insurance']}, + "DIGITAL_LITERACY": {'description': 'Ability to use digital technology and access digital resources'}, + "DIGITAL_ACCESS": {'description': 'Access to internet and digital devices'}, + "UTILITY_INSECURITY": {'description': 'Difficulty paying for utilities such as electricity, gas, or water'}, +} + +class EducationalAttainmentEnum(RichEnum): + """ + Levels of educational attainment for survey and demographic purposes. Based on standard US educational categories. + """ + # Enum members + EIGHTH_GRADE_OR_LESS = "EIGHTH_GRADE_OR_LESS" + HIGH_SCHOOL_NO_DIPLOMA = "HIGH_SCHOOL_NO_DIPLOMA" + HIGH_SCHOOL_GRADUATE_GED = "HIGH_SCHOOL_GRADUATE_GED" + SOME_COLLEGE_NO_DEGREE = "SOME_COLLEGE_NO_DEGREE" + ASSOCIATE_DEGREE = "ASSOCIATE_DEGREE" + BACHELORS_DEGREE = "BACHELORS_DEGREE" + MASTERS_DEGREE = "MASTERS_DEGREE" + DOCTORAL_DEGREE = "DOCTORAL_DEGREE" + +# Set metadata after class creation to avoid it becoming an enum member +EducationalAttainmentEnum._metadata = { + "EIGHTH_GRADE_OR_LESS": {'description': 'Completed 8th grade or less', 'aliases': ['8TH_GRADE_OR_LESS', 'elementary']}, + "HIGH_SCHOOL_NO_DIPLOMA": {'description': 'Some high school but no diploma', 'meaning': 'NCIT:C76123', 'aliases': ['some high school', 'Not High School Graduate']}, + "HIGH_SCHOOL_GRADUATE_GED": {'description': 'High school graduate or GED equivalent', 'meaning': 'NCIT:C67136', 'aliases': ['high school diploma', 'GED', 'High School Completion']}, + "SOME_COLLEGE_NO_DEGREE": {'description': 'Some college or technical school but no degree', 'aliases': ['SOME_COLLEGE_OR_TECH_NO_DEGREE']}, + "ASSOCIATE_DEGREE": {'description': 'Associate degree (2-year college)', 'meaning': 'NCIT:C71344', 'aliases': ['Associate of Science']}, + "BACHELORS_DEGREE": {'description': "Bachelor's degree (4-year college)", 'meaning': 'NCIT:C71345', 'aliases': ['COLLEGE_OR_TECH_WITH_DEGREE', 'Bachelor of Arts']}, + "MASTERS_DEGREE": {'description': "Master's degree", 'meaning': 'NCIT:C39452', 'aliases': ['Master of Science']}, + "DOCTORAL_DEGREE": {'description': 'Doctoral or professional degree (PhD, MD, JD, etc.)', 'meaning': 'NCIT:C39387', 'aliases': ['MASTERS_OR_DOCTORAL_DEGREE', 'Doctor of Philosophy']}, +} + +class SpecimenPreparationMethodEnum(RichEnum): + """ + Methods for preparing and preserving biological specimens for analysis. Sourced from NF-OSI metadata dictionary and Human Cell Atlas standards. + """ + # Enum members + FFPE = "FFPE" + FORMALIN_FIXED = "FORMALIN_FIXED" + CRYOPRESERVED = "CRYOPRESERVED" + VIABLY_FROZEN = "VIABLY_FROZEN" + FLASH_FROZEN = "FLASH_FROZEN" + FRESH_COLLECTED = "FRESH_COLLECTED" + OCT_EMBEDDED = "OCT_EMBEDDED" + RNALATER = "RNALATER" + ETHANOL_PRESERVED = "ETHANOL_PRESERVED" + METHANOL_FIXED = "METHANOL_FIXED" + ACETONE_FIXED = "ACETONE_FIXED" + PAXGENE_FIXED = "PAXgene_FIXED" + DRIED = "DRIED" + LYOPHILIZED = "LYOPHILIZED" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenPreparationMethodEnum._metadata = { + "FFPE": {'description': 'Formalin-fixed, paraffin-embedded tissue preservation', 'meaning': 'NCIT:C143028', 'annotations': {'fixative': 'formalin', 'embedding': 'paraffin'}, 'aliases': ['Formalin-fixed paraffin-embedded', 'formalin-fixed, paraffin-embedded', 'FFPE Tissue Block']}, + "FORMALIN_FIXED": {'description': 'Tissue fixed with formalin without paraffin embedding', 'annotations': {'fixative': 'formalin'}, 'aliases': ['formalin-fixed']}, + "CRYOPRESERVED": {'description': 'Specimen preserved by freezing with cryoprotectant', 'meaning': 'NCIT:C16475', 'annotations': {'temperature': 'ultra-low'}, 'aliases': ['Cryopreserved', 'Cryopreservation']}, + "VIABLY_FROZEN": {'description': 'Specimen frozen while maintaining cell viability', 'annotations': {'viability': 'preserved'}, 'aliases': ['Viably frozen']}, + "FLASH_FROZEN": {'description': 'Rapid freezing to preserve molecular integrity', 'annotations': {'method': 'rapid freezing'}, 'aliases': ['Flash frozen', 'snap frozen']}, + "FRESH_COLLECTED": {'description': 'Freshly collected specimen without preservation', 'annotations': {'preservation': 'none'}, 'aliases': ['Fresh collected', 'fresh']}, + "OCT_EMBEDDED": {'description': 'Tissue embedded in optimal cutting temperature compound', 'annotations': {'embedding': 'OCT compound', 'purpose': 'cryosectioning'}, 'aliases': ['OCT', 'OCT embedded']}, + "RNALATER": {'description': 'Storage in reagent that stabilizes and protects cellular RNA', 'annotations': {'purpose': 'RNA stabilization', 'manufacturer': 'Thermo Fisher'}, 'aliases': ['RNAlater']}, + "ETHANOL_PRESERVED": {'description': 'Specimen preserved in ethanol', 'annotations': {'preservative': 'ethanol'}, 'aliases': ['ethanol']}, + "METHANOL_FIXED": {'description': 'Specimen fixed with methanol', 'annotations': {'fixative': 'methanol'}, 'aliases': ['methanol']}, + "ACETONE_FIXED": {'description': 'Specimen fixed with acetone', 'annotations': {'fixative': 'acetone'}}, + "PAXGENE_FIXED": {'description': 'Tissue fixed using PAXgene tissue system', 'annotations': {'purpose': 'RNA and DNA preservation'}}, + "DRIED": {'description': 'Air-dried or desiccated specimen', 'aliases': ['air-dried']}, + "LYOPHILIZED": {'description': 'Freeze-dried specimen', 'meaning': 'NCIT:C28150', 'aliases': ['freeze-dried', 'lyophilization', 'Freeze-Drying']}, +} + +class TissuePreservationEnum(RichEnum): + """ + Broader categorization of tissue preservation approaches + """ + # Enum members + FROZEN = "FROZEN" + FIXED = "FIXED" + FRESH = "FRESH" + EMBEDDED = "EMBEDDED" + +# Set metadata after class creation to avoid it becoming an enum member +TissuePreservationEnum._metadata = { + "FROZEN": {'description': 'Tissue preserved by freezing', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "FIXED": {'description': 'Tissue preserved by chemical fixation', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, + "FRESH": {'description': 'Fresh unfixed tissue'}, + "EMBEDDED": {'description': 'Tissue embedded in medium (paraffin, OCT, etc.)'}, +} + +class SpecimenCollectionMethodEnum(RichEnum): + """ + Methods for collecting biological specimens + """ + # Enum members + BIOPSY = "BIOPSY" + SURGICAL_RESECTION = "SURGICAL_RESECTION" + AUTOPSY = "AUTOPSY" + FINE_NEEDLE_ASPIRATE = "FINE_NEEDLE_ASPIRATE" + CORE_NEEDLE_BIOPSY = "CORE_NEEDLE_BIOPSY" + PUNCH_BIOPSY = "PUNCH_BIOPSY" + SWAB = "SWAB" + VENIPUNCTURE = "VENIPUNCTURE" + LUMBAR_PUNCTURE = "LUMBAR_PUNCTURE" + LAVAGE = "LAVAGE" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenCollectionMethodEnum._metadata = { + "BIOPSY": {'description': 'Tissue sample obtained by biopsy', 'meaning': 'NCIT:C15189', 'aliases': ['Biopsy Procedure']}, + "SURGICAL_RESECTION": {'description': 'Tissue obtained during surgical resection', 'meaning': 'NCIT:C15329', 'aliases': ['Surgical Procedure']}, + "AUTOPSY": {'description': 'Specimen obtained at autopsy', 'meaning': 'NCIT:C25153', 'aliases': ['Autopsy']}, + "FINE_NEEDLE_ASPIRATE": {'description': 'Sample obtained by fine needle aspiration', 'meaning': 'NCIT:C15361', 'aliases': ['FNA', 'Fine-Needle Aspiration']}, + "CORE_NEEDLE_BIOPSY": {'description': 'Sample obtained by core needle biopsy', 'meaning': 'NCIT:C15190', 'aliases': ['Needle Biopsy']}, + "PUNCH_BIOPSY": {'description': 'Sample obtained by punch biopsy'}, + "SWAB": {'description': 'Sample collected by swabbing'}, + "VENIPUNCTURE": {'description': 'Blood sample obtained by venipuncture', 'meaning': 'NCIT:C28221', 'aliases': ['Phlebotomy']}, + "LUMBAR_PUNCTURE": {'description': 'CSF sample obtained by lumbar puncture', 'meaning': 'NCIT:C15327', 'aliases': ['spinal tap', 'Lumbar Puncture']}, + "LAVAGE": {'description': 'Sample obtained by lavage (washing)'}, +} + +class SpecimenTypeEnum(RichEnum): + """ + Types of biological specimens used in research + """ + # Enum members + TISSUE = "TISSUE" + BLOOD = "BLOOD" + PLASMA = "PLASMA" + SERUM = "SERUM" + BUFFY_COAT = "BUFFY_COAT" + URINE = "URINE" + SALIVA = "SALIVA" + STOOL = "STOOL" + CSF = "CSF" + SWEAT = "SWEAT" + MUCUS = "MUCUS" + BONE_MARROW = "BONE_MARROW" + PRIMARY_TUMOR = "PRIMARY_TUMOR" + METASTATIC_TUMOR = "METASTATIC_TUMOR" + TUMOR_ADJACENT_NORMAL = "TUMOR_ADJACENT_NORMAL" + ORGANOID = "ORGANOID" + SPHEROID = "SPHEROID" + MICROTISSUE = "MICROTISSUE" + PDX_TISSUE = "PDX_TISSUE" + CDX_TISSUE = "CDX_TISSUE" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenTypeEnum._metadata = { + "TISSUE": {'description': 'Solid tissue specimen', 'meaning': 'NCIT:C12801', 'aliases': ['Tissue']}, + "BLOOD": {'description': 'Whole blood specimen', 'meaning': 'NCIT:C12434', 'aliases': ['Blood']}, + "PLASMA": {'description': 'Blood plasma specimen', 'meaning': 'NCIT:C13356', 'aliases': ['Plasma']}, + "SERUM": {'description': 'Blood serum specimen', 'meaning': 'NCIT:C13325', 'aliases': ['Serum']}, + "BUFFY_COAT": {'description': 'Leukocyte-enriched blood fraction', 'meaning': 'NCIT:C84507', 'aliases': ['Buffy Coat']}, + "URINE": {'description': 'Urine specimen', 'meaning': 'NCIT:C13283', 'aliases': ['Urine']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "STOOL": {'description': 'Stool/fecal specimen', 'meaning': 'NCIT:C13234', 'aliases': ['Feces', 'fecal']}, + "CSF": {'description': 'Cerebrospinal fluid specimen', 'meaning': 'NCIT:C12692', 'aliases': ['cerebrospinal fluid', 'Cerebrospinal Fluid']}, + "SWEAT": {'description': 'Sweat specimen'}, + "MUCUS": {'description': 'Mucus specimen'}, + "BONE_MARROW": {'description': 'Bone marrow specimen', 'meaning': 'NCIT:C12431', 'aliases': ['Bone Marrow']}, + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue specimen', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC_TUMOR": {'description': 'Metastatic tumor tissue specimen', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "TUMOR_ADJACENT_NORMAL": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "ORGANOID": {'description': 'Organoid specimen', 'meaning': 'NCIT:C172259', 'aliases': ['Organoid']}, + "SPHEROID": {'description': 'Cell spheroid specimen'}, + "MICROTISSUE": {'description': 'Engineered microtissue specimen'}, + "PDX_TISSUE": {'description': 'Patient-derived xenograft tissue', 'meaning': 'NCIT:C122936', 'aliases': ['PDX tissue', 'Patient Derived Xenograft']}, + "CDX_TISSUE": {'description': 'Cell line-derived xenograft tissue', 'aliases': ['CDX tissue']}, +} + +class AnalyteTypeEnum(RichEnum): + """ + Types of analytes that can be extracted from biological specimens for molecular analysis. + """ + # Enum members + DNA = "DNA" + RNA = "RNA" + TOTAL_RNA = "TOTAL_RNA" + FFPE_DNA = "FFPE_DNA" + FFPE_RNA = "FFPE_RNA" + CFDNA = "cfDNA" + PROTEIN = "PROTEIN" + NUCLEI_RNA = "NUCLEI_RNA" + REPLI_G_DNA = "REPLI_G_DNA" + REPLI_G_X_DNA = "REPLI_G_X_DNA" + REPLI_G_POOLED_DNA = "REPLI_G_POOLED_DNA" + GENOMEPLEX_DNA = "GENOMEPLEX_DNA" + EBV_IMMORTALIZED = "EBV_IMMORTALIZED" + +# Set metadata after class creation to avoid it becoming an enum member +AnalyteTypeEnum._metadata = { + "DNA": {'description': 'Deoxyribonucleic acid', 'meaning': 'NCIT:C198567', 'aliases': ['DNA Specimen']}, + "RNA": {'description': 'Ribonucleic acid', 'meaning': 'NCIT:C198568', 'aliases': ['RNA Specimen']}, + "TOTAL_RNA": {'description': 'Total RNA including all RNA species'}, + "FFPE_DNA": {'description': 'DNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded DNA']}, + "FFPE_RNA": {'description': 'RNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded RNA']}, + "CFDNA": {'description': 'Cell-free DNA found in blood plasma', 'meaning': 'NCIT:C128274', 'aliases': ['Circulating Cell-Free DNA', 'cell-free DNA']}, + "PROTEIN": {'description': 'Protein analyte', 'meaning': 'NCIT:C17021', 'aliases': ['Protein']}, + "NUCLEI_RNA": {'description': 'RNA isolated from cell nuclei'}, + "REPLI_G_DNA": {'description': 'Whole genome amplified DNA using Repli-G technology', 'aliases': ['Repli-G (Qiagen) DNA']}, + "REPLI_G_X_DNA": {'description': 'Whole genome amplified DNA using Repli-G X technology', 'aliases': ['Repli-G X (Qiagen) DNA']}, + "REPLI_G_POOLED_DNA": {'description': 'Pooled whole genome amplified DNA using Repli-G', 'aliases': ['Repli-G Pooled (Qiagen) DNA']}, + "GENOMEPLEX_DNA": {'description': 'Whole genome amplified DNA using GenomePlex technology', 'aliases': ['GenomePlex (Rubicon) Amplified DNA']}, + "EBV_IMMORTALIZED": {'description': 'DNA/cells from EBV immortalized cell lines', 'aliases': ['EBV Immortalized Normal']}, +} + +class SourceMaterialTypeEnum(RichEnum): + """ + Types of source materials from which specimens are derived, particularly relevant for cancer and tissue banking research. + """ + # Enum members + PRIMARY_TUMOR = "PRIMARY_TUMOR" + METASTATIC = "METASTATIC" + RECURRENT_TUMOR = "RECURRENT_TUMOR" + BLOOD_DERIVED_NORMAL = "BLOOD_DERIVED_NORMAL" + BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD = "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD" + BLOOD_DERIVED_CANCER_BONE_MARROW = "BLOOD_DERIVED_CANCER_BONE_MARROW" + BONE_MARROW_NORMAL = "BONE_MARROW_NORMAL" + SOLID_TISSUE_NORMAL = "SOLID_TISSUE_NORMAL" + BUCCAL_CELL_NORMAL = "BUCCAL_CELL_NORMAL" + NORMAL_ADJACENT_TISSUE = "NORMAL_ADJACENT_TISSUE" + CELL_LINES = "CELL_LINES" + PRIMARY_XENOGRAFT_TISSUE = "PRIMARY_XENOGRAFT_TISSUE" + XENOGRAFT_TISSUE = "XENOGRAFT_TISSUE" + NEXT_GENERATION_CANCER_MODEL = "NEXT_GENERATION_CANCER_MODEL" + PLEURAL_EFFUSION = "PLEURAL_EFFUSION" + SALIVA = "SALIVA" + GRANULOCYTES = "GRANULOCYTES" + EBV_IMMORTALIZED_NORMAL = "EBV_IMMORTALIZED_NORMAL" + CONTROL_ANALYTE = "CONTROL_ANALYTE" + FFPE_SCROLLS = "FFPE_SCROLLS" + FFPE_RECURRENT = "FFPE_RECURRENT" + NOT_REPORTED = "NOT_REPORTED" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +SourceMaterialTypeEnum._metadata = { + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC": {'description': 'Metastatic tumor tissue', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "RECURRENT_TUMOR": {'description': 'Recurrent tumor tissue', 'meaning': 'NCIT:C4798', 'aliases': ['Recurrent Neoplasm']}, + "BLOOD_DERIVED_NORMAL": {'description': 'Normal cells derived from blood'}, + "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD": {'description': 'Cancer cells from peripheral blood'}, + "BLOOD_DERIVED_CANCER_BONE_MARROW": {'description': 'Cancer cells from bone marrow'}, + "BONE_MARROW_NORMAL": {'description': 'Normal bone marrow cells'}, + "SOLID_TISSUE_NORMAL": {'description': 'Normal solid tissue'}, + "BUCCAL_CELL_NORMAL": {'description': 'Normal buccal (cheek) cells'}, + "NORMAL_ADJACENT_TISSUE": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "CELL_LINES": {'description': 'Established cell lines', 'meaning': 'NCIT:C16403', 'aliases': ['Cell Line']}, + "PRIMARY_XENOGRAFT_TISSUE": {'description': 'Tissue from primary xenograft'}, + "XENOGRAFT_TISSUE": {'description': 'Tissue derived from xenograft models'}, + "NEXT_GENERATION_CANCER_MODEL": {'description': 'Tissue from next-generation cancer models'}, + "PLEURAL_EFFUSION": {'description': 'Fluid from pleural effusion', 'meaning': 'NCIT:C3331', 'aliases': ['Pleural Effusion']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "GRANULOCYTES": {'description': 'Granulocyte cells', 'meaning': 'NCIT:C12530', 'aliases': ['Granulocyte']}, + "EBV_IMMORTALIZED_NORMAL": {'description': 'EBV immortalized normal cells'}, + "CONTROL_ANALYTE": {'description': 'Control analyte material'}, + "FFPE_SCROLLS": {'description': 'FFPE tissue scrolls'}, + "FFPE_RECURRENT": {'description': 'FFPE tissue from recurrent tumor'}, + "NOT_REPORTED": {'description': 'Source material type not reported'}, + "UNKNOWN": {'description': 'Unknown source material type', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + +class SpecimenCreationActivityTypeEnum(RichEnum): + """ + High-level types of activities through which specimens are generated, either by collection from source or derivation from existing specimens. + """ + # Enum members + COLLECTION_FROM_SOURCE = "COLLECTION_FROM_SOURCE" + DERIVATION_FROM_SPECIMEN = "DERIVATION_FROM_SPECIMEN" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenCreationActivityTypeEnum._metadata = { + "COLLECTION_FROM_SOURCE": {'description': 'Activity that collects an initial sample directly from a subject or source', 'meaning': 'OBI:0000659', 'aliases': ['specimen collection process']}, + "DERIVATION_FROM_SPECIMEN": {'description': 'Activity that derives a new specimen from an existing one', 'meaning': 'OBI:0000094', 'aliases': ['material processing']}, +} + +class SpecimenProcessingActivityTypeEnum(RichEnum): + """ + High-level types of specimen processing activities + """ + # Enum members + FIXATION = "FIXATION" + FREEZING = "FREEZING" + MOUNTING = "MOUNTING" + PRESERVATION = "PRESERVATION" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenProcessingActivityTypeEnum._metadata = { + "FIXATION": {'description': 'Chemical preservation to maintain structural and molecular features', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, + "FREEZING": {'description': 'Processing activity that freezes a specimen', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "MOUNTING": {'description': 'Securing a specimen in place for examination'}, + "PRESERVATION": {'description': 'Processing activity that preserves a specimen for storage'}, +} + +class SpecimenQualityObservationTypeEnum(RichEnum): + """ + Types of measurements that reflect specimen quality or suitability for use + """ + # Enum members + A260_A280_RATIO = "A260_A280_RATIO" + RIBOSOMAL_RNA_28S_16S_RATIO = "RIBOSOMAL_RNA_28S_16S_RATIO" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQualityObservationTypeEnum._metadata = { + "A260_A280_RATIO": {'description': 'Ratio of absorbance at 260nm to 280nm wavelength for nucleic acid purity'}, + "RIBOSOMAL_RNA_28S_16S_RATIO": {'description': 'Ratio of 28S to 16S ribosomal RNA for RNA integrity'}, +} + +class SpecimenQualityObservationMethodEnum(RichEnum): + """ + Methods used for determining specimen quality + """ + # Enum members + UV_SPEC = "UV_SPEC" + PICO_GREEN = "PICO_GREEN" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQualityObservationMethodEnum._metadata = { + "UV_SPEC": {'description': 'UV-Vis spectrophotometry measuring absorbance across UV and visible ranges', 'meaning': 'NCIT:C116701', 'aliases': ['Spectrophotometry']}, + "PICO_GREEN": {'description': 'Fluorescent dye assay for quantifying double-stranded DNA'}, +} + +class SpecimenQuantityObservationTypeEnum(RichEnum): + """ + Types of quantity measurements for specimens + """ + # Enum members + WEIGHT = "WEIGHT" + VOLUME = "VOLUME" + CONCENTRATION = "CONCENTRATION" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQuantityObservationTypeEnum._metadata = { + "WEIGHT": {'description': 'Current weight of the specimen', 'meaning': 'NCIT:C25208', 'aliases': ['Weight']}, + "VOLUME": {'description': 'Current volume of the specimen', 'meaning': 'NCIT:C25335', 'aliases': ['Volume']}, + "CONCENTRATION": {'description': 'Concentration of extracted analyte in specimen', 'meaning': 'NCIT:C41185', 'aliases': ['Concentration']}, +} + +class SectionLocationEnum(RichEnum): + """ + Location in a parent specimen from which a section was excised + """ + # Enum members + TOP = "TOP" + BOTTOM = "BOTTOM" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +SectionLocationEnum._metadata = { + "TOP": {'description': 'The top portion of a specimen per orientation criteria'}, + "BOTTOM": {'description': 'The bottom portion of a specimen per orientation criteria'}, + "UNKNOWN": {'description': 'Unknown location on a specimen', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + +class ConditionProvenanceEnum(RichEnum): + """ + Sources of condition/diagnosis records indicating how the condition was documented or determined. + """ + # Enum members + EHR_BILLING_DIAGNOSIS = "EHR_BILLING_DIAGNOSIS" + EHR_CHIEF_COMPLAINT = "EHR_CHIEF_COMPLAINT" + EHR_ENCOUNTER_DIAGNOSIS = "EHR_ENCOUNTER_DIAGNOSIS" + EHR_EPISODE_ENTRY = "EHR_EPISODE_ENTRY" + EHR_PROBLEM_LIST_ENTRY = "EHR_PROBLEM_LIST_ENTRY" + FIRST_POSITION_CONDITION = "FIRST_POSITION_CONDITION" + NLP_DERIVED = "NLP_DERIVED" + OBSERVATION_RECORDED_FROM_EHR = "OBSERVATION_RECORDED_FROM_EHR" + PATIENT_SELF_REPORTED_CONDITION = "PATIENT_SELF_REPORTED_CONDITION" + PRIMARY_CONDITION = "PRIMARY_CONDITION" + REFERRAL_RECORD = "REFERRAL_RECORD" + SECONDARY_CONDITION = "SECONDARY_CONDITION" + TUMOR_REGISTRY = "TUMOR_REGISTRY" + WORKING_DIAGNOSIS = "WORKING_DIAGNOSIS" + CLINICAL_DIAGNOSIS = "CLINICAL_DIAGNOSIS" + +# Set metadata after class creation to avoid it becoming an enum member +ConditionProvenanceEnum._metadata = { + "EHR_BILLING_DIAGNOSIS": {'description': 'Diagnosis recorded for billing purposes in EHR'}, + "EHR_CHIEF_COMPLAINT": {'description': 'Condition documented as chief complaint in EHR'}, + "EHR_ENCOUNTER_DIAGNOSIS": {'description': 'Diagnosis recorded during healthcare encounter'}, + "EHR_EPISODE_ENTRY": {'description': 'Condition recorded as part of care episode'}, + "EHR_PROBLEM_LIST_ENTRY": {'description': 'Condition on patient problem list in EHR'}, + "FIRST_POSITION_CONDITION": {'description': 'Primary diagnosis in first position on claim'}, + "NLP_DERIVED": {'description': 'Condition derived through natural language processing'}, + "OBSERVATION_RECORDED_FROM_EHR": {'description': 'Condition recorded as observation in EHR'}, + "PATIENT_SELF_REPORTED_CONDITION": {'description': 'Condition reported by the patient', 'aliases': ['PATIENT_SELF-REPORTED_CONDITION']}, + "PRIMARY_CONDITION": {'description': 'Primary condition for an encounter or episode'}, + "REFERRAL_RECORD": {'description': 'Condition documented in referral record'}, + "SECONDARY_CONDITION": {'description': 'Secondary or comorbid condition'}, + "TUMOR_REGISTRY": {'description': 'Condition from tumor registry'}, + "WORKING_DIAGNOSIS": {'description': 'Preliminary or working diagnosis'}, + "CLINICAL_DIAGNOSIS": {'description': 'Clinically confirmed diagnosis'}, +} + +class VisitProvenanceEnum(RichEnum): + """ + Sources of healthcare visit/encounter records indicating the origin of the visit documentation. + """ + # Enum members + CASE_REPORT_FORM = "CASE_REPORT_FORM" + CLAIM = "CLAIM" + EHR = "EHR" + EHR_ENCOUNTER_RECORD = "EHR_ENCOUNTER_RECORD" + EHR_ADMISSION_NOTE = "EHR_ADMISSION_NOTE" + EHR_DISCHARGE_RECORD = "EHR_DISCHARGE_RECORD" + EHR_EMERGENCY_ROOM_NOTE = "EHR_EMERGENCY_ROOM_NOTE" + EHR_INPATIENT_NOTE = "EHR_INPATIENT_NOTE" + EHR_OUTPATIENT_NOTE = "EHR_OUTPATIENT_NOTE" + INPATIENT_CLAIM = "INPATIENT_CLAIM" + OUTPATIENT_CLAIM = "OUTPATIENT_CLAIM" + FACILITY_CLAIM = "FACILITY_CLAIM" + PROFESSIONAL_CLAIM = "PROFESSIONAL_CLAIM" + PHARMACY_CLAIM = "PHARMACY_CLAIM" + LAB = "LAB" + REGISTRY = "REGISTRY" + SURVEY = "SURVEY" + PATIENT_SELF_REPORT = "PATIENT_SELF_REPORT" + NLP = "NLP" + HEALTH_INFORMATION_EXCHANGE_RECORD = "HEALTH_INFORMATION_EXCHANGE_RECORD" + +# Set metadata after class creation to avoid it becoming an enum member +VisitProvenanceEnum._metadata = { + "CASE_REPORT_FORM": {'description': 'Visit from clinical trial case report form'}, + "CLAIM": {'description': 'Visit derived from insurance claim'}, + "EHR": {'description': 'Visit from electronic health record'}, + "EHR_ENCOUNTER_RECORD": {'description': 'Visit from EHR encounter documentation'}, + "EHR_ADMISSION_NOTE": {'description': 'Visit from EHR admission note'}, + "EHR_DISCHARGE_RECORD": {'description': 'Visit from EHR discharge documentation'}, + "EHR_EMERGENCY_ROOM_NOTE": {'description': 'Visit from EHR emergency room note'}, + "EHR_INPATIENT_NOTE": {'description': 'Visit from EHR inpatient note'}, + "EHR_OUTPATIENT_NOTE": {'description': 'Visit from EHR outpatient note'}, + "INPATIENT_CLAIM": {'description': 'Visit from inpatient insurance claim'}, + "OUTPATIENT_CLAIM": {'description': 'Visit from outpatient insurance claim'}, + "FACILITY_CLAIM": {'description': 'Visit from facility insurance claim'}, + "PROFESSIONAL_CLAIM": {'description': 'Visit from professional services claim'}, + "PHARMACY_CLAIM": {'description': 'Visit from pharmacy claim'}, + "LAB": {'description': 'Visit from laboratory record'}, + "REGISTRY": {'description': 'Visit from disease or patient registry'}, + "SURVEY": {'description': 'Visit from patient survey'}, + "PATIENT_SELF_REPORT": {'description': 'Visit reported by patient', 'aliases': ['PATIENT_SELF-REPORT']}, + "NLP": {'description': 'Visit derived through natural language processing'}, + "HEALTH_INFORMATION_EXCHANGE_RECORD": {'description': 'Visit from health information exchange'}, +} + +class DrugExposureProvenanceEnum(RichEnum): + """ + Sources of drug exposure records indicating how the medication information was documented. + """ + # Enum members + RANDOMIZED_DRUG = "RANDOMIZED_DRUG" + PATIENT_SELF_REPORTED_MEDICATION = "PATIENT_SELF_REPORTED_MEDICATION" + NLP_DERIVED = "NLP_DERIVED" + PRESCRIPTION_DISPENSED_IN_PHARMACY = "PRESCRIPTION_DISPENSED_IN_PHARMACY" + PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER = "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER" + DISPENSED_IN_OUTPATIENT_OFFICE = "DISPENSED_IN_OUTPATIENT_OFFICE" + PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER = "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER" + PRESCRIPTION_WRITTEN = "PRESCRIPTION_WRITTEN" + MEDICATION_LIST_ENTRY = "MEDICATION_LIST_ENTRY" + PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE = "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE" + INPATIENT_ADMINISTRATION = "INPATIENT_ADMINISTRATION" + +# Set metadata after class creation to avoid it becoming an enum member +DrugExposureProvenanceEnum._metadata = { + "RANDOMIZED_DRUG": {'description': 'Drug from clinical trial randomization', 'aliases': ['RANDOMIZED DRUG']}, + "PATIENT_SELF_REPORTED_MEDICATION": {'description': 'Medication reported by patient', 'aliases': ['PATIENT SELF-REPORTED MEDICATION']}, + "NLP_DERIVED": {'description': 'Drug exposure derived through NLP', 'aliases': ['NLP DERIVED']}, + "PRESCRIPTION_DISPENSED_IN_PHARMACY": {'description': 'Prescription dispensed at pharmacy', 'aliases': ['PRESCRIPTION DISPENSED IN PHARMACY']}, + "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER": {'description': 'Drug administered by physician from EHR order', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED FROM EHR ORDER)']}, + "DISPENSED_IN_OUTPATIENT_OFFICE": {'description': 'Drug dispensed in outpatient office', 'aliases': ['DISPENSED IN OUTPATIENT OFFICE']}, + "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER": {'description': 'Prescription dispensed via mail order', 'aliases': ['PRESCRIPTION DISPENSED THROUGH MAIL ORDER']}, + "PRESCRIPTION_WRITTEN": {'description': 'Prescription written by provider', 'aliases': ['PRESCRIPTION WRITTEN']}, + "MEDICATION_LIST_ENTRY": {'description': 'Drug from medication list', 'aliases': ['MEDICATION LIST ENTRY']}, + "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE": {'description': 'Drug administered as procedure', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED AS PROCEDURE)']}, + "INPATIENT_ADMINISTRATION": {'description': 'Drug administered during inpatient stay', 'aliases': ['INPATIENT ADMINISTRATION']}, +} + +class StatusEnum(RichEnum): + """ + Values indicating whether a condition or observation is present, absent, or of unknown status. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +StatusEnum._metadata = { + "PRESENT": {'description': 'Was present in the patient at observation time'}, + "ABSENT": {'description': 'Was absent in the patient at observation time'}, + "UNKNOWN": {'description': 'Status was unknown at observation time'}, +} + +class HistoricalStatusEnum(RichEnum): + """ + Extended status values including historical presence of conditions or observations. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + HISTORICAL = "HISTORICAL" + +# Set metadata after class creation to avoid it becoming an enum member +HistoricalStatusEnum._metadata = { + "PRESENT": {'description': 'Currently present in the patient'}, + "ABSENT": {'description': 'Currently absent in the patient'}, + "UNKNOWN": {'description': 'Current status is unknown'}, + "HISTORICAL": {'description': 'Was present in the patient historically but not currently'}, +} + +class ResearchProjectTypeEnum(RichEnum): + """ + Types of research projects and studies + """ + # Enum members + CONSORTIUM = "CONSORTIUM" + STUDY = "STUDY" + +# Set metadata after class creation to avoid it becoming an enum member +ResearchProjectTypeEnum._metadata = { + "CONSORTIUM": {'description': 'Multi-institutional research consortium'}, + "STUDY": {'description': 'Individual research study'}, +} + +class DataUsePermissionEnum(RichEnum): + """ + Primary data use permissions from the GA4GH Data Use Ontology (DUO) indicating what research purposes data can be used for. + """ + # Enum members + GRU = "GRU" + HMB = "HMB" + DS = "DS" + NO_RESTRICTION = "NO_RESTRICTION" + +# Set metadata after class creation to avoid it becoming an enum member +DataUsePermissionEnum._metadata = { + "GRU": {'description': 'General research use - allowed for any research purpose including health/medical/biomedical, fundamental biology, population origins, statistical methods development, and social-sciences research.', 'meaning': 'DUO:0000042', 'aliases': ['general research use']}, + "HMB": {'description': 'Health/medical/biomedical research only - does not include study of population origins or ancestry.', 'meaning': 'DUO:0000006', 'aliases': ['health or medical or biomedical research']}, + "DS": {'description': 'Disease-specific research - use allowed only for research related to specified disease(s). Should be coupled with disease ontology term.', 'meaning': 'DUO:0000007', 'aliases': ['disease specific research']}, + "NO_RESTRICTION": {'description': 'No restriction on use of the data.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, +} + +class DataUseModifierEnum(RichEnum): + """ + Additional conditions and modifiers for data use from the GA4GH Data Use Ontology (DUO). + """ + # Enum members + NPUNCU = "NPUNCU" + NPO = "NPO" + NCU = "NCU" + IRB = "IRB" + NRES = "NRES" + NMDS = "NMDS" + RS = "RS" + +# Set metadata after class creation to avoid it becoming an enum member +DataUseModifierEnum._metadata = { + "NPUNCU": {'description': 'Not-for-profit use only - use limited to not-for-profit organizations and non-commercial use.', 'meaning': 'DUO:0000018', 'aliases': ['not for profit, non commercial use only']}, + "NPO": {'description': 'Use limited to not-for-profit organizations only.', 'meaning': 'DUO:0000045', 'aliases': ['not for profit organisation use only']}, + "NCU": {'description': 'Non-commercial use only - data can be used by commercial organizations for research but not commercial purposes.', 'meaning': 'DUO:0000046', 'aliases': ['non-commercial use only']}, + "IRB": {'description': 'Ethics approval required - requestor must provide documentation of local IRB/ERB approval.', 'meaning': 'DUO:0000021', 'aliases': ['ethics approval required']}, + "NRES": {'description': 'No restriction on data use.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, + "NMDS": {'description': 'No general methods research - does not allow methods development.', 'meaning': 'DUO:0000015', 'aliases': ['no general methods research']}, + "RS": {'description': 'Research-specific restrictions apply.', 'meaning': 'DUO:0000012', 'aliases': ['research specific restrictions']}, +} + class MimeType(RichEnum): """ Common MIME types for various file formats diff --git a/src/valuesets/datamodel/valuesets_pydantic.py b/src/valuesets/datamodel/valuesets_pydantic.py index d012f72c..bd82dd4e 100644 --- a/src/valuesets/datamodel/valuesets_pydantic.py +++ b/src/valuesets/datamodel/valuesets_pydantic.py @@ -5614,6 +5614,614 @@ class PersonStatusEnum(RichEnum): "UNKNOWN": {'description': 'The vital status is not known', 'meaning': 'NCIT:C17998'}, } +class GravitySdohDomainEnum(RichEnum): + """ + Social Determinants of Health domains as defined by the Gravity Project. These domains represent key areas of social need that impact health outcomes. + """ + # Enum members + FOOD_INSECURITY = "FOOD_INSECURITY" + HOUSING_INSTABILITY = "HOUSING_INSTABILITY" + HOMELESSNESS = "HOMELESSNESS" + INADEQUATE_HOUSING = "INADEQUATE_HOUSING" + TRANSPORTATION_INSECURITY = "TRANSPORTATION_INSECURITY" + FINANCIAL_INSECURITY = "FINANCIAL_INSECURITY" + MATERIAL_HARDSHIP = "MATERIAL_HARDSHIP" + EMPLOYMENT_STATUS = "EMPLOYMENT_STATUS" + EDUCATIONAL_ATTAINMENT = "EDUCATIONAL_ATTAINMENT" + VETERAN_STATUS = "VETERAN_STATUS" + STRESS = "STRESS" + SOCIAL_CONNECTION = "SOCIAL_CONNECTION" + INTIMATE_PARTNER_VIOLENCE = "INTIMATE_PARTNER_VIOLENCE" + ELDER_ABUSE = "ELDER_ABUSE" + HEALTH_LITERACY = "HEALTH_LITERACY" + MEDICAL_COST_BURDEN = "MEDICAL_COST_BURDEN" + HEALTH_INSURANCE_COVERAGE_STATUS = "HEALTH_INSURANCE_COVERAGE_STATUS" + DIGITAL_LITERACY = "DIGITAL_LITERACY" + DIGITAL_ACCESS = "DIGITAL_ACCESS" + UTILITY_INSECURITY = "UTILITY_INSECURITY" + +# Set metadata after class creation to avoid it becoming an enum member +GravitySdohDomainEnum._metadata = { + "FOOD_INSECURITY": {'description': 'Limited or uncertain availability of nutritionally adequate and safe foods', 'meaning': 'NCIT:C171542', 'aliases': ['Food Insecurity']}, + "HOUSING_INSTABILITY": {'description': 'Challenges with housing including trouble paying rent or frequent moves', 'meaning': 'SNOMED:1156191002', 'aliases': ['Housing instability']}, + "HOMELESSNESS": {'description': 'The condition of lacking stable, safe, and adequate housing', 'meaning': 'SNOMED:32911000', 'aliases': ['Homeless']}, + "INADEQUATE_HOUSING": {'description': 'Housing that does not meet basic standards for safety and habitability', 'meaning': 'SNOMED:105531004', 'aliases': ['Unsatisfactory housing conditions']}, + "TRANSPORTATION_INSECURITY": {'description': 'Lack of reliable, safe, and affordable transportation'}, + "FINANCIAL_INSECURITY": {'description': 'Inability to meet basic financial needs and obligations'}, + "MATERIAL_HARDSHIP": {'description': 'Difficulty affording basic necessities such as food, housing, and utilities'}, + "EMPLOYMENT_STATUS": {'description': 'Current employment situation and stability', 'meaning': 'NCIT:C179143', 'aliases': ['Employment Status']}, + "EDUCATIONAL_ATTAINMENT": {'description': 'Highest level of education completed', 'meaning': 'EFO:0011015', 'aliases': ['educational attainment']}, + "VETERAN_STATUS": {'description': 'Military veteran status and related needs'}, + "STRESS": {'description': 'Psychological stress affecting health and wellbeing', 'meaning': 'NCIT:C35041', 'aliases': ['Stress']}, + "SOCIAL_CONNECTION": {'description': 'Quality and quantity of social relationships and support networks'}, + "INTIMATE_PARTNER_VIOLENCE": {'description': 'Abuse occurring between people in a close relationship', 'meaning': 'MESH:D000066511', 'aliases': ['IPV', 'domestic violence', 'Intimate Partner Violence']}, + "ELDER_ABUSE": {'description': 'Abuse, neglect, or exploitation of older adults', 'meaning': 'MESH:D004552', 'aliases': ['Elder Abuse']}, + "HEALTH_LITERACY": {'description': 'Ability to obtain, process, and understand health information', 'meaning': 'MESH:D057220', 'aliases': ['Health Literacy']}, + "MEDICAL_COST_BURDEN": {'description': 'Financial strain from healthcare costs'}, + "HEALTH_INSURANCE_COVERAGE_STATUS": {'description': 'Status of health insurance coverage', 'meaning': 'NCIT:C157356', 'aliases': ['Health Insurance']}, + "DIGITAL_LITERACY": {'description': 'Ability to use digital technology and access digital resources'}, + "DIGITAL_ACCESS": {'description': 'Access to internet and digital devices'}, + "UTILITY_INSECURITY": {'description': 'Difficulty paying for utilities such as electricity, gas, or water'}, +} + +class EducationalAttainmentEnum(RichEnum): + """ + Levels of educational attainment for survey and demographic purposes. Based on standard US educational categories. + """ + # Enum members + EIGHTH_GRADE_OR_LESS = "EIGHTH_GRADE_OR_LESS" + HIGH_SCHOOL_NO_DIPLOMA = "HIGH_SCHOOL_NO_DIPLOMA" + HIGH_SCHOOL_GRADUATE_GED = "HIGH_SCHOOL_GRADUATE_GED" + SOME_COLLEGE_NO_DEGREE = "SOME_COLLEGE_NO_DEGREE" + ASSOCIATE_DEGREE = "ASSOCIATE_DEGREE" + BACHELORS_DEGREE = "BACHELORS_DEGREE" + MASTERS_DEGREE = "MASTERS_DEGREE" + DOCTORAL_DEGREE = "DOCTORAL_DEGREE" + +# Set metadata after class creation to avoid it becoming an enum member +EducationalAttainmentEnum._metadata = { + "EIGHTH_GRADE_OR_LESS": {'description': 'Completed 8th grade or less', 'aliases': ['8TH_GRADE_OR_LESS', 'elementary']}, + "HIGH_SCHOOL_NO_DIPLOMA": {'description': 'Some high school but no diploma', 'meaning': 'NCIT:C76123', 'aliases': ['some high school', 'Not High School Graduate']}, + "HIGH_SCHOOL_GRADUATE_GED": {'description': 'High school graduate or GED equivalent', 'meaning': 'NCIT:C67136', 'aliases': ['high school diploma', 'GED', 'High School Completion']}, + "SOME_COLLEGE_NO_DEGREE": {'description': 'Some college or technical school but no degree', 'aliases': ['SOME_COLLEGE_OR_TECH_NO_DEGREE']}, + "ASSOCIATE_DEGREE": {'description': 'Associate degree (2-year college)', 'meaning': 'NCIT:C71344', 'aliases': ['Associate of Science']}, + "BACHELORS_DEGREE": {'description': "Bachelor's degree (4-year college)", 'meaning': 'NCIT:C71345', 'aliases': ['COLLEGE_OR_TECH_WITH_DEGREE', 'Bachelor of Arts']}, + "MASTERS_DEGREE": {'description': "Master's degree", 'meaning': 'NCIT:C39452', 'aliases': ['Master of Science']}, + "DOCTORAL_DEGREE": {'description': 'Doctoral or professional degree (PhD, MD, JD, etc.)', 'meaning': 'NCIT:C39387', 'aliases': ['MASTERS_OR_DOCTORAL_DEGREE', 'Doctor of Philosophy']}, +} + +class SpecimenPreparationMethodEnum(RichEnum): + """ + Methods for preparing and preserving biological specimens for analysis. Sourced from NF-OSI metadata dictionary and Human Cell Atlas standards. + """ + # Enum members + FFPE = "FFPE" + FORMALIN_FIXED = "FORMALIN_FIXED" + CRYOPRESERVED = "CRYOPRESERVED" + VIABLY_FROZEN = "VIABLY_FROZEN" + FLASH_FROZEN = "FLASH_FROZEN" + FRESH_COLLECTED = "FRESH_COLLECTED" + OCT_EMBEDDED = "OCT_EMBEDDED" + RNALATER = "RNALATER" + ETHANOL_PRESERVED = "ETHANOL_PRESERVED" + METHANOL_FIXED = "METHANOL_FIXED" + ACETONE_FIXED = "ACETONE_FIXED" + PAXGENE_FIXED = "PAXgene_FIXED" + DRIED = "DRIED" + LYOPHILIZED = "LYOPHILIZED" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenPreparationMethodEnum._metadata = { + "FFPE": {'description': 'Formalin-fixed, paraffin-embedded tissue preservation', 'meaning': 'NCIT:C143028', 'annotations': {'fixative': 'formalin', 'embedding': 'paraffin'}, 'aliases': ['Formalin-fixed paraffin-embedded', 'formalin-fixed, paraffin-embedded', 'FFPE Tissue Block']}, + "FORMALIN_FIXED": {'description': 'Tissue fixed with formalin without paraffin embedding', 'annotations': {'fixative': 'formalin'}, 'aliases': ['formalin-fixed']}, + "CRYOPRESERVED": {'description': 'Specimen preserved by freezing with cryoprotectant', 'meaning': 'NCIT:C16475', 'annotations': {'temperature': 'ultra-low'}, 'aliases': ['Cryopreserved', 'Cryopreservation']}, + "VIABLY_FROZEN": {'description': 'Specimen frozen while maintaining cell viability', 'annotations': {'viability': 'preserved'}, 'aliases': ['Viably frozen']}, + "FLASH_FROZEN": {'description': 'Rapid freezing to preserve molecular integrity', 'annotations': {'method': 'rapid freezing'}, 'aliases': ['Flash frozen', 'snap frozen']}, + "FRESH_COLLECTED": {'description': 'Freshly collected specimen without preservation', 'annotations': {'preservation': 'none'}, 'aliases': ['Fresh collected', 'fresh']}, + "OCT_EMBEDDED": {'description': 'Tissue embedded in optimal cutting temperature compound', 'annotations': {'embedding': 'OCT compound', 'purpose': 'cryosectioning'}, 'aliases': ['OCT', 'OCT embedded']}, + "RNALATER": {'description': 'Storage in reagent that stabilizes and protects cellular RNA', 'annotations': {'purpose': 'RNA stabilization', 'manufacturer': 'Thermo Fisher'}, 'aliases': ['RNAlater']}, + "ETHANOL_PRESERVED": {'description': 'Specimen preserved in ethanol', 'annotations': {'preservative': 'ethanol'}, 'aliases': ['ethanol']}, + "METHANOL_FIXED": {'description': 'Specimen fixed with methanol', 'annotations': {'fixative': 'methanol'}, 'aliases': ['methanol']}, + "ACETONE_FIXED": {'description': 'Specimen fixed with acetone', 'annotations': {'fixative': 'acetone'}}, + "PAXGENE_FIXED": {'description': 'Tissue fixed using PAXgene tissue system', 'annotations': {'purpose': 'RNA and DNA preservation'}}, + "DRIED": {'description': 'Air-dried or desiccated specimen', 'aliases': ['air-dried']}, + "LYOPHILIZED": {'description': 'Freeze-dried specimen', 'meaning': 'NCIT:C28150', 'aliases': ['freeze-dried', 'lyophilization', 'Freeze-Drying']}, +} + +class TissuePreservationEnum(RichEnum): + """ + Broader categorization of tissue preservation approaches + """ + # Enum members + FROZEN = "FROZEN" + FIXED = "FIXED" + FRESH = "FRESH" + EMBEDDED = "EMBEDDED" + +# Set metadata after class creation to avoid it becoming an enum member +TissuePreservationEnum._metadata = { + "FROZEN": {'description': 'Tissue preserved by freezing', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "FIXED": {'description': 'Tissue preserved by chemical fixation', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, + "FRESH": {'description': 'Fresh unfixed tissue'}, + "EMBEDDED": {'description': 'Tissue embedded in medium (paraffin, OCT, etc.)'}, +} + +class SpecimenCollectionMethodEnum(RichEnum): + """ + Methods for collecting biological specimens + """ + # Enum members + BIOPSY = "BIOPSY" + SURGICAL_RESECTION = "SURGICAL_RESECTION" + AUTOPSY = "AUTOPSY" + FINE_NEEDLE_ASPIRATE = "FINE_NEEDLE_ASPIRATE" + CORE_NEEDLE_BIOPSY = "CORE_NEEDLE_BIOPSY" + PUNCH_BIOPSY = "PUNCH_BIOPSY" + SWAB = "SWAB" + VENIPUNCTURE = "VENIPUNCTURE" + LUMBAR_PUNCTURE = "LUMBAR_PUNCTURE" + LAVAGE = "LAVAGE" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenCollectionMethodEnum._metadata = { + "BIOPSY": {'description': 'Tissue sample obtained by biopsy', 'meaning': 'NCIT:C15189', 'aliases': ['Biopsy Procedure']}, + "SURGICAL_RESECTION": {'description': 'Tissue obtained during surgical resection', 'meaning': 'NCIT:C15329', 'aliases': ['Surgical Procedure']}, + "AUTOPSY": {'description': 'Specimen obtained at autopsy', 'meaning': 'NCIT:C25153', 'aliases': ['Autopsy']}, + "FINE_NEEDLE_ASPIRATE": {'description': 'Sample obtained by fine needle aspiration', 'meaning': 'NCIT:C15361', 'aliases': ['FNA', 'Fine-Needle Aspiration']}, + "CORE_NEEDLE_BIOPSY": {'description': 'Sample obtained by core needle biopsy', 'meaning': 'NCIT:C15190', 'aliases': ['Needle Biopsy']}, + "PUNCH_BIOPSY": {'description': 'Sample obtained by punch biopsy'}, + "SWAB": {'description': 'Sample collected by swabbing'}, + "VENIPUNCTURE": {'description': 'Blood sample obtained by venipuncture', 'meaning': 'NCIT:C28221', 'aliases': ['Phlebotomy']}, + "LUMBAR_PUNCTURE": {'description': 'CSF sample obtained by lumbar puncture', 'meaning': 'NCIT:C15327', 'aliases': ['spinal tap', 'Lumbar Puncture']}, + "LAVAGE": {'description': 'Sample obtained by lavage (washing)'}, +} + +class SpecimenTypeEnum(RichEnum): + """ + Types of biological specimens used in research + """ + # Enum members + TISSUE = "TISSUE" + BLOOD = "BLOOD" + PLASMA = "PLASMA" + SERUM = "SERUM" + BUFFY_COAT = "BUFFY_COAT" + URINE = "URINE" + SALIVA = "SALIVA" + STOOL = "STOOL" + CSF = "CSF" + SWEAT = "SWEAT" + MUCUS = "MUCUS" + BONE_MARROW = "BONE_MARROW" + PRIMARY_TUMOR = "PRIMARY_TUMOR" + METASTATIC_TUMOR = "METASTATIC_TUMOR" + TUMOR_ADJACENT_NORMAL = "TUMOR_ADJACENT_NORMAL" + ORGANOID = "ORGANOID" + SPHEROID = "SPHEROID" + MICROTISSUE = "MICROTISSUE" + PDX_TISSUE = "PDX_TISSUE" + CDX_TISSUE = "CDX_TISSUE" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenTypeEnum._metadata = { + "TISSUE": {'description': 'Solid tissue specimen', 'meaning': 'NCIT:C12801', 'aliases': ['Tissue']}, + "BLOOD": {'description': 'Whole blood specimen', 'meaning': 'NCIT:C12434', 'aliases': ['Blood']}, + "PLASMA": {'description': 'Blood plasma specimen', 'meaning': 'NCIT:C13356', 'aliases': ['Plasma']}, + "SERUM": {'description': 'Blood serum specimen', 'meaning': 'NCIT:C13325', 'aliases': ['Serum']}, + "BUFFY_COAT": {'description': 'Leukocyte-enriched blood fraction', 'meaning': 'NCIT:C84507', 'aliases': ['Buffy Coat']}, + "URINE": {'description': 'Urine specimen', 'meaning': 'NCIT:C13283', 'aliases': ['Urine']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "STOOL": {'description': 'Stool/fecal specimen', 'meaning': 'NCIT:C13234', 'aliases': ['Feces', 'fecal']}, + "CSF": {'description': 'Cerebrospinal fluid specimen', 'meaning': 'NCIT:C12692', 'aliases': ['cerebrospinal fluid', 'Cerebrospinal Fluid']}, + "SWEAT": {'description': 'Sweat specimen'}, + "MUCUS": {'description': 'Mucus specimen'}, + "BONE_MARROW": {'description': 'Bone marrow specimen', 'meaning': 'NCIT:C12431', 'aliases': ['Bone Marrow']}, + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue specimen', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC_TUMOR": {'description': 'Metastatic tumor tissue specimen', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "TUMOR_ADJACENT_NORMAL": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "ORGANOID": {'description': 'Organoid specimen', 'meaning': 'NCIT:C172259', 'aliases': ['Organoid']}, + "SPHEROID": {'description': 'Cell spheroid specimen'}, + "MICROTISSUE": {'description': 'Engineered microtissue specimen'}, + "PDX_TISSUE": {'description': 'Patient-derived xenograft tissue', 'meaning': 'NCIT:C122936', 'aliases': ['PDX tissue', 'Patient Derived Xenograft']}, + "CDX_TISSUE": {'description': 'Cell line-derived xenograft tissue', 'aliases': ['CDX tissue']}, +} + +class AnalyteTypeEnum(RichEnum): + """ + Types of analytes that can be extracted from biological specimens for molecular analysis. + """ + # Enum members + DNA = "DNA" + RNA = "RNA" + TOTAL_RNA = "TOTAL_RNA" + FFPE_DNA = "FFPE_DNA" + FFPE_RNA = "FFPE_RNA" + CFDNA = "cfDNA" + PROTEIN = "PROTEIN" + NUCLEI_RNA = "NUCLEI_RNA" + REPLI_G_DNA = "REPLI_G_DNA" + REPLI_G_X_DNA = "REPLI_G_X_DNA" + REPLI_G_POOLED_DNA = "REPLI_G_POOLED_DNA" + GENOMEPLEX_DNA = "GENOMEPLEX_DNA" + EBV_IMMORTALIZED = "EBV_IMMORTALIZED" + +# Set metadata after class creation to avoid it becoming an enum member +AnalyteTypeEnum._metadata = { + "DNA": {'description': 'Deoxyribonucleic acid', 'meaning': 'NCIT:C198567', 'aliases': ['DNA Specimen']}, + "RNA": {'description': 'Ribonucleic acid', 'meaning': 'NCIT:C198568', 'aliases': ['RNA Specimen']}, + "TOTAL_RNA": {'description': 'Total RNA including all RNA species'}, + "FFPE_DNA": {'description': 'DNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded DNA']}, + "FFPE_RNA": {'description': 'RNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded RNA']}, + "CFDNA": {'description': 'Cell-free DNA found in blood plasma', 'meaning': 'NCIT:C128274', 'aliases': ['Circulating Cell-Free DNA', 'cell-free DNA']}, + "PROTEIN": {'description': 'Protein analyte', 'meaning': 'NCIT:C17021', 'aliases': ['Protein']}, + "NUCLEI_RNA": {'description': 'RNA isolated from cell nuclei'}, + "REPLI_G_DNA": {'description': 'Whole genome amplified DNA using Repli-G technology', 'aliases': ['Repli-G (Qiagen) DNA']}, + "REPLI_G_X_DNA": {'description': 'Whole genome amplified DNA using Repli-G X technology', 'aliases': ['Repli-G X (Qiagen) DNA']}, + "REPLI_G_POOLED_DNA": {'description': 'Pooled whole genome amplified DNA using Repli-G', 'aliases': ['Repli-G Pooled (Qiagen) DNA']}, + "GENOMEPLEX_DNA": {'description': 'Whole genome amplified DNA using GenomePlex technology', 'aliases': ['GenomePlex (Rubicon) Amplified DNA']}, + "EBV_IMMORTALIZED": {'description': 'DNA/cells from EBV immortalized cell lines', 'aliases': ['EBV Immortalized Normal']}, +} + +class SourceMaterialTypeEnum(RichEnum): + """ + Types of source materials from which specimens are derived, particularly relevant for cancer and tissue banking research. + """ + # Enum members + PRIMARY_TUMOR = "PRIMARY_TUMOR" + METASTATIC = "METASTATIC" + RECURRENT_TUMOR = "RECURRENT_TUMOR" + BLOOD_DERIVED_NORMAL = "BLOOD_DERIVED_NORMAL" + BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD = "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD" + BLOOD_DERIVED_CANCER_BONE_MARROW = "BLOOD_DERIVED_CANCER_BONE_MARROW" + BONE_MARROW_NORMAL = "BONE_MARROW_NORMAL" + SOLID_TISSUE_NORMAL = "SOLID_TISSUE_NORMAL" + BUCCAL_CELL_NORMAL = "BUCCAL_CELL_NORMAL" + NORMAL_ADJACENT_TISSUE = "NORMAL_ADJACENT_TISSUE" + CELL_LINES = "CELL_LINES" + PRIMARY_XENOGRAFT_TISSUE = "PRIMARY_XENOGRAFT_TISSUE" + XENOGRAFT_TISSUE = "XENOGRAFT_TISSUE" + NEXT_GENERATION_CANCER_MODEL = "NEXT_GENERATION_CANCER_MODEL" + PLEURAL_EFFUSION = "PLEURAL_EFFUSION" + SALIVA = "SALIVA" + GRANULOCYTES = "GRANULOCYTES" + EBV_IMMORTALIZED_NORMAL = "EBV_IMMORTALIZED_NORMAL" + CONTROL_ANALYTE = "CONTROL_ANALYTE" + FFPE_SCROLLS = "FFPE_SCROLLS" + FFPE_RECURRENT = "FFPE_RECURRENT" + NOT_REPORTED = "NOT_REPORTED" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +SourceMaterialTypeEnum._metadata = { + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC": {'description': 'Metastatic tumor tissue', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "RECURRENT_TUMOR": {'description': 'Recurrent tumor tissue', 'meaning': 'NCIT:C4798', 'aliases': ['Recurrent Neoplasm']}, + "BLOOD_DERIVED_NORMAL": {'description': 'Normal cells derived from blood'}, + "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD": {'description': 'Cancer cells from peripheral blood'}, + "BLOOD_DERIVED_CANCER_BONE_MARROW": {'description': 'Cancer cells from bone marrow'}, + "BONE_MARROW_NORMAL": {'description': 'Normal bone marrow cells'}, + "SOLID_TISSUE_NORMAL": {'description': 'Normal solid tissue'}, + "BUCCAL_CELL_NORMAL": {'description': 'Normal buccal (cheek) cells'}, + "NORMAL_ADJACENT_TISSUE": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "CELL_LINES": {'description': 'Established cell lines', 'meaning': 'NCIT:C16403', 'aliases': ['Cell Line']}, + "PRIMARY_XENOGRAFT_TISSUE": {'description': 'Tissue from primary xenograft'}, + "XENOGRAFT_TISSUE": {'description': 'Tissue derived from xenograft models'}, + "NEXT_GENERATION_CANCER_MODEL": {'description': 'Tissue from next-generation cancer models'}, + "PLEURAL_EFFUSION": {'description': 'Fluid from pleural effusion', 'meaning': 'NCIT:C3331', 'aliases': ['Pleural Effusion']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "GRANULOCYTES": {'description': 'Granulocyte cells', 'meaning': 'NCIT:C12530', 'aliases': ['Granulocyte']}, + "EBV_IMMORTALIZED_NORMAL": {'description': 'EBV immortalized normal cells'}, + "CONTROL_ANALYTE": {'description': 'Control analyte material'}, + "FFPE_SCROLLS": {'description': 'FFPE tissue scrolls'}, + "FFPE_RECURRENT": {'description': 'FFPE tissue from recurrent tumor'}, + "NOT_REPORTED": {'description': 'Source material type not reported'}, + "UNKNOWN": {'description': 'Unknown source material type', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + +class SpecimenCreationActivityTypeEnum(RichEnum): + """ + High-level types of activities through which specimens are generated, either by collection from source or derivation from existing specimens. + """ + # Enum members + COLLECTION_FROM_SOURCE = "COLLECTION_FROM_SOURCE" + DERIVATION_FROM_SPECIMEN = "DERIVATION_FROM_SPECIMEN" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenCreationActivityTypeEnum._metadata = { + "COLLECTION_FROM_SOURCE": {'description': 'Activity that collects an initial sample directly from a subject or source', 'meaning': 'OBI:0000659', 'aliases': ['specimen collection process']}, + "DERIVATION_FROM_SPECIMEN": {'description': 'Activity that derives a new specimen from an existing one', 'meaning': 'OBI:0000094', 'aliases': ['material processing']}, +} + +class SpecimenProcessingActivityTypeEnum(RichEnum): + """ + High-level types of specimen processing activities + """ + # Enum members + FIXATION = "FIXATION" + FREEZING = "FREEZING" + MOUNTING = "MOUNTING" + PRESERVATION = "PRESERVATION" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenProcessingActivityTypeEnum._metadata = { + "FIXATION": {'description': 'Chemical preservation to maintain structural and molecular features', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, + "FREEZING": {'description': 'Processing activity that freezes a specimen', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "MOUNTING": {'description': 'Securing a specimen in place for examination'}, + "PRESERVATION": {'description': 'Processing activity that preserves a specimen for storage'}, +} + +class SpecimenQualityObservationTypeEnum(RichEnum): + """ + Types of measurements that reflect specimen quality or suitability for use + """ + # Enum members + A260_A280_RATIO = "A260_A280_RATIO" + RIBOSOMAL_RNA_28S_16S_RATIO = "RIBOSOMAL_RNA_28S_16S_RATIO" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQualityObservationTypeEnum._metadata = { + "A260_A280_RATIO": {'description': 'Ratio of absorbance at 260nm to 280nm wavelength for nucleic acid purity'}, + "RIBOSOMAL_RNA_28S_16S_RATIO": {'description': 'Ratio of 28S to 16S ribosomal RNA for RNA integrity'}, +} + +class SpecimenQualityObservationMethodEnum(RichEnum): + """ + Methods used for determining specimen quality + """ + # Enum members + UV_SPEC = "UV_SPEC" + PICO_GREEN = "PICO_GREEN" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQualityObservationMethodEnum._metadata = { + "UV_SPEC": {'description': 'UV-Vis spectrophotometry measuring absorbance across UV and visible ranges', 'meaning': 'NCIT:C116701', 'aliases': ['Spectrophotometry']}, + "PICO_GREEN": {'description': 'Fluorescent dye assay for quantifying double-stranded DNA'}, +} + +class SpecimenQuantityObservationTypeEnum(RichEnum): + """ + Types of quantity measurements for specimens + """ + # Enum members + WEIGHT = "WEIGHT" + VOLUME = "VOLUME" + CONCENTRATION = "CONCENTRATION" + +# Set metadata after class creation to avoid it becoming an enum member +SpecimenQuantityObservationTypeEnum._metadata = { + "WEIGHT": {'description': 'Current weight of the specimen', 'meaning': 'NCIT:C25208', 'aliases': ['Weight']}, + "VOLUME": {'description': 'Current volume of the specimen', 'meaning': 'NCIT:C25335', 'aliases': ['Volume']}, + "CONCENTRATION": {'description': 'Concentration of extracted analyte in specimen', 'meaning': 'NCIT:C41185', 'aliases': ['Concentration']}, +} + +class SectionLocationEnum(RichEnum): + """ + Location in a parent specimen from which a section was excised + """ + # Enum members + TOP = "TOP" + BOTTOM = "BOTTOM" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +SectionLocationEnum._metadata = { + "TOP": {'description': 'The top portion of a specimen per orientation criteria'}, + "BOTTOM": {'description': 'The bottom portion of a specimen per orientation criteria'}, + "UNKNOWN": {'description': 'Unknown location on a specimen', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + +class ConditionProvenanceEnum(RichEnum): + """ + Sources of condition/diagnosis records indicating how the condition was documented or determined. + """ + # Enum members + EHR_BILLING_DIAGNOSIS = "EHR_BILLING_DIAGNOSIS" + EHR_CHIEF_COMPLAINT = "EHR_CHIEF_COMPLAINT" + EHR_ENCOUNTER_DIAGNOSIS = "EHR_ENCOUNTER_DIAGNOSIS" + EHR_EPISODE_ENTRY = "EHR_EPISODE_ENTRY" + EHR_PROBLEM_LIST_ENTRY = "EHR_PROBLEM_LIST_ENTRY" + FIRST_POSITION_CONDITION = "FIRST_POSITION_CONDITION" + NLP_DERIVED = "NLP_DERIVED" + OBSERVATION_RECORDED_FROM_EHR = "OBSERVATION_RECORDED_FROM_EHR" + PATIENT_SELF_REPORTED_CONDITION = "PATIENT_SELF_REPORTED_CONDITION" + PRIMARY_CONDITION = "PRIMARY_CONDITION" + REFERRAL_RECORD = "REFERRAL_RECORD" + SECONDARY_CONDITION = "SECONDARY_CONDITION" + TUMOR_REGISTRY = "TUMOR_REGISTRY" + WORKING_DIAGNOSIS = "WORKING_DIAGNOSIS" + CLINICAL_DIAGNOSIS = "CLINICAL_DIAGNOSIS" + +# Set metadata after class creation to avoid it becoming an enum member +ConditionProvenanceEnum._metadata = { + "EHR_BILLING_DIAGNOSIS": {'description': 'Diagnosis recorded for billing purposes in EHR'}, + "EHR_CHIEF_COMPLAINT": {'description': 'Condition documented as chief complaint in EHR'}, + "EHR_ENCOUNTER_DIAGNOSIS": {'description': 'Diagnosis recorded during healthcare encounter'}, + "EHR_EPISODE_ENTRY": {'description': 'Condition recorded as part of care episode'}, + "EHR_PROBLEM_LIST_ENTRY": {'description': 'Condition on patient problem list in EHR'}, + "FIRST_POSITION_CONDITION": {'description': 'Primary diagnosis in first position on claim'}, + "NLP_DERIVED": {'description': 'Condition derived through natural language processing'}, + "OBSERVATION_RECORDED_FROM_EHR": {'description': 'Condition recorded as observation in EHR'}, + "PATIENT_SELF_REPORTED_CONDITION": {'description': 'Condition reported by the patient', 'aliases': ['PATIENT_SELF-REPORTED_CONDITION']}, + "PRIMARY_CONDITION": {'description': 'Primary condition for an encounter or episode'}, + "REFERRAL_RECORD": {'description': 'Condition documented in referral record'}, + "SECONDARY_CONDITION": {'description': 'Secondary or comorbid condition'}, + "TUMOR_REGISTRY": {'description': 'Condition from tumor registry'}, + "WORKING_DIAGNOSIS": {'description': 'Preliminary or working diagnosis'}, + "CLINICAL_DIAGNOSIS": {'description': 'Clinically confirmed diagnosis'}, +} + +class VisitProvenanceEnum(RichEnum): + """ + Sources of healthcare visit/encounter records indicating the origin of the visit documentation. + """ + # Enum members + CASE_REPORT_FORM = "CASE_REPORT_FORM" + CLAIM = "CLAIM" + EHR = "EHR" + EHR_ENCOUNTER_RECORD = "EHR_ENCOUNTER_RECORD" + EHR_ADMISSION_NOTE = "EHR_ADMISSION_NOTE" + EHR_DISCHARGE_RECORD = "EHR_DISCHARGE_RECORD" + EHR_EMERGENCY_ROOM_NOTE = "EHR_EMERGENCY_ROOM_NOTE" + EHR_INPATIENT_NOTE = "EHR_INPATIENT_NOTE" + EHR_OUTPATIENT_NOTE = "EHR_OUTPATIENT_NOTE" + INPATIENT_CLAIM = "INPATIENT_CLAIM" + OUTPATIENT_CLAIM = "OUTPATIENT_CLAIM" + FACILITY_CLAIM = "FACILITY_CLAIM" + PROFESSIONAL_CLAIM = "PROFESSIONAL_CLAIM" + PHARMACY_CLAIM = "PHARMACY_CLAIM" + LAB = "LAB" + REGISTRY = "REGISTRY" + SURVEY = "SURVEY" + PATIENT_SELF_REPORT = "PATIENT_SELF_REPORT" + NLP = "NLP" + HEALTH_INFORMATION_EXCHANGE_RECORD = "HEALTH_INFORMATION_EXCHANGE_RECORD" + +# Set metadata after class creation to avoid it becoming an enum member +VisitProvenanceEnum._metadata = { + "CASE_REPORT_FORM": {'description': 'Visit from clinical trial case report form'}, + "CLAIM": {'description': 'Visit derived from insurance claim'}, + "EHR": {'description': 'Visit from electronic health record'}, + "EHR_ENCOUNTER_RECORD": {'description': 'Visit from EHR encounter documentation'}, + "EHR_ADMISSION_NOTE": {'description': 'Visit from EHR admission note'}, + "EHR_DISCHARGE_RECORD": {'description': 'Visit from EHR discharge documentation'}, + "EHR_EMERGENCY_ROOM_NOTE": {'description': 'Visit from EHR emergency room note'}, + "EHR_INPATIENT_NOTE": {'description': 'Visit from EHR inpatient note'}, + "EHR_OUTPATIENT_NOTE": {'description': 'Visit from EHR outpatient note'}, + "INPATIENT_CLAIM": {'description': 'Visit from inpatient insurance claim'}, + "OUTPATIENT_CLAIM": {'description': 'Visit from outpatient insurance claim'}, + "FACILITY_CLAIM": {'description': 'Visit from facility insurance claim'}, + "PROFESSIONAL_CLAIM": {'description': 'Visit from professional services claim'}, + "PHARMACY_CLAIM": {'description': 'Visit from pharmacy claim'}, + "LAB": {'description': 'Visit from laboratory record'}, + "REGISTRY": {'description': 'Visit from disease or patient registry'}, + "SURVEY": {'description': 'Visit from patient survey'}, + "PATIENT_SELF_REPORT": {'description': 'Visit reported by patient', 'aliases': ['PATIENT_SELF-REPORT']}, + "NLP": {'description': 'Visit derived through natural language processing'}, + "HEALTH_INFORMATION_EXCHANGE_RECORD": {'description': 'Visit from health information exchange'}, +} + +class DrugExposureProvenanceEnum(RichEnum): + """ + Sources of drug exposure records indicating how the medication information was documented. + """ + # Enum members + RANDOMIZED_DRUG = "RANDOMIZED_DRUG" + PATIENT_SELF_REPORTED_MEDICATION = "PATIENT_SELF_REPORTED_MEDICATION" + NLP_DERIVED = "NLP_DERIVED" + PRESCRIPTION_DISPENSED_IN_PHARMACY = "PRESCRIPTION_DISPENSED_IN_PHARMACY" + PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER = "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER" + DISPENSED_IN_OUTPATIENT_OFFICE = "DISPENSED_IN_OUTPATIENT_OFFICE" + PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER = "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER" + PRESCRIPTION_WRITTEN = "PRESCRIPTION_WRITTEN" + MEDICATION_LIST_ENTRY = "MEDICATION_LIST_ENTRY" + PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE = "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE" + INPATIENT_ADMINISTRATION = "INPATIENT_ADMINISTRATION" + +# Set metadata after class creation to avoid it becoming an enum member +DrugExposureProvenanceEnum._metadata = { + "RANDOMIZED_DRUG": {'description': 'Drug from clinical trial randomization', 'aliases': ['RANDOMIZED DRUG']}, + "PATIENT_SELF_REPORTED_MEDICATION": {'description': 'Medication reported by patient', 'aliases': ['PATIENT SELF-REPORTED MEDICATION']}, + "NLP_DERIVED": {'description': 'Drug exposure derived through NLP', 'aliases': ['NLP DERIVED']}, + "PRESCRIPTION_DISPENSED_IN_PHARMACY": {'description': 'Prescription dispensed at pharmacy', 'aliases': ['PRESCRIPTION DISPENSED IN PHARMACY']}, + "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER": {'description': 'Drug administered by physician from EHR order', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED FROM EHR ORDER)']}, + "DISPENSED_IN_OUTPATIENT_OFFICE": {'description': 'Drug dispensed in outpatient office', 'aliases': ['DISPENSED IN OUTPATIENT OFFICE']}, + "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER": {'description': 'Prescription dispensed via mail order', 'aliases': ['PRESCRIPTION DISPENSED THROUGH MAIL ORDER']}, + "PRESCRIPTION_WRITTEN": {'description': 'Prescription written by provider', 'aliases': ['PRESCRIPTION WRITTEN']}, + "MEDICATION_LIST_ENTRY": {'description': 'Drug from medication list', 'aliases': ['MEDICATION LIST ENTRY']}, + "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE": {'description': 'Drug administered as procedure', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED AS PROCEDURE)']}, + "INPATIENT_ADMINISTRATION": {'description': 'Drug administered during inpatient stay', 'aliases': ['INPATIENT ADMINISTRATION']}, +} + +class StatusEnum(RichEnum): + """ + Values indicating whether a condition or observation is present, absent, or of unknown status. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation to avoid it becoming an enum member +StatusEnum._metadata = { + "PRESENT": {'description': 'Was present in the patient at observation time'}, + "ABSENT": {'description': 'Was absent in the patient at observation time'}, + "UNKNOWN": {'description': 'Status was unknown at observation time'}, +} + +class HistoricalStatusEnum(RichEnum): + """ + Extended status values including historical presence of conditions or observations. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + HISTORICAL = "HISTORICAL" + +# Set metadata after class creation to avoid it becoming an enum member +HistoricalStatusEnum._metadata = { + "PRESENT": {'description': 'Currently present in the patient'}, + "ABSENT": {'description': 'Currently absent in the patient'}, + "UNKNOWN": {'description': 'Current status is unknown'}, + "HISTORICAL": {'description': 'Was present in the patient historically but not currently'}, +} + +class ResearchProjectTypeEnum(RichEnum): + """ + Types of research projects and studies + """ + # Enum members + CONSORTIUM = "CONSORTIUM" + STUDY = "STUDY" + +# Set metadata after class creation to avoid it becoming an enum member +ResearchProjectTypeEnum._metadata = { + "CONSORTIUM": {'description': 'Multi-institutional research consortium'}, + "STUDY": {'description': 'Individual research study'}, +} + +class DataUsePermissionEnum(RichEnum): + """ + Primary data use permissions from the GA4GH Data Use Ontology (DUO) indicating what research purposes data can be used for. + """ + # Enum members + GRU = "GRU" + HMB = "HMB" + DS = "DS" + NO_RESTRICTION = "NO_RESTRICTION" + +# Set metadata after class creation to avoid it becoming an enum member +DataUsePermissionEnum._metadata = { + "GRU": {'description': 'General research use - allowed for any research purpose including health/medical/biomedical, fundamental biology, population origins, statistical methods development, and social-sciences research.', 'meaning': 'DUO:0000042', 'aliases': ['general research use']}, + "HMB": {'description': 'Health/medical/biomedical research only - does not include study of population origins or ancestry.', 'meaning': 'DUO:0000006', 'aliases': ['health or medical or biomedical research']}, + "DS": {'description': 'Disease-specific research - use allowed only for research related to specified disease(s). Should be coupled with disease ontology term.', 'meaning': 'DUO:0000007', 'aliases': ['disease specific research']}, + "NO_RESTRICTION": {'description': 'No restriction on use of the data.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, +} + +class DataUseModifierEnum(RichEnum): + """ + Additional conditions and modifiers for data use from the GA4GH Data Use Ontology (DUO). + """ + # Enum members + NPUNCU = "NPUNCU" + NPO = "NPO" + NCU = "NCU" + IRB = "IRB" + NRES = "NRES" + NMDS = "NMDS" + RS = "RS" + +# Set metadata after class creation to avoid it becoming an enum member +DataUseModifierEnum._metadata = { + "NPUNCU": {'description': 'Not-for-profit use only - use limited to not-for-profit organizations and non-commercial use.', 'meaning': 'DUO:0000018', 'aliases': ['not for profit, non commercial use only']}, + "NPO": {'description': 'Use limited to not-for-profit organizations only.', 'meaning': 'DUO:0000045', 'aliases': ['not for profit organisation use only']}, + "NCU": {'description': 'Non-commercial use only - data can be used by commercial organizations for research but not commercial purposes.', 'meaning': 'DUO:0000046', 'aliases': ['non-commercial use only']}, + "IRB": {'description': 'Ethics approval required - requestor must provide documentation of local IRB/ERB approval.', 'meaning': 'DUO:0000021', 'aliases': ['ethics approval required']}, + "NRES": {'description': 'No restriction on data use.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, + "NMDS": {'description': 'No general methods research - does not allow methods development.', 'meaning': 'DUO:0000015', 'aliases': ['no general methods research']}, + "RS": {'description': 'Research-specific restrictions apply.', 'meaning': 'DUO:0000012', 'aliases': ['research specific restrictions']}, +} + class MimeType(RichEnum): """ Common MIME types for various file formats diff --git a/src/valuesets/enums/__init__.py b/src/valuesets/enums/__init__.py index b883a107..41c96cbf 100644 --- a/src/valuesets/enums/__init__.py +++ b/src/valuesets/enums/__init__.py @@ -50,7 +50,7 @@ from .bio.sequence_alphabets import DNABaseEnum, DNABaseExtendedEnum, RNABaseEnum, RNABaseExtendedEnum, AminoAcidEnum, AminoAcidExtendedEnum, CodonEnum, NucleotideModificationEnum, SequenceQualityEnum from .bio.sequence_chemistry import IUPACNucleotideCode, StandardAminoAcid, IUPACAminoAcidCode, SequenceAlphabet, SequenceQualityEncoding, GeneticCodeTable, SequenceStrand, SequenceTopology, SequenceModality from .bio.sequencing_platforms import SequencingPlatform, SequencingChemistry, LibraryPreparation, SequencingApplication, ReadType, SequenceFileFormat, DataProcessingLevel -from .bio.specimen_processing import SpecimenPreparationMethodEnum, TissuePreservationEnum, SpecimenCollectionMethodEnum, SpecimenTypeEnum +from .bio.specimen_processing import SpecimenPreparationMethodEnum, TissuePreservationEnum, SpecimenCollectionMethodEnum, SpecimenTypeEnum, AnalyteTypeEnum, SourceMaterialTypeEnum, SpecimenCreationActivityTypeEnum, SpecimenProcessingActivityTypeEnum, SpecimenQualityObservationTypeEnum, SpecimenQualityObservationMethodEnum, SpecimenQuantityObservationTypeEnum, SectionLocationEnum from .bio.structural_biology import SampleType, StructuralBiologyTechnique, CryoEMPreparationType, CryoEMGridType, VitrificationMethod, CrystallizationMethod, XRaySource, Detector, WorkflowType, FileFormat, DataType, ProcessingStatus, CoordinationGeometry, MetalLigandType, ProteinModificationType from .bio.taxonomy import CommonOrganismTaxaEnum, TaxonomicRank, BiologicalKingdom from .bio.transplantation import TransplantationTypeEnum, XenograftModelEnum, ModelSystemTypeEnum @@ -78,6 +78,7 @@ from .clinical.genetics import ModeOfInheritance from .clinical.nih_demographics import RaceOMB1997Enum, EthnicityOMB1997Enum, BiologicalSexEnum, AgeGroupEnum, ParticipantVitalStatusEnum, RecruitmentStatusEnum, StudyPhaseEnum from .clinical.phenopackets import KaryotypicSexEnum, PhenotypicSexEnum, AllelicStateEnum, LateralityEnum, OnsetTimingEnum, ACMGPathogenicityEnum, TherapeuticActionabilityEnum, InterpretationProgressEnum, RegimenStatusEnum, DrugResponseEnum +from .clinical.provenance import ConditionProvenanceEnum, VisitProvenanceEnum, DrugExposureProvenanceEnum, StatusEnum, HistoricalStatusEnum, ResearchProjectTypeEnum # Computing domain from .computing.croissant_ml import MLDataType, DatasetEncodingFormat, DatasetSplitType, MLLicenseType, MLFieldRole, CompressionFormat, MLMediaType, MLModalityType @@ -102,6 +103,7 @@ # Data domain from .data.data_absent_reason import DataAbsentEnum +from .data.data_use import DataUsePermissionEnum, DataUseModifierEnum # Data_Catalog domain from .data_catalog.access import AccessRights, DatasetStatus, UpdateFrequency, DataServiceType @@ -197,6 +199,7 @@ # Social domain from .social.person_status import PersonStatusEnum +from .social.sdoh import GravitySdohDomainEnum, EducationalAttainmentEnum # Spatial domain from .spatial.spatial_qualifiers import SimpleSpatialDirection, AnatomicalSide, AnatomicalRegion, AnatomicalAxis, AnatomicalPlane, SpatialRelationship, CellPolarity, AnatomicalOrientation @@ -227,6 +230,7 @@ "AllergyTypeEnum", "AminoAcidEnum", "AminoAcidExtendedEnum", + "AnalyteTypeEnum", "AnalyticalControlType", "AnatomicalAxis", "AnatomicalOrientation", @@ -307,6 +311,7 @@ "CompressionFormat", "CompressionType", "ConcentrationUnitEnum", + "ConditionProvenanceEnum", "ConfidenceLevel", "ConfidenceLevelEnum", "ConfidenceScore", @@ -341,6 +346,8 @@ "DataServiceType", "DataSizeUnitEnum", "DataType", + "DataUseModifierEnum", + "DataUsePermissionEnum", "DatasetEncodingFormat", "DatasetSplitType", "DatasetStatus", @@ -355,12 +362,14 @@ "DigitalObjectCategory", "DocumentFormatEnum", "DownstreamProcessEnum", + "DrugExposureProvenanceEnum", "DrugResponseEnum", "DrugRouteEnum", "EPAIRISCarcinogenicityGroup", "EcologicalEnvironmentExposureEnum", "EconomicSectorEnum", "EducationLevel", + "EducationalAttainmentEnum", "ElectricalConductivityEnum", "ElectricalWireColorEnum", "ElectricityMarket", @@ -438,6 +447,7 @@ "GeothermalResourceTemperature", "GeothermalSystemType", "GeothermalWellType", + "GravitySdohDomainEnum", "GridType", "HHEARExposureAssessedEnum", "HRFunctionEnum", @@ -447,6 +457,7 @@ "HealthcareEncounterClassification", "HeavyMetalEnum", "HistoricalPeriod", + "HistoricalStatusEnum", "HousingStatus", "HumanAgeGroupEnum", "HumanDevelopmentalStage", @@ -682,6 +693,7 @@ "RelativeDirection", "RelativeTimeEnum", "ResearchField", + "ResearchProjectTypeEnum", "ResearchReactorTypeEnum", "ResearchRole", "RightsBasis", @@ -697,6 +709,7 @@ "SchedulerTypeEnum", "Season", "SeasonalEnvironmentExposureEnum", + "SectionLocationEnum", "SensorWhileDrillingFeature", "SentimentClassificationEnum", "SequenceAlphabet", @@ -717,18 +730,25 @@ "SmokingStatusEnum", "SoftwareMaturityLevel", "SolventClassEnum", + "SourceMaterialTypeEnum", "SourcingStrategyEnum", "SpamClassificationEnum", "SpatialRelationship", "SpatialResolutionEnum", "SpecimenCollectionMethodEnum", + "SpecimenCreationActivityTypeEnum", "SpecimenPreparationMethodEnum", + "SpecimenProcessingActivityTypeEnum", + "SpecimenQualityObservationMethodEnum", + "SpecimenQualityObservationTypeEnum", + "SpecimenQuantityObservationTypeEnum", "SpecimenTypeEnum", "SpectroscopyMethodEnum", "StandardAminoAcid", "StandardsMaturityLevel", "StandardsOrganizationEnum", "StateOfMatterEnum", + "StatusEnum", "SterilizationMethodEnum", "StrandType", "StrategicFrameworkEnum", @@ -784,6 +804,7 @@ "VendorCategoryEnum", "VideoFormatEnum", "ViralGenomeTypeEnum", + "VisitProvenanceEnum", "VitalSignEnum", "VitalStatusEnum", "VitrificationMethod", diff --git a/src/valuesets/enums/bio/specimen_processing.py b/src/valuesets/enums/bio/specimen_processing.py index fc1bfbd2..a6a17a7b 100644 --- a/src/valuesets/enums/bio/specimen_processing.py +++ b/src/valuesets/enums/bio/specimen_processing.py @@ -32,20 +32,20 @@ class SpecimenPreparationMethodEnum(RichEnum): # Set metadata after class creation SpecimenPreparationMethodEnum._metadata = { - "FFPE": {'description': 'Formalin-fixed, paraffin-embedded tissue preservation', 'meaning': 'NCIT:C143028', 'annotations': {'fixative': 'formalin', 'embedding': 'paraffin'}, 'aliases': ['Formalin-fixed paraffin-embedded', 'formalin-fixed, paraffin-embedded']}, - "FORMALIN_FIXED": {'description': 'Tissue fixed with formalin without paraffin embedding', 'meaning': 'NCIT:C84516', 'annotations': {'fixative': 'formalin'}, 'aliases': ['formalin-fixed']}, - "CRYOPRESERVED": {'description': 'Specimen preserved by freezing with cryoprotectant', 'meaning': 'NCIT:C16475', 'annotations': {'temperature': 'ultra-low'}, 'aliases': ['Cryopreserved']}, + "FFPE": {'description': 'Formalin-fixed, paraffin-embedded tissue preservation', 'meaning': 'NCIT:C143028', 'annotations': {'fixative': 'formalin', 'embedding': 'paraffin'}, 'aliases': ['Formalin-fixed paraffin-embedded', 'formalin-fixed, paraffin-embedded', 'FFPE Tissue Block']}, + "FORMALIN_FIXED": {'description': 'Tissue fixed with formalin without paraffin embedding', 'annotations': {'fixative': 'formalin'}, 'aliases': ['formalin-fixed']}, + "CRYOPRESERVED": {'description': 'Specimen preserved by freezing with cryoprotectant', 'meaning': 'NCIT:C16475', 'annotations': {'temperature': 'ultra-low'}, 'aliases': ['Cryopreserved', 'Cryopreservation']}, "VIABLY_FROZEN": {'description': 'Specimen frozen while maintaining cell viability', 'annotations': {'viability': 'preserved'}, 'aliases': ['Viably frozen']}, - "FLASH_FROZEN": {'description': 'Rapid freezing to preserve molecular integrity', 'meaning': 'NCIT:C178955', 'annotations': {'method': 'rapid freezing'}, 'aliases': ['Flash frozen', 'snap frozen']}, + "FLASH_FROZEN": {'description': 'Rapid freezing to preserve molecular integrity', 'annotations': {'method': 'rapid freezing'}, 'aliases': ['Flash frozen', 'snap frozen']}, "FRESH_COLLECTED": {'description': 'Freshly collected specimen without preservation', 'annotations': {'preservation': 'none'}, 'aliases': ['Fresh collected', 'fresh']}, - "OCT_EMBEDDED": {'description': 'Tissue embedded in optimal cutting temperature compound', 'meaning': 'OBI:0001472', 'annotations': {'embedding': 'OCT compound', 'purpose': 'cryosectioning'}, 'aliases': ['OCT', 'OCT embedded']}, + "OCT_EMBEDDED": {'description': 'Tissue embedded in optimal cutting temperature compound', 'annotations': {'embedding': 'OCT compound', 'purpose': 'cryosectioning'}, 'aliases': ['OCT', 'OCT embedded']}, "RNALATER": {'description': 'Storage in reagent that stabilizes and protects cellular RNA', 'annotations': {'purpose': 'RNA stabilization', 'manufacturer': 'Thermo Fisher'}, 'aliases': ['RNAlater']}, "ETHANOL_PRESERVED": {'description': 'Specimen preserved in ethanol', 'annotations': {'preservative': 'ethanol'}, 'aliases': ['ethanol']}, "METHANOL_FIXED": {'description': 'Specimen fixed with methanol', 'annotations': {'fixative': 'methanol'}, 'aliases': ['methanol']}, "ACETONE_FIXED": {'description': 'Specimen fixed with acetone', 'annotations': {'fixative': 'acetone'}}, "PAXGENE_FIXED": {'description': 'Tissue fixed using PAXgene tissue system', 'annotations': {'purpose': 'RNA and DNA preservation'}}, "DRIED": {'description': 'Air-dried or desiccated specimen', 'aliases': ['air-dried']}, - "LYOPHILIZED": {'description': 'Freeze-dried specimen', 'meaning': 'NCIT:C28175', 'aliases': ['freeze-dried', 'lyophilization']}, + "LYOPHILIZED": {'description': 'Freeze-dried specimen', 'meaning': 'NCIT:C28150', 'aliases': ['freeze-dried', 'lyophilization', 'Freeze-Drying']}, } class TissuePreservationEnum(RichEnum): @@ -60,8 +60,8 @@ class TissuePreservationEnum(RichEnum): # Set metadata after class creation TissuePreservationEnum._metadata = { - "FROZEN": {'description': 'Tissue preserved by freezing', 'meaning': 'NCIT:C70717'}, - "FIXED": {'description': 'Tissue preserved by chemical fixation', 'meaning': 'NCIT:C19328'}, + "FROZEN": {'description': 'Tissue preserved by freezing', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "FIXED": {'description': 'Tissue preserved by chemical fixation', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, "FRESH": {'description': 'Fresh unfixed tissue'}, "EMBEDDED": {'description': 'Tissue embedded in medium (paraffin, OCT, etc.)'}, } @@ -84,16 +84,16 @@ class SpecimenCollectionMethodEnum(RichEnum): # Set metadata after class creation SpecimenCollectionMethodEnum._metadata = { - "BIOPSY": {'description': 'Tissue sample obtained by biopsy', 'meaning': 'NCIT:C15189'}, - "SURGICAL_RESECTION": {'description': 'Tissue obtained during surgical resection', 'meaning': 'NCIT:C15329'}, - "AUTOPSY": {'description': 'Specimen obtained at autopsy', 'meaning': 'NCIT:C25153'}, - "FINE_NEEDLE_ASPIRATE": {'description': 'Sample obtained by fine needle aspiration', 'meaning': 'NCIT:C15361', 'aliases': ['FNA']}, - "CORE_NEEDLE_BIOPSY": {'description': 'Sample obtained by core needle biopsy', 'meaning': 'NCIT:C15190'}, - "PUNCH_BIOPSY": {'description': 'Sample obtained by punch biopsy', 'meaning': 'NCIT:C15195'}, - "SWAB": {'description': 'Sample collected by swabbing', 'meaning': 'OBI:0002822'}, - "VENIPUNCTURE": {'description': 'Blood sample obtained by venipuncture', 'meaning': 'NCIT:C28221'}, - "LUMBAR_PUNCTURE": {'description': 'CSF sample obtained by lumbar puncture', 'meaning': 'NCIT:C15327', 'aliases': ['spinal tap']}, - "LAVAGE": {'description': 'Sample obtained by lavage (washing)', 'meaning': 'NCIT:C15282'}, + "BIOPSY": {'description': 'Tissue sample obtained by biopsy', 'meaning': 'NCIT:C15189', 'aliases': ['Biopsy Procedure']}, + "SURGICAL_RESECTION": {'description': 'Tissue obtained during surgical resection', 'meaning': 'NCIT:C15329', 'aliases': ['Surgical Procedure']}, + "AUTOPSY": {'description': 'Specimen obtained at autopsy', 'meaning': 'NCIT:C25153', 'aliases': ['Autopsy']}, + "FINE_NEEDLE_ASPIRATE": {'description': 'Sample obtained by fine needle aspiration', 'meaning': 'NCIT:C15361', 'aliases': ['FNA', 'Fine-Needle Aspiration']}, + "CORE_NEEDLE_BIOPSY": {'description': 'Sample obtained by core needle biopsy', 'meaning': 'NCIT:C15190', 'aliases': ['Needle Biopsy']}, + "PUNCH_BIOPSY": {'description': 'Sample obtained by punch biopsy'}, + "SWAB": {'description': 'Sample collected by swabbing'}, + "VENIPUNCTURE": {'description': 'Blood sample obtained by venipuncture', 'meaning': 'NCIT:C28221', 'aliases': ['Phlebotomy']}, + "LUMBAR_PUNCTURE": {'description': 'CSF sample obtained by lumbar puncture', 'meaning': 'NCIT:C15327', 'aliases': ['spinal tap', 'Lumbar Puncture']}, + "LAVAGE": {'description': 'Sample obtained by lavage (washing)'}, } class SpecimenTypeEnum(RichEnum): @@ -124,31 +124,223 @@ class SpecimenTypeEnum(RichEnum): # Set metadata after class creation SpecimenTypeEnum._metadata = { - "TISSUE": {'description': 'Solid tissue specimen', 'meaning': 'NCIT:C12801'}, - "BLOOD": {'description': 'Whole blood specimen', 'meaning': 'NCIT:C12434'}, - "PLASMA": {'description': 'Blood plasma specimen', 'meaning': 'NCIT:C13356'}, - "SERUM": {'description': 'Blood serum specimen', 'meaning': 'NCIT:C13325'}, - "BUFFY_COAT": {'description': 'Leukocyte-enriched blood fraction', 'meaning': 'NCIT:C84507'}, - "URINE": {'description': 'Urine specimen', 'meaning': 'NCIT:C13283'}, - "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275'}, - "STOOL": {'description': 'Stool/fecal specimen', 'meaning': 'NCIT:C13234'}, - "CSF": {'description': 'Cerebrospinal fluid specimen', 'meaning': 'NCIT:C12692', 'aliases': ['cerebrospinal fluid']}, + "TISSUE": {'description': 'Solid tissue specimen', 'meaning': 'NCIT:C12801', 'aliases': ['Tissue']}, + "BLOOD": {'description': 'Whole blood specimen', 'meaning': 'NCIT:C12434', 'aliases': ['Blood']}, + "PLASMA": {'description': 'Blood plasma specimen', 'meaning': 'NCIT:C13356', 'aliases': ['Plasma']}, + "SERUM": {'description': 'Blood serum specimen', 'meaning': 'NCIT:C13325', 'aliases': ['Serum']}, + "BUFFY_COAT": {'description': 'Leukocyte-enriched blood fraction', 'meaning': 'NCIT:C84507', 'aliases': ['Buffy Coat']}, + "URINE": {'description': 'Urine specimen', 'meaning': 'NCIT:C13283', 'aliases': ['Urine']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "STOOL": {'description': 'Stool/fecal specimen', 'meaning': 'NCIT:C13234', 'aliases': ['Feces', 'fecal']}, + "CSF": {'description': 'Cerebrospinal fluid specimen', 'meaning': 'NCIT:C12692', 'aliases': ['cerebrospinal fluid', 'Cerebrospinal Fluid']}, "SWEAT": {'description': 'Sweat specimen'}, "MUCUS": {'description': 'Mucus specimen'}, - "BONE_MARROW": {'description': 'Bone marrow specimen', 'meaning': 'NCIT:C12431'}, - "PRIMARY_TUMOR": {'description': 'Primary tumor tissue specimen', 'meaning': 'NCIT:C162622'}, - "METASTATIC_TUMOR": {'description': 'Metastatic tumor tissue specimen'}, - "TUMOR_ADJACENT_NORMAL": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032'}, - "ORGANOID": {'description': 'Organoid specimen', 'meaning': 'NCIT:C172259'}, + "BONE_MARROW": {'description': 'Bone marrow specimen', 'meaning': 'NCIT:C12431', 'aliases': ['Bone Marrow']}, + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue specimen', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC_TUMOR": {'description': 'Metastatic tumor tissue specimen', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "TUMOR_ADJACENT_NORMAL": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "ORGANOID": {'description': 'Organoid specimen', 'meaning': 'NCIT:C172259', 'aliases': ['Organoid']}, "SPHEROID": {'description': 'Cell spheroid specimen'}, "MICROTISSUE": {'description': 'Engineered microtissue specimen'}, - "PDX_TISSUE": {'description': 'Patient-derived xenograft tissue', 'meaning': 'NCIT:C156443', 'aliases': ['PDX tissue']}, + "PDX_TISSUE": {'description': 'Patient-derived xenograft tissue', 'meaning': 'NCIT:C122936', 'aliases': ['PDX tissue', 'Patient Derived Xenograft']}, "CDX_TISSUE": {'description': 'Cell line-derived xenograft tissue', 'aliases': ['CDX tissue']}, } +class AnalyteTypeEnum(RichEnum): + """ + Types of analytes that can be extracted from biological specimens for molecular analysis. + """ + # Enum members + DNA = "DNA" + RNA = "RNA" + TOTAL_RNA = "TOTAL_RNA" + FFPE_DNA = "FFPE_DNA" + FFPE_RNA = "FFPE_RNA" + CFDNA = "cfDNA" + PROTEIN = "PROTEIN" + NUCLEI_RNA = "NUCLEI_RNA" + REPLI_G_DNA = "REPLI_G_DNA" + REPLI_G_X_DNA = "REPLI_G_X_DNA" + REPLI_G_POOLED_DNA = "REPLI_G_POOLED_DNA" + GENOMEPLEX_DNA = "GENOMEPLEX_DNA" + EBV_IMMORTALIZED = "EBV_IMMORTALIZED" + +# Set metadata after class creation +AnalyteTypeEnum._metadata = { + "DNA": {'description': 'Deoxyribonucleic acid', 'meaning': 'NCIT:C198567', 'aliases': ['DNA Specimen']}, + "RNA": {'description': 'Ribonucleic acid', 'meaning': 'NCIT:C198568', 'aliases': ['RNA Specimen']}, + "TOTAL_RNA": {'description': 'Total RNA including all RNA species'}, + "FFPE_DNA": {'description': 'DNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded DNA']}, + "FFPE_RNA": {'description': 'RNA extracted from formalin-fixed paraffin-embedded tissue', 'aliases': ['Formalin-Fixed Paraffin-Embedded RNA']}, + "CFDNA": {'description': 'Cell-free DNA found in blood plasma', 'meaning': 'NCIT:C128274', 'aliases': ['Circulating Cell-Free DNA', 'cell-free DNA']}, + "PROTEIN": {'description': 'Protein analyte', 'meaning': 'NCIT:C17021', 'aliases': ['Protein']}, + "NUCLEI_RNA": {'description': 'RNA isolated from cell nuclei'}, + "REPLI_G_DNA": {'description': 'Whole genome amplified DNA using Repli-G technology', 'aliases': ['Repli-G (Qiagen) DNA']}, + "REPLI_G_X_DNA": {'description': 'Whole genome amplified DNA using Repli-G X technology', 'aliases': ['Repli-G X (Qiagen) DNA']}, + "REPLI_G_POOLED_DNA": {'description': 'Pooled whole genome amplified DNA using Repli-G', 'aliases': ['Repli-G Pooled (Qiagen) DNA']}, + "GENOMEPLEX_DNA": {'description': 'Whole genome amplified DNA using GenomePlex technology', 'aliases': ['GenomePlex (Rubicon) Amplified DNA']}, + "EBV_IMMORTALIZED": {'description': 'DNA/cells from EBV immortalized cell lines', 'aliases': ['EBV Immortalized Normal']}, +} + +class SourceMaterialTypeEnum(RichEnum): + """ + Types of source materials from which specimens are derived, particularly relevant for cancer and tissue banking research. + """ + # Enum members + PRIMARY_TUMOR = "PRIMARY_TUMOR" + METASTATIC = "METASTATIC" + RECURRENT_TUMOR = "RECURRENT_TUMOR" + BLOOD_DERIVED_NORMAL = "BLOOD_DERIVED_NORMAL" + BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD = "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD" + BLOOD_DERIVED_CANCER_BONE_MARROW = "BLOOD_DERIVED_CANCER_BONE_MARROW" + BONE_MARROW_NORMAL = "BONE_MARROW_NORMAL" + SOLID_TISSUE_NORMAL = "SOLID_TISSUE_NORMAL" + BUCCAL_CELL_NORMAL = "BUCCAL_CELL_NORMAL" + NORMAL_ADJACENT_TISSUE = "NORMAL_ADJACENT_TISSUE" + CELL_LINES = "CELL_LINES" + PRIMARY_XENOGRAFT_TISSUE = "PRIMARY_XENOGRAFT_TISSUE" + XENOGRAFT_TISSUE = "XENOGRAFT_TISSUE" + NEXT_GENERATION_CANCER_MODEL = "NEXT_GENERATION_CANCER_MODEL" + PLEURAL_EFFUSION = "PLEURAL_EFFUSION" + SALIVA = "SALIVA" + GRANULOCYTES = "GRANULOCYTES" + EBV_IMMORTALIZED_NORMAL = "EBV_IMMORTALIZED_NORMAL" + CONTROL_ANALYTE = "CONTROL_ANALYTE" + FFPE_SCROLLS = "FFPE_SCROLLS" + FFPE_RECURRENT = "FFPE_RECURRENT" + NOT_REPORTED = "NOT_REPORTED" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation +SourceMaterialTypeEnum._metadata = { + "PRIMARY_TUMOR": {'description': 'Primary tumor tissue', 'meaning': 'NCIT:C8509', 'aliases': ['Primary Neoplasm']}, + "METASTATIC": {'description': 'Metastatic tumor tissue', 'meaning': 'NCIT:C3261', 'aliases': ['Metastatic Neoplasm']}, + "RECURRENT_TUMOR": {'description': 'Recurrent tumor tissue', 'meaning': 'NCIT:C4798', 'aliases': ['Recurrent Neoplasm']}, + "BLOOD_DERIVED_NORMAL": {'description': 'Normal cells derived from blood'}, + "BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD": {'description': 'Cancer cells from peripheral blood'}, + "BLOOD_DERIVED_CANCER_BONE_MARROW": {'description': 'Cancer cells from bone marrow'}, + "BONE_MARROW_NORMAL": {'description': 'Normal bone marrow cells'}, + "SOLID_TISSUE_NORMAL": {'description': 'Normal solid tissue'}, + "BUCCAL_CELL_NORMAL": {'description': 'Normal buccal (cheek) cells'}, + "NORMAL_ADJACENT_TISSUE": {'description': 'Normal tissue adjacent to tumor', 'meaning': 'NCIT:C164032', 'aliases': ['Tumor-Adjacent Normal Specimen']}, + "CELL_LINES": {'description': 'Established cell lines', 'meaning': 'NCIT:C16403', 'aliases': ['Cell Line']}, + "PRIMARY_XENOGRAFT_TISSUE": {'description': 'Tissue from primary xenograft'}, + "XENOGRAFT_TISSUE": {'description': 'Tissue derived from xenograft models'}, + "NEXT_GENERATION_CANCER_MODEL": {'description': 'Tissue from next-generation cancer models'}, + "PLEURAL_EFFUSION": {'description': 'Fluid from pleural effusion', 'meaning': 'NCIT:C3331', 'aliases': ['Pleural Effusion']}, + "SALIVA": {'description': 'Saliva specimen', 'meaning': 'NCIT:C13275', 'aliases': ['Saliva']}, + "GRANULOCYTES": {'description': 'Granulocyte cells', 'meaning': 'NCIT:C12530', 'aliases': ['Granulocyte']}, + "EBV_IMMORTALIZED_NORMAL": {'description': 'EBV immortalized normal cells'}, + "CONTROL_ANALYTE": {'description': 'Control analyte material'}, + "FFPE_SCROLLS": {'description': 'FFPE tissue scrolls'}, + "FFPE_RECURRENT": {'description': 'FFPE tissue from recurrent tumor'}, + "NOT_REPORTED": {'description': 'Source material type not reported'}, + "UNKNOWN": {'description': 'Unknown source material type', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + +class SpecimenCreationActivityTypeEnum(RichEnum): + """ + High-level types of activities through which specimens are generated, either by collection from source or derivation from existing specimens. + """ + # Enum members + COLLECTION_FROM_SOURCE = "COLLECTION_FROM_SOURCE" + DERIVATION_FROM_SPECIMEN = "DERIVATION_FROM_SPECIMEN" + +# Set metadata after class creation +SpecimenCreationActivityTypeEnum._metadata = { + "COLLECTION_FROM_SOURCE": {'description': 'Activity that collects an initial sample directly from a subject or source', 'meaning': 'OBI:0000659', 'aliases': ['specimen collection process']}, + "DERIVATION_FROM_SPECIMEN": {'description': 'Activity that derives a new specimen from an existing one', 'meaning': 'OBI:0000094', 'aliases': ['material processing']}, +} + +class SpecimenProcessingActivityTypeEnum(RichEnum): + """ + High-level types of specimen processing activities + """ + # Enum members + FIXATION = "FIXATION" + FREEZING = "FREEZING" + MOUNTING = "MOUNTING" + PRESERVATION = "PRESERVATION" + +# Set metadata after class creation +SpecimenProcessingActivityTypeEnum._metadata = { + "FIXATION": {'description': 'Chemical preservation to maintain structural and molecular features', 'meaning': 'NCIT:C25219', 'aliases': ['Fixation']}, + "FREEZING": {'description': 'Processing activity that freezes a specimen', 'meaning': 'NCIT:C70717', 'aliases': ['Frozen Specimen']}, + "MOUNTING": {'description': 'Securing a specimen in place for examination'}, + "PRESERVATION": {'description': 'Processing activity that preserves a specimen for storage'}, +} + +class SpecimenQualityObservationTypeEnum(RichEnum): + """ + Types of measurements that reflect specimen quality or suitability for use + """ + # Enum members + A260_A280_RATIO = "A260_A280_RATIO" + RIBOSOMAL_RNA_28S_16S_RATIO = "RIBOSOMAL_RNA_28S_16S_RATIO" + +# Set metadata after class creation +SpecimenQualityObservationTypeEnum._metadata = { + "A260_A280_RATIO": {'description': 'Ratio of absorbance at 260nm to 280nm wavelength for nucleic acid purity'}, + "RIBOSOMAL_RNA_28S_16S_RATIO": {'description': 'Ratio of 28S to 16S ribosomal RNA for RNA integrity'}, +} + +class SpecimenQualityObservationMethodEnum(RichEnum): + """ + Methods used for determining specimen quality + """ + # Enum members + UV_SPEC = "UV_SPEC" + PICO_GREEN = "PICO_GREEN" + +# Set metadata after class creation +SpecimenQualityObservationMethodEnum._metadata = { + "UV_SPEC": {'description': 'UV-Vis spectrophotometry measuring absorbance across UV and visible ranges', 'meaning': 'NCIT:C116701', 'aliases': ['Spectrophotometry']}, + "PICO_GREEN": {'description': 'Fluorescent dye assay for quantifying double-stranded DNA'}, +} + +class SpecimenQuantityObservationTypeEnum(RichEnum): + """ + Types of quantity measurements for specimens + """ + # Enum members + WEIGHT = "WEIGHT" + VOLUME = "VOLUME" + CONCENTRATION = "CONCENTRATION" + +# Set metadata after class creation +SpecimenQuantityObservationTypeEnum._metadata = { + "WEIGHT": {'description': 'Current weight of the specimen', 'meaning': 'NCIT:C25208', 'aliases': ['Weight']}, + "VOLUME": {'description': 'Current volume of the specimen', 'meaning': 'NCIT:C25335', 'aliases': ['Volume']}, + "CONCENTRATION": {'description': 'Concentration of extracted analyte in specimen', 'meaning': 'NCIT:C41185', 'aliases': ['Concentration']}, +} + +class SectionLocationEnum(RichEnum): + """ + Location in a parent specimen from which a section was excised + """ + # Enum members + TOP = "TOP" + BOTTOM = "BOTTOM" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation +SectionLocationEnum._metadata = { + "TOP": {'description': 'The top portion of a specimen per orientation criteria'}, + "BOTTOM": {'description': 'The bottom portion of a specimen per orientation criteria'}, + "UNKNOWN": {'description': 'Unknown location on a specimen', 'meaning': 'NCIT:C17998', 'aliases': ['Unknown']}, +} + __all__ = [ "SpecimenPreparationMethodEnum", "TissuePreservationEnum", "SpecimenCollectionMethodEnum", "SpecimenTypeEnum", + "AnalyteTypeEnum", + "SourceMaterialTypeEnum", + "SpecimenCreationActivityTypeEnum", + "SpecimenProcessingActivityTypeEnum", + "SpecimenQualityObservationTypeEnum", + "SpecimenQualityObservationMethodEnum", + "SpecimenQuantityObservationTypeEnum", + "SectionLocationEnum", ] \ No newline at end of file diff --git a/src/valuesets/enums/clinical/provenance.py b/src/valuesets/enums/clinical/provenance.py new file mode 100644 index 00000000..2251d564 --- /dev/null +++ b/src/valuesets/enums/clinical/provenance.py @@ -0,0 +1,190 @@ +""" +Clinical Data Provenance Value Sets + +Value sets for tracking the provenance and source of clinical data, including condition, visit, drug, and device exposure provenance types. + +Generated from: clinical/provenance.yaml +""" + +from __future__ import annotations + +from valuesets.generators.rich_enum import RichEnum + +class ConditionProvenanceEnum(RichEnum): + """ + Sources of condition/diagnosis records indicating how the condition was documented or determined. + """ + # Enum members + EHR_BILLING_DIAGNOSIS = "EHR_BILLING_DIAGNOSIS" + EHR_CHIEF_COMPLAINT = "EHR_CHIEF_COMPLAINT" + EHR_ENCOUNTER_DIAGNOSIS = "EHR_ENCOUNTER_DIAGNOSIS" + EHR_EPISODE_ENTRY = "EHR_EPISODE_ENTRY" + EHR_PROBLEM_LIST_ENTRY = "EHR_PROBLEM_LIST_ENTRY" + FIRST_POSITION_CONDITION = "FIRST_POSITION_CONDITION" + NLP_DERIVED = "NLP_DERIVED" + OBSERVATION_RECORDED_FROM_EHR = "OBSERVATION_RECORDED_FROM_EHR" + PATIENT_SELF_REPORTED_CONDITION = "PATIENT_SELF_REPORTED_CONDITION" + PRIMARY_CONDITION = "PRIMARY_CONDITION" + REFERRAL_RECORD = "REFERRAL_RECORD" + SECONDARY_CONDITION = "SECONDARY_CONDITION" + TUMOR_REGISTRY = "TUMOR_REGISTRY" + WORKING_DIAGNOSIS = "WORKING_DIAGNOSIS" + CLINICAL_DIAGNOSIS = "CLINICAL_DIAGNOSIS" + +# Set metadata after class creation +ConditionProvenanceEnum._metadata = { + "EHR_BILLING_DIAGNOSIS": {'description': 'Diagnosis recorded for billing purposes in EHR'}, + "EHR_CHIEF_COMPLAINT": {'description': 'Condition documented as chief complaint in EHR'}, + "EHR_ENCOUNTER_DIAGNOSIS": {'description': 'Diagnosis recorded during healthcare encounter'}, + "EHR_EPISODE_ENTRY": {'description': 'Condition recorded as part of care episode'}, + "EHR_PROBLEM_LIST_ENTRY": {'description': 'Condition on patient problem list in EHR'}, + "FIRST_POSITION_CONDITION": {'description': 'Primary diagnosis in first position on claim'}, + "NLP_DERIVED": {'description': 'Condition derived through natural language processing'}, + "OBSERVATION_RECORDED_FROM_EHR": {'description': 'Condition recorded as observation in EHR'}, + "PATIENT_SELF_REPORTED_CONDITION": {'description': 'Condition reported by the patient', 'aliases': ['PATIENT_SELF-REPORTED_CONDITION']}, + "PRIMARY_CONDITION": {'description': 'Primary condition for an encounter or episode'}, + "REFERRAL_RECORD": {'description': 'Condition documented in referral record'}, + "SECONDARY_CONDITION": {'description': 'Secondary or comorbid condition'}, + "TUMOR_REGISTRY": {'description': 'Condition from tumor registry'}, + "WORKING_DIAGNOSIS": {'description': 'Preliminary or working diagnosis'}, + "CLINICAL_DIAGNOSIS": {'description': 'Clinically confirmed diagnosis'}, +} + +class VisitProvenanceEnum(RichEnum): + """ + Sources of healthcare visit/encounter records indicating the origin of the visit documentation. + """ + # Enum members + CASE_REPORT_FORM = "CASE_REPORT_FORM" + CLAIM = "CLAIM" + EHR = "EHR" + EHR_ENCOUNTER_RECORD = "EHR_ENCOUNTER_RECORD" + EHR_ADMISSION_NOTE = "EHR_ADMISSION_NOTE" + EHR_DISCHARGE_RECORD = "EHR_DISCHARGE_RECORD" + EHR_EMERGENCY_ROOM_NOTE = "EHR_EMERGENCY_ROOM_NOTE" + EHR_INPATIENT_NOTE = "EHR_INPATIENT_NOTE" + EHR_OUTPATIENT_NOTE = "EHR_OUTPATIENT_NOTE" + INPATIENT_CLAIM = "INPATIENT_CLAIM" + OUTPATIENT_CLAIM = "OUTPATIENT_CLAIM" + FACILITY_CLAIM = "FACILITY_CLAIM" + PROFESSIONAL_CLAIM = "PROFESSIONAL_CLAIM" + PHARMACY_CLAIM = "PHARMACY_CLAIM" + LAB = "LAB" + REGISTRY = "REGISTRY" + SURVEY = "SURVEY" + PATIENT_SELF_REPORT = "PATIENT_SELF_REPORT" + NLP = "NLP" + HEALTH_INFORMATION_EXCHANGE_RECORD = "HEALTH_INFORMATION_EXCHANGE_RECORD" + +# Set metadata after class creation +VisitProvenanceEnum._metadata = { + "CASE_REPORT_FORM": {'description': 'Visit from clinical trial case report form'}, + "CLAIM": {'description': 'Visit derived from insurance claim'}, + "EHR": {'description': 'Visit from electronic health record'}, + "EHR_ENCOUNTER_RECORD": {'description': 'Visit from EHR encounter documentation'}, + "EHR_ADMISSION_NOTE": {'description': 'Visit from EHR admission note'}, + "EHR_DISCHARGE_RECORD": {'description': 'Visit from EHR discharge documentation'}, + "EHR_EMERGENCY_ROOM_NOTE": {'description': 'Visit from EHR emergency room note'}, + "EHR_INPATIENT_NOTE": {'description': 'Visit from EHR inpatient note'}, + "EHR_OUTPATIENT_NOTE": {'description': 'Visit from EHR outpatient note'}, + "INPATIENT_CLAIM": {'description': 'Visit from inpatient insurance claim'}, + "OUTPATIENT_CLAIM": {'description': 'Visit from outpatient insurance claim'}, + "FACILITY_CLAIM": {'description': 'Visit from facility insurance claim'}, + "PROFESSIONAL_CLAIM": {'description': 'Visit from professional services claim'}, + "PHARMACY_CLAIM": {'description': 'Visit from pharmacy claim'}, + "LAB": {'description': 'Visit from laboratory record'}, + "REGISTRY": {'description': 'Visit from disease or patient registry'}, + "SURVEY": {'description': 'Visit from patient survey'}, + "PATIENT_SELF_REPORT": {'description': 'Visit reported by patient', 'aliases': ['PATIENT_SELF-REPORT']}, + "NLP": {'description': 'Visit derived through natural language processing'}, + "HEALTH_INFORMATION_EXCHANGE_RECORD": {'description': 'Visit from health information exchange'}, +} + +class DrugExposureProvenanceEnum(RichEnum): + """ + Sources of drug exposure records indicating how the medication information was documented. + """ + # Enum members + RANDOMIZED_DRUG = "RANDOMIZED_DRUG" + PATIENT_SELF_REPORTED_MEDICATION = "PATIENT_SELF_REPORTED_MEDICATION" + NLP_DERIVED = "NLP_DERIVED" + PRESCRIPTION_DISPENSED_IN_PHARMACY = "PRESCRIPTION_DISPENSED_IN_PHARMACY" + PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER = "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER" + DISPENSED_IN_OUTPATIENT_OFFICE = "DISPENSED_IN_OUTPATIENT_OFFICE" + PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER = "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER" + PRESCRIPTION_WRITTEN = "PRESCRIPTION_WRITTEN" + MEDICATION_LIST_ENTRY = "MEDICATION_LIST_ENTRY" + PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE = "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE" + INPATIENT_ADMINISTRATION = "INPATIENT_ADMINISTRATION" + +# Set metadata after class creation +DrugExposureProvenanceEnum._metadata = { + "RANDOMIZED_DRUG": {'description': 'Drug from clinical trial randomization', 'aliases': ['RANDOMIZED DRUG']}, + "PATIENT_SELF_REPORTED_MEDICATION": {'description': 'Medication reported by patient', 'aliases': ['PATIENT SELF-REPORTED MEDICATION']}, + "NLP_DERIVED": {'description': 'Drug exposure derived through NLP', 'aliases': ['NLP DERIVED']}, + "PRESCRIPTION_DISPENSED_IN_PHARMACY": {'description': 'Prescription dispensed at pharmacy', 'aliases': ['PRESCRIPTION DISPENSED IN PHARMACY']}, + "PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER": {'description': 'Drug administered by physician from EHR order', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED FROM EHR ORDER)']}, + "DISPENSED_IN_OUTPATIENT_OFFICE": {'description': 'Drug dispensed in outpatient office', 'aliases': ['DISPENSED IN OUTPATIENT OFFICE']}, + "PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER": {'description': 'Prescription dispensed via mail order', 'aliases': ['PRESCRIPTION DISPENSED THROUGH MAIL ORDER']}, + "PRESCRIPTION_WRITTEN": {'description': 'Prescription written by provider', 'aliases': ['PRESCRIPTION WRITTEN']}, + "MEDICATION_LIST_ENTRY": {'description': 'Drug from medication list', 'aliases': ['MEDICATION LIST ENTRY']}, + "PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE": {'description': 'Drug administered as procedure', 'aliases': ['PHYSICIAN ADMINISTERED DRUG (IDENTIFIED AS PROCEDURE)']}, + "INPATIENT_ADMINISTRATION": {'description': 'Drug administered during inpatient stay', 'aliases': ['INPATIENT ADMINISTRATION']}, +} + +class StatusEnum(RichEnum): + """ + Values indicating whether a condition or observation is present, absent, or of unknown status. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + +# Set metadata after class creation +StatusEnum._metadata = { + "PRESENT": {'description': 'Was present in the patient at observation time'}, + "ABSENT": {'description': 'Was absent in the patient at observation time'}, + "UNKNOWN": {'description': 'Status was unknown at observation time'}, +} + +class HistoricalStatusEnum(RichEnum): + """ + Extended status values including historical presence of conditions or observations. + """ + # Enum members + PRESENT = "PRESENT" + ABSENT = "ABSENT" + UNKNOWN = "UNKNOWN" + HISTORICAL = "HISTORICAL" + +# Set metadata after class creation +HistoricalStatusEnum._metadata = { + "PRESENT": {'description': 'Currently present in the patient'}, + "ABSENT": {'description': 'Currently absent in the patient'}, + "UNKNOWN": {'description': 'Current status is unknown'}, + "HISTORICAL": {'description': 'Was present in the patient historically but not currently'}, +} + +class ResearchProjectTypeEnum(RichEnum): + """ + Types of research projects and studies + """ + # Enum members + CONSORTIUM = "CONSORTIUM" + STUDY = "STUDY" + +# Set metadata after class creation +ResearchProjectTypeEnum._metadata = { + "CONSORTIUM": {'description': 'Multi-institutional research consortium'}, + "STUDY": {'description': 'Individual research study'}, +} + +__all__ = [ + "ConditionProvenanceEnum", + "VisitProvenanceEnum", + "DrugExposureProvenanceEnum", + "StatusEnum", + "HistoricalStatusEnum", + "ResearchProjectTypeEnum", +] \ No newline at end of file diff --git a/src/valuesets/enums/data/data_use.py b/src/valuesets/enums/data/data_use.py new file mode 100644 index 00000000..21e78a1b --- /dev/null +++ b/src/valuesets/enums/data/data_use.py @@ -0,0 +1,58 @@ +""" +Data Use Conditions Value Sets + +Value sets for data use permissions and conditions based on the GA4GH Data Use Ontology (DUO). + +Generated from: data/data_use.yaml +""" + +from __future__ import annotations + +from valuesets.generators.rich_enum import RichEnum + +class DataUsePermissionEnum(RichEnum): + """ + Primary data use permissions from the GA4GH Data Use Ontology (DUO) indicating what research purposes data can be used for. + """ + # Enum members + GRU = "GRU" + HMB = "HMB" + DS = "DS" + NO_RESTRICTION = "NO_RESTRICTION" + +# Set metadata after class creation +DataUsePermissionEnum._metadata = { + "GRU": {'description': 'General research use - allowed for any research purpose including health/medical/biomedical, fundamental biology, population origins, statistical methods development, and social-sciences research.', 'meaning': 'DUO:0000042', 'aliases': ['general research use']}, + "HMB": {'description': 'Health/medical/biomedical research only - does not include study of population origins or ancestry.', 'meaning': 'DUO:0000006', 'aliases': ['health or medical or biomedical research']}, + "DS": {'description': 'Disease-specific research - use allowed only for research related to specified disease(s). Should be coupled with disease ontology term.', 'meaning': 'DUO:0000007', 'aliases': ['disease specific research']}, + "NO_RESTRICTION": {'description': 'No restriction on use of the data.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, +} + +class DataUseModifierEnum(RichEnum): + """ + Additional conditions and modifiers for data use from the GA4GH Data Use Ontology (DUO). + """ + # Enum members + NPUNCU = "NPUNCU" + NPO = "NPO" + NCU = "NCU" + IRB = "IRB" + NRES = "NRES" + NMDS = "NMDS" + RS = "RS" + +# Set metadata after class creation +DataUseModifierEnum._metadata = { + "NPUNCU": {'description': 'Not-for-profit use only - use limited to not-for-profit organizations and non-commercial use.', 'meaning': 'DUO:0000018', 'aliases': ['not for profit, non commercial use only']}, + "NPO": {'description': 'Use limited to not-for-profit organizations only.', 'meaning': 'DUO:0000045', 'aliases': ['not for profit organisation use only']}, + "NCU": {'description': 'Non-commercial use only - data can be used by commercial organizations for research but not commercial purposes.', 'meaning': 'DUO:0000046', 'aliases': ['non-commercial use only']}, + "IRB": {'description': 'Ethics approval required - requestor must provide documentation of local IRB/ERB approval.', 'meaning': 'DUO:0000021', 'aliases': ['ethics approval required']}, + "NRES": {'description': 'No restriction on data use.', 'meaning': 'DUO:0000004', 'aliases': ['no restriction']}, + "NMDS": {'description': 'No general methods research - does not allow methods development.', 'meaning': 'DUO:0000015', 'aliases': ['no general methods research']}, + "RS": {'description': 'Research-specific restrictions apply.', 'meaning': 'DUO:0000012', 'aliases': ['research specific restrictions']}, +} + +__all__ = [ + "DataUsePermissionEnum", + "DataUseModifierEnum", +] \ No newline at end of file diff --git a/src/valuesets/enums/social/sdoh.py b/src/valuesets/enums/social/sdoh.py new file mode 100644 index 00000000..9ae3824b --- /dev/null +++ b/src/valuesets/enums/social/sdoh.py @@ -0,0 +1,92 @@ +""" +Social Determinants of Health Value Sets + +Value sets for Social Determinants of Health (SDOH) domains and related observations, based on the Gravity Project standards. + +Generated from: social/sdoh.yaml +""" + +from __future__ import annotations + +from valuesets.generators.rich_enum import RichEnum + +class GravitySdohDomainEnum(RichEnum): + """ + Social Determinants of Health domains as defined by the Gravity Project. These domains represent key areas of social need that impact health outcomes. + """ + # Enum members + FOOD_INSECURITY = "FOOD_INSECURITY" + HOUSING_INSTABILITY = "HOUSING_INSTABILITY" + HOMELESSNESS = "HOMELESSNESS" + INADEQUATE_HOUSING = "INADEQUATE_HOUSING" + TRANSPORTATION_INSECURITY = "TRANSPORTATION_INSECURITY" + FINANCIAL_INSECURITY = "FINANCIAL_INSECURITY" + MATERIAL_HARDSHIP = "MATERIAL_HARDSHIP" + EMPLOYMENT_STATUS = "EMPLOYMENT_STATUS" + EDUCATIONAL_ATTAINMENT = "EDUCATIONAL_ATTAINMENT" + VETERAN_STATUS = "VETERAN_STATUS" + STRESS = "STRESS" + SOCIAL_CONNECTION = "SOCIAL_CONNECTION" + INTIMATE_PARTNER_VIOLENCE = "INTIMATE_PARTNER_VIOLENCE" + ELDER_ABUSE = "ELDER_ABUSE" + HEALTH_LITERACY = "HEALTH_LITERACY" + MEDICAL_COST_BURDEN = "MEDICAL_COST_BURDEN" + HEALTH_INSURANCE_COVERAGE_STATUS = "HEALTH_INSURANCE_COVERAGE_STATUS" + DIGITAL_LITERACY = "DIGITAL_LITERACY" + DIGITAL_ACCESS = "DIGITAL_ACCESS" + UTILITY_INSECURITY = "UTILITY_INSECURITY" + +# Set metadata after class creation +GravitySdohDomainEnum._metadata = { + "FOOD_INSECURITY": {'description': 'Limited or uncertain availability of nutritionally adequate and safe foods', 'meaning': 'NCIT:C171542', 'aliases': ['Food Insecurity']}, + "HOUSING_INSTABILITY": {'description': 'Challenges with housing including trouble paying rent or frequent moves', 'meaning': 'SNOMED:1156191002', 'aliases': ['Housing instability']}, + "HOMELESSNESS": {'description': 'The condition of lacking stable, safe, and adequate housing', 'meaning': 'SNOMED:32911000', 'aliases': ['Homeless']}, + "INADEQUATE_HOUSING": {'description': 'Housing that does not meet basic standards for safety and habitability', 'meaning': 'SNOMED:105531004', 'aliases': ['Unsatisfactory housing conditions']}, + "TRANSPORTATION_INSECURITY": {'description': 'Lack of reliable, safe, and affordable transportation'}, + "FINANCIAL_INSECURITY": {'description': 'Inability to meet basic financial needs and obligations'}, + "MATERIAL_HARDSHIP": {'description': 'Difficulty affording basic necessities such as food, housing, and utilities'}, + "EMPLOYMENT_STATUS": {'description': 'Current employment situation and stability', 'meaning': 'NCIT:C179143', 'aliases': ['Employment Status']}, + "EDUCATIONAL_ATTAINMENT": {'description': 'Highest level of education completed', 'meaning': 'EFO:0011015', 'aliases': ['educational attainment']}, + "VETERAN_STATUS": {'description': 'Military veteran status and related needs'}, + "STRESS": {'description': 'Psychological stress affecting health and wellbeing', 'meaning': 'NCIT:C35041', 'aliases': ['Stress']}, + "SOCIAL_CONNECTION": {'description': 'Quality and quantity of social relationships and support networks'}, + "INTIMATE_PARTNER_VIOLENCE": {'description': 'Abuse occurring between people in a close relationship', 'meaning': 'MESH:D000066511', 'aliases': ['IPV', 'domestic violence', 'Intimate Partner Violence']}, + "ELDER_ABUSE": {'description': 'Abuse, neglect, or exploitation of older adults', 'meaning': 'MESH:D004552', 'aliases': ['Elder Abuse']}, + "HEALTH_LITERACY": {'description': 'Ability to obtain, process, and understand health information', 'meaning': 'MESH:D057220', 'aliases': ['Health Literacy']}, + "MEDICAL_COST_BURDEN": {'description': 'Financial strain from healthcare costs'}, + "HEALTH_INSURANCE_COVERAGE_STATUS": {'description': 'Status of health insurance coverage', 'meaning': 'NCIT:C157356', 'aliases': ['Health Insurance']}, + "DIGITAL_LITERACY": {'description': 'Ability to use digital technology and access digital resources'}, + "DIGITAL_ACCESS": {'description': 'Access to internet and digital devices'}, + "UTILITY_INSECURITY": {'description': 'Difficulty paying for utilities such as electricity, gas, or water'}, +} + +class EducationalAttainmentEnum(RichEnum): + """ + Levels of educational attainment for survey and demographic purposes. Based on standard US educational categories. + """ + # Enum members + EIGHTH_GRADE_OR_LESS = "EIGHTH_GRADE_OR_LESS" + HIGH_SCHOOL_NO_DIPLOMA = "HIGH_SCHOOL_NO_DIPLOMA" + HIGH_SCHOOL_GRADUATE_GED = "HIGH_SCHOOL_GRADUATE_GED" + SOME_COLLEGE_NO_DEGREE = "SOME_COLLEGE_NO_DEGREE" + ASSOCIATE_DEGREE = "ASSOCIATE_DEGREE" + BACHELORS_DEGREE = "BACHELORS_DEGREE" + MASTERS_DEGREE = "MASTERS_DEGREE" + DOCTORAL_DEGREE = "DOCTORAL_DEGREE" + +# Set metadata after class creation +EducationalAttainmentEnum._metadata = { + "EIGHTH_GRADE_OR_LESS": {'description': 'Completed 8th grade or less', 'aliases': ['8TH_GRADE_OR_LESS', 'elementary']}, + "HIGH_SCHOOL_NO_DIPLOMA": {'description': 'Some high school but no diploma', 'meaning': 'NCIT:C76123', 'aliases': ['some high school', 'Not High School Graduate']}, + "HIGH_SCHOOL_GRADUATE_GED": {'description': 'High school graduate or GED equivalent', 'meaning': 'NCIT:C67136', 'aliases': ['high school diploma', 'GED', 'High School Completion']}, + "SOME_COLLEGE_NO_DEGREE": {'description': 'Some college or technical school but no degree', 'aliases': ['SOME_COLLEGE_OR_TECH_NO_DEGREE']}, + "ASSOCIATE_DEGREE": {'description': 'Associate degree (2-year college)', 'meaning': 'NCIT:C71344', 'aliases': ['Associate of Science']}, + "BACHELORS_DEGREE": {'description': "Bachelor's degree (4-year college)", 'meaning': 'NCIT:C71345', 'aliases': ['COLLEGE_OR_TECH_WITH_DEGREE', 'Bachelor of Arts']}, + "MASTERS_DEGREE": {'description': "Master's degree", 'meaning': 'NCIT:C39452', 'aliases': ['Master of Science']}, + "DOCTORAL_DEGREE": {'description': 'Doctoral or professional degree (PhD, MD, JD, etc.)', 'meaning': 'NCIT:C39387', 'aliases': ['MASTERS_OR_DOCTORAL_DEGREE', 'Doctor of Philosophy']}, +} + +__all__ = [ + "GravitySdohDomainEnum", + "EducationalAttainmentEnum", +] \ No newline at end of file diff --git a/src/valuesets/schema/bio/specimen_processing.yaml b/src/valuesets/schema/bio/specimen_processing.yaml index de2be657..97be0e0b 100644 --- a/src/valuesets/schema/bio/specimen_processing.yaml +++ b/src/valuesets/schema/bio/specimen_processing.yaml @@ -45,12 +45,12 @@ enums: aliases: - Formalin-fixed paraffin-embedded - formalin-fixed, paraffin-embedded + - FFPE Tissue Block annotations: fixative: formalin embedding: paraffin FORMALIN_FIXED: description: Tissue fixed with formalin without paraffin embedding - meaning: NCIT:C84516 aliases: - formalin-fixed annotations: @@ -60,6 +60,7 @@ enums: meaning: NCIT:C16475 aliases: - Cryopreserved + - Cryopreservation annotations: temperature: ultra-low VIABLY_FROZEN: @@ -70,7 +71,6 @@ enums: viability: preserved FLASH_FROZEN: description: Rapid freezing to preserve molecular integrity - meaning: NCIT:C178955 aliases: - Flash frozen - snap frozen @@ -85,7 +85,6 @@ enums: preservation: none OCT_EMBEDDED: description: Tissue embedded in optimal cutting temperature compound - meaning: OBI:0001472 aliases: - OCT - OCT embedded @@ -125,10 +124,11 @@ enums: - air-dried LYOPHILIZED: description: Freeze-dried specimen - meaning: NCIT:C28175 + meaning: NCIT:C28150 aliases: - freeze-dried - lyophilization + - Freeze-Drying TissuePreservationEnum: title: Tissue Preservation Methods @@ -143,9 +143,13 @@ enums: FROZEN: description: Tissue preserved by freezing meaning: NCIT:C70717 + aliases: + - Frozen Specimen FIXED: description: Tissue preserved by chemical fixation - meaning: NCIT:C19328 + meaning: NCIT:C25219 + aliases: + - Fixation FRESH: description: Fresh unfixed tissue EMBEDDED: @@ -164,37 +168,46 @@ enums: BIOPSY: description: Tissue sample obtained by biopsy meaning: NCIT:C15189 + aliases: + - Biopsy Procedure SURGICAL_RESECTION: description: Tissue obtained during surgical resection meaning: NCIT:C15329 + aliases: + - Surgical Procedure AUTOPSY: description: Specimen obtained at autopsy meaning: NCIT:C25153 + aliases: + - Autopsy FINE_NEEDLE_ASPIRATE: description: Sample obtained by fine needle aspiration meaning: NCIT:C15361 aliases: - FNA + - Fine-Needle Aspiration CORE_NEEDLE_BIOPSY: description: Sample obtained by core needle biopsy meaning: NCIT:C15190 + aliases: + - Needle Biopsy PUNCH_BIOPSY: description: Sample obtained by punch biopsy - meaning: NCIT:C15195 SWAB: description: Sample collected by swabbing - meaning: OBI:0002822 VENIPUNCTURE: description: Blood sample obtained by venipuncture meaning: NCIT:C28221 + aliases: + - Phlebotomy LUMBAR_PUNCTURE: description: CSF sample obtained by lumbar puncture meaning: NCIT:C15327 aliases: - spinal tap + - Lumbar Puncture LAVAGE: description: Sample obtained by lavage (washing) - meaning: NCIT:C15282 SpecimenTypeEnum: title: Biological Specimen Types @@ -211,32 +224,50 @@ enums: TISSUE: description: Solid tissue specimen meaning: NCIT:C12801 + aliases: + - Tissue BLOOD: description: Whole blood specimen meaning: NCIT:C12434 + aliases: + - Blood PLASMA: description: Blood plasma specimen meaning: NCIT:C13356 + aliases: + - Plasma SERUM: description: Blood serum specimen meaning: NCIT:C13325 + aliases: + - Serum BUFFY_COAT: description: Leukocyte-enriched blood fraction meaning: NCIT:C84507 + aliases: + - Buffy Coat URINE: description: Urine specimen meaning: NCIT:C13283 + aliases: + - Urine SALIVA: description: Saliva specimen meaning: NCIT:C13275 + aliases: + - Saliva STOOL: description: Stool/fecal specimen meaning: NCIT:C13234 + aliases: + - Feces + - fecal CSF: description: Cerebrospinal fluid specimen meaning: NCIT:C12692 aliases: - cerebrospinal fluid + - Cerebrospinal Fluid SWEAT: description: Sweat specimen MUCUS: @@ -244,27 +275,322 @@ enums: BONE_MARROW: description: Bone marrow specimen meaning: NCIT:C12431 + aliases: + - Bone Marrow PRIMARY_TUMOR: description: Primary tumor tissue specimen - meaning: NCIT:C162622 + meaning: NCIT:C8509 + aliases: + - Primary Neoplasm METASTATIC_TUMOR: description: Metastatic tumor tissue specimen + meaning: NCIT:C3261 + aliases: + - Metastatic Neoplasm TUMOR_ADJACENT_NORMAL: description: Normal tissue adjacent to tumor meaning: NCIT:C164032 + aliases: + - Tumor-Adjacent Normal Specimen ORGANOID: description: Organoid specimen meaning: NCIT:C172259 + aliases: + - Organoid SPHEROID: description: Cell spheroid specimen MICROTISSUE: description: Engineered microtissue specimen PDX_TISSUE: description: Patient-derived xenograft tissue - meaning: NCIT:C156443 + meaning: NCIT:C122936 aliases: - PDX tissue + - Patient Derived Xenograft CDX_TISSUE: description: Cell line-derived xenograft tissue aliases: - CDX tissue + + AnalyteTypeEnum: + title: Analyte Types + description: >- + Types of analytes that can be extracted from biological specimens for + molecular analysis. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + DNA: + description: Deoxyribonucleic acid + meaning: NCIT:C198567 + aliases: + - DNA Specimen + RNA: + description: Ribonucleic acid + meaning: NCIT:C198568 + aliases: + - RNA Specimen + TOTAL_RNA: + description: Total RNA including all RNA species + FFPE_DNA: + description: DNA extracted from formalin-fixed paraffin-embedded tissue + aliases: + - Formalin-Fixed Paraffin-Embedded DNA + FFPE_RNA: + description: RNA extracted from formalin-fixed paraffin-embedded tissue + aliases: + - Formalin-Fixed Paraffin-Embedded RNA + cfDNA: + description: Cell-free DNA found in blood plasma + meaning: NCIT:C128274 + aliases: + - Circulating Cell-Free DNA + - cell-free DNA + PROTEIN: + description: Protein analyte + meaning: NCIT:C17021 + aliases: + - Protein + NUCLEI_RNA: + description: RNA isolated from cell nuclei + REPLI_G_DNA: + description: Whole genome amplified DNA using Repli-G technology + aliases: + - Repli-G (Qiagen) DNA + REPLI_G_X_DNA: + description: Whole genome amplified DNA using Repli-G X technology + aliases: + - Repli-G X (Qiagen) DNA + REPLI_G_POOLED_DNA: + description: Pooled whole genome amplified DNA using Repli-G + aliases: + - Repli-G Pooled (Qiagen) DNA + GENOMEPLEX_DNA: + description: Whole genome amplified DNA using GenomePlex technology + aliases: + - GenomePlex (Rubicon) Amplified DNA + EBV_IMMORTALIZED: + description: DNA/cells from EBV immortalized cell lines + aliases: + - EBV Immortalized Normal + + SourceMaterialTypeEnum: + title: Source Material Types + description: >- + Types of source materials from which specimens are derived, particularly + relevant for cancer and tissue banking research. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + PRIMARY_TUMOR: + description: Primary tumor tissue + meaning: NCIT:C8509 + aliases: + - Primary Neoplasm + METASTATIC: + description: Metastatic tumor tissue + meaning: NCIT:C3261 + aliases: + - Metastatic Neoplasm + RECURRENT_TUMOR: + description: Recurrent tumor tissue + meaning: NCIT:C4798 + aliases: + - Recurrent Neoplasm + BLOOD_DERIVED_NORMAL: + description: Normal cells derived from blood + BLOOD_DERIVED_CANCER_PERIPHERAL_BLOOD: + description: Cancer cells from peripheral blood + BLOOD_DERIVED_CANCER_BONE_MARROW: + description: Cancer cells from bone marrow + BONE_MARROW_NORMAL: + description: Normal bone marrow cells + SOLID_TISSUE_NORMAL: + description: Normal solid tissue + BUCCAL_CELL_NORMAL: + description: Normal buccal (cheek) cells + NORMAL_ADJACENT_TISSUE: + description: Normal tissue adjacent to tumor + meaning: NCIT:C164032 + aliases: + - Tumor-Adjacent Normal Specimen + CELL_LINES: + description: Established cell lines + meaning: NCIT:C16403 + aliases: + - Cell Line + PRIMARY_XENOGRAFT_TISSUE: + description: Tissue from primary xenograft + XENOGRAFT_TISSUE: + description: Tissue derived from xenograft models + NEXT_GENERATION_CANCER_MODEL: + description: Tissue from next-generation cancer models + PLEURAL_EFFUSION: + description: Fluid from pleural effusion + meaning: NCIT:C3331 + aliases: + - Pleural Effusion + SALIVA: + description: Saliva specimen + meaning: NCIT:C13275 + aliases: + - Saliva + GRANULOCYTES: + description: Granulocyte cells + meaning: NCIT:C12530 + aliases: + - Granulocyte + EBV_IMMORTALIZED_NORMAL: + description: EBV immortalized normal cells + CONTROL_ANALYTE: + description: Control analyte material + FFPE_SCROLLS: + description: FFPE tissue scrolls + FFPE_RECURRENT: + description: FFPE tissue from recurrent tumor + NOT_REPORTED: + description: Source material type not reported + UNKNOWN: + description: Unknown source material type + meaning: NCIT:C17998 + aliases: + - Unknown + + SpecimenCreationActivityTypeEnum: + title: Specimen Creation Activity Types + description: >- + High-level types of activities through which specimens are generated, + either by collection from source or derivation from existing specimens. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + COLLECTION_FROM_SOURCE: + description: Activity that collects an initial sample directly from a subject or source + meaning: OBI:0000659 + aliases: + - specimen collection process + DERIVATION_FROM_SPECIMEN: + description: Activity that derives a new specimen from an existing one + meaning: OBI:0000094 + aliases: + - material processing + + SpecimenProcessingActivityTypeEnum: + title: Specimen Processing Activity Types + description: High-level types of specimen processing activities + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + FIXATION: + description: Chemical preservation to maintain structural and molecular features + meaning: NCIT:C25219 + aliases: + - Fixation + FREEZING: + description: Processing activity that freezes a specimen + meaning: NCIT:C70717 + aliases: + - Frozen Specimen + MOUNTING: + description: Securing a specimen in place for examination + PRESERVATION: + description: Processing activity that preserves a specimen for storage + + SpecimenQualityObservationTypeEnum: + title: Specimen Quality Observation Types + description: Types of measurements that reflect specimen quality or suitability for use + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + A260_A280_RATIO: + description: Ratio of absorbance at 260nm to 280nm wavelength for nucleic acid purity + RIBOSOMAL_RNA_28S_16S_RATIO: + description: Ratio of 28S to 16S ribosomal RNA for RNA integrity + + SpecimenQualityObservationMethodEnum: + title: Specimen Quality Observation Methods + description: Methods used for determining specimen quality + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + UV_SPEC: + description: UV-Vis spectrophotometry measuring absorbance across UV and visible ranges + meaning: NCIT:C116701 + aliases: + - Spectrophotometry + PICO_GREEN: + description: Fluorescent dye assay for quantifying double-stranded DNA + + SpecimenQuantityObservationTypeEnum: + title: Specimen Quantity Observation Types + description: Types of quantity measurements for specimens + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + WEIGHT: + description: Current weight of the specimen + meaning: NCIT:C25208 + aliases: + - Weight + VOLUME: + description: Current volume of the specimen + meaning: NCIT:C25335 + aliases: + - Volume + CONCENTRATION: + description: Concentration of extracted analyte in specimen + meaning: NCIT:C41185 + aliases: + - Concentration + + SectionLocationEnum: + title: Section Location + description: Location in a parent specimen from which a section was excised + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + TOP: + description: The top portion of a specimen per orientation criteria + BOTTOM: + description: The bottom portion of a specimen per orientation criteria + UNKNOWN: + description: Unknown location on a specimen + meaning: NCIT:C17998 + aliases: + - Unknown diff --git a/src/valuesets/schema/clinical/provenance.yaml b/src/valuesets/schema/clinical/provenance.yaml new file mode 100644 index 00000000..7af19305 --- /dev/null +++ b/src/valuesets/schema/clinical/provenance.yaml @@ -0,0 +1,245 @@ +name: provenance +title: Clinical Data Provenance Value Sets +description: >- + Value sets for tracking the provenance and source of clinical data, + including condition, visit, drug, and device exposure provenance types. +id: https://w3id.org/valuesets/clinical/provenance +imports: +- linkml:types +prefixes: + linkml: https://w3id.org/linkml/ + valuesets: https://w3id.org/valuesets/ + orcid: https://orcid.org/ + valuesets_meta: https://w3id.org/valuesets/meta/ +default_prefix: valuesets +slots: + condition_provenance: + description: Source/provenance of a condition record + range: ConditionProvenanceEnum + visit_provenance: + description: Source/provenance of a visit record + range: VisitProvenanceEnum + drug_provenance: + description: Source/provenance of a drug exposure record + range: DrugExposureProvenanceEnum +enums: + ConditionProvenanceEnum: + title: Condition Provenance + description: >- + Sources of condition/diagnosis records indicating how the condition + was documented or determined. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + EHR_BILLING_DIAGNOSIS: + description: Diagnosis recorded for billing purposes in EHR + EHR_CHIEF_COMPLAINT: + description: Condition documented as chief complaint in EHR + EHR_ENCOUNTER_DIAGNOSIS: + description: Diagnosis recorded during healthcare encounter + EHR_EPISODE_ENTRY: + description: Condition recorded as part of care episode + EHR_PROBLEM_LIST_ENTRY: + description: Condition on patient problem list in EHR + FIRST_POSITION_CONDITION: + description: Primary diagnosis in first position on claim + NLP_DERIVED: + description: Condition derived through natural language processing + OBSERVATION_RECORDED_FROM_EHR: + description: Condition recorded as observation in EHR + PATIENT_SELF_REPORTED_CONDITION: + description: Condition reported by the patient + aliases: + - PATIENT_SELF-REPORTED_CONDITION + PRIMARY_CONDITION: + description: Primary condition for an encounter or episode + REFERRAL_RECORD: + description: Condition documented in referral record + SECONDARY_CONDITION: + description: Secondary or comorbid condition + TUMOR_REGISTRY: + description: Condition from tumor registry + WORKING_DIAGNOSIS: + description: Preliminary or working diagnosis + CLINICAL_DIAGNOSIS: + description: Clinically confirmed diagnosis + + VisitProvenanceEnum: + title: Visit Provenance + description: >- + Sources of healthcare visit/encounter records indicating the origin + of the visit documentation. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + CASE_REPORT_FORM: + description: Visit from clinical trial case report form + CLAIM: + description: Visit derived from insurance claim + EHR: + description: Visit from electronic health record + EHR_ENCOUNTER_RECORD: + description: Visit from EHR encounter documentation + EHR_ADMISSION_NOTE: + description: Visit from EHR admission note + EHR_DISCHARGE_RECORD: + description: Visit from EHR discharge documentation + EHR_EMERGENCY_ROOM_NOTE: + description: Visit from EHR emergency room note + EHR_INPATIENT_NOTE: + description: Visit from EHR inpatient note + EHR_OUTPATIENT_NOTE: + description: Visit from EHR outpatient note + INPATIENT_CLAIM: + description: Visit from inpatient insurance claim + OUTPATIENT_CLAIM: + description: Visit from outpatient insurance claim + FACILITY_CLAIM: + description: Visit from facility insurance claim + PROFESSIONAL_CLAIM: + description: Visit from professional services claim + PHARMACY_CLAIM: + description: Visit from pharmacy claim + LAB: + description: Visit from laboratory record + REGISTRY: + description: Visit from disease or patient registry + SURVEY: + description: Visit from patient survey + PATIENT_SELF_REPORT: + description: Visit reported by patient + aliases: + - PATIENT_SELF-REPORT + NLP: + description: Visit derived through natural language processing + HEALTH_INFORMATION_EXCHANGE_RECORD: + description: Visit from health information exchange + + DrugExposureProvenanceEnum: + title: Drug Exposure Provenance + description: >- + Sources of drug exposure records indicating how the medication + information was documented. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/RTIInternational/NHLBI-BDC-DMC-HM + - https://ohdsi.github.io/CommonDataModel/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + RANDOMIZED_DRUG: + description: Drug from clinical trial randomization + aliases: + - RANDOMIZED DRUG + PATIENT_SELF_REPORTED_MEDICATION: + description: Medication reported by patient + aliases: + - PATIENT SELF-REPORTED MEDICATION + NLP_DERIVED: + description: Drug exposure derived through NLP + aliases: + - NLP DERIVED + PRESCRIPTION_DISPENSED_IN_PHARMACY: + description: Prescription dispensed at pharmacy + aliases: + - PRESCRIPTION DISPENSED IN PHARMACY + PHYSICIAN_ADMINISTERED_DRUG_FROM_EHR_ORDER: + description: Drug administered by physician from EHR order + aliases: + - PHYSICIAN ADMINISTERED DRUG (IDENTIFIED FROM EHR ORDER) + DISPENSED_IN_OUTPATIENT_OFFICE: + description: Drug dispensed in outpatient office + aliases: + - DISPENSED IN OUTPATIENT OFFICE + PRESCRIPTION_DISPENSED_THROUGH_MAIL_ORDER: + description: Prescription dispensed via mail order + aliases: + - PRESCRIPTION DISPENSED THROUGH MAIL ORDER + PRESCRIPTION_WRITTEN: + description: Prescription written by provider + aliases: + - PRESCRIPTION WRITTEN + MEDICATION_LIST_ENTRY: + description: Drug from medication list + aliases: + - MEDICATION LIST ENTRY + PHYSICIAN_ADMINISTERED_DRUG_AS_PROCEDURE: + description: Drug administered as procedure + aliases: + - PHYSICIAN ADMINISTERED DRUG (IDENTIFIED AS PROCEDURE) + INPATIENT_ADMINISTRATION: + description: Drug administered during inpatient stay + aliases: + - INPATIENT ADMINISTRATION + + StatusEnum: + title: Presence Status + description: >- + Values indicating whether a condition or observation is present, + absent, or of unknown status. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + PRESENT: + description: Was present in the patient at observation time + ABSENT: + description: Was absent in the patient at observation time + UNKNOWN: + description: Status was unknown at observation time + + HistoricalStatusEnum: + title: Historical Status + description: >- + Extended status values including historical presence of conditions + or observations. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + PRESENT: + description: Currently present in the patient + ABSENT: + description: Currently absent in the patient + UNKNOWN: + description: Current status is unknown + HISTORICAL: + description: Was present in the patient historically but not currently + + ResearchProjectTypeEnum: + title: Research Project Types + description: Types of research projects and studies + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + CONSORTIUM: + description: Multi-institutional research consortium + STUDY: + description: Individual research study diff --git a/src/valuesets/schema/data/data_use.yaml b/src/valuesets/schema/data/data_use.yaml new file mode 100644 index 00000000..2cdb8910 --- /dev/null +++ b/src/valuesets/schema/data/data_use.yaml @@ -0,0 +1,122 @@ +name: data_use +title: Data Use Conditions Value Sets +description: >- + Value sets for data use permissions and conditions based on the + GA4GH Data Use Ontology (DUO). +id: https://w3id.org/valuesets/data/data_use +imports: +- linkml:types +prefixes: + linkml: https://w3id.org/linkml/ + valuesets: https://w3id.org/valuesets/ + DUO: http://purl.obolibrary.org/obo/DUO_ + orcid: https://orcid.org/ + valuesets_meta: https://w3id.org/valuesets/meta/ +default_prefix: valuesets +slots: + data_use_permission: + description: Permission level for data use + range: DataUsePermissionEnum + data_use_modifier: + description: Additional conditions for data use + range: DataUseModifierEnum +enums: + DataUsePermissionEnum: + title: Data Use Permissions + description: >- + Primary data use permissions from the GA4GH Data Use Ontology (DUO) + indicating what research purposes data can be used for. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/EBISPOT/DUO + - https://www.ga4gh.org/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + GRU: + description: >- + General research use - allowed for any research purpose including + health/medical/biomedical, fundamental biology, population origins, + statistical methods development, and social-sciences research. + meaning: DUO:0000042 + aliases: + - general research use + HMB: + description: >- + Health/medical/biomedical research only - does not include study + of population origins or ancestry. + meaning: DUO:0000006 + aliases: + - health or medical or biomedical research + DS: + description: >- + Disease-specific research - use allowed only for research related + to specified disease(s). Should be coupled with disease ontology term. + meaning: DUO:0000007 + aliases: + - disease specific research + NO_RESTRICTION: + description: No restriction on use of the data. + meaning: DUO:0000004 + aliases: + - no restriction + + DataUseModifierEnum: + title: Data Use Modifiers + description: >- + Additional conditions and modifiers for data use from the GA4GH + Data Use Ontology (DUO). + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://github.com/EBISPOT/DUO + - https://www.ga4gh.org/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + NPUNCU: + description: >- + Not-for-profit use only - use limited to not-for-profit + organizations and non-commercial use. + meaning: DUO:0000018 + aliases: + - not for profit, non commercial use only + NPO: + description: Use limited to not-for-profit organizations only. + meaning: DUO:0000045 + aliases: + - not for profit organisation use only + NCU: + description: >- + Non-commercial use only - data can be used by commercial + organizations for research but not commercial purposes. + meaning: DUO:0000046 + aliases: + - non-commercial use only + IRB: + description: >- + Ethics approval required - requestor must provide documentation + of local IRB/ERB approval. + meaning: DUO:0000021 + aliases: + - ethics approval required + NRES: + description: No restriction on data use. + meaning: DUO:0000004 + aliases: + - no restriction + NMDS: + description: No general methods research - does not allow methods development. + meaning: DUO:0000015 + aliases: + - no general methods research + RS: + description: Research-specific restrictions apply. + meaning: DUO:0000012 + aliases: + - research specific restrictions diff --git a/src/valuesets/schema/social/sdoh.yaml b/src/valuesets/schema/social/sdoh.yaml new file mode 100644 index 00000000..e1e972e2 --- /dev/null +++ b/src/valuesets/schema/social/sdoh.yaml @@ -0,0 +1,173 @@ +name: sdoh +title: Social Determinants of Health Value Sets +description: >- + Value sets for Social Determinants of Health (SDOH) domains and related + observations, based on the Gravity Project standards. +id: https://w3id.org/valuesets/social/sdoh +imports: +- linkml:types +prefixes: + linkml: https://w3id.org/linkml/ + valuesets: https://w3id.org/valuesets/ + NCIT: http://purl.obolibrary.org/obo/NCIT_ + SNOMED: http://snomed.info/id/ + MESH: http://id.nlm.nih.gov/mesh/ + EFO: http://www.ebi.ac.uk/efo/EFO_ + orcid: https://orcid.org/ + valuesets_meta: https://w3id.org/valuesets/meta/ +default_prefix: valuesets +slots: + sdoh_domain: + description: The social determinants of health domain + range: GravitySdohDomainEnum + educational_attainment: + description: Highest level of education attained + range: EducationalAttainmentEnum +enums: + GravitySdohDomainEnum: + title: Gravity Project SDOH Domains + description: >- + Social Determinants of Health domains as defined by the Gravity Project. + These domains represent key areas of social need that impact health outcomes. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + see_also: + - https://thegravityproject.net/ + - https://hl7.org/fhir/us/sdoh-clinicalcare/ + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + FOOD_INSECURITY: + description: Limited or uncertain availability of nutritionally adequate and safe foods + meaning: NCIT:C171542 + aliases: + - Food Insecurity + HOUSING_INSTABILITY: + description: Challenges with housing including trouble paying rent or frequent moves + meaning: SNOMED:1156191002 + aliases: + - Housing instability + HOMELESSNESS: + description: The condition of lacking stable, safe, and adequate housing + meaning: SNOMED:32911000 + aliases: + - Homeless + INADEQUATE_HOUSING: + description: Housing that does not meet basic standards for safety and habitability + meaning: SNOMED:105531004 + aliases: + - Unsatisfactory housing conditions + TRANSPORTATION_INSECURITY: + description: Lack of reliable, safe, and affordable transportation + FINANCIAL_INSECURITY: + description: Inability to meet basic financial needs and obligations + MATERIAL_HARDSHIP: + description: Difficulty affording basic necessities such as food, housing, and utilities + EMPLOYMENT_STATUS: + description: Current employment situation and stability + meaning: NCIT:C179143 + aliases: + - Employment Status + EDUCATIONAL_ATTAINMENT: + description: Highest level of education completed + meaning: EFO:0011015 + aliases: + - educational attainment + VETERAN_STATUS: + description: Military veteran status and related needs + STRESS: + description: Psychological stress affecting health and wellbeing + meaning: NCIT:C35041 + aliases: + - Stress + SOCIAL_CONNECTION: + description: Quality and quantity of social relationships and support networks + INTIMATE_PARTNER_VIOLENCE: + description: Abuse occurring between people in a close relationship + meaning: MESH:D000066511 + aliases: + - IPV + - domestic violence + - Intimate Partner Violence + ELDER_ABUSE: + description: Abuse, neglect, or exploitation of older adults + meaning: MESH:D004552 + aliases: + - Elder Abuse + HEALTH_LITERACY: + description: Ability to obtain, process, and understand health information + meaning: MESH:D057220 + aliases: + - Health Literacy + MEDICAL_COST_BURDEN: + description: Financial strain from healthcare costs + HEALTH_INSURANCE_COVERAGE_STATUS: + description: Status of health insurance coverage + meaning: NCIT:C157356 + aliases: + - Health Insurance + DIGITAL_LITERACY: + description: Ability to use digital technology and access digital resources + DIGITAL_ACCESS: + description: Access to internet and digital devices + UTILITY_INSECURITY: + description: Difficulty paying for utilities such as electricity, gas, or water + + EducationalAttainmentEnum: + title: Educational Attainment Levels + description: >- + Levels of educational attainment for survey and demographic purposes. + Based on standard US educational categories. + status: DRAFT + contributors: + - orcid:0000-0002-6601-2165 + - https://github.com/anthropics/claude-code + instantiates: + - valuesets_meta:ValueSetEnumDefinition + permissible_values: + EIGHTH_GRADE_OR_LESS: + description: Completed 8th grade or less + aliases: + - 8TH_GRADE_OR_LESS + - elementary + HIGH_SCHOOL_NO_DIPLOMA: + description: Some high school but no diploma + meaning: NCIT:C76123 + aliases: + - some high school + - Not High School Graduate + HIGH_SCHOOL_GRADUATE_GED: + description: High school graduate or GED equivalent + meaning: NCIT:C67136 + aliases: + - high school diploma + - GED + - High School Completion + SOME_COLLEGE_NO_DEGREE: + description: Some college or technical school but no degree + aliases: + - SOME_COLLEGE_OR_TECH_NO_DEGREE + ASSOCIATE_DEGREE: + description: Associate degree (2-year college) + meaning: NCIT:C71344 + aliases: + - Associate of Science + BACHELORS_DEGREE: + description: Bachelor's degree (4-year college) + meaning: NCIT:C71345 + aliases: + - COLLEGE_OR_TECH_WITH_DEGREE + - Bachelor of Arts + MASTERS_DEGREE: + description: Master's degree + meaning: NCIT:C39452 + aliases: + - Master of Science + DOCTORAL_DEGREE: + description: Doctoral or professional degree (PhD, MD, JD, etc.) + meaning: NCIT:C39387 + aliases: + - MASTERS_OR_DOCTORAL_DEGREE + - Doctor of Philosophy diff --git a/src/valuesets/schema/valuesets.yaml b/src/valuesets/schema/valuesets.yaml index 6cf11bb4..4b85314e 100644 --- a/src/valuesets/schema/valuesets.yaml +++ b/src/valuesets/schema/valuesets.yaml @@ -44,6 +44,10 @@ imports: - industry/extractive_industry - statistics/prediction_outcomes - social/person_status +- social/sdoh +- bio/specimen_processing +- clinical/provenance +- data/data_use - computing/mime_types - physics/states_of_matter - environmental_health/exposures