
Calculate 2020 Winther CACS-CL PTP model for obstructive CAD
Source:R/winther_ptp.R
calculate_winther_2020_cacs_cl_ptp.RdThis function returns a patient's pre-test probability (PTP) of obstructive coronary artery disease (CAD) based on 2020 Winther et. al. Coronary Artery Calcium Score-Weighted Clinical Likelihood (CACS-CL) model. Obstructive CAD was defined as a stenosis causing \(\geq\) 50% diameter stenosis on coronary CTA.
Usage
calculate_winther_2020_cacs_cl_ptp(
age,
sex,
chest_pain_type,
have_dyspnoea,
have_family_history,
have_smoking_history,
have_dyslipidemia,
have_hypertension,
have_diabetes,
coronary_calcium_score,
allow_na_symptom_score = TRUE,
max_na_num_of_rf = 0,
label_sex_male = c("male"),
label_sex_female = c("female"),
label_sex_unknown = c(NA, NaN),
label_have_dyspnoea_no = c("no"),
label_have_dyspnoea_yes = c("yes"),
label_have_dyspnoea_unknown = c(NA, NaN),
label_cpt_no_chest_pain = c("no chest pain"),
label_cpt_nonanginal = c("nonanginal"),
label_cpt_atypical = c("atypical"),
label_cpt_typical = c("typical"),
label_cpt_unknown = c(NA, NaN),
label_have_family_history_no = c("no"),
label_have_family_history_yes = c("yes"),
label_have_family_history_unknown = c(NA, NaN),
label_have_smoking_history_no = c("no"),
label_have_smoking_history_yes = c("yes"),
label_have_smoking_history_unknown = c(NA, NaN),
label_have_dyslipidemia_no = c("no"),
label_have_dyslipidemia_yes = c("yes"),
label_have_dyslipidemia_unknown = c(NA, NaN),
label_have_hypertension_no = c("no"),
label_have_hypertension_yes = c("yes"),
label_have_hypertension_unknown = c(NA, NaN),
label_have_diabetes_no = c("no"),
label_have_diabetes_yes = c("yes"),
label_have_diabetes_unknown = c(NA, NaN)
)Arguments
- age
Input numeric value to indicate the age of the patient in years.
- sex
The value of variable in the parameters
label_sex_male,label_sex_femaleandlabel_sex_unknown.- chest_pain_type
The value of variable in the parameters
label_cpt_no_chest_pain,label_cpt_nonanginal,label_cpt_atypical,label_cpt_typical,
andlabel_cpt_unknown.- have_dyspnoea
The value of variable in the parameters
label_have_dyspnoea_no,label_have_dyspnoea_yesandlabel_have_dyspnoea_unknown.- have_family_history
The value of variable in the parameters
label_have_family_history_no,label_have_family_history_yes
andlabel_have_family_history_unknown.- have_smoking_history
The value of variable in the parameters
label_have_smoking_history_no,label_have_smoking_history_yes,
andlabel_have_smoking_history_unknown.- have_dyslipidemia
The value of variable in the parameters
label_have_dyslipidemia_no,label_have_dyslipidemia_yesandlabel_have_dyslipidemia_unknown.- have_hypertension
The value of variable in the parameters
label_have_hypertension_no,label_have_hypertension_yes, andlabel_have_hypertension_unknown.- have_diabetes
The value of variable in the parameters
label_have_diabetes_no,label_have_diabetes_yesandlabel_have_diabetes_unknown.- coronary_calcium_score
Input non-negative numeric to indicate the total coronary calcium score of the patient.
- allow_na_symptom_score
A logical evaluating to
TRUEorFALSE
indicating whether we can allowchest_pain_type
orhave_dyspnoeato beNAwhen calculating the score.- max_na_num_of_rf
Input integer 0 to 5 to indicate the maximum number of missing risk factors to tolerate before outputting an
NA. Default: 0- label_sex_male
Label(s) for definition(s) of male sex. Default:
c("male")- label_sex_female
Label(s) for definition(s) of female sex. Default:
c("female")- label_sex_unknown
Label(s) for definition(s) of missing sex. Default:
c(NA, NaN)- label_have_dyspnoea_no
Label(s) for patient having no dyspnoea symptoms. Default:
c("no")- label_have_dyspnoea_yes
Label(s) for patient having dyspnoea symptoms. Default:
c("yes")- label_have_dyspnoea_unknown
Label(s) for patient having unknown dyspnoea symptoms. Default:
c(NA, NaN)- label_cpt_no_chest_pain
Label(s) for patient having no chest pain. Default:
c("no chest pain")- label_cpt_nonanginal
Label(s) for patient having nonanginal or non-specific chest pain.
Default:c("nonanginal")- label_cpt_atypical
Label(s) for patient having atypical chest pain. Default:
c("atypical")- label_cpt_typical
Label(s) for patient having typical chest pain. Default:
c("typical")- label_cpt_unknown
Label(s) for patient having unknown chest pain type symptoms. Default:
c(NA, NaN)- label_have_family_history_no
Label(s) for patient with no family history of CAD. Default:
c("no")- label_have_family_history_yes
Label(s) for patient having family history of CAD. Default:
c("yes")- label_have_family_history_unknown
Label(s) for patient having unknown family history of CAD. Default:
c(NA, NaN)- label_have_smoking_history_no
Label(s) for patient with no smoking history (current or past). Default:
c("no")- label_have_smoking_history_yes
Label(s) for patient having smoking history (current or past). Default:
c("yes")- label_have_smoking_history_unknown
Label(s) for patient having unknown smoking history (current or past). Default:
c(NA, NaN)- label_have_dyslipidemia_no
Label(s) for patient with no dyslipidemia. Default:
c("no")- label_have_dyslipidemia_yes
Label(s) for patient having dyslipidemia. Default:
c("yes")- label_have_dyslipidemia_unknown
Label(s) for patient having unknown dyslipidemia. Default:
c(NA, NaN)- label_have_hypertension_no
Label(s) for patient with no hypertension. Default:
c("no")- label_have_hypertension_yes
Label(s) for patient having hypertension. Default:
c("yes")- label_have_hypertension_unknown
Label(s) for patient having unknown hypertension. Default:
c(NA, NaN)- label_have_diabetes_no
Label(s) for patient with no diabetes. Default:
c("no")- label_have_diabetes_yes
Label(s) for patient having diabetes. Default:
c("yes")- label_have_diabetes_unknown
Label(s) for patient having unknown diabetes. Default:
c(NA, NaN)
Value
A numeric value representing the patient's PTP for obstructive CAD based on the 2020 Winther et. al. Coronary Artery Calcium Score-Weighted Clinical Likelihood (CACS-CL) model.
Details
The predictive model is based on > 40000 symptomatic patients from 2008 to 2017 from 13 hospitals in Western Denmark. These patients are registered under the Western Denmark Heart Registry.
Model formula used is from Table S3.
It is of the form $$\frac{1}{(1 + e^{-F(x)})}$$ where \(F(x)\) equals $$ \begin{array}{l} 0.0013\quad+ \\\\ (0.2021 * rf\_ptp)\quad+ \\\\ (0.0082 * cacs\_1\_to\_9)\quad+ \\\\ (0.0238 * cacs\_10\_to\_99)\quad+ \\\\ (0.1131 * cacs\_100\_to\_399)\quad+ \\\\ (0.2306 * cacs\_400\_to\_999)\quad+ \\\\ (0.4040 * cacs\_1000\_or\_more)\quad+ \\\\ (0.1311 * rf\_ptp * cacs\_1\_to\_9)\quad+ \\\\ (0.2909 * rf\_ptp * cacs\_10\_to\_99)\quad+ \\\\ (0.4077 * rf\_ptp * cacs\_100\_to\_399)\quad+ \\\\ (0.4658 * rf\_ptp * cacs\_400\_to\_999)\quad+ \\\\ (0.4489 * rf\_ptp * cacs\_1000\_or\_more) \end{array} $$
Examples
# 40 year old Male with nonanginal chest pain and coronary calcium score of 0
calculate_winther_2020_cacs_cl_ptp(
age = 40,
sex = "male",
chest_pain_type = "no chest pain",
have_dyspnoea = "no",
have_family_history = "no",
have_smoking_history = "no",
have_dyslipidemia = "no",
have_hypertension = "no",
have_diabetes = "no",
coronary_calcium_score = 0,
allow_na_symptom_score = TRUE,
max_na_num_of_rf = 0
)
#> [1] 0.004159686