A simple implementation of prostate cancer nomograms.
Prostate cancer nomograms are prediction tools designed to help patients and their physicians understand the nature of their prostate cancer, assess risk based on specific characteristics of a patient and his disease, and predict the likely outcomes of treatment. 1
pip install prostate-nomograms
pip install git+https://github.com/MaxenceLarose/prostate-cancer-nomograms
import pandas as pd
from prostate_nomograms import MskccPreRadicalProstatectomyNomogram, ClassificationOutcome
mskcc_nomogram = MskccPreRadicalProstatectomyNomogram(outcome=ClassificationOutcome.LYMPH_NODE_INVOLVEMENT)
dataframe = pd.read_csv("data.csv")
probability = mskcc_nomogram.predict_proba(dataframe)
Nomograms are typically implemented as web-based applications in which a physician must fill in certain boxes using a patient's medical information. Once all the boxes are filled in, the prediction tool can either calculate the probability of several clinical outcomes or calculate a risk score associated with the patient's health status, depending on the type of nomogram. The purpose of this application is to speed up the process for a very large number of patients. Indeed, the statistical models of the nomograms are reproduced in Python which allows to calculate in a few seconds the probabilities and the scores of thousands of patients. The coefficients of the models are read from the web sites, then used for the calculations.
Currently, the nomograms of two major centers are implemented, namely :
- Memorial Sloan Kettering Cancer Center (MSKCC)
- UCSF - CAPRA
The MSKCC nomogram directly gives the probability and risk of different outcomes. The UCSF one gives a CAPRA score, which is then converted to probability using logistic regression or cox regression on patient data.
Note that a custom nomogram is also implemented, i.e. a simple logistic regression or cox regression using arbitrary variables.
You can find examples here.
This code is provided under the Apache License 2.0.
@misc{prostate-nomograms,
title={prostate-nomograms: Prediction tools based on existing prostate cancer nomograms},
author={Maxence Larose},
year={2022},
publisher={Université Laval},
url={https://github.com/MedPhysUL/prostate-nomograms},
}
Maxence Larose, B. Ing., [email protected]