Skip to contents

Computes Framingham Heart Study Cardiovascular Disease 10-Year Risk Score (FCVD101) based on systolic blood pressure, total serum cholesterol (mg/dL), HDL serum cholesterol (mg/dL), sex, smoking status, diabetic status, and treated for hypertension flag.

Usage

compute_framingham(sysbp, chol, cholhdl, age, sex, smokefl, diabetfl, trthypfl)

Arguments

sysbp

Systolic blood pressure

A numeric vector is expected.

chol

Total serum cholesterol (mg/dL)

A numeric vector is expected.

cholhdl

HDL serum cholesterol (mg/dL)

A numeric vector is expected.

age

Age (years)

A numeric vector is expected.

sex

Gender

A character vector is expected. Expected Values: 'M' 'F'

smokefl

Smoking Status

A character vector is expected. Expected Values: 'Y' 'N'

diabetfl

Diabetic Status

A character vector is expected. Expected Values: 'Y' 'N'

trthypfl

Treated for hypertension status

A character vector is expected. Expected Values: 'Y' 'N'

Value

A numeric vector of Framingham values

Details

The predicted probability of having cardiovascular disease (CVD) within 10-years according to Framingham formula. See AHA Journal article General Cardiovascular Risk Profile for Use in Primary Care for reference.

For Women:

FactorAmount
Age2.32888
Total Chol1.20904
HDL Chol-0.70833
Sys BP2.76157
Sys BP + Hypertension Meds2.82263
Smoker0.52873
Non-Smoker0
Diabetic0.69154
Not Diabetic0
Average Risk26.1931
Risk Period0.95012

For Men:

FactorAmount
Age3.06117
Total Chol1.12370
HDL Chol-0.93263
Sys BP1.93303
Sys BP + Hypertension Meds2.99881
Smoker.65451
Non-Smoker0
Diabetic0.57367
Not Diabetic0
Average Risk23.9802
Risk Period0.88936

The equation for calculating risk:

$$RiskFactors = (log(Age) * AgeFactor) + (log(TotalChol) * TotalCholFactor) + (log(CholHDL) * CholHDLFactor) \\ + (log(SysBP) * SysBPFactor) + Smoker + Diabetes Present - AvgRisk$$

$$Risk = 100 * (1 - RiskPeriodFactor ^ exp(RiskFactors))$$

Examples

compute_framingham(
  sysbp = 133, chol = 216.16, cholhdl = 54.91, age = 53,
  sex = "M", smokefl = "N", diabetfl = "N", trthypfl = "N"
)
#> [1] 10.37514

compute_framingham(
  sysbp = 161, chol = 186.39, cholhdl = 64.19, age = 52,
  sex = "F", smokefl = "Y", diabetfl = "N", trthypfl = "Y"
)
#> [1] 16.40353