Skip to content

Define CalibrationControlStatus enum (pathogenic, benign) #748

@bencap

Description

@bencap

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

  • CalibrationControlStatus enum is defined in src/mavedb/models/enums/calibration_control_status.py
  • Enum values are pathogenic and benign (lowercase strings)
  • Enum uses the same SQLAlchemy-compatible pattern as FunctionalClassification
  • Enum is importable and used in the CalibrationControl model (follow-on schema issue)

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions