#' attach Hypertension
#'
#' @param data data
#' @param years years
#' @param systolic 140
#' @param diastolic 90
#' @param n number of test for diagnose hypertension
#'
#' @return
#' @export
#'
attach_Hypertension <- function(data,years,systolic=140,diastolic=90,n=3){
years <- data_years(data,years)
bpx <- nhs_tsv('bpx','!~bpxo',years=years,cat = FALSE)
bpq <- nhs_tsv('bpq',years = years,cat = FALSE)
d <- nhs_read(bpx,"bpxdi1","bpxdi2","bpxdi3","bpxdi4",
"bpxsy1","bpxsy2","bpxsy3","bpxsy4",
bpq,'bpq020','bpq030','bpq040a',lower_cd = TRUE,cat = FALSE)
# drug
n1 <- attach_Drug('antihypertensi',data = d,cat = FALSE,goal01 = 1,dcn = FALSE,icn = FALSE)
# doctor told you
n1$bpq <- as.numeric(rowSums(n1[,c("bpq020","bpq030","bpq040a")]=='yes',na.rm = TRUE) > 0)
n1$bpq[rowSums(is.na(n1[,c("bpq020","bpq030","bpq040a")]))==3] <- NA
# bpx
sys <- n1[,c("bpxsy1","bpxsy2","bpxsy3","bpxsy4")] >= systolic
dia <- n1[,c("bpxdi1","bpxdi2","bpxdi3","bpxdi4")] >= diastolic
n1$bpx <- as.numeric((rowSums(sys,na.rm = TRUE) + rowSums(dia,na.rm = TRUE)) >= n)
n1$bpx[(rowSums(is.na(sys)) + rowSums(is.na(dia))) == 8] <- NA
d$Hypertension <- ifelse(rowSums(n1[,c("bpx","drug","bpq")],na.rm = TRUE) > 0,'yes','no')
d$Hypertension[rowSums(is.na(n1[,c("bpx","drug","bpq")]))==3] <- NA
if (missing(data)){
data <- d[,c('seqn','Year','Hypertension')]
}else{
d <- d[,c("seqn","Hypertension")]
data <- dplyr::left_join(data,d,'seqn')
}
return(data)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.