Repository navigation
Add calibration controls to support clinical confidence in variant interpretation #754
Copy link
Copy link
Open
Copy link
Labels
app: backendTask implementation touches the backendTask implementation touches the backendapp: databaseTask implementation requires database changesTask implementation requires database changesapp: frontendTask implementation touches the frontendTask implementation touches the frontend
Milestone
Description
Activity
- addedapp: backendTask implementation touches the backendTask implementation touches the backendapp: frontendTask implementation touches the frontendTask implementation touches the frontendapp: databaseTask implementation requires database changesTask implementation requires database changes
on May 18, 2026 - added sub-issues
on May 18, 2026 - changed the title
[-]Epic: Add calibration controls to support clinical confidence in variant interpretation[/-][+][Epic] Add calibration controls to support clinical confidence in variant interpretation[/+]on Aug 7, 2026 - changed the title
[-][Epic] Add calibration controls to support clinical confidence in variant interpretation[/-][+]Add calibration controls to support clinical confidence in variant interpretation[/+]on Aug 17, 2026 - linked a pull request that will close this issueCalibration Control Support #873
on Sep 16, 2026 - linked a pull request that will close this issuefeat: calibration controls and disease context in the UI #722
on Sep 18, 2026
Metadata
Metadata
Assignees
Labels
app: backendTask implementation touches the backendTask implementation touches the backendapp: databaseTask implementation requires database changesTask implementation requires database changesapp: frontendTask implementation touches the frontendTask implementation touches the frontend
Summary
Introduce a lightweight calibration controls data model that stores the variant → clinical status pairs used as empirical ground truth when deriving a calibration's score thresholds. Surfacing these controls gives clinicians the evidence they need to assess whether a calibration is appropriate for their specific interpretation context.
Background
MaveDB calibrations define how functional scores map to clinical interpretations (e.g., scores above threshold X are pathogenic). These thresholds are derived from a set of variants with independently known clinical significance — the "controls." Today, this empirical basis is not stored in MaveDB, making it impossible for clinicians to audit or gain confidence in a calibration before using it for variant interpretation.
Design Decisions
pathogenic|benigncontrols_not_phiboolean stored onScoreCalibration; gates publishingdiseasefield onScoreCalibrationCalibrationVariantAssignmentTablecomponent parameterized by assignment optionsOut of Scope
Architecture
Data model (
mavedb-api)calibration_controlstable:calibration_id(FK, cascade delete),variant_id(FK),clinical_statusenum (pathogenic|benign), audit fields; UNIQUE on(calibration_id, variant_id)CalibrationControlORM model atsrc/mavedb/models/calibration_control.pyCalibrationControlStatusenum atsrc/mavedb/models/enums/calibration_control_status.pyscore_calibrations:disease VARCHAR NULL,controls_not_phi BOOLEAN NULLAPI (
mavedb-api)CalibrationControlBase,CalibrationControlCreate,SavedCalibrationControlScoreCalibrationresponse extended withcontrols: list[SavedCalibrationControl],disease,controls_not_phicontrols_not_phi = Truecontrols_fileCSV (replace semantics); providing both returns 422UI (
mavedb-ui)CalibrationVariantAssignmentTablecomponent: reusable inline table with CSV upload, parameterized by assignment optionsCalibrationFields.vuewired todraft.controlsCalibrationVariantAssignmentTable)Child Issues
Backend (mavedb-api)
CalibrationControlStatusenum (pathogenic,benign)disease/controls_not_phionScoreCalibration)CalibrationControlcontrols_fileCSV)Frontend (mavedb-ui)
CalibrationVariantAssignmentTablecomponent (inline editing + CSV upload)CalibrationVariantAssignmentTableinto calibration controls editorFollow-up
CalibrationVariantAssignmentTable(inline variant → class assignment, currently CSV-only)Dependency Graph