transfer from old repo
This commit is contained in:
parent
cfa4a5f9cc
commit
277e2b8cf3
1111 changed files with 83736 additions and 0 deletions
102
DAP follow-up/longterm-outcome.R
Normal file
102
DAP follow-up/longterm-outcome.R
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
library(REDCapR)
|
||||
library(tidyverse)
|
||||
|
||||
readRenviron("/Users/au301842/PAaSO/.Renviron")
|
||||
|
||||
token <- Sys.getenv('STROKE_API')
|
||||
|
||||
ds <-
|
||||
redcap_read(
|
||||
token = token,
|
||||
redcap_uri = "https://redcap.au.dk/api/",
|
||||
fields = c(
|
||||
"forloebid",
|
||||
"ageforloeb_patiente",
|
||||
"sex_patiente",
|
||||
"forloebdato_patiente",
|
||||
"forloebtid_patiente",
|
||||
"ankomstdato_basisske",
|
||||
"ankomsttid_basisske",
|
||||
"mrsfoer_basisske",
|
||||
"symptdebexactdato_basisske",
|
||||
"symptdebexacttid_basisske",
|
||||
"modtagetsomtrombolysekandidat_basisske",
|
||||
"vaskdiag_basisske",
|
||||
"diagnosecerebraltinfarkt_basisske",
|
||||
"nihss_basisske",
|
||||
"id_tromboly",
|
||||
"ankomsttidtrombol_tromboly",
|
||||
"id_trombekt",
|
||||
"mdmrs3_tremdrop",
|
||||
"ankomstdatotrombek_trombekt"
|
||||
)
|
||||
)$data
|
||||
|
||||
ds_filter <- ds |> filter(diagnosecerebraltinfarkt_basisske=="TRUE")
|
||||
|
||||
## Vector to correct arrival time
|
||||
tid_a <- substr(as.character(ds_filter$forloebtid_patiente),12,19)==""
|
||||
|
||||
ds_mod <-
|
||||
ds_filter |> mutate(mrsfoer_basisske=mrsfoer_basisske-2,
|
||||
mdmrs3_tremdrop=mdmrs3_tremdrop-1) |>
|
||||
transmute(onset=as_datetime(paste(substr(
|
||||
as.character(ds_filter$symptdebexactdato_basisske), 1, 10
|
||||
), substr(as.character(ds_filter$symptdebexacttid_basisske), 12, 19)
|
||||
)),
|
||||
arrival = as_datetime(paste(substr(
|
||||
as.character(ds_filter$forloebdato_patiente), 1, 10
|
||||
), ifelse(
|
||||
tid_a,
|
||||
substr(as.character(ds_filter$ankomsttid_basisske), 12, 19),
|
||||
substr(as.character(ds_filter$forloebtid_patiente), 12, 19)
|
||||
))),
|
||||
sex=sex_patiente,
|
||||
age=ageforloeb_patiente,
|
||||
nihss=nihss_basisske,
|
||||
ivt=!is.na(id_tromboly),
|
||||
evt=!is.na(id_trombekt),
|
||||
mrs_0=factor(ifelse(!mrsfoer_basisske %in% 0:5,NA,mrsfoer_basisske)),
|
||||
mrs_3=factor(ifelse(!mdmrs3_tremdrop %in% 0:5,NA,mdmrs3_tremdrop)),
|
||||
delay=as.numeric(difftime(arrival,onset,units="mins")),
|
||||
# delay_group=cut(delay,breaks = c(0,90,270,420,max(delay)),include.lowest = TRUE,labels = c("<90","90-270","270-420",">420")),
|
||||
year=as.numeric(substr(as.character(arrival),1,4))
|
||||
) |>
|
||||
filter(delay<1440, delay>0) # Only include ptt presenting within 1 day, positive delay
|
||||
|
||||
# FØR: 0=Uoplyst | 1=Ukendt | 2=0: Ingen symptomer | 3=1: Ingen synlig funktionsnedsættelse | 4=2: Nogen funktionsnedsættelse | 5=3: Moderat funktionsnesættelse | 6=4: Moderat-svær funktionsnedsættelse | 7=5: Svær funktionsnedsættelse
|
||||
# EFTER: 0=Ingen symptomer | 1=Ingen synlig funktionsnedsættelse | 2=Nogen funktionsnedsættelse | 3=Moderat funktionsnesættelse | 4=Moderat-svær funktionsnedsættelse | 5=Svær funktionsnedsættelse | 6=Død | 7=Levende, ukendt Ranking score | 8=Ikke tilgængelig info
|
||||
|
||||
skimr::skim(ds_mod)
|
||||
|
||||
tbl <- table(mRS=ds_mod$mrs_3, Group=ds_mod$delay_group, Strata=ds_mod$adm_year)
|
||||
|
||||
rankinPlot::grottaBar(tbl, groupName = "Group", scoreName = "mRS",strataName = "Strata")
|
||||
|
||||
ds_sums <- ds_mod |> group_by(year) |> summarise(mrs_3_median=median(as.numeric(mrs_3)-1,na.rm=TRUE),
|
||||
mrs_3_iqr=paste(quantile(as.numeric(mrs_3)-1,na.rm=TRUE),collapse = ", "),
|
||||
nihss_median=median(nihss,na.rm=TRUE),
|
||||
nihss_iqr=paste(quantile(nihss,na.rm=TRUE),collapse = ", "),
|
||||
n=n(),
|
||||
norm_days_frac=365.25/as.numeric(difftime(max(arrival),min(arrival),units = "days")),
|
||||
n_norm=n*norm_days_frac,
|
||||
ivt_n=sum(ivt),
|
||||
ivt_f=sum(ivt)/n,
|
||||
evt_n=sum(evt),
|
||||
evt_f=sum(evt)/n)
|
||||
|
||||
|
||||
|
||||
library(ggplot2)
|
||||
|
||||
p1 <- ds_mod |> ggplot()+
|
||||
geom_violin(aes(x=as.factor(year),y=as.numeric(mrs_3), fill = year))
|
||||
|
||||
p2 <- ds_sums |> ggplot(aes(x=as.factor(year)))+
|
||||
geom_line(aes(y=n_norm, group=1))
|
||||
|
||||
ds_sums |> ggplot(aes(x=as.factor(year)))+
|
||||
geom_line(aes(y=ivt_f, group=1))
|
||||
|
||||
ds_sums |> ggplot(aes(x=as.factor(year)))+
|
||||
geom_line(aes(y=evt_f, group=1))
|
||||
Loading…
Reference in a new issue