Some callbacks rely on additional arguments depending on the database. For example, eICU does not contain reliable fluid sampling so sepsis definitions may need to be based on antibiotics alone. susp_inf allows to specify the si_mode parameter to do so.
library(ricu)
so <- load_concepts("sofa", "eicu_demo", verbose = FALSE)
si <- load_concepts("susp_inf", "eicu_demo", si_mode = "abx", verbose = FALSE)
se <- sep3(sofa = so, susp_inf = si)
This will lead to a different result than the default sepsis-3 calculation:
se_std <- load_concepts("sep3", "eicu_demo", verbose = FALSE)
setequal(se, se_std)
#> Error in `assert_that()`:
#> ! setequal(x = names(dots), y = concepts) is not TRUE
The reason for this is twofold:
collect_dots currently only allows for concepts to be passed via ..., which leads to the above error when the sep3 callback is executed. I may be missing something here but to me this seems unnecessarily restrictive.
Even if collect_dots accepted other parameters, those parameters would not be be passed down to the lower-level concepts.
Some callbacks rely on additional arguments depending on the database. For example, eICU does not contain reliable fluid sampling so sepsis definitions may need to be based on antibiotics alone.
susp_inf
allows to specify thesi_mode
parameter to do so.This will lead to a different result than the default sepsis-3 calculation:
Problem
Currently, the above cannot be loaded directly
The reason for this is twofold:
collect_dots
currently only allows for concepts to be passed via...
, which leads to the above error when thesep3
callback is executed. I may be missing something here but to me this seems unnecessarily restrictive.collect_dots
accepted other parameters, those parameters would not be be passed down to the lower-level concepts.https://github.com/eth-mds/ricu/blob/4a64d6bf9e94455ebaa599728b720ea33b599ab5/R/concept-load.R#L496-L498
(Potential) Solution
Change the behaviour of
collect_dots
and add...
toext
.