Summary
Add a CalibrationControlStatus enum to models/enums/ that captures the two ACMG-coded clinical significance values required for calibration controls.
Background
Calibrations in MaveDB are derived from empirical controls — variants with independently known clinical significance. To store these controls, we need a controlled vocabulary for clinical status. The design decision is a strict 2-tier ACMG-aligned enumeration (pathogenic, benign) rather than the full 5-tier classification, reflecting the minimum information needed to anchor a calibration.
Proposed Behavior
A new CalibrationControlStatus enum with values:
pathogenic — the variant is classified as pathogenic per ACMG criteria
benign — the variant is classified as benign per ACMG criteria
The enum should follow the existing pattern in models/enums/ (e.g., FunctionalClassification in models/enums/functional_classification.py) and use a string-based SQLAlchemy enum with native_enum=False and validate_strings=True.
Acceptance Criteria
Implementation Notes
- Follow the pattern in
models/enums/functional_classification.py
- The enum intentionally excludes intermediate tiers (VUS, Likely Pathogenic, Likely Benign) — this is by design for the minimalist controls data model
Summary
Add a
CalibrationControlStatusenum tomodels/enums/that captures the two ACMG-coded clinical significance values required for calibration controls.Background
Calibrations in MaveDB are derived from empirical controls — variants with independently known clinical significance. To store these controls, we need a controlled vocabulary for clinical status. The design decision is a strict 2-tier ACMG-aligned enumeration (
pathogenic,benign) rather than the full 5-tier classification, reflecting the minimum information needed to anchor a calibration.Proposed Behavior
A new
CalibrationControlStatusenum with values:pathogenic— the variant is classified as pathogenic per ACMG criteriabenign— the variant is classified as benign per ACMG criteriaThe enum should follow the existing pattern in
models/enums/(e.g.,FunctionalClassificationinmodels/enums/functional_classification.py) and use a string-based SQLAlchemy enum withnative_enum=Falseandvalidate_strings=True.Acceptance Criteria
CalibrationControlStatusenum is defined insrc/mavedb/models/enums/calibration_control_status.pypathogenicandbenign(lowercase strings)FunctionalClassificationCalibrationControlmodel (follow-on schema issue)Implementation Notes
models/enums/functional_classification.py