mirror of https://github.com/msberends/AMR.git
53 lines
1.7 KiB
R
53 lines
1.7 KiB
R
|
library(dplyr)
|
||
|
library(readxl)
|
||
|
|
||
|
# Installed WHONET 2019 software on Windows (http://www.whonet.org/software.html),
|
||
|
# opened C:\WHONET\Codes\WHONETCodes.mdb in MS Access
|
||
|
# and exported table 'DRGLST1' to MS Excel
|
||
|
DRGLST1 <- read_excel("DRGLST1.xlsx")
|
||
|
rsi_translation <- DRGLST1 %>%
|
||
|
# only keep CLSI and EUCAST guidelines:
|
||
|
filter(GUIDELINES %like% "^(CLSI|EUCST)") %>%
|
||
|
# set a nice layout:
|
||
|
transmute(guideline = gsub("([0-9]+)$", " 20\\1", gsub("EUCST", "EUCAST", GUIDELINES)),
|
||
|
method = TESTMETHOD,
|
||
|
mo = as.mo(ORG_CODE),
|
||
|
ab = as.ab(WHON5_CODE),
|
||
|
ref_tbl = REF_TABLE,
|
||
|
dose_disk = POTENCY,
|
||
|
S_disk = as.disk(DISK_S),
|
||
|
R_disk = as.disk(DISK_R),
|
||
|
S_mic = as.mic(MIC_S),
|
||
|
R_mic = as.mic(MIC_R)) %>%
|
||
|
filter(!is.na(mo) & !is.na(ab)) %>%
|
||
|
arrange(desc(guideline), mo, ab)
|
||
|
|
||
|
# create 2 tables: MIC and disk
|
||
|
tbl_mic <- rsi_translation %>%
|
||
|
filter(method == "MIC") %>%
|
||
|
select(-ends_with("_disk")) %>%
|
||
|
mutate(joinstring = paste(guideline, mo, ab))
|
||
|
tbl_disk <- rsi_translation %>%
|
||
|
filter(method == "DISK") %>%
|
||
|
select(-S_mic, -R_mic) %>%
|
||
|
mutate(joinstring = paste(guideline, mo, ab)) %>%
|
||
|
select(joinstring, ends_with("_disk"))
|
||
|
|
||
|
# merge them so every record is a unique combination of method, mo and ab
|
||
|
rsi_translation <- tbl_mic %>%
|
||
|
left_join(tbl_disk,
|
||
|
by = "joinstring") %>%
|
||
|
select(-joinstring, -method) %>%
|
||
|
as.data.frame(stringsAsFactors = FALSE) %>%
|
||
|
# force classes again
|
||
|
mutate(mo = as.mo(mo),
|
||
|
ab = as.ab(ab),
|
||
|
S_mic = as.mic(S_mic),
|
||
|
R_mic = as.mic(R_mic),
|
||
|
S_disk = as.disk(S_disk),
|
||
|
R_disk = as.disk(R_disk))
|
||
|
|
||
|
# save to package
|
||
|
usethis::use_data(rsi_translation, overwrite = TRUE)
|
||
|
rm(rsi_translation)
|