#' Anemia at sea level
#'
#' @param data data
#' @param years years
#' @param Year logical
#' @description According to WHO standards, four grades of anemia for children,
#' pregnant women, non-pregnant women and men.
#' @references http://apps.who.int/iris/bitstream/handle/10665/85839/WHO_NMH_NHD_MNM_11.1_eng.pdf?sequence=22
#' @details Haemoglobin levels to diagnose anaemia at sea level (g/l)
#'
#' - Children 6 - 59 months of age: Non -Anaemia(110 or higher) Mild(100-109) Moderate(70-99) Severelower than 70)
#' - Children 5 - 11 years of age: Non -Anaemia(115 or higher) Mild(110-114) Moderate(80-109) Severelower than 80)
#' - Children 12 - 14 years of age: Non -Anaemia(120 or higher) Mild(110-119) Moderate(80-109) Severelower than 80)
#' - Non-pregnant women
#' (15 years of age and above): Non -Anaemia(120 or higher) Mild(110-119) Moderate(80-109) Severelower than 80)
#' - Pregnant women: Non -Anaemia(110 or higher) Mild(100-109) Moderate(70-99) Severelower than 70)
#' - Men: (15 years of age and above) Non -Anaemia( 130 or higher) Mild(110-129) Moderate(80-109) Severelower than 80)
#' @return
#' @export
#'
attach_Anemia <- function(data,years, Year=FLASE){
years <- data_years(data,years)
(demo <- nhs_tsv('demo',items = 'demo',years = years,cat=FALSE))
(hb_tsv <- nhs_tsv('lab25\\.|l25_b\\.|l25_c\\.|cbc',items = 'lab',years = years,cat=FALSE))
nr <- nhs_read(demo,"riagendr:sex","ridageyr:age",'ridexprg:prg',
hb_tsv,"lbxhgb:hb",
cat=FALSE,
lower_cd = TRUE)
nr <- attach_Pregnant(data = nr)
# anemia
nr$anemia[nr$age < 0.5] <- 'age<0.5y'
ck <- nr$age >=0.5 & nr$age<5
severe <- 7; Moderate <- 10; Mild <- 11
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=5 & nr$age<12
severe <- 8; Moderate <- 11; Mild <- 11.5
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=12 & nr$age<15
severe <- 8; Moderate <- 11; Mild <- 12
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=12 & nr$age<15
severe <- 8; Moderate <- 11; Mild <- 12
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=15 & nr$sex=='male'
severe <- 8; Moderate <- 11; Mild <- 13
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=15 & nr$sex=='female' & nr$pregnant == 'yes' & (!is.na(nr$pregnant))
severe <- 7; Moderate <- 10; Mild <- 11
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
ck <- nr$age >=15 & nr$sex=='female' & (nr$pregnant == 'no' | is.na(nr$pregnant))
severe <- 8; Moderate <- 11; Mild <- 12
nr$anemia[ck] <- ifelse(nr$hb[ck]< severe,'Severe',ifelse(nr$hb[ck] < Moderate,'Moderate',ifelse(nr$hb[ck]<Mild,'Mild','Non-Anaemia')))
d <- nr[,c('seqn','Year','anemia')]
attach_return_data(data,d,Year,'seqn')
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.