#' LoadSpirometry class
#'
#' Load EXCEED spirometry data
#'
#' @docType class
#' @format An R6 class object.
#' @description LoadSpirometry class
#' @importFrom R6 R6Class
#' @export
LoadSpirometry <- R6::R6Class(
"LoadSpirometry",
inherit = exceedapi::Step,
public = list(
transform = function(.data, .collect, ...) {
primarycare_data <- self$client$ehr("primarycare",
snapshot = "2019-09-03"
)
# Collect spirometry data
testResult <- primarycare_data %>%
tbl("TblTestresult") %>%
mutate(pid=substring(vcendid,unlist(gregexpr('-',vcendid))[1]+1)) %>%
mutate(pid=substring(pid,1,unlist(gregexpr('-',pid))-1)) %>%
mutate(timeid=substring(vcendid,unlist(gregexpr('-',vcendid))[1]+1)) %>%
mutate(timeid=substring(timeid,unlist(gregexpr('-',timeid))+1)) %>%
mutate(testid=as.numeric(substring(vcstartid,unlist(gregexpr('-',vcstartid))[1]+1))) %>%
select(pid,
testid,
timeid,
fev75=intfev75,
fev1=intfev1,
fev3=intfev3,
fev6=intfev6,
fvc=intfvc,
pef=intpef,
mef75=intmef75,
mef50=intmef50,
mef25=intmef25,
mmef=intmmef,
met=intmet,
fet=intfet,
erv=interv,
irv=intirv,
ic=intic,
frc=intfrc,
warning=intwarning,
fvl_count=intfvlcount,
vtl_count=intvtlcount,
fvl_xscale=intfvlxscale,
fvl_yscale=intfvlyscale,
vtl_xscale=intvtlxscale,
vtl_yscale=intvtlyscale) %>%
collect()
testResult <- arrange(testResult,pid,testid)
return(testResult)
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.