
Calculate 2025 Rasmussen RF-CLCCTA PTP model for obstructive CAD
Source:R/rasmussen_ptp.R
calculate_rasmussen_2025_rf_cl_ccta_ptp.RdThis function returns a patient's pre-test probability (PTP) of obstructive coronary artery disease (CAD) based on the 2025 Rasmussen et. al. Risk Factor-Weighted Clinical Likelihood CCTA (RF-CLCCTA) model. Obstructive CAD was defined as a stenosis causing \(\geq\) 50% diameter stenosis on coronary CTA.
Usage
calculate_rasmussen_2025_rf_cl_ccta_ptp(
age,
sex,
chest_pain_type,
have_dyspnoea,
have_family_history,
have_smoking_history,
have_dyslipidemia,
have_hypertension,
have_diabetes,
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.- 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 2025 Rasmussen et. al. Risk Factor-Weighted Clinical Likelihood CCTA (RF-CLCCTA) model.
Details
The predictive model is based on 38,269 symptomatic patients with CACS and interpretable CCTA from 2008 to 2017 across 13 hospitals in Western Denmark. These patients are registered under the Western Denmark Heart Registry. It is then further calibrated against observed obstructive CAD at CCTA and corresponding prevalence of diagnosed obstructive CAD at Invasive Coronary Angiography.
Model formula used is from Development Table 2.
It is of the form $$\frac{1}{(1 + e^{-F(x)})}$$ where \(F(x)\) equals $$ \begin{array}{l} -7.1076\quad+ \\\\ (1.1332 * sex\_is\_male)\quad+ \\\\ (0.072819 * age)\quad+ \\\\ (1.4252 * have\_typical\_chest\_pain)\quad+ \\\\ (-0.55152 * have\_nonanginal\_chest\_pain)\quad+ \\\\ (1.1145 * risk\_factor\_subgroups)\quad+ \\\\ (-0.005578 * age * have\_typical\_chest\_pain)\quad+ \\\\ (-0.0079662 * age * risk\_factor\_subgroups)\quad+ \\\\ (-0.11213 * have\_typical\_chest\_pain * risk\_factor\_subgroups)\quad+ \\\\ (-0.18948 * sex\_is\_male * risk\_factor\_subgroups) \end{array} $$
Examples
# 40 year old Male with nonanginal chest pain
calculate_rasmussen_2025_rf_cl_ccta_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",
allow_na_symptom_score = TRUE,
max_na_num_of_rf = 0
)
#> [1] 0.04712015