df_hpt <-
readxl::read_xlsx("Data/Hypertension_prehypt.xlsx") %>%
janitor::clean_names() %>%
rename(
educ = patient_education_level,
resid = place_of_residence,
age_diag = age_at_diagnosis_yrs,
dura_dm = duration_of_diabetes_yrs,
type_dm = type_of_diabetes,
cur_meds = current_medications,
hba1c = most_recent_hb_a1c_level_if_known,
fam_hx = family_history,
bmi_perc = bmi_percentiles,
sbp = sbp_mm_hg_systolic,
dbp = dbp_mm_hg_diastolic,
sbp_grade = bp_systolic_grading,
dbp_grade = bp_diastlolic_grading) %>%
mutate(
across(c(type_dm, gender, resid), ~factor(.)),
insulin = case_when(
str_detect(cur_meds, "sulin") ~ "Yes",
TRUE ~ "No"),
oha = case_when(
str_detect(cur_meds, "OHA") ~ "Yes",
TRUE ~ "No"),
fam_hx_dm = case_when(
str_detect(fam_hx, "Diabetes") ~ "Yes",
TRUE ~ "No"),
fam_hx_hpt = case_when(
str_detect(fam_hx, "Hypertension") ~ "Yes",
TRUE ~ "No"),
fam_hx_glau = case_when(
str_detect(fam_hx, "Glaucoma") ~ "Yes",
TRUE ~ "No"),
hba1c_cat = case_when(hba1c <= 7 ~ "No", hba1c > 7 ~ "Yes"),
educ2 = case_when(
educ %in% c("None", "Primary", "JHS") ~ "Primary & below",
TRUE ~ educ),
bmi_perc2 = case_when(
bmi_perc %in% c("Obesity","Overweight") ~ "Overweight/Obese",
bmi_perc == "underwgt" ~ "Underweight",
TRUE ~ bmi_perc)) %>%
select(
-c(town, region, hospital_clinic,family_history_2, prehypt))
x <-
pedbp::p_bp(
q_sbp = df_hpt$sbp,
q_dbp = df_hpt$dbp,
age = df_hpt$curr_age*12,
male = ifelse(df_hpt$gender == "Male", 1, 0),
height = df_hpt$height_cm,
source = "flynn2017")
x <- data.frame(
sbp_perc = x[[1]]*100,
dbp_perc = x[[2]]*100,
patient_id = df_hpt$patient_id)
df_hpt_new <-
df_hpt %>%
full_join(x) %>%
mutate(
bp_grade = case_when(
(curr_age >= 13 & sbp < 120 & dbp < 80) ~ "Normal",
(sbp_perc < 90 & dbp_perc < 90) ~ "Normal",
(curr_age >= 13 & (sbp < 130 & dbp < 80)) ~ "Elevated BP",
(sbp_perc < 95 & dbp_perc < 95) ~ "Elevated BP",
(curr_age >= 13 & (sbp < 140 | dbp < 90)) ~ "Stage I",
(curr_age >= 13 & (sbp >= 140 | dbp >= 90) ~ "Stage II"),
patient_id == 65 ~ "Stage I",
patient_id == 107 ~ "Stage II"),
hpt = case_when(
bp_grade == "Stage I" ~ "Yes",
bp_grade == "Stage II" ~ "Yes",
TRUE ~ "No"),
elevated_bp = case_when(
bp_grade == "Elevated BP" ~ "Yes",
TRUE ~ "No"),
normal_bp = case_when(
bp_grade == "Normal" ~ "Yes",
TRUE ~ "No"),
abnormal_bp = ifelse(normal_bp == "No", "Yes", "No")) %>%
select(-c(sbp_perc, dbp_perc))
labelled::var_label(df_hpt_new)<-
list(
educ = "Educational Level",
educ2 = "Educational Level",
resid = "Residence type",
curr_age = "Age in years",
gender = "Sex",
age_diag = "Age at diagnosis (years)",
dura_dm = "Duration of DM (years)",
type_dm = "Type of DM",
cur_meds = "Current medications",
insulin = "Currently using Insulin",
oha = "Currently using OHA",
hba1c = "HbA1c (%)",
fam_hx = "Family history",
fam_hx_dm = "Family history of DM",
fam_hx_hpt = "Family history of hypertension",
fam_hx_glau = "Family history of Glaucoma",
height_cm = "Height (cm)",
bmi_kg_m2 = "BMI (kg/m2)",
bmi_perc = "BMI Percentile",
bmi_perc2 = "BMI Percentile",
sbp = "Systolic BP (mmHg)",
dbp = "Diastolic BP (mmHg)",
sbp_grade = "Systolic BP grading",
dbp_grade = "Diastolic BP grading",
bp_grade = "BP grading",
hpt = "Hypertension",
elevated_bp = "Elevated Blood Pressure",
normal_bp = "Normal BP",
abnormal_bp = "Abnormal BP",
hba1c_cat = "Elevated HbA1c")