Source code for utils.enums

"""
This module contains enumerations and descriptions for various response types and clinical statuses used in the RANO module.
"""
from enum import Enum


[docs] class Response(Enum): """ Enumeration for different response types based only on the target lesions' 2D measurements. """ CR = 0 PR = 1 SD = 2 PD = 3
[docs] def description(self): return { self.CR: "Complete Response", self.PR: "Partial Response", self.SD: "Stable Disease", self.PD: "Progressive Disease" }[self]
[docs] def description_detailed(self): return { self.CR: "Complete Response (CR): 100% Decrease", self.PR: "Partial Response (PR): >= 50% Decrease", self.SD: "Stable Disease (SD): < 50% Decrease to < 25% Increase", self.PD: "Progressive Disease (PD): >= 25% Increase" }[self]
[docs] class TumorComponentsForEval(Enum): """ Enumeration for different tumor components used for evaluation. """ CE = 0 NonCE = 1 Mixed = 2
[docs] def description(self): return { self.CE: "CE", self.NonCE: "Non-CE", self.Mixed: "Mixed" }[self]
[docs] class RefScanRole(Enum): """ Enumeration for different reference scan roles. """ CR = 0 PR = 1 SD = 2 PD = 3 PPD = 4 # preliminary progressive disease Baseline = 5
[docs] def description(self): return { self.CR: "Complete Response (CR)", self.PR: "Partial Response (PR)", self.SD: "Stable Disease (SD)", self.PD: "Progressive Disease (PD)", self.PPD: "Preliminary Progressive Disease (PPD)", self.Baseline: "Baseline" }[self]
[docs] class CurrScanRole(Enum): """ Enumeration for different current scan roles. """ CR = 0 PR = 1 SD = 2 PD = 3
[docs] def description(self): return { self.CR: "Complete Response (CR)", self.PR: "Partial Response (PR)", self.SD: "Stable Disease (SD)", self.PD: "Progressive Disease (PD)" }[self]
[docs] class NonTargetOrNonMeasLes(Enum): """ Enumeration for assessment of non-target lesions or non-measurable lesions. """ NoneOrStableOrCR = 0 Worse = 1
[docs] def description(self): return { self.NoneOrStableOrCR: "None or Stable or CR", self.Worse: "Worse" }[self]
[docs] class ClinicalStatus(Enum): """ Enumeration for clinical status of the patient. """ StableOrImproved = 0 Worse = 1
[docs] def description(self): return { self.StableOrImproved: "Stable or Improved", self.Worse: "Worse" }[self]
[docs] class SteroidDose(Enum): """ Enumeration for steroid dose administered to the patient. """ No = 0 Yes = 1
[docs] def description(self): return { self.No: "No", self.Yes: "Yes" }[self]
[docs] class OverallResponse(Enum): """ Enumeration for overall response assessment based on all RANO criteria. """ CR = 0 PR = 1 SD = 2 PD = 3 PCR = 4 # preliminary complete response PPR = 5 # preliminary partial response PSD = 6 # preliminary stable disease PPD = 7 # preliminary progressive disease CCR = 8 # confirmed complete response CPR = 9 # confirmed partial response CSD = 10 # confirmed stable disease CPD = 11 # confirmed progressive disease
[docs] def description(self): return { self.CR: "Complete Response (CR)", self.PR: "Partial Response (PR)", self.SD: "Stable Disease (SD)", self.PD: "Progressive Disease (PD)", self.PCR: "Preliminary Complete Response (PCR)", self.PPR: "Preliminary Partial Response (PPR)", self.PSD: "Preliminary Stable Disease (PSD)", self.PPD: "Preliminary Progressive Disease (PPD)", self.CCR: "Confirmed Complete Response (CCR)", self.CPR: "Confirmed Partial Response (CPR)", self.CSD: "Confirmed Stable Disease (CSD)", self.CPD: "Confirmed Progressive Disease (CPD)" }[self]