From 2c98dac7ae1962d1135fb63d5a257197c1d2148a Mon Sep 17 00:00:00 2001 From: Matthijs Berends Date: Mon, 2 Nov 2026 17:31:46 +0100 Subject: [PATCH] Store all screening breakpoints under screening agents, and add these agents to antimicrobials (#328) Implements the decisions ticked in #328, and the behaviour specified in https://github.com/msberends/AMR/pull/339#issuecomment-6577438074: `include_screening` now defaults to NULL, using screening breakpoints for screening agents only. With TRUE, a regular agent also takes these breakpoints, and with FALSE a screening agent gives NA with a note. - antimicrobials gains 13 screening agents, e.g. GEN-S, ERY-S and STR1-S - GEH and STH rows move to GEN-S and STR1-S, and as.sir() keeps accepting both codes - Topical cut-off values move to -S agents with site "Topical" - WHONET-based rows move as ticked, including CLSI cefoxitin for staphylococci and pefloxacin for Salmonella, and EUCAST 2012-2018 cefoxitin MIC - Clinical breakpoints that EUCAST also allows as a screening test get a copy under the -S agent --- R/aa_options.R | 2 +- R/sir.R | 78 +++++++++++++++--- .../reproduction_of_antimicrobials.R | 26 ++++++ .../reproduction_of_clinical_breakpoints.R | 24 ++++++ ...roduction_of_clinical_breakpoints_eucast.R | 41 ++++++--- data/antimicrobials.rda | Bin 45312 -> 45516 bytes man/AMR-options.Rd | 2 +- man/AMR.Rd | 2 +- man/antimicrobials.Rd | 4 +- man/as.sir.Rd | 8 +- tests/testthat/test-data.R | 34 ++++++++ tests/testthat/test-sir.R | 29 ++++++- 12 files changed, 213 insertions(+), 37 deletions(-) diff --git a/R/aa_options.R b/R/aa_options.R index 7bc49b9fc..67a9a8442 100755 --- a/R/aa_options.R +++ b/R/aa_options.R @@ -51,7 +51,7 @@ #' - For many plotting functions (e.g., for MIC or disk diffusion values), supplying `mo` and `ab` enables automatic SIR-based interpretative colouring. These colours are derived from [as.sir()] in the background and therefore depend on the active `guideline` setting, which again uses `r AMR::clinical_breakpoints$guideline[1]` if not set explicitly. #' * `AMR_ignore_pattern` \cr A [regular expression][base::regex] to ignore (i.e., make `NA`) any match given in [as.mo()] and all [`mo_*`][mo_property()] functions. #' * `AMR_include_PKPD` \cr A [logical] to use in [as.sir()], to indicate that PK/PD clinical breakpoints must be applied as a last resort - the default is `TRUE`. -#' * `AMR_include_screening` \cr A [logical] to use in [as.sir()], to indicate that clinical breakpoints for screening are allowed - the default is `FALSE`. +#' * `AMR_include_screening` \cr A [logical] to use in [as.sir()], to indicate that clinical breakpoints for screening are allowed - the default is `NULL`, using these for screening agents only, such as `FOX-S`. See [as.sir()]. #' * `AMR_interpretive_rules` \cr A [character] to set the default types of rules for [interpretive_rules()], [eucast_rules()] and [clsi_rules()], must be one or more of: `"breakpoints"`, `"expected_phenotypes"`, `"expert"`, `"other"`, `"custom"`, `"all"`, and defaults to `c("breakpoints", "expected_phenotypes")`. This option replaces the old option `AMR_eucastrules`. #' * `AMR_keep_synonyms` \cr A [logical] to use in [as.mo()] and all [`mo_*`][mo_property()] functions, to indicate if old, previously valid taxonomic names must be preserved and not be corrected to currently accepted names. The default is `FALSE`. #' * `AMR_locale` \cr A [character] to set the language for the `AMR` package, can be one of these supported language names or [ISO 639-1 codes](https://en.wikipedia.org/wiki/ISO_639-1): `r vector_or(paste0(sapply(LANGUAGES_SUPPORTED_NAMES, function(x) x[[1]]), " (" , LANGUAGES_SUPPORTED, ")"), quotes = FALSE, sort = FALSE)`. The default is the current system language (if supported, English otherwise). diff --git a/R/sir.R b/R/sir.R index 62bff077f..ab36d287c 100755 --- a/R/sir.R +++ b/R/sir.R @@ -66,7 +66,7 @@ VALID_SIR_LEVELS <- c("S", "SDD", "I", "R", "NI", "WT", "NWT", "NS") #' @param as_wt_nwt A [logical] to return `"WT"`/`"NWT"` instead of `"S"`/`"R"`. Defaults to `TRUE` when using ECOFFs, i.e., when `breakpoint_type` is set to `"ECOFF"`. #' @param add_intrinsic_resistance *(only useful when using a EUCAST guideline)* a [logical] to indicate whether intrinsic antibiotic resistance must also be considered for applicable bug-drug combinations, meaning that e.g. ampicillin will always return "R" in *Klebsiella* species. Determination is based on the [intrinsic_resistant] data set, that itself is based on `r format_eucast_version_nr(3.3)`. #' @param substitute_missing_r_breakpoint A [logical] to indicate that a missing clinical breakpoints for R (resistant) must be substituted with R - the default is `FALSE`. Some (especially CLSI) breakpoints only have a breakpoint for S, meaning that the outcome can only be `"S"` or `NA`. Setting this to `TRUE` will convert the `NA`s in these cases to `"R"`. Can also be set with the package option [`AMR_substitute_missing_r_breakpoint`][AMR-options]. -#' @param include_screening A [logical] to indicate that clinical breakpoints for screening are allowed - the default is `FALSE`. Can also be set with the package option [`AMR_include_screening`][AMR-options]. +#' @param include_screening A [logical] to indicate that clinical breakpoints for screening are allowed. At default (`NULL`, can be set with the package option [`AMR_include_screening`][AMR-options]), these are only used for screening agents, e.g. `FOX-S`, but not for regular agents, e.g. `FOX`. Use `TRUE` to also use them for regular agents (with `FOX` then taking the breakpoints of `FOX-S`), and `FALSE` to never use them, which gives `NA` with a note for a screening agent. #' @param include_PKPD A [logical] to indicate that PK/PD clinical breakpoints must be applied as a last resort - the default is `TRUE`. Can also be set with the package option [`AMR_include_PKPD`][AMR-options]. #' @param breakpoint_type The type of breakpoints to use, either `r vector_or(clinical_breakpoints$type, documentation = TRUE)`. ECOFF stands for Epidemiological Cut-Off values. The default is `"human"`, which can also be set with the package option [`AMR_breakpoint_type`][AMR-options]. If `host` is set to values of veterinary species, this will automatically be set to `"animal"`. #' @param host A vector (or column name) with [character]s to indicate the host. Only useful for veterinary breakpoints, as it requires `breakpoint_type = "animal"`. The values can be any text resembling the animal species, even in any of the `r length(LANGUAGES_SUPPORTED)` supported languages of this package. For foreign languages, be sure to set the language with [set_AMR_locale()] (though it will be automatically guessed based on the system language). @@ -664,7 +664,7 @@ as.sir.mic <- function(x, add_intrinsic_resistance = FALSE, reference_data = AMR::clinical_breakpoints, substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint", FALSE), - include_screening = getOption("AMR_include_screening", FALSE), + include_screening = getOption("AMR_include_screening", NULL), include_PKPD = getOption("AMR_include_PKPD", TRUE), breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL, @@ -711,7 +711,7 @@ as.sir.disk <- function(x, add_intrinsic_resistance = FALSE, reference_data = AMR::clinical_breakpoints, substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint", FALSE), - include_screening = getOption("AMR_include_screening", FALSE), + include_screening = getOption("AMR_include_screening", NULL), include_PKPD = getOption("AMR_include_PKPD", TRUE), breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL, @@ -758,7 +758,7 @@ as.sir.data.frame <- function(x, add_intrinsic_resistance = FALSE, reference_data = AMR::clinical_breakpoints, substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint", FALSE), - include_screening = getOption("AMR_include_screening", FALSE), + include_screening = getOption("AMR_include_screening", NULL), include_PKPD = getOption("AMR_include_PKPD", TRUE), breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL, @@ -777,7 +777,7 @@ as.sir.data.frame <- function(x, meet_criteria(add_intrinsic_resistance, allow_class = "logical", has_length = 1) meet_criteria(reference_data, allow_class = "data.frame") meet_criteria(substitute_missing_r_breakpoint, allow_class = "logical", has_length = 1) - meet_criteria(include_screening, allow_class = "logical", has_length = 1) + meet_criteria(include_screening, allow_class = "logical", has_length = 1, allow_NULL = TRUE) meet_criteria(include_PKPD, allow_class = "logical", has_length = 1) meet_criteria(breakpoint_type, allow_class = "character", is_in = reference_data$type, has_length = 1) meet_criteria(host, allow_class = c("character", "factor"), allow_NULL = TRUE, allow_NA = TRUE) @@ -1385,7 +1385,7 @@ as_sir_method <- function(method_short, meet_criteria(add_intrinsic_resistance, allow_class = "logical", has_length = 1, .call_depth = -2) meet_criteria(reference_data, allow_class = "data.frame", .call_depth = -2) meet_criteria(substitute_missing_r_breakpoint, allow_class = "logical", has_length = 1, .call_depth = -2) - meet_criteria(include_screening, allow_class = "logical", has_length = 1, .call_depth = -2) + meet_criteria(include_screening, allow_class = "logical", has_length = 1, allow_NULL = TRUE, .call_depth = -2) meet_criteria(include_PKPD, allow_class = "logical", has_length = 1, .call_depth = -2) reference_data <- check_reference_data(reference_data, .call_depth = -2) meet_criteria(breakpoint_type, allow_class = "character", is_in = reference_data$type, has_length = 1, .call_depth = -2) @@ -1638,17 +1638,29 @@ as_sir_method <- function(method_short, method_coerced <- toupper(method) ab_coerced <- as.ab(ab, info = FALSE) + # which agents hold the breakpoints of the requested agents: the high-level aminoglycoside tests have two codes, and screening breakpoints are also for the regular agent if the user allows this + ab_lookup <- function(ab_requested) { + ab_requested <- as.character(ab_requested) + ab_stored <- ab_requested + ab_stored[ab_stored == "GEH"] <- "GEN-S" + ab_stored[ab_stored == "STH"] <- "STR1-S" + from <- c(ab_requested, ab_requested) + to <- c(ab_stored, if (isTRUE(include_screening)) ifelse(endsWith(ab_stored, "-S"), ab_stored, paste0(ab_stored, "-S")) else ab_stored) + unique(data.frame(from = from, to = to, stringsAsFactors = FALSE)) + } + ab_coerced_lookup <- ab_lookup(ab_coerced) if (!custom_breakpoints_set) { breakpoints <- reference_data %pm>% - subset(guideline %in% guideline_coerced & method == method_coerced & ab %in% ab_coerced) + subset(guideline %in% guideline_coerced & method == method_coerced & ab %in% ab_coerced_lookup$to) if (any(ab_coerced == "AMX") && nrow(breakpoints[breakpoints$ab == "AMX", , drop = FALSE]) == 0) { ab_coerced[ab_coerced == "AMX"] <- "AMP" + ab_coerced_lookup <- ab_lookup(ab_coerced) breakpoints <- reference_data %pm>% - subset(guideline %in% guideline_coerced & method == method_coerced & ab %in% ab_coerced) + subset(guideline %in% guideline_coerced & method == method_coerced & ab %in% ab_coerced_lookup$to) } } else { breakpoints <- reference_data %pm>% - subset(method == method_coerced & ab %in% ab_coerced) + subset(method == method_coerced & ab %in% ab_coerced_lookup$to) } @@ -1712,10 +1724,23 @@ as_sir_method <- function(method_short, breakpoints <- breakpoints %pm>% subset(type %in% breakpoint_type_lookup) + is_screening_row <- function(df) { + df$site %like% "screen" | df$ref_tbl %like% "screen" | as.character(df$ab) %like% "-S$" + } + screening_left_out <- FALSE if (isFALSE(include_screening)) { - # remove screening rules from the breakpoints table - breakpoints <- breakpoints %pm>% - subset(site %unlike% "screen" & ref_tbl %unlike% "screen") + # remove screening rules from the breakpoints table, on explicit request also for a screening agent + screening_left_out <- any(is_screening_row(breakpoints) & as.character(breakpoints$ab) %like% "-S$") + breakpoints <- breakpoints[!is_screening_row(breakpoints), , drop = FALSE] + } else if (is.null(include_screening)) { + # at default, screening breakpoints are only for an agent that indicates screening itself + breakpoints <- breakpoints[!is_screening_row(breakpoints) | as.character(breakpoints$ab) %like% "-S$", , drop = FALSE] + } + # the breakpoints are from here on known by the requested agent + if (nrow(breakpoints) > 0) { + for (j in rev(seq_len(nrow(ab_coerced_lookup)))) { + breakpoints$ab[as.character(breakpoints$ab) == ab_coerced_lookup$to[j]] <- ab_coerced_lookup$from[j] + } } if (isFALSE(include_PKPD)) { # remove PKPD rules from the breakpoints table @@ -1738,6 +1763,35 @@ as_sir_method <- function(method_short, has_progress_bar <- !is.null(import_fn("progress_bar", "progress", error_on_fail = FALSE)) && nrow(df_unique) >= 10 on.exit(close(p)) + if (isTRUE(screening_left_out) && nrow(breakpoints) == 0) { + # a note, as this may be by accident + message_("Returning NAs for ", vector_and(unique(as.character(ab_coerced)), quotes = TRUE), ": this is a screening agent, while `include_screening = FALSE` leaves out screening breakpoints.") + out <- data.frame( + datetime = rep(Sys.time(), nrow(df)), + index = seq_len(nrow(df)), + method = rep(method_coerced, nrow(df)), + ab_given = ab.bak, + mo_given = as.character(mo.bak), + host_given = as.character(host), + input_given = as.character(df$input_original), + ab = as.character(df$ab), + mo = as.character(df$mo), + host = as.character(df$host), + input = as.character(df$input_clean), + outcome = rep(NA_sir_, nrow(df)), + notes = rep("Screening breakpoints were left out, since `include_screening = FALSE`.", nrow(df)), + guideline = df$guideline, + ref_table = rep(NA_character_, nrow(df)), + uti = df$uti, + breakpoint_S_R = rep(NA_character_, nrow(df)), + site = rep(NA_character_, nrow(df)), + stringsAsFactors = FALSE + ) + AMR_env$sir_interpretation_history <- rbind_AMR(AMR_env$sir_interpretation_history, out[!is.na(out$input_given), , drop = FALSE]) + load_mo_uncertainties(metadata_mo) + return(rep(NA_sir_, nrow(df))) + } + if (nrow(breakpoints) == 0) { # apparently no breakpoints found if (isTRUE(info)) { diff --git a/data-raw/_reproduction_scripts/reproduction_of_antimicrobials.R b/data-raw/_reproduction_scripts/reproduction_of_antimicrobials.R index fd321e2fa..79df34bdb 100644 --- a/data-raw/_reproduction_scripts/reproduction_of_antimicrobials.R +++ b/data-raw/_reproduction_scripts/reproduction_of_antimicrobials.R @@ -931,6 +931,32 @@ antimicrobials <- antimicrobials |> ) +# add the screening agents of #328, for all explicit screening tests in clinical_breakpoints; agreed by the maintainer in that issue +for (agent in c("CHL", "CIP", "COL", "ERY", "FUS", "GEN", "LVX", "MUP", "NEO", "OFX", "RTP", "STR1", "TOB")) { + antimicrobials <- antimicrobials |> + mutate(ab = as.character(ab)) |> + bind_rows( + antimicrobials |> + mutate(ab = as.character(ab)) |> + filter(ab == agent) |> + mutate( + abbreviations = list(paste(tolower(ab), "screen")), + ab = paste0(ab, "-S"), + name = paste(name, "screening test"), + cid = NA, + atc = list(character(0)), + atc_group1 = NA_character_, + atc_group2 = NA_character_, + synonyms = list(character(0)), + oral_ddd = NA_real_, + oral_units = NA_character_, + iv_ddd = NA_real_, + iv_units = NA_character_, + loinc = list(character(0)) + ) + ) +} + # add pretomanid antimicrobials <- antimicrobials %>% mutate(ab = as.character(ab)) %>% diff --git a/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R b/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R index 94bd06c66..33aa1aea9 100644 --- a/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R +++ b/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R @@ -729,6 +729,30 @@ breakpoints_new <- breakpoints_new |> arrange(desc(guideline), mo, ab, type, host, method) clinical_breakpoints <- merge_eucast_breakpoints(breakpoints_new, breakpoints_eucast, eucast_coverage) + +# Screening tests ---- +# Every explicit screening test is stored under its screening agent, so that it can never be taken for a breakpoint of the regular agent (#328). The EUCAST rows from its own tables already are, see reproduction_of_clinical_breakpoints_eucast.R. This takes care of the WHONET-based rows, as decided in #328: +# - all rows with a site that states screening +# - high-level aminoglycoside tests: GEH and STH to GEN-S and STR1-S (as.sir() keeps accepting GEH and STH) +# - cefoxitin MIC for S. aureus and S. lugdunensis in EUCAST 2012-2018, which from 2019 on is labelled as screening +# - CLSI surrogate tests: cefoxitin for staphylococci, and pefloxacin for Salmonella +# EUCAST 2011-2013 rows without a label stay under the regular agent, also as decided in #328. +screening_year <- as.integer(gsub("[^0-9]", "", clinical_breakpoints$guideline)) +screening_genus <- mo_genus(clinical_breakpoints$mo, keep_synonyms = TRUE, language = NULL) +is_human <- clinical_breakpoints$type == "human" +is_screening <- (!is.na(clinical_breakpoints$site) & grepl("screen", clinical_breakpoints$site, ignore.case = TRUE) & !grepl("-S$", as.character(clinical_breakpoints$ab))) | + (is_human & clinical_breakpoints$guideline %like% "EUCAST" & screening_year %in% 2012:2018 & clinical_breakpoints$ab == "FOX" & clinical_breakpoints$method == "MIC" & as.character(clinical_breakpoints$mo) %in% c("B_STPHY_AURS", "B_STPHY_LGDN")) | + (is_human & clinical_breakpoints$guideline %like% "CLSI" & clinical_breakpoints$ab == "FOX" & screening_genus %in% "Staphylococcus") | + (is_human & clinical_breakpoints$guideline %like% "CLSI" & screening_year >= 2015 & clinical_breakpoints$ab == "PEF" & screening_genus %in% "Salmonella") +message("NOTE: ", sum(is_screening), " WHONET-based row(s) moved to their screening agent") +clinical_breakpoints$ab <- as.character(clinical_breakpoints$ab) +clinical_breakpoints$ab[is_screening] <- paste0(clinical_breakpoints$ab[is_screening], "-S") +clinical_breakpoints$ab[clinical_breakpoints$ab == "GEH"] <- "GEN-S" +clinical_breakpoints$ab[clinical_breakpoints$ab == "STH"] <- "STR1-S" +if (any(!clinical_breakpoints$ab %in% AMR::antimicrobials$ab)) { + stop("agent(s) missing from the antimicrobials data set: ", toString(unique(clinical_breakpoints$ab[!clinical_breakpoints$ab %in% AMR::antimicrobials$ab]))) +} +clinical_breakpoints$ab <- as.ab(clinical_breakpoints$ab) usethis::use_data(clinical_breakpoints, overwrite = TRUE, compress = "xz", version = 2) rm(clinical_breakpoints) devtools::load_all(".") diff --git a/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints_eucast.R b/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints_eucast.R index fe61c4625..889562a46 100644 --- a/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints_eucast.R +++ b/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints_eucast.R @@ -2276,15 +2276,17 @@ breakpoints_eucast <- breakpoints_eucast |> ab_input = gsub("\\s*\\(.*$", "", ab), ab_input = trimws(sub("\\s+(iv|i\\.v\\.|oral)$", "", ab_input, ignore.case = TRUE)), ab = as.ab(ab_input), - # use dedicated screening test codes when available (e.g. FOX -> FOX-S). - ab = as.ab(if_else( - !is.na(site) & - site == "Screen" & - paste0(as.character(ab), "-S") %in% as.character(antibiotics$ab), - paste0(as.character(ab), "-S"), - as.character(ab) - ) - )) + # every screening test is stored under its screening agent (e.g. FOX-S), so that it can never be taken for a breakpoint of the regular agent (#328) + is_screening_row = !is.na(site) & grepl("Screen", site, fixed = TRUE), + ab = as.ab(if_else(is_screening_row, paste0(as.character(ab), "-S"), as.character(ab))), + # the agent now holds the screening meaning; the topical cut-off values remain distinguishable from systemic screening tests by their site + site = if_else(site %in% "Topical, Screen", "Topical", site) + ) |> + select(-is_screening_row) +if (any(!is.na(breakpoints_eucast$ab_input) & grepl("Screen", breakpoints_eucast$site, fixed = TRUE) & is.na(breakpoints_eucast$ab))) { + print(distinct(filter(breakpoints_eucast, grepl("Screen", site, fixed = TRUE), is.na(ab)), ab_input)) + stop("screening agent(s) missing from the antimicrobials data set, see above") +} # ab_previously_coerced also logs every intermediate word-by-word fallback # as.ab() tries internally while resolving a route-suffixed name (e.g. for @@ -2475,13 +2477,13 @@ derived_rows <- list() hlar_rows <- breakpoints_eucast |> filter( grepl("Negative test: Isolates with (gentamicin|streptomycin) MIC \u2264", note), - ab %in% c("GEN", "STR1"), site %in% "Screen" + ab %in% c("GEN-S", "STR1-S"), site %in% "Screen" ) for (r in seq_len(nrow(hlar_rows))) { row <- hlar_rows[r, ] # the note of a row can also hold the test for the other agent, so the # agent is taken from the row itself - agent <- c(GEN = "gentamicin", STR1 = "streptomycin")[as.character(row$ab)] + agent <- c("GEN-S" = "gentamicin", "STR1-S" = "streptomycin")[as.character(row$ab)] if (is.na(agent)) stop("unexpected agent for a high-level aminoglycoside screening test: ", row$ab) neg <- regmatches(row$note, regexec(paste0("Negative test: Isolates with ", agent, " MIC \u2264([0-9]+) mg/L(?: or a zone diameter \u2265([0-9]+) mm)?"), row$note, perl = TRUE))[[1]] pos <- regmatches(row$note, regexec(paste0("Positive test: Isolates with ", agent, " MIC >([0-9]+) mg/L(?: or a zone diameter <([0-9]+) mm)?"), row$note, perl = TRUE))[[1]] @@ -2492,11 +2494,26 @@ for (r in seq_len(nrow(hlar_rows))) { if (!nzchar(value)) next # e.g. no zone diameter given in this version derived_rows[[length(derived_rows) + 1]] <- row |> mutate( - ab = as.ab(if (agent == "gentamicin") "GEH" else "STH"), site = NA_character_, is_blocker = FALSE, + site = "Screen", is_blocker = FALSE, breakpoint_S = value, breakpoint_R = value, note = sub("^\\[No breakpoint\\][^|]*(\\| )?", "", note) ) } +# EUCAST states that some clinical breakpoints can also be used as a screening test, e.g. "Erythromycin can be used to screen for macrolide resistance in staphylococci". These stay under the regular agent, with a copy under the screening agent (#328). +also_screening <- breakpoints_eucast |> + filter( + !is_blocker, !grepl("-S$", as.character(ab)), !site %in% c("Screen", "Topical"), + (ab == "ERY" & grepl("Erythromycin can be used to screen", note, fixed = TRUE)) | + (ab == "TCY" & grepl("Tetracycline can be used to screen", note, fixed = TRUE)) | + (ab == "PEN" & grepl("Benzylpenicillin( 1 unit| \\(MIC or disk diffusion\\))? can be used to screen", note)) | + (ab == "NAL" & grepl("nalidixic acid disk diffusion test can be used to screen", note, fixed = TRUE)) | + (ab == "NOR" & grepl("norfloxacin disk diffusion test can be used to screen", note, fixed = TRUE)) + ) |> + mutate(ab = as.ab(paste0(as.character(ab), "-S")), site = "Screen") +message("NOTE: ", nrow(also_screening), " clinical breakpoint row(s) copied to their screening agent, as EUCAST also allows them as a screening test") +breakpoints_eucast <- breakpoints_eucast |> + bind_rows(also_screening) + fox_mic <- breakpoints_eucast |> filter( ab == "FOX-S", method == "MIC", diff --git a/data/antimicrobials.rda b/data/antimicrobials.rda index 35d6d6e395c4057351c032441efb3b7a17ad6061..8acb217d49162a70f929ebece9ae37175da97339 100644 GIT binary patch literal 45516 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 literal 45312 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±alpb$tl}!;@Li^rE%4LR#)i|aGWVKqq{#vPB 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 2015 & ab == "PEF" & mo_genus(cb$mo, keep_synonyms = TRUE, language = NULL) %in% "Salmonella")) + # explicit list: stays under the regular agent, also as decided in the issue + expect_true(any(human & cb$guideline == "EUCAST 2013" & ab == "NAL" & cb$method == "DISK")) + expect_true(any(human & cb$guideline == "CLSI 2026" & ab == "OXA" & as.character(cb$mo) == "B_STRPT_PNMN" & cb$method == "DISK")) + # rows that are a clinical breakpoint and a screen are under both (from EUCAST 2023) + ery <- function(agent) cb[human & cb$guideline == "EUCAST 2026" & ab == agent & as.character(cb$mo) == "B_MRXLL_CTRR" & cb$method == "DISK", c("breakpoint_S", "breakpoint_R"), drop = FALSE] + expect_true(nrow(ery("ERY")) > 0) + expect_identical(unname(as.list(ery("ERY-S"))), unname(as.list(ery("ERY")))) +}) + test_that("clinical_breakpoints: no EUCAST breakpoints in brackets (#327)", { skip_on_cran() expect_false(any(grepl("brackets", clinical_breakpoints$note, fixed = TRUE))) diff --git a/tests/testthat/test-sir.R b/tests/testthat/test-sir.R index 83f0792c3..2d5e84250 100644 --- a/tests/testthat/test-sir.R +++ b/tests/testthat/test-sir.R @@ -433,7 +433,7 @@ test_that("test-sir.R", { ) # an S category remains unaffected, e.g. EUCAST CIP in E. coli (S <= 0.25, R > 0.5) expect_equal( - suppressMessages(as.sir(as.mic(c("<=0.5", "<0.5", "<=0.25")), mo = "Escherichia coli", ab = "CIP", guideline = "EUCAST 2026", capped_mic_handling = "standard")), + suppressMessages(as.sir(as.mic(c("<=0.5", "<0.5", "<=0.25")), mo = "Escherichia coli", ab = "CIP", guideline = "EUCAST 2026", capped_mic_handling = "standard", site = "non-meningitis")), as.sir(c("NI", "S", "S")) ) # capped values must not be forced to S or R if there is no breakpoint (blocking row, here: EUCAST CIP in S. aureus in brackets only) @@ -638,6 +638,26 @@ test_that("custom reference_data: host = NA acts as host-agnostic fallback", { expect_equal(as.character(result), "R") }) +test_that("as.sir() uses screening breakpoints as specified (#328)", { + skip_on_cran() + sir <- function(ab, ...) { + as.character(suppressMessages(suppressWarnings(as.sir(as.disk(20), mo = "S. aureus", ab = ab, guideline = "EUCAST 2026", info = FALSE, ...)))) + } + expect_identical(sir("FOX"), NA_character_) + expect_false(is.na(sir("FOX-S"))) + expect_false(is.na(sir("FOX-S", include_screening = TRUE))) + expect_false(is.na(sir("FOX", include_screening = TRUE))) + expect_identical(sir("FOX", include_screening = TRUE), sir("FOX-S")) + expect_identical(sir("FOX", include_screening = FALSE), NA_character_) + expect_identical(sir("FOX-S", include_screening = FALSE), NA_character_) + # with a note, as this may be by accident + expect_message(as.sir(as.disk(20), mo = "S. aureus", ab = "FOX-S", guideline = "EUCAST 2026", include_screening = FALSE, info = FALSE), "include_screening") + sir_interpretation_history(clean = TRUE) + sir("FOX-S", include_screening = FALSE) + sir_history <- sir_interpretation_history(clean = TRUE) + expect_match(sir_history$notes, "include_screening = FALSE", fixed = TRUE) +}) + test_that("as.sir() takes the site of a breakpoint into account", { skip_on_cran() sir <- function(x, mo, ab, ..., guideline = "EUCAST 2026") { @@ -788,7 +808,7 @@ test_that("Morganella is interpreted as reported, not as M. morganii (#330)", { test_that("EUCAST blocking rows prevent falling back to broader breakpoints", { skip_on_cran() - sir <- function(x, mo, ab, guideline, include_screening = FALSE, uti = NA) { + sir <- function(x, mo, ab, guideline, include_screening = NULL, uti = NA) { as.character(suppressMessages(suppressWarnings( as.sir(x, mo = mo, ab = ab, guideline = guideline, include_screening = include_screening, uti = uti) ))) @@ -813,7 +833,7 @@ test_that("EUCAST blocking rows prevent falling back to broader breakpoints", { # H. influenzae MIC breakpoints apply to H. parainfluenzae, zone diameters do not expect_identical(sir(as.mic(0.5), "Haemophilus parainfluenzae", "CIP", "EUCAST 2026"), "R") expect_identical(sir(as.disk(30), "Haemophilus parainfluenzae", "CIP", "EUCAST 2026"), NA_character_) - # cefoxitin screen: CoNS not identified to species level use S >= 25 mm + # cefoxitin screen: CoNS not identified to species level use S >= 25 mm, also with the regular agent if allowed (#328) expect_identical(sir(as.disk(23), "B_STPHY_CONS", "FOX", "EUCAST 2026", include_screening = TRUE), "R") expect_identical(sir(as.disk(23), "Staphylococcus hominis", "FOX", "EUCAST 2026", include_screening = TRUE), "S") expect_identical(sir(as.disk(26), "Staphylococcus epidermidis", "FOX", "EUCAST 2026", include_screening = TRUE), "R") @@ -824,8 +844,9 @@ test_that("EUCAST blocking rows prevent falling back to broader breakpoints", { expect_identical(sir(as.mic(0.0005), "Pseudomonas aeruginosa", "CIP", "EUCAST 2026"), "I") # EUCAST's 0.06 mg/L is the dilution 0.0625, i.e. 0.064 in this package expect_identical(sir(as.mic(0.064), "Haemophilus influenzae", "LVX", "EUCAST 2026"), "S") - # high-level gentamicin resistance (screening test given in the notes) + # high-level gentamicin resistance (screening test given in the notes), under both codes (#328) expect_identical(sir(as.mic(256), "Enterococcus faecium", "GEH", "EUCAST 2026"), "R") + expect_identical(sir(as.mic(256), "Enterococcus faecium", "GEN-S", "EUCAST 2026"), "R") # breakpoints in brackets are not in the data set (#327), so a UTI breakpoint is used if uti is unknown and nothing else is available, which is noted every time sir_interpretation_history(clean = TRUE) expect_identical(sir(as.mic(4), "Acinetobacter baumannii", "AMK", "EUCAST 2026"), "S")