mirror of
https://github.com/msberends/AMR.git
synced 2025-12-18 20:20:23 +01:00
Built site for AMR@3.0.1.9003: ba30b08
This commit is contained in:
358
reference/eucast_rules.md
Normal file
358
reference/eucast_rules.md
Normal file
@@ -0,0 +1,358 @@
|
||||
# Apply EUCAST Rules
|
||||
|
||||
Apply rules from clinical breakpoints notes and expected resistant
|
||||
phenotypes as defined by the European Committee on Antimicrobial
|
||||
Susceptibility Testing (EUCAST, <https://www.eucast.org>), see *Source*.
|
||||
Use `eucast_dosage()` to get a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with advised
|
||||
dosages of a certain bug-drug combination, which is based on the
|
||||
[dosage](https://amr-for-r.org/reference/dosage.md) data set.
|
||||
|
||||
To improve the interpretation of the antibiogram before EUCAST rules are
|
||||
applied, some non-EUCAST rules can applied at default, see *Details*.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
eucast_rules(x, col_mo = NULL, info = interactive(),
|
||||
rules = getOption("AMR_eucastrules", default = c("breakpoints",
|
||||
"expected_phenotypes")), verbose = FALSE, version_breakpoints = 15,
|
||||
version_expected_phenotypes = 1.2, version_expertrules = 3.3,
|
||||
ampc_cephalosporin_resistance = NA, only_sir_columns = any(is.sir(x)),
|
||||
custom_rules = NULL, overwrite = FALSE, ...)
|
||||
|
||||
eucast_dosage(ab, administration = "iv", version_breakpoints = 15)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
- EUCAST Expert Rules. Version 2.0, 2012.
|
||||
Leclercq et al. **EUCAST expert rules in antimicrobial susceptibility
|
||||
testing.** *Clin Microbiol Infect.* 2013;19(2):141-60;
|
||||
[doi:10.1111/j.1469-0691.2011.03703.x](https://doi.org/10.1111/j.1469-0691.2011.03703.x)
|
||||
|
||||
- EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes
|
||||
Tables. Version 3.1, 2016.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf)
|
||||
|
||||
- EUCAST Intrinsic Resistance and Unusual Phenotypes. Version 3.2, 2020.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2020/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.2_20200225.pdf)
|
||||
|
||||
- EUCAST Intrinsic Resistance and Unusual Phenotypes. Version 3.3, 2021.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2021/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.3_20211018.pdf)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 9.0, 2019.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 10.0, 2020.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_10.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 11.0, 2021.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_11.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 12.0, 2022.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_12.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A data set with antimicrobials columns, such as `amox`, `AMX` and
|
||||
`AMC`.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
progress should be printed to the console - the default is only print
|
||||
while in interactive sessions.
|
||||
|
||||
- rules:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) 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_eucastrules`](https://amr-for-r.org/reference/AMR-options.md):
|
||||
`options(AMR_eucastrules = "all")`. If using `"custom"`, be sure to
|
||||
fill in argument `custom_rules` too. Custom rules can be created with
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md).
|
||||
|
||||
- verbose:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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.
|
||||
|
||||
- version_breakpoints:
|
||||
|
||||
The version number to use for the EUCAST Clinical Breakpoints
|
||||
guideline. Can be "15.0", "14.0", "13.1", "12.0", "11.0", or "10.0".
|
||||
|
||||
- version_expected_phenotypes:
|
||||
|
||||
The version number to use for the EUCAST Expected Phenotypes. Can be
|
||||
"1.2".
|
||||
|
||||
- version_expertrules:
|
||||
|
||||
The version number to use for the EUCAST Expert Rules and Intrinsic
|
||||
Resistance guideline. Can be "3.3", "3.2", or "3.1".
|
||||
|
||||
- ampc_cephalosporin_resistance:
|
||||
|
||||
(only applies when `rules` contains `"expert"` or `"all"`) a
|
||||
[character](https://rdrr.io/r/base/character.html) 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"`.
|
||||
For *EUCAST Expert Rules* v3.2, this rule applies to: *Citrobacter
|
||||
braakii*, *Citrobacter freundii*, *Citrobacter gillenii*, *Citrobacter
|
||||
murliniae*, *Citrobacter rodenticum*, *Citrobacter sedlakii*,
|
||||
*Citrobacter werkmanii*, *Citrobacter youngae*, *Enterobacter*,
|
||||
*Hafnia alvei*, *Klebsiella aerogenes*, *Morganella morganii*,
|
||||
*Providencia*, and *Serratia*.
|
||||
|
||||
- only_sir_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only antimicrobial columns must be included that were transformed to
|
||||
class [sir](https://amr-for-r.org/reference/as.sir.md) on beforehand.
|
||||
Defaults to `FALSE` if no columns of `x` have a class
|
||||
[sir](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
- custom_rules:
|
||||
|
||||
Custom rules to apply, created with
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md).
|
||||
|
||||
- overwrite:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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".
|
||||
|
||||
- ...:
|
||||
|
||||
Column names of antimicrobials. To automatically detect antimicrobial
|
||||
column names, do not provide any named arguments;
|
||||
[`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md)
|
||||
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.
|
||||
|
||||
- ab:
|
||||
|
||||
Any (vector of) text that can be coerced to a valid antimicrobial drug
|
||||
code with [`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
- administration:
|
||||
|
||||
Route of administration, either "", "im", "iv", or "oral".
|
||||
|
||||
## Value
|
||||
|
||||
The input of `x`, possibly with edited values of antimicrobials. Or, if
|
||||
`verbose = TRUE`, a [data.frame](https://rdrr.io/r/base/data.frame.html)
|
||||
with all original and new values of the affected bug-drug combinations.
|
||||
|
||||
## Details
|
||||
|
||||
**Note:** This function does not translate MIC values to SIR values. Use
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md) for that.
|
||||
**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.
|
||||
|
||||
The file containing all EUCAST rules is located here:
|
||||
<https://github.com/msberends/AMR/blob/main/data-raw/eucast_rules.tsv>.
|
||||
**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 June 24th, 2024, see
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md).
|
||||
|
||||
### Custom Rules
|
||||
|
||||
Custom rules can be created using
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md),
|
||||
e.g.:
|
||||
|
||||
x <- custom_eucast_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R",
|
||||
AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I")
|
||||
|
||||
eucast_rules(example_isolates, rules = "custom", custom_rules = x)
|
||||
|
||||
### 'Other' Rules
|
||||
|
||||
Before further processing, two non-EUCAST rules about drug combinations
|
||||
can be applied to improve the efficacy of the EUCAST rules, and the
|
||||
reliability of your data (analysis). These rules are:
|
||||
|
||||
1. A drug **with** enzyme inhibitor will be set to S if the same drug
|
||||
**without** enzyme inhibitor is S
|
||||
|
||||
2. A drug **without** enzyme inhibitor will be set to R if the same
|
||||
drug **with** enzyme inhibitor is R
|
||||
|
||||
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_eucastrules`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
i.e. run `options(AMR_eucastrules = "all")`.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
a <- data.frame(
|
||||
mo = c(
|
||||
"Staphylococcus aureus",
|
||||
"Enterococcus faecalis",
|
||||
"Escherichia coli",
|
||||
"Klebsiella pneumoniae",
|
||||
"Pseudomonas aeruginosa"
|
||||
),
|
||||
VAN = "-", # Vancomycin
|
||||
AMX = "-", # Amoxicillin
|
||||
COL = "-", # Colistin
|
||||
CAZ = "-", # Ceftazidime
|
||||
CXM = "-", # Cefuroxime
|
||||
PEN = "S", # Benzylpenicillin
|
||||
FOX = "S", # Cefoxitin
|
||||
stringsAsFactors = FALSE
|
||||
)
|
||||
|
||||
head(a)
|
||||
#> mo VAN AMX COL CAZ CXM PEN FOX
|
||||
#> 1 Staphylococcus aureus - - - - - S S
|
||||
#> 2 Enterococcus faecalis - - - - - S S
|
||||
#> 3 Escherichia coli - - - - - S S
|
||||
#> 4 Klebsiella pneumoniae - - - - - S S
|
||||
#> 5 Pseudomonas aeruginosa - - - - - S S
|
||||
|
||||
|
||||
# apply EUCAST rules: some results wil be changed
|
||||
b <- eucast_rules(a, overwrite = TRUE)
|
||||
#> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of
|
||||
#> class 'sir'. Transform them on beforehand, with e.g.:
|
||||
#> - a %>% as.sir(CXM:AMX)
|
||||
#> - a %>% mutate_if(is_sir_eligible, as.sir)
|
||||
#> - a %>% mutate(across(where(is_sir_eligible), as.sir))
|
||||
|
||||
head(b)
|
||||
#> mo VAN AMX COL CAZ CXM PEN FOX
|
||||
#> 1 Staphylococcus aureus - S R R S S S
|
||||
#> 2 Enterococcus faecalis - - R R R S R
|
||||
#> 3 Escherichia coli R - - - - R S
|
||||
#> 4 Klebsiella pneumoniae R R - - - R S
|
||||
#> 5 Pseudomonas aeruginosa R R - - R R R
|
||||
|
||||
|
||||
# do not apply EUCAST rules, but rather get a data.frame
|
||||
# containing all details about the transformations:
|
||||
c <- eucast_rules(a, overwrite = TRUE, verbose = TRUE)
|
||||
#> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of
|
||||
#> class 'sir'. Transform them on beforehand, with e.g.:
|
||||
#> - a %>% as.sir(CXM:AMX)
|
||||
#> - a %>% mutate_if(is_sir_eligible, as.sir)
|
||||
#> - a %>% mutate(across(where(is_sir_eligible), as.sir))
|
||||
head(c)
|
||||
#> row col mo_fullname old new rule rule_group
|
||||
#> 1 1 AMX Staphylococcus aureus - S Breakpoints
|
||||
#> 2 1 CXM Staphylococcus aureus - S Breakpoints
|
||||
#> 3 1 CAZ Staphylococcus aureus - R Expected phenotypes
|
||||
#> 4 1 COL Staphylococcus aureus - R Expected phenotypes
|
||||
#> 5 2 CAZ Enterococcus faecalis - R Expected phenotypes
|
||||
#> 6 2 COL Enterococcus faecalis - R Expected phenotypes
|
||||
#> rule_name
|
||||
#> 1 Staphylococcus
|
||||
#> 2 Staphylococcus
|
||||
#> 3 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 4 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 5 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 6 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> rule_source
|
||||
#> 1 'EUCAST Clinical Breakpoint Tables' v15.0, 2025
|
||||
#> 2 'EUCAST Clinical Breakpoint Tables' v15.0, 2025
|
||||
#> 3 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 4 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 5 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 6 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
# }
|
||||
|
||||
# Dosage guidelines:
|
||||
|
||||
eucast_dosage(c("tobra", "genta", "cipro"), "iv")
|
||||
#> ℹ Dosages for antimicrobial drugs, as meant for 'EUCAST Clinical Breakpoint
|
||||
#> Tables' v15.0 (2025). This note will be shown once per session.
|
||||
#> # A tibble: 3 × 5
|
||||
#> ab name standard_dosage high_dosage eucast_version
|
||||
#> <ab> <chr> <chr> <chr> <dbl>
|
||||
#> 1 TOB Tobramycin 6-7 mg/kg x 1 iv NA 15
|
||||
#> 2 GEN Gentamicin 6-7 mg/kg x 1 iv NA 15
|
||||
#> 3 CIP Ciprofloxacin 0.4 g x 2 iv 0.4 g x 3 iv 15
|
||||
|
||||
eucast_dosage(c("tobra", "genta", "cipro"), "iv", version_breakpoints = 10)
|
||||
#> # A tibble: 3 × 5
|
||||
#> ab name standard_dosage high_dosage eucast_version
|
||||
#> <ab> <chr> <chr> <chr> <dbl>
|
||||
#> 1 TOB Tobramycin NA NA NA
|
||||
#> 2 GEN Gentamicin NA NA NA
|
||||
#> 3 CIP Ciprofloxacin NA NA NA
|
||||
```
|
||||
Reference in New Issue
Block a user