From 24f24ecaf829029c8b0793d080a4d05f5ad15562 Mon Sep 17 00:00:00 2001 From: Matthijs Berends <31037261+msberends@users.noreply.github.com> Date: Fri, 1 May 2026 18:38:51 +0100 Subject: [PATCH] Generalise interpretive rules for multi-guideline support (#268) (#283) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Generalise interpretive rules for multi-guideline support (#268) - Rename data-raw/eucast_rules.tsv → interpretive_rules.tsv; add rule.provider column (value: "EUCAST") to distinguish future CLSI rows - Rename EUCAST_RULES_DF → INTERPRETIVE_RULES_DF in _pre_commit_checks.R; filter by rule.provider == guideline when applying rules in interpretive_rules() - Rename custom_eucast_rules() → custom_interpretive_rules() with new S3 class "custom_interpretive_rules"; old function becomes a deprecated wrapper in zz_deprecated.R; backward-compat S3 dispatch shims added for old class - Remove stop_if(guideline == "CLSI", ...) so clsi_rules() no longer errors - Add .onLoad shim in zzz.R to create INTERPRETIVE_RULES_DF from EUCAST_RULES_DF for transitional compatibility until sysdata.rda is regenerated https://claude.ai/code/session_01D46BTsfJSPo3HnLWp3PRkP * Fix namespace load failure: remove assignInNamespace from .onLoad (#268) assignInNamespace cannot add NEW bindings to a locked package namespace (R locks namespace bindings before .onLoad runs). Replace the .onLoad shim with a runtime fallback inside interpretive_rules(): if INTERPRETIVE_RULES_DF is absent (pre-regeneration sysdata.rda), derive it from EUCAST_RULES_DF by adding the rule.provider column. This also fixes the screening_abx line to reuse the already-resolved interpretive_rules_df_total instead of a bare INTERPRETIVE_RULES_DF reference. https://claude.ai/code/session_01D46BTsfJSPo3HnLWp3PRkP * fixes * fixes --------- Co-authored-by: Claude --- DESCRIPTION | 2 +- NAMESPACE | 4 + NEWS.md | 3 +- R/aa_globals.R | 3 +- R/aa_helper_functions.R | 0 R/amr_course.R | 0 R/antibiogram.R | 11 +- ...st_rules.R => custom_interpretive_rules.R} | 88 +- R/first_isolate.R | 0 R/get_episode.R | 0 R/interpretive_rules.R | 148 +- R/mic.R | 0 R/proportion.R | 0 R/sysdata.rda | Bin 118276 -> 118340 bytes R/tidymodels.R | 0 R/zz_deprecated.R | 7 + data-raw/_pre_commit_checks.R | 8 +- data-raw/interpretive_rules.tsv | 1533 +++++++++++++++++ man/AMR-deprecated.Rd | 3 + ..._rules.Rd => custom_interpretive_rules.Rd} | 52 +- man/g.test.Rd | 5 +- man/interpretive_rules.Rd | 16 +- man/pca.Rd | 2 +- tests/testthat/test-_deprecated.R | 7 + tests/testthat/test-data.R | 8 +- ...cast_rules.R => test-interpretive_rules.R} | 53 +- 26 files changed, 1770 insertions(+), 183 deletions(-) mode change 100644 => 100755 R/aa_helper_functions.R mode change 100644 => 100755 R/amr_course.R rename R/{custom_eucast_rules.R => custom_interpretive_rules.R} (79%) mode change 100644 => 100755 R/first_isolate.R mode change 100644 => 100755 R/get_episode.R mode change 100644 => 100755 R/mic.R mode change 100644 => 100755 R/proportion.R mode change 100644 => 100755 R/tidymodels.R create mode 100644 data-raw/interpretive_rules.tsv rename man/{custom_eucast_rules.Rd => custom_interpretive_rules.Rd} (93%) rename tests/testthat/{test-eucast_rules.R => test-interpretive_rules.R} (78%) diff --git a/DESCRIPTION b/DESCRIPTION index 3c1626582..c4c2f3074 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: AMR -Version: 3.0.1.9055 +Version: 3.0.1.9056 Date: 2026-04-30 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) diff --git a/NAMESPACE b/NAMESPACE index c8e953a0d..c6ec41018 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -49,6 +49,7 @@ S3method(as.data.frame,mo) S3method(as.double,mic) S3method(as.double,sir) S3method(as.list,custom_eucast_rules) +S3method(as.list,custom_interpretive_rules) S3method(as.list,custom_mdro_guideline) S3method(as.list,mic) S3method(as.matrix,mic) @@ -66,6 +67,7 @@ S3method(c,ab) S3method(c,amr_selector) S3method(c,av) S3method(c,custom_eucast_rules) +S3method(c,custom_interpretive_rules) S3method(c,custom_mdro_guideline) S3method(c,disk) S3method(c,mic) @@ -96,6 +98,7 @@ S3method(print,amr_selector) S3method(print,av) S3method(print,bug_drug_combinations) S3method(print,custom_eucast_rules) +S3method(print,custom_interpretive_rules) S3method(print,custom_mdro_guideline) S3method(print,deprecated_amr_dataset) S3method(print,disk) @@ -228,6 +231,7 @@ export(count_df) export(count_resistant) export(count_susceptible) export(custom_eucast_rules) +export(custom_interpretive_rules) export(custom_mdro_guideline) export(eucast_dosage) export(eucast_exceptional_phenotypes) diff --git a/NEWS.md b/NEWS.md index a67994555..f694ac103 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 3.0.1.9055 +# AMR 3.0.1.9056 This will become release v3.1.0, intended for launch end of May. @@ -45,6 +45,7 @@ This will become release v3.1.0, intended for launch end of May. * Fixed `as.sir()` ignoring `info = FALSE` for columns with no breakpoints (e.g. cefoxitin against *E. coli*) ### Updates +* Renamed `custom_eucast_rules()` to `custom_interpretive_rules()`; old function is now a deprecated wrapper. Renamed `data-raw/eucast_rules.tsv` to `interpretive_rules.tsv` and added `rule.provider` column for multi-guideline (EUCAST/CLSI) support. `clsi_rules()` no longer throws an error (#268) * `as.sir()` with `reference_data`: custom guideline names now correctly classify values as R using EUCAST convention (`> breakpoint_R` for MIC, `< breakpoint_R` for disk); custom breakpoints with `host = NA` now serve as a host-agnostic fallback when no host-specific row matches (#239) * Extensive `cli` integration for better message handling and clickable links in messages and warnings (#191, #265) * `mdro()` now infers resistance for a _missing_ base drug column from an _available_ corresponding drug+inhibitor combination showing resistance (e.g., piperacillin is absent but required, while piperacillin/tazobactam available and resistant). Can be set with the new argument `infer_from_combinations`, which defaults to `TRUE` (#209). Note that this can yield a higher MDRO detection (which is a good thing as it has become more reliable). diff --git a/R/aa_globals.R b/R/aa_globals.R index 436f8ce89..a12de1b2b 100755 --- a/R/aa_globals.R +++ b/R/aa_globals.R @@ -27,7 +27,7 @@ # how to conduct AMR data analysis: https://amr-for-r.org # # ==================================================================== # -# add new version numbers here, and add the rules themselves to "data-raw/eucast_rules.tsv" and clinical_breakpoints +# add new version numbers here, and add the rules themselves to "data-raw/interpretive_rules.tsv" and clinical_breakpoints # (sourcing "data-raw/_pre_commit_checks.R" will process the TSV file) EUCAST_VERSION_BREAKPOINTS <- list( "16.0" = list( @@ -221,6 +221,7 @@ globalVariables(c( "reference.rule", "reference.rule_group", "reference.version", + "rule.provider", "rowid", "rule_group", "rule_name", diff --git a/R/aa_helper_functions.R b/R/aa_helper_functions.R old mode 100644 new mode 100755 diff --git a/R/amr_course.R b/R/amr_course.R old mode 100644 new mode 100755 diff --git a/R/antibiogram.R b/R/antibiogram.R index dc4e707e0..39bc5ea7e 100755 --- a/R/antibiogram.R +++ b/R/antibiogram.R @@ -762,7 +762,9 @@ antibiogram.default <- function(x, # precompute priors per group and build (group, chunk) job list jobs <- unlist(lapply(unique_groups, function(g) { params_g <- wisca_parameters[wisca_parameters$group == g, , drop = FALSE] - if (sum(params_g$n_tested, na.rm = TRUE) == 0L) return(NULL) + if (sum(params_g$n_tested, na.rm = TRUE) == 0L) { + return(NULL) + } priors_g <- create_wisca_priors(params_g) lapply(seq_along(chunk_sizes), function(ch) { list(group = g, priors = priors_g, n_sims = chunk_sizes[ch]) @@ -788,7 +790,6 @@ antibiogram.default <- function(x, } if (isTRUE(info)) message_(font_green_bg(" DONE "), as_note = FALSE) - } else { progress <- progress_ticker( n = length(unique_groups) * simulations, @@ -1115,7 +1116,9 @@ antibiogram.grouped_df <- function(x, x_df <- as.data.frame(x) run_group <- function(i) { rows <- unlist(groups[i, ]$.rows) - if (length(rows) == 0L) return(NULL) + if (length(rows) == 0L) { + return(NULL) + } antibiogram(x_df[rows, , drop = FALSE], antimicrobials = antimicrobials, mo_transform = NULL, @@ -1136,7 +1139,7 @@ antibiogram.grouped_df <- function(x, conf_interval = conf_interval, interval_side = interval_side, info = FALSE, - parallel = FALSE # never nest parallelism in workers + parallel = FALSE # never nest parallelism in workers ) } diff --git a/R/custom_eucast_rules.R b/R/custom_interpretive_rules.R similarity index 79% rename from R/custom_eucast_rules.R rename to R/custom_interpretive_rules.R index f047cdb9d..be2a61c78 100755 --- a/R/custom_eucast_rules.R +++ b/R/custom_interpretive_rules.R @@ -27,27 +27,27 @@ # how to conduct AMR data analysis: https://amr-for-r.org # # ==================================================================== # -#' Define Custom EUCAST Rules +#' Define Custom Interpretive Rules #' -#' Define custom EUCAST rules for your organisation or specific analysis and use the output of this function in [eucast_rules()]. +#' Define custom interpretive rules for your organisation or specific analysis and use the output of this function in [interpretive_rules()]. #' @param ... Rules in [formula][base::tilde] notation, see below for instructions, and in *Examples*. #' @details -#' Some organisations have their own adoption of EUCAST rules. This function can be used to define custom EUCAST rules to be used in the [eucast_rules()] function. +#' Some organisations have their own adoption of interpretive rules. This function can be used to define custom rules to be used in the [interpretive_rules()] function. #' #' ### Basics #' #' If you are familiar with the [`case_when()`][dplyr::case_when()] function of the `dplyr` package, you will recognise the input method to set your own rules. Rules must be set using what \R considers to be the 'formula notation'. The rule itself is written *before* the tilde (`~`) and the consequence of the rule is written *after* the tilde: #' #' ```r -#' x <- custom_eucast_rules(TZP == "S" ~ aminopenicillins == "S", -#' TZP == "R" ~ aminopenicillins == "R") +#' x <- custom_interpretive_rules(TZP == "S" ~ aminopenicillins == "S", +#' TZP == "R" ~ aminopenicillins == "R") #' ``` #' -#' These are two custom EUCAST rules: if TZP (piperacillin/tazobactam) is "S", all aminopenicillins (ampicillin and amoxicillin) must be made "S", and if TZP is "R", aminopenicillins must be made "R". These rules can also be printed to the console, so it is immediately clear how they work: +#' These are two custom interpretive rules: if TZP (piperacillin/tazobactam) is "S", all aminopenicillins (ampicillin and amoxicillin) must be made "S", and if TZP is "R", aminopenicillins must be made "R". These rules can also be printed to the console, so it is immediately clear how they work: #' #' ```r #' x -#' #> A set of custom EUCAST rules: +#' #> A set of custom interpretive rules: #' #> #' #> 1. If TZP is "S" then set to S : #' #> amoxicillin (AMX), ampicillin (AMP) @@ -68,11 +68,11 @@ #' #> 1 Escherichia coli R S S #' #> 2 Klebsiella pneumoniae R S S #' -#' eucast_rules(df, -#' rules = "custom", -#' custom_rules = x, -#' info = FALSE, -#' overwrite = TRUE) +#' interpretive_rules(df, +#' rules = "custom", +#' custom_rules = x, +#' info = FALSE, +#' overwrite = TRUE) #' #> mo TZP ampi cipro #' #> 1 Escherichia coli R R S #' #> 2 Klebsiella pneumoniae R R S @@ -83,16 +83,16 @@ #' There is one exception in columns used for the rules: all column names of the [microorganisms] data set can also be used, but do not have to exist in the data set. These column names are: `r vector_and(colnames(microorganisms), sort = FALSE, documentation = TRUE)`. Thus, this next example will work as well, despite the fact that the `df` data set does not contain a column `genus`: #' #' ```r -#' y <- custom_eucast_rules( +#' y <- custom_interpretive_rules( #' TZP == "S" & genus == "Klebsiella" ~ aminopenicillins == "S", #' TZP == "R" & genus == "Klebsiella" ~ aminopenicillins == "R" #' ) #' -#' eucast_rules(df, -#' rules = "custom", -#' custom_rules = y, -#' info = FALSE, -#' overwrite = TRUE) +#' interpretive_rules(df, +#' rules = "custom", +#' custom_rules = y, +#' info = FALSE, +#' overwrite = TRUE) #' #> mo TZP ampi cipro #' #> 1 Escherichia coli R S S #' #> 2 Klebsiella pneumoniae R R S @@ -109,9 +109,9 @@ #' Rules can also be applied to multiple antimicrobials and antimicrobial groups simultaneously. Use the `c()` function to combine multiple antimicrobials. For instance, the following example sets all aminopenicillins and ureidopenicillins to "R" if column TZP (piperacillin/tazobactam) is "R": #' #' ```r -#' x <- custom_eucast_rules(TZP == "R" ~ c(aminopenicillins, ureidopenicillins) == "R") +#' x <- custom_interpretive_rules(TZP == "R" ~ c(aminopenicillins, ureidopenicillins) == "R") #' x -#' #> A set of custom EUCAST rules: +#' #> A set of custom interpretive rules: #' #> #' #> 1. If TZP is "R" then set to "R": #' #> amoxicillin (AMX), ampicillin (AMP), azlocillin (AZL), mezlocillin (MEZ), piperacillin (PIP), piperacillin/tazobactam (TZP) @@ -123,7 +123,7 @@ #' @returns A [list] containing the custom rules #' @export #' @examples -#' x <- custom_eucast_rules( +#' x <- custom_interpretive_rules( #' AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", #' AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I" #' ) @@ -141,24 +141,24 @@ #' # combine rule sets #' x2 <- c( #' x, -#' custom_eucast_rules(TZP == "R" ~ carbapenems == "R") +#' custom_interpretive_rules(TZP == "R" ~ carbapenems == "R") #' ) #' x2 -custom_eucast_rules <- function(...) { +custom_interpretive_rules <- function(...) { dots <- tryCatch(list(...), error = function(e) "error" ) stop_if( identical(dots, "error"), - "rules must be a valid formula inputs (e.g., using '~'), see {.help [{.fun custom_eucast_rules}](AMR::custom_eucast_rules)}" + "rules must be a valid formula inputs (e.g., using '~'), see {.help [{.fun custom_interpretive_rules}](AMR::custom_interpretive_rules)}" ) n_dots <- length(dots) - stop_if(n_dots == 0, "no custom rules were set. Please read the documentation using {.help [{.fun custom_eucast_rules}](AMR::custom_eucast_rules)}.") + stop_if(n_dots == 0, "no custom rules were set. Please read the documentation using {.help [{.fun custom_interpretive_rules}](AMR::custom_interpretive_rules)}.") out <- vector("list", n_dots) for (i in seq_len(n_dots)) { stop_ifnot( inherits(dots[[i]], "formula"), - "rule ", i, " must be a valid formula input (e.g., using '~'), see {.help [{.fun custom_eucast_rules}](AMR::custom_eucast_rules)}" + "rule ", i, " must be a valid formula input (e.g., using '~'), see {.help [{.fun custom_interpretive_rules}](AMR::custom_interpretive_rules)}" ) # Query @@ -180,7 +180,7 @@ custom_eucast_rules <- function(...) { result <- dots[[i]][[3]] stop_ifnot( deparse(result) %like% "==", - "the result of rule ", i, " (the part after the `~`) must contain `==`, such as in `... ~ ampicillin == \"R\"`, see {.help [{.fun custom_eucast_rules}](AMR::custom_eucast_rules)}" + "the result of rule ", i, " (the part after the `~`) must contain `==`, such as in `... ~ ampicillin == \"R\"`, see {.help [{.fun custom_interpretive_rules}](AMR::custom_interpretive_rules)}" ) result_group <- as.character(result)[[2]] result_group <- as.character(str2lang(result_group)) @@ -230,13 +230,13 @@ custom_eucast_rules <- function(...) { } names(out) <- paste0("rule", seq_len(n_dots)) - set_clean_class(out, new_class = c("custom_eucast_rules", "list")) + set_clean_class(out, new_class = c("custom_interpretive_rules", "list")) } -#' @method c custom_eucast_rules +#' @method c custom_interpretive_rules #' @noRd #' @export -c.custom_eucast_rules <- function(x, ...) { +c.custom_interpretive_rules <- function(x, ...) { if (length(list(...)) == 0) { return(x) } @@ -245,21 +245,21 @@ c.custom_eucast_rules <- function(x, ...) { out <- c(out, unclass(e)) } names(out) <- paste0("rule", seq_len(length(out))) - set_clean_class(out, new_class = c("custom_eucast_rules", "list")) + set_clean_class(out, new_class = c("custom_interpretive_rules", "list")) } -#' @method as.list custom_eucast_rules +#' @method as.list custom_interpretive_rules #' @noRd #' @export -as.list.custom_eucast_rules <- function(x, ...) { +as.list.custom_interpretive_rules <- function(x, ...) { c(x, ...) } -#' @method print custom_eucast_rules +#' @method print custom_interpretive_rules #' @export #' @noRd -print.custom_eucast_rules <- function(x, ...) { - cat("A set of custom EUCAST rules:\n") +print.custom_interpretive_rules <- function(x, ...) { + cat("A set of custom interpretive rules:\n") for (i in seq_len(length(x))) { rule <- x[[i]] rule$query <- format_custom_query_rule(rule$query) @@ -291,3 +291,19 @@ print.custom_eucast_rules <- function(x, ...) { cat("\n ", rule_if, "\n", rule_then, "\n", sep = "") } } + +# Backward-compat S3 dispatch for objects created with the old custom_eucast_rules() function +#' @method c custom_eucast_rules +#' @noRd +#' @export +c.custom_eucast_rules <- function(x, ...) c.custom_interpretive_rules(x, ...) + +#' @method as.list custom_eucast_rules +#' @noRd +#' @export +as.list.custom_eucast_rules <- function(x, ...) as.list.custom_interpretive_rules(x, ...) + +#' @method print custom_eucast_rules +#' @export +#' @noRd +print.custom_eucast_rules <- function(x, ...) print.custom_interpretive_rules(x, ...) diff --git a/R/first_isolate.R b/R/first_isolate.R old mode 100644 new mode 100755 diff --git a/R/get_episode.R b/R/get_episode.R old mode 100644 new mode 100755 diff --git a/R/interpretive_rules.R b/R/interpretive_rules.R index 0e333d415..8a3338864 100755 --- a/R/interpretive_rules.R +++ b/R/interpretive_rules.R @@ -62,17 +62,17 @@ format_eucast_version_nr <- function(version, markdown = TRUE) { #' @param x A data set with antimicrobials columns, such as `amox`, `AMX` and `AMC`. #' @param info A [logical] to indicate whether progress should be printed to the console - the default is only print while in interactive sessions. #' @param guideline A guideline name, either "EUCAST" (default) or "CLSI". This can be set with the package option [`AMR_guideline`][AMR-options]. -#' @param rules A [character] vector that specifies which rules should be applied. Must be one or more of `"breakpoints"`, `"expected_phenotypes"`, `"expert"`, `"other"`, `"custom"`, `"all"`, and defaults to `c("breakpoints", "expected_phenotypes")`. The default value can be set to another value using the package option [`AMR_interpretive_rules`][AMR-options]: `options(AMR_interpretive_rules = "all")`. If using `"custom"`, be sure to fill in argument `custom_rules` too. Custom rules can be created with [custom_eucast_rules()]. +#' @param rules A [character] vector that specifies which rules should be applied. Must be one or more of `"breakpoints"`, `"expected_phenotypes"`, `"expert"`, `"other"`, `"custom"`, `"all"`, and defaults to `c("breakpoints", "expected_phenotypes")`. The default value can be set to another value using the package option [`AMR_interpretive_rules`][AMR-options]: `options(AMR_interpretive_rules = "all")`. If using `"custom"`, be sure to fill in argument `custom_rules` too. Custom rules can be created with [custom_interpretive_rules()]. #' @param verbose A [logical] to turn Verbose mode on and off (default is off). In Verbose mode, the function does not apply rules to the data, but instead returns a data set in logbook form with extensive info about which rows and columns would be effected and in which way. Using Verbose mode takes a lot more time. #' @param version_breakpoints The version number to use for the EUCAST Clinical Breakpoints guideline. Can be `r vector_or(names(EUCAST_VERSION_BREAKPOINTS), documentation = TRUE, reverse = TRUE)`. #' @param version_expected_phenotypes The version number to use for the EUCAST Expected Phenotypes. Can be `r vector_or(names(EUCAST_VERSION_EXPECTED_PHENOTYPES), documentation = TRUE, reverse = TRUE)`. #' @param version_expertrules The version number to use for the EUCAST Expert Rules and Intrinsic Resistance guideline. Can be `r vector_or(names(EUCAST_VERSION_EXPERT_RULES), documentation = TRUE, reverse = TRUE)`. -#' @param ampc_cephalosporin_resistance (only applies when `rules` contains `"expert"` or `"all"`) a [character] value that should be applied to cefotaxime, ceftriaxone and ceftazidime for AmpC de-repressed cephalosporin-resistant mutants - the default is `NA`. Currently only works when `version_expertrules` is `3.2` and higher; these versions of '*EUCAST Expert Rules on Enterobacterales*' state that results of cefotaxime, ceftriaxone and ceftazidime should be reported with a note, or results should be suppressed (emptied) for these three drugs. A value of `NA` (the default) for this argument will remove results for these three drugs, while e.g. a value of `"R"` will make the results for these drugs resistant. Use `NULL` or `FALSE` to not alter results for these three drugs of AmpC de-repressed cephalosporin-resistant mutants. Using `TRUE` is equal to using `"R"`. \cr For *EUCAST Expert Rules* v3.2, this rule applies to: `r vector_and(gsub("[^a-zA-Z ]+", "", unlist(strsplit(EUCAST_RULES_DF[which(EUCAST_RULES_DF$reference.version %in% c(3.2, 3.3) & EUCAST_RULES_DF$reference.rule %like% "ampc"), "this_value"][1], "|", fixed = TRUE))), quotes = "*")`. +#' @param ampc_cephalosporin_resistance (only applies when `rules` contains `"expert"` or `"all"`) a [character] value that should be applied to cefotaxime, ceftriaxone and ceftazidime for AmpC de-repressed cephalosporin-resistant mutants - the default is `NA`. Currently only works when `version_expertrules` is `3.2` and higher; these versions of '*EUCAST Expert Rules on Enterobacterales*' state that results of cefotaxime, ceftriaxone and ceftazidime should be reported with a note, or results should be suppressed (emptied) for these three drugs. A value of `NA` (the default) for this argument will remove results for these three drugs, while e.g. a value of `"R"` will make the results for these drugs resistant. Use `NULL` or `FALSE` to not alter results for these three drugs of AmpC de-repressed cephalosporin-resistant mutants. Using `TRUE` is equal to using `"R"`. \cr For *EUCAST Expert Rules* v3.2, this rule applies to: `r vector_and(gsub("[^a-zA-Z ]+", "", unlist(strsplit(INTERPRETIVE_RULES_DF[which(INTERPRETIVE_RULES_DF$reference.version %in% c(3.2, 3.3) & INTERPRETIVE_RULES_DF$reference.rule %like% "ampc"), "this_value"][1], "|", fixed = TRUE))), quotes = "*")`. #' @param ... Column names of antimicrobials. To automatically detect antimicrobial column names, do not provide any named arguments; [guess_ab_col()] will then be used for detection. To manually specify a column, provide its name (case-insensitive) as an argument, e.g. `AMX = "amoxicillin"`. To skip a specific antimicrobial, set it to `NULL`, e.g. `TIC = NULL` to exclude ticarcillin. If a manually defined column does not exist in the data, it will be skipped with a warning. #' @param ab Any (vector of) text that can be coerced to a valid antimicrobial drug code with [as.ab()]. #' @param administration Route of administration, either `r vector_or(dosage$administration, documentation = TRUE)`. #' @param only_sir_columns A [logical] to indicate whether only antimicrobial columns must be included that were transformed to class [sir][as.sir()] on beforehand. Defaults to `FALSE` if no columns of `x` have a class [sir][as.sir()]. -#' @param custom_rules Custom rules to apply, created with [custom_eucast_rules()]. +#' @param custom_rules Custom rules to apply, created with [custom_interpretive_rules()]. #' @param overwrite A [logical] indicating whether to overwrite existing SIR values (default: `FALSE`). When `FALSE`, only non-SIR values are modified (i.e., any value that is not already S, I or R). To ensure compliance with EUCAST guidelines, **this should remain** `FALSE`, as EUCAST notes often state that an organism "should be tested for susceptibility to individual agents or be reported resistant". #' @param add_if_missing A [logical] indicating whether rules should also be applied to missing (`NA`) values (default: `TRUE`). When `FALSE`, rules are only applied to cells that already contain an SIR value; cells with `NA` are left untouched. This is particularly useful when using `overwrite = TRUE` with custom rules and you want to update reported results without imputing values for untested drugs. #' @inheritParams first_isolate @@ -80,17 +80,17 @@ format_eucast_version_nr <- function(version, markdown = TRUE) { #' **Note:** This function does not translate MIC or disk values to SIR values. Use [as.sir()] for that. \cr #' **Note:** When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance. \cr #' -#' The file containing all EUCAST rules is located here: . **Note:** Old taxonomic names are replaced with the current taxonomy where applicable. For example, *Ochrobactrum anthropi* was renamed to *Brucella anthropi* in 2020; the original EUCAST rules v3.1 and v3.2 did not yet contain this new taxonomic name. The `AMR` package contains the full microbial taxonomy updated until `r documentation_date(max(TAXONOMY_VERSION$GBIF$accessed_date, TAXONOMY_VERSION$LPSN$accessed_date))`, see [microorganisms]. +#' The file containing all interpretive rules is located here: . **Note:** Old taxonomic names are replaced with the current taxonomy where applicable. For example, *Ochrobactrum anthropi* was renamed to *Brucella anthropi* in 2020; the original EUCAST rules v3.1 and v3.2 did not yet contain this new taxonomic name. The `AMR` package contains the full microbial taxonomy updated until `r documentation_date(max(TAXONOMY_VERSION$GBIF$accessed_date, TAXONOMY_VERSION$LPSN$accessed_date))`, see [microorganisms]. #' #' ### Custom Rules #' -#' Custom rules can be created using [custom_eucast_rules()], e.g.: +#' Custom rules can be created using [custom_interpretive_rules()], e.g.: #' #' ```r -#' x <- custom_eucast_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", -#' AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I") +#' x <- custom_interpretive_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", +#' AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I") #' -#' eucast_rules(example_isolates, rules = "custom", custom_rules = x) +#' interpretive_rules(example_isolates, rules = "custom", custom_rules = x) #' ``` #' #' ### 'Other' Rules @@ -102,7 +102,7 @@ format_eucast_version_nr <- function(version, markdown = TRUE) { #' #' Important examples include amoxicillin and amoxicillin/clavulanic acid, and trimethoprim and trimethoprim/sulfamethoxazole. Needless to say, for these rules to work, both drugs must be available in the data set. #' -#' Since these rules are not officially approved by EUCAST, they are not applied at default. To use these rules, include `"other"` to the `rules` argument, or use `eucast_rules(..., rules = "all")`. You can also set the package option [`AMR_interpretive_rules`][AMR-options], i.e. run `options(AMR_interpretive_rules = "all")`. +#' Since these rules are not officially approved by EUCAST, they are not applied at default. To use these rules, include `"other"` to the `rules` argument, or use `interpretive_rules(..., rules = "all")`. You can also set the package option [`AMR_interpretive_rules`][AMR-options], i.e. run `options(AMR_interpretive_rules = "all")`. #' @aliases EUCAST #' @rdname interpretive_rules #' @export @@ -184,7 +184,7 @@ interpretive_rules <- function(x, meet_criteria(version_expertrules, allow_class = c("numeric", "integer"), has_length = 1, is_in = as.double(names(EUCAST_VERSION_EXPERT_RULES))) meet_criteria(ampc_cephalosporin_resistance, allow_class = c("logical", "character", "sir"), has_length = 1, allow_NA = TRUE, allow_NULL = TRUE) meet_criteria(only_sir_columns, allow_class = "logical", has_length = 1) - meet_criteria(custom_rules, allow_class = "custom_eucast_rules", allow_NULL = TRUE) + meet_criteria(custom_rules, allow_class = c("custom_interpretive_rules", "custom_eucast_rules"), allow_NULL = TRUE) meet_criteria(overwrite, allow_class = "logical", has_length = 1) meet_criteria(add_if_missing, allow_class = "logical", has_length = 1) @@ -193,11 +193,6 @@ interpretive_rules <- function(x, "Either set {.arg overwrite} or {.arg add_if_missing} to {.code TRUE}, or both." ) - stop_if( - guideline == "CLSI", - "CLSI guideline is not yet supported." - ) - stop_if( !is.na(ampc_cephalosporin_resistance) && !any(c("expert", "all") %in% rules), "For the {.arg ampc_cephalosporin_resistance} argument to work, the {.arg rules} argument must contain {.code \"expert\"} or {.code \"all\"}." @@ -205,8 +200,14 @@ interpretive_rules <- function(x, add_MO_lookup_to_AMR_env() + if (guideline %like% "EUCAST") { + guideline <- "EUCAST" + } else if (guideline %like% "CLSI") { + guideline <- "CLSI" + } + if ("custom" %in% rules && is.null(custom_rules)) { - warning_("in {.help [{.fun eucast_rules}](AMR::eucast_rules)}: no custom rules were set with the {.arg custom_rules} argument", + warning_("in {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}: no custom rules were set with the {.arg custom_rules} argument", immediate = TRUE ) rules <- rules[rules != "custom"] @@ -229,13 +230,13 @@ interpretive_rules <- function(x, if (interactive() && isTRUE(verbose) && isTRUE(info)) { txt <- paste0( - "WARNING: In Verbose mode, the eucast_rules() function does not apply rules to the data, but instead returns a data set in logbook form with comprehensive info about which rows and columns would be effected and in which way.", + "WARNING: In Verbose mode, the interpretive_rules() function does not apply rules to the data, but instead returns a data set in logbook form with comprehensive info about which rows and columns would be effected and in which way.", "\n\nThis may overwrite your existing data if you use e.g.:", - "\ndata <- eucast_rules(data, verbose = TRUE)\n\nDo you want to continue?" + "\ndata <- interpretive_rules(data, verbose = TRUE)\n\nDo you want to continue?" ) showQuestion <- import_fn("showQuestion", "rstudioapi", error_on_fail = FALSE) if (!is.null(showQuestion)) { - q_continue <- showQuestion("Using verbose = TRUE with eucast_rules()", txt) + q_continue <- showQuestion("Using verbose = TRUE with interpretive_rules()", txt) } else { q_continue <- utils::menu(choices = c("OK", "Cancel"), graphics = FALSE, title = txt) } @@ -330,7 +331,7 @@ interpretive_rules <- function(x, verbose = verbose, info = info, only_sir_columns = only_sir_columns, - fn = "eucast_rules", + fn = "interpretive_rules", ... ) @@ -489,7 +490,7 @@ interpretive_rules <- function(x, "Rules by the ", font_bold(paste0("AMR package v", utils::packageDescription("AMR")$Version)), " (", format(as.Date(utils::packageDescription("AMR")$Date), format = "%Y"), - "), see {.help [{.fun eucast_rules}](AMR::eucast_rules)}\n" + "), see {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}\n" ) )) cat("\n\n") @@ -611,59 +612,62 @@ interpretive_rules <- function(x, if (!any(c("all", "custom") %in% rules) && !is.null(custom_rules)) { if (isTRUE(info)) { - message_("Skipping custom EUCAST rules, since the {.arg rules} argument does not contain {.code \"custom\"}.") + message_("Skipping custom interpretive rules, since the {.arg rules} argument does not contain {.code \"custom\"}.") } custom_rules <- NULL } - # >>> Apply Official EUCAST rules <<< --------------------------------------------------- + # >>> Apply Official interpretive rules <<< --------------------------------------------------- eucast_notification_shown <- FALSE - if (!is.null(list(...)$eucast_rules_df)) { - # this allows: eucast_rules(x, eucast_rules_df = AMR:::EUCAST_RULES_DF |> filter(is.na(have_these_values))) - eucast_rules_df_total <- list(...)$eucast_rules_df + if (!is.null(list(...)$interpretive_rules_df)) { + # this allows: interpretive_rules(x, interpretive_rules_df = AMR:::INTERPRETIVE_RULES_DF |> filter(is.na(have_these_values))) + interpretive_rules_df_total <- list(...)$interpretive_rules_df + } else if (!is.null(list(...)$eucast_rules_df)) { + # deprecated parameter name kept for backward compatibility + interpretive_rules_df_total <- list(...)$eucast_rules_df } else { - # otherwise internal data file, created in data-raw/_pre_commit_checks.R - eucast_rules_df_total <- EUCAST_RULES_DF + # internal data file, created in data-raw/_pre_commit_checks.R + interpretive_rules_df_total <- INTERPRETIVE_RULES_DF } - ## filter on user-set guideline versions ---- - eucast_rules_df <- data.frame() + ## filter on guideline provider and user-set guideline versions ---- + interpretive_rules_df <- data.frame() if (any(c("all", "breakpoints") %in% rules)) { - eucast_rules_df <- eucast_rules_df %pm>% - rbind_AMR(eucast_rules_df_total %pm>% - subset(reference.rule_group %like% "breakpoint" & reference.version == version_breakpoints)) + interpretive_rules_df <- interpretive_rules_df %pm>% + rbind_AMR(interpretive_rules_df_total %pm>% + subset(rule.provider == guideline & reference.rule_group %like% "breakpoint" & reference.version == version_breakpoints)) } if (any(c("all", "expected_phenotypes") %in% rules)) { - eucast_rules_df <- eucast_rules_df %pm>% - rbind_AMR(eucast_rules_df_total %pm>% - subset(reference.rule_group %like% "expected" & reference.version == version_expected_phenotypes)) + interpretive_rules_df <- interpretive_rules_df %pm>% + rbind_AMR(interpretive_rules_df_total %pm>% + subset(rule.provider == guideline & reference.rule_group %like% "expected" & reference.version == version_expected_phenotypes)) } if (any(c("all", "expert") %in% rules)) { - eucast_rules_df <- eucast_rules_df %pm>% - rbind_AMR(eucast_rules_df_total %pm>% - subset(reference.rule_group %like% "expert" & reference.version == version_expertrules)) + interpretive_rules_df <- interpretive_rules_df %pm>% + rbind_AMR(interpretive_rules_df_total %pm>% + subset(rule.provider == guideline & reference.rule_group %like% "expert" & reference.version == version_expertrules)) } ## filter out AmpC de-repressed cephalosporin-resistant mutants ---- # no need to filter on version number here - the rules contain these version number, so are inherently filtered # cefotaxime, ceftriaxone, ceftazidime if (is.null(ampc_cephalosporin_resistance) || isFALSE(ampc_cephalosporin_resistance)) { - eucast_rules_df <- subset( - eucast_rules_df, + interpretive_rules_df <- subset( + interpretive_rules_df, reference.rule %unlike% "ampc" ) } else { if (isTRUE(ampc_cephalosporin_resistance)) { ampc_cephalosporin_resistance <- "R" } - if (!is.null(eucast_rules_df$reference.rule)) { - eucast_rules_df[which(eucast_rules_df$reference.rule %like% "ampc"), "to_value"] <- as.character(ampc_cephalosporin_resistance) + if (!is.null(interpretive_rules_df$reference.rule)) { + interpretive_rules_df[which(interpretive_rules_df$reference.rule %like% "ampc"), "to_value"] <- as.character(ampc_cephalosporin_resistance) } } # sometimes, the screenings are missing but the names are actually available - # we only hints on remaining rows in `eucast_rules_df` + # we only hints on remaining rows in `interpretive_rules_df` screening_abx <- as.character(AMR::antimicrobials$ab[which(AMR::antimicrobials$ab %like% "-S$")]) - screening_abx <- screening_abx[screening_abx %in% unique(unlist(strsplit(EUCAST_RULES_DF$and_these_antibiotics[!is.na(EUCAST_RULES_DF$and_these_antibiotics)], ", *")))] + screening_abx <- screening_abx[screening_abx %in% unique(unlist(strsplit(interpretive_rules_df_total$and_these_antibiotics[!is.na(interpretive_rules_df_total$and_these_antibiotics)], ", *")))] if (isTRUE(info)) { cat("\n") } @@ -682,12 +686,12 @@ interpretive_rules <- function(x, } ## Go over all rules and apply them ---- - for (i in seq_len(nrow(eucast_rules_df))) { - rule_previous <- eucast_rules_df[max(1, i - 1), "reference.rule", drop = TRUE] - rule_current <- eucast_rules_df[i, "reference.rule", drop = TRUE] - rule_next <- eucast_rules_df[min(nrow(eucast_rules_df), i + 1), "reference.rule", drop = TRUE] - rule_group_previous <- eucast_rules_df[max(1, i - 1), "reference.rule_group", drop = TRUE] - rule_group_current <- eucast_rules_df[i, "reference.rule_group", drop = TRUE] + for (i in seq_len(nrow(interpretive_rules_df))) { + rule_previous <- interpretive_rules_df[max(1, i - 1), "reference.rule", drop = TRUE] + rule_current <- interpretive_rules_df[i, "reference.rule", drop = TRUE] + rule_next <- interpretive_rules_df[min(nrow(interpretive_rules_df), i + 1), "reference.rule", drop = TRUE] + rule_group_previous <- interpretive_rules_df[max(1, i - 1), "reference.rule_group", drop = TRUE] + rule_group_current <- interpretive_rules_df[i, "reference.rule_group", drop = TRUE] # don't apply rules if user doesn't want to apply them if (rule_group_current %like% "breakpoint" && !any(c("all", "breakpoints") %in% rules)) { next @@ -702,16 +706,16 @@ interpretive_rules <- function(x, if (isFALSE(info) || isFALSE(verbose)) { rule_text <- "" } else { - if (is.na(eucast_rules_df[i, "and_these_antibiotics", drop = TRUE])) { - rule_text <- paste0("always report as '", eucast_rules_df[i, "to_value", drop = TRUE], "': ", get_antibiotic_names(eucast_rules_df[i, "then_change_these_antibiotics", drop = TRUE])) + if (is.na(interpretive_rules_df[i, "and_these_antibiotics", drop = TRUE])) { + rule_text <- paste0("always report as '", interpretive_rules_df[i, "to_value", drop = TRUE], "': ", get_antibiotic_names(interpretive_rules_df[i, "then_change_these_antibiotics", drop = TRUE])) } else { rule_text <- paste0( - "report as '", eucast_rules_df[i, "to_value", drop = TRUE], "' when ", + "report as '", interpretive_rules_df[i, "to_value", drop = TRUE], "' when ", format_antibiotic_names( - ab_names = get_antibiotic_names(eucast_rules_df[i, "and_these_antibiotics", drop = TRUE]), - ab_results = eucast_rules_df[i, "have_these_values", drop = TRUE] + ab_names = get_antibiotic_names(interpretive_rules_df[i, "and_these_antibiotics", drop = TRUE]), + ab_results = interpretive_rules_df[i, "have_these_values", drop = TRUE] ), ": ", - get_antibiotic_names(eucast_rules_df[i, "then_change_these_antibiotics", drop = TRUE]) + get_antibiotic_names(interpretive_rules_df[i, "then_change_these_antibiotics", drop = TRUE]) ) } } @@ -720,7 +724,7 @@ interpretive_rules <- function(x, rule_previous <- "" rule_group_previous <- "" } - if (i == nrow(eucast_rules_df)) { + if (i == nrow(interpretive_rules_df)) { rule_next <- "" } @@ -789,13 +793,13 @@ interpretive_rules <- function(x, } ## Get rule from file ------------------------------------------------------ - if_mo_property <- trimws(eucast_rules_df[i, "if_mo_property", drop = TRUE]) - like_is_one_of <- trimws(eucast_rules_df[i, "like.is.one_of", drop = TRUE]) - mo_value <- trimws(eucast_rules_df[i, "this_value", drop = TRUE]) - source_antibiotics <- eucast_rules_df[i, "and_these_antibiotics", drop = TRUE] - source_value <- trimws(unlist(strsplit(eucast_rules_df[i, "have_these_values", drop = TRUE], ",", fixed = TRUE))) - target_antibiotics <- eucast_rules_df[i, "then_change_these_antibiotics", drop = TRUE] - target_value <- eucast_rules_df[i, "to_value", drop = TRUE] + if_mo_property <- trimws(interpretive_rules_df[i, "if_mo_property", drop = TRUE]) + like_is_one_of <- trimws(interpretive_rules_df[i, "like.is.one_of", drop = TRUE]) + mo_value <- trimws(interpretive_rules_df[i, "this_value", drop = TRUE]) + source_antibiotics <- interpretive_rules_df[i, "and_these_antibiotics", drop = TRUE] + source_value <- trimws(unlist(strsplit(interpretive_rules_df[i, "have_these_values", drop = TRUE], ",", fixed = TRUE))) + target_antibiotics <- interpretive_rules_df[i, "then_change_these_antibiotics", drop = TRUE] + target_value <- interpretive_rules_df[i, "to_value", drop = TRUE] # if amo_value contains a group name, expand that name with all species in it if (any(trimws(strsplit(mo_value, ",")[[1]]) %in% AMR::microorganisms.groups$mo_group_name, na.rm = TRUE)) { @@ -894,7 +898,7 @@ interpretive_rules <- function(x, if (!is.null(custom_rules)) { if (isTRUE(info)) { cat("\n") - cat(font_bold("Custom EUCAST rules, set by user"), "\n") + cat(font_bold("Custom interpretive rules, set by user"), "\n") } for (i in seq_len(length(custom_rules))) { rule <- custom_rules[[i]] @@ -929,8 +933,8 @@ interpretive_rules <- function(x, to = target_value, rule = c( rule_text, - "Custom EUCAST rules", - paste0("Custom EUCAST rule ", i), + "Custom interpretive rules", + paste0("Custom interpretive rule ", i), paste0( "Object '", deparse(substitute(custom_rules)), "' consisting of ", length(custom_rules), " custom rules" @@ -1075,7 +1079,7 @@ interpretive_rules <- function(x, warn_lacking_sir_class <- warn_lacking_sir_class[order(colnames(x.bak))] warn_lacking_sir_class <- warn_lacking_sir_class[!is.na(warn_lacking_sir_class)] warning_( - "in {.help [{.fun eucast_rules}](AMR::eucast_rules)}: not all columns with antimicrobial results are of class {.cls sir}. Transform them on beforehand, e.g.:\n\n", + "in {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}: not all columns with antimicrobial results are of class {.cls sir}. Transform them on beforehand, e.g.:\n\n", "\u00a0\u00a0", AMR_env$bullet_icon, " ", highlight_code(paste0(x_deparsed, " |> as.sir(", ifelse(length(warn_lacking_sir_class) == 1, warn_lacking_sir_class, paste0(warn_lacking_sir_class[1], ":", warn_lacking_sir_class[length(warn_lacking_sir_class)]) @@ -1177,7 +1181,7 @@ edit_sir <- function(x, new_edits[rows, cols] == "NS") non_SIR <- !isSIR if (isFALSE(overwrite) && any(isSIR) && message_not_thrown_before("edit_sir.warning_overwrite")) { - warning_("in {.help [{.fun eucast_rules}](AMR::eucast_rules)}: some columns had SIR values which were not overwritten, since {.code overwrite = FALSE}.") + warning_("in {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}: some columns had SIR values which were not overwritten, since {.code overwrite = FALSE}.") } # determine which cells to modify based on overwrite and add_if_missing if (isTRUE(overwrite)) { @@ -1211,7 +1215,7 @@ edit_sir <- function(x, }) suppressWarnings(do_assign()) warning_( - "in {.help [{.fun eucast_rules}](AMR::eucast_rules)}: value \"", to, "\" added to the factor levels of column", + "in {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}: value \"", to, "\" added to the factor levels of column", ifelse(length(cols) == 1, "", "s"), " ", vector_and(cols, quotes = "`", sort = FALSE), " because this value was not an existing factor level." @@ -1219,7 +1223,7 @@ edit_sir <- function(x, txt_warning() warned <<- FALSE } else { - warning_("in {.help [{.fun eucast_rules}](AMR::eucast_rules)}: ", w$message) + warning_("in {.help [{.fun interpretive_rules}](AMR::interpretive_rules)}: ", w$message) txt_warning() } }, diff --git a/R/mic.R b/R/mic.R old mode 100644 new mode 100755 diff --git a/R/proportion.R b/R/proportion.R old mode 100644 new mode 100755 diff --git a/R/sysdata.rda b/R/sysdata.rda index d95f3a50cbe166b55832d53070babbcb9e4abc36..397e8cd8695f0f74c52cfb85081b7e852ab88858 100755 GIT binary patch literal 118340 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

pwxB^B?GUWwS=-RBG}5I_w_ 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 literal 118276 zcmV(lK=i-;H+ooF0004LBHlIv03iV!0000G&sfaqjfC(1T>vQ&2UJ%gRpOV=m z)MR*BMys}mA7{TcqJ9afmmFdIg;AJaB?t4R3-6~$s$GH{KSb=R^>$_!CA3H_?0cyZ z52!-$3X{o=NWcL3sc0K+03Uc1C=$ais5&uIP61z#m&89=J=v*v)dU45${^lJ@4hv1 zG8b{$)2OJcLbZJvk3v+m;2?COH+u*kuMMGNnl>riTyfY+#OeO^(IWyf=Th*0v~$h%A0q#v?kx=a)ydhW^X$H(^lrN`>nw`ikYcrw!?k8Z{kgxf7=Hj| zw453m5TybTM6o5pV2u~(;Kf{KdWH+A4=-z7zp0KrMLGusiI z=g=90nPd3A)D3(?{vdn^Ug!HCnlzjYBm(?8VAArTMt8dKx6=eqc;g+Mri}<~uAOPx z)1ha(9f%}ns-ALM=^O3SJQpx!S_jAQ-?Zh;ZGTk31fG=zt5_*nV399DRA)cgOS$%D^_pLd3>N} zYK1ynGt_MNx>IVB?7k{LHd)SzwH)B_-BWCl|s1i8=N-aY%q7F>LgT(;kM-^jk7N}z^XYx6Dp@&lx?e3;=UV2Myx z9hov3<(ha!WHFM@b{kRC@$^~mbAunsHiH#Dxupe>Tq6yj3;t)Tghu2q4lC>?U)-adNG|A+Y!2 z00&a8YLi0yFF+<90ao90QWXfM`%pS0GiC?>tbVY`aF^bVDKiB7f5h`Anj*f=BrH3=~JCvbHVTI87~#~ zHoi5SwRkaeDwo3d)u6E*VBznWd~Y zoeUIv36a#hdu+d{l859irzjo1UikrD&?DLdv}WV<$S=ps6&GtLnYdsH%)}tk8S~_; z#KIhMPky8{k7l6Rr&nOyi})ahYL_fMYl)6mh6$|iwKBJHu-rk|*rG{x`|XXhdOmFW zY@a$O4UG_1u>5YgZh;Z~GgFFp=z43zBt^^IF0v(6jh%3PtO(+^r;1mVQsG%HlCPzuFI#pt*rBVJ2*&ffdK~LQty*Uok)su&RT5mDEs!TEh;Cw@xn^A`NE06Ha zV8WSv+0c(;sbB`sw@@gLa5O$JBJnHXu4m=v8dOT>Gx33Fr<%pbm7o98;X8(L=5JGJ zZWb?=0uapVmnYvy(?BYgSiisnQ9a(iSAgp5dGCYhzXldmo|+!;h-#WxQ0uObvFZSM z&%8ytL+jChMym|g)u2KEFA%i2c|_DRn}QWB(oHR*hd`Rvgu*k@P~QD3l30Y4#jpSH|Yo8TrZVe`@j#s7BfPa8z=1omnp{IGf_4rU1{@O zuE;Wep$v7dRO%KjpD7d+M4wsXO?TxcDdyp^hsObp{fCS~lJeg&sG(W#k#2Z6r93^! z)?l6idtD1#VMJEdcnOYmATdA#4vIun8k?!)^yYcHl|KJ;7v5obU~w-EpD(RLs*f_- zkaTXt^g*h#4v74#P;%f#~tukmG;fmX6Di!AOcyxi z>yX`oTMLT@F^_orx%{TZS7yOW5UL3mdVmS#AIiEK4f`&2d&y5Ei(t%G%ymr@qA*yF zE~j29jW)=TzuVi1-wZP-Uf=btg~W2S?M68_Sy8JL6Ri)0_PUX95D_)Ay@)UnU^%EG z4?DbaQ({WG1*|Sg+GZK>8)yK&GmOC0vAV+K-`WgJu!m28RME=HpEE^K2iCbxyafQ& z3JMiTK1wywo-Gt!qyn93bBX-5Hb4(k-t!m8VHQHi#Q7}7zkS%Hm?|((HMR(Y)_Bp1 z_>bqOJhezX#AGWjRW;?2@Io#qE4Juq9LOU>6$Kei0afsCDKM_3=Ft!4>+o;R%tpz) zk8@9$qqKL=P26 zsNM8T-5Zy*`gpescO7Pj$|sS64W&Z{KXFRELaYiN+ZNi@0BDsCzW;?dt0HbEG|n2fCqJ~zMj zllKVn^jxYE$g*4kqH+~z%3Cnr5`wC^Yr|K0yOvQel~Bq4K0?-8PJ zNJKMC$~l(xoSx3q?E6DEOP2i8#u@z#3{n@v_UHocDCW8qxYBKY&onz!3x zkvJZm(40`#$bFmdcNmylcGk(ikwhCTJM1~Ick!X*-?-&#dz~A zE?P{T`$RW~?!;c_dEvq$w2w|eZvN>fk)_%Iq3!X+MgusDO(NLY-zh56_aksbSk${m~KlXQ*;QP5B?i$~iOl{(yN{(CvEZP3T; z)H@@^K`mj(M%NtpwfE*7w$2XOm!J_1FG9qJ0io%UpiG)iuc#;_C03!Wcl+qJ@PHDG zFxY5$>TM5aeLakQ8(~>PVxmO&&9eH5B$z+|G3PfW2v&NSqY&gi>jFtK}|y`_^ea(e8oW7Jn?ZX2G&h-mc}sNRr$!w${rLa0-V>I zZqm_~zNe{*|F;phwcAJsYIPuTsSi@J-itIBQk_7+=Il&T)9LFw@=hE1v~6OKt=)z4 zMHg214Zq|NL!m6TrQ zi8iZsMcY0lZ;oAd6>g%7rdzal_Z1EtH(j8`eX7w{d&zUf^DzD>%PG*AL%2+CiR9}B zfT?MuZeCYEHKYW;>*RH4uB(hwS<#m3#;mlG2nC@u$!%}sn^>wbmFvEb8psmbxXa_# zK4>YVBpBd9Yp6@I-FgTxPop==KOJXpx>n<`n=4^!<;QXHetESYt3oaV9v1jQVNlvG z89CcdyxEqTA;2Z;{*FMK0VdT3h^&~W!2Q(ndrJ7P;jI!}v4}o7;^Fa@%AaO?gXsis zPSYzCR;T?-8W5HweHxcB@IPWx4>c+7cF7B~(3tSeO;!`NI&hJl+6qs1#+6DmE7CC z{oNMK9nTr~)l`F2k-EZcymHS+e?E)9sAvbic2GH53Bd#pW}KGv+l60mh@82)NqV&n zVHET+^B%@Bd`Bz0|9cKz{^bld)7yBe`Y<@m=Zto%UXb$3^;04ok_!xpE`<^pFPa3S z9ogZ`g+h~KGiDUJ8GMrH+BO{|SZ#Fys=6RBH(MU^wt+iy@_|f?3`J- zUTK975G=FMG|P}yz1VXA3V8E9PTDz5WWP@6@@;lA-VKqQm$})wp!^ zyn&%)_=Z!7}d;dr&md&27n2?oBG0aEH;#6@jby&X4Z1M#53H_?m0;UWy# z7p7T%D})Adb>6dj@&+jd6Gh&(?--iE(O))jI@*Z2j)K}?r)3oiui!MN`5)>D#=(V~ zHERb>b_JEP>`Roc)o5!8)mfwCkpE>vG(%lnp9A4wv|HP5AT1%@q_|6+AV0b zBvrQA`gT?a`y7Fsq4PW=N)%0`80_3;+&U@HSNs2)l=?v*yYa)p*dCUFAGV*xI#Bl- zdaHZTjiGQy8{6_@*NPZ~0v0LN!KCcJFOmFhPl)m`k@x2D@#%^o4CpjC zr5Cm$%Q04jL-yHeAxCqctSDpZT;(qHgyHy?d2bG6jX625ytJ)Y^90!}qL&{;+BZ{f zNtcSY?w()G|2SKy08}eo!nwuZQOV~gmg7z#3WPN6!w;f4YumlS#}1iVRKGu%K1ZKq zudropp#Xgyx_3~SXoZ2IC;ts-OEg;F{4=sgGG2|@A$+^>?3DOS9IWYvTI`YtR^FkS z#VoIudaM31JcYL%HW^W)Tr!m%J3;F893Q&sxP&k~2!Ed(fwgwg2y2eohxOpk{p~e4 z84!~Hb~%GAaRJuPz7T_OH=?yOM74TS31guKC!j3t~<=1T)ui(x5S z^D{nj51-HSd5w=w+3?42t*w1=cUEX^WvAd&``b{}qAR#90d)}ytr`M42Z(3TczD8i znU1&uTE71LK=I~^#@))5`mkOI(=55`@7<#+@Bzc!)zRg|Dz(YwoJt$%{QoFZWDp2$ zH^zs+ewj;vAp0^xCg>BSOIi-aPh+BXgmFquxClFKBi}XNFkAPN?#9SDpAyn}NV^+0 z_LqZ(JDkYFK-w5mZR_K>yD?bl5_u@YQ-rjgWxbj0CR+S4L9y3phnaVlgbHvBvX&>% z$v%=iiHj{7z3=0~E(>g$VXJAsO~wwFj(McLMTxl}qfcMjA};g&t4?R;K*}U^v@jyu z2;G$pNrk(ZPHtC+8Z7{H)E(3}^eK!2GJ-ws1vZ~a9xgo_fl39aGvML6zTy;{H9n2O zI`zt7f+D=%F&d_TCksrPg#x5##ll6P40Jy)%bJV~N|232E3m`u=QcTBN8&-DYg++& zGDbdS!~=+jSH;qMUQScy4PNJ_>-{AV&DW9x=4qdQ6vA)xO-$Z$u)pBAS>iYcqL2Bq zL0$xCa`NV|^s57)Nc_r5TWOzAg}2*Nq>{|2v&h#!g9tAqe1sfSbIY@;fmHh8aNV8g zd1ispVuFAkDl(*XtrZx$PWw!Ch1mGx&@hHC^0!i$ER`@5XKr zbWXN)oO7M@jyXdD|707-qhNI9J4|P`km_zoCM6*Agqtd%Mm3Co0@g4E1P&C zfkhvQ__lBbR|UivMyPZgMao)H7~p|mt%cCsy6~#dIs;g$^ugcYVI?VksWI-X@d|hs zUww5&g1ywUL#Hl_K`}?8VxP$qIWEGrG#*%jsW4$P0VUUx<<$gP#VM!Y-KO9O)aINq zSoIiMk|pd?{tm7N6=h~5S^?rlM>XF6X;JGXg|yL}7j^z#@PpJyeQp8_aKRZkzKs7q5bjCAe z;==|%f-b{nJQH%viuU&OUuhzligk^JQo_wx=1W_nE>SH>_691+gSmbU;CZJ+HnOGI`l`qry6ohdAS*{+=4lycMmW7|% z2?a+^^M@}^FA~EVV--7?qA`F&8+J&$ANRrom@S46yBa&Up_Uu%GbCuQBx79pbY?)P z%Kyl;0O;8m!`X=VBc|w%>2wYx(+Vs;btPrWx~dc+m!lo><1*YCCwsYi$`Ow|n%8DJ zL?BN$uK-zC{e#>ZC7@#xdbP4kwB`zp=MzM!VTHws>>xY_+w=&wF`c8Y)O-w)7w>v}qb4)Ok%h1sq8bP35jQeFfB*A?QN1C#7Ez1FS; zgwLq_;K&b#BMC&h$4Uk5&|RLTaMN9u$PpI!*%5_%?#S5pULFqOhCj~4FI2G-&dtOt z-`YLJHD*O?1?K7EHRhy(#VLrhU$_Oe7$=hQYX$Xw)O0Y>ivsgz*6o&1F+e2AYCoK8 zYraRU^Es2qMYmTms zBy*qK1D(j_GNnV%)f`#I(qs1U%Ic_{1O=++PT$IONQLT!`gD$xjYH#KSFyrj$cB$Y zalrct*bUQ>X@=Y(0tG`9$puy!YGzWFu#a(*08HDp?lD>L2BuL7OuU#f1DUf4=ZKFq zf-foG!M0z)WBesq0xQ$(U+Wo>0@+vr^innujYJp<7iV9s#i%*s@j^@oCfGwsEBDU*zABjXEAF;epLTeT}k5iV} z*ms>39VCn+mdsFC7@>3#dXoW&XAU)pap8glq{b5RCh^fYW2}V1+9%dadt?=8N>NA_ z@P(Q0hp;@r3?)%UKwYjrZ8{4`QW0&Y6xSFLMU_r4CBD~`@EI9m;69oo#lz1EU-%q}&Rj&Fn+ zxpwJ5m_%BAi{b~b91($#i$R?+v>*IzY*J*=0})Uv4x3AfUAMx(meu*cNfoD)u{5SE zWvEkvy2hK@u(g2|!yN~P^LIU-s1oH+sI)-~|5>Sv% z7mxArtP6eM?(ERSqa_}Xt1i~jEMckeD5+BUsJuU(8;-+4$XDU|XEyl}Ir3@Wb#V(G$(URdH7dz+XyD{yItv2-G8nx0#I8qX!-bkPW__Qo~f>Zi* zikIFMrX@(Gz9z!Vg6q|#{4FlMy(b7oL(0%~q!^wEkyO&TRQd=T!rU+4VB@>r(}8M; z5;Hzo2fdz8_P#u>l}5SQo7LGxX|+=K?g>D>5G4N5(_ZTfQ;AZZbLXBS-NrKBVR^)y z--eJ8tP)Rn^%po^j${bwgqXH1c$C5&K79w1SZ^mr=u7<5v`?G56fz>>k6xd{8XVpT zr@c4LW_^}76+Y*P@g+&HoG*P^xNJOahW;K$BTF73resuh!gFa$@k^RtCrcJBQl&q2 zt^IC&O)bn|vQxxZ<=am*Y}%|;-?50gU(vi?nud%Vio)0BTc$Y8NyUITBgtdpaJC8B zpgTVV;-`JnL=>7a?m;Y!2PSYHG|7C$&%H2J=ai(O(@^3mK#y23#5<44 zZ+mPBGq*7d8^wvi_d4y*45F6#f-bwtRkPJp)-BQ~y>42rWbw`hEc2|P#(>qAf3b4M zcWJhu-Ekx4(pAufCyB)R=>RS0#C(RD=MrV^zZQuRS?7oCI$7Jr| zVRjQZhb=QNdDs(zFF)uRiM=t2qlCvzjKE@Q*<;gRJJh3>*C?$RHco;5?3&$FF^X-W z6drf35!81eo%8OJqx^@8=Fz9&V!QX;**zXms?Hn}}P5>2ufw&1W+&C#~ayWQ&bV>iPYZlmCVqD`lrw zGl~_0><7GK#;2-&GvCaab(QW;dbU!koO~SlQl6!T4u&;S(vR-vTd zHZKNQA8S4o5ZV1y7o;^4n#2F-y`@_d#Qie5{Yr1wAEk@84!y~vng&tXB`h}F|D7GiB^lWdwy-Kl2A>Lf_ICP{a<7hrv+ zn~O13HsU+09;Mo9l1s_Ih+JY(NFHF^pceFx5_2jbYt`qd@P*h#hmenTRsMziGfbC- z6AWm&`bI;8q+jWTC_;;G8Q?gL;uiMt~u29lpsD??)wCwz_ch0@@|LZH%?xwAels2I=F zD(9FN?!#mEZ^a7Nl`xdKHOlWIkFc9_Bx`OC3^#DjsEgVF0=jLf5&WZmKm%fo?EY5bk5x4O206qKhrp50Q-rXc1&np~Xd5^o` z_I&^WR>ghBGqLAs{;;g-lLq^Ouuwu-k0vTpbh}1wrtcKUC1OMoQ&Z2wY}TAmU^^Dg zImI7~ugGCDtk^wnUX7?AB#)6IiS9U}@Uox78oHl+0^B01zpNA*Sp0yL?01a3G3 zMtxg8#P3(m8#(auYP_ajE(yP1W3M!hL2~UGT+guNmVWD9X>`2Ncth~`aT4RqYhi4( zf;U;>=CU=D%ZVQCM55--m3Sxj>jFiMcOih(CSNFV)>eJoq?OPGq%j8}9=0*!KO6K1 zQZzGOlVh)e3+ zPC5P~)_O7~*s;J9f9%WUb4w-CdHT@KFrj(Km!|lzGP^`93(k=6Y8X$JM>IDmUptZ{ zLas>24H-Quz6>Ra>&OMy>p87kY~yJaD;x6$U)Yo2{5CdA@SPrq3Nn=O!DJFFMNQI) zJDaicC4`O>NWkn5%)KNqN!U2VmVB>OSz2;oM_0_bo((3j=u)~ni|{DYdcqAag2a_; z#IPc=_X}Bk6ndF$rBXd?G|^*N$?xe8sKqS(s#2W?d!QyvG!dK-2v8tCWd*|D{BJ|# z-@d&eEeKtreO&)7z;5scN&J8#yscdb!Mz?r_Z}}tuzTjwYY2AdlvA~4>|`x|jzCPE zn4s$TvO1A*=eK4bYgVYcV%vrM_;$=RN>`@b+st2M50s{vJOGW606u~f_$fFWU}%21 zh1>8G=&;5e46%a=%9N8STiD-4uCI7Om(|BUYiwTN!FrNu;=WlPp&Am0=I4xB>P0W? z)8cMhHP%;CE;_1fA5UW{q0-XqVvcw`)UVw&)Y!go!p~&$3tw8+FPC&b}Ca)PBy}n*1QmdaX#r3l2j(c zYoIH`SpsD@YaA?}Xun<8xJ}|R)%~9h$kS3rZ%JWoI$>Sdf<=Fq2w_Kgs3ao+8lgmm z4l73(op?6UJTNghKuAmR&hVR^d&8@QwNEai6|e<%wsz=e9^0_qS#Nb$FTE`29aTHq z#|>rXunLc$D@w_OW$n~A17gh+BrGNZih5zuzf5qJ?A2&(+~AXVu+xB=P==n~QA03x0 z07?}XwqD8AcaMuTSOk87pXXmS%gep!>1%)f6M1jrap7s1ov2_nw72e^xr#itd1EuU zskj^yy{a^ScT+b)(Ar+pqWQGQqC9W6f|#hu9kt)q2HeK()5YQ|4Qn?xj><7Pe6gV% z!h2{AV;5a9S2Pi0MmVu)FwyTMrA3MpxjBR_l@8p<5Gn!ddr7i~ZrjG&f74v;_*HvA zHk?{ZKQ=!dO_H1=?y)9oXft!jg6+aR)i+Pq7hf~buK~Q6R4_^xpmP>G3)rS>k&r@; z1T=kg3fnIU9c#9R9W`?*ggsQkODJ!lH<6^DkBgYlN`8?}XGvpo%LWE0`>B2QoJeHE()7s#!VBvqy zg-c2$-rK&PAh?V8`GJ%P`y<$AE zQwLZq0NXasbHbyfd%O$6(A(^rsc*roS`z(Ry-KAdD1p99=jDx1cjAmA-c}YYA*9xU zmjEb=Rkaj>A`iBqCjlryBBs`BVQ#>G@IrQNG}Xfe8c2?cXL?@uU`!PgTjV`Z25M~YYtH8bN)>%j?!fhY8NHip!dEL|2J!QA zpO|o$&aUIO0zQ~s{Otnkvg)7ylex?*6z+8-H(1qaG*NS+$hKPt#35*68}0|#+*97k zZ}@yW5x^uBHU0!<_aeL_Mg`@OZEtxz8~@Z?(ieb+aHYBvEW=9^NvYo2s`b`h<(CN) z*}l;qMkx~@qBgs_N4FUbUkRZrC+gydpjJ&ga@EedIEZzu@=-Q$cY}78e*Eh`n;=BX z>KOc{odD@-VU|z$&xItIeM;nu7>#yPmY1*&1)~-Ez~VpxtRMw&W${XByZ!A< zv1mtKPC^`?YFbOLR-ZZ*l1V(N#+Pj$>b+*h6i{2<7*tp5}d zPr@4GBuMuo#5~meRMnczKpstgv|9nfOlk%{^-#0EdmK%D`f0iEJ!=xoLVdBREc|dF zA)aO?)uah>-*PMRFl6wtWaLM1(rB6`oYf#>V3h$u@-EzehIlYG#RO=VE%R#%xRmTt zuP<`TArGc5wdq~hIU%8XO(DF9vR?j(#Kgi3bpwc9*8vAH5X>pSTv}>|thodS1Q z{0_r-GdOiVjgr#~3U{U`hYr8z-r@7hphuxH#y+rIHh2Rr)b5V2zjFxGF3!bTb=gqO z;$7z`A!G(afBGx}fa`KiTK1T`>;m#3MRkFT7~QpF-OjwpvmN|NrJYpli=y5sfw>YR zZ44Xo9W=egfIQk+5`w;v38edBQo}h#>#Ff@(TXf2U?TIgy5b>>ydBtPfrTT1cn>`* zlBQadcma2upLYk`Mn{`x=`D%MRLa7O=sH8#=GGq>!^lZe#ydCF(3AgeU{3ls&7&ns z+tzB24@c`sB^%PN^k(Zq))i&emJSd+W5G?rZ0g8hT9b~wlmgMUa2oSfC?0X9*8QgS zQcBy)KIr$|#u#=|#}N`LJdOgMti1P&Px~EX>-ws2c$}u$ng^#Jf~Db>OiA`nf|{AO z#GJ|(s$%-8NqBN$Wyp4MMY3MH9mXtdh!-b#?G~_7q)rYQGbq1ZC{1Lj=XmRPeqV~f zo~BE(xtixwI%FsQ^ExP$v=v&Ot!-lU%g6{RIxU$#_w)4B-x#KOwXH#T@1IMAy_<+a z<$AN-)F6WB7b$SsSI>QOcZw*-W}5fjB+IP@V88fmE6K*tZ-3MjH2uYsx5Y&9$n4mcmx9T@<=yo5ZDh?Y$RMsSQGlLqyB?I13m zWxl?_TZpzcfP!g}fDV`MJ!8`WhqdtBFAPos-r!{6m4lvS<-*WGfkyaLDnd?Y zBOg>Cz0vR@L3F?h18#@O_5wTsM3_Iv%^cw1c!2wQz|n*+mifr7#7pf26J|lzpS(M? zquc8XcullAI;=~`(5PSSD=I-wO?9h5N<@<;p+L((iDAQWO%{A3sf2uSO=6+$p#t7Y z7)Be3SA=I1GU1(Movz&#imug1Yyb?P@AsZrD&D8z$VW=zu(xpa8q|E_;iP z$rj!M1$=d@pQrLZ2Y4_VNs9FaBkKkauF3wn*j3V#hpr40jN)A02fSqW(VmM=@q}{I z*^8YkyTpEj_evJbfD(h?n(Og)`5#+8GMFrOaSusHgkpu!^sgk*kGMXcPonJnMT>-- zl)q8O%_NYxzp`#tQJmKkG5JuczSp@n?;&PN6R>O@dch*#iQ+|XWn7h_h}ISW#_qDF zIcciDP9A=#V?!Sr;;ud$X)|s=e$xjT4Oqq{jcpK!9>+{@<&(T!PK{q`Rt-5JxfrK~ z{^~&Aw~d82GkJ^>2KR2`SDNZW%R0jphtBH-2b|N+FloaMPmRA2Ql&aM69u==ip|p5 zG@24ECV6g~+S&q>I6YcG7ycxD?{xbktn~Waep-An6qSzx>C*0Q29&;gIIkcR%z-0;_;LPv+DH*e` zYUy>>{KFD4YxS9}xcfQr=T0siHf0L3St!zp6O@i@j^JR${rGG?F$pUT>*(>a7OL)j)nR|B)uQ_9jbGS#{7Z#W4MZ73y)riu2xhRCCAd@TPN_X?rgK`I6dT(Jx2;Hop z<*DVy+w?3eRrZj)`ASw^C6{#UAT3sfVD?B;KCU3$iZD{pG%F3ms&Ge4T|!hC&{HFG3qJ^IIdH55pl3lT4-$_>( zvqIcU2JPLS75-4?P8C*uRNZbptKLmk1a#mFF!l$bL9@rg>w+rc)|h&S^q9!4y8VAg zo;$+O0y7V>dL9j18y8aT&rLloSYq<6FNwDu^xJsdTFmn3&99n_JoIK#Wz1p>I%3Gn zP;AhyI+0#|wU8>T4iO5e3;7HzGGDG)-K1^0sTf0_F3|wvzK`RqL3XEJpEvN?e-Y_TSC-G0G0f{)} zgy0>EG{Th;t{n9-m$6QsHv8+{`|$JvDvUi{gvJfju~>J4>ES?=jtuBf9iC^2>HK)j z>=Lvuf5Eh%*nF0f?cD{VcMAM3VuBK+iQ#BAts885Wp;#2SSwy*Nf^r1tT! zkHB9DPBdpFBKgQAT%rbny0vs{*O8cB75!4gUvQc#IYrJfrw=FF(&RC=@a z{l*l$Xj`w*bnh8t+-vSiM5bi2Z*lPuML}JDayo&CD+8J{qGZ}yAiz40dZXSnf1PL- z)?e44n4TriYaK)UvF@_?5+Kxb;1QiZPa~%53%TCEbBNM!k2d;HA(ZjX~c`$~}4d zi8^e8Osr=``m1^;CKMz*ve1h`kJd)vak~H?PCY<(rxplWvDyO1NrcXb(nE-NxA0ipI$BuvFVsv{MK^S;q++Be;B*drW%yVu`)R_+E?G=N zi%eV9qDhBUy)L&dZ&;=@bfGPuu4SPO=g^|X-c-ZGO-y<<7uDSw3B5<9g}9 zH)I7cXW3o{-hR9wKw6=WbE_>J7eVA~o{&KI3`dx&q)XVDd>p-3CZ{51U#7kiO(*%< zp>_$!h!b*AU*v>AO&qxm@vx%Qy6XQcq~qQ)a&LewP`7ep$gl~5O3}0%aVRFUGD|)M z2#osuAcS6@G~z{#jb^r(w@Cn)rMz84>?{c9i|z;Eo~^Y^`R=<~`kz}0{=eNkL_;b%ugP-EgD=gZe!LRW6$E$YGkS5wGb-UwOZsVIEz^~ zDt$Saz>=PIh$Mpd(A1J!p?I<5PZb!Ve&;f5B&>INqF*rG4vS-{oDIXN965@_6fV;> zl5zdtIORpmhq3GSX}Mo(XY7-p>IoBiCaamy?yKwHA9h>#k~7PLJqR}Z1gfT~8W6P# zhdXrCV-m|K^HD3>;15z(263>g`JY1$Zhj z2;-{Z*!sTZ`A3H0YO#-~4-IQ!yaMJ6tkU+wJLLR@j@4;zw{(y9Ty8F<0CpD&gA@IMjkxjB z3~_C|7ROOIAPii&oT;Ipy(K+b-ojV#(b1-48;wIp1T<+ri=r(Z;@QMtq}W{0V}}ez zqQG=W5Lf)Y_O!Z|t5ZNTt7046My+4vyGUX^Bn~1tW(1dX>X0&;X`7*WF%3PDcjNM> z&2p3Olsprer;cW;UlUBK-OifJRqYdM>D@9=#Dj$4yyGEYFT~p?1r1IT;Rd_#txDr$ zliQp4Dtw!*&IaO1WctFL$g#uW8#0qk(e40Djj7q`&(oTCvwcx$yXB)()vQ3urL?#n z=CYT2ii{k>Gp{+}Icu9sh?Ud*5XE@Qvi94VT~5(h+OaxcXF?^(*`RN@7(45w!?fU! z*7~BVSMg{gI`K@ETxA8bU*R|PPuN1Q3~#}5Y?#Tb6c!&uA??`hC&NEkkxo(2;8>gf zT2@GdhLF$kQjK{FWw+IdmR?J|cO`KJUBJZLmcNl8K(oUyTh`w2ZH;nv7oH8h7@Dt6 zZr8FoR4o6%bxb=fmk3eCKuAZ|#k!y8iX^lXR-1HEK+rD}{^t2&kCN4&MfcCNeoumq7hLGb5E<_#|>Z?_!L$HwIptuumqD%AUye?JkSWHux< z1y(OHdTe|p;;O>SN~Z$E;SM|Ly0$+b;a5lfqDiB=g78Eu87S6q0d(#$)m0Xprzja^ zT=in3AYcUQ!(-KR8%&#GwDjvGG`o+~d2g%WaMx5ZM8I}++(8x5A%L;6sEE_`5hL|2 zzWs<$@t{nWcAy=ytbyHn^k^v9I_IKc8~au@xXv;Vvoj;xKGg9xP>d%hH^9P&AKF8< zV7^|(asg%?IE>RIF)fzizCP&G>uB52pu{Xq(5x~t7(*m|08VfO;7o2e0FH;$Fh$2 zqhsAdFCL63YhVYbC3~>$Cma`zV|t$&R0pa9p~yEdEa1<0z45y-&w|Zd>@i&*dFh)G zxmRh%&maG*=Bq`{JrnEzTN6y0QxT7RHD5pWJNo5a2rc(_U7+bKqCE}IF|>*QSeJGZ zi6?;r{!@$*(}u5%SArCawh0p%sX$ z$ebvr42rC#$0D$j>IkD{p0(#~=F(H(>}Y+^8MJ@AYHC9=b+s;9mtGc%FrSxn%f3>_ z48=}$Fu~7K0iMtpNO+tHFu3n>Fn?5pw8wY{lX@-E9h=mnurL}Uw`Vs_QoZ3Ay)uwO zLsDwX5r{u9@?=Ys7%yCTLNvA=JC@uC9)Z1c$gWnm)v+y#Y ze?3lexj%f`Ey`)YCn8Q5GsNOUHV0{U{stKEv71#BFtBD&u35Qq{$MmNAtvdSNR!J! z4*jNvK<1vmwi96wU>t|?6y{_Tv(=U7+XE?}i|`DST?DiF)z}C%beFm(7N7dWmdyW4 z6N~D1z2w~*4_G0FdF7`m>@Y^OKphOcrh)mZ1P8e@jOvJX)`g>K&jV>*@m zKBbwI*ZW369~ar30CP3nl+X#j{s@xELq2=s03O+=WB)|?mL_G zj9X)nzlQE)on)V?Nv1PRJ~$qqb3kj%B-Jm=2@}UTqo+^EhliK*C&pt^(w*rtB3%@g z`Y11X*QF1}i6>j5Jj=rDsWq=0zC7NghVtE`;CXNBTKYd+I7jA#L8mbkQ#8vJqv^%> zs>ddp7egD0AmRa2&9g7BYT+d=9M0~RhRb#S=VXyWvS!28Gh-+$(H}AmFmq+~pxS3| zLdwqT5>!a|Q8ubILp}K~_@QzIZmV^O>KLy@rG{P!_qbBbfJ8FXnH58xY&OQvaNXX* z93BT=7DE#6Y4wqb>pW7zv|2Fri?{ghps5B)|9GTqy8 z)5wc}dSR<&__5EBg@uj>W7@R9n;r6xoMPiA*^(J2_&p=qsIx)7$JWdu3CC*IpM z_5o_eyDiRzst@yTfYC`U4pyQ143Er10WhhiSfLIfrf&{=V7?6+#2KYP@PR%Tx7?nR z#gMKTXhvtwLFV4TcUxUB!Q4^)7K?sIWflBk9B zow{X^oH}4JUOp_?J8B+9;xJ`4WD^N4-xpmqQ>nt8{yeiob4l_Nkd*8T{;ZwONpF75 zt%qYBef%~z2L3U${$aI&q~3gKN3(H`9{AmNbVPkosV&9(pP8C>csmESOD_(k^XPc> zz2KPLd!%M!1|k=y3G5|+tWM*S4i-LpY}?b(@MIX)gDaJ1)C&4&ms;p)I1Kf73~&83 z%*1d0Rl9ulM93n5(OufnQWKxN&J8E5=}WKtqR$AAgcf@d z9>)E2(Xv2u(=yaiq`$@;QltCfev&61zHc_am?tjgezG9q92vwc7+VVnr8dC*QB<@M z%^2ArtJQ0R-dSotVDdV+#slfowsXET&>a58C5$cP3~sL_`77pvZnJsL7eNS4ZeIp2 z2suoHXmQDTOA zmj_AHEHAAG)qLWX#-Au4!dN0_axV+XhqDSVk96NQ4Hbij7?U0l`gzqjz$s<(Y8So)gwSK=S`0#r9Hicp6WT zmG~T>P?}`sGCD^$9(G+hW|MK5K^5fuJ!Y79&dmj!1&ph8Z?$#vH&&7QLR-+QQaMi=dN61%rtmO`goU0|eHi$pG}1M$L`og@0Y z@qmI`V3A?OneVnkZpRe zr0u-q1fZZxm9S*J!+{W-_x0nidwR2QA>9!bn#2v=O(G6_vt7K<9~RNhWS2~CbKOe% zE>_@|w9X;BvY>Lf43apjAj18(xl!iFe$ELfv)pdJ0~7}KKz1_{thsyvtUMqHGWiL> ziZ3=G|B}>0meil!5mGvX0bsW@hRj@53sb@iUWqYdSB~f@s{p^;6%*xsYHi@Lpm^+$ z6H070__F*7C&MSc= zesaAw>&Rg%tNfy~jSuZ;?PUru+DBtFt+ zSt&MzB#mlq=3N!A%#>Cziqe#I`YO8V_g#Pr%h=6E*+7w~+tn|rgSYQnZZYe{}aInmO(Ka@F6HpX@?lMQd zPQK8JC-1BSp7zG^Y-Rl}++C-u2xCyajF|Ii98<86TGX>kTKUv2{g;%!{AIBpToMT! z{u0X3NJqsn0@03ns2(Z%dufzKXA|l%lw<*u0Y$qXG}2W2|8DXqEO{j@8o@5fP=_#0 z;JhYkgdL-T+lA2#vk+_bFF4sNaBcFg&RYELBjw&JLnuC+xS7JA_gFa7L$&4 zorJ6ws}CUP=l1?HTc;?pI@SSw<>*6(Z)%OpC(tICx>Elsl*9GE^Wp;B*vF#>ug0+7 z8$6_Y5b$>~osH1Bu%i-F5+1GFm1i1R}qpcRm|B9~Ig&W*m zr>ntek|&&r@xN&piSb#k=;lBvVuVYKdwY9*{o3szHlNhHf>Jj2#4}nR4WtL&c`yxK zN;l9P$_Lj*Zk-6anYMG&c%_`CdXfh7tsw7y3)TeQlD#*Cx!t==DYAZ=E0~GJYC)Mj zHt0iXe9Sxz=*iTa(w-+^ywe;(hRLlFco+sqeA@Vs@99hgn3M=QJq?mU12_q1r1H}` z&857C$on!elLSw%7`+Tm=3{X}i75N6^@4mgj~{(?&x0fDCwaD7Q5FRq0ZW2wI?SwF zWv)adJ(ig1$0UaD+y?6KB&9PY95)=s$gT~KWa2U(X1^y|8HD7E4A`D|@7MAbq33_6&+AKgyr&cI5 zzq-sI5=}AAK;(xbAR!i4_c}hF@W2#>MNl7z@j~vWCB~}?dYxD((5+zyQ~w?bj){?{ z*HSIjb019c>mb#dZ=bK}SX)xkld}<3?l`9f_GE>KG6D)O-!&O@lX+r)~fl23%l-t_%2`6v1Z5eg;{m#;*Wh#j zkp#OxW+w+k1xP%SQu}1eyYgDl>f0tJ`U-?EmTm@_VY+ zUN1LIa>XX~@>FRZ2G67iSlU8;>1CsczHjdTWDxm7>+oZq?XL<#mYF?tK%3O{wg#2& zIQz+W12S=-*l4Ua1&HXx*S3KPdLgcQ9anMypvl;>ybMuj@8io#M83nt1Hen5hH%wN z@Ats-(Nk2%>ytU!n@g53LluN<%dONwEF;+=a;Z5cAn0ASaC(zL#ld>APF;( zkL(UcPg-A4<>}{eo(Uyo0i!T>HYBVvji0t$86YNtaJ}>u=6m0zV5ma;JFH$kX>5u{ z-UHD$=|IC*uXuCcdtVcUBlG!Pn3>b+-Vq_?v+E(ke?_1jPm&<<==$?Nc5#kSMlnV+ zZdl0aKXb`MO*%`7UThjz!!L34k8W8VxJbHWoiU(fUY9Cn#1l=OitEp*(n^Jcf}@<1 z%+LR{!>nNqskJG!y#cJaA#kf<=+nU(}|D`SLft=vU;&*#@ zv>xlf+gv*DJHs?7YRb65RF`V0*reVYM8kNu0S_7pve9TpVsy0+9TrHR8T&=XO5UP2 z;5!{jA&~Dx9G9znOPCZQTt!mCV;9|Q1&B6lqbzC!J}IH$C;b3VCucBZ^a(Ft_lMNDAhH*kH1#R+NTQ$Dcu#R%lg^83}+wLL13#^cj zlL#;~<%ml;2nsV5HQUF>R$7iC1!6lS$}02$=lidRcN>1Hvra-9ip4_2vt(%MPn zge+C{d*kNXG{vMDMkUaL7(BEAYW#<1-gIjRVSJOTwkfzM@cMgAPI(ypW{4mS+1)}? zt&nQqL_kM#bUFIZH3eRyDp@yg2zN$tV<~dfP}usW-;$ISL+2Q)njp!V2rOi>E1?#r z)u0HcV|QPSFVmBVusT7PJMDjs>{^8+*8BbXEQ?Rj(B;px8!$^;qmPqKGnsT4ENIABnLHGN z4)qlm@Y1#sMGY84e!H&44u4{f@iQs%;l5f(i@_u8 z*JlAc(f)*kywD}J%@(0y1{D{JA26W-(76#?!bqjcigH9OqEa*skCUJp*(f7?Gq7>k z{#KAFty(5C%~I|3J0@!nHQT=+kPp5aP zHB2*7*%U$xJ7+})EO5ExXDXDmH9t7qdOUSppjT91>1UDg#z~?s`FiPoC+qUP$#LG< zed8uj$&Hen@Q+~t2zocNmFipUE~6p0%#c9gXwzSZG(P%KceP25N3%!8te=Z^`IP$s zHA%K7+;IL{V?|!MeB*rkpF=LCjCn5hgiN42p$aMZ@cOu45bgJeRf0PXwY}*xx)L!I z=XP>#TeAxv$L6b62P(F6C5;+ZgG2|OFYYq$BEMp8TgokF*MB!stA2#6q=2NJuHk!5 z+Sb6D|C*%qWeLc7F#?^eSl=+O?W7mV#Rn4ti%X&E@E4!`+GE4GOUV--2<3Gd>3gtu zr*N^z=fcD;sCAh=h`P~*N@X>cDQlZI#PinXEZXuB?sIJ!f`*4$U9^)g_Gqfu%jXQ-F|FEMvg{lwrLj2>~Rf{A((HClA0vHH)SHKllX zS_>(NfDwke9``$%PkP!bivz&cK5MCo2%CV&M6W=C)`6*#I;vAt5O`5oKJrsiL+}e1_xt_~FTTwrD5ZBwQ-i8kg>?F$M@Dj$mhql#*$I;U_q}UGxUJ<&JXAy|gZEzQCxT%y98kzrVLi~{4N&8&e;XW^%MkBkj z>xmw2`8FIVGdvTT+_qUApN#<`=%cyj_~(`PZDoH=5?->;hq@Kb1-2jQcp>5!#(|EVNvYawe*Cth%abJQDRN^VRt)l~N8M zA_Y!zuKS2kH^80Q`B3~|@zpkW= zItiHrPh(XAZf?VSxcQg0p}sa=>M<7;HCS3F)_U0X$6Gxq<;M*9;RVi33t?@phi6Me zSOPBUSqfDt2j6e#!UpEFR$OU=4@aG-NBEGMieXl~+#{H` zA_#cPO^CRdh4AoBx8omd-jmt^Hz@N;}uDRWj z!bT@QaBy>(11Muot9^#yb}-MjTxrGHmOiJcgbRSxt16hrqkQgSMA5<}N^aWbVolIE zSh|J`@Ig3H0c*8cWcE`{h9m?Z!1VkySFHm#4bIDsBnuy^{4q6ZCth#1J#!Y^{6wb| z_IEG@f)GLjZx`qy)9`qUgUB~k_bg*KyCzoIB3D1{aU}75(e>C%BxSqELH^%RpFn47 z+E)&9ZOw4{#Bi0+H?ke*y7A}_cKu_PW$+1@ccqPl$NXOvO zx4Twmwr(+m%R@z?dNIeaZdA@ls#FVP4>?TFIa}4QL)qw8&$$KGAl}tPJ+nbciSXU+ z+?*5{S{G^z1ZO2Go~zb+-7=d!`?ca}Tkg%M+co-6z$6H#p`TA9(7RU~Q(T`6*0+a7 zSpDH3NX`Yj<{Li>g$#bVZ)30B{kNQz^qDE)=xrWogCv2MntFZi08n|0sJ7Fd0~?`?y^rw<2b7jd2I z#_4T#S1$YD+tC=9$_bi|E|awR#^a4M^lj2qF!ayAw!?*x((pWutKpcZ_A;;NGs}E7 zjDW(sPElS>c=+4nWK-ttq7p<5&GgAmxzP++nfad`DBe^*oy{+(X!0dq z4xoz0&)J1PORoIzowZQqSgg(g$B7iWV{hRtKIw%pEIpBx>gYR9y-fkyR}xR5MP09X zVolZe8-4SZS+j=z-6~m)g6Z+O-z~;kvgf;ECAZ*PG6_9U`~RPtXwk-9nlOA#c9kRO z88L9u-=taqe}xC0C z(ZmCcf6C_yWTJJuxFv`NG-;2(Z6YsKbH3^h$iGC-Uv0sz1VhngWgfi*sQ#%2D~r1v zoO?1XFj~(VaXs~sqea0W(%*zWTT7?+*)BHcz5KDO%|Eb@O@`FwinmTs^B2plq=As^ z5DnAvv_wB>u=otYe9daMp4U}pm(^y%RB<6sk0%a%Br|dTa?XXo(!akg8EJpd@bFl{ zc?}ZlzXZDIb%T}j#>~CCVHyqTjKmJ>`#58I8+Anc`r$4rw88Xw(oyc(`v*3Yu;%q6 zYaL)qH3VIv={y1=W=Un*6S4+$4;QMoQLC3~;@n_Jd&8gk#Iv6LBT?)5S7`LguQpsN zISc7y+cAtVDeOv5Pdgf$=va(I#RDr+=jJ?Fo~Y15KvZuI0KF@!!csKGIT!$A4Qf(< z89pl=zf73<-a+9>?+MWH#j6h{P$~$A*$ktd&>nNM9dItO&;0pgsRl)4&G8^>adxuw zwE`YhD4AOip@~8KrA7elx!(4vJ+~@*rS2>p0)sOH|XT&>3x!#M39|ROBU&v1)bHt#}XPw>3%`x|O)l{hN!5u~tt>H^|Nc zd&wgLWq^V0f&uQ0%Qoo(VENE}wl_D9{tXEdCry)kwIK&8ae(2enk1nV)^2Oo&7H|+ zr8jYzDIrV=Z3n@h2#xkdkx)8AyZ|+PyLMG6B{r?~FHNM)VO-J;(`>3erkfU5y$ba^ zxroj)oEWAd0zmPVEhiby#Tuc!QqhWSVil2RDz!7cO?Ag^H5rSC6cHMT^(bh%J5%H_ zn)2Jg^=bQ$t(#Bq4hsET@}7GPuP!K`S2uT!`)m>IwYSAm zuLu$vbirC#+sHhnoRrywjBAj(N=KoIpsWo9!ZHChvJ<|=0j9T;@5S=d1`&dWuHwnL zNS7O7S)jN1S}CmSl{|<;z`g<;70kR&frF>0pWH17i6s-??QO z&WyiA&~CJlc?9g#-ZN3+AEpjUjmj9?KAvZQvBYOL#fr*&u2qt7{N}*Pz^ffD2Z$Xw z03sSa6MK!pHdq1LS41mo$bUWgJH0ivX%My@Bg1o?I_LgM#Nu!Zp1WLA{>`-dI^K3* zV%tp!7nDfoJTmE$kng{pv0(ms0+ZZS>=-u*_UL-^6VV~YhXQ{itv0ua@b1}y6~QOG))$rsh;K=NXQcp)0K zAw*dOYMZUi+Nn*tS>J%^l)@BL!&{8G&C3G@bL`}~J~ne!ed8Adlsvg(w%%ao6FDLT-h!8H$KTwR(u8H#5{kr?!iJ$xBv z5A>k8sV3o}0}M716kbe*6X17K(*@Fgpkw|MfcF-M{6N`oO-ZIeSgVQ)h3lUnNz|A;QZUJ&bVwAc)J;39EHPMuFn7zm5+W=o&SV*I# z(`utDDcaL_K4Eo>vEQDB-I9@!ah|B{+px~VH$G37I@(ZD2(~+RpUSAustO@aV@=Yx zouNVd@FF5|U0YG^)?g!fU}Uq~lw5uzrg#1d82D&=k|iykfL5tZ)JO8hExLtbh>#*x zp9H6Ic<*)lQx7Jelr0KLc%F7+WaEN4)&HnM<8J6zYN~)Y#Vo(w08?LPj0B4K$P;MF2s?r37s!)Z(+C|z#0)R^%|0S+Vz$Ab^`FlQEHU!6z&d9+~-3sfimdVV9qebQ`Wg{W4}`nz90!x$Xv-XUaws!4tNDNp$8gqJarWgN)*% zV8hE%EnVglFB#P5uD>ZgmNm?-r0du>p*n?J@*poVE~!!#kD|Rf2Bqcwzc7q9v}EGf zR4?rFDTjlsXfRL)4#WcEburQ~DgOPHyK{&X$WX|@L|~P~nSit+a(VdB7|qm@l~~VUc||45}Z=;`EWZqGH!N(C(hwmsrXS zA8RZrA8KD6J79q6l>&%B=1rJpa@$wbhxf{+ERicgJUu?|AQx^n4oGK7deMklhOZp(mxsv>v9Cq z?mr`=?61-m*kjDWytX1#cgO&EE91`Jx+ zeT~j)XgCr*a%I2&;Y|l}*##coXB}*urX$k6Z9cOi_0tXhP;C2X%u6X_BbG#lx}eB1 zDUpK`T+>P08N{yK5pd#vf?jhghO2k30RB=Gfo}G^UqV%Y>o_3zy6&EtENtT6AYlPc zx7fqhe`6Gi_kjD4rM%pq?vNL@>ww*>y^S1`Z=)xB!V_RV7H@|xT4T7&^P2QL`opwH z{_2wXfhq#>YAi^7QwY=baw8&WITc2x=PQFv8ZfgF!kMd&4ZVqWBO%zX3YS?phzPFL zRUYM1M}pQ=L79it>8PwM4*?9Z1|%vZn3sjh9e#FO z0;)^eDNbYvWYOSPuL3{#pRlL+lh%RW#TgQ)wZ($GRgPtt-=2AAjO>N5O1G=h9|oX@ zy*LSFYcskCowWG=6RsO^8Jq&zLtd46p#an^=~hm`;BV2)rV*;>4fJ%*1q7kV*HAwf zZ0WO=w&e1_?pMW5@ATKSNdcDRVoEs#kNF9sx55Q7g6=)+)NXjZwP+QI!x`R(QE|K_&;pJi1f!nug| zLN*3|8+l5w)}O2JpW`f~cBKXI(57&}mpI`O%P+53$# zp1W&dAsp$6++>7-MXM9&Yrm^_*wBOZm0UR$$41eE7#B@82 z?5JTyYDHK9f2}`n^1q{bg_V?#sLBIX>Pj7hYB9l_sWm--M47jc{Lx9tgu&45IEYJG z%UsrPb#&8?GFVhguf_;ev;?4d78A~K_%c}0DYRDOyur2i;TIHl)2Fxx7Yy7Zm;zkQ z-pa)TQnr-1uxV!wd1pVv>y^MDiee9WN0GA9oP4Or5t!N)mgA&Z2sj!QhS%J4e#Sga z#(!oB+AVL+OwgH01Lz5#^0v5MvJ_Qns9~KyAqzuR<`g^LfH|~pm<;)v-cf#4AEu)B z2T~Kcp$Nc#N;2Z+=5FYp*Moy#mb)(qC?-uFVQ_P06(T|r1tO46b5I5ilHY}Lt;JYm z)RN0TSQuE28tei*r8JvtV&Omx$aAxrR{n*avE&qFS%NCCt`ivvYs>Dp8Xjpqd99sK zNJ^_!_U0>d2`7lach;z!{n*@h$Trsr3Vm7pr@d}fI*)&!oe6P{L)2`d;5jsI&#JDR z3d)&d^ClzVl?IeVH1(CWTc(dR+~F)N7~yNOAiOZN>^X2-QaUqeK*&9C-Y-7{PbC^0 z>1POa*s|3=+Ea`s%l4aZ4-G$|2!QS7LFwZE-;a;r%EPCi#)WB>yPCMl$&X?Onh1h*Yzz%%hEY$z_c7_ zl`Hl7aq*c8#sxt;vPp)pl~w|cdoX}fS(W-tJfIZ3hIG%R6p1MO`ku2a=TlQg!F@r7 zh|kr5a!vs*t%s|CWR5#d8n=YRuX}%{*3Fxea^SiZ>0UDv`(+tfAc6UtfO^wHGU{(7ROuv{;tRD4>C+l7 zSi>kB7omebWucoj#(eEVOJ);1$v?L$%&-%(d4-+-ZFG|iEm)UxZkF;y8(YoG&=GjW zvndQ&o{&ms#o#Islr(i$Rg=AXe!{tq=J5A|-B7`<=!&)-P#nZi4R^`B93oD&G`a#F z+rquTt^<0Lf4;6|oeIRHwEPO1Nm;PMh%7mZ*h!qPY<@97tFr~&VK5rx9Nngpx&#O9 zb(vHMzM`tc04{nz-4G`~7i_y?lsCtw0*~E^Jj*b~2*|bFL;+4W8SVeG{jBPqQ1nzK ziW~hf-fuT63VD1YU`&HcWeqK$UZc=)FtxQq*}hH>06Ub>qu^8x%{RrqE$*W9nWR`B zOg||e$P;u}$8Vc=M+bUpDn<7-zit4>3C3wQ9h{Sj8!{??`kXNq>J&y~w)rOomG0jh z_5c~0=jTlF8n+tFWp$>W53+Pta8=!;CG{02@g+>+x-If5JI7yY6d8vAhLO%F76=~` z=B&6XHcz8W#BG{V&N7YU5eF)vun9jrvru;&=m);MjBQAaEAGjFIUnnqt#BNzBOG$o zoy7^zn7^4eXWp8#p6Wp3p~1ruv%?_wJ*wBFzg5H>xg}6%R{z=wlf1-wzP!`;^I)RP z(I)|CUPB*Cg+6f;v=ueV#!onBK$CiwK;%8n5(BDRLZ!v=R!=DW`Eek>JZZ!Q@_Q4_ zEf{)QZ*mmfGf}|Oq=!^3o-g%~CsA}MtqdBDgk|njvcYyEpmOAqD-7iUnXp(4Ty^?= zMgPas`^M}wB^g_PcH7*%(oQ#$-TmKeEguykHI6R)Q5nA zz1Q<-2{BFJh<4-sXj*LcCjoRLa4BH$d^xM#iI z#?)HcC`|tQ&RL`b9&}bVf)9}1qd*GOe9)=vi1K|pa7?t#!bO*V*uQ(XZa$JYdYo@( zBRSch-FKnjW@tFv8VR>}{+KET4FY4R73wGKuG?B+1Sx4Pw?psRN%*W&@+*Ir1LGZ- zq3ejf`d3_j&yW0Fm>0P9CyH+N%4FjUKltu>h*6Q7GVxsagmD)S=H4)SU~=gy3}aotK=Y5rrehY_Ru4Kg9yExkkBl*M2ns4<&7gW57KBMwkCc^RBb|;Z z0=+2enXyYkM^w#t=ZqiWH_2S~G)LN=njY8~>dwk0gp3zs{-@bSjU-_-+9clgwT5Zd zWH|dMs}DIJY6~j~Oa6nCqd2CHk% zXPNM|rYM^Qsq^%L6_}H0y`V)m&*UyT0yMq&GHI@dm;}I&Mi2WlDRK~?9AJl-UoDU% zX<~PSReNr z=1vpJcL;Lf zmX1rs{4uA3p0E;^Cc~kkAwpamm#Y+6xX9HEpb)v9Tx)~))dFGnZ5-&SGI+OKmAJJF z%&c%a4SiV{bb2UWMg2Q6-a{uv8;uiUCa(G=@DArake56)NsIH3bg#J&9PzM!p5x@F zX;-T-b=5XYeJeYsc7DaVOcHn-H!~+312gJtG;P2=4XO#QhyR`h-E=yRgiDIm!7`e7 znBP&1T1fg+;FAq{{BY0r^rcdg;NO+%dNN3;rssCY$XmGRyUx{Vv{^JD6VGEszDLCa zbchlKwLSY8b5Vvoinn6xsYHSM12J4%$Qn!h&J$ulX=MzD8nFYU&shk&`r+WPLK2Yh z6SC7^AB)j;H^uyeojv%mCQR}DQan8Ae zz|gZtU%}JS(2Je8RnkG0gBWog`o+Oo_R;*xP#Ck0zv=xV)I6F>#wcx$@ZT}WrB}MVKDzTr) z#y$GP(TL^l|D0`?MtqK@31SP;RmcPpIZlI?hYmSAMdnUuB)zDkokFRM54`QJ`hO#S z9+LHIwhkw|kTG4b*qeI)frdn&1bP@r%sa6Erx(EQ^o3%eCR4Pjg4WnEC{=5arc;yB zB@a(lGWcF1s}(yv&%;Cs>q?qv#g ze^}ED6Bzqs)78~fk1O)lv=kxUf-O(xuipBac|dtG>1h^8sa>}w8gbh7)4(oBv6$5GQ{e6wDVO3f_?za2V zrGCw?wB2FcxzLiIM`;INApO$wGu?#@LWAMTt!i|V@wtjZin~Nl77U)R1xw>YZALeR z7Ms3TdR<$p27~Dv6LKAP@lXj72>8@Z*fA$604;G!u68YvOBJS8lCMUAt#vhV33PpT zu}sF?lf>g)bY z$N~7hxdqi6(hSQLH@N_yTD>?v9usSU+}I8?@@lFzaad1*Qrd6Vn3dNCgu0;j=tSkV*#EbxFeuUay2l&zTsZXvgiEEHvBi9m5Wh1= z*MTy`VjWejl@b%+Mjnih9!xT#Pe8|p-J@;1z_buOY6@v6&IV^g>iV|3Tl(-rycSF8 zQfDSBNthuW5n6?OIZ|cGd*Gj3y?Z@jPDW+IP9`K~w1gW2U@$kJ;~XUp)Luib_!X8S zn>%^1(;$%ZAQf@=k`w`_{Y#yvPoq2-?`oOT^Z6#!v8Fa?A0VX*vHTg#y~T6kVtYpc zAk~DXTw4R0?~Ll=Ww)1RrBLYd$jC4w!QfPkg;H`XJy6KEj&Z`kPOl`~AM8o@ecLD# zy!M{4XM59W?=o!#dj#Dh*KY0m(rOEsU!gSiT@H&9f&HwrC7W< z1myO?>%~$8+z4I6+IGngK@D%q}=ZS%73!llh!E6s-X(uqpsWRMU4FrhVMdIA^T!c|7Mc?)Y3k&6RyBUL%&K>%9?$u~9Zr=J(d2 z%wt$=q3VE|2jTMljATh|(@b|a7xPaSwKJ5=#a^qz=PG94YHfBI<2+|lNsc8`nVkdn~WKEjF zVo}r_%65&}U2ji6`+ zGKsmZCc4-x&Z=GJqt!^dX|%ZhMO&@(xg;SHJ$1&nv^lwPzI%bjv>to;Ar4|MgQ}pl zrpi&5B7E=W36PZmASHT|t|+%({U2hBZW2v>q8~Y-Y(OH)=xj&PROI`(9X;_9g@m2K zo|2Z<9JPUq_IX6j(q)`2jgjy+Dzyp=$Olgms}3vZ{a0p<+hMEE9^(o0t3pc%n~MIy zmE0oFGLa=%rPaW*bU{89H!U$^q}#uQ21@ni*_Rk)nO^&s3#p$18Dn$mrw_F?tnBUI z*Jn+`Ji_ zRgPPcUBcm3%h8+*pqdZ$RLnGxl6>KPT~x=g@RS;VFA3K7T9Kav6NnJgZaz3Dk=ay@ z1dwwdmn2^D-H}^F|Kjt;t`O{U_mTdz$IU|Wd{E4gU8C(`C8;}tlPu@{V`iFe7hko$HlD@>oG1pS>bj zC+vR9=x-cX1KMDM*fQO7&|C?KW521Qd{$86{+L~Bk71+h&HEV}aoLYENm;B;p!$Kl z9Qt8KrkIR&u*R=2$}=tJxu|3Y>$to)9({t_GOBU!m1MbcsU9oqv^U6Zf?8IOPO(|# zcc}9IN)7t3hbuD!|Ae?CzI0z{d3|p15RX2)by7;_q`{6Wq6#rt-ABrCCWgJ_0{fW( z#a95Wz~AyUK%s4u#_9(G$tE&NdZ#9Sg7|Twm*OsVSeb(&L43Pdkc!SsHweXfwpnr- zPL~BKuShB34Gzs41z2&H8zntyu3a(8)dxV4V}O|mY>!3rG+rb`{wJ#N!lRHRdlytp zE{$C0GA9Ifg@^YxTH3V9Cr&*+yNB0cR#kWn1oRE6Tcx!95& zVp=LecDa(c3@z>~Z5{gyRCP&9*F||CJzcyNtZ0(X2~fVVfrsNPbY2j@d3T^}aJN>#b4qNbf(W-%9orv#Khu&Ns% zm{c1=Wr6@8u@*MCQ(+RMtnMI;m3So@bj8h$1`&&dS&Fg8f*yiWBk=Ql#f!19p*dJ! z7PnCq%0K^h7xgOis*Ur`7hsV2MIP8tZ*(AV$Xe=W53ck3GSvWf?r&x>f-QY|g@GFq zj8)?jF6$sDfdj+d`N~G?h~l9(EI7NDlFwIq5(4qM7qD~$rt9=;k?Lc^(C9Gq55>(r zB^UIkBx4{P7TqQ*?Ag*<&@jlt1giR#ybAr{# z{t~d3nXP#%X|4FQZqcsNhu~ujjyu7HYMPJs+nex_b<~wZ+w9H)%E#-)(JC)j=!bK- zNao_}VWLutb9kH#rAh<;Rz)!Oi83g%Cy>$(B{7lOJoM$rSNyC)T$$rUq~XaWoa+CP zS|P4RArM(H(OSa>zJ%DJ&7>Xq1LfJ_o1LRtwqkeEz@fILg%Nc+DKf1=Vnx71vSFeX zlz>a?Qsq@=ekZ;{f9?WdB+$cVA##>-jjX=;9tH3uK#P)b0}h9vN4Pni z9e7BoTWlQqQNMMZr$2!yj@u3BEEKl72Ea6nv z&KM>)~BFGk8TrGS;}JA=5w|gjiVb z1G0S!EdLxEKzy`uL*^~IT^bDCx|7Ju_{Z8|eJdS2gbtymet~P#D*k~zjtTW@#Zqt2RXR}DbH8)sEkR8lVSSnm zw6543)ZONCVW^{ty)B{_%&;C&m7j3(cPgk#?JC(Bcd`n>0yVkSXQoHVgj-*_KTF_l zmsC`p5PfqFeyW&V;blZzC;62&svdkQEv%cW^5EU1E%^U&BV1qCwYC~1MBSp~njuz* zGcZL5(`O;;|Fz2XA0#ElJ|~M>ig)u1WU}tqZKgO3NmsbZb(FQ}fW=jznCUPwVuDw? zW4*WtaTAaYGnYEE*BJNq`(|_oGXiN*!$AJ0d=^RwxubOF^QA@4K1&GVX=u7BE@R}2 zfn!J*ooh_5|D6!&=7KVi*AVOhZIY}0b798N zisGPNx}MJ|rHe9O%996=S=^=T4x;}izL_R*(1KV~j&dI*;kfpctAKaFZ8_L+t4j#z z_0<6RA%RXFaqrXo~{6iJOhId(?LQ0O;|Y=K@h+EP4u3to_}k~<#xkg*uXwy ziBYSJwb!&2cYlGJ!h_ei{);URm7QRV!$-8apIm%m2wtYX3sVeYLI?y9y;a{$Q2>yA z9#{Dur{@UacOYq-3_Pm}-74=fTg=$xfIw*gdsosz;&XWn@4>_Eyq0;9BkQP<1o^2> zR^$Q}Nz8h^f-}Y4Be{K(l+2pH*=E0BAtS6A^Pq716 zf+W!{{0d?EmM?&UByx-T2plrI*2Zav##Ea3Y>J+zkh$P=GP~PH=$E^XZb(7$ZLAqP z9)rg}E^I17X9rBgFZU2oOfS<0ZzT*TM~N4@%Ln;v!HprACGY9J`u%aUO8MPlRt4`Q zdbU^vYvSN+_V}vxXK9Fj7*Yq!;r{Iq;Y%K zDZn@*bKdzSq*RMFiS|->Bl-Gjc?7uz-UNgu?GN#&anWOdiN0Yr@2zu^{IzvSNyLTn z&^)p1lRAGIpq(D*hCtEwIVl{c?eHFJUP~RB;1bqauWRLCWOFaHMw~ACMgp4L1x+!E zfg#7jsfOtPC(z>7veQMC;kTeuck`B_A@L3K=-ir%s(=%~YiFDog1co4kb3r4KFu&rU>HPSHX4Y0|Sqj__Ie6tw`-wvF_eaTmlEd z2U&c!+i9D7AfBBlpu-{V4M{LExhzqB&o@G)f5q-_mQ7c{%VZP}Vj|2AhLNm}iH{|z z={`D?YwEVfFu4@HPW`EBaqA{32_^4FVsMFj`yI5K&bN5cV6~J5Cf9`QOx+r@yfUOjGb9m*F%2 z=JFZ=yaHG#6SDL*Fl!LSFCJDn3+zq3KEllbA7$R)h7k&hxMmI!k3&~ZprtGeJ(hWC zK-6(!qpfB8gU@#>NySD)ZE^d+nJ6b!|+=`E4tBaIkmy;Mx<19XCqUT0UMFQJgnTR&^omMQ*{Sad zqE8fZt|BrpTDVCT<*&Y0&*lGbC`(io<-2h9P23P=I*X8!+yL1FHFNt}0DxSdr-O?V zuJ~Cv$wP-Y|E8%fNRQVesLn(afammV;eNI0M#ki)G*>%t91 znw>vB&IDDa?y$8|SbT)(8Z%+E;cf&*0kMnDyxKViQ$g-Gp3CUbmm3VU@hv)(F)BW? zTGq*Y3q*Xn1r_7et3`oi0zc6R3DgrIna5Hj0VqRO_d|}6vxp}1s4mIzMmcxpV8!O6 z{@%3tz%Z7VqgVimw4@JB^GEhio2b5>RQ5}k0{j?3B&RU4*FyI0`J@wDoLmSE^+Pu- zu~`^J!Oj+-P1>bi`rLt)1~ScZ2-&#C4+(aXD0y)hN71HvqGN33ZNwX%W-y)aF=B4tiNL+XMm zbbLfi6b;{qWX%<0q80Oq>we&-XR=d0vc9@$o^gHSWG+#JTB=PvGtyprK;2*qQ}Wv_ z_~PmiQpxWvxpxIa&u-J~hF3bf_V?(9<76mfa-BsKSRUv>FPK%%CDRKl>!=mGz{UBr z++Ca@Kcby!U)fAj0JNC78CzBVuVa+w4nU}ujl$V$Rv$Yvv=@q`k6E2~9_=NiFQ8gV zr#`dTMJ=|el=?X;emCF%Y}ou0=$kaMRjZg$`W zAribF(ezrv#-3L>;*FLH766RN3#6I8)G+OP}s#?%PaPmBgqP zveQQXDla)s2yR%N3r`p+dNw`y;FNyaU#rulN=S7FOqekbtsQQtb)9 zVBcV~yi~A9&oyIa8se-;YKcV&>WeS5by4NZ$c(ID$}OgAK7em|n;#0aXC|=Vc;Dy& zbwCL&$14o)_iP9 zh0R7Y4@gwh&UN2KxepV`KKeT4nnrzTt;FE%Wl@?&tFh7#unURxTYOzQZAOh#Oq zEhX*jF(cxZLTY3vr)J`X-7&Kv3#S4=33xr_#sx;*5o*B($d(vs-uxvj#4__+TyIe# z!)l6|yqhp0$!n>}d_sQtTxs-Mrv-aGQNgBBUzL>apA-$-U{5grw+AC7~Z#?avuE)Rf<#fH{T$QjeK>QN?NwxUxA5TjIMdLntrtL zDM!sEYj!Ieg#0jf>GCy-xjOZu`1^{ecxO@P!`iY~3R{g9Yhd(`wHukO{No@Jdrnw8 zTcfBR#qqA(x9<$;q6<03Pel@X0d;Z5iez7%P#(*dnw^zI2<8(0$*rmWQ#tNzxm`R7 z@KF5Ez!3(Fn>=Z$9nipb%q7HU>1$mP3h)(iqOEJ4tC`ISX89<&|M67_JNiE*B1?THRj*8jX5{7jePExc!*71iklCYBJdS=jLP$&AYsSpcKtt;uSI5 zDxX?~s5_$pLvC>cQDCyWQqLxA(~c*65Su){3gf?KrmGp|Rg9E*6X}YCTYXZ>ZPBwV zCxnPX(9OREIXtfLDJ<~UVe3M-^J8o>Ec=RZ&rbKjER676-|po2{++uD1lKZ_8l+)N z!bC?Gju!#dDNCMzfIA1*1hUNkE855uUJDj=g}lir>*LNTLNHUcbD}zbY+Zu~Fu4eEV z77ox(peSEy>K2+iQsAIRUAv7o(Z%Ib} z_t#6Xj%`RTb5}Dw`O(G>ZTEH?%Y*SPqi5I~*znP?bne}Nf z40#_`Jh)nMVTK&h7NH=&yZTp;@w8Jk;1*%_?Aiskwly?o;{7%Z)av(*Qf zOO%XfnoqKCJv%RVfRz*jwH-%l>I|D5j~y&c_sT-V9ZpR6QV;;Eq;W6L|8%1~ldD3u zKc{um_=M(NZ*>{ZiK-rNWA#b@#0S#3EL)2Sbdij!1iy3SSbJ{EYt);0qYcOr0AoXA zErWReU{oK4qzZ(}7_6HO1NnL&Y^xDY!O`1UuiL?_`jhd1rzjG@TpDibdU5F4w8Pc! zl;qk8cw;xRU*{z3Xv*C1j1_y_X9`G#2K+TFfM>Maf|FHWTxQH|R|u~hcA7$vf&_gM zlh5ZPEjVRs-*rdfHkRwmXLvl=^E%!k`F7rvuN8*nu-qV%vp1;Q7?`i1rdRA1-36Ok zhb4YmjGM%3Js>W_C1k>n3E_W|ecl(BcDLj>bsZgEVwB zi@I#ll*Sxq{Up$Fb!P<3RoG$cwmNw4V@@7_c-`>>Tu_A&F#6%b|C$lJMNk*A?wHzQ@KN*XbYEagqsrlmp{lmp{mruU{w*x4=QSPGby{28>g zP!1*|hX=2Y^Nycu;|hoEK>IjHS@~SzwP+%~C`z=&=>NFW^?TZXU;;OEZ3`R;H1k}d z*3(7n(hkKAa=m_N<1AN@p4TI@^7Y@Pp5;YBMkQHVz7qDPNWA}8Rc$ZPZiUZrTRU*B z>RfCt0DIB%sOnioA;|#@lTKsFx!Fs8X({#VF`yu`t_G`5_TxFq_yE?$8sD5izQaIq z!M)|5BDZ94%*F7mCx$Hoz4oyy&J4gQRs|du!D*3TyPgqTVChP*qOC1Zo{ZSL8`d@wpn1|{a#ikq+3vvhGBr?sD zR5Tih4k&O;+4Z#b*{Rw12vNMbQhinftnkr+>BrT|F&$q1tgi>4RyyJ-5!!cNB5a#k z96DQM9JPBtqWn1N^`Be=)WQ&o`kC8$1%CA~!G8jnObZcksa1fQTZfnGyJ1u~roMT( zfCV9<2G!{0V$vw>P9t^G6S7|}#JMb1dTy#Gf6eNd4y34O!2em;A4MG6a zKDl3KHd2%B-_c9xvIY%)7CoDCx_dbBhbk1Q^eYj>qYMbNPtCXs)jkqOg|&~}=H|vV z%xZW{@=za0pf{)NqrQO57xNn%QmE!(eADX}tkbIN-(O-_<_slMoMSC69X|L_1pn@M zv;$brTMoPrzCw&?Al?teK&~*rvc7U6J6rfm&GkHAKIsvHBO1R|4I9gCmyTT(!|QZi zV4MonIE7ud`V)!I({l(ThZmYw7FaKf#Cb-7g8w05Kn}D833)Da^nRvZY^uZ0M)Gnj z*wt7K%#V4gA&ypFz=aHl=?u)vXj)8=wkD=s`FIF`=(O>zBrMn62am3AMq3JhF-jP$ z(v_6qY)|N!;f5i_BS_F-L8H>NIV+Q&D2?C6!)ClX%VS5ger+wQn|vI6fWite_t3)E zg;N}Ux}T#x{crURNc`x1l$;a2xG-*r;62Ac-=xG?&UOqmS`9U4D?X!zZ?; zf&sta(;b9>|F!dkd8enWN*Jd{BU(IN3;$e)m;nam_S2K%V< zr60UrgmQ}Q+ed`q32OD7Jcm)IwIxBORMb|=ZbZ2|ep!8gaYot&!iBDV6AIm#HA%to z{++A*&Jj@Mct ztq3g@=oNT0%)fNrzQ~-==Pa8Gt-A@UVq71W6kYrAD>1F`;L>L&RUyzy+o{qw>P(QRV2{$jqOC+ew#`#Hw)jqNe}2@;HV8v82t3 z7DB!gh*twvgsSRtWcG^2XGOy@{9Z8sAVH_plt1o<27w3o_`?!BI(m^;^8L$M3wgfs zTr^?%Io?bVQU-(+L#@Mkul7%FAlXB#nu@}SLgV~0ycH3P$g6vV98h^ql*`d{*;NmA zz9iU~G7I8P6Ly0R6vHR<{5-He+bb zHAIro)=3w3pNjzq&^IKc z(y&Ls>1Cy)hQ;14tU8%h2K=_0+g+dx3xb!GQejtUTi<}G%Gl4-u8W{5JM| zArlR89z2tp_l3zreLLK63f<}TCKOUpO`@9bH{qQ2t zD-=SIW-1eo+FQEWg$lN}hEXdjGo{Fc&x|bLTK31T9cPgdxsJ9vB`)^na2@V0rB4ET zpVm`$rm>3ynv=j!0OK}*t0nj1o;0T74Cf8R1112t1sdV{T+jowQ~eke#*@*Qx1~!J z+b$+kPR40xm-WGUWo_om^C-bV=tnPZss)y!nba5`5?-%#x!Y|us5Znwgk>93!TGm z-7|C0-W9=1`2mm~?@xG8!3&2b@6>Z%Gj4hgANsrCdmbi(W?^f|R274z5$*dh3~IGJ zC=iVXjIaF6WdR zuBigbxABGOR%Kr?jpwyuLgjZpx+^u2Cf;tgW2hnbnME7X72kc8!OXJ2r};qSKdn^< z`)e(-4iW<7hbCFW*27AneUaw{XBr&s3V)k~D6_B2HAH`t>~E2EnM!A2!||M@zAoGs zpSW=*HehRD?i1x}4)R6-2Xrv;7bUqrX&Dt!Y!sL{wH~>ur?OWhEj`y(=xLgCvzdVB z73?t{Xi4>*GdmN3(I30Rmt-`E2#`hX2=w&Dcz^!~^hb6ctfxX~YNPr0pa4z7o!YYK`qx)>waM(!#Q5UMbt;LWiRK_-mH*%v!iz_%51#kSyXjkdw z^-sA?A$5Y$mx{22!%-P*2PG&agHqjrrYnc)NGVUJJL8-$s+D1VF3g7bB= zgg|OChc_4J-dqYG&sH1$N(MW4UPtiioBpGmR2LSsv(@<+k{fx$hk zk(JaDxt=P}{7(gK1CdEkWi+B%cC9wvsiiMRxs9k~m{7~|08^PbjS(=yL<1qDY329v z7f?g;e^aNwbI&i$Q$MuX^nJ&pbqHHZd}1>%&$KTf6d4oi09_Axu6hvLaENuAo4% z)8c#q_!(i3?i9j5*5s3(gfuO48sN6VI;!S4@fkdu5LET`LE2^6oc4=>30@yb-Qf$R z+#dCd`DDsPtFaC1+KJjr5Wbn;<_I70bpU{)X zs32m-_c~*jG+X+3Q;P5U0{B~$1~pf~CY??I##E+KPZMdzFgK_Bj`4*TU2q;Agwf7d zLO8SbyHLvJnu(g*OoEqfhH*bDYD~`#N%Q_@*Hq=joG9}g6s~_Q_trxtfsPJ4wlpK| z-IG`I6jbGdJ`(6R3B6K^Xj$Gv(&@5d!GMS9-YC^yS0=4K2chiJ`Q}2lgET=fd~U+R zGGpdxG07#G%Qk77X%)##`v+6YH2f5~Z+0;3vCugwo)om$yrOFWPT(jAx6vTvJwdl2 z3tP%rq~ntAZlj?&BJ1ICX0Lp3Nww#?MXNQB8q{MX;(==#r_)yN+P?oz8viD9RBUVw z2OiJ1N-oU81%*p!)mRazr1DjymC1(+7ZHJieWJ0Yop$w7tJ4_R{9&Z_E|9FQ$5|$- z2O-Di0Ds%@uI9=xMk%T_MtN}k9u9XN=xlVu3k~p*R2#LvQ3Kdaj^J}u29EB@(vG*K z5lL&xHNz9&>PQp@sm;QCR94l6zx#X8Be{*IaJrFk`K`_UQ)F*^pmRRDJtsXoLk{hU ztR#tWE{aCaB-YNb^UFm13jj6^vT${B-FKskn!bHL6-Og&t!2Nj@+~%$>fyq@% zA$(T?ij5&FV>?#3oNKexvZ;5@krlAtOTf*7rmN5-?od4$LcziHix{^!UuMbgE6~?$ zH21=~%3UaW2mOrf0|p?dF!h4h{3MgpLfJNbgXsOpBNL_Dnm7y|a5S>5cV*fU3w0q6 z;m(XR9X|?-KTPBheM7c<;8xZb$GjCoZ_lCn(C1NoeBe-xQzg4@OB3pk8p#5N627D5 z4!AUnN*Fp++}O@*3W98l!)ba8_Fd;4siW8=wQrEs$|M9Hq=G*r*?Zy&!6z%`wZNn= z%e9lZy;fG~v{$W*c>g;?zqefl__pmuaS%+^lae*lDGMgox?w zqa1M_oyhfcO3x}5Cgz5&*osp%FY!~ETkFRP7B3M{2P<>y<@->#@2_iEzrG{^Am`4^ z{a7R?H76-p68}#i^%=Ex(Kf6W9_1PyROroki+2XCELI``bHyq^cyQBLE%Hb+FoQmu zn$IO|WvH0@K|(#P9RHV;1Z6RRe)n5oe#YD#Kd}HtO$fe35-G@R2ASqTl{Hw*2rci~ zx9P%3(8Piq_afR?88~S@zu-$1)HEvu+5!1;92PKhtpBe078C3NFb(Ui*n=y}tC^px z;?RP{x7aovs(T;V#{AiKyOX+O12+dcivrOwB#7rjL)pxlsjIqUm8paM>#d6V z*wWUOwrj+fKN5@Zc-vejBcnDr21{ZmX|&jbT=sOy3?IG-dXIQ%lBcB4cu`p+!|s-D z7?aOM%`bMar^>8iLi4nmAZ}l3jSuU%c^VVp(CcMt{^FKE zaP!+PW-vG`R~Heshj0*t@bb;rICm!2au`-LTR?WN@)$CT7hrmP@rbNqlEEBwX-g=u zsFnHm>nbX$!d8L^jZEnF&$YGLPK$-z#^rrCUrG6LYI$(D{>K9PxJNFdz4}3R@pmJk zdLprHy9z+8->uFwWyt>Cn;EMV%J)179e~IenzugNu|;QBOo|2|cz&lK=I6%>Ugc~z zmi}_ZQP5K=P|>$)QAITy3d37uAB2NLJQ{rVIOk?9h zSwKeXnf@gO8~^pVY&;p{mP=En5jQ?XDg>SaAMsZH8!Ld`>JMMA3d6V(b$J$*Ngvi> zoeWzWkF828Yb-Eg4W}S_M_}1{sXI2gI^+P1@*te|Gv6h|!#UGO_lWRoBL^(?&3Cp{ z^vwjm)v2;w&B13-X;E z-#PS8_g9;x9;K=R^-_=6%&0&6Dx2yeFZ+&B-yvf9E7KrQ(djSH6{#pHJ(H}O@FHwi zEV6v1>)l|!1Sy8({52L3A6?ze&FGkgAo{*bzx%%)RIZ zbme#|3R1r_r062)eU{t`VEWrTQ}4dJU%kkjx>+pDGN zVVJ*{>z!0farufkQLRyWQWZHMr;^2*hs&UP`FB>i86s2(oHWPXtz``tTK3e!T4MHf zigHzzmCFtDy|Fay*9t$>TuT?J+BM%pDOO3g%VCNHF{0|SVTu8FI<(P+LB()a->}@n zvXVegUa3|qmQN{D8V1xW0q$Lj;+Fxzqi7RNcNm^*L(@g>MVZW>Luz z$amcro)!Wu4};0p$KQA=vkVA5(YK;%XTDWKZ7#mEfy>W?-0X_9I**Kqi zvfrVm`Iizx_NxJP@SlY9SCY32IxT#dGTR=ht)7!fU-UMP9mLZvg7l}*rhj?xD;h@& z*?6<*VT92aTtTrN1gKMK%EQ3haf_O_n^1mfETAmeAc%NM39+*2ze9}Q* zlSNu*;vsFb|9-yWUno;T7`GdIY<`cr>4z@%nizT_<}?kgi3mli99Lr0me6N;WpyK` z*``R(*H>2SqPrBq)GFKuMId<)<+v6VF49*&cYp_ocLWp2L}o@`ePVfnaNZBQE;dyS ze0CwmyJB#~xf%C zS#G~YTFQGvW~-8l5aTt9peb?Z7PhQ!{O|U}<`2u@4SpWK6Bt7qqLIt%)e;hsxn9zT zKj~OL+6^-GYYZ$uMS^_?KZgGyZPHnGIlXfYM&;k+*v8SjB}+TUZX`@)hnw*Shx$Xu zwb0$U{v$Rm9=fpPW4HNM2u0bIx1ESXB4nuQGEqxnDv1H(W6ESgM7kzp7=;h6QcwA5 zE|YXaU5s3AIEX(_2)DgB_4z$JIAUNi+6#6Rh*ttQ^n7pW+NhCX7ES!%arU%< zIXf7ERi%5lB(p{k!X(`=S-u74wPElI>WovV@*4vgf(5Om>K)QrFGV}vQ0wd0_!03b zCO3oJPSfa;9!S4KS%}f~g($8)4l&yXsEK6#6Ogn2!nqOxUTGQ+-{sPYnQPRSfAq^5 zr2+mHV)vpcAQ)7xs_597jHEReRby!wuBjtyk?*w&wY%@wG%k3)vQ3e{u4axiG>P?R zcTgA8a%IrDW42$JP#DbStF%%UkrBb^TDU}xvYL1$-lowhV=@9sfuwEQQd0I_rfZw4 zb^)0mZD8rgA@1Q^Ig0%I1aY2odcX0{9rkjU<{yx@e+N+6-k`$cPP?jBNXw^4q{!$k zeX{wBi`lqEZZx*TJ;3N%v_=}VXax1Zrc)nYCN16_zWfwr@o3X^deMgx8bO2wwqr!H zjJ&-Ounuo7&y?e=ZdxDMxk02Cfm61!or zj_t^*H^!*B_Z}Rd6fZ_V!y6J-tQoUyIz+)BdQb=(@7AMgy|2D6R?$Y5;lO=Ld|>3| zwTHZV3FsFl1Nf=fxbL8eW`^N|S0;J2e}j4y8Sk5gE~)bB}}{l&=b61Lf^~^<$gxUg%!f#9aKnvI-}oItjEK25{-)5 z_OY-*w|L_h%Ak+KCT5&2)=(^nR+LDj4m_^fw$J1(at6sgsB`Ub_1D<*731AA*>5ywew$$xzYr0&#Y@z6tx(smV>0f>AyOD_@-N}18 z-oOVPjUqGe0OVu@=L@g1HPIVPI#X|^Y)YeaGuqt>S)6K*bk`WAiaK(IWC{RMT+aUL z058T-PlWCJW&a)YGfWMGu_01E6WKR3~*i$ zg+A-45Sywo!}nGkzIwDjyo=JjQL}{~@TDE5+s3#ivxxzWcL7x>Q1$ecv&Kut^go4? zsnyjFQe#7XJ&qnczj~9tJ_Z`^Q5ZTJy^rx?6)`NdN4C2R&fYQoAvr+K0YIp3^$(M& z!P^e;T}uD)8?HKDFlmwjBIdL?CAG^t1~8fSf%6q_&=mgny@P=JjinfHWieg7w6Cy` z@Q9dS9_&=%@(80xS4vcw9^F%j_x9iWbu5)3*S88h)XBI%aNLngecyKwaSk zD)IvW*KL&XsIU;dvIw30kXp0Z<7mva&_#@S2J1KGD&?;zNbqxqYgMZL>CJ7|9%qz) zOd!6Qlx};wj^e6;kLf8W0-v|^TKf{IoG=@W*r!_D#vHAXv7v$}f)bp>v$$;joNui4 zSG@Qcv-ST^fHDL>eG#)s3;kB+Mzkt?s-mle22a;TtE!8|wJCV^3wD{V?k%I2XQO;? z!6<|i_)?)c-HyHH+O#91rBp2mgTC~&kOj^KAk#D=z%G4b4YIrYq={iMtMFq9*&l zyC4Q{60M0l2Pr6)!5a6K3G)0=!#^1Y_yUR!HNRELtuHPuSHcSzlPzPa!Z_`- zeIbU!MHJ4?wj_7Rp8GP_bkxM$#=qHtPGy#B2}-h|w1)M5N+G^|F=`4hs4)Na>j?iTA6*m%3J~ zJdrwhn|xkHAR}Q%9Vqla7txh?t<>mZj2rlK)i-8aZ)KWgdRWaexbNJJ3_JLQ(#uT@ zn2jjU1N9VkAu`L*cJVuX`7|&AN~OIdf=*jpiDyzYY`YE?YEb-)B_SlJ6c3x&_hEtvR|`sl}{cf;=Glr0|UY8H46q%~>nT2>=ZfwzT=$izy~WB4ir1 zFK_$6#&JGmpN6YF{G}8;LbBiU_e(74B7AD;PQ3#VMWeYp8YNUm346*X(*QpvBNlWF z86u-J()hzh(yliN=N8Y7<3BCs>+;lp(<*GV+3~I0+Lg=6n%DA)UbX+fl~G5x`nYfh z1e}6)Jpsj|fML!yme6?KDBf6As_Zz}%o%5JcCs9Jzq*jI=2S&E@Ir0^O_a&Eh>3|* z!`h{~Hl%kN+z~-9_g$u;pR7-i)6mggo*|5zF!S+?mD>mG4l*+kuv7U_SG8KK*K&qbTP1u>Bcy-I4Q(MSHnU@)x6yIDiCPbPT`lgCX-1h|m+bzR|}? zR_}387h>c9P*$H>nAsgQs*DXoZMzpk-f8kkK5z1mgi&`06L6Tn_zHeCTYLz zv)5Z=(m#(oWFLrJpa2;5&=Abt4RH=bnIDh^bL02nbCZlbF~f`}vnXkyV|SI!ZaRUr zcY5v@gV{B*E}#h=qi(p6A&?W=Pfg2bc={YCqp%DpL2yN09iflH5*okREs(vha~?~x z30W_U$TU+y^&#Uy!EwmZ>Ed308vZk zOAHvXQNDZ|4i=UB~X=Tkw0jzPj+})NFfN_Y0x0D2eN`_EU4irTwVutH{o14>7 zmh6Ryq3xIzc}p8NLU%z0NWF$$?l+n@A24$`L^90O1r)}g+t}aw{}5eu2-J3p_l7r; z#^VR`3ZBzt3q-I&EaGRx29iE+Ao>RnPQ(sczC@E<2ssQJJ8R#K5M=Xbo%W?IuaohZ zAYk%vXr@4hgOs7}nPFG_X?_bOHC>ee;6AeZ$i4S;V5n6okAQ8e^t--~LfgBNP4vqyoDp1oPd@RKo;* z(pD?qq#$kZc8;nu<~n*_2n0sQaGoqsK0}O}*af|+G%JZVjm&u^7K7KGf(eOqVcjMN zvo%x$d0X+GQiGcd<|RbHSx|?#8(e!iFhJFHL0l~ZHP5e)cbu0SMpF_5^>Qoc+$ZaO z*z%-s-;Vv=jT}wr0&-?XA-7jtPg%L(xT$3j&;w2TocOS1g(Vf@RJrfHDFD^e)q} z{bv^;X$G7oNhNXP-e;E=zzaG)iW6m{ITT^Q@x)unJg!Dm6ND>R@CkBxgMLk?Tw-HD zLhGkjm@Qt{H5GZyne}pb(fJf2o%pr{|2Fm6(AI~{gpJ^60JS}>$eWS@U+(#4K#nW> z)5?1NoGIMzDvW*Kpv;qWp)qh8Wb}Navxp{A3(_H6gF0-kLgi+oEIJqD%}|tE!uM;t z%<_2USTJE3K1pZuNC8!y+5rJA4cmNm1WWu0^CfO1?|Dnzq7bQ|iM`+H2oPa@bW>x6 zt`eEQLq|&!EK;l6;eSWGY?6wSfe1V)82^m$n}l&eXJ6mXDJ|PW)(NQW12rCw^$a!e zXDAe-qKHo)YC*k>80+Ch9=*1CFsPfUcjXtDERYybYT-sJ=Xm%Wf3p&{MY=~h>LGVT zP8-`Z>tw^#!BKEu-`cn3cBW}9-IM-b*-~&ZR&0{md}8g3C(J3HyS7Uw=VjZht4vN~ zIlrtgA6BsvuL@%PTCdP9HC;mCs3dFv<3L@eLoX)^gn)|Az5TNq%@#sId_Hh%3b2Pb zwSH8vIeE`8@`y48p1UmBQK@Gw^i&`2d`Yo4J=KykGfHELXx+i#V9K(Jw7hFsp;xC~ zp~B0}o2hL}ZG^`p*Lyq-DBK|fdeU0tqb3`2w)B+*2}KZ-5v&s}33k$y@!%R?E=^Oo zDy6X_TYKO1LOdaL{1ppPmCRVu_8bTM{eany=0CE`d$%xN{3;pd#WxDGy3nA)`+tzV zDDh2?X6q@2i@RL?w$@y>O_~f82?mwqu;iI?eaD{xL_uNB8F&9z$R30^AZ#|+LPYsn zzBDEOuiGU!L2iYNU&$JpHpr12ZHTKTasPTTOLm->%%^_{tji;mA^L4(x>K@v%K$ye z#}?-dg9S{(tHWl4`}N<4U7B-hJSrEI6PEJykc~7je{4?cxeHgg&(3f)BOP| zigQzsMTQDH?>b`UOGTw1G0=~{l5mR;8~qVEIeKM>3O0Cu-@IFyJQ*jCWwP%M^RbO> zf)ZRur6zMP_jqFaVJ7tPYUkf!Oyf2y4GAKMZ3;AYx?!v1cAcY+^!0B|sP{~GhA-*d zSU@B3ASMQ3w~K5@M^Mp{Zmemkr#a#e9&%W{M6mbNb($MkddO7Z6gq|YQ%*@rz3JXZ zP-oT4p(wHF#1TE%q&f{1En2hJc@RJ$L_})kn=(!Og|6U7xX`PkabsF2*SJ;bHMm%< zPxn9Sk3ftv11IOrhI5+eTY#I(%#x~Tq1}k$omy`Pr&(kT8Q!9IMLpU`v^Db)&NFvz zqs(qBvcYV9yTuUEJ^?(suxV1RZ2vMMQMEulJlE)T8n>xZQ?xy*{9<2u>3ZT@wjKxO zh0OQeivn24d0xvE9P-~d{Go!ho6!e=k_d#gUzr$QljD@p!8ax#^mT26zRHwv0z9Mu z4LuelTy#{{AL+k63q?%ZodmVm$w7`2WehDy>K&eoCnz8gzhm>Jcx&{>x*>?;f@QM zX{^gfEI*rWpRfk%pFP2cz4VGv^iqtTrx6>rQ_#!99!Ds6p&q!_c7Xp_C-#}>@ibA} zQp*cs{=>vi^2j$Q&2+HZH^gUV1m9Fkw-L!CDOaJ}O=2_JJJ)Z< zo~q3W8Q&hUzuZteQk&(*$LIo{jhShDxM|E_5gMw1Cu6<-8cJX(<;0(!Jny8YRF<>%1W98`R)6ydp#QilHY;0u@U#r4oyoj4o z_!c7oX^CLGhI_kbpEanK{!Z|EhX)XmK_C#}#8JFp}6Q({O=D~_B+n?|53MpfhtC~ky z8B@UAr0$@{9J$`#L2$|CrizPULa1Vg#s)_VcuKl^=%V}|cyfgqflniVS{_=J#Ii=I zEo=Cv7|`rZbnVIKL-hwCPmkDsq?9!9bU6o>2D5cO$$Y;JfZO2BnO*_ypICW|eAR%9 zrOq@gKh^Wz;jhT_O)bA^misz`J83EnB1GXY*hoIUD0D1fegD=u>8vayN7Jy)yJU{% z3AE#rF36^bPWjONmsh&hTgy~E?N0fA3Tth8A5{H3Y_$t7jUq94k2`E6pn6#M(@^F)(_;YDlW#lyr@FfR?e=l3Wco)t#E@`lxIX zKJgM_*Vtq~!!_|gb>V=?ZuHCv-=Ud&b6~`L;XMha!MHhc;p;U5>f_HT03vvgY&Gc( zen(!h2|rutTAeC3i$In{I~nukvcM^I_X~66kE%qw&*U#C7m(}3RsP6}h; z-^FOGS%tbMO@Bs@i+tFT2hT{6Fu9xMfP`$tX8!N!$QiF~BT1xwW7bH6frL^}Gh*cA)nK4S6ogA)05RXFSbaB{cRfOgBqIw3IzA9yxW z)4|8<(!?qG3VA7BNrmHGsP{2IUj-~*cb<>*&cTp5;HXF$n!bV;V06zIlab${ge)E$cD$49jK%Jp4c2pd|0SBmltYXFwnNcKpwsFO=2SjVP z04L@}UAr0n-yNw=CN5btu@bpe75S4MDWo_;DgdlxbEp5X9%ovO8r@(trzA=E37{)+ zrnOhkhx3}7@3hUG;&EjKLTChkVBu@bU+R;zp^z~}PTDBq_Pu^P3oUB9k6kC}i;C4t zk5u!RI`$kS(Tzd}I2(e_k&;V~SV8P>EwoeZhwUGB?)>CYXKEg34{SW*C2pEh>#8Y zsNFR^u1T}xSyqNbIuX$xNmr3P$&_knkm^o_ej} zZme&i1ZeAYc#lfRrdYY@+XaYf+{G#E%DJOG#*Hzp4bFg=>Ag-SBJM~(zWCb z`nb1fxTHUO&*`U*%3dCNI^V@#lE9EpR9Tit)p-qdeXjedBz)(yMlVOyyaX?aYLhFm z6~AnycotW;^G(TH=b)GpsP-C|8q66ZSADSb6K;0`=5`EcOQfSws_;hU_$ z6_yBE^$mk3AwJ6)fbfR8?A%YP&EW$yZx+NpYE{32Kf>+{VK+~{z_g5;dHE-ALA9-m zq8aSAMvsVn_2MV^$U;Zj^@Ya|D0KCv=GrFpaZ)>w>!>_1U`G}w*fL@Zq>RRE(}J|R z;AV1D3%}G~NR+`&Qfji~G-o@7TedhfQrXRcHfyoj*9=QA%()9otznzs5|HA!XaHr6 z-AR`x)L&_#+d%a11KPp6#AwQD=)($KS@pz@kPh}R02@WVET59*YpPrM|9^x;El1kp zYx;<~k1>9hmX6S=P;qWL_F5JFxaC^=&vHm_iMN$p=|c68ZtRO96#f8GioPOnB=X-= zU!MUT3GJBMT8ku{zyN=`cs+4_408Kdi;8;L{a$UMy@Tkx^d*_FpWx2?%^uF@vpnOY z*s4E&eCc=wVP>Gq0*t;94>&7cxe_4ltaUD;R?@}q+iQ=M<&RO2lR7?ifEa2wm_5NJ z%+uY4v<@lXHyYB9c7v1nyN(EZ79k5*!Y!b!!4vHO7bbd~=K`T|XQ>h5^%JbtI3A=B z9JrJozC}>0Y8oBl^}6g|dn33-uZuUe9H!^>GE7Q`OSsP&#*MOepz`j)0E+7K33iu1 z9TvmnI1&NmGQ!**bDhAEO%6LF9-{Jb4VfbQeDk~B@Oe9!$@^QjF?&HD37$5v!Zp_G zQMW(^FY)YEfVkYW0x05VDVS5}uU7RO9K{<9w{%lpTU;5xaD*^BOB3^|I~JP+S!tdr ztl`Mb#X5NFcu;I?SWUAj@m_ey&Pfhm6u!3f;i0?H?1j;PQer|z=jarBSk3Ff@!7oS zWHc0muCPz5%E}Y-NWe?KIo9R?)=5iaF_zlS*@D}ZgPf@1P(q?cUMo(F@Iq7<2)y7! zxQ8CGK1&{Chi=wf&KFxQb$cg5MwMmf>^;wEe{9Bhr4Qw!rS+6&ME1S5W5Y+{T_fpa zi=(A-IXjZ5YM8IyD(-(I`^IcG2VRJ}H=#vF)1s_2Wiz`Y`yg69Zxstp`fdXr4;U1yS z*BSP@GtM^;?jwOsmib5apjBA-Zl5Z^Yeo?2%y#Ub1Vvp=l(2zkFs5b@TN>oLKRjG1 zlgIaeO}2oX?dEzXz4wN#UJpNFf_EU#4dS9K5P68})$f6$K39uXaJX~N(CtPsOZ0`5 zX09=!5Q35nqECv)?U>-sGbo&8-~M7_Xnz8VM{A4zDf_w+`w96Xxl`thujJfy)r2g2Q? z`ru}al09>Vhe@X1zczM!Ds(* z49$?i7+XJtnw^D099o6S0y)zP`@;vtkP|=K2g8V&bP&`tJ2fL{d2MgM)j-h(j+!|; zG}vSO3|1w5NSXr*pE4qIVEI(aO>2)n(E~wbySxU0r_Of{kQ5fGD>Q>swMMqq*Ds*= z_9(==9#=B-Sw*O(jcr2YRaDIO5?oIq3l`8VdeHKXXZ6KRX9gts5aFfM?Ia;h{_@vK zP2yjl)oCKc`^RAMrqomnY1L*;ce`rfTfnb|pI8LrkQP1=oZ4P##0PbwY@&ehd?XGo3toO&hZy1x z;mc;KvtdIiN5UR1KedI-9$i*(bWv8U8emsX;CS+9`~lbN{AH_$_%S?mDlVCSEld#l zZ;ovLLFd&M6L14)DIh}W&L9}wFop785zDHhmhe19VI-RH!fB-VXq!~^kxZHB*4VR6 z!xWD7GD1oXqSQ-Z@O4!noUw-unuBv+1?o0;589T$)GBz3IAM;PtBhe6$C>TpJ;*K-L|A(3 zqd;xOxtHZ?rBlTQ{>WhUz$5J|u8Q7pF@bbq(oGnaHk06jCel3LQ^H~d>A+-~<=IRgM>nZ37~fNzi>Ys41h1rXQNU>jZ?w-ta-) zWlnY{VsO_nOhUS>#y8OIaqnOB8Pz`gVkn{L*@;iP9BFbo(zs^*$ zT<|*b4bBF?v$b9?2DzP}vFCOJyEVYXdlPq}n5lqz3 z!M9j)uhwxyaKbr}F{YXcA{A;*+r#F<3p3h5u@1fTH1wx?%1tJToDRq$b5%u!_D!>y zmCoy&vp@y)+d)`#crN}i*~5U7B8ejASK=+>NGLCfuF_}2x%jrUL!C*zt_C#!0A*4N zL`i=dL&4avw%@^PtiM}>4V23D!Ou(LtnmQAWh5B~qwrv2C(d<~uwz2&r!*VCZb!mC zSE&iEPvKk_4}&%9K%Ne{QsLVwTY8 zNiivmZZQ4PE$0La2?e&e0GkA7mWf)$a4v3SmfYw2hXN^NO10CauTlQvu32)pD>E9|0|_jV@Z zMDegbq#0JtEk53wisPk}#D_u-6NNx%L`6pT{g1n(`0bO3! zS0HK}wzT}$t(FtslpVPvg@YWD(@hUBum+8_DsE-c(P!vNhsni=S&nO$5#*guU0}AK;fyx(}jLis~D@yYYh;@WD`{5 zK86-95vHKZD*FiU{To>pK$wLxW3Y^BMrGhiQr!L;$=~?gq-?E97yx)!!D8oa?QPCA z$k2!^87`ukE^`rd6ZFERUNzn^F>}B!Ee!8^9ca*A*!F7`c_C;hG zG;@RB=tBEd_A%g!?_@xGfT!2LGxqf!&*CcXqT}F>Rng1kW4l)E&{bR?{?Sk6WxtLo zAnm0u@ZQ-4&lgt;c$OUa1v4L5GV-+%3Bc&T&|*(;nK`K#40#s}?ze6&MHl!>p-Q^4d-FZif$m2pl(>|n62FaLRGIT>#YUMj9?Vmjp8LE zW$kH=o5=>wbQ@v_&DT8ki^T{K-kg7oz}p`mPQiJNzT)#{%!P62r;?1^&2Bwl{RQIy zo}RhA>qpd=g8FUABr)*P-BJ8cV#9aW6|4x1Dl-1`304>wJGk zgo^dY5zgp`mG>AfOotqT;dB%)E9oy1W$Q7!tf2&@yDn*xo)|oqJ{q^4^n8piaC|?(v~e z-dzJ)JKE?mvKGEWb6<1qlI`<*a!^DL{bqdWAq@!u*T-F66v9wN#nII9p1swwA=*uf=PxTqHm1D!VZks3 ztmmw;sl=D#O;``KjgYa*u`zwm8b9b&^*P!v*?vqZ{bZ6_sdP@`_IZ=i9(4zpf3ni? z9ChkkBM%=8&VN$jtgP)Wkv9+<;_OliAPv9K%+}MKHu3f-#0>lwA~wckop(i_KOV79d>{qHqcr0P40I03xV~%g`KjDW9?18AQ9@WrxDZ^LHU5%*N_$1_`jjWvk z70(V~?hi`5@Fl|1x(BIhj*g}+v#IYlt9`u1XBROcxDV%sA6dHaXZfdPc(7wqUtMUI z4o#dM#yAYsrZ#P$RJl4Dr_g>`)@zG^&6siKZex+wOT9; z2GL|MGV+UF?XAxYJM9dAGkPHK|AEygt-Klyeah@FKvp$S-cTfL{+uGEAdyCN=iul&_s2u|Y3(Q_pG~xKZ z=G|FEcb1x=LlL&~4tlT=*bGygcJ4?Z_{z(E?wh>-OSnsQg~Y*Li--|CQ@8g)(!d`} z?rGYwZRph*Rc{s4&+6A*N4CKx9{jrHd)zXd^6(FBE`P-RJ+xvS_KTi7V|ez-Fh<$n zucbJ!j8o>bJ1E@ssMetCBsv2wGfIP;!AlVETrP<#Pwt2W6P;vZ!isZpdbuIa#yR?N zHzA7exdd{iCJ0))#&~&DbfR#nz|COT&5ewq=_qy#h_{gn9`x{PrE-06fqsIfN`xk| z)&i6dT*3nI@n$WQ$p0P%^Iyt;QBVUxI^YWqi^cXC;+xf>XWglBz+oR4-S9egGJJzV zZ)?2S$VJqSjT&0jAHUQp(tyteul{H*JR3l&*dUDFWDH>xY2cK=gC9+4`xvIGWMj$6E!BmU?HvrUW;rbdshPLE4tZp1 zO=L&nt5-WIs-z7yN^M;8*&&-|<4ba$qT+tbqi`oIr6*Cdevu`{n3y2O3PJ3z{5cO( zo93CD^_Y?oXwR9)4dCLe7H$cKwfz3WT6qpY#{!hbXbwJ9>X{#Y__pqG`Vj-XQMD;f zyiqC$t^T0ebrcH!=-dQrqoGj~4cmJ0$v>SaS(wP5xivRqPf+PZT|Rr&B&e_K(Tk8& z`lm;h-}d{PY!I-_KOS-b$WOU!c7r)~>JQ6_&HTDuek-`qO8S-uS~pL}rrZ4HN2^bh z>-nnlLmZfga>z+8>5v(Y7(slgj+09x{nJ7{KO{JgcxL-=p1*CsUMu*i@~>TtSp+CG z!|X0w%oXDBzK$^pY=Yjk=zcml$3?9npyzePdTmhD2raQ;=_@A+`6hbE-3?q=>qkOm zaeVf-#7~Z>e-2W%?`eQ66bGXMgBhiv7o>yWCHu*`eBQSYzDuCXd=Uq2F;>gC9s=2m zoLr29T{=NN$36($AJFJa89b|1QwkpjxAmFDs ziK(Whs2#bf%EgfYG}9xjy757~<~Nx< zNzB#yz~jxQ2Ypd%0PQmHC$;U+%5rZPPvQsVJ|Z<2kpmmHRFS>bKJ>IEc!6y4n|?N{ zj&kM#qk=XScD9a+EJAONFmBH+B_VgY2>NA#7Be+o@ESYkv)cs^NAX`MEBqP-mSjTi0SHzT#;8B z&M9!7`{oOTB5TJ*Aj4-{V2Iz<@1;q%*}DBiown|6Oe0vFb4ho#3o4^W-O9&88I7$I zp*TLeaxAsLh~_p`g*kDYr<3JkhFBN;6)wke;J)VgI<2?whwa`7xWt%@r%CyprMYNm zwHj0AvS{E0Ci6I|aM}-B%Al*k%#@6CaoN$3E0*Hl84xc<&-Ccx;#ZFvYhKCPXxri{ zTz2`7Lu@NY&TYjThE3v2Hrg;foVXNWVrg(EdN4R)JNypxR$UUO4GHO}qKp^)20YX` zq4u`9sae%hCqq$1cuOkK>-{V7Wl^i}aM-4F;vzt6{3lP+vxY7QI_({Hl}BSXox5k` zu6kV48Jv_$&DNi#<8GNas;~?L6o$)wb{}6DShdE%y16V8(U+qm+V-yX(5ugl%8r4G zohs9VXUgUU2zTKcoPuH5WO)=@nk-oug5{&SnupN+zsG(zv30;=l;qUdUb{N&WDCXJ zca)FWJ~bK72UWoKG7hXj!o__mp4lvzm0iQ+eUduP%@uS{q)uAv2Z9p`MUIbkzXm0K z$5JOpEC`K3FHf$SKa}AMS`zHM74}pi{la!EQq1b!+(Ye|k?W<%*Rn{>Nlg z7%0+QVxt^+KUxSDJ;W;@t#mCBjv<|Qp?!B*JAvhnt0rlMW2*2#X(Y9H=huU2cI&X%c44A zid(UBP}EV|>FQKxdGlJ{6w|OHO65XSu}z z9Rj~Y5_y6^nXgI}X9&->Fo}0kW_j@r+CBUBj^*TCf_GltNFMXQ3xCU!*>`EYLF2IN z>CK2kV)@V~-?ae-oZ@4p#c$MtP@?k?dL$X&j9mTPHok8hSy3(bhDUyqKgXE@e~-Db zMi{wF(@3Wq-8w1n_1d(zmU0Lpju|)XHR)k9P9@su_o26V`zJ~uZ0XG>%aTd*gwVqqsWwLHXly~$G>t5?|g(`8n zB>VZk$<9im*TW%i>%4rk7*ftIrd=Z_=UFk=6u(xWaae#-Hp66agO`gniVm7^%CO5uH`Y#eSP>5!Nx=Eobs;x8;;KZ&K`e^A8faei6^9UVj@v!mQ2Ry9nG9odAY=XhJ zjw>(-9YK#)Kp^pQB=GxD!W0@5W@?g$G0ZP17(2lMdL=yVyusI#v2xOkq z9@HUD*#;p$;{u*B0 z@~BP~ik8ZF_X5N*qYRPY5PS8fd~s%#zv=#mi=;g=Mws(!r?ElRNzn;&F0`+uP$9;! z$wNh9QxV`J(Zi_Wv($BB`pNG;SpQT^>C=|??8+=|gzgR4-_$z^i-HPBpoa9`g z3RPUlV{mjOz*hnG0C&X;R-{G8ei*KnVS`5w)*+zQdkw`qnVzsy%Yi+uK??8~jn4k1 zS8#4;Y&Q~*%_)E$Mwt^oWuHfx((|!HR}=8#+)iBqaW4fL7{3$_H|Aj^9N74bn1)oM zqJL%F1nZ)_MZzlvMhq=2fzPkT$H`ygj35iXv^5EJX5vx$7nbU#cV^974S zxXm69G8y&?y?;WrmR-+sc2i(?&f(pR^pO_f@uzr2$@L`=t1? z0hTH;DXb7X$44%zqdLMO<9`%fYy7l0-zX`mPB1R&0d&VsE(mO;_r!S938p2lMchd@ zNZ=>k8)8YRfZG%r>y@t!jGBDg7fwQuHj3cH8go7Hn81>1BSKtxebZ`+82P^8Yad-d z#A|N1?4vZaPNJRNR7toyMh$1`X%5G1!Wa{(F4#7JHMdacjAwh4Nt#SL}s6QQW9 z(aXbgwJw4VA;JkXqL^uP-83Z)w1MCT!_SvkY0kZtKK#RRIC*h%Z3lVE7;QmfZ};0s zOQ?Ffms91sPxo0KwCljG8P*_ToH?PM8GDxY9Ek<$KHvkW)8hIaX4xNltP0Rm%L3EP z4&)Tp7Kr(`5HPA`>Kb*OtaZS-arNa35+VyYWj(AO$|%#9sd1cdfjR>@9m_MMG2Q5? zG9sVtAcf;I7*m`C4e=`%?y#tuBEaa=XCU6GZkSZKCK821gXHyb9ni-!5 zO76ejNJ%Wx2ig?liQ=$T#ORP{(;J80(bmAZy!wkj5J=tec-Fas^V~vzA#ZvpN7wK3B#6O~|XL1RG{y*9DkLP&kNf zI2_=XFsRpgueK zE;~4%#J~l3c)CyMov&(xB7PcyaUfm81=w1$x~_7FA+A||$>spcmj4Fq)@H5J3(T(d zVJXBNiC)gZ6Of`dwvY@YtFbO**~s~~i;0^tD&C{E@qg^hGSs8|LZQNdTZgFK7OsU~ z=qhY9{eLoMj~?uE_zLyEZ3cnmPM#ko6>H^fmeHksq>mS8fU{ee%*$1lfbfzuLdr6>tS34KrdlWi!*nK$Jf5zT6N7ddIZr*K&5lw9-C|NH^yL^F`Rm zectc^8hLk?0?e~0YG-TsI0~Qr{FQy9QUr>bSR5xvb`OCTA!n5dy1i_j6qo|nryb?HC>(uq z&jS_t*I*`xSs$KB#m#A-ag&({ob{o!AWSd~|J<9$4B&37<^Rfjcr;VG;JTaIRJ%S) zeQ@AY`nAp!3an`*mk+bkq@ zyWby4K$>W^M6WmuJh*^oX|wsbrokbCc2ieiBu7_okIK`l-n~RRw7(2 zbgG=*U!9w7yO#a6tPO9i3TBu4`Nc=1RoFk@1r6ne5Tf2mZRMLDzqa4aEaW3C7_cV< zeR5b1No|^AjE0Ioiw^xmZwJR5OKfu10J}ml$UdWI@mduzbbs-S+Ajn#YT$B%J;0X= z&=-ySc=S`>-*KJo@wSXQUF|_$O|c-QTY}s|&Tz)u@GRO9>3vtpVzG*hC9rHD=i(p^ zJ2)dwU(Qt5(G2d9EZ`K@b79xs|@0})PIX(NDW7tvOe0x_*D(tQxRr{VD z7E;m@#eh3AUf@G~R%<+teO!hEDPVZB?CinHpXAE*)-owa+{EW76A&&W{}@l;lAZ>6 zD79?78sNLp9f*Wpz8aL4W9NF5LduA)GdJ%8abI#p?YT=rh(jdGh{fY6E-*5S9^c@; zQK?|>J@yR#c#hUsezbmg?VfnlMyEFnd+wxtv9qjA0X~LtQpDTrmsGK0H>6CUm4|~q zrMyIB`)sw0ot}DRFg?yENITHhg!@7kW)!}&ifm8TaO2l5It87MYw^LmjEtb&2f${U zzA9Be*zV0Ot(&8~#8|OSdkF|&sAUwZlKco!!Zwrn*ODW40h$o%#Nj&VJL}(VG*xN4 z-Q`_i^09CPr4pYZfDeR)IVNyDM9PTS|2zT7E5}lqgl8PE_s8A7f3y{`et@n#E;o=L zgjX73J0&0_Zd=CAcF7dn4aZ zBu&UgoAGYp4CoNvAd<-6s}V3Moommr!QtOIN$ zyGVfg#?w;_H z+%r&>p*A+k4(OY{ZEHb$!>%2fb{6mUltHm~nbtqJ?tgYpWk3!oh3*L@xr;C19@_aS zM4{7I8EZ3esl`gGcfPM8Rrj*BW6+|J*=Z44r6M14GE-D?3~rew`LQ-2wOkl4HPyNN z|1gWsZDfVMKJA!LT80=fXkHD*%Pc?U3ex;@%%qb@@9s1G1;z#N*;WFqmFJiHXC(`nv{i69o5r_WaoX)`jTPWzbS;xW`o>9 z>_&^LM9JVHbdk7PRToo=fI@I8!g%!tZpV(;4mIu^zO3{!JEo>Ti9nL0Q{D*m4H{Sn zpx~MFZT1@-3KqW+h%yQ0*-h&?lE>|!nVBS89?$LbR`sL^M|#|)cjVDJCVBAR(LafjGFf(_x+6(A)PWjw%EIi2G zxDBLkzyf7Bq}#uAD4X7hw~S$eB{=rblc9YXuizY6iH|fa%Rh3gE?U(LJDI%pK|C|U zPJ2BH-9kGeyPVc?>!yS@`^HSI6XzPArT;l8C<({>9FAz6)h8&m7p#8frS?+@4K-Ro z9aD|si_Ht*m{1CK@S zae^3u{@_FV-}#-MSm<4xS)(tUvZvhpF%M~gYM`orLbhL1PbY(t*~Yg6x~T^~gB4!| zy`c_o9o(iDWLJ(XV|IV4NKAIkMT`;sI!fb~+ycfE>NTZuu?DMHcuC2)^bCpyppkTW5eBm0=uqe3hFRuc^8%?*_+!05jc@tHo>)kJ zc0O@^bd-ae)qP`Eb0_92($yW9D@tM~92zYQDe!6O;G7@pkX8yKQu|verP(qJrS^Lg z&psoPf>2c6W6;c?Y7?2P4e9Gfsly>%xoROq6sJK^f31{%XkA+*_KSCM&RZH}I}DBVHS90>hi6mS;siJAiu z$3O5CavoC1aTcE7WBw9oJQWLu~1DTWBFikK=EbE zl=|MMu%`+`8$cg7>g&Ab4bOL!^r=yRr3GV4k&ghN?B_HC@(z!1%1R9JYO^&(eD3bS zSQtL~KSkKAm8;$A;v|)Tp$Q}siU2}VXy?;i!H7)_GH>Z?Y;3Uzf4m?;f={;UWCl2j zDW`NR1Y$wlI=8-(bp+9=dy9E-x9(mK76L&ExKzxq8%qZulKp<6y!*@T*}Hk#sF%sA zCfI44mv*49nX#b&+OD*8gE%@ssSX^J1~MJ!(qsUPT)CGw{*rrMk>;wO_`plvu$} zXy$H5QrLY`*z_`vd_y9<4UNeFAVPT#{mJe2@t`S7{0LE= zCA!@HW0#Et+J^mBI-ieN7xM;HpO^hP#c#ByU%7LA2Ky^7TAnl6Kw6Iju^CTgV|7GO zdZK5Mh4^wbP{?^BvRF!D;vK7`UOAw9Eu%w!ABWwD2)}(l2kUI>Y6L(Wa&e@RNL~^U zV$WHZU5;GUdu8k$C{QYsFi}sE=Cw)IvUBy7vt5Vp6uFKp`yh}kB@o1Tx)w~GoF}yJ%uSs0Vu3+<|e}@1N848Hck5PU%CCaAw!`)Sc;? z*FW_kd`^Y^SC(fjx7yeb&wOWe0S&iGY{xH2LoEe)fqO#S7P*_7#)jYy{33yKZR@9%#D=I z1ZhUSvd}1x9YY1yi+=zC4hUsuFDL^_i=ijiX}>mDL^`(88(B+F{IV~O{kN7|7>uKR zE#Nm=#t-*fQ-_B@9tXOIXf%TR{bu0$yS+CEVb{cGz2{?qZb+)xq3afS8}b&uXl6pQ z`8p(g9%)yPLzoFjIKEmBP_bW|8wI@Sim1RTKUGpWqLB2p60nqfW~jFNn$|| zAx$?oam1CpE9M*kK1pId?U49<^FT3{k3T3qk$fGFLEa(?xyQGbd2aRpSPw!l2UsOZ z+1DF`z&`g<4NntP>=vG+VBueauuIt;jW-PG&q}Qqw60NJw-t;9c2a33ahS2fKTUZ zZ(T=+yCxMRwhMt-fpS^fkf+<$?-4H(3bJHy%VmF3ro3NK z5&daCb(uc#qI>)&4DZ@VLN#)cgk=*g&M%CQ9L}_^VJ|zO-SskR7{b`|4pG4urx+MM z2)~Vy=%>Y}o=;DLwN*vq&v|s>Q3R+wCXuJW1W-3Z3xe(&WR55`lAIoz($P`GcI@LR zn5$7ij|r)Vyx_Db-68LGtIE;BT4$}lphXQi(ATd^668MV(w03d<2pSD1gg<=L07sx zOiL!?k=j&1vfKNgg6ziyAyM-Pe@!$K}dD=r1v zfwxBNV1o0cp9$!HqLqOHsofB5772REo)~kPvy0GBa?*B+tq4|bPdMJS@}VPw3pwYW zdPYq1C2*{vDerJiT!bwfKd^ZHsDhY<)E8=bl&SC^h0K!$b4mMib+R}I3a%_r$ziNk)Gjiy& z=n*wN*QR-2OSy)UdBRPM@22!u-w2`Jsr7dn5^Mzw$}A@l(FG+blSCY48hND70neDy zL}uaxK|6_o9S_~9VMUj+T7bC>Gexx0t*jb*8+G068t{N0+P7x=Q}(2C~;-}0%C+C*=Y|dE|@ApU!N=C`5^JMu#t*Q;GQE*q$Ot_ zJi;rN2vm+Vqn&*KMNal;;xrZ;*KXP#Wx?~ejCG4J>5%C-QjDS81a-Ta}}I_z)c z6h+OINjfGs;E9?yo6VQW75e7AUPR=V*{!jOeeSXJ3=U5RGG;U!O#C?kXO3u1Y3ExJ z_feec{-c1fIF+lJy^Q2O6IUZDU?gBOi$PZPGuLrik8hI|g&JAs5`La371)umDRJUw z@r)DpLoqp)I(){QI&#HcylsRm>>+F3I3tTO^xdozuv`|@nFHy(Wqn1T?uwk+H}=kt zdqe6(Kh;9LCN%*4^>6{0V~ZAt-7{6HRwuupBznvK^wsytVacX{#;dRV2L5HsKsZbk zZw8`DuD*=a6TNmSId{9SY6HRf$W*U&G^9Dc8T)W5%fdx!_u3X$gOOP_XCbk*f08z1 zIH_!;f~(ir8&N!BSKU-&&`6?fYAiA%>Q-YXNS)-@-!5YOU{5VGpQa3IXH*rj)5=Km z(?DX@$OSs|$VW1Un`#Svzxbe88~GhosE`n%k2r}OYdWP|qw086X*98t(M{K8a>(nB z<*$x91Cip1IHzP>q=2c6_Vm+EQfY5JwR-3@BclK*@158^&yyHh^9%{;`4p*ODasJKnsu}kTVQ$&-l90 zkKbx>cPIYl(&4wt5dH{*z&%I;7}Dm(roNI_KY&2p%REn^#GshW$F4KYJ+q6!Xhxb~ z1i;3jU$`j!sc{meFZv(+jB?+(mJ<1r=oSEmAw}K70ITf1($qOt5fT+NnkSU*$bWEL zP_mYJk*39VrXn_#gULREaoVi7ZZL8s!hN zRQK+7xe1j0N3^2FEeGI1v4mN<+!w!&w+(Pdh#8fZ^K49|Rv}xrw8_^lJt*?{sKji$ z3P074DDzNDb-nP`Wx?3ehF8YQj5BfBnvu5x!FIK^yGZnvl(GCAFN#u_O`ZLqgb~y1 zBrLyavhdh%ADUu;s5!ZPp~j-{8Q}8qlj}^nb;V*(gL+911Wd5&gv+P%CISl5u-Q(a z3M8~*k#DSH?D?<-wJdwDhOJ1O&7H{9y_gaz+0X9ONr)sCK}?q;lZ5IVT8dyBA%ZCv zmo8MM^yPiFynv;-hFef3g9m+dFNl|NjYJO$aVpj*9s~LhX;9wL-_RdHe(dMgXe0Ha z_;jo8BGa=|saS2F_v`Oq-ImWiLNK8D)*ale*nP;S^;x~?m{`uw`G{KOu`p%nk zue!7sPg_G;HB~Og$}9Rk3V@p4$r31Cm}r9cZMxms$t95}4+rGY%|!q03OQK7cs!Q~ zaJbX^_wQCp3V`x^o#_JPUWhoJVzAP)jY2TFwyfWT($y2AWw;q&Q=g?4+XJ}LL4X_D zCjMLJ!(}gy(i#KkvLvZJm;QcI&+=$p3t*rq>(;TK5K@;$F$$Svsi&Ns?k1b>dKxac z=6(o&zgR^Ay$FMCI7nd$`;f`edoZG}O)*5&(AK&`MUj?5quct7;ZGyTpX#OJNhPpNSfkXdy>)L~&-IvbNe_gZ0-&ieOlHUWQMejivtAKVW-RJiTk{ zHJRaWvL=szXJ#YnQ$6mW3lXu+^Z+ij{0$Oi3Rbl#iIIqVt#}kO5ePoNb=g6ZBXnq~ z$l$aJrz<~uQ`lU(oKu7MO9m;qF=?6zcokCND#|dpiVXlUXheV$7+J94))N-H2LLvrdkt^}#qWleghSy)-=xrVE9T1tj2X`Tv7;9@1I*rAs(u(;v6Bg)3(lHbt9S?ENqNvo(PiUD zD(Zd(;M9KbLFU{%ZMY1aMe~OZbW`mjW>j&|FLIjxJ|qRt8)5cgt{<&HE5p{ky=z?aUfU`{O*>$Y zJrPyO7H5;a5!h4*VJSBTG-kr0A`1_hx6&fFe0?%~+ho6)cfA3YGlSLP-@aGaFB_jl zSXB18{%LeVF;T^hQJiHv#EeD|0ljbiVS^v~ zi+9JvL1Mm7|NZfN>D5JPxQ_3L0_vl5mP_kkeh-j1xC4HexsS0%e=|eQ58<=xl^`&c*B3h~0HVrMbZ5OAPW+5|E~Il80HR-x(P0$|q=$1+%EKz6JAdRB&v*Gn!f-3h+A>wDa()XQ-@(UgM@< z|0@0vzeIlt&9P0O;FQmTVNE_INKa~+-6d@sHN|6tFWpi&gI33;oDLo_IDXGxqCr0$ z#JR54>(gv?q}Ja127hc5RD>5nr^^HrTcGK-dEPy+`&_H^DFJ_fZ6%4bH@~Xuy%3>{ z747mvLeX6fs+^dXT@0^2KkTIt-n6QjST_b!e>al zlotx;qNU13SJ*Mp{CLno5x+j^@ZTv6_mf>oTv~e1?$C zko3rezjW2M7IM}Qq@eG|?4C$&NzVF1QoDUKH-{G-_et=@dHqi#Nw#bcZs~ZK2XKjl z_>7~cLgzS}@?&FO#i2W52q+g!mZ@-)^$teAppa(2pQ}W2$T2LQ>9hGgvcQ+KkbT;S7 zA+V+cxl|j5Bs=C;MCL61wm7w5aF!(19Tcs5k55Fj`eT2&i_E5H3BpMPhSR%YdbW$9 z6;{@T_y|NWF8Fp6O39kRzCd^+QGEs8h;a=dmfZ$10OTo0dbYU5kJN%3CWUW;c2S^O zz1#9}`N{ijH2LBGwcDf9LB5TXt(>eHrxI*-)B3cUe9bVmcsQ*0UYht!XKN_=T>%Mu zC|`UR%UgB&9puZnzt({se!{OUQ_zhX)A?`Qz%%=kCZk|R@8U9YjnDs+tj^M)mcN{I zgh%Omam||fc7PAgC1uizWL!|kJm+y)ww4nYKR?t8P=^&f6`Ko# zuUU-TNJJ0abw)Ha1EOpKZ61!|?#{Y}&Wfj{@EE%v-<^m<&>0TBX$|tlblM2mr1;(!pR4 zh^}&I2A2brK&VupK5xLftd$_cMa3*#K5B=FU=_spJ?NcVYWg=nV{)=z`x`r~@!J;g zw<~R^M5!RLub4%HKDMd&hTWT8_-)hyg>BkjJv@I{Z2UMuJa^upWD0F_Ek z68BPD{Jly7suJiq1jooQuS;|Fmf5ckBHlKcW8R=2J0EL#v2#_V`LzyCXqgKlrvynW zcO4>=(I>B8ps3)7+7}ZGa*rfM(`kbAixSAXsIrn5fP;n@nNf%twpybktIwj<<>!0= zp;r5fP;~_hWd4@q*8cHK4DFaf-~zc{8Ap*7He-mIP>KdGRxDl0-(sB8G)$(Cy#;db zA98$S8bwy$H-@D<%U05hGp~djCgLxQ4LqB{;q@m~O>W1|Q8UKDq~lDDn1#>tZ6s_T zIcU^~wWwHp6uFga%i=0(AIh32((H0n6l|;YDon}OIUl`mTB+L&)~i~+8sTe2iOJb) zOyS@#bKEm>Mk$|0aK;-hx8_%Qtg1VC`lh^}Z=JhP<{crb^{Ja}T|u2u-)E2GVM|`| ztg*Pa3?Z%t+q@IKL0CET0huz#an$2qvf*M(Y&O%)VP%&~R_tCBMMJlzQ^*^sM7$je zeo{yt3?B=(uuGt9GABTl=CHe#Ub2ihWYNpl8Hfu17HHe~-fwye=<>G&1NtRpdO-Vq zOymNn{+7n9bCpB1F4NSeX-BTiH&FpsN-goNDOI=>ph17m#!?>*tH3zUzQ!K(-_R-g zVQ2zpwAdbvS?4Fak>wz6SOc0()sa+MS$UWcI`FwMcVNFj2FHllo`p zr~lCCN$V?CIgObmp(M|(MSPtUsK6&h_&mG)?UPSV9?;Ds*jDhA+*GMe`P7b*a>G7H z{*YT!s3 z46H)=?9+GqQ!SNF-ayHv}6E*LYpH^b3Pv9$(2(bV0z3(cMDEu#IcZ0ggQ01##P>e(H$+;nvn3u z5Fkmq85(96mNMYke;V=ZtS5fvn$&;OcvUQS@^FLOX65S77p0usHs%tm{yy1`!Yj#h zT@cMUJwlb3_RhvqkYV5(+yz%Hq=>NNYZ)+sQ^|5;B$L(7JUZ1FGEr+Wx$I)}4MmvZ7Co8QS+tAQDve+~w=Xaf#`r|9Jnq#xvXidkoMPagiI3;hb&>|j551Eh**idj-1+wLh zy-OLB|A&7YDAls!R_#s)3XBM58rTPx;tAc-cYL>Z`GG)^ysg5c2 zwibi%t$#Cr<*Qwu<<(DDGcLyBbFsEhq_&MW)quKI@|soFT64gS=9cE`u=wAYyJqYM z5+5Acm-Rg0yNS6MJ0$H|cRC(BGGhyzyw-d88jkGBR&3h;h~d96&?(vwTPCdhUg;^p z+JsN;C0kq4U)Q(t;i`&RGJXM5w2b+2Tk^al?)D8l&6g=a^e6b(2!`33{O8E54iaP> z)hgx=d=O<6zN#9w!`og7QajmoG6oo!#^H5KDZOH}TM$6Y$}1YkspznXB^!83(PEefar3D3MsjOW3Ec-$Oek!Vn_i4F5g zPA@)_8t(F?!o*wRGW8Vii74E>JznNmHk!%=s1GZM9IGvZf2lDgua}QTJQvqpfmHol zONE<oZgK5?FINal47;M&$G`Rj~igD1{ng0nA)=P?nQjRvLICD zvAvU4DpI+UBm)``Gz%$#D94se&LhQ4{KeA1}3ZHF>;=DlwwX=E)R8ieG zqTM3QvoI%D645n9Xg)2HCVp8t*Mn*D?*DLQq5ho(=;Pl;2Nr-F-^#^J*Q4M7IY7q0 z+EX#H#_t2)~u`oVe_e^Waf;S(+U1DN&G}Kg2(|JrsGq`1KmWN9)-zQd`#4K$` z($7lE+4jG^yMm}{Z&NpTs=ZZv%s=BzoGt_9e$oXKdS_!$53d#C_)IG=VCQlG2|z00 z9`HMRjv?7JJlH`rMoNURdk_)N3a@E?CInt&Bso!%jh=H58Y!N+fSg3tHJ8l3Ein z6@-J(seGS!vh$l%7O(s%!wGy%8uV_ybLsQDpoGrFW44LUDf1K13PD7?_;ytrrTNrz z7tQ=66br(e%-~tYM*fY-vnxzYR$pW!D&8@BHevq#Uhc{p>N{mpIIT`bv!rEFjQRW( zWtfOlOs{$Dta<}w)B;yFGy7l4sYbE-sV#+r=h=;#r_+Ass1qi9 zALs69MdR@d`l(L~D~p~?3T;3>YLpuDHs%Fe%<7gtjuW|7GicMGix2jpSaV&#PT1Yg zb!)B%)dyMj5`6K)WL#R;&sz0bPMQ&zblw=3H{SU%9|jCJK_Q$LEI2pp zeFWKgOp#{};?I)HT}fe?#14LsJuyFt#3b3WIK`jJhr+k4#_UP*5b-_R)Y&A!-OTHX zd;4*p(3W~K<*GVRsTaH1U`9z(M6Uaoe&-ZWCDS#3upDgUoVXiY2@BlK-e-r$JnrW& zY)t;^aeXadsK`Oe17CwYD9cA!3qCJyJx;6{V(LW-9h7`L-drr0xH|3BRQo>r&({(& zbb0cJIY?tIMbe0%h^LCWL1JaUcDmf%gH2q9fI~XT$rIzN^`!*{OT1yA%;->U?vyR} zQ#q|KCFAdd^))o$Uz>^4rXkaCif?$Ax8aeY_X>nAAb_u zYQGEp2KM^r<+;$Iy8Bspaq9QosMeWR7-Hb$2OfdI5&|@notc8eH$^Jc;0#>Sa1=)( zZ|UH-w$^S9RPGr>=8#DvMVV`mR=v{^#<)VZY!H_*l#82(ueOYKZZpJy1dHlGBTRCSS-_Ou^^2cYEO@tOh6_UK|5Lej%x=g{RjYU9Cc)g$>C=qWcmm;SPWkNq$gPo+7@b1!9|I?bi z*ZDH2w{W^l_QWemO#V-h^D)!1xkHjEcnR3g(Bk;scE&c2m>v)zHu|~kuF|&f2Jftm zaQJF6Hh{iXN7!fU36Wa*a`{#0Hk%{Ja-6i7hIeL84cmKiRV^%VSv!Sj1z$uh?Hq6$ z@2mkZL{A(TnXRJYV7Ljt>Ws>v6WjFXPY}g1gqO;a?p)ioiYZMSb{aq&GI$b z+yu3739q|k+_GaW& z3u>Xn*m_?<{r2wr33*(k%qjcY28vw(3n|A)bvRZS6i%9R5|mpTnVT}U6b$UjsSvut zbHe7LAG{x^St*sBk2;KH!O{GvWIAE-DC{u0VA>5<`t%aspi-ibqSyc{;gopeo>cn= z10~;X?ObHS2?87X0?cB%p11w|Q>OO%_JHSANWYdrcqmZPuW*IMTF(-^sd>6cp-cBy zfo|hleHP1OTXVCaWAb)j^Axotlvn7gh^3)aW!erjB{^9S`B4vIbU+5d`JMSaLF(Mi zQ2NFuz82|5EQ=N2UTBn0l^N{9ckRN%T$ov1L*Uc?5y$_oB_8`x71~~OI(0}m-puBz zz!QSyPnn05<&QoE`Sr|+{j%KzduqfGj!;7)6n1Jn%ey%-Y>}JdeTKYP81112U5!K9 zM~z{R=80sVPLhx&pc5_g@a+_<=|D*j^3AW7GbrfolqS=#AMuf2;%^RzCew=%c1#C- zeRwHJd{Igt|^)Q>t*T zs7(FwbO0x!=js+FA4T=r7Svc-05otY)B^W=`R zBm`|V(8BNEOOq{>k`8xa{^W_ZYK^qhE&L2-^}sPkRkk^_i({HwPR^eH8?QqEg9S~M zH`b8t`3?)A8@aFEQhpUs>#!X=`H%MqU>^qez5};d29W^lU2C}`7FuMhbeqZ&ZNHM^ zI-BlVsk_07ny?Cx^~BRH@I^qjrNvigS5GqBN5-L48#$1kI2^*8q+b=a(PS7lgK$BB zPt=cFb;_Cq5jcwL36|5KmKQsvU-<=!h$Nell>l8F&?SCY&P(wx&hPt%I=7usc5fA; zZQUS53Mhb2v{{VBO5Rs&emo((|+iA8T;U%%f>2Pav+3swgM zQz&NO;mFhiz0iGIz`Jd1@=pqLe}M_pScjRO%vSV#Gvd9*9lt3XRG1(fn_zJA z;gS`}ps1IY0njg_8||*cWPuJ#pR$n>v$3#e@B?*c1Mnwd0_>cEv*qkF%1Oc(MKg%) zeNj8q38EjED7bA*%F1+|#$88rA^U9LmZIh#BzF1R6M<4d(5}+-keX(CQKo>#KF&@` zT&-)Gh!n7PD0q3Yh5S;7|Kim+h2Z4G$^m8-CV~|7QMKEJRX0;=AQxcRCr0@SiB^Ha z7*Lm_4|!t6Sdnh)9Tx_!O)<@;8ktWEH3gygKHDZg2LK+LZ9%uE;`yXwDB&;jl_G|E z77)=6QIkCT}Vs2#uF0$nNEcYC9Ka=wL8_;XH$Bko2-YBGtP! zl3cw;LS!x>PIsiLjKw3j*x^#MZDz4C5tnK5lzwL2y^^dbYdmSTVt)nm#Q*2f4oz1H zs>#?kX>P?pfjlcXU8o(wl1vK<6+8Z-x&WGvAJRIza^O}H;TdqyvC)@_kwflUC?ZHQi%tMAxa;(|PX?#G%y$q_3ExZtn1SP8@TPlOD-~9`)*ADO>_)V|}g{0pWuv+F{1DY$Acaf3&> zTx{@sA?Wc9A0sF3=P+dGNWKcFGW>bx?*=u^FQe2!jy_|djK&WUNc>@7Kgj7sGU;!f z!c`X@SQmM&=bJta|Dp)`-(FXdpr}GZJ}U9rfzsK3qx$$_iD85&VvXXs|M=`l38jju z#q-g{^-mWjM;CzSu>7Tbl&09>o?Aifw5VCJ78H)4GHBT(oS+O8iIi|!GP~sz z@V<9j-S7|xHe-DIFV;r1v-D-ts2Wi0yoo;Q>(~TC=n$M^9osBNu6&6Nh^}1|Mp?@z zhb6g|d)N=-02f48%i0|FA}-45C`0t|&!97?HG*|q7S(ZEqRbSVL`{S%GvMs5biXt? z^Qy(LI)Zs}GN;wPe{+{1P``aOxBs^}26X4UDm_CPNhSnmEuE6Rq@;-+YD8EpK+51t zjTkK(upaM?PASfwN&R6~EWvl+|3jNjQ~63PP4~VlB24w#sX|v(NGs>KT82D*rXuT8 zs`Kel`dSFXG?zS05%nUcu8D&jR_-l`B66L6`YwQ@`vL$xp)xC!_NPvSI^}_o8*MPN z?l_;)i|wjA%iC*8L76cQShzM-_5e#g&lD~Pt?09X%>L%lKsAXHOM+Z^7FOoQNTOJM2q7_m)WJTokz}&Gki>lPiB^| zFlvILzJqOpqhty=N`NKqVV0{T7~VgX6C{2K@QKOUl)7}Z=)#fLUKF!@Ux68L;1M?x zy9|w5H5ay+IS~_k{Vd@;##DEvTwyAFLCR})AcuWP(gMm4AH|8hn@{?}Zuv|LU8!1g z%QiS%l)dR~aL||;T%3@W<3i4~7K>NG7VN2eyKnm#F$*7zFcgqT$ar}p7c+lOnV5HI zjB1+F>_UUYC{Sm2o~($LJ~`XFXk&W69IxHP7Disv;t%_W=qj&Tm53+C1)k+^rjHjj zP>cr9s3!g$+5FO9sNba)uG@%>%)CSNGKALJ(!Ch!?+9S$hT>rL!Pi1P`=>x@X42kyMp!~O-@ z!U#At20|WDW)gq?gH8TmU19Ek4UE`8V%cH@ES$K#=W6Q;(-HC9=eF94GJN?qD(-i1 ze6)NSN#575PSjP1ShFOUP`cN+|NJUQQ@%Q3ihm@C?_+NjDk9cS2 z@qP%HxW|&CbwOMYnreo&<92XO8CWf+BJW2Q^bH#1*p4Jokv2)++b^E9$saH%Y4uBA zMGq&G8PM3J?%3wZ6gIEe52@S7*LN$}5_m#l>zjH1%?E|}{XF*#0j=HQ0rA|Q<@6*u zv}3FgA;frQJc4(rP;<8gl}X$yTZl)lO$;mfJUb9W$d*$5Y`lyU%E^ln%PP;qdBV^A zji2V`Xsx=YZ*trD$TwAUiPKmFd7+Y@AGyD%b=l(USUP#4lXh=b4YIAAjN=|m?vR^6 zwkHu73Lh3NU-6QTSj9^CML70sUa6-(;&mV_vWRF8o9#(quT33#1$icu-uC$X#gbWS zP)?eKA%s8O>)EI?MPy^C<+{uZKhwm|DZ!#CQmCSG@5%%-t!5vKbmW8zf#u_pH(|)@ z32bmo9GF`v>~UHr9Cm@&R!3$E|KG;I%>mW_*eAU6)HxM_ng*MM-st|(JyyyCO_qBPDC0q z3Y|a^qG3FD=)*iTwbsUU|JmeVsHr)_ZPe|JG|c~MaZTpK7bPB@{B0fpNSFs+kRNq@|= z`>Xyk4Bpe#U(*Vy(1T>-G1gU=CPg219C`HeCRP`d}-FcT-m`rhi* z{PD&eY`NBqK%GLnM!HVeI2Xb6Dc;lSc*|{i8TkUfpBpD%79T@menwAW%2ip?^uoy| ztb{IqD;Tvas=E&88nC4Uyu=ZO_``+=B#AT-I-x|UBPT4>q}aYuaI6pT$7(;16*oB|af~o?%2dU%{SflDKjM z5H^~jWdMEbo-mpY4}#0x@yP&hB2!0l!@i+S4OzLY08oMup{0harq_3&>m#A9Hbsjs zlz?~TOz7XhmLL}h-0CR^aFl+j+XHd>FnNGOb<`(o)5G~OBIrxMMdro~45|l0{!wy- zzo(tYWNXGYK$0bA2D4goUixu@teaKx<$7P08CMH9BzGAX&8TSL5T>*p?wIVyX7h&1 zk5#HfYkxKcvbR3`hvh4*zL4=CeBnMs8cPeMG4#Sl+9M5S42vb4W{X+wpS7d276LWh zgtV)y>M^UIqG|V&ogqXo?>p=B#yA1~p)2`*-~TuN#5(zUaShqTaJdE&ICT27iE0|3 zXikubdRr2Iey!PS$f-*z(M9kr&5uI2FoW+bFQmbcwTE5JYV8J65yyxj>07hbk(;^@ ztF9-BvbolQafZ1lOD+k0*G`){OCI=a2c`djU@@*As=pVLt@exJvhwxmNP7Rvni0xR$g2y zyykhiTl=*g^UM57?u@6fXG3@ma)0K4p8!c{9z^-d9?w4>PxY8ZJvI$x9anrZEuh+! zyyIlE83TjMk5>s1SeaPO6I06gf>d6YUr{NNu(SOzv2`-<39?qCg4efN(j3vn4{EsD zKC5Rou*R`k>>0$_zrUcqTlnqU*J;Q^w=| zY?xSRR&pn`6qgh$VHR14==1vc38NA^)38IyaEMvvBD z#G{OT2+O(Tg$2}kNc;XBz_R=7DL}{RrrQrTHY~n3>qa3(RW!Asg}~s1A~Z7Y%1r~>_H+%EiK@tLcrghG~=4oVe&79npA=U?4x8g zqb6s>`I3w;HI%)*C1(m8_Gwf`;9yV&MM(S)#i&MXquY7?2^R3wh`6}z0FT1a0B{i+2+e5dv8qj=QsB6DN z%RYT8-SFzXgM(ysAT&R@kqiQ4kL10Yv*Dc=`4}oE!|zfV;>jgGR7ksK0qmMsl}+CQ zXybd7_tE^Tee5msTo#|j(8x~>^Q93?YJldlQ)K$51OpjJAe-?$jBn`OOpt}xP)3De zkudHH_D|VlxpI|iuK#SetI#p`V|QyGLllh5@!?GtS=D>AkbwJzc(#Ip^Oq5WxIc^( zeDdG#Yo1%xm21Fis#lZ(e$sc%tGdN~{!AoHFbnj>cp4eIQVKdR)Eafe77&QFlZDG! zCjjZhq1b~wPKV(*`tL^-E)s;1>y_he{Br$DEqdKi9P3k6iS{d^H?pok`FRF{HXm** zEPCr*`^%k?G6781u}0e2=nbK0mhXxGBqoyT{n|Of-;WeoHO>6yoSeeP#wVEl&bXGM zVe+!s?yAL`eP>#Mb4Z_LMh}F}@9+&iY`gaXW)Z^5DwhS;%%`Pjewq=>w3XH;ggDNY z#t?UUfM%C;@M>cmO*d=bjVMpNHAdV78lDvBUvjD`Q(uN%k z>KQ7>?{32G%CymdcY>d4+tN}u&wb6AxhMd$>Q5Nfs#R@|7(TB?cJDZi3rRO>w|UFY zt;R%1Nh;r+Fd|x9X80N3Rn`&q*!?yrVTx^SFGKs8ms=aOnHpAsh4IjZa_?nrGfVOW z7TDIbJ!%J%QT)_2=vX1jO%?DRydpay5m~qp2}n&(Ln|qJF|YGw4>BU~q9EVI&+!{++`RevIP6Pip=TW&)#Xcax1EBld( z@f%5D79=$2O-w+ex_ydKw6dk;phaWM9@SMFn4{y(cUKwnTew z4sVB2tj?x9JnI_sM);{_SMs?4Vr1C|sm*7oH+I)R#F!Y=#i$-3rw%7_mjvy;+{ZMF zxEwCGhO`Lmv)PZJHCi%<=lMDEg7K$!xbiF(_o{!i3l;4b2C7Dx?8o#c8+r!_SYYlV z+K`qm-w!H@wVLmBJ;uwGIh|QY6@rirf2mACLqRBuT<4L`zxkeID6lUV^WVt!o{k8p zz>z>5eY#Pq;moM#t}NBlFTu91TurgmVAg4mR`rQvs7ORlG^LDUNsl6#LFB7zp)B%ZVsC4(4QOz-5(U}XRLo32}8yz*Z05RNWJ zVWWDM3Dq$>jsYC3|BT!q`+l8-ay8(qIQNg9_QR`Basl4V4fXNzW`XoUJR#S>DkJMU zV??Ncb6u-e4`Ui};oDRYh(wvfD8`!hUmaLj()r_LsA&BK%?@&jSh7m*M@Wy4Nw0Sx z*dRB65)ZQ+z5Rzy+9r*RinM`BX!$*r82(@S&;c8)#d(R z7zXyR(qo(-Yjlz#_4zgI%%llRfSX`&z!~v_P8e~O;^7*Uqio#E7f%2$>G-SLLf)up zNk<(XEJ8R+4q7qvW1o>!+q6QS0{lGlpmRJrh&)8pIciins?F@ZAUf!9=*1!?5fJ;f1K-Ypb$>R<3$e;0O zYsCKD2OP)Q_hzDq(uGBk8@_l&)k>Qe@7e$8y!NKu3d*WC=p&7 z;`7X2re{Fwic*zY;eqC=cjL&;XvYurQtd6Ffon5fPh`}DnWh_-XokJVb)pLc zR3V=(Dz=Np10D4?ZRHPt9*hMdW$TTEp;+7;udNlCABtB?Xc(@PI;FPNCF+*^({zZX z(#(aZ-<~<4hrSqSKAAjS-9p9H_)j6^W0nfiX3Nc;lFDy;J+7f+V(UV<@xG1s=7Uw; z$A^vdYYUd!Bh8gqI41b^ftNZdoZWcwK4*^a(|JGO&3AM*DqH*XeRcM9ZV9yQidMac zYOk0Ly|8vL6{*3Zs$q4lHr2ogi+^R&u2_QrJm-?tld)z2LtGqP?spb-N`#lVdlcQ(6P^{3wy*BUd2{bcRqq-c6C%n~iv zm=|S37h9JC5{0cusk<^W>$WUUz_Sodc`Slb+B;)GZO`Fb6$VxY;arvRO3FvOT=82G z$6JT)g(&+A{2Jm#hMqU|=vw=zi>fA4P6oqjzH1AAGlxJ+2Vz=|nciAzrqKo9-nayv zKQjk`D!Q5q%UWSAy$y;`R(q59 z%wRnnZ+%bLM0(683yAkgfs!sN+-1NtG4l+AuPk%#KI*uG{6_=UP^l0r`~hY^mH6vn z6ofZ$9IwB2B|OlseFavkHs8BnWCm6AAGz{_9`HzYpFSX~?10Thygf*G`q(EOh4K?q zab)6fG?D{1BJ<I<9qX;jwU2_pTF!+tz;i43kp-2HG z0Rx!Suqu^kUOSD|+!{U1U#Tq$r^Uu+UN9s;(z%a776DeRgEgjgfVZ$KgMD!ElcD@>A$K&#F*MZ zvIx9Fg&chn3`;;B3H&fy@MZ3>YNbbHJ=ZCInHt)oGf6}v$8lJL)5vyPzoj7=6Bh9e ze<)6I&4WCct^;F{_2%DxSTZ#d1%!BKZK>b~)&<~UA>Kg>zU{#{yRqDsi>Tp^v306- zou}PBn6<2(ad#*&qgO|U-1qGh#%}tce(*m}EQ;>*Z~YM4iX)haEy=_;bp})V zdJ#W2@-EYx;9Nu@@A5$!Al1cgiC^{} zFRLci?Qd0=GsPsnQ52pzJJryLRV>8veT{r>REGDSLT;AN>Re9{T~K^>v<`yQNv3-+&# zcc{%hTTOuk2^bqAT|HB}W$oe;8?lo6 zx-#f^tH(>Em@Qj!Ce_lI=Lcv>OIq>kr*XQ*++hzfa(}#0xm9m9$m!UzyhR_vK0a9CQ{ZDJphMJ{llJ{+U}YF*Mw-L*F}ZY<@rO!v|@xmvaJK$q&lwk z@D;=p{-a%GN%dD&EHAcHETGb*!)^m!MO;}BzH~x!MA(d)FEf@<->PMvj{yiRywYD{ zutjXgK>^Eb3x4(xsU_U5qJoQr@}g0-@ot)zq3qv>5My5)-|PSdW(Y5C_FoyIbU7Rl zq#nu4T{-I7pB;Tb`&=kFAfdvfX55NZ@y{&`XNIv$yQTf2>?3@{=|EWWgF5$1z%oDM z#v#r8V5-Ycq(M3gZ#`g=3EuP#RhoVO>jyhgv=E)3|E$kccenq?dG%*v;F*;1D&yHTMHw}cL@_;XvD`;DY#q+Nhy1H> z8@W>n&#>D9C|pyu?ku;Us)VJ&A((h8BuZ!MOJHfMkIcw-^I9&Ctx9%>Z z=sud)w7#LCw`iC17V{%qaYk_*X6C%5`9Tjo?P4hN5PIhW3(cL&QDQ(S{to_IA@IJy$g|iuNdj3v-Wt5$>VK^-ot^$NJBid^iFGpCYJ5uy%)F0D36>|5O=JF z%%*RzKQ0MgD)Ztpqv4O`jViE5c)e|l1iuu}1Vy2pTQ0}-{-xV8KEgIG^2BdER)FPQ z_(~aaH-Qg*!>B~(H$RQoD=)BKE}!u1c0y3PCanO|fCvFiMKZDzNTow+JfF@WgT0#$ zOIi1+)|$P+J|b7pXw=oUpMI|7NGSB0J2Lv`$PdD9(q~j{RLZVhpZ>d+tW}J9y8^!Z zat~arsLq8^K*cx>4Vl#Sp&EoNvY!R4$3A%y(rm#rJv!c}QkgQq1L4o6RtQnPv$*KR zU+*XnjkiaUPeQnr$gnODBWl3~+P@V=g66TPofHc$agG~5^dN~CQh`W*F*UYo&wilq z3wMt9P(#EWoo{071=pWy-#m*S1p}PzJoKK>RJ;TMF#QQcUb@l&eq1tk10Rc+B%nY2 z12T`ibAzfRG@uSsnn#X5p7BR!2v?wwwflrp5iUoDi1IqG$aR#ik)Is-Y2SC8*<4PN zs=PBUJ^9?Q_sY2csk(Ik;FBT=x%agbhf(}h-rCmoSXA7V{DnH> z_a>~l(`GFW(Csq3r-AZng+%VfHD!X0v5F2SXBnGL6tO{tpei;BqZ>iHR&iGDmHy)8 zr49|xiF8=AfQYF+2`z+ugm`V{#;NJHCKq5qFGdsFLQ7(E{N|2gLiU4t$yim@X~YQ1 zc#x15w++3@^YWgE9pMoayp0F-jUOuI#P8Qz{J1OVoUFg{ScA;a?EqiA<0)CC%BHfT zmbq?UW}E>Skh4WMDx(an|5VaY*KtE*;$_ZXvE}k>9WK81j+<#)YI4HWlZa#?z?S#F zUu!@QcN9lQG4%_r?;GyfmMWrzOPQs>@$NFP^8yo=P%DfC{#pBi0!nPUnTd&A50lo4i+ z7GU#e6xo~sQzy*u4tyVhGYWp$9&G41H*6YH&Bq_2Op4=g)TTmWv)v#PS#~Oy)$wz& zetZSBMPWQ4WV0hlGn@LGHbUxisvi=?bnPv0`jfoydTOYf`{AiQ0*XG8#4J>wv37VC za}TnS43G`x-4=xnO}~IihbI-7mdAzQ7xsnazn0{yg^b6Hw^v;FM$=QI*0;SKL5+;%hA;^lw3@L9{wzJa^Sji@$6C+veN~&dCbh@>U zla$P$Rz9D>nP2Qm*4rk+_^G25`Y>we_jj8Rw39J4Awd9ZLdQ6SOLF9IoA8ABhBg^+ z(@jd5Tu~G!1x`VkK=gDJo-eGvN59V%$A>d|f~G;eqgOcQatlLa*3RpsptT5VzbE86 z&Jx!OVHD8ERn;!Y-^AApUVLI9mI82dZyMTp*0_6rpOiaC z25jJ*A6=N#7$FfsBlK;x0Vm&HoVf@dK`;eoI46aZKJc|E)NYWfhQJ!)kvO699QCRQ zPB1L!Yz1Urb`r$yA(t*UG(S?DkxbTGBLDqqYp98g%oD3QGhXP8R2xjy5w zEghf4nqSoe8d1sgq{Z(H@KJ28VVC@Z%yjIAl#Q*ejjmA|Sz9&X^iWoKNcMg{;I$LGbX*X0OiMBS zhrW!t4hi(|73C^i=o}qv9ynIsoUh(vP__KHcZI|Wnuhm+y^0vEO1JiAgkRMDQTz+I zuAAA_p-FvT$$t<6voE4!2|13Nv%+}#etAJ(eS@A^;pgI8x#Od`Gj!Gt-V;+>o7qab z?IiAmUwzrC!n-F%hAzM=-FVkS{^8xidG~GWYUdX&ouwD z#)Yt?)Ty5A-TzD$0$^2~-ojv)=eM%fFsRM8g)R0aG&H4)1&bA_;{d?@7fSml5GV#@ z0skaX>lVAyT6W$I$()$A8Pszlxi6+|@Gj{mhsMJZ1t!0FV}V`3PVM26&b z+uNRBW$u8p*?K+i^WH?)^)=DRex3v%Xw|!1xz+47SrE$nUOHtgHL=2&;zkKh{Y95J zX($Q5xELfvSMm-jJGqVjXr|~5KE>BUF@YgN+}E@+A?(Vc@^u&`_coaz!#Pjg|7=ue zy-W!uEQzBCE>jPK=6Je(_{Sik3C}TxU}Rx;8wG?5aQd!n57ORPb;d|V8zd0MYvu$+ zIn$%HOA4DqwHrjSKpgS>pumpk?u+A{n&vJ}N;7!<6?9p}`xcB*9*+D?_Jl64?jiBTzIT1=MP4*b;Uhu!EGw3&`^bnIK8{3zAcc<7## zveoBFT|Q*Gi_~qUu$NI{Pw6rtI)_r$< z-GS)X(yZMx^4KnNY1UJ9#P`M8l1rhn-XTz(nC2`AXWF1*FoR55(W)Jbqd!|aZTju9 zKWHrq+p8A?G4lWt5q;DQJGF4ikWubM55**_1g=s2_SUW#=n*`*|M5Pw>ZhAAKL2^L z)-Ln%G;S*H10x0B$?!zfhND*SMg`zqy^L+mFkC@?h}eeZRCuOus6gMrOyn;sLCq`6 zaSwoV0fl?WvDoSO2b?uT&lMhXrqyqyvB6Av%}^-ncBzZCC}Og{N9$J7F=?mn_qRK6IoDu?FD)#!KQr=+#HW`PPUP^P? z$_LZuUJO#Mt2*3lBtHU4As#T$PVnKD7$KU8WFQ}7#4X}YsCMBC_m9wu}%!S3+{#Q1G zeHB1DE8BZ$K03raesMJYGP4;20hCSb8M>$mE4t`Lfi9j$1ie|OCe=?#Yu$t~Kl zQh2=t1t6gXr6X_`nPXLCazPL7G|9$7b;<$?1%^{Z!5omA)T6#6uFJ8~nwjvyCG*z* zQ0Pq14cyMG4Dxa!Yr^@5324WZA(QloW_(W8w=`~j-4u5usy|%TY?&6D6OU0;zY1@( z2G6Gi=~+|@$)z>j!VSZbM%tX>D9{9_NahVU7O{eSgV~iw$W!pzwV&DJjRajfW*}r7 zA`MxNf!1HUkz=WN;`PRHu`0~=taQs_zj(MlHr%XCe0SBoK$y8I)-_Vv-u7pB_h;@p zOvVn{XdjP}4Z|4?k61MFT4L<;Q@#q?@tD%}il+Htti%|N04UU59-HtA36BHiPOQD= zOs=yr#Jdr!^VmqkGI^Q`)B<~uiruE*DjUn~D8LLBX@9;fh`vUIMvp$w1B*tR83#`# zG0cT>1%4!X$9z9rwS)`o=KgcpDqeg?U89SM0GmDX5T9)KHe!J{Y{MlhrG)n{;75T% zNp9j87>oaJiII8Q0y@!6%s1Wyi-?3c`jc1wZD->k4(scSSBY?cXc&h?mH}NxGs^Zn zfi_=!6eNo{ix{jp-{|S=RE&>*Bln=45g8ICM z!Q-Xk24EX}jk_cmmg?JKkNRRsWlZ@hCSYOoNqsL^!Ar^DK8A!*@92wRsBK~6;UQIu zL;44|bMU=!b&`w{N|PsQ=OovvlkCp59tRcVfSBln;%klBTqx$fwtMd- z`*5&nUmAsyl-y^iSQp_t!8R0};^@9vaobMu~3_IuL`Vg`n(@7A`NPGY>0%JTc zRDwq}?9D6J6B|v5``fhk_4d27>6i zT>1^3EX}bO3drGQdlLg?hUc2h3ko^&%-Y^9xmE&;T8$hvDSMHbn9q(69`0MEnKEx1 zS;x1RCT}0DKIOw6*92O~kx5hKGz)|-5b~{t7Un*}xy;rxb}t2fq8|szpB%GMN13!> zsJJ5}wA%>?0uDIR!Teug*Nj_eBH+tZ`O)N}7#4fF>Lb)&j`6rqxuq`XdqE&*h!+r0 z*c3<_Njp>rI-M}IJOJLevx=FImFBGHX+c8+J}`Y=s&ug&q4LXX~b|1eNZUD~Hb4Y{es6mZ2otDDHH z`aOdN7>e4Ew$q9bBw7zP(2U$4tRSUH`ol4KmD^is{dY23T5ArOjWr~>f(D#XjYJ0T z{;!?o0HJa_Z9G}J3$Ovs*<%;!kjHP9B1Y6+M;eOWZNXyqs?vjCzI3B2A6kPHvW%LF zo0X$*APVvTG^5{^khsW098-fp&)yR2nu<)@HRJ~&Ob4_E1mU4CxCRCn6~gx&?7#%6 zytEOBRJrJc=oHygEJktYgdz;oV_kVAJX4ninNxq z&DeigB`_(%qJ&B!PWgJWa2js&hNqjl<0#$^o!*Pxue`(bUUYjdlyGsO{tzp!w*z_9G$VBZ#-27 zo7zACD$V^h?#?ShR&(d@OzW#uKRxwe&_y>Y>IHWvEONc={3@&`(Wnq zRHXaBkd!{YII*6~n#s{v;U70zZ+z=ql2nfwHAunL4T5XDu_~D4ukU|uxgzk{UAMCN zBb;9snAPoRpXl(-Z^c-Kj)g*q-4aErsSHdx$L|hKoa=JWgvmSI$TR^5ZK=e-ZO;@# zSe3xNs6SI`(Ing;l^^(;$BRA{BCz?4kH~}|Gifk z0?Qk9e*pFjy|mS15yy&+kP~ai5zI(z{AU)Ur-5K20^fF zLHwtLk`=gRXteE}%9g$VIb+5FI7_b-Vdq0*|D_XHDH0$!Ogu8_ZE~}+Vu7+XPFHt( zlujGkqn*rb5BMcR_{g5ZZ1|AVwGD0zO8ApLQ-ybr3k5+O0zX@|LJp!*%(8pde-0b#wcDyaE296mX5I%HLIQ|tW zHFTgsze$F<-ypodj;_7O-Fk{`p_w>$_GynYnbFfa>|qJp;eN0pN$b})izzW)oILInbThx9-%w1A4)JRtB0;8hDS*(4~^EE+D zuGRzV_B$hCjAD2J5cI@_=rk6501k?l2T;(h(lpQ?)w|ZiVp25P5kI-T=_1)kS`58e zwr=fl6UKW2qq#;*O!-g*b!n2$*|FEh6V9%0D<`U7?6)Z!3y%n7JXp5s5q|}CcA%&^ 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 V-9BPiZMZ%#4T}N*00001Sz1-}jVJ&B diff --git a/R/tidymodels.R b/R/tidymodels.R old mode 100644 new mode 100755 diff --git a/R/zz_deprecated.R b/R/zz_deprecated.R index fb9b7c1dc..66f4076db 100755 --- a/R/zz_deprecated.R +++ b/R/zz_deprecated.R @@ -70,6 +70,13 @@ as.data.frame.deprecated_amr_dataset <- function(x, ...) { # - `antibiotics` in `antibiogram()` # - `converse_capped_values` in `as.sir()` +#' @rdname AMR-deprecated +#' @export +custom_eucast_rules <- function(...) { + deprecation_warning("custom_eucast_rules", "custom_interpretive_rules", is_function = TRUE) + custom_interpretive_rules(...) +} + #' @rdname AMR-deprecated #' @export ab_class <- function(...) { diff --git a/data-raw/_pre_commit_checks.R b/data-raw/_pre_commit_checks.R index 6a083863d..60c776fdf 100644 --- a/data-raw/_pre_commit_checks.R +++ b/data-raw/_pre_commit_checks.R @@ -42,9 +42,9 @@ pre_commit_lst <- list() usethis::ui_info(paste0("Updating internal package data")) -# See 'data-raw/eucast_rules.tsv' for the EUCAST reference file -pre_commit_lst$EUCAST_RULES_DF <- utils::read.delim( - file = "data-raw/eucast_rules.tsv", +# See 'data-raw/interpretive_rules.tsv' for the interpretive rules reference file +pre_commit_lst$INTERPRETIVE_RULES_DF <- utils::read.delim( + file = "data-raw/interpretive_rules.tsv", skip = 9, sep = "\t", stringsAsFactors = FALSE, @@ -364,7 +364,7 @@ pre_commit_lst$MO_RELEVANT_GENERA <- c( ) # antibiotic groups -# (these will also be used for eucast_rules() and understanding data-raw/eucast_rules.tsv) +# (these will also be used for interpretive_rules() and understanding data-raw/interpretive_rules.tsv) pre_commit_lst$AB_AMINOGLYCOSIDES <- antimicrobials %>% filter(group %like% "aminoglycoside|paromomycin|spectinomycin") %>% pull(ab) diff --git a/data-raw/interpretive_rules.tsv b/data-raw/interpretive_rules.tsv new file mode 100644 index 000000000..8c5c22473 --- /dev/null +++ b/data-raw/interpretive_rules.tsv @@ -0,0 +1,1533 @@ +# ------------------------------------------------------------------------------------------------------------------------------- +# For editing this interpretive rules reference file, these values can all be used for targeting antibiotics: +# aminoglycosides, aminopenicillins, antifungals, antimycobacterials, betalactams, betalactams_with_inhibitor, carbapenems, cephalosporins, cephalosporins_1st, cephalosporins_2nd, cephalosporins_3rd, cephalosporins_4th, cephalosporins_5th, cephalosporins_except_CAZ, fluoroquinolones, glycopeptides, glycopeptides_except_lipo, lincosamides, lipoglycopeptides, macrolides, oxazolidinones, penicillins, polymyxins, quinolones, streptogramins, tetracyclines, tetracyclines_except_TGC, trimethoprims, ureidopenicillins +# and all separate EARS-Net letter codes such as AMC. They can be separated by comma: 'AMC, fluoroquinolones'. +# The 'if_mo_property' column can be any column name from the AMR::microorganisms data set, or 'genus_species' or 'gramstain'. If 'this_value' exists in AMR::microorganisms.groups$mo_group_name it will be expanded in interpretive_rules() to all relevant species occuring in microorganisms.groups$mo_name before further processing of the line in this file. +# The like.is.one_of column must be 'like' or 'is' or 'one_of' ('like' will read the 'this_value' column as regular expression) +# The EUCAST guideline contains references to the 'Burkholderia cepacia complex'. All species in this group are noted on the 'B.cepacia' sheet of the EUCAST Clinical Breakpoint v.10.0 Excel file of 2020 and later +# >>>>> IF YOU WANT TO IMPORT THIS FILE INTO YOUR OWN SOFTWARE, HAVE THE FIRST 9 LINES SKIPPED <<<<< +# ------------------------------------------------------------------------------------------------------------------------------- +rule.provider reference.rule_group reference.version reference.rule if_mo_property like.is.one_of this_value and_these_antibiotics have_these_values then_change_these_antibiotics to_value note +EUCAST Breakpoints 10 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR S fluoroquinolones S +EUCAST Breakpoints 10 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR I fluoroquinolones I +EUCAST Breakpoints 10 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR R fluoroquinolones R +EUCAST Breakpoints 10 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola CIP S LVX S +EUCAST Breakpoints 10 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola CIP I LVX I +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus sanguinicola CIP R LVX R +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae NOR S fluoroquinolones S +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae NOR I fluoroquinolones I +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae NOR R fluoroquinolones R +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 10 Aerococcus urinae genus_species is Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 10 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN S AMP, AMX, PIP, TZP, TIC S +EUCAST Breakpoints 10 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN I AMP, AMX, PIP, TZP, TIC I +EUCAST Breakpoints 10 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN R AMP, AMX, PIP, TZP, TIC R +EUCAST Breakpoints 10 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN S AMP, AMX, PIP, TZP, TIC S +EUCAST Breakpoints 10 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN I AMP, AMX, PIP, TZP, TIC I +EUCAST Breakpoints 10 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN R AMP, AMX, PIP, TZP, TIC R +EUCAST Breakpoints 10 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY S DOX S +EUCAST Breakpoints 10 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY I DOX I +EUCAST Breakpoints 10 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY R DOX R +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli ERY S AZM, CLR S +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli ERY I AZM, CLR I +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli ERY R AZM, CLR R +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli TCY S DOX S +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli TCY I DOX I +EUCAST Breakpoints 10 Campylobacter coli genus_species is Campylobacter coli TCY R DOX R +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 10 Campylobacter jejuni genus_species is Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 10 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 10 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 10 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus NOR S CIP, LVX S +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus NOR I CIP, LVX I +EUCAST Breakpoints 10 Enterococcus genus is Enterococcus NOR R CIP, LVX R +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMP S AMX, PIP S +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMP I AMX, PIP I +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMP R AMX, PIP R +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S TZP S +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I TZP I +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R TZP R +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae NAL S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 10 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae TCY I DOX I +EUCAST Breakpoints 10 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY I AZM, CLR, RXT I +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 10 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 10 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 10 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 10 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus PEN, FOX S betalactams_with_inhibitor S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus PEN, FOX R, S OXA, FLC S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus FOX R betalactams R +EUCAST Breakpoints 10 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus FOX S carbapenems, cephalosporins_except_CAZ S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus FOX I carbapenems, cephalosporins_except_CAZ I +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus FOX R carbapenems, cephalosporins_except_CAZ R +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus ERY I AZM, CLR, RXT I +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus ERY R AZM, CLR, RXT R +EUCAST Breakpoints 10 Staphylococcus genus is Staphylococcus TCY S DOX, MNO S +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC S +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC I +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC R +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S MFX S +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX I +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY I AZM, CLR, RXT I +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 10 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY S DOX, MNO S +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S MFX S +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX I +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY I AZM, CLR, RXT I +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 10 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY S DOX, MNO S +EUCAST Breakpoints 10 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 10 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 10 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 11 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR S fluoroquinolones S +EUCAST Breakpoints 11 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR I fluoroquinolones I +EUCAST Breakpoints 11 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola NOR R fluoroquinolones R +EUCAST Breakpoints 11 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola CIP S LVX S +EUCAST Breakpoints 11 Aerococcus sanguinicola genus_species is Aerococcus sanguinicola CIP I LVX I +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus sanguinicola CIP R LVX R +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae NOR S fluoroquinolones S +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae NOR I fluoroquinolones I +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae NOR R fluoroquinolones R +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 11 Aerococcus urinae genus_species is Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 11 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN S AMP, AMX, PIP, TIC S +EUCAST Breakpoints 11 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN I AMP, AMX, PIP, TIC I +EUCAST Breakpoints 11 Anaerobic Gram-negatives genus one_of Bacteroides, Bilophila , Fusobacterium, Mobiluncus, Porphyromonas, Prevotella PEN R AMP, AMX, PIP, TIC R +EUCAST Breakpoints 11 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN S AMP, AMX, PIP, TIC S +EUCAST Breakpoints 11 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN I AMP, AMX, PIP, TIC I +EUCAST Breakpoints 11 Anaerobic Gram-positives genus one_of Actinomyces, Bifidobacterium, Clostridium, Clostridioides, Cutibacterium, Eggerthella, Eubacterium, Lactobacillus, Propionibacterium PEN R AMP, AMX, PIP, TIC R +EUCAST Breakpoints 11 Bacillus genus is Bacillus NOR S fluoroquinolones S added in 11 +EUCAST Breakpoints 11 Bacillus genus is Bacillus NOR I fluoroquinolones I added in 11 +EUCAST Breakpoints 11 Bacillus genus is Bacillus NOR R fluoroquinolones R added in 11 +EUCAST Breakpoints 11 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY S DOX S +EUCAST Breakpoints 11 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY I DOX I +EUCAST Breakpoints 11 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY R DOX R +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli ERY S AZM, CLR S +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli ERY I AZM, CLR I +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli ERY R AZM, CLR R +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli TCY S DOX S +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli TCY I DOX I +EUCAST Breakpoints 11 Campylobacter coli genus_species is Campylobacter coli TCY R DOX R +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 11 Campylobacter jejuni genus_species is Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 11 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 11 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 11 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus NOR S CIP, LVX S +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus NOR I CIP, LVX I +EUCAST Breakpoints 11 Enterococcus genus is Enterococcus NOR R CIP, LVX R +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMP S AMX, PIP S +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMP I AMX, PIP I +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMP R AMX, PIP R +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S TZP S +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I TZP I +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R TZP R +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae NAL S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 11 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae TCY I DOX I +EUCAST Breakpoints 11 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY I AZM, CLR, RXT I +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 11 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 11 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 11 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 11 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus PEN, FOX S betalactams_with_inhibitor S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus PEN, FOX R, S OXA, FLC S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus FOX R betalactams R +EUCAST Breakpoints 11 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus FOX S carbapenems, cephalosporins_except_CAZ S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus FOX I carbapenems, cephalosporins_except_CAZ I +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus FOX R carbapenems, cephalosporins_except_CAZ R +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus ERY I AZM, CLR, RXT I +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus ERY R AZM, CLR, RXT R +EUCAST Breakpoints 11 Staphylococcus genus is Staphylococcus TCY S DOX, MNO S +EUCAST Breakpoints 11 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CTX, CRO I +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC S +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC I +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC R +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S MFX S +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX I +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY I AZM, CLR, RXT I +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 11 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY S DOX, MNO S +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S MFX S +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX I +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY I AZM, CLR, RXT I +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 11 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY S DOX, MNO S +EUCAST Breakpoints 11 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ PEN S AMP, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP S AMX, AMC, PIP, TZP S +EUCAST Breakpoints 11 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP I AMX, AMC, PIP, TZP I +EUCAST Breakpoints 11 Viridans group streptococci genus_species like ^Streptococcus (anginosus|australis|bovis|constellatus|cristatus|equinus|gallolyticus|gordonii|infantarius|infantis|intermedius|mitis|mutans|oligofermentans|oralis|parasanguinis|peroris|pseudopneumoniae|salivarius|sanguinis|sinensis|sobrinus|thermophilus|vestibularis|viridans)$ AMP R AMX, AMC, PIP, TZP R +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP S AMX S +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP I AMX I +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP R AMX R +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I +EUCAST Breakpoints 12 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R +EUCAST Breakpoints 12 Bacillus genus is Bacillus NOR-S S CIP, LVX I +EUCAST Breakpoints 12 Bacillus genus is Bacillus NOR-S R CIP, LVX R +EUCAST Breakpoints 12 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S S DOX I +EUCAST Breakpoints 12 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S R DOX R +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 12 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 12 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 12 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 12 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 12 Enterobacterales (Order) order is Enterobacterales LEX S CZO I +EUCAST Breakpoints 12 Enterobacterales (Order) order is Enterobacterales CFR S CZO I +EUCAST Breakpoints 12 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S +EUCAST Breakpoints 12 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I +EUCAST Breakpoints 12 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R +EUCAST Breakpoints 12 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S +EUCAST Breakpoints 12 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I +EUCAST Breakpoints 12 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus AMP I AMP, SAM, AMX, AMC, PIP, TZP I +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX, AMC, PIP, TZP R +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I +EUCAST Breakpoints 12 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R SAM R +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S I CIP, LVX, MFX, OFX I +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 12 Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae BLA-S R PEN, AMP, AMX R +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 12 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis BLA-S R AMP, AMX, APL, APX, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CLO, CRB, CRN, DIC, EPC, FLC, HET, LEN, MEC, MET, MEZ, MTM, NAF, OXA, PEN, PHE, PHN, PIP, PME, PNM, PRB, PRC, PRP, PVM, SBC, SLT6, SRX, TAL, TEM, TIC R penicillins()[!penicillins() %in% betalactams_with_inhibitor()] +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 12 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY R DOX, MNO R +EUCAST Breakpoints 12 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S R AMP, AMX R +EUCAST Breakpoints 12 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, S AMP, AMX S +EUCAST Breakpoints 12 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, I AMP, AMX I +EUCAST Breakpoints 12 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, R AMP, AMX R +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S S MNO S +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S I MNO I +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S R MNO R +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S S DOX S +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S I DOX I +EUCAST Breakpoints 12 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S R DOX R +EUCAST Breakpoints 12 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 12 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 12 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 12 Pasteurella multocida genus_species is Pasteurella multocida NAL-S S CIP, LVX S +EUCAST Breakpoints 12 Pasteurella multocida genus_species is Pasteurella multocida NAL-S R CIP, LVX R +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus FOX-S R penicillins R See last sentence: Isolates that test resistant to cefoxitin are resistant to all penicillins +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S S, S penicillins S +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S R, S betalactams_with_inhibitor, isoxazolylpenicillins, NAF S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CPT S +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus FOX-S S BPR S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S S carbapenems S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S I carbapenems I +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus FOX-S R carbapenems R +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S carbapenems S Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I carbapenems I Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 12 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R carbapenems R Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus NOR-S S MFX S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus NOR-S S CIP, LVX I +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus VAN S DAL, ORI S +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus FOX-S, VAN R, S TLV S MRSA isolates are in this file safely denoted as FOX resistant +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 12 Staphylococcus genus is Staphylococcus TCY-S S DOX, MNO S +EUCAST Breakpoints 12 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CTX, CRO I +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN S penicillins S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN I penicillins I +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN R penicillins R +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN S AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP S penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN I AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP I penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN R AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP R penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S cephalosporins S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I cephalosporins I +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R cephalosporins R +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S carbapenems S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I carbapenems I +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R carbapenems R +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G VAN S DAL, ORI S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S +EUCAST Breakpoints 12 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN R PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, SAM, PIP, TZP S +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, SAM, PIP, TZP I +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, SAM, PIP, TZP R +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S S DOX, MNO S +EUCAST Breakpoints 12 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S R DOX, MNO R +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio PEF-S S CIP, LVX S +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio PEF-S I CIP, LVX I +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio PEF-S R CIP, LVX R +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio ERY S AZM S +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio ERY I AZM I +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio ERY R AZM R +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio TCY-S S DOX S +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio TCY-S I DOX I +EUCAST Breakpoints 12 Vibrio spp. genus is Vibrio TCY-S R DOX R +EUCAST Breakpoints 12 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP S paste("Streptococcus", mo_species(microorganisms.groups$mo[which(microorganisms.groups$mo_group == "B_STRPT_VIRI")]), collapse = ", ") +EUCAST Breakpoints 12 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S R AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP R paste("Streptococcus", mo_species(microorganisms.groups$mo[which(microorganisms.groups$mo_group == "B_STRPT_VIRI")]), collapse = ", ") +EUCAST Breakpoints 12 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S paste("Streptococcus", mo_species(microorganisms.groups$mo[which(microorganisms.groups$mo_group == "B_STRPT_VIRI")]), collapse = ", ") +EUCAST Breakpoints 12 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I paste("Streptococcus", mo_species(microorganisms.groups$mo[which(microorganisms.groups$mo_group == "B_STRPT_VIRI")]), collapse = ", ") +EUCAST Breakpoints 12 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R paste("Streptococcus", mo_species(microorganisms.groups$mo[which(microorganisms.groups$mo_group == "B_STRPT_VIRI")]), collapse = ", ") +EUCAST Breakpoints 13 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CTX, CRO I +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP S AMX S +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP I AMX I +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP R AMX R +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I +EUCAST Breakpoints 14 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R +EUCAST Breakpoints 14 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 14 Anaerobic bacteria genus is Prevotella AMP S AMX S +EUCAST Breakpoints 14 Anaerobic bacteria genus is Prevotella AMP I AMX I +EUCAST Breakpoints 14 Anaerobic bacteria genus is Prevotella AMP R AMX R +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I +EUCAST Breakpoints 14 Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R +EUCAST Breakpoints 14 Bacillus genus is Bacillus NOR-S S CIP, LVX I +EUCAST Breakpoints 14 Bacillus genus is Bacillus NOR-S R CIP, LVX R +EUCAST Breakpoints 14 Bacillus anthracis genus_species is Bacillus anthracis PEN I AMX S +EUCAST Breakpoints 14 Bacillus anthracis genus_species is Bacillus anthracis PEN R AMX R +EUCAST Breakpoints 14 Bacillus anthracis genus_species is Bacillus anthracis TCY-S S DOX S +EUCAST Breakpoints 14 Bacillus anthracis genus_species is Bacillus anthracis TCY-S R DOX R +EUCAST Breakpoints 14 Brucella melitensis genus_species is Brucella melitensis TCY-S S DOX S +EUCAST Breakpoints 14 Brucella melitensis genus_species is Brucella melitensis TCY-S R DOX R +EUCAST Breakpoints 14 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S S DOX I +EUCAST Breakpoints 14 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S R DOX R +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 14 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I CTX I +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R CTX R +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I MEM S +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R MEM R +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY S DOX S +EUCAST Breakpoints 14 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY R DOX R +EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales LEX S CZO I +EUCAST Breakpoints 14 Enterobacterales (Order) order is Enterobacterales CFR S CZO I +EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S +EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I +EUCAST Breakpoints 14 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R +EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S +EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I +EUCAST Breakpoints 14 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus AMP I AMP, SAM, AMX, AMC, PIP, TZP I +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX, AMC, PIP, TZP R +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I +EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R SAM R +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S I CIP, LVX, MFX, OFX I +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae BLA-S R PEN, AMP, AMX R +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 14 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis BLA-S R AMP, AMX, APL, APX, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CLO, CRB, CRN, DIC, EPC, FLC, HET, LEN, MEC, MET, MEZ, MTM, NAF, OXA, PEN, PHE, PHN, PIP, PME, PNM, PRB, PRC, PRP, PVM, SBC, SLT6, SRX, TAL, TEM, TIC R penicillins()[!penicillins() %in% betalactams_with_inhibitor()] +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 14 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY R DOX, MNO R +EUCAST Breakpoints 14 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S R AMP, AMX R +EUCAST Breakpoints 14 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, S AMP, AMX S +EUCAST Breakpoints 14 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, I AMP, AMX I +EUCAST Breakpoints 14 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, R AMP, AMX R +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S S MNO S +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S I MNO I +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S R MNO R +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S S DOX S +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S I DOX I +EUCAST Breakpoints 14 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S R DOX R +EUCAST Breakpoints 14 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 14 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 14 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 14 Pasteurella multocida genus_species is Pasteurella multocida NAL-S S CIP, LVX S +EUCAST Breakpoints 14 Pasteurella multocida genus_species is Pasteurella multocida NAL-S R CIP, LVX R +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus FOX-S R penicillins R See last sentence: Isolates that test resistant to cefoxitin are resistant to all penicillins +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S S, S penicillins S +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S R, S betalactams_with_inhibitor, isoxazolylpenicillins, NAF S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CPT S +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus FOX-S S BPR S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S S carbapenems S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S I carbapenems I +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus FOX-S R carbapenems R +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S carbapenems S Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I carbapenems I Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 14 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R carbapenems R Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus NOR-S S MFX S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus NOR-S S CIP, LVX I +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus coagulase-negative VAN, TEC S, S DAL S +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus VAN S DAL, ORI S +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus FOX-S, VAN R, S TLV S MRSA isolates are in this file safely denoted as FOX resistant +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 14 Staphylococcus genus is Staphylococcus TCY-S S DOX, MNO S +EUCAST Breakpoints 14 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CTX, CRO I +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN S penicillins S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN I penicillins I +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN R penicillins R +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN S AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP S penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN I AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP I penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN R AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP R penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S cephalosporins S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I cephalosporins I +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R cephalosporins R +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S carbapenems S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I carbapenems I +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R carbapenems R +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G VAN S DAL, ORI S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S +EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN R PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, SAM, PIP, TZP S +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, SAM, PIP, TZP I +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, SAM, PIP, TZP R +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S S DOX, MNO S +EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S R DOX, MNO R +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio PEF-S S CIP, LVX S +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio PEF-S I CIP, LVX I +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio PEF-S R CIP, LVX R +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio ERY S AZM S +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio ERY I AZM I +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio ERY R AZM R +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio TCY-S S DOX S +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio TCY-S I DOX I +EUCAST Breakpoints 14 Vibrio spp. genus is Vibrio TCY-S R DOX R +EUCAST Breakpoints 14 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP S will be expanded in eucast_rules() +EUCAST Breakpoints 14 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S R AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP R will be expanded in eucast_rules() +EUCAST Breakpoints 14 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S will be expanded in eucast_rules() +EUCAST Breakpoints 14 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I will be expanded in eucast_rules() +EUCAST Breakpoints 14 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R will be expanded in eucast_rules() +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP S AMX S +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP I AMX I +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP R AMX R +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I +EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R +EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP S AMX S +EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP I AMX I +EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP R AMX R +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I +EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R +EUCAST Breakpoints 15 Bacillus genus is Bacillus NOR-S S CIP, LVX I +EUCAST Breakpoints 15 Bacillus genus is Bacillus NOR-S R CIP, LVX R +EUCAST Breakpoints 15 Bacillus anthracis genus_species is Bacillus anthracis PEN I AMX S +EUCAST Breakpoints 15 Bacillus anthracis genus_species is Bacillus anthracis PEN R AMX R +EUCAST Breakpoints 15 Bacillus anthracis genus_species is Bacillus anthracis TCY-S S DOX S +EUCAST Breakpoints 15 Bacillus anthracis genus_species is Bacillus anthracis TCY-S R DOX R +EUCAST Breakpoints 15 Brucella melitensis genus_species is Brucella melitensis TCY-S S DOX S +EUCAST Breakpoints 15 Brucella melitensis genus_species is Brucella melitensis TCY-S R DOX R +EUCAST Breakpoints 15 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S S DOX I +EUCAST Breakpoints 15 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S R DOX R +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 15 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I CTX I +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R CTX R +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I MEM S +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R MEM R +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY S DOX S +EUCAST Breakpoints 15 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY R DOX R +EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales LEX S CZO I +EUCAST Breakpoints 15 Enterobacterales (Order) order is Enterobacterales CFR S CZO I +EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S +EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I +EUCAST Breakpoints 15 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R +EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S +EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I +EUCAST Breakpoints 15 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus AMP S AMP, SAM, AMX S +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus AMP I AMP, SAM, AMX I +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX R +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus AMP R AMX, AMC R +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I +EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R SAM R +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae BLA-S R PEN, AMP, AMX R +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 15 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis BLA-S R AMP, AMX, APL, APX, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CLO, CRB, CRN, DIC, EPC, FLC, HET, LEN, MEC, MET, MEZ, MTM, NAF, OXA, PEN, PHE, PHN, PIP, PME, PNM, PRB, PRC, PRP, PVM, SBC, SLT6, SRX, TAL, TEM, TIC R penicillins()[!penicillins() %in% betalactams_with_inhibitor()] +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 15 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY R DOX, MNO R +EUCAST Breakpoints 15 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S R AMP, AMX R +EUCAST Breakpoints 15 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, S AMP, AMX S +EUCAST Breakpoints 15 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, I AMP, AMX I +EUCAST Breakpoints 15 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, R AMP, AMX R +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S S MNO S +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S I MNO I +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S R MNO R +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S S DOX S +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S I DOX I +EUCAST Breakpoints 15 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S R DOX R +EUCAST Breakpoints 15 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 15 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 15 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 15 Pasteurella multocida genus_species is Pasteurella multocida NAL-S S CIP, LVX S +EUCAST Breakpoints 15 Pasteurella multocida genus_species is Pasteurella multocida NAL-S R CIP, LVX R +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus FOX-S R penicillins R See last sentence: Isolates that test resistant to cefoxitin are resistant to all penicillins +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S S, S penicillins S +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S R, S betalactams_with_inhibitor, isoxazolylpenicillins, NAF S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CPT S +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus FOX-S S BPR S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S S carbapenems S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S I carbapenems I +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus FOX-S R carbapenems R +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S carbapenems S Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I carbapenems I Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 15 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R carbapenems R Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus NOR-S S MFX S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus NOR-S S CIP, LVX I +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 15 Staphylococcus genus is Staphylococcus TCY-S S DOX, MNO S +EUCAST Breakpoints 15 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CTX, CRO I +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN S penicillins S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN I penicillins I +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN R penicillins R +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN S AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP S penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN I AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP I penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN R AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP R penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S cephalosporins S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I cephalosporins I +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R cephalosporins R +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S carbapenems S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I carbapenems I +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R carbapenems R +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G VAN S DAL, ORI S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S +EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN R PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, SAM, PIP, TZP S +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, SAM, PIP, TZP I +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, SAM, PIP, TZP R +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S S DOX, MNO S +EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S R DOX, MNO R +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio PEF-S S CIP, LVX S +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio PEF-S I CIP, LVX I +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio PEF-S R CIP, LVX R +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio ERY S AZM S +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio ERY I AZM I +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio ERY R AZM R +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio TCY-S S DOX S +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio TCY-S I DOX I +EUCAST Breakpoints 15 Vibrio spp. genus is Vibrio TCY-S R DOX R +EUCAST Breakpoints 15 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP S MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 15 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S R AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP R MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 15 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 15 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 15 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP S AMX S +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP I AMX I +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP R AMX R +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I +EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R +EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP S AMX S +EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP I AMX I +EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP R AMX R +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I +EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R +EUCAST Breakpoints 16 Bacillus genus is Bacillus NOR-S S CIP, LVX I +EUCAST Breakpoints 16 Bacillus genus is Bacillus NOR-S R CIP, LVX R +EUCAST Breakpoints 16 Bacillus anthracis genus_species is Bacillus anthracis PEN I AMX S +EUCAST Breakpoints 16 Bacillus anthracis genus_species is Bacillus anthracis PEN R AMX R +EUCAST Breakpoints 16 Bacillus anthracis genus_species is Bacillus anthracis TCY-S S DOX S +EUCAST Breakpoints 16 Bacillus anthracis genus_species is Bacillus anthracis TCY-S R DOX R +EUCAST Breakpoints 16 Brucella melitensis genus_species is Brucella melitensis TCY-S S DOX S +EUCAST Breakpoints 16 Brucella melitensis genus_species is Brucella melitensis TCY-S R DOX R +EUCAST Breakpoints 16 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S S DOX I +EUCAST Breakpoints 16 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S R DOX R +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 16 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I CTX I +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R CTX R +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I MEM S +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R MEM R +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY S DOX S +EUCAST Breakpoints 16 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY R DOX R +EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales LEX S CZO I +EUCAST Breakpoints 16 Enterobacterales (Order) order is Enterobacterales CFR S CZO I +EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S +EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I +EUCAST Breakpoints 16 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R +EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S +EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I +EUCAST Breakpoints 16 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus AMP S AMP, SAM, AMX S +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus AMP I AMP, SAM, AMX I +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX R +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus AMP R AMX, AMC R +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I +EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R SAM R +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae BLA-S R PEN, AMP, AMX R +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 16 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis BLA-S R AMP, AMX, APL, APX, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CLO, CRB, CRN, DIC, EPC, FLC, HET, LEN, MEC, MET, MEZ, MTM, NAF, OXA, PEN, PHE, PHN, PIP, PME, PNM, PRB, PRC, PRP, PVM, SBC, SLT6, SRX, TAL, TEM, TIC R penicillins()[!penicillins() %in% betalactams_with_inhibitor()] +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 16 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY R DOX, MNO R +EUCAST Breakpoints 16 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S R AMP, AMX R +EUCAST Breakpoints 16 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, S AMP, AMX S +EUCAST Breakpoints 16 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, I AMP, AMX I +EUCAST Breakpoints 16 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, R AMP, AMX R +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S S MNO S +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S I MNO I +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S R MNO R +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S S DOX S +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S I DOX I +EUCAST Breakpoints 16 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S R DOX R +EUCAST Breakpoints 16 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 16 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 16 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 16 Pasteurella multocida genus_species is Pasteurella multocida NAL-S S CIP, LVX S +EUCAST Breakpoints 16 Pasteurella multocida genus_species is Pasteurella multocida NAL-S R CIP, LVX R +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus aureus FOX-S R penicillins R See last sentence: Isolates that test resistant to cefoxitin are resistant to all penicillins +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S S, S penicillins S +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S R, S betalactams_with_inhibitor, isoxazolylpenicillins, NAF S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S S CZO, FEP, CTX, CRO, CXM I +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("CZO", "FEP", "CTX", "CRO", "CXM", "cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus OXA-S S CZO, FEP, CTX, CRO, CXM I +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("CZO", "FEP", "CTX", "CRO", "CXM", "cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTA, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FEP, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "cefiderocol", "ceftolozan/tazobactam"))])) |> toString() +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CPT S +EUCAST Breakpoints 16 Staphylococcus genus_species is Staphylococcus aureus FOX-S S BPR S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S S carbapenems S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S I carbapenems I +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus FOX-S R carbapenems R +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S carbapenems S Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I carbapenems I Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 16 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R carbapenems R Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus NOR-S S MFX S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus NOR-S S CIP, LVX I +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 16 Staphylococcus genus is Staphylococcus TCY-S S DOX, MNO S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN S penicillins S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN I penicillins I +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN R penicillins R +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN S AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP S penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN I AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP I penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN R AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP R penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S cephalosporins S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I cephalosporins I +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R cephalosporins R +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S carbapenems S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I carbapenems I +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R carbapenems R +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G VAN S DAL, ORI S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S +EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN R PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, SAM, PIP, TZP S +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, SAM, PIP, TZP I +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, SAM, PIP, TZP R +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S S DOX, MNO S +EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S R DOX, MNO R +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio PEF-S S CIP, LVX S +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio PEF-S I CIP, LVX I +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio PEF-S R CIP, LVX R +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio ERY S AZM S +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio ERY I AZM I +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio ERY R AZM R +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio TCY-S S DOX S +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio TCY-S I DOX I +EUCAST Breakpoints 16 Vibrio spp. genus is Vibrio TCY-S R DOX R +EUCAST Breakpoints 16 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP S MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 16 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S R AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP R MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 16 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 16 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 16 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R MO group name will be expanded in eucast_rules() +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP S AMX S +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP I AMX I +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae AMP R AMX R +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP S LVX S +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP I LVX I +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae CIP R LVX R +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I +EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R +EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP S AMX S +EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP I AMX I +EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP R AMX R +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I +EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R +EUCAST Breakpoints 13.1 Bacillus genus is Bacillus NOR-S S CIP, LVX I +EUCAST Breakpoints 13.1 Bacillus genus is Bacillus NOR-S R CIP, LVX R +EUCAST Breakpoints 13.1 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S S DOX I +EUCAST Breakpoints 13.1 Burkholderia pseudomallei genus_species is Burkholderia pseudomallei TCY-S R DOX R +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY S AZM, CLR S +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY I AZM, CLR I +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni ERY R AZM, CLR R +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY S DOX S +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY I DOX I +EUCAST Breakpoints 13.1 Campylobacter coli/jejuni genus_species one_of Campylobacter coli, Campylobacter jejuni TCY R DOX R +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN S CTX S +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I CTX I +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R CTX R +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I MEM S +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R MEM R +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY S DOX S +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY I DOX I +EUCAST Breakpoints 13.1 Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY R DOX R +EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP S AMX S +EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP I AMX I +EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales AMP R AMX R +EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales LEX S CZO I +EUCAST Breakpoints 13.1 Enterobacterales (Order) order is Enterobacterales CFR S CZO I +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S S CIP S +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S I CIP I +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus is Salmonella PEF-S R CIP R +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY S DOX S +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY I DOX I +EUCAST Breakpoints 13.1 Enterobacterales (Order) genus_species is Yersinia enterocolitica TCY R DOX R +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus AMP I AMP, SAM, AMX, AMC, PIP, TZP I +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX, AMC, PIP, TZP R +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I +EUCAST Breakpoints 13.1 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae AMC R SAM R +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S I CIP, LVX, MFX, OFX I +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Breakpoints 13.1 Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae BLA-S R PEN, AMP, AMX R +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae PEN S AMP, AMX S +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae PEN I AMP, AMX I +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae PEN R AMP, AMX R +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae ERY S AZM, CLR S +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae ERY I AZM, CLR I +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae ERY R AZM, CLR R +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae TCY S DOX S +EUCAST Breakpoints 13.1 Kingella kingae genus_species is Kingella kingae TCY R DOX R +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis BLA-S R AMP, AMX, APL, APX, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CLO, CRB, CRN, DIC, EPC, FLC, HET, LEN, MEC, MET, MEZ, MTM, NAF, OXA, PEN, PHE, PHN, PIP, PME, PNM, PRB, PRC, PRP, PVM, SBC, SLT6, SRX, TAL, TEM, TIC R penicillins()[!penicillins() %in% betalactams_with_inhibitor()] +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC S TZP S +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC I TZP I +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis AMC R TZP R +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S S CIP, LVX, MFX, OFX S +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL-S R CIP, LVX, MFX, OFX R +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY S AZM, CLR, RXT S +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis ERY R AZM, CLR, RXT R +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY S DOX, MNO S +EUCAST Breakpoints 13.1 Moraxella catarrhalis genus_species is Moraxella catarrhalis TCY R DOX, MNO R +EUCAST Breakpoints 13.1 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S R AMP, AMX R +EUCAST Breakpoints 13.1 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, S AMP, AMX S +EUCAST Breakpoints 13.1 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, I AMP, AMX I +EUCAST Breakpoints 13.1 Neisseria gonorrhoeae genus_species is Neisseria gonorrhoeae BLA-S, PEN S, R AMP, AMX R +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S S MNO S +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S I MNO I +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Neisseria meningitidis TCY-S R MNO R +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S S DOX S +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S I DOX I +EUCAST Breakpoints 13.1 Neisseria meningitidis genus_species is Pasteurella multocida TCY-S R DOX R +EUCAST Breakpoints 13.1 Pasteurella multocida genus_species is Pasteurella multocida PEN S AMP, AMX S +EUCAST Breakpoints 13.1 Pasteurella multocida genus_species is Pasteurella multocida PEN I AMP, AMX I +EUCAST Breakpoints 13.1 Pasteurella multocida genus_species is Pasteurella multocida PEN R AMP, AMX R +EUCAST Breakpoints 13.1 Pasteurella multocida genus_species is Pasteurella multocida NAL-S S CIP, LVX S +EUCAST Breakpoints 13.1 Pasteurella multocida genus_species is Pasteurella multocida NAL-S R CIP, LVX R +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus FOX-S R penicillins R See last sentence: Isolates that test resistant to cefoxitin are resistant to all penicillins +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S S, S penicillins S +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus PEN, FOX-S R, S betalactams_with_inhibitor, isoxazolylpenicillins, NAF S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus saprophyticus AMP S AMP, SAM, AMX, AMC, PIP, TZP S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R PEN, PHN, AMP, AMX, PIP, TIC R +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP S sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP I sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R BPR, CAC, CAT, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CID, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPT, CPX, CRD, CRO, CSE, CSL, CSU, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZD, CZL, CZO, CZP, CZX, DIT, DIX, DIZ, FDC, FEP, FNC, FOV, FOX, FOX-S, FPT, FPZ, HAP, LOR, LTM, MAN, RID, TIO, ZOP R sort(c(cephalosporins()[!cephalosporins() %in% as.ab(c("cefalexin", "ceftazidim", "ceftazidim/avibactam", "ceftibuten", "ceftolozan/tazobactam"))])) +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus FOX-S S CPT S +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus FOX-S S BPR S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S S carbapenems S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S I carbapenems I +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus FOX-S R carbapenems R +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S S carbapenems S Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S I carbapenems I Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 13.1 Staphylococcus genus_species one_of Staphylococcus pseudintermedius, Staphylococcus schleiferi, Staphylococcus coagulans OXA-S R carbapenems R Not explicitly mentioned in guidelines in this section, but previous section about these 3 species do mention OXA as preferred method +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus NOR-S S MFX S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus NOR-S S CIP, LVX I +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus VAN S DAL, ORI S +EUCAST Breakpoints 13.1 Staphylococcus genus_species is Staphylococcus aureus FOX-S, VAN R, S TLV S MRSA isolates are in this file safely denoted as FOX resistant +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus ERY S AZM, CLR, RXT S +EUCAST Breakpoints 13.1 Staphylococcus genus is Staphylococcus TCY-S S DOX, MNO S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN S penicillins S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN I penicillins I +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group C, Streptococcus Group G PEN R penicillins R +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN S AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP S penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN I AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP I penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species is Streptococcus Group B PEN R AMC, AMP, AMX, APL, APX, AXS, AZD, AZL, BAM, BNB, BNP, CIC, CLM, CRB, CRN, EPC, HET, LEN, MEC, MEZ, MSU, MTM, NAF, PEN, PHE, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, SAM, SBC, SLT6, SRX, TAL, TCC, TEM, TIC, TZP R penicillins()[!penicillins() %in% c("PHN", isoxazolylpenicillins())] +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S cephalosporins S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I cephalosporins I +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R cephalosporins R +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S carbapenems S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN I carbapenems I +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN R carbapenems R +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G VAN S DAL, ORI S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY S AZM, CLR, RXT S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S +EUCAST Breakpoints 13.1 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN R PHN R from flowchart: when OXA < 20 or PEN > 0.06 +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP S AMX, AMC, SAM, PIP, TZP S +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP I AMX, AMC, SAM, PIP, TZP I +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae AMP R AMX, AMC, SAM, PIP, TZP R +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S MFX S does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S S LVX I does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR-S R MFX, LVX R does not explicitly state that it is for other fluoroquinolones +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY S AZM, CLR, RXT S +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY R AZM, CLR, RXT R +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S S DOX, MNO S +EUCAST Breakpoints 13.1 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY-S R DOX, MNO R +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio PEF-S S CIP, LVX S +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio PEF-S I CIP, LVX I +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio PEF-S R CIP, LVX R +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio ERY S AZM S +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio ERY I AZM I +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio ERY R AZM R +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio TCY-S S DOX S +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio TCY-S I DOX I +EUCAST Breakpoints 13.1 Vibrio spp. genus is Vibrio TCY-S R DOX R +EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP S will be expanded in eucast_rules() +EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN-S R AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PIP, SAM, TZP R will be expanded in eucast_rules() +EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S will be expanded in eucast_rules() +EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I will be expanded in eucast_rules() +EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R will be expanded in eucast_rules() +EUCAST Breakpoints Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP S AMX S +EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP I AMX I +EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP R AMX R +EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S +EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I +EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R +EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S +EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I +EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I +EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN S CTX S +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I CTX I +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R CTX R +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I MEM S +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R MEM R +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY S DOX S +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY I DOX I +EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans TCY R DOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. order is Enterobacterales PEN, glycopeptides, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species one_of Citrobacter koseri, Citrobacter amalonaticus AMP, AMX, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Citrobacter freundii AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species one_of Enterobacter cloacae complex AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Escherichia hermannii AMP, AMX, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Hafnia alvei AMP, AMX, PLB, COL R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Klebsiella aerogenes AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species one_of Klebsiella pneumoniae complex AMX, AMP, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Klebsiella oxytoca AMX, AMP, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Leclercia adecarboxylata FOS R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Morganella morganii AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Plesiomonas shigelloides AMX, AMP, SAM R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Proteus mirabilis tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Proteus penneri AMP, AMX, CZO, CEP, LEX, CFR, CXM, tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Proteus vulgaris AMP, AMX, CZO, CEP, LEX, CFR, CXM, tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Providencia rettgeri AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Providencia stuartii AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, tetracyclines, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus is Raoultella AMP, AMX, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Serratia marcescens AMP, AMX, AMC, SAM, CZO, CEP, LEX, CFR, FOX, CXM, PLB, COL, NIT R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Yersinia enterocolitica AMP, AMX, AMC, SAM, TIC, CZO, CEP, LEX, CFR, FOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Yersinia pseudotuberculosis PLB, COL R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Aeromonas hydrophila AMP, AMX, SAM R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Aeromonas veronii AMP, AMX, SAM, TIC R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Aeromonas dhakensis AMP, AMX, SAM, FOX R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Aeromonas caviae AMP, AMX, SAM R +EUCAST Expected phenotypes 1.2 Table 1: Expected resistant phenotype in Enterobacterales and Aeromonas spp. genus_species is Aeromonas jandaei AMP, AMX, SAM, TIC R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus one_of Acinetobacter, Achromobacter, Burkholderia, Elizabethkingia, Elizabethkingia, Ochrobactrum, Pseudomonas, Stenotrophomonas, Chryseobacterium PEN, cephalosporins_1st, cephalosporins_2nd, glycopeptides, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species one_of Acinetobacter baumannii, Acinetobacter pittii, Acinetobacter nosocomialis AMP, AMX, AMC, CTX, CRO, ATM, ETP, TMP, FOS, TCY, DOX R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Achromobacter xylosoxidans AMP, AMX, CTX, CRO, ATM, ETP R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species one_of Burkholderia cepacia complex AMP, AMX, AMC, SAM, TIC, TCC, PIP, TZP, CTX, CRO, ATM, ETP, CIP, CHL, aminoglycosides, TMP, FOS, PLB, COL R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Elizabethkingia meningoseptica AMP, AMX, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM, PLB, COL R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Elizabethkingia anophelis AMP, AMX, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Ochrobactrum anthropi AMP, AMX, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, FEP, ATM, ETP R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Pseudomonas aeruginosa AMP, AMX, AMC, SAM, CTX, CRO, ETP, CHL, TMP, KAN, NEO, tetracyclines, TGC R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus_species is Stenotrophomonas maltophilia AMP, AMX, AMC, SAM, TIC, PIP, TZP, CTX, CRO, ATM, ETP, IPM, MEM, aminoglycosides, TMP, FOS, TCY R +EUCAST Expected phenotypes 1.2 Table 2: Expected resistant phenotype in non-fermentative gram-negative bacteria genus is Chryseobacterium AMP, AMX, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, ATM, ETP, IPM, MEM, aminoglycosides, PLB, COL R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus one_of Haemophilus, Moraxella, Neisseria, Campylobacter glycopeptides, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus_species is Haemophilus influenzae FUS, streptogramins R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus_species is Moraxella catarrhalis TMP R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus is Neisseria TMP R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus_species is Campylobacter fetus FUS, streptogramins, TMP, NAL R +EUCAST Expected phenotypes 1.2 Table 3: Expected resistant phenotype in other gram-negative bacteria genus_species one_of Campylobacter jejuni, Campylobacter coli FUS, streptogramins, TMP R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria gramstain is Gram-positive ATM, TEM, PLB, COL, NAL R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Staphylococcus saprophyticus FUS, CAZ, FOS, NOV R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Staphylococcus cohnii CAZ, NOV R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Staphylococcus xylosus CAZ, NOV R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Staphylococcus capitis CAZ, FOS R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species one_of Coagulase-negative Staphylococcus (CoNS), Staphylococcus aureus CAZ R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus is Streptococcus FUS, CAZ, aminoglycosides R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, sulfonamides R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species one_of Enterococcus gallinarum, Enterococcus casseliflavus FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, sulfonamides R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, sulfonamides R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus is Corynebacterium FOS R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Listeria monocytogenes CAZ, cephalosporins_except_CAZ R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus one_of Leuconostoc, Pediococcus VAN, FOS R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria genus_species is Lactobacillus casei VAN, FOS R +EUCAST Expected phenotypes 1.2 Table 4: Expected resistant phenotype in gram-positive bacteria fullname is Lactobacillus casei rhamnosus VAN, FOS R +EUCAST Expected phenotypes 1.2 Table 5: Expected resistant phenotype in anaerobes genus_species one_of Clostridium ramosum, Clostridium innocuum VAN R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) order is Enterobacterales PEN, glycopeptides_except_lipo, FUS, macrolides, LIN, streptogramins, RIF, DAP, LNZ R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) fullname like ^Citrobacter (koseri|amalonaticus|sedlakii|farmeri|rodentium) aminopenicillins, TIC R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) fullname like ^Citrobacter (freundii|braakii|murliniae|werkmanii|youngae) aminopenicillins, AMC, CZO, FOX R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Enterobacter cloacae aminopenicillins, AMC, CZO, FOX R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Klebsiella aerogenes aminopenicillins, AMC, CZO, FOX R originally Enterobacter aerogenes, but was renamed to Klebsiella aerogenes +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Escherichia hermannii aminopenicillins, TIC R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Hafnia alvei aminopenicillins, AMC, CZO, FOX R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus is Klebsiella aminopenicillins, TIC R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Morganella morganii aminopenicillins, AMC, CZO, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Proteus mirabilis DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Proteus penneri aminopenicillins, CZO, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Proteus vulgaris aminopenicillins, CZO, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Providencia rettgeri aminopenicillins, AMC, CZO, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Providencia stuartii aminopenicillins, AMC, CZO, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus is Raoultella aminopenicillins, TIC R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Serratia marcescens aminopenicillins, AMC, CZO, FOX, CXM, DOX, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Yersinia enterocolitica aminopenicillins, AMC, TIC, CZO, FOX R +EUCAST Expert Rules 3.1 Table 01: Intrinsic resistance in Enterobacterales (at the time: Enterobacteriaceae) genus_species is Yersinia pseudotuberculosis PLB, COL R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus one_of Achromobacter, Acinetobacter, Alcaligenes, Bordetella, Burkholderia, Elizabethkingia, Flavobacterium, Ochrobactrum, Pseudomonas, Stenotrophomonas PEN, FOX, CXM, glycopeptides_except_lipo, FUS, macrolides, LIN, streptogramins, RIF, DAP, LNZ R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Acinetobacter baumannii aminopenicillins, AMC, CZO, CTX, CRO, ATM, ETP, TMP, FOS, DOX, TCY R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Acinetobacter pittii aminopenicillins, AMC, CZO, CTX, CRO, ATM, ETP, TMP, FOS, DOX, TCY R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Acinetobacter nosocomialis aminopenicillins, AMC, CZO, CTX, CRO, ATM, ETP, TMP, FOS, DOX, TCY R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Acinetobacter calcoaceticus aminopenicillins, AMC, CZO, CTX, CRO, ATM, ETP, TMP, FOS, DOX, TCY R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Achromobacter xylosoxidans aminopenicillins, CZO, CTX, CRO, ETP R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria fullname like ^Burkholderia (ambifaria|anthina|arboris|cepacia|cenocepacia|contaminans|diffusa|dolosa|lata|latens|metallica|multivorans|paludis|pseudomultivorans|pyrrocinia|pseudomultivorans|seminalis|stabilis|stagnalis|territorii|ubonensis|vietnamiensis) aminopenicillins, AMC, TIC, PIP, TZP, CZO, CTX, CRO, ATM, ETP, CIP, CHL, aminoglycosides, TMP, FOS, polymyxins R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Elizabethkingia meningoseptica aminopenicillins, AMC, TIC, CZO, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM, polymyxins R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Brucella anthropi aminopenicillins, AMC, TIC, PIP, TZP, CZO, CTX, CRO, CAZ, FEP, ATM, ETP R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Pseudomonas aeruginosa aminopenicillins, AMC, CZO, CTX, CRO, ETP, CHL, KAN, NEO, TMP, SXT, DOX, MNO, TCY, TGC R +EUCAST Expert Rules 3.1 Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria genus_species is Stenotrophomonas maltophilia aminopenicillins, AMC, TIC, PIP, TZP, CZO, CTX, CRO, ATM, ETP, IPM, MEM, aminoglycosides, TMP, FOS, TCY R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus one_of Haemophilus, Moraxella, Neisseria, Campylobacter glycopeptides_except_lipo, LIN, DAP, LNZ R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus_species is Haemophilus influenzae FUS, streptogramins R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus_species is Moraxella catarrhalis TMP R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus is Neisseria TMP R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus_species is Campylobacter fetus FUS, streptogramins, TMP, NAL R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus_species is Campylobacter jejuni FUS, streptogramins, TMP R +EUCAST Expert Rules 3.1 Table 03: Intrinsic resistance in other Gram-negative bacteria genus_species is Campylobacter coli FUS, streptogramins, TMP R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria gramstain is Gram-positive ATM, polymyxins, NAL R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus saprophyticus FUS, CAZ, FOS, NOV R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus cohnii CAZ, NOV R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus xylosus CAZ, NOV R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus capitis CAZ, FOS R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus aureus CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus epidermidis CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus coagulase-negative CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus hominis CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus haemolyticus CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus intermedius CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Staphylococcus pseudintermedius CAZ R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus is Streptococcus FUS, CAZ, aminoglycosides R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, TMP, SXT R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Enterococcus gallinarum FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Enterococcus casseliflavus FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, TMP, SXT R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus is Corynebacterium FOS R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Listeria monocytogenes cephalosporins R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus one_of Leuconostoc, Pediococcus glycopeptides_except_lipo R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus is Lactobacillus glycopeptides_except_lipo R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Clostridium ramosum VAN R +EUCAST Expert Rules 3.1 Table 04: Intrinsic resistance in Gram-positive bacteria genus_species is Clostridium innocuum VAN R +EUCAST Expert Rules 3.1 Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, cephalosporins_except_CAZ, carbapenems S +EUCAST Expert Rules 3.1 Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci genus is Enterococcus AMP R ureidopenicillins, carbapenems R +EUCAST Expert Rules 3.1 Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci genus is Enterococcus AMX R ureidopenicillins, carbapenems R +EUCAST Expert Rules 3.1 Table 09: Interpretive rules for B-lactam agents and Gram-negative rods (at the time: Enterobacteriaceae) order is Enterobacterales TIC, PIP R, S PIP R +EUCAST Expert Rules 3.1 Table 11: Interpretive rules for macrolides, lincosamides, and streptogramins genus like .* ERY S AZM, CLR S +EUCAST Expert Rules 3.1 Table 11: Interpretive rules for macrolides, lincosamides, and streptogramins genus like .* ERY I AZM, CLR I +EUCAST Expert Rules 3.1 Table 11: Interpretive rules for macrolides, lincosamides, and streptogramins genus like .* ERY R AZM, CLR R +EUCAST Expert Rules 3.1 Table 12: Interpretive rules for aminoglycosides genus is Staphylococcus TOB R KAN, AMK R +EUCAST Expert Rules 3.1 Table 12: Interpretive rules for aminoglycosides genus is Staphylococcus GEN R aminoglycosides R +EUCAST Expert Rules 3.1 Table 12: Interpretive rules for aminoglycosides order is Enterobacterales GEN, TOB I, S GEN R +EUCAST Expert Rules 3.1 Table 12: Interpretive rules for aminoglycosides order is Enterobacterales GEN, TOB R, I TOB R +EUCAST Expert Rules 3.1 Table 13: Interpretive rules for quinolones genus is Staphylococcus MFX R fluoroquinolones R +EUCAST Expert Rules 3.1 Table 13: Interpretive rules for quinolones genus_species is Streptococcus pneumoniae MFX R fluoroquinolones R +EUCAST Expert Rules 3.1 Table 13: Interpretive rules for quinolones order is Enterobacterales CIP R fluoroquinolones R +EUCAST Expert Rules 3.1 Table 13: Interpretive rules for quinolones genus_species is Neisseria gonorrhoeae CIP R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Campylobacter genus is Campylobacter ERY S CLR, AZM S +EUCAST Expert Rules 3.2 Expert Rules on Campylobacter genus_species is Campylobacter ERY R CLR, AZM R +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP R PIP R +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP S PIP S +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales fullname like ^(Klebsiella(?! aerogenes)|Raoultella) PIP R +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter freundii|Serratia|Morganella morganii|Hafnia alvei|Providencia) CXM S CXM, cephalosporins_2nd R +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales genus one_of Arsenophonus, Biostraticola, Brenneria, Buchnera, Budvicia, Buttiauxella, Cedecea, Citrobacter, Cosenzaea, Cronobacter, Dickeya, Edwardsiella, Enterobacillus, Enterobacter, Erwinia, Escherichia, Ewingella, Franconibacter, Gibbsiella, Hafnia, Izhakiella, Klebsiella, Kluyvera, Kosakonia, Leclercia, Lelliottia, Leminorella, Lonsdalea, Mangrovibacter, Mixta, Moellerella, Morganella, Obesumbacterium, Pantoea, Pectobacterium, Phaseolibacter, Photorhabdus, Phytobacter, Plesiomonas, Pluralibacter, Pragia, Proteus, Providencia, Pseudescherichia, Pseudocitrobacter, Rahnella, Raoultella, Rosenbergiella, Rouxiella, Saccharobacter, Samsonia, Serratia, Shigella, Shimwellia, Siccibacter, Sodalis, Tatumella, Thorsellia, Trabulsiella, Wigglesworthia, Xenorhabdus, Yersinia, Yokenella CIP R fluoroquinolones R This is Enterobacterales except Salmonella spp. +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales fullname like ^(Serratia|Providencia|Morganella morganii) TGC R +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.2 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMP R ureidopenicillins, IPM R +EUCAST Expert Rules 3.2 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMX R ureidopenicillins, IPM R +EUCAST Expert Rules 3.2 Expert Rules on Enterococcus genus is Enterococcus NOR S CIP, LVX S +EUCAST Expert Rules 3.2 Expert Rules on Enterococcus genus is Enterococcus VAN S lipoglycopeptides S +EUCAST Expert Rules 3.2 Expert Rules on Enterococcus genus_species is Enterococcus faecium CLI R +EUCAST Expert Rules 3.2 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae PEN S betalactams S +EUCAST Expert Rules 3.2 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae NAL S fluoroquinolones S +EUCAST Expert Rules 3.2 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae NAL R CIP, LVX, MFX R +EUCAST Expert Rules 3.2 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Expert Rules 3.2 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Expert Rules 3.2 Expert Rules on Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL S fluoroquinolones S +EUCAST Expert Rules 3.2 Expert Rules on Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Salmonella genus is Salmonella cephalosporins_2nd R +EUCAST Expert Rules 3.2 Expert Rules on Salmonella genus is Salmonella aminoglycosides R +EUCAST Expert Rules 3.2 Expert Rules on Salmonella genus is Salmonella PEF R CIP R +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX R betalactams R +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX S betalactams_with_inhibitor S +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus_species one_of Staphylococcus aureus, Staphylococcus lugdunensis PEN R AMP, AMX, AZL, BAM, CRB, CRN, EPC, HET, MEC, MEZ, MTM, PIP, PME, PVM, SBC, TAL, TEM, TIC R all penicillins without beta-lactamse inhibitor +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus ERY, CLI S macrolides, lincosamides S +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus LVX R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus MFX R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus TCY S DOX, MNO, TGC S +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus TCY R DOX, MNO R +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus VAN S lipoglycopeptides S +EUCAST Expert Rules 3.2 Expert Rules on Staphylococcus genus is Staphylococcus LNZ S TZD S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, cephalosporins, carbapenems S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX, MFX S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR R LVX, MFX R +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA S PHN, PEN, aminopenicillins, cephalosporins_except_CAZ, carbapenems S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX, MFX S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR R LVX, MFX R +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae LVX R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae MFX R fluoroquinolones R +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY S DOX, MNO S +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY R DOX, MNO R +EUCAST Expert Rules 3.2 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae VAN S lipoglycopeptides S +EUCAST Expert Rules 3.2 Expert Rules on Viridans Group Streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN S aminopenicillins, CTX, CRO S +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. order is Enterobacterales PEN, glycopeptides_except_lipo, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (koseri|amalonaticus|sedlakii|farmeri|rodentium) aminopenicillins, TIC R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (freundii|braakii|murliniae|werkmanii|youngae) aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Enterobacter cloacae aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Escherichia hermannii aminopenicillins, TIC R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Hafnia alvei aminopenicillins, AMC, SAM, CXM, CZO, CEP, LEX, CFR, FOX, polymyxins R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Klebsiella aerogenes aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Klebsiella oxytoca aminopenicillins, TIC R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Klebsiella( pneumoniae| quasipneumoniae| variicola)? aminopenicillins, TIC R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Leclercia adecarboxylata FOS R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Morganella morganii aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Plesiomonas shigelloides aminopenicillins, AMC, SAM R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus mirabilis DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus penneri aminopenicillins, CZO, CEP, LEX, CFR, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus vulgaris aminopenicillins, CZO, CEP, LEX, CFR, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Providencia rettgeri aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Providencia stuartii aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus is Raoultella aminopenicillins, TIC R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Serratia marcescens aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX, CXM, DOX, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Yersinia enterocolitica aminopenicillins, AMC, SAM, TIC, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Yersinia pseudotuberculosis polymyxins R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas hydrophila aminopenicillins, AMC, SAM, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas veronii aminopenicillins, AMC, SAM, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas dhakensis aminopenicillins, AMC, SAM, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas caviae aminopenicillins, AMC, SAM, FOX R +EUCAST Expert Rules 3.2 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas jandaei aminopenicillins, AMC, SAM, TIC, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus one_of Achromobacter, Acinetobacter, Alcaligenes, Bordetella, Burkholderia, Elizabethkingia, Flavobacterium, Ochrobactrum, Pseudomonas, Stenotrophomonas PEN, cephalosporins_1st, cephalosporins_2nd, glycopeptides_except_lipo, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria fullname like ^Acinetobacter (baumannii|pittii|nosocomialis) aminopenicillins, AMC, CRO, CTX, ATM, ETP, TMP, FOS, DOX, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus is Acinetobacter DOX, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Achromobacter xylosoxidans aminopenicillins, CRO, CTX, ETP R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria fullname like ^Burkholderia (ambifaria|anthina|arboris|cepacia|cenocepacia|contaminans|diffusa|dolosa|lata|latens|metallica|multivorans|paludis|pseudomultivorans|pyrrocinia|pseudomultivorans|seminalis|stabilis|stagnalis|territorii|ubonensis|vietnamiensis) aminopenicillins, AMC, SAM, TIC, TCC, PIP, TZP, CRO, CTX, ATM, ETP, CIP, CHL, aminoglycosides, TMP, FOS, polymyxins R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Elizabethkingia meningoseptica aminopenicillins, AMC, SAM, TIC, TCC, PIP, CZO, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM, polymyxins R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Brucella anthropi aminopenicillins, AMC, SAM, TIC, TCC, PIP, TZP, CZO, CTX, CRO, CAZ, FEP, ATM, ETP R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Pseudomonas aeruginosa aminopenicillins, AMC, SAM, CTX, CRO, ETP, CHL, KAN, NEO, TMP, DOX, MNO, TCY, TGC R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Stenotrophomonas maltophilia aminopenicillins, AMC, SAM, TIC, PIP, TZP, CRO, CTX, ATM, ETP, IPM, MEM, aminoglycosides, TMP, FOS, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.2 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Haemophilus influenzae FUS, streptogramins, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.2 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Moraxella catarrhalis TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.2 Table 3: Intrinsic resistance in other gram-negative bacteria genus is Neisseria TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.2 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Campylobacter fetus FUS, streptogramins, TMP, NAL, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.2 Table 3: Intrinsic resistance in other gram-negative bacteria fullname like ^Campylobacter (jejuni|coli) FUS, streptogramins, TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria gramstain is Gram-positive ATM, TEM, polymyxins, NAL R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus saprophyticus FUS, CAZ, FOS, NOV R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus cohnii CAZ, NOV R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus xylosus CAZ, NOV R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus capitis CAZ, FOS R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus aureus CAZ R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus coagulase-negative CAZ R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus is Streptococcus FUS, CAZ, aminoglycosides R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus is Corynebacterium FOS R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Listeria monocytogenes CAZ, cephalosporins_except_CAZ R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus one_of Leuconostoc, Pediococcus VAN, TEC R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus is Lactobacillus VAN, TEC R +EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Clostridium (ramosum|innocuum) VAN R +EUCAST Expert Rules 3.3 Expert Rules on Campylobacter genus is Campylobacter ERY S CLR, AZM S +EUCAST Expert Rules 3.3 Expert Rules on Campylobacter genus_species is Campylobacter ERY R CLR, AZM R +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP R PIP R +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP S PIP S +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Klebsiella(?! aerogenes)|Raoultella) PIP R +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter freundii|Serratia|Morganella morganii|Hafnia alvei|Providencia) CXM S CXM, cephalosporins_2nd R +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus one_of Arsenophonus, Biostraticola, Brenneria, Buchnera, Budvicia, Buttiauxella, Cedecea, Citrobacter, Cosenzaea, Cronobacter, Dickeya, Edwardsiella, Enterobacillus, Enterobacter, Erwinia, Escherichia, Ewingella, Franconibacter, Gibbsiella, Hafnia, Izhakiella, Klebsiella, Kluyvera, Kosakonia, Leclercia, Lelliottia, Leminorella, Lonsdalea, Mangrovibacter, Mixta, Moellerella, Morganella, Obesumbacterium, Pantoea, Pectobacterium, Phaseolibacter, Photorhabdus, Phytobacter, Plesiomonas, Pluralibacter, Pragia, Proteus, Providencia, Pseudescherichia, Pseudocitrobacter, Rahnella, Raoultella, Rosenbergiella, Rouxiella, Saccharobacter, Samsonia, Serratia, Shigella, Shimwellia, Siccibacter, Sodalis, Tatumella, Thorsellia, Trabulsiella, Wigglesworthia, Xenorhabdus, Yersinia, Yokenella CIP R fluoroquinolones R This is Enterobacterales except Salmonella spp. +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Serratia|Providencia|Morganella morganii) TGC R +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument +EUCAST Expert Rules 3.3 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMP R ureidopenicillins, IPM R +EUCAST Expert Rules 3.3 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMX R ureidopenicillins, IPM R +EUCAST Expert Rules 3.3 Expert Rules on Enterococcus genus is Enterococcus NOR S CIP, LVX S +EUCAST Expert Rules 3.3 Expert Rules on Enterococcus genus is Enterococcus VAN S lipoglycopeptides S +EUCAST Expert Rules 3.3 Expert Rules on Enterococcus genus_species is Enterococcus faecium CLI R +EUCAST Expert Rules 3.3 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae PEN S betalactams S +EUCAST Expert Rules 3.3 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae NAL S fluoroquinolones S +EUCAST Expert Rules 3.3 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae NAL R CIP, LVX, MFX R +EUCAST Expert Rules 3.3 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae TCY S DOX, MNO S +EUCAST Expert Rules 3.3 Expert Rules on Haemophilus influenzae genus_species is Haemophilus influenzae TCY R DOX, MNO R +EUCAST Expert Rules 3.3 Expert Rules on Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL S fluoroquinolones S +EUCAST Expert Rules 3.3 Expert Rules on Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL R fluoroquinolones R +EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella cephalosporins_2nd R +EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella aminoglycosides R +EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella PEF R CIP R +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX R betalactams R +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX S betalactams_with_inhibitor S +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species one_of Staphylococcus aureus, Staphylococcus lugdunensis PEN R AMP, AMX, AZL, BAM, CRB, CRN, EPC, HET, MEC, MEZ, MTM, PIP, PME, PVM, SBC, TAL, TEM, TIC R all penicillins without beta-lactamse inhibitor +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus ERY, CLI S macrolides, lincosamides S +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus LVX R fluoroquinolones R +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus MFX R fluoroquinolones R +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus TCY S DOX, MNO, TGC S +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus TCY R DOX, MNO R +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus VAN S lipoglycopeptides S +EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus LNZ S TZD S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, cephalosporins, carbapenems S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX, MFX S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR R LVX, MFX R +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA S PHN, PEN, aminopenicillins, cephalosporins_except_CAZ, carbapenems S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX, MFX S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR R LVX, MFX R +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae LVX R fluoroquinolones R +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae MFX R fluoroquinolones R +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY S DOX, MNO S +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY R DOX, MNO R +EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae VAN S lipoglycopeptides S +EUCAST Expert Rules 3.3 Expert Rules on Viridans Group Streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN S aminopenicillins, CTX, CRO S +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. order is Enterobacterales PEN, glycopeptides_except_lipo, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (koseri|amalonaticus|sedlakii|farmeri|rodentium) aminopenicillins, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (freundii|braakii|murliniae|werkmanii|youngae) aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Enterobacter cloacae aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Escherichia hermannii aminopenicillins, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Hafnia alvei aminopenicillins, AMC, polymyxins R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Klebsiella aerogenes aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Klebsiella oxytoca aminopenicillins, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Klebsiella( pneumoniae| quasipneumoniae| variicola)? aminopenicillins, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Leclercia adecarboxylata FOS R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Morganella morganii aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Plesiomonas shigelloides aminopenicillins, AMC, SAM R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus mirabilis DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus penneri aminopenicillins, CZO, CEP, LEX, CFR, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Proteus vulgaris aminopenicillins, CZO, CEP, LEX, CFR, CXM, DOX, MNO, TCY, TGC, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Providencia rettgeri aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Providencia stuartii aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, DOX, MNO, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus is Raoultella aminopenicillins, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Serratia marcescens aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX, CXM, DOX, TCY, polymyxins, NIT R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Yersinia enterocolitica aminopenicillins, AMC, SAM, TIC, CZO, CEP, LEX, CFR, FOX R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Yersinia pseudotuberculosis polymyxins R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas hydrophila aminopenicillins, SAM R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas veronii aminopenicillins, SAM, TIC R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas dhakensis aminopenicillins, SAM, FOX R +EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. genus_species is Aeromonas caviae aminopenicillins, SAM R +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus one_of Achromobacter, Acinetobacter, Alcaligenes, Bordetella, Burkholderia, Elizabethkingia, Flavobacterium, Ochrobactrum, Pseudomonas, Stenotrophomonas PEN, cephalosporins_1st, cephalosporins_2nd, glycopeptides_except_lipo, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria fullname like ^Acinetobacter (baumannii|pittii|nosocomialis) aminopenicillins, AMC, CRO, CTX, ATM, ETP, TMP, FOS, DOX, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus is Acinetobacter DOX, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Achromobacter xylosoxidans aminopenicillins, CRO, CTX, ETP, ATM R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria fullname like ^Burkholderia (ambifaria|anthina|arboris|cepacia|cenocepacia|contaminans|diffusa|dolosa|lata|latens|metallica|multivorans|paludis|pseudomultivorans|pyrrocinia|pseudomultivorans|seminalis|stabilis|stagnalis|territorii|ubonensis|vietnamiensis) aminopenicillins, AMC, SAM, TIC, TCC, PIP, TZP, CRO, CTX, ATM, ETP, CIP, CHL, aminoglycosides, TMP, FOS, polymyxins R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Elizabethkingia meningoseptica aminopenicillins, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM, polymyxins R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Elizabethkingia anophelis aminopenicillins, AMC, SAM, TIC, TCC, CTX, CRO, CAZ, FEP, ATM, ETP, IPM, MEM R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Brucella anthropi aminopenicillins, AMC, SAM, TIC, TCC, PIP, TZP, CZO, CTX, CRO, CAZ, FEP, ATM, ETP R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Pseudomonas aeruginosa aminopenicillins, AMC, SAM, CTX, CRO, ETP, CHL, KAN, NEO, TMP, DOX, MNO, TCY, TGC R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus_species is Stenotrophomonas maltophilia aminopenicillins, AMC, SAM, TIC, PIP, TZP, CRO, CTX, ATM, ETP, IPM, MEM, aminoglycosides, TMP, FOS, TCY R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 2: Intrinsic resistance in non-fermentative gram-negative bacteria genus is Chryseobacterium aminopenicillins, AMC, SAM, TIC, TCC, CRO, CTX, CAZ, ATM, ETP, IPM, MEM, aminoglycosides, polymyxins R Additional rules from header added in separate rule (genus is one of…) +EUCAST Expert Rules 3.3 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Haemophilus influenzae FUS, streptogramins, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.3 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Moraxella catarrhalis TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.3 Table 3: Intrinsic resistance in other gram-negative bacteria genus is Neisseria TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.3 Table 3: Intrinsic resistance in other gram-negative bacteria genus_species is Campylobacter fetus FUS, streptogramins, TMP, NAL, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.3 Table 3: Intrinsic resistance in other gram-negative bacteria fullname like ^Campylobacter (jejuni|coli) FUS, streptogramins, TMP, glycopeptides_except_lipo, lipoglycopeptides, lincosamides, oxazolidinones R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria gramstain is Gram-positive ATM, TEM, polymyxins, NAL R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus saprophyticus FUS, CAZ, FOS, NOV R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus cohnii CAZ, NOV R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus xylosus CAZ, NOV R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus capitis CAZ, FOS R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus aureus CAZ R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Staphylococcus coagulase-negative CAZ R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus is Streptococcus FUS, CAZ, aminoglycosides R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecalis TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Enterococcus (gallinarum|casseliflavus) TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, SDI, SUD, SDM, SLF, SLF1, SLF2, SZO, SLF3, SLF4, SMX, SLF5, SLF6, SLF7, SLF8, SLF9, SLF10, SLF11, SLF12, SUT, SLF13 R These last ones are all true sulfonamides +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP S SXT, SLT1, SLT2, SLT3, SLT4, SLT5 S Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP I SXT, SLT1, SLT2, SLT3, SLT4, SLT5 I Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Enterococcus faecium TMP R SXT, SLT1, SLT2, SLT3, SLT4, SLT5 R Since R to sulfonamides - TMP result is equal with combinations +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus is Corynebacterium FOS R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus_species is Listeria monocytogenes CAZ, cephalosporins_except_CAZ R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus one_of Leuconostoc, Pediococcus VAN, TEC R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria genus is Lactobacillus VAN, TEC R +EUCAST Expert Rules 3.3 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Clostridium (ramosum|innocuum) VAN R diff --git a/man/AMR-deprecated.Rd b/man/AMR-deprecated.Rd index fa51804a8..8e28e757d 100644 --- a/man/AMR-deprecated.Rd +++ b/man/AMR-deprecated.Rd @@ -2,10 +2,13 @@ % Please edit documentation in R/zz_deprecated.R \name{AMR-deprecated} \alias{AMR-deprecated} +\alias{custom_eucast_rules} \alias{ab_class} \alias{ab_selector} \title{Deprecated Functions, Arguments, or Datasets} \usage{ +custom_eucast_rules(...) + ab_class(...) ab_selector(...) diff --git a/man/custom_eucast_rules.Rd b/man/custom_interpretive_rules.Rd similarity index 93% rename from man/custom_eucast_rules.Rd rename to man/custom_interpretive_rules.Rd index 355578f88..5ee3b9ec0 100644 --- a/man/custom_eucast_rules.Rd +++ b/man/custom_interpretive_rules.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/custom_eucast_rules.R -\name{custom_eucast_rules} -\alias{custom_eucast_rules} -\title{Define Custom EUCAST Rules} +% Please edit documentation in R/custom_interpretive_rules.R +\name{custom_interpretive_rules} +\alias{custom_interpretive_rules} +\title{Define Custom Interpretive Rules} \usage{ -custom_eucast_rules(...) +custom_interpretive_rules(...) } \arguments{ \item{...}{Rules in \link[base:tilde]{formula} notation, see below for instructions, and in \emph{Examples}.} @@ -13,22 +13,22 @@ custom_eucast_rules(...) A \link{list} containing the custom rules } \description{ -Define custom EUCAST rules for your organisation or specific analysis and use the output of this function in \code{\link[=eucast_rules]{eucast_rules()}}. +Define custom interpretive rules for your organisation or specific analysis and use the output of this function in \code{\link[=interpretive_rules]{interpretive_rules()}}. } \details{ -Some organisations have their own adoption of EUCAST rules. This function can be used to define custom EUCAST rules to be used in the \code{\link[=eucast_rules]{eucast_rules()}} function. +Some organisations have their own adoption of interpretive rules. This function can be used to define custom rules to be used in the \code{\link[=interpretive_rules]{interpretive_rules()}} function. \subsection{Basics}{ If you are familiar with the \code{\link[dplyr:case-and-replace-when]{case_when()}} function of the \code{dplyr} package, you will recognise the input method to set your own rules. Rules must be set using what \R considers to be the 'formula notation'. The rule itself is written \emph{before} the tilde (\code{~}) and the consequence of the rule is written \emph{after} the tilde: -\if{html}{\out{
}}\preformatted{x <- custom_eucast_rules(TZP == "S" ~ aminopenicillins == "S", - TZP == "R" ~ aminopenicillins == "R") +\if{html}{\out{
}}\preformatted{x <- custom_interpretive_rules(TZP == "S" ~ aminopenicillins == "S", + TZP == "R" ~ aminopenicillins == "R") }\if{html}{\out{
}} -These are two custom EUCAST rules: if TZP (piperacillin/tazobactam) is "S", all aminopenicillins (ampicillin and amoxicillin) must be made "S", and if TZP is "R", aminopenicillins must be made "R". These rules can also be printed to the console, so it is immediately clear how they work: +These are two custom interpretive rules: if TZP (piperacillin/tazobactam) is "S", all aminopenicillins (ampicillin and amoxicillin) must be made "S", and if TZP is "R", aminopenicillins must be made "R". These rules can also be printed to the console, so it is immediately clear how they work: \if{html}{\out{
}}\preformatted{x -#> A set of custom EUCAST rules: +#> A set of custom interpretive rules: #> #> 1. If TZP is "S" then set to S : #> amoxicillin (AMX), ampicillin (AMP) @@ -48,11 +48,11 @@ df #> 1 Escherichia coli R S S #> 2 Klebsiella pneumoniae R S S -eucast_rules(df, - rules = "custom", - custom_rules = x, - info = FALSE, - overwrite = TRUE) +interpretive_rules(df, + rules = "custom", + custom_rules = x, + info = FALSE, + overwrite = TRUE) #> mo TZP ampi cipro #> 1 Escherichia coli R R S #> 2 Klebsiella pneumoniae R R S @@ -63,16 +63,16 @@ eucast_rules(df, There is one exception in columns used for the rules: all column names of the \link{microorganisms} data set can also be used, but do not have to exist in the data set. These column names are: \code{"mo"}, \code{"fullname"}, \code{"status"}, \code{"kingdom"}, \code{"phylum"}, \code{"class"}, \code{"order"}, \code{"family"}, \code{"genus"}, \code{"species"}, \code{"subspecies"}, \code{"rank"}, \code{"ref"}, \code{"oxygen_tolerance"}, \code{"source"}, \code{"lpsn"}, \code{"lpsn_parent"}, \code{"lpsn_renamed_to"}, \code{"mycobank"}, \code{"mycobank_parent"}, \code{"mycobank_renamed_to"}, \code{"gbif"}, \code{"gbif_parent"}, \code{"gbif_renamed_to"}, \code{"prevalence"}, and \code{"snomed"}. Thus, this next example will work as well, despite the fact that the \code{df} data set does not contain a column \code{genus}: -\if{html}{\out{
}}\preformatted{y <- custom_eucast_rules( +\if{html}{\out{
}}\preformatted{y <- custom_interpretive_rules( TZP == "S" & genus == "Klebsiella" ~ aminopenicillins == "S", TZP == "R" & genus == "Klebsiella" ~ aminopenicillins == "R" ) -eucast_rules(df, - rules = "custom", - custom_rules = y, - info = FALSE, - overwrite = TRUE) +interpretive_rules(df, + rules = "custom", + custom_rules = y, + info = FALSE, + overwrite = TRUE) #> mo TZP ampi cipro #> 1 Escherichia coli R S S #> 2 Klebsiella pneumoniae R R S @@ -90,9 +90,9 @@ You can define antimicrobial groups instead of single antimicrobials for the rul Rules can also be applied to multiple antimicrobials and antimicrobial groups simultaneously. Use the \code{c()} function to combine multiple antimicrobials. For instance, the following example sets all aminopenicillins and ureidopenicillins to "R" if column TZP (piperacillin/tazobactam) is "R": -\if{html}{\out{
}}\preformatted{x <- custom_eucast_rules(TZP == "R" ~ c(aminopenicillins, ureidopenicillins) == "R") +\if{html}{\out{
}}\preformatted{x <- custom_interpretive_rules(TZP == "R" ~ c(aminopenicillins, ureidopenicillins) == "R") x -#> A set of custom EUCAST rules: +#> A set of custom interpretive rules: #> #> 1. If TZP is "R" then set to "R": #> amoxicillin (AMX), ampicillin (AMP), azlocillin (AZL), mezlocillin (MEZ), piperacillin (PIP), piperacillin/tazobactam (TZP) @@ -147,7 +147,7 @@ These 43 antimicrobial groups are allowed in the rules (case-insensitive) and ca } } \examples{ -x <- custom_eucast_rules( +x <- custom_interpretive_rules( AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I" ) @@ -165,7 +165,7 @@ eucast_rules(example_isolates, # combine rule sets x2 <- c( x, - custom_eucast_rules(TZP == "R" ~ carbapenems == "R") + custom_interpretive_rules(TZP == "R" ~ carbapenems == "R") ) x2 } diff --git a/man/g.test.Rd b/man/g.test.Rd index dc82a0dee..39a42bc1f 100644 --- a/man/g.test.Rd +++ b/man/g.test.Rd @@ -45,8 +45,9 @@ A list with class \code{"htest"} containing the following \item{residuals}{the Pearson residuals, \code{(observed - expected) / sqrt(expected)}.} \item{stdres}{standardized residuals, - \code{(observed - expected) / sqrt(V)}, where \code{V} is the residual cell variance (Agresti, 2007, - section 2.4.5 for the case where \code{x} is a matrix, \code{n * p * (1 - p)} otherwise).} + \code{(observed - expected) / sqrt(V)}, where \code{V} is the + residual cell variance (Agresti, 2007, section 2.4.5 + for the case where \code{x} is a matrix, \code{n * p * (1 - p)} otherwise).} } \description{ \code{\link[=g.test]{g.test()}} performs chi-squared contingency table tests and goodness-of-fit tests, just like \code{\link[=chisq.test]{chisq.test()}} but is more reliable (1). A \emph{G}-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a \strong{\emph{G}-test of goodness-of-fit}), or to see whether the proportions of one variable are different for different values of the other variable (called a \strong{\emph{G}-test of independence}). diff --git a/man/interpretive_rules.Rd b/man/interpretive_rules.Rd index 341196f17..62198917e 100644 --- a/man/interpretive_rules.Rd +++ b/man/interpretive_rules.Rd @@ -46,7 +46,7 @@ eucast_dosage(ab, administration = "iv", version_breakpoints = 15) \item{info}{A \link{logical} to indicate whether progress should be printed to the console - the default is only print while in interactive sessions.} -\item{rules}{A \link{character} vector that specifies which rules should be applied. Must be one or more of \code{"breakpoints"}, \code{"expected_phenotypes"}, \code{"expert"}, \code{"other"}, \code{"custom"}, \code{"all"}, and defaults to \code{c("breakpoints", "expected_phenotypes")}. The default value can be set to another value using the package option \code{\link[=AMR-options]{AMR_interpretive_rules}}: \code{options(AMR_interpretive_rules = "all")}. If using \code{"custom"}, be sure to fill in argument \code{custom_rules} too. Custom rules can be created with \code{\link[=custom_eucast_rules]{custom_eucast_rules()}}.} +\item{rules}{A \link{character} vector that specifies which rules should be applied. Must be one or more of \code{"breakpoints"}, \code{"expected_phenotypes"}, \code{"expert"}, \code{"other"}, \code{"custom"}, \code{"all"}, and defaults to \code{c("breakpoints", "expected_phenotypes")}. The default value can be set to another value using the package option \code{\link[=AMR-options]{AMR_interpretive_rules}}: \code{options(AMR_interpretive_rules = "all")}. If using \code{"custom"}, be sure to fill in argument \code{custom_rules} too. Custom rules can be created with \code{\link[=custom_interpretive_rules]{custom_interpretive_rules()}}.} \item{guideline}{A guideline name, either "EUCAST" (default) or "CLSI". This can be set with the package option \code{\link[=AMR-options]{AMR_guideline}}.} @@ -62,7 +62,7 @@ eucast_dosage(ab, administration = "iv", version_breakpoints = 15) \item{only_sir_columns}{A \link{logical} to indicate whether only antimicrobial columns must be included that were transformed to class \link[=as.sir]{sir} on beforehand. Defaults to \code{FALSE} if no columns of \code{x} have a class \link[=as.sir]{sir}.} -\item{custom_rules}{Custom rules to apply, created with \code{\link[=custom_eucast_rules]{custom_eucast_rules()}}.} +\item{custom_rules}{Custom rules to apply, created with \code{\link[=custom_interpretive_rules]{custom_interpretive_rules()}}.} \item{overwrite}{A \link{logical} indicating whether to overwrite existing SIR values (default: \code{FALSE}). When \code{FALSE}, only non-SIR values are modified (i.e., any value that is not already S, I or R). To ensure compliance with EUCAST guidelines, \strong{this should remain} \code{FALSE}, as EUCAST notes often state that an organism "should be tested for susceptibility to individual agents or be reported resistant".} @@ -86,15 +86,15 @@ To improve the interpretation of the antibiogram before CLSI/EUCAST interpretive \strong{Note:} This function does not translate MIC or disk values to SIR values. Use \code{\link[=as.sir]{as.sir()}} for that. \cr \strong{Note:} When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance. \cr -The file containing all EUCAST rules is located here: \url{https://github.com/msberends/AMR/blob/main/data-raw/eucast_rules.tsv}. \strong{Note:} Old taxonomic names are replaced with the current taxonomy where applicable. For example, \emph{Ochrobactrum anthropi} was renamed to \emph{Brucella anthropi} in 2020; the original EUCAST rules v3.1 and v3.2 did not yet contain this new taxonomic name. The \code{AMR} package contains the full microbial taxonomy updated until June 24th, 2024, see \link{microorganisms}. +The file containing all interpretive rules is located here: \url{https://github.com/msberends/AMR/blob/main/data-raw/interpretive_rules.tsv}. \strong{Note:} Old taxonomic names are replaced with the current taxonomy where applicable. For example, \emph{Ochrobactrum anthropi} was renamed to \emph{Brucella anthropi} in 2020; the original EUCAST rules v3.1 and v3.2 did not yet contain this new taxonomic name. The \code{AMR} package contains the full microbial taxonomy updated until June 24th, 2024, see \link{microorganisms}. \subsection{Custom Rules}{ -Custom rules can be created using \code{\link[=custom_eucast_rules]{custom_eucast_rules()}}, e.g.: +Custom rules can be created using \code{\link[=custom_interpretive_rules]{custom_interpretive_rules()}}, e.g.: -\if{html}{\out{
}}\preformatted{x <- custom_eucast_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", - AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I") +\if{html}{\out{
}}\preformatted{x <- custom_interpretive_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", + AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I") -eucast_rules(example_isolates, rules = "custom", custom_rules = x) +interpretive_rules(example_isolates, rules = "custom", custom_rules = x) }\if{html}{\out{
}} } @@ -108,7 +108,7 @@ Before further processing, two non-EUCAST rules about drug combinations can be a Important examples include amoxicillin and amoxicillin/clavulanic acid, and trimethoprim and trimethoprim/sulfamethoxazole. Needless to say, for these rules to work, both drugs must be available in the data set. -Since these rules are not officially approved by EUCAST, they are not applied at default. To use these rules, include \code{"other"} to the \code{rules} argument, or use \code{eucast_rules(..., rules = "all")}. You can also set the package option \code{\link[=AMR-options]{AMR_interpretive_rules}}, i.e. run \code{options(AMR_interpretive_rules = "all")}. +Since these rules are not officially approved by EUCAST, they are not applied at default. To use these rules, include \code{"other"} to the \code{rules} argument, or use \code{interpretive_rules(..., rules = "all")}. You can also set the package option \code{\link[=AMR-options]{AMR_interpretive_rules}}, i.e. run \code{options(AMR_interpretive_rules = "all")}. } } \section{Download Our Reference Data}{ diff --git a/man/pca.Rd b/man/pca.Rd index 163c65e2f..5e88c1efc 100644 --- a/man/pca.Rd +++ b/man/pca.Rd @@ -32,7 +32,7 @@ pca(x, ..., retx = TRUE, center = TRUE, scale. = TRUE, tol = NULL, standard deviations are less than or equal to \code{tol} times the standard deviation of the first component.) With the default null setting, no components are omitted (unless \code{rank.} is specified - less than \code{min(dim(x))}.). Other settings for tol could be + less than \code{min(dim(x))}.). Other settings for \code{tol} could be \code{tol = 0} or \code{tol = sqrt(.Machine$double.eps)}, which would omit essentially constant components.} diff --git a/tests/testthat/test-_deprecated.R b/tests/testthat/test-_deprecated.R index bf08e57f7..656f9f8ef 100644 --- a/tests/testthat/test-_deprecated.R +++ b/tests/testthat/test-_deprecated.R @@ -32,4 +32,11 @@ test_that("test-_deprecated.R", { expect_warning(example_isolates[, ab_class("mycobact")]) expect_warning(example_isolates[, ab_selector(name %like% "trim")]) + + # deprecated custom_interpretive_rules() still works and emits a warning + expect_warning( + x_old <- custom_eucast_rules(AMC == "R" ~ aminopenicillins == "R"), + regexp = "custom_eucast_rules" + ) + expect_inherits(x_old, "custom_interpretive_rules") }) diff --git a/tests/testthat/test-data.R b/tests/testthat/test-data.R index daa7070e6..7d4afb8f0 100644 --- a/tests/testthat/test-data.R +++ b/tests/testthat/test-data.R @@ -53,12 +53,12 @@ test_that("test-data.R", { expect_false(anyNA(microorganisms.codes$mo)) expect_true(all(dosage$ab %in% AMR::antimicrobials$ab)) expect_true(all(dosage$name %in% AMR::antimicrobials$name)) - eucast_abx <- AMR:::EUCAST_RULES_DF$and_these_antibiotics - eucast_abx <- unique(unlist(strsplit(eucast_abx[!is.na(eucast_abx)], ", +"))) - expect_true(all(eucast_abx %in% AMR::antimicrobials$ab), + interpretive_abx <- AMR:::INTERPRETIVE_RULES_DF$and_these_antibiotics + interpretive_abx <- unique(unlist(strsplit(interpretive_abx[!is.na(interpretive_abx)], ", +"))) + expect_true(all(interpretive_abx %in% AMR::antimicrobials$ab), info = paste0( "Missing in `antimicrobials` data set: ", - toString(eucast_abx[which(!eucast_abx %in% AMR::antimicrobials$ab)]) + toString(interpretive_abx[which(!interpretive_abx %in% AMR::antimicrobials$ab)]) ) ) diff --git a/tests/testthat/test-eucast_rules.R b/tests/testthat/test-interpretive_rules.R similarity index 78% rename from tests/testthat/test-eucast_rules.R rename to tests/testthat/test-interpretive_rules.R index e4dfbabea..f29fda12d 100755 --- a/tests/testthat/test-eucast_rules.R +++ b/tests/testthat/test-interpretive_rules.R @@ -27,13 +27,14 @@ # how to conduct AMR data analysis: https://amr-for-r.org # # ==================================================================== # -test_that("test-eucast_rules.R", { +test_that("test-interpretive_rules.R", { skip_on_cran() # thoroughly check input table expect_equal( - sort(colnames(AMR:::EUCAST_RULES_DF)), + sort(colnames(AMR:::INTERPRETIVE_RULES_DF)), sort(c( + "rule.provider", "if_mo_property", "like.is.one_of", "this_value", "and_these_antibiotics", "have_these_values", "then_change_these_antibiotics", "to_value", @@ -42,7 +43,7 @@ test_that("test-eucast_rules.R", { "note" )) ) - MOs_mentioned <- unique(AMR:::EUCAST_RULES_DF$this_value) + MOs_mentioned <- unique(AMR:::INTERPRETIVE_RULES_DF$this_value) MOs_mentioned <- sort(trimws(unlist(strsplit(MOs_mentioned[!AMR:::is_valid_regex(MOs_mentioned)], ",", fixed = TRUE)))) MOs_test <- suppressWarnings( trimws(paste( @@ -54,19 +55,19 @@ test_that("test-eucast_rules.R", { MOs_test[MOs_test == ""] <- mo_fullname(MOs_mentioned[MOs_test == ""], keep_synonyms = TRUE, language = NULL) expect_equal(MOs_mentioned, MOs_test) - expect_error(suppressWarnings(eucast_rules(example_isolates, col_mo = "Non-existing"))) - expect_error(eucast_rules(x = "text")) - expect_error(eucast_rules(data.frame(a = "test"))) - expect_error(eucast_rules(data.frame(mo = "test"), rules = "invalid rules set")) + expect_error(suppressWarnings(interpretive_rules(example_isolates, col_mo = "Non-existing"))) + expect_error(interpretive_rules(x = "text")) + expect_error(interpretive_rules(data.frame(a = "test"))) + expect_error(interpretive_rules(data.frame(mo = "test"), rules = "invalid rules set")) - # expect_warning(eucast_rules(data.frame(mo = "Escherichia coli", vancomycin = "S", stringsAsFactors = TRUE))) + # expect_warning(interpretive_rules(data.frame(mo = "Escherichia coli", vancomycin = "S", stringsAsFactors = TRUE))) expect_identical( colnames(example_isolates), - colnames(suppressWarnings(eucast_rules(example_isolates, info = FALSE))) + colnames(suppressWarnings(interpretive_rules(example_isolates, info = FALSE))) ) - expect_output(suppressMessages(eucast_rules(example_isolates, info = TRUE))) + expect_output(suppressMessages(interpretive_rules(example_isolates, info = TRUE))) a <- data.frame( mo = c( @@ -86,8 +87,8 @@ test_that("test-eucast_rules.R", { amox = "R", # Amoxicillin stringsAsFactors = FALSE ) - expect_identical(suppressWarnings(eucast_rules(a, "mo", info = FALSE)), b) - expect_output(suppressMessages(suppressWarnings(eucast_rules(a, "mo", info = TRUE)))) + expect_identical(suppressWarnings(interpretive_rules(a, "mo", info = FALSE)), b) + expect_output(suppressMessages(suppressWarnings(interpretive_rules(a, "mo", info = TRUE)))) a <- data.frame( mo = c( @@ -105,7 +106,7 @@ test_that("test-eucast_rules.R", { COL = "R", # Colistin stringsAsFactors = FALSE ) - expect_equal(suppressWarnings(eucast_rules(a, "mo", info = FALSE)), b) + expect_equal(suppressWarnings(interpretive_rules(a, "mo", info = FALSE)), b) # piperacillin must be R in Enterobacteriaceae when tica is R if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0", also_load = TRUE)) { @@ -117,7 +118,7 @@ test_that("test-eucast_rules.R", { TIC = as.sir("R"), PIP = as.sir("S") ) %>% - eucast_rules(col_mo = "mo", version_expertrules = 3.1, rules = "expert", info = FALSE, overwrite = TRUE) %>% + interpretive_rules(col_mo = "mo", version_expertrules = 3.1, rules = "expert", info = FALSE, overwrite = TRUE) %>% pull(PIP) %>% unique() %>% as.character() @@ -127,7 +128,7 @@ test_that("test-eucast_rules.R", { } # azithromycin and clarythromycin must be equal to Erythromycin - a <- suppressWarnings(as.sir(eucast_rules( + a <- suppressWarnings(as.sir(interpretive_rules( data.frame( mo = example_isolates$mo, ERY = example_isolates$ERY, @@ -149,7 +150,7 @@ test_that("test-eucast_rules.R", { # amox is inferred by benzylpenicillin in Kingella kingae expect_equal( suppressWarnings( - as.list(eucast_rules( + as.list(interpretive_rules( data.frame( mo = as.mo("Kingella kingae"), PEN = "S", @@ -164,16 +165,16 @@ test_that("test-eucast_rules.R", { # also test norf if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0", also_load = TRUE)) { - expect_output(suppressWarnings(eucast_rules(example_isolates %>% mutate(NOR = "S", NAL = "S"), info = TRUE))) + expect_output(suppressWarnings(interpretive_rules(example_isolates %>% mutate(NOR = "S", NAL = "S"), info = TRUE))) } # check verbose output - expect_output(suppressWarnings(eucast_rules(example_isolates, verbose = TRUE, rules = "all", info = TRUE))) + expect_output(suppressWarnings(interpretive_rules(example_isolates, verbose = TRUE, rules = "all", info = TRUE))) # AmpC de-repressed cephalo mutants expect_identical( - eucast_rules( + interpretive_rules( data.frame( mo = c("Escherichia coli", "Enterobacter cloacae"), cefotax = as.sir(c("S", "S")) @@ -187,7 +188,7 @@ test_that("test-eucast_rules.R", { ) expect_identical( - eucast_rules( + interpretive_rules( data.frame( mo = c("Escherichia coli", "Enterobacter cloacae"), cefotax = as.sir(c("S", "S")) @@ -201,7 +202,7 @@ test_that("test-eucast_rules.R", { ) expect_identical( - eucast_rules( + interpretive_rules( data.frame( mo = c("Escherichia coli", "Enterobacter cloacae"), cefotax = as.sir(c("S", "S")) @@ -219,7 +220,7 @@ test_that("test-eucast_rules.R", { expect_inherits(eucast_dosage(c("tobra", "genta", "cipro")), "data.frame") - x <- custom_eucast_rules( + x <- custom_interpretive_rules( AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R", AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I", AMX == "S" ~ AMC == "S" @@ -230,7 +231,7 @@ test_that("test-eucast_rules.R", { # this custom rules makes 8 changes expect_equal( - nrow(eucast_rules(example_isolates, + nrow(interpretive_rules(example_isolates, rules = "custom", custom_rules = x, info = FALSE, @@ -240,4 +241,10 @@ test_that("test-eucast_rules.R", { 8, tolerance = 0.5 ) + + # clsi_rules() no longer errors (returns data unchanged until CLSI rows are added) + expect_identical( + suppressWarnings(clsi_rules(example_isolates, info = FALSE)), + example_isolates + ) })