diff --git a/.Rbuildignore b/.Rbuildignore
index 93557735..c8f4451a 100755
--- a/.Rbuildignore
+++ b/.Rbuildignore
@@ -23,8 +23,11 @@
^data-raw$
^\.lintr$
^tests/testthat/_snaps$
+^vignettes/AMR.Rmd$
^vignettes/benchmarks.Rmd$
+^vignettes/datasets.Rmd$
^vignettes/EUCAST.Rmd$
+^vignettes/MDR.Rmd$
^vignettes/PCA.Rmd$
^vignettes/resistance_predict.Rmd$
^vignettes/SPSS.Rmd$
diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml
index e410f250..c2df5cf4 100644
--- a/.github/workflows/check.yaml
+++ b/.github/workflows/check.yaml
@@ -53,9 +53,9 @@ jobs:
matrix:
config:
# these are the developmental version of R - we allow those tests to fail
- - {os: macOS-latest, r: 'devel', allowfail: true}
- - {os: windows-latest, r: 'devel', allowfail: true}
- - {os: ubuntu-20.04, r: 'devel', allowfail: true, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
+ - {os: macOS-latest, r: 'devel', allowfail: false}
+ - {os: windows-latest, r: 'devel', allowfail: false}
+ - {os: ubuntu-20.04, r: 'devel', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
# test all systems against all released versions of R >= 3.0, we support them all!
- {os: macOS-latest, r: '4.1', allowfail: false}
@@ -65,7 +65,7 @@ jobs:
- {os: windows-latest, r: '4.0', allowfail: false}
- {os: ubuntu-20.04, r: '4.0', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
- {os: macOS-latest, r: '3.6', allowfail: false}
- - {os: windows-latest, r: '3.6', allowfail: true}
+ - {os: windows-latest, r: '3.6', allowfail: false}
- {os: ubuntu-20.04, r: '3.6', allowfail: false, rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
- {os: macOS-latest, r: '3.5', allowfail: false}
- {os: windows-latest, r: '3.5', allowfail: false}
diff --git a/DESCRIPTION b/DESCRIPTION
index ef0803dc..9ac65ed8 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,65 +1,73 @@
Package: AMR
-Version: 1.7.1.9022
-Date: 2021-07-23
+Version: 1.7.1.9023
+Date: 2021-08-16
Title: Antimicrobial Resistance Data Analysis
-Authors@R: c(
- person(role = c("aut", "cre"),
- family = "Berends", given = c("Matthijs", "S."), email = "m.s.berends@umcg.nl", comment = c(ORCID = "0000-0001-7620-1800")),
- person(role = c("aut", "ctb"),
- family = "Luz", given = c("Christian", "F."), email = "c.f.luz@umcg.nl", comment = c(ORCID = "0000-0001-5809-5995")),
- person(role = c("aut", "ths"),
- family = "Friedrich", given = c("Alexander", "W."), email = "alex.friedrich@umcg.nl", comment = c(ORCID = "0000-0003-4881-038X")),
- person(role = c("aut", "ths"),
- family = "Sinha", given = c("Bhanu", "N.", "M."), email = "b.sinha@umcg.nl", comment = c(ORCID = "0000-0003-1634-0010")),
- person(role = c("aut", "ths"),
- family = "Albers", given = c("Casper", "J."), email = "c.j.albers@rug.nl", comment = c(ORCID = "0000-0002-9213-6743")),
- person(role = c("aut", "ths"),
- family = "Glasner", given = "Corinna", email = "c.glasner@umcg.nl", comment = c(ORCID = "0000-0003-1241-1328")),
- person(role = "ctb",
- family = "Fonville", given = c("Judith", "M."), email = "j.fonville@pamm.nl"),
- person(role = "ctb",
- family = "Hassing", given = c("Erwin", "E.", "A."), email = "e.hassing@certe.nl"),
- person(role = "ctb",
- family = "Hazenberg", given = c("Eric", "H.", "L.", "C.", "M."), email = "e.hazenberg@jbz.nl"),
- person(role = "ctb",
- family = "Knight", given = "Gwen", email = "gwen.knight@lshtm.ac.uk"),
- person(role = "ctb",
- family = "Lenglet", given = "Annick", email = "annick.lenglet@amsterdam.msf.org"),
- person(role = "ctb",
- family = "Meijer", given = c("Bart", "C."), email = "b.meijerg@certe.nl"),
- person(role = "ctb",
- family = "Ny", given = "Sofia", email = "sofia.ny@folkhalsomyndigheten.se"),
- person(role = "ctb",
- family = "Schade", given = c("Rogier", "P."), email = "r.schade@amsterdamumc.nl"),
- person(role = "ctb",
- family = "Souverein", given = "Dennis", email = "d.souvereing@streeklabhaarlem.nl"),
- person(role = "ctb",
- family = "Underwood", given = "Anthony", email = "au3@sanger.ac.uk"))
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
data analysis and to work with microbial and antimicrobial properties by
using evidence-based methods and reliable reference data such as LPSN
.
-Depends:
- R (>= 3.0.0)
-Suggests:
- cleaner,
- curl,
- dplyr,
- ggplot2,
- ggtext,
- knitr,
- microbenchmark,
- pillar,
- readxl,
- rmarkdown,
- rstudioapi,
- rvest,
- skimr,
- tidyr,
- tinytest,
- vctrs,
- xml2
-VignetteBuilder: knitr,rmarkdown
+Authors@R: c(
+ person(given = c("Matthijs", "S."),
+ family = "Berends",
+ email = "m.s.berends@umcg.nl",
+ role = c("aut", "cre"),
+ comment = c(ORCID = "0000-0001-7620-1800")),
+ person(given = c("Christian", "F."),
+ family = "Luz",
+ role = c("aut", "ctb"),
+ comment = c(ORCID = "0000-0001-5809-5995")),
+ person(given = c("Alexander", "W."),
+ family = "Friedrich",
+ role = c("aut", "ths"),
+ comment = c(ORCID = "0000-0003-4881-038X")),
+ person(given = c("Bhanu", "N.", "M."),
+ family = "Sinha",
+ role = c("aut", "ths"),
+ comment = c(ORCID = "0000-0003-1634-0010")),
+ person(given = c("Casper", "J."),
+ family = "Albers",
+ role = c("aut", "ths"),
+ comment = c(ORCID = "0000-0002-9213-6743")),
+ person(given = "Corinna",
+ family = "Glasner",
+ role = c("aut", "ths"),
+ comment = c(ORCID = "0000-0003-1241-1328")),
+ person(given = c("Judith", "M."),
+ family = "Fonville",
+ role = "ctb"),
+ person(given = c("Erwin", "E.", "A."),
+ family = "Hassing",
+ role = "ctb"),
+ person(given = c("Eric", "H.", "L.", "C.", "M."),
+ family = "Hazenberg",
+ role = "ctb"),
+ person(given = "Gwen",
+ family = "Knight",
+ role = "ctb",
+ comment = c(ORCID = "0000-0002-7263-9896")),
+ person(given = "Annick",
+ family = "Lenglet",
+ role = "ctb",
+ comment = c(ORCID = "0000-0003-2013-8405")),
+ person(given = c("Bart", "C."),
+ family = "Meijer",
+ role = "ctb"),
+ person(given = "Sofia",
+ family = "Ny",
+ role = "ctb",
+ comment = c(ORCID = "0000-0002-2017-1363")),
+ person(given = c("Rogier", "P."),
+ family = "Schade",
+ role = "ctb"),
+ person(given = "Dennis",
+ family = "Souverein",
+ role = "ctb",
+ comment = c(ORCID = "0000-0003-0455-0336")),
+ person(given = "Anthony",
+ family = "Underwood",
+ role = "ctb",
+ comment = c(ORCID = "0000-0002-8547-427")))
+Depends: R (>= 3.0.0)
URL: https://github.com/msberends/AMR, https://msberends.github.io/AMR
BugReports: https://github.com/msberends/AMR/issues
License: GPL-2 | file LICENSE
diff --git a/NAMESPACE b/NAMESPACE
index c6e59f00..a49fd157 100755
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -5,6 +5,7 @@ S3method("!=",ab_selector)
S3method("!=",mic)
S3method("%%",mic)
S3method("%/%",mic)
+S3method("&",ab_selector)
S3method("&",mic)
S3method("*",mic)
S3method("+",mic)
@@ -35,6 +36,7 @@ S3method("[[<-",mic)
S3method("[[<-",mo)
S3method("[[<-",rsi)
S3method("^",mic)
+S3method("|",ab_selector)
S3method("|",mic)
S3method(abs,mic)
S3method(acos,mic)
@@ -161,22 +163,28 @@ export(ab_atc_group2)
export(ab_cid)
export(ab_class)
export(ab_ddd)
+export(ab_ddd_units)
export(ab_from_text)
export(ab_group)
export(ab_info)
export(ab_loinc)
export(ab_name)
export(ab_property)
+export(ab_selector)
export(ab_synonyms)
export(ab_tradenames)
export(ab_url)
+export(administrable_iv)
+export(administrable_per_os)
export(age)
export(age_groups)
export(all_antimicrobials)
export(aminoglycosides)
export(aminopenicillins)
export(anti_join_microorganisms)
+export(antifungals)
export(antimicrobials_equal)
+export(antimycobacterials)
export(as.ab)
export(as.disk)
export(as.mic)
@@ -212,24 +220,7 @@ export(eucast_dosage)
export(eucast_exceptional_phenotypes)
export(eucast_rules)
export(facet_rsi)
-export(filter_1st_cephalosporins)
-export(filter_2nd_cephalosporins)
-export(filter_3rd_cephalosporins)
-export(filter_4th_cephalosporins)
-export(filter_5th_cephalosporins)
-export(filter_ab_class)
-export(filter_aminoglycosides)
-export(filter_betalactams)
-export(filter_carbapenems)
-export(filter_cephalosporins)
export(filter_first_isolate)
-export(filter_first_weighted_isolate)
-export(filter_fluoroquinolones)
-export(filter_glycopeptides)
-export(filter_macrolides)
-export(filter_oxazolidinones)
-export(filter_penicillins)
-export(filter_tetracyclines)
export(first_isolate)
export(fluoroquinolones)
export(full_join_microorganisms)
@@ -253,8 +244,6 @@ export(is.rsi.eligible)
export(is_new_episode)
export(italicise_taxonomy)
export(italicize_taxonomy)
-export(key_antibiotics)
-export(key_antibiotics_equal)
export(key_antimicrobials)
export(kurtosis)
export(labels_rsi_count)
@@ -323,12 +312,14 @@ export(rsi_predict)
export(scale_rsi_colours)
export(scale_y_percent)
export(semi_join_microorganisms)
+export(set_ab_names)
export(set_mo_source)
export(skewness)
export(streptogramins)
export(susceptibility)
export(tetracyclines)
export(theme_rsi)
+export(trimethoprims)
export(ureidopenicillins)
importFrom(graphics,arrows)
importFrom(graphics,axis)
diff --git a/NEWS.md b/NEWS.md
index dd8b8c49..7efa9771 100755
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,13 +1,30 @@
-# `AMR` 1.7.1.9022
-## Last updated: 23 July 2021
+# `AMR` 1.7.1.9023
+## Last updated: 16 August 2021
+
+### Breaking changes
+* Removed all `filter_*()` functions (except for `filter_first_isolate()`), which were all deprecated in a previous package version
+* Removed the `key_antibiotics()` and `key_antibiotics_equal()` functions, which were deprecated and superseded by `key_antimicrobials()` and `antimicrobials_equal()`
+* Removed all previously implemented `ggplot2::ggplot()` generics for classes ``, ``, `` and `` as they did not follow the `ggplot2` logic. They were replaced with `ggplot2::autoplot()` generics.
+
+### New
+* Function `set_ab_names()` to rename data set columns that resemble antimicrobial drugs. This allows for quickly renaming columns to official names, ATC codes, etc.
### Changed
-* Previously implemented `ggplot2::ggplot()` generics for classes ``, ``, `` and `` did not follow the `ggplot2` logic, and were replaced with `autoplot()` generics.
-* Antibiotic class selectors (see `ab_class()`)
+* The `antibiotics` data set now contains **all ATC codes** that are available through the [WHOCC website](https://www.whocc.no), regardless of drugs being present in more than one ATC group. This means that:
+ * Some drugs now contain multiple ATC codes (e.g., metronidazole contains 5)
+ * `antibiotics$atc` is now a `list` instead of a `character`, and this `atc` column was moved to the 5th position of the `antibiotics` data set
+ * `ab_atc()` does not always return a character vector with length 1, and returns a `list` if the input is larger than length 1
+* Antibiotic selectors
* They now also work in R-3.0 and R-3.1, supporting every version of R since 2013
- * Added more selectors: `aminopenicillins()`, `lincosamides()`, `lipoglycopeptides()`, `polymyxins()`, `quinolones()`, `streptogramins()` and `ureidopenicillins()`
+ * Added more selectors for antibiotic classes: `aminopenicillins()`, `antifungals()`, `antimycobacterials()`, `lincosamides()`, `lipoglycopeptides()`, `polymyxins()`, `quinolones()`, `streptogramins()`, `trimethoprims()` and `ureidopenicillins()`
+ * Added specific selectors for certain types for treatment: `administrable_per_os()` and `administrable_iv()`, which are based on available Defined Daily Doses (DDDs), as defined by the WHOCC. These are ideal for e.g. analysing pathogens in primary care where IV treatment is not an option. They can be combined with other AB selectors, e.g. to select penicillins that are only administrable per os (i.e., orally):
+ ```r
+ example_isolates[, penicillins() & administrable_per_os()] # base R
+ example_isolates %>% select(penicillins() & administrable_per_os()) # dplyr
+ ```
* Fix for using selectors multiple times in one call (e.g., using them in `dplyr::filter()` and immediately after in `dplyr::select()`)
* Added argument `only_treatable`, which defaults to `TRUE` and will exclude drugs that are only for laboratory tests and not for treating patients (such as imipenem/EDTA and gentamicin-high)
+* Fixed the Gram stain (`mo_gramstain()`) determination of the class Negativicutes within the phylum of Firmicutes - they were considered Gram-positives because of their phylum but are actually Gram-negative. This impacts 137 taxonomic species, genera and families, such as *Negativicoccus* and *Veillonella*.
* Fix for duplicate ATC codes in the `antibiotics` data set
* Fix to prevent introducing `NA`s for old MO codes when running `as.mo()` on them
* Added more informative error messages when any of the `proportion_*()` and `count_*()` functions fail
@@ -16,12 +33,13 @@
* The right input types for `random_mic()`, `random_disk()` and `random_rsi()` are now enforced
* `as.rsi()` can now correct for textual input (such as "Susceptible", "Resistant") in Dutch, English, French, German, Italian, Portuguese and Spanish
* When warnings are thrown because of too few isolates in any `count_*()`, `proportion_*()` function (or `resistant()` or `susceptible()`), the `dplyr` group will be shown, if available
-* `ab_name()` gained argument `snake_case`, which is useful for column renaming
* Fix for legends created with `scale_rsi_colours()` when using `ggplot2` v3.3.4 or higher (this is ggplot2 bug 4511, soon to be fixed)
* Fix for minor translation errors
* Fix for the MIC interpretation of *Morganellaceae* (such as *Morganella* and *Proteus*) when using the EUCAST 2021 guideline
* Improved algorithm for generating random MICs with `random_mic()`
* Improved plot legends for MICs and disk diffusion values
+* Improved speed of `as.ab()` and all `ab_*()` functions
+
# AMR 1.7.1
diff --git a/R/aa_helper_functions.R b/R/aa_helper_functions.R
index 68709304..999f79d0 100755
--- a/R/aa_helper_functions.R
+++ b/R/aa_helper_functions.R
@@ -544,7 +544,7 @@ create_eucast_ab_documentation <- function() {
out
}
-vector_or <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE, last_sep = " or ") {
+vector_or <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE, initial_captital = FALSE, last_sep = " or ") {
# makes unique and sorts, and this also removed NAs
v <- unique(v)
if (isTRUE(sort)) {
@@ -560,6 +560,9 @@ vector_or <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE, last_sep =
} else {
quotes <- quotes[1L]
}
+ if (isTRUE(initial_captital)) {
+ v[1] <- gsub("^([a-z])", "\\U\\1", v[1], perl = TRUE)
+ }
if (length(v) == 1) {
return(paste0(quotes, v, quotes))
}
@@ -572,8 +575,9 @@ vector_or <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE, last_sep =
last_sep, paste0(quotes, v[length(v)], quotes))
}
-vector_and <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE) {
- vector_or(v = v, quotes = quotes, reverse = reverse, sort = sort, last_sep = " and ")
+vector_and <- function(v, quotes = TRUE, reverse = FALSE, sort = TRUE, initial_captital = FALSE) {
+ vector_or(v = v, quotes = quotes, reverse = reverse, sort = sort,
+ initial_captital = initial_captital, last_sep = " and ")
}
format_class <- function(class, plural = FALSE) {
@@ -840,17 +844,17 @@ unique_call_id <- function(entire_session = FALSE) {
}
message_not_thrown_before <- function(fn, entire_session = FALSE) {
- # this is to prevent that messages/notes will be printed for every dplyr group
+ # this is to prevent that messages/notes will be printed for every dplyr group or more than once per session
# e.g. this would show a msg 4 times: example_isolates %>% group_by(hospital_id) %>% filter(mo_is_gram_negative())
- test_out <- is.null(pkg_env[[paste0("thrown_msg.", fn)]]) || !identical(pkg_env[[paste0("thrown_msg.", fn)]],
- unique_call_id(entire_session = entire_session))
- if (isTRUE(test_out)) {
+ not_thrown_before <- is.null(pkg_env[[paste0("thrown_msg.", fn)]]) || !identical(pkg_env[[paste0("thrown_msg.", fn)]],
+ unique_call_id(entire_session = entire_session))
+ if (isTRUE(not_thrown_before)) {
# message was not thrown before - remember this so on the next run it will return FALSE:
assign(x = paste0("thrown_msg.", fn),
value = unique_call_id(entire_session = entire_session),
envir = pkg_env)
}
- test_out
+ not_thrown_before
}
has_colour <- function() {
diff --git a/R/ab.R b/R/ab.R
index 05a94cde..45574ca8 100755
--- a/R/ab.R
+++ b/R/ab.R
@@ -33,7 +33,7 @@
#' @param ... arguments passed on to internal functions
#' @rdname as.ab
#' @inheritSection WHOCC WHOCC
-#' @details All entries in the [antibiotics] data set have three different identifiers: a human readable EARS-Net code (column `ab`, used by ECDC and WHONET), an ATC code (column `atc`, used by WHO), and a CID code (column `cid`, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem.
+#' @details All entries in the [antibiotics] data set have three different identifiers: a human readable EARS-Net code (column `ab`, used by ECDC and WHONET), an ATC code (column `atc`, used by WHO), and a CID code (column `cid`, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem. Not that some drugs contain multiple ATC codes.
#'
#' All these properties will be searched for the user input. The [as.ab()] can correct for different forms of misspelling:
#'
@@ -101,6 +101,11 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
if (is.ab(x)) {
return(x)
}
+ if (all(x %in% c(AB_lookup$ab, NA))) {
+ # all valid AB codes, but not yet right class
+ return(set_clean_class(x,
+ new_class = c("ab", "character")))
+ }
initial_search <- is.null(list(...)$initial_search)
already_regex <- isTRUE(list(...)$already_regex)
@@ -110,24 +115,6 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
x <- toupper(x)
x_nonNA <- x[!is.na(x)]
- if (all(x_nonNA %in% antibiotics$ab, na.rm = TRUE)) {
- # all valid AB codes, but not yet right class
- return(set_clean_class(x,
- new_class = c("ab", "character")))
- }
- if (all(x_nonNA %in% toupper(antibiotics$name), na.rm = TRUE)) {
- # all valid AB names
- out <- antibiotics$ab[match(x, toupper(antibiotics$name))]
- out[is.na(x)] <- NA_character_
- return(out)
- }
- if (all(x_nonNA %in% antibiotics$atc, na.rm = TRUE)) {
- # all valid ATC codes
- out <- antibiotics$ab[match(x, antibiotics$atc)]
- out[is.na(x)] <- NA_character_
- return(out)
- }
-
# remove diacritics
x <- iconv(x, from = "UTF-8", to = "ASCII//TRANSLIT")
x <- gsub('"', "", x, fixed = TRUE)
@@ -155,13 +142,29 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
found[1L]
}
- if (initial_search == TRUE) {
- progress <- progress_ticker(n = length(x), n_min = 25, print = info) # start if n >= 25
+ # Fill in names, AB codes, CID codes and ATC codes directly (`x` is already clean and uppercase)
+ known_names <- x %in% AB_lookup$generalised_name
+ x_new[known_names] <- AB_lookup$ab[match(x[known_names], AB_lookup$generalised_name)]
+ known_codes_ab <- x %in% AB_lookup$ab
+ known_codes_atc <- vapply(FUN.VALUE = logical(1), x, function(x_) x_ %in% unlist(AB_lookup$atc), USE.NAMES = FALSE)
+ known_codes_cid <- x %in% AB_lookup$cid
+ x_new[known_codes_ab] <- AB_lookup$ab[match(x[known_codes_ab], AB_lookup$ab)]
+ x_new[known_codes_atc] <- AB_lookup$ab[vapply(FUN.VALUE = integer(1),
+ x[known_codes_atc],
+ function(x_) which(vapply(FUN.VALUE = logical(1),
+ AB_lookup$atc,
+ function(atc) x_ %in% atc)),
+ USE.NAMES = FALSE)]
+ x_new[known_codes_cid] <- AB_lookup$ab[match(x[known_codes_cid], AB_lookup$cid)]
+ already_known <- known_names | known_codes_ab | known_codes_atc | known_codes_cid
+
+ if (initial_search == TRUE & sum(already_known) < length(x)) {
+ progress <- progress_ticker(n = sum(!already_known), n_min = 25, print = info) # start if n >= 25
on.exit(close(progress))
}
- for (i in seq_len(length(x))) {
-
+ for (i in which(!already_known)) {
+
if (initial_search == TRUE) {
progress$tick()
}
@@ -189,34 +192,6 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
next
}
- # exact name
- found <- antibiotics[which(AB_lookup$generalised_name == x[i]), ]$ab
- if (length(found) > 0) {
- x_new[i] <- found[1L]
- next
- }
-
- # exact AB code
- found <- antibiotics[which(antibiotics$ab == x[i]), ]$ab
- if (length(found) > 0) {
- x_new[i] <- note_if_more_than_one_found(found, i, from_text)
- next
- }
-
- # exact ATC code
- found <- antibiotics[which(antibiotics$atc == x[i]), ]$ab
- if (length(found) > 0) {
- x_new[i] <- note_if_more_than_one_found(found, i, from_text)
- next
- }
-
- # exact CID code
- found <- antibiotics[which(antibiotics$cid == x[i]), ]$ab
- if (length(found) > 0) {
- x_new[i] <- note_if_more_than_one_found(found, i, from_text)
- next
- }
-
# exact LOINC code
loinc_found <- unlist(lapply(AB_lookup$generalised_loinc,
function(s) x[i] %in% s))
@@ -296,7 +271,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
x_new[i] <- note_if_more_than_one_found(found, i, from_text)
next
}
-
+
# INITIAL SEARCH - More uncertain results ----
if (initial_search == TRUE && fast_mode == FALSE) {
@@ -461,7 +436,7 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
x_unknown <- c(x_unknown, x_bak[x[i] == x_bak_clean][1])
}
- if (initial_search == TRUE) {
+ if (initial_search == TRUE & sum(already_known) < length(x)) {
close(progress)
}
@@ -479,11 +454,8 @@ as.ab <- function(x, flag_multiple_results = TRUE, info = interactive(), ...) {
vector_and(x_unknown), ".",
call = FALSE)
}
-
- x_result <- data.frame(x = x_bak_clean, stringsAsFactors = FALSE) %pm>%
- pm_left_join(data.frame(x = x, x_new = x_new, stringsAsFactors = FALSE), by = "x") %pm>%
- pm_pull(x_new)
-
+
+ x_result <- x_new[match(x_bak_clean, x)]
if (length(x_result) == 0) {
x_result <- NA_character_
}
diff --git a/R/ab_class_selectors.R b/R/ab_class_selectors.R
index bbbee930..510a58dd 100644
--- a/R/ab_class_selectors.R
+++ b/R/ab_class_selectors.R
@@ -23,23 +23,31 @@
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
# ==================================================================== #
-#' Antibiotic Class Selectors
+#' Antibiotic Selectors
#'
-#' These functions allow for filtering rows and selecting columns based on antibiotic test results that are of a specific antibiotic class, without the need to define the columns or antibiotic abbreviations.
+#' These functions allow for filtering rows and selecting columns based on antibiotic test results that are of a specific antibiotic class or group, without the need to define the columns or antibiotic abbreviations. In short, if you have a column name that resembles an antimicrobial agent, it will be picked up by any of these functions that matches its pharmaceutical class: "cefazolin", "CZO" and "J01DB04" will all be picked up by [cephalosporins()].
#' @inheritSection lifecycle Stable Lifecycle
#' @param ab_class an antimicrobial class, such as `"carbapenems"`. The columns `group`, `atc_group1` and `atc_group2` of the [antibiotics] data set will be searched (case-insensitive) for this value.
+#' @param filter an [expression] to be evaluated in the [antibiotics] data set, such as `name %like% "trim"`
#' @param only_rsi_columns a [logical] to indicate whether only columns of class `` must be selected (defaults to `FALSE`), see [as.rsi()]
#' @param only_treatable a [logical] to indicate whether agents that are only for laboratory tests should be excluded (defaults to `TRUE`), such as gentamicin-high (`GEH`) and imipenem/EDTA (`IPE`)
#' @details
#' These functions can be used in data set calls for selecting columns and filtering rows. They are heavily inspired by the [Tidyverse selection helpers][tidyselect::language] such as [`everything()`][tidyselect::everything()], but also work in base \R and not only in `dplyr` verbs. Nonetheless, they are very convenient to use with `dplyr` functions such as [`select()`][dplyr::select()], [`filter()`][dplyr::filter()] and [`summarise()`][dplyr::summarise()], see *Examples*.
#'
-#' All columns in the data in which these functions are called will be searched for known antibiotic names, abbreviations, brand names, and codes (ATC, EARS-Net, WHO, etc.) according to the [antibiotics] data set. This means that a selector such as [aminoglycosides()] will pick up column names like 'gen', 'genta', 'J01GB03', 'tobra', 'Tobracin', etc. Use the [ab_class()] function to filter/select on a manually defined antibiotic class.
+#' All columns in the data in which these functions are called will be searched for known antibiotic names, abbreviations, brand names, and codes (ATC, EARS-Net, WHO, etc.) according to the [antibiotics] data set. This means that a selector such as [aminoglycosides()] will pick up column names like 'gen', 'genta', 'J01GB03', 'tobra', 'Tobracin', etc.
#'
-#' @section Full list of supported agents:
+#' The [ab_class()] function can be used to filter/select on a manually defined antibiotic class. It searches for results in the [antibiotics] data set within the columns `name`, `atc_group1` and `atc_group2`.
#'
-#' `r paste0("* ", sapply(c("AMINOGLYCOSIDES", "AMINOPENICILLINS", "BETALACTAMS", "CARBAPENEMS", "CEPHALOSPORINS", "CEPHALOSPORINS_1ST", "CEPHALOSPORINS_2ND", "CEPHALOSPORINS_3RD", "CEPHALOSPORINS_4TH", "CEPHALOSPORINS_5TH", "FLUOROQUINOLONES", "GLYCOPEPTIDES", "LINCOSAMIDES", "LIPOGLYCOPEPTIDES", "MACROLIDES", "OXAZOLIDINONES", "PENICILLINS", "POLYMYXINS", "STREPTOGRAMINS", "QUINOLONES", "TETRACYCLINES", "UREIDOPENICILLINS"), function(x) paste0("``", tolower(x), "()`` can select ", vector_and(paste0(ab_name(eval(parse(text = x), envir = asNamespace("AMR")), language = NULL, tolower = TRUE), " (", eval(parse(text = x), envir = asNamespace("AMR")), ")"), quotes = FALSE))), "\n", collapse = "")`
+#' The [ab_selector()] function can be used to internally filter the [antibiotics] data set on any results, see *Examples*. It allows for filtering on a (part of) a certain name, and/or a group name or even a minimum of DDDs for oral treatment. This function yields the highest flexibility, but is also the least user-friendly, since it requires a hard-coded filter to set.
+#'
+#' The [administrable_per_os()] and [administrable_iv()] functions also rely on the [antibiotics] data set - antibiotic columns will be matched where a DDD (defined daily dose) for resp. oral and IV treatment is available in the [antibiotics] data set.
+#'
+#' @section Full list of supported (antibiotic) classes:
+#'
+#' `r paste0(" * ", na.omit(sapply(DEFINED_AB_GROUPS, function(ab) ifelse(tolower(gsub("^AB_", "", ab)) %in% ls(envir = asNamespace("AMR")), paste0("[", tolower(gsub("^AB_", "", ab)), "()] can select: \\cr ", vector_and(paste0(ab_name(eval(parse(text = ab), envir = asNamespace("AMR")), language = NULL, tolower = TRUE), " (", eval(parse(text = ab), envir = asNamespace("AMR")), ")"), quotes = FALSE, sort = TRUE)), character(0)), USE.NAMES = FALSE)), "\n", collapse = "")`
#' @rdname antibiotic_class_selectors
#' @name antibiotic_class_selectors
+#' @return (internally) a [character] vector of column names, with additional class `"ab_selector"`
#' @export
#' @inheritSection AMR Reference Data Publicly Available
#' @inheritSection AMR Read more on Our Website!
@@ -55,6 +63,9 @@
#' # select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB'
#' example_isolates[, c("mo", aminoglycosides())]
#'
+#' # select only antibiotic columns with DDDs for oral treatment
+#' example_isolates[, administrable_per_os()]
+#'
#' # filter using any() or all()
#' example_isolates[any(carbapenems() == "R"), ]
#' subset(example_isolates, any(carbapenems() == "R"))
@@ -69,6 +80,13 @@
#' # filter + select in one go: get penicillins in carbapenems-resistant strains
#' example_isolates[any(carbapenems() == "R"), penicillins()]
#'
+#' # You can combine selectors with '&' to be more specific. For example,
+#' # penicillins() would select benzylpenicillin ('peni G') and
+#' # administrable_per_os() would select erythromycin. Yet, when combined these
+#' # drugs are both omitted since benzylpenicillin is not administrable per os
+#' # and erythromycin is not a penicillin:
+#' example_isolates[, penicillins() & administrable_per_os()]
+#'
#'
#' # dplyr -------------------------------------------------------------------
#' \donttest{
@@ -78,6 +96,16 @@
#' example_isolates %>%
#' group_by(hospital_id) %>%
#' summarise(across(aminoglycosides(), resistance))
+#'
+#' # You can combine selectors with '&' to be more specific:
+#' example_isolates %>%
+#' select(penicillins() & administrable_per_os())
+#'
+#' # get susceptibility for antibiotics whose name contains "trim":
+#' example_isolates %>%
+#' filter(first_isolate()) %>%
+#' group_by(hospital_id) %>%
+#' summarise(across(ab_selector(name %like% "trim"), susceptibility))
#'
#' # this will select columns 'IPM' (imipenem) and 'MEM' (meropenem):
#' example_isolates %>%
@@ -129,22 +157,146 @@ ab_class <- function(ab_class,
meet_criteria(ab_class, allow_class = "character", has_length = 1, allow_NULL = TRUE)
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
- ab_selector(NULL, only_rsi_columns = only_rsi_columns, ab_class = ab_class, only_treatable = only_treatable)
+ ab_select_exec(NULL, only_rsi_columns = only_rsi_columns, ab_class = ab_class, only_treatable = only_treatable)
}
+#' @rdname antibiotic_class_selectors
+#' @export
+ab_selector <- function(filter,
+ only_rsi_columns = FALSE,
+ only_treatable = TRUE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
+
+ # get_current_data() has to run each time, for cases where e.g., filter() and select() are used in same call
+ # but it only takes a couple of milliseconds
+ vars_df <- get_current_data(arg_name = NA, call = -2)
+ # to improve speed, get_column_abx() will only run once when e.g. in a select or group call
+ ab_in_data <- get_column_abx(vars_df, info = FALSE, only_rsi_columns = only_rsi_columns, sort = FALSE)
+ call <- substitute(filter)
+ agents <- tryCatch(AMR::antibiotics[which(eval(call, envir = AMR::antibiotics)), "ab", drop = TRUE],
+ error = function(e) stop_(e$message, call = -5))
+ agents <- ab_in_data[ab_in_data %in% agents]
+ message_agent_names(function_name = "ab_selector",
+ agents = agents,
+ ab_group = NULL,
+ examples = "",
+ call = call)
+ structure(unname(agents),
+ class = c("ab_selector", "character"))
+}
+
+#' @rdname antibiotic_class_selectors
+#' @export
+administrable_per_os <- function(only_rsi_columns = FALSE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ # get_current_data() has to run each time, for cases where e.g., filter() and select() are used in same call
+ # but it only takes a couple of milliseconds
+ vars_df <- get_current_data(arg_name = NA, call = -2)
+ # to improve speed, get_column_abx() will only run once when e.g. in a select or group call
+ ab_in_data <- get_column_abx(vars_df, info = FALSE, only_rsi_columns = only_rsi_columns, sort = FALSE)
+ agents_all <- antibiotics[which(!is.na(antibiotics$oral_ddd)), "ab", drop = TRUE]
+ agents <- antibiotics[which(antibiotics$ab %in% ab_in_data & !is.na(antibiotics$oral_ddd)), "ab", drop = TRUE]
+ agents <- ab_in_data[ab_in_data %in% agents]
+ message_agent_names(function_name = "administrable_per_os",
+ agents = agents,
+ ab_group = "administrable_per_os",
+ examples = paste0(" (such as ",
+ vector_or(ab_name(sample(agents_all,
+ size = min(5, length(agents_all)),
+ replace = FALSE),
+ tolower = TRUE,
+ language = NULL),
+ quotes = FALSE),
+ ")"))
+ structure(unname(agents),
+ class = c("ab_selector", "character"))
+}
+
+#' @rdname antibiotic_class_selectors
+#' @export
+administrable_iv <- function(only_rsi_columns = FALSE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ # get_current_data() has to run each time, for cases where e.g., filter() and select() are used in same call
+ # but it only takes a couple of milliseconds
+ vars_df <- get_current_data(arg_name = NA, call = -2)
+ # to improve speed, get_column_abx() will only run once when e.g. in a select or group call
+ ab_in_data <- get_column_abx(vars_df, info = FALSE, only_rsi_columns = only_rsi_columns, sort = FALSE)
+ agents_all <- antibiotics[which(!is.na(antibiotics$iv_ddd)), "ab", drop = TRUE]
+ agents <- antibiotics[which(antibiotics$ab %in% ab_in_data & !is.na(antibiotics$iv_ddd)), "ab", drop = TRUE]
+ agents <- ab_in_data[ab_in_data %in% agents]
+ message_agent_names(function_name = "administrable_iv",
+ agents = agents,
+ ab_group = "administrable_iv",
+ examples = "")
+ structure(unname(agents),
+ class = c("ab_selector", "character"))
+}
+
+# nolint start
+# #' @rdname antibiotic_class_selectors
+# #' @export
+# not_intrinsic_resistant <- function(mo, ..., only_rsi_columns = FALSE) {
+# meet_criteria(mo, allow_class = c("mo", "data.frame", "list", "character", "numeric", "integer", "factor"), has_length = 1, allow_NA = FALSE)
+# meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+#
+# x <- as.mo(mo, ...)
+# wont_work <- intrinsic_resistant[which(intrinsic_resistant$microorganism == mo_name(x, language = NULL)),
+# "antibiotic",
+# drop = TRUE]
+#
+# # get_current_data() has to run each time, for cases where e.g., filter() and select() are used in same call
+# # but it only takes a couple of milliseconds
+# vars_df <- get_current_data(arg_name = NA, call = -2)
+# # to improve speed, get_column_abx() will only run once when e.g. in a select or group call
+# ab_in_data <- get_column_abx(vars_df, info = FALSE, only_rsi_columns = only_rsi_columns, sort = FALSE)
+#
+# agents <- ab_in_data[!names(ab_in_data) %in% as.character(as.ab(wont_work))]
+#
+# # show used version number once per session (pkg_env will reload every session)
+# if (message_not_thrown_before("intrinsic_resistant_version.ab", entire_session = TRUE)) {
+# message_("Determining intrinsic resistance based on ",
+# format_eucast_version_nr(3.2, markdown = FALSE), ". ",
+# font_red("This note will be shown once per session."))
+# }
+#
+# message_agent_names(function_name = "not_intrinsic_resistant",
+# agents = ab_in_data,
+# ab_group = NULL,
+# examples = "",
+# call = mo_name(x, language = NULL))
+#
+# agents
+# }
+# nolint end
+
#' @rdname antibiotic_class_selectors
#' @export
aminoglycosides <- function(only_rsi_columns = FALSE, only_treatable = TRUE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
- ab_selector("aminoglycosides", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
+ ab_select_exec("aminoglycosides", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
}
#' @rdname antibiotic_class_selectors
#' @export
aminopenicillins <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("aminopenicillins", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("aminopenicillins", only_rsi_columns = only_rsi_columns)
+}
+
+#' @rdname antibiotic_class_selectors
+#' @export
+antifungals <- function(only_rsi_columns = FALSE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ ab_select_exec("antifungals", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
+}
+
+#' @rdname antibiotic_class_selectors
+#' @export
+antimycobacterials <- function(only_rsi_columns = FALSE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ ab_select_exec("antimycobacterials", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
}
#' @rdname antibiotic_class_selectors
@@ -152,7 +304,7 @@ aminopenicillins <- function(only_rsi_columns = FALSE) {
betalactams <- function(only_rsi_columns = FALSE, only_treatable = TRUE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
- ab_selector("betalactams", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
+ ab_select_exec("betalactams", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
}
#' @rdname antibiotic_class_selectors
@@ -160,98 +312,98 @@ betalactams <- function(only_rsi_columns = FALSE, only_treatable = TRUE) {
carbapenems <- function(only_rsi_columns = FALSE, only_treatable = TRUE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
- ab_selector("carbapenems", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
+ ab_select_exec("carbapenems", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins_1st <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins_1st", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins_1st", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins_2nd <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins_2nd", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins_2nd", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins_3rd <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins_3rd", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins_3rd", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins_4th <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins_4th", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins_4th", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
cephalosporins_5th <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("cephalosporins_5th", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("cephalosporins_5th", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
fluoroquinolones <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("fluoroquinolones", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("fluoroquinolones", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
glycopeptides <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("glycopeptides", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("glycopeptides", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
lincosamides <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("lincosamides", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("lincosamides", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
lipoglycopeptides <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("lipoglycopeptides", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("lipoglycopeptides", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
macrolides <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("macrolides", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("macrolides", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
oxazolidinones <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("oxazolidinones", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("oxazolidinones", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
penicillins <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("penicillins", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("penicillins", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
@@ -259,47 +411,54 @@ penicillins <- function(only_rsi_columns = FALSE) {
polymyxins <- function(only_rsi_columns = FALSE, only_treatable = TRUE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
meet_criteria(only_treatable, allow_class = "logical", has_length = 1)
- ab_selector("polymyxins", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
+ ab_select_exec("polymyxins", only_rsi_columns = only_rsi_columns, only_treatable = only_treatable)
}
#' @rdname antibiotic_class_selectors
#' @export
streptogramins <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("streptogramins", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("streptogramins", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
quinolones <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("quinolones", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("quinolones", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
tetracyclines <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("tetracyclines", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("tetracyclines", only_rsi_columns = only_rsi_columns)
+}
+
+#' @rdname antibiotic_class_selectors
+#' @export
+trimethoprims <- function(only_rsi_columns = FALSE) {
+ meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
+ ab_select_exec("trimethoprims", only_rsi_columns = only_rsi_columns)
}
#' @rdname antibiotic_class_selectors
#' @export
ureidopenicillins <- function(only_rsi_columns = FALSE) {
meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1)
- ab_selector("ureidopenicillins", only_rsi_columns = only_rsi_columns)
+ ab_select_exec("ureidopenicillins", only_rsi_columns = only_rsi_columns)
}
-ab_selector <- function(function_name,
- only_rsi_columns,
- only_treatable = FALSE,
- ab_class = NULL) {
+ab_select_exec <- function(function_name,
+ only_rsi_columns = FALSE,
+ only_treatable = FALSE,
+ ab_class = NULL) {
# get_current_data() has to run each time, for cases where e.g., filter() and select() are used in same call
# but it only takes a couple of milliseconds
vars_df <- get_current_data(arg_name = NA, call = -3)
# to improve speed, get_column_abx() will only run once when e.g. in a select or group call
ab_in_data <- get_column_abx(vars_df, info = FALSE, only_rsi_columns = only_rsi_columns, sort = FALSE)
-
+
# untreatable drugs
untreatable <- antibiotics[which(antibiotics$name %like% "-high|EDTA|polysorbate"), "ab", drop = TRUE]
if (only_treatable == TRUE & any(untreatable %in% names(ab_in_data))) {
@@ -323,7 +482,8 @@ ab_selector <- function(function_name,
if (is.null(ab_class)) {
# their upper case equivalent are vectors with class , created in data-raw/_internals.R
- abx <- get(toupper(function_name), envir = asNamespace("AMR"))
+ # carbapenems() gets its codes from AMR:::AB_CARBAPENEMS
+ abx <- get(paste0("AB_", toupper(function_name)), envir = asNamespace("AMR"))
ab_group <- function_name
examples <- paste0(" (such as ", vector_or(ab_name(sample(abx, size = min(2, length(abx)), replace = FALSE),
tolower = TRUE,
@@ -339,27 +499,14 @@ ab_selector <- function(function_name,
function_name <- "ab_class"
examples <- paste0(" (such as ", find_ab_names(ab_class, 2), ")")
}
-
+
# get the columns with a group names in the chosen ab class
agents <- ab_in_data[names(ab_in_data) %in% abx]
- if (message_not_thrown_before(paste0(function_name, ".", paste(sort(agents), collapse = "|")))) {
- if (length(agents) == 0) {
- message_("No antimicrobial agents of class '", ab_group, "' found", examples, ".")
- } else {
- agents_formatted <- paste0("'", font_bold(agents, collapse = NULL), "'")
- agents_names <- ab_name(names(agents), tolower = TRUE, language = NULL)
- need_name <- generalise_antibiotic_name(agents) != generalise_antibiotic_name(agents_names)
- agents_formatted[need_name] <- paste0(agents_formatted[need_name], " (", agents_names[need_name], ")")
- message_("For `", function_name, "(",
- ifelse(function_name == "ab_class",
- paste0("\"", ab_class, "\""),
- ""),
- ")` using ",
- ifelse(length(agents) == 1, "column ", "columns "),
- vector_and(agents_formatted, quotes = FALSE, sort = FALSE))
- }
- }
+ message_agent_names(function_name = function_name,
+ agents = agents,
+ ab_group = ab_group,
+ examples = examples)
structure(unname(agents),
class = c("ab_selector", "character"))
@@ -486,6 +633,25 @@ any.ab_selector_any_all <- function(..., na.rm = FALSE) {
class = c("ab_selector_any_all", "logical"))
}
+#' @method & ab_selector
+#' @export
+#' @noRd
+`&.ab_selector` <- function(e1, e2) {
+ # this is only required for base R, since tidyselect has already implemented this
+ # e.g., for: example_isolates[, penicillins() & administrable_per_os()]
+ structure(intersect(unclass(e1), unclass(e2)),
+ class = c("ab_selector", "character"))
+}
+#' @method | ab_selector
+#' @export
+#' @noRd
+`|.ab_selector` <- function(e1, e2) {
+ # this is only required for base R, since tidyselect has already implemented this
+ # e.g., for: example_isolates[, penicillins() | administrable_per_os()]
+ structure(union(unclass(e1), unclass(e2)),
+ class = c("ab_selector", "character"))
+}
+
is_any <- function(el1) {
syscall <- paste0(trimws(deparse(sys.calls()[[1]])), collapse = " ")
el1 <- gsub("(.*),.*", "\\1", el1)
@@ -497,7 +663,6 @@ is_all <- function(el1) {
syscall %like% paste0("[^_a-zA-Z0-9]all\\(", "(c\\()?", el1)
}
-
find_ab_group <- function(ab_class) {
ab_class <- gsub("[^a-zA-Z0-9]", ".*", ab_class)
AB_lookup %pm>%
@@ -534,3 +699,33 @@ find_ab_names <- function(ab_group, n = 3) {
language = NULL),
quotes = FALSE)
}
+
+message_agent_names <- function(function_name, agents, ab_group = NULL, examples = "", call = NULL) {
+ if (message_not_thrown_before(paste0(function_name, ".", paste(sort(agents), collapse = "|")))) {
+ if (length(agents) == 0) {
+ if (is.null(ab_group)) {
+ message_("For `", function_name, "()` no antimicrobial agents found", examples, ".")
+ } else if (ab_group == "administrable_per_os") {
+ message_("No orally administrable agents found", examples, ".")
+ } else if (ab_group == "administrable_iv") {
+ message_("No IV administrable agents found", examples, ".")
+ } else {
+ message_("No antimicrobial agents of class '", ab_group, "' found", examples, ".")
+ }
+ } else {
+ agents_formatted <- paste0("'", font_bold(agents, collapse = NULL), "'")
+ agents_names <- ab_name(names(agents), tolower = TRUE, language = NULL)
+ need_name <- generalise_antibiotic_name(agents) != generalise_antibiotic_name(agents_names)
+ agents_formatted[need_name] <- paste0(agents_formatted[need_name], " (", agents_names[need_name], ")")
+ message_("For `", function_name, "(",
+ ifelse(function_name == "ab_class",
+ paste0("\"", ab_class, "\""),
+ ifelse(!is.null(call),
+ paste0(deparse(call), collapse = " "),
+ "")),
+ ")` using ",
+ ifelse(length(agents) == 1, "column ", "columns "),
+ vector_and(agents_formatted, quotes = FALSE, sort = FALSE))
+ }
+ }
+}
diff --git a/R/ab_property.R b/R/ab_property.R
index 73add9b6..db47cac9 100644
--- a/R/ab_property.R
+++ b/R/ab_property.R
@@ -29,23 +29,26 @@
#' @inheritSection lifecycle Stable Lifecycle
#' @param x any (vector of) text that can be coerced to a valid antibiotic code with [as.ab()]
#' @param tolower a [logical] to indicate whether the first [character] of every output should be transformed to a lower case [character]. This will lead to e.g. "polymyxin B" and not "polymyxin b".
-#' @param snake_case a [logical] to indicate whether the names should be returned in so-called [snake case](https://en.wikipedia.org/wiki/Snake_case): in lower case and all spaces/slashes replaced with an underscore (`_`). This is useful for column renaming.
-#' @param property one of the column names of one of the [antibiotics] data set
+#' @param property one of the column names of one of the [antibiotics] data set: `vector_or(colnames(antibiotics), sort = FALSE)`.
#' @param language language of the returned text, defaults to system language (see [get_locale()]) and can also be set with `getOption("AMR_locale")`. Use `language = NULL` or `language = ""` to prevent translation.
#' @param administration way of administration, either `"oral"` or `"iv"`
-#' @param units a [logical] to indicate whether the units instead of the DDDs itself must be returned, see *Examples*
#' @param open browse the URL using [utils::browseURL()]
#' @param ... other arguments passed on to [as.ab()]
+#' @param data a [data.frame] of which the columns need to be renamed
+#' @param snake_case a [logical] to indicate whether the names should be in so-called [snake case](https://en.wikipedia.org/wiki/Snake_case): in lower case and all spaces/slashes replaced with an underscore (`_`)
#' @details All output [will be translated][translate] where possible.
#'
#' The function [ab_url()] will return the direct URL to the official WHO website. A warning will be returned if the required ATC code is not available.
+#'
+#' The function [set_ab_names()] is a special column renaming function for [data.frame]s. It renames columns names that resemble antimicrobial drugs. It always makes sure that the new column names are unique. If `property = "atc"` is set, preference is given to ATC codes from the J-group.
#' @inheritSection as.ab Source
#' @rdname ab_property
#' @name ab_property
#' @return
#' - An [integer] in case of [ab_cid()]
-#' - A named [list] in case of [ab_info()] and multiple [ab_synonyms()]/[ab_tradenames()]
+#' - A named [list] in case of [ab_info()] and multiple [ab_atc()]/[ab_synonyms()]/[ab_tradenames()]
#' - A [double] in case of [ab_ddd()]
+#' - A [data.frame] in case of [set_ab_names()]
#' - A [character] in all other cases
#' @export
#' @seealso [antibiotics]
@@ -69,10 +72,10 @@
#' tolower = TRUE) # "amoxicillin/clavulanic acid" "polymyxin B"
#'
#' # defined daily doses (DDD)
-#' ab_ddd("AMX", "oral") # 1
-#' ab_ddd("AMX", "oral", units = TRUE) # "g"
-#' ab_ddd("AMX", "iv") # 1
-#' ab_ddd("AMX", "iv", units = TRUE) # "g"
+#' ab_ddd("AMX", "oral") # 1.5
+#' ab_ddd_units("AMX", "oral") # "g"
+#' ab_ddd("AMX", "iv") # 3
+#' ab_ddd_units("AMX", "iv") # "g"
#'
#' ab_info("AMX") # all properties as a list
#'
@@ -89,11 +92,23 @@
#' ab_atc("cephtriaxone")
#' ab_atc("cephthriaxone")
#' ab_atc("seephthriaaksone")
-ab_name <- function(x, language = get_locale(), tolower = FALSE, snake_case = FALSE, ...) {
+#'
+#' # use set_ab_names() for renaming columns
+#' colnames(example_isolates)
+#' colnames(set_ab_names(example_isolates))
+#' \donttest{
+#' if (require("dplyr")) {
+#' example_isolates %>%
+#' set_ab_names()
+#' # set_ab_names() works with any AB property:
+#' example_isolates %>%
+#' set_ab_names("atc")
+#' }
+#' }
+ab_name <- function(x, language = get_locale(), tolower = FALSE, ...) {
meet_criteria(x, allow_NA = TRUE)
meet_criteria(language, has_length = 1, is_in = c(LANGUAGES_SUPPORTED, ""), allow_NULL = TRUE, allow_NA = TRUE)
meet_criteria(tolower, allow_class = "logical", has_length = 1)
- meet_criteria(snake_case, allow_class = "logical", has_length = 1)
x <- translate_AMR(ab_validate(x = x, property = "name", ...), language = language, only_affect_ab_names = TRUE)
if (tolower == TRUE) {
@@ -101,10 +116,69 @@ ab_name <- function(x, language = get_locale(), tolower = FALSE, snake_case = FA
# as we want "polymyxin B", not "polymyxin b"
x <- gsub("^([A-Z])", "\\L\\1", x, perl = TRUE)
}
+ x
+}
+
+#' @rdname ab_property
+#' @aliases ATC
+#' @export
+set_ab_names <- function(data, property = "name", language = get_locale(), snake_case = property == "name") {
+ meet_criteria(data, allow_class = "data.frame")
+ meet_criteria(property, is_in = colnames(antibiotics), has_length = 1, ignore.case = TRUE)
+ meet_criteria(language, has_length = 1, is_in = c(LANGUAGES_SUPPORTED, ""), allow_NULL = TRUE, allow_NA = TRUE)
+ meet_criteria(snake_case, allow_class = "logical", has_length = 1)
+
+ x_deparsed <- deparse(substitute(data))
+ if (length(x_deparsed) > 1 || any(x_deparsed %unlike% "[a-z]+")) {
+ x_deparsed <- "your_data"
+ }
+
+ property <- tolower(property)
+
+ columns <- get_column_abx(data, info = FALSE, only_rsi_columns = FALSE, sort = FALSE)
+ if (length(columns) == 0) {
+ message_("No columns with antibiotic results found for `set_ab_names()`, leaving names unchanged.")
+ return(data)
+ }
+ x <- vapply(FUN.VALUE = character(1),
+ ab_property(columns, property = property, language = language),
+ function(x) {
+ if (property == "atc") {
+ # try to get the J-group
+ if (any(x %like% "^J")) {
+ x[x %like% "^J"][1L]
+ } else {
+ as.character(x[1L])
+ }
+ } else {
+ as.character(x[1L])
+ }
+ })
+ if (any(x %in% c("", NA))) {
+ warning_("No ", property, " found for column(s): ", vector_and(columns[x %in% c("", NA)], sort = FALSE), call = FALSE)
+ x[x %in% c("", NA)] <- columns[x %in% c("", NA)]
+ }
+
if (snake_case == TRUE) {
x <- tolower(gsub("[^a-zA-Z0-9]+", "_", x))
}
- x
+
+ if (any(duplicated(x))) {
+ # very hacky way of adding the index to each duplicate
+ # so "Amoxicillin", "Amoxicillin", "Amoxicillin"
+ # will be "Amoxicillin", "Amoxicillin_2", "Amoxicillin_3"
+ invisible(lapply(unique(x),
+ function(u) {
+ dups <- which(x == u)
+ if (length(dups) > 1) {
+ # there are duplicates
+ dup_add_int <- dups[2:length(dups)]
+ x[dup_add_int] <<- paste0(x[dup_add_int], "_", c(2:length(dups)))
+ }
+ }))
+ }
+ colnames(data)[colnames(data) %in% columns] <- x
+ data
}
#' @rdname ab_property
@@ -112,7 +186,13 @@ ab_name <- function(x, language = get_locale(), tolower = FALSE, snake_case = FA
#' @export
ab_atc <- function(x, ...) {
meet_criteria(x, allow_NA = TRUE)
- ab_validate(x = x, property = "atc", ...)
+ atcs <- ab_validate(x = x, property = "atc", ...)
+ names(atcs) <- x
+ if (length(atcs) == 1) {
+ unname(unlist(atcs))
+ } else {
+ atcs
+ }
}
#' @rdname ab_property
@@ -181,18 +261,47 @@ ab_loinc <- function(x, ...) {
#' @rdname ab_property
#' @export
-ab_ddd <- function(x, administration = "oral", units = FALSE, ...) {
+ab_ddd <- function(x, administration = "oral", ...) {
meet_criteria(x, allow_NA = TRUE)
meet_criteria(administration, is_in = c("oral", "iv"), has_length = 1)
- meet_criteria(units, allow_class = "logical", has_length = 1)
-
+
+ x <- as.ab(x, ...)
+ if (any(ab_name(x, language = NULL) %like% "/")) {
+ warning_("DDDs of combined products are available for different dose combinations and not (yet) part of the AMR package. ",
+ "Please refer to the WHOCC website:\n",
+ "www.whocc.no/ddd/list_of_ddds_combined_products/", call = FALSE)
+ }
+
ddd_prop <- administration
- if (units == TRUE) {
+ # old behaviour
+ units <- list(...)$units
+ if (!is.null(units) && isTRUE(units)) {
+ if (message_not_thrown_before("ab_ddd", entire_session = TRUE)) {
+ warning_("Using `ab_ddd(..., units = TRUE)` is deprecated, use `ab_ddd_units()` instead. ",
+ "This warning will be shown once per session.", call = FALSE)
+ }
ddd_prop <- paste0(ddd_prop, "_units")
} else {
ddd_prop <- paste0(ddd_prop, "_ddd")
}
- ab_validate(x = x, property = ddd_prop, ...)
+ ab_validate(x = x, property = ddd_prop)
+}
+
+#' @rdname ab_property
+#' @export
+ab_ddd_units <- function(x, administration = "oral", ...) {
+ meet_criteria(x, allow_NA = TRUE)
+ meet_criteria(administration, is_in = c("oral", "iv"), has_length = 1)
+
+ x <- as.ab(x, ...)
+ if (any(ab_name(x, language = NULL) %like% "/")) {
+ warning_("DDDs of combined products are available for different dose combinations and not (yet) part of the AMR package. ",
+ "Please refer to the WHOCC website:\n",
+ "www.whocc.no/ddd/list_of_ddds_combined_products/", call = FALSE)
+ }
+
+ ddd_prop <- paste0(administration, "_units")
+ ab_validate(x = x, property = ddd_prop)
}
#' @rdname ab_property
@@ -210,10 +319,10 @@ ab_info <- function(x, language = get_locale(), ...) {
atc_group1 = ab_atc_group1(x, language = language),
atc_group2 = ab_atc_group2(x, language = language),
tradenames = ab_tradenames(x),
- ddd = list(oral = list(amount = ab_ddd(x, administration = "oral", units = FALSE),
- units = ab_ddd(x, administration = "oral", units = TRUE)),
- iv = list(amount = ab_ddd(x, administration = "iv", units = FALSE),
- units = ab_ddd(x, administration = "iv", units = TRUE))))
+ ddd = list(oral = list(amount = ab_ddd(x, administration = "oral"),
+ units = ab_ddd_units(x, administration = "oral")),
+ iv = list(amount = ab_ddd(x, administration = "iv"),
+ units = ab_ddd_units(x, administration = "iv"))))
}
@@ -257,16 +366,22 @@ ab_validate <- function(x, property, ...) {
check_dataset_integrity()
- # try to catch an error when inputting an invalid argument
- # so the 'call.' can be set to FALSE
- tryCatch(x[1L] %in% antibiotics[1, property],
- error = function(e) stop(e$message, call. = FALSE))
- x_bak <- x
- if (!all(x %in% antibiotics[, property])) {
- x <- data.frame(ab = as.ab(x, ...), stringsAsFactors = FALSE) %pm>%
- pm_left_join(antibiotics, by = "ab") %pm>%
- pm_pull(property)
+ if (tryCatch(all(x[!is.na(x)] %in% AB_lookup$ab), error = function(e) FALSE)) {
+ # special case for ab_* functions where class is already
+ x <- AB_lookup[match(x, AB_lookup$ab), property, drop = TRUE]
+
+ } else {
+ # try to catch an error when inputting an invalid argument
+ # so the 'call.' can be set to FALSE
+ tryCatch(x[1L] %in% antibiotics[1, property],
+ error = function(e) stop(e$message, call. = FALSE))
+
+ if (!all(x %in% AB_lookup[, property])) {
+ x <- as.ab(x, ...)
+ x <- AB_lookup[match(x, AB_lookup$ab), property, drop = TRUE]
+ }
}
+
if (property == "ab") {
return(set_clean_class(x, new_class = c("ab", "character")))
} else if (property == "cid") {
@@ -274,7 +389,7 @@ ab_validate <- function(x, property, ...) {
} else if (property %like% "ddd") {
return(as.double(x))
} else {
- x[is.na(x) & !is.na(x_bak)] <- NA
+ x[is.na(x)] <- NA
return(x)
}
}
diff --git a/R/custom_eucast_rules.R b/R/custom_eucast_rules.R
index b1ae92fb..dafda412 100644
--- a/R/custom_eucast_rules.R
+++ b/R/custom_eucast_rules.R
@@ -89,9 +89,9 @@
#'
#' ### Usage of antibiotic group names
#'
-#' It is possible to define antibiotic groups instead of single antibiotics for the rule consequence, the part *after* the tilde. In above examples, the antibiotic group `aminopenicillins` is used to include ampicillin and amoxicillin. The following groups are allowed (case-insensitive). Within parentheses are the antibiotic agents that will be matched when running the rule.
+#' It is possible to define antibiotic groups instead of single antibiotics for the rule consequence, the part *after* the tilde. In above examples, the antibiotic group `aminopenicillins` is used to include ampicillin and amoxicillin. The following groups are allowed (case-insensitive). Within parentheses are the agents that will be matched when running the rule.
#'
-#' `r paste0(" * ", sapply(DEFINED_AB_GROUPS, function(x) paste0("``", tolower(x), "``\\cr(", paste0(sort(ab_name(eval(parse(text = x), envir = asNamespace("AMR")), language = NULL, tolower = TRUE)), collapse = ", "), ")"), USE.NAMES = FALSE), "\n", collapse = "")`
+#' `r paste0(" * ", sapply(DEFINED_AB_GROUPS, function(x) paste0("``", tolower(gsub("^AB_", "", x)), "``\\cr(", vector_and(ab_name(eval(parse(text = x), envir = asNamespace("AMR")), language = NULL, tolower = TRUE), quotes = FALSE), ")"), USE.NAMES = FALSE), "\n", collapse = "")`
#' @returns A [list] containing the custom rules
#' @inheritSection AMR Read more on Our Website!
#' @export
@@ -140,12 +140,12 @@ custom_eucast_rules <- function(...) {
stop_ifnot(deparse(result) %like% "==",
"the result of rule ", i, " (the part after the `~`) must contain `==`, such as in `... ~ ampicillin == \"R\"`, see `?custom_eucast_rules`")
result_group <- as.character(result)[[2]]
- if (paste0(toupper(result_group), "S") %in% DEFINED_AB_GROUPS) {
+ if (paste0("AB_", toupper(result_group), "S") %in% DEFINED_AB_GROUPS) {
# support for e.g. 'aminopenicillin' if user meant 'aminopenicillins'
result_group <- paste0(result_group, "s")
}
- if (toupper(result_group) %in% DEFINED_AB_GROUPS) {
- result_group <- eval(parse(text = toupper(result_group)), envir = asNamespace("AMR"))
+ if (paste0("AB_", toupper(result_group)) %in% DEFINED_AB_GROUPS) {
+ result_group <- eval(parse(text = paste0("AB_", toupper(result_group))), envir = asNamespace("AMR"))
} else {
result_group <- tryCatch(
suppressWarnings(as.ab(result_group,
@@ -157,7 +157,7 @@ custom_eucast_rules <- function(...) {
stop_if(any(is.na(result_group)),
"this result of rule ", i, " could not be translated to a single antimicrobial agent/group: \"",
as.character(result)[[2]], "\".\n\nThe input can be a name or code of an antimicrobial agent, or be one of: ",
- vector_or(tolower(DEFINED_AB_GROUPS), quotes = FALSE), ".")
+ vector_or(tolower(gsub("AB_", "", DEFINED_AB_GROUPS)), quotes = FALSE), ".")
result_value <- as.character(result)[[3]]
result_value[result_value == "NA"] <- NA
stop_ifnot(result_value %in% c("R", "S", "I", NA),
diff --git a/R/data.R b/R/data.R
index c6948ba6..0ee256fa 100755
--- a/R/data.R
+++ b/R/data.R
@@ -25,14 +25,14 @@
#' Data Sets with `r format(nrow(antibiotics) + nrow(antivirals), big.mark = ",")` Antimicrobials
#'
-#' Two data sets containing all antibiotics/antimycotics and antivirals. Use [as.ab()] or one of the [`ab_*`][ab_property()] functions to retrieve values from the [antibiotics] data set. Three identifiers are included in this data set: an antibiotic ID (`ab`, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (`atc`) as defined by the WHO, and a Compound ID (`cid`) as found in PubChem. Other properties in this data set are derived from one or more of these codes.
+#' Two data sets containing all antibiotics/antimycotics and antivirals. Use [as.ab()] or one of the [`ab_*`][ab_property()] functions to retrieve values from the [antibiotics] data set. Three identifiers are included in this data set: an antibiotic ID (`ab`, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (`atc`) as defined by the WHO, and a Compound ID (`cid`) as found in PubChem. Other properties in this data set are derived from one or more of these codes. Note that some drugs have multiple ATC codes.
#' @format
#' ## For the [antibiotics] data set: a [data.frame] with `r nrow(antibiotics)` observations and `r ncol(antibiotics)` variables:
#' - `ab`\cr Antibiotic ID as used in this package (such as `AMC`), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available
-#' - `atc`\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like `J01CR02`
#' - `cid`\cr Compound ID as found in PubChem
#' - `name`\cr Official name as used by WHONET/EARS-Net or the WHO
#' - `group`\cr A short and concise group name, based on WHONET and WHOCC definitions
+#' - `atc`\cr ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC, like `J01CR02`
#' - `atc_group1`\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like `"Macrolides, lincosamides and streptogramins"`
#' - `atc_group2`\cr Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like `"Macrolides"`
#' - `abbr`\cr List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST)
@@ -44,7 +44,7 @@
#' - `loinc`\cr All LOINC codes (Logical Observation Identifiers Names and Codes) associated with the name of the antimicrobial agent. Use [ab_loinc()] to retrieve them quickly, see [ab_property()].
#'
#' ## For the [antivirals] data set: a [data.frame] with `r nrow(antivirals)` observations and `r ncol(antivirals)` variables:
-#' - `atc`\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC
+#' - `atc`\cr ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC
#' - `cid`\cr Compound ID as found in PubChem
#' - `name`\cr Official name as used by WHONET/EARS-Net or the WHO
#' - `atc_group`\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC
diff --git a/R/deprecated.R b/R/deprecated.R
index 210f8bf3..b0df06fb 100755
--- a/R/deprecated.R
+++ b/R/deprecated.R
@@ -46,457 +46,3 @@ p_symbol <- function(p, emptychar = " ") {
s
}
-
-#' @name AMR-deprecated
-#' @export
-filter_first_weighted_isolate <- function(x = NULL,
- col_date = NULL,
- col_patient_id = NULL,
- col_mo = NULL,
- ...) {
-
- .Deprecated(old = "filter_first_weighted_isolate()",
- new = "filter_first_isolate()",
- package = "AMR")
-
- if (is_null_or_grouped_tbl(x)) {
- # when `x` is left blank, auto determine it (get_current_data() also contains dplyr::cur_data_all())
- # is also fix for using a grouped df as input (a dot as first argument)
- x <- tryCatch(get_current_data(arg_name = "x", call = -2), error = function(e) x)
- }
- meet_criteria(x, allow_class = "data.frame") # also checks dimensions to be >0
- meet_criteria(col_date, allow_class = "character", has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
- meet_criteria(col_patient_id, allow_class = "character", has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
- meet_criteria(col_mo, allow_class = "character", has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
-
- filter_first_isolate(x = x, col_date = col_date, col_patient_id = col_patient_id, col_mo = col_mo, ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-key_antibiotics <- function(x = NULL,
- col_mo = NULL,
- universal_1 = guess_ab_col(x, "amoxicillin"),
- universal_2 = guess_ab_col(x, "amoxicillin/clavulanic acid"),
- universal_3 = guess_ab_col(x, "cefuroxime"),
- universal_4 = guess_ab_col(x, "piperacillin/tazobactam"),
- universal_5 = guess_ab_col(x, "ciprofloxacin"),
- universal_6 = guess_ab_col(x, "trimethoprim/sulfamethoxazole"),
- GramPos_1 = guess_ab_col(x, "vancomycin"),
- GramPos_2 = guess_ab_col(x, "teicoplanin"),
- GramPos_3 = guess_ab_col(x, "tetracycline"),
- GramPos_4 = guess_ab_col(x, "erythromycin"),
- GramPos_5 = guess_ab_col(x, "oxacillin"),
- GramPos_6 = guess_ab_col(x, "rifampin"),
- GramNeg_1 = guess_ab_col(x, "gentamicin"),
- GramNeg_2 = guess_ab_col(x, "tobramycin"),
- GramNeg_3 = guess_ab_col(x, "colistin"),
- GramNeg_4 = guess_ab_col(x, "cefotaxime"),
- GramNeg_5 = guess_ab_col(x, "ceftazidime"),
- GramNeg_6 = guess_ab_col(x, "meropenem"),
- warnings = TRUE,
- ...) {
-
- .Deprecated(old = "key_antibiotics()",
- new = "key_antimicrobials()",
- package = "AMR")
-
- if (is_null_or_grouped_tbl(x)) {
- # when `x` is left blank, auto determine it (get_current_data() also contains dplyr::cur_data_all())
- # is also fix for using a grouped df as input (a dot as first argument)
- x <- tryCatch(get_current_data(arg_name = "x", call = -2), error = function(e) x)
- }
-
- key_antimicrobials(x = x,
- col_mo = col_mo,
- universal = c(universal_1, universal_2, universal_3, universal_4, universal_5, universal_6),
- gram_negative = c(GramNeg_1, GramNeg_2, GramNeg_3, GramNeg_4, GramNeg_5, GramNeg_6),
- gram_positive = c(GramPos_1, GramPos_2, GramPos_3, GramPos_4, GramPos_5, GramPos_6),
- antifungal = NULL,
- only_rsi_columns = FALSE,
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-key_antibiotics_equal <- function(y,
- z,
- type = "keyantimicrobials",
- ignore_I = TRUE,
- points_threshold = 2,
- info = FALSE,
- na.rm = TRUE,
- ...) {
-
- .Deprecated(old = "key_antibiotics_equal()",
- new = "antimicrobials_equal()",
- package = "AMR")
-
- antimicrobials_equal(y = y,
- z = z,
- type = type,
- ignore_I = ignore_I,
- points_threshold = points_threshold,
- info = info)
-}
-
-
-#' @name AMR-deprecated
-#' @export
-filter_ab_class <- function(x,
- ab_class,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
-
- .call_depth <- list(...)$`.call_depth`
- if (is.null(.call_depth)) {
- .call_depth <- 0
- }
- .x_name <- list(...)$`.x_name`
- if (is.null(.x_name)) {
- .x_name <- deparse(substitute(x))
- }
- .fn <- list(...)$`.fn`
- if (is.null(.fn)) {
- .fn <- "filter_ab_class"
- }
- .fn_old <- .fn
- # new way: using the ab selectors
- .fn <- gsub("filter_", "", .fn, fixed = TRUE)
- .fn <- gsub("^([1-5][a-z]+)_cephalosporins", "cephalosporins_\\1", .fn)
-
- if (missing(x) || is_null_or_grouped_tbl(x)) {
- # when `x` is left blank, auto determine it (get_current_data() also contains dplyr::cur_data_all())
- # is also fix for using a grouped df as input (a dot as first argument)
- x <- get_current_data(arg_name = "x", call = -2 - .call_depth)
- .x_name <- "your_data"
- }
- meet_criteria(x, allow_class = "data.frame", .call_depth = .call_depth)
- meet_criteria(ab_class, allow_class = "character", has_length = 1, .call_depth = .call_depth)
- if (!is.null(result)) {
- # make result = "SI" works too:
- result <- toupper(unlist(strsplit(result, "")))
- }
- meet_criteria(result, allow_class = "character", has_length = c(1, 2, 3), is_in = c("S", "I", "R"), allow_NULL = TRUE, .call_depth = .call_depth)
- meet_criteria(scope, allow_class = "character", has_length = 1, is_in = c("all", "any"), .call_depth = .call_depth)
- meet_criteria(only_rsi_columns, allow_class = "logical", has_length = 1, .call_depth = .call_depth)
-
- if (is.null(result)) {
- result <- c("S", "I", "R")
- }
-
- # get e.g. carbapenems() from filter_carbapenems()
- fn <- get(.fn, envir = asNamespace("AMR"))
- if (scope == "any") {
- scope_fn <- any
- } else {
- scope_fn <- all
- }
-
- # be nice here, be VERY extensive about how the AB selectors have taken over this function
- deprecated_fn <- paste0(.fn, "(", ifelse(.fn == "ab_class", paste0("\"", ab_class, "\""), ""), ")",
- ifelse(length(result) > 1,
- paste0(", c(", paste0("\"", result, "\"", collapse = ", "), ")"),
- ifelse(is.null(result),
- "",
- paste0(" == \"", result, "\""))))
- if (.x_name == ".") {
- .x_name <- "your_data"
- }
- warning_(paste0("`", .fn_old, "()` is deprecated. Use the antibiotic selector `", .fn, "()` instead.\n",
- "In dplyr:\n",
- " - ", .x_name, " %>% filter(", scope, "(", deprecated_fn, "))\n",
- ifelse(length(result) > 1,
- paste0(" - ", .x_name, " %>% filter(", scope, "(",
- .fn, "(", ifelse(.fn == "ab_class", paste0("\"", ab_class, "\""), ""), ") == \"R\"))\n"),
- ""),
- "In base R:\n",
- " - ", .x_name, "[", scope, "(", deprecated_fn, "), ]\n",
- ifelse(length(result) > 1,
- paste0(" - ", .x_name, "[", scope, "(",
- .fn, "(", ifelse(.fn == "ab_class", paste0("\"", ab_class, "\""), ""), ") == \"R\"), ]\n"),
- ""),
- " - subset(", .x_name, ", ", scope, "(", deprecated_fn, "))",
- ifelse(length(result) > 1,
- paste0("\n - subset(", .x_name, ", ", scope, "(",
- .fn, "(", ifelse(.fn == "ab_class", paste0("\"", ab_class, "\""), ""), ") == \"R\"))"),
- "")),
- call = FALSE)
-
- if (.fn == "ab_class") {
- subset(x, scope_fn(fn(ab_class = ab_class), result))
- } else {
- subset(x, scope_fn(fn(), result))
- }
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_aminoglycosides <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "aminoglycoside",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_aminoglycosides",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_betalactams <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "carbapenem|cephalosporin|penicillin",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_betalactams",
- .x_name = deparse(substitute(x)),
- ...)
-}
-#' @name AMR-deprecated
-#' @export
-filter_carbapenems <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "carbapenem",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_carbapenems",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporin",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_1st_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporins (1st gen.)",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_1st_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_2nd_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporins (2nd gen.)",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_2nd_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_3rd_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporins (3rd gen.)",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_3rd_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_4th_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporins (4th gen.)",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_4th_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_5th_cephalosporins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "cephalosporins (5th gen.)",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_5th_cephalosporins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_fluoroquinolones <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "fluoroquinolone",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_fluoroquinolones",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_glycopeptides <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "glycopeptide",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_glycopeptides",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_macrolides <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "macrolide",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_macrolides",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_oxazolidinones <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "oxazolidinone",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_oxazolidinones",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_penicillins <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "penicillin",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_penicillins",
- .x_name = deparse(substitute(x)),
- ...)
-}
-
-#' @name AMR-deprecated
-#' @export
-filter_tetracyclines <- function(x,
- result = NULL,
- scope = "any",
- only_rsi_columns = FALSE,
- ...) {
- filter_ab_class(x = x,
- ab_class = "tetracycline",
- result = result,
- scope = scope,
- only_rsi_columns = only_rsi_columns,
- .call_depth = 1,
- .fn = "filter_tetracyclines",
- .x_name = deparse(substitute(x)),
- ...)
-}
diff --git a/R/eucast_rules.R b/R/eucast_rules.R
index 37ceff99..a90914a6 100755
--- a/R/eucast_rules.R
+++ b/R/eucast_rules.R
@@ -320,9 +320,9 @@ eucast_rules <- function(x,
x <- trimws(unique(toupper(unlist(strsplit(x, ",")))))
x_new <- character()
for (val in x) {
- if (val %in% ls(envir = asNamespace("AMR"))) {
- # antibiotic group names, as defined in data-raw/_internals.R, such as `CARBAPENEMS`
- val <- eval(parse(text = val), envir = asNamespace("AMR"))
+ if (paste0("AB_", val) %in% ls(envir = asNamespace("AMR"))) {
+ # antibiotic group names, as defined in data-raw/_internals.R, such as `AB_CARBAPENEMS`
+ val <- eval(parse(text = paste0("AB_", val)), envir = asNamespace("AMR"))
} else if (val %in% AB_lookup$ab) {
# separate drugs, such as `AMX`
val <- as.ab(val)
diff --git a/R/ggplot_rsi.R b/R/ggplot_rsi.R
index 265c6c28..4f867159 100755
--- a/R/ggplot_rsi.R
+++ b/R/ggplot_rsi.R
@@ -123,8 +123,7 @@
#' mo == as.mo("E. coli")) %>%
#' # age_groups() is also a function in this AMR package:
#' group_by(age_group = age_groups(age)) %>%
-#' select(age_group,
-#' CIP) %>%
+#' select(age_group, CIP) %>%
#' ggplot_rsi(x = "age_group")
#'
#' # a shorter version which also adjusts data label colours:
@@ -135,6 +134,8 @@
#'
#' # it also supports groups (don't forget to use the group var on `x` or `facet`):
#' example_isolates %>%
+#' filter(mo_is_gram_negative()) %>%
+#' # select only UTI-specific drugs
#' select(hospital_id, AMX, NIT, FOS, TMP, CIP) %>%
#' group_by(hospital_id) %>%
#' ggplot_rsi(x = "hospital_id",
diff --git a/R/mdro.R b/R/mdro.R
index b4ba8efd..533dfef0 100755
--- a/R/mdro.R
+++ b/R/mdro.R
@@ -248,7 +248,7 @@ mdro <- function(x = NULL,
if (info == TRUE) {
txt <- paste0("Determining MDROs based on custom rules",
ifelse(isTRUE(attributes(guideline)$as_factor),
- paste0(", resulting in [factor] levels: ", paste0(attributes(guideline)$values, collapse = " < ")),
+ paste0(", resulting in factor levels: ", paste0(attributes(guideline)$values, collapse = " < ")),
""),
".")
txt <- word_wrap(txt)
diff --git a/R/mo.R b/R/mo.R
index 916550d3..d25cbf2c 100755
--- a/R/mo.R
+++ b/R/mo.R
@@ -492,7 +492,7 @@ exec_as.mo <- function(x,
x_backup[x %like_case% "^(fungus|fungi)$"] <- "(unknown fungus)" # will otherwise become the kingdom
x_backup[x_backup_untouched == "Fungi"] <- "Fungi" # is literally the kingdom
- # Fill in fullnames and MO codes at once
+ # Fill in fullnames and MO codes directly
known_names <- tolower(x_backup) %in% MO_lookup$fullname_lower
x[known_names] <- MO_lookup[match(tolower(x_backup)[known_names], MO_lookup$fullname_lower), property, drop = TRUE]
known_codes <- toupper(x_backup) %in% MO_lookup$mo
@@ -1551,16 +1551,7 @@ exec_as.mo <- function(x,
& !identical(x_input, "")
& !identical(x_input, "xxx")])
- # left join the found results to the original input values (x_input)
- df_found <- data.frame(input = as.character(x_input_unique_nonempty),
- found = as.character(x),
- stringsAsFactors = FALSE)
- df_input <- data.frame(input = as.character(x_input),
- stringsAsFactors = FALSE)
-
- # super fast using match() which is a lot faster than merge()
- x <- df_found$found[match(df_input$input, df_found$input)]
-
+ x <- x[match(x_input, x_input_unique_nonempty)]
if (property == "mo") {
x <- set_clean_class(x, new_class = c("mo", "character"))
}
@@ -1887,36 +1878,30 @@ print.mo_uncertainties <- function(x, ...) {
if (NROW(x) == 0) {
return(NULL)
}
- message_("Matching scores are based on human pathogenic prevalence and the resemblance between the input and the full taxonomic name. See `?mo_matching_score`.", as_note = FALSE)
-
- msg <- ""
+ cat(word_wrap("Matching scores", ifelse(has_colour(), " (in blue)", ""), " are based on human pathogenic prevalence and the resemblance between the input and the full taxonomic name. See `?mo_matching_score`.\n\n", add_fn = font_blue))
+
+ txt <- ""
for (i in seq_len(nrow(x))) {
if (x[i, ]$candidates != "") {
candidates <- unlist(strsplit(x[i, ]$candidates, ", ", fixed = TRUE))
scores <- mo_matching_score(x = x[i, ]$input, n = candidates)
- # sort on descending scores
- candidates <- candidates[order(1 - scores)]
- scores_formatted <- trimws(formatC(round(scores, 3), format = "f", digits = 3))
n_candidates <- length(candidates)
- candidates <- vector_and(paste0(candidates, " (", scores_formatted[order(1 - scores)], ")"),
- quotes = FALSE,
- sort = FALSE)
- # align with input after arrow
- candidates <- paste0("\n",
- strwrap(paste0("Also matched",
- ifelse(n_candidates >= 25, " (max 25)", ""), ": ",
- candidates), # this is already max 25 due to format_uncertainty_as_df()
- indent = nchar(x[i, ]$input) + 6,
- exdent = nchar(x[i, ]$input) + 6,
- width = 0.98 * getOption("width")),
- collapse = "")
- # after strwrap, make taxonomic names italic
- candidates <- gsub("([A-Za-z]+)", font_italic("\\1"), candidates, perl = TRUE)
- candidates <- gsub(font_italic("and"), "and", candidates, fixed = TRUE)
- candidates <- gsub(paste(font_italic(c("Also", "matched"), collapse = NULL), collapse = " "),
- "Also matched",
- candidates, fixed = TRUE)
- candidates <- gsub(font_italic("max"), "max", candidates, fixed = TRUE)
+
+ candidates_formatted <- font_italic(candidates, collapse = NULL)
+ scores_formatted <- trimws(formatC(round(scores, 3), format = "f", digits = 3))
+
+ # sort on descending scores
+ candidates_formatted <- candidates_formatted[order(1 - scores)]
+ scores_formatted <- scores_formatted[order(1 - scores)]
+
+ candidates <- word_wrap(paste0("Also matched: ",
+ vector_and(paste0(candidates_formatted,
+ font_blue(paste0(" (", scores_formatted, ")"), collapse = NULL)),
+ quotes = FALSE, sort = FALSE),
+ ifelse(n_candidates > 25,
+ paste0(" [showing first 25 of ", n_candidates, "]"),
+ "")),
+ extra_indent = nchar("Also matched: "))
} else {
candidates <- ""
}
@@ -1924,23 +1909,24 @@ print.mo_uncertainties <- function(x, ...) {
n = x[i, ]$fullname),
3),
format = "f", digits = 3))
- msg <- paste(msg,
+ txt <- paste(txt,
paste0(
strwrap(
- paste0('"', x[i, ]$input, '" -> ',
+ paste0(font_red('"', x[i, ]$input, '"', collapse = ""),
+ " -> ",
paste0(font_bold(font_italic(x[i, ]$fullname)),
ifelse(!is.na(x[i, ]$renamed_to), paste(", renamed to", font_italic(x[i, ]$renamed_to)), ""),
" (", x[i, ]$mo,
- ", matching score = ", score,
+ ", ", font_blue(score),
") ")),
width = 0.98 * getOption("width"),
exdent = nchar(x[i, ]$input) + 6),
collapse = "\n"),
candidates,
sep = "\n")
- msg <- paste0(gsub("\n\n", "\n", msg), "\n\n")
+ txt <- paste0(gsub("\n\n", "\n", txt), "\n\n")
}
- cat(msg)
+ cat(txt)
}
#' @rdname as.mo
diff --git a/R/mo_matching_score.R b/R/mo_matching_score.R
index f3e2c356..f2d1a40b 100755
--- a/R/mo_matching_score.R
+++ b/R/mo_matching_score.R
@@ -46,6 +46,8 @@
#'
#' The grouping into human pathogenic prevalence (\eqn{p}) is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence. **Group 1** (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is *Enterococcus*, *Staphylococcus* or *Streptococcus*. This group consequently contains all common Gram-negative bacteria, such as *Pseudomonas* and *Legionella* and all species within the order Enterobacterales. **Group 2** consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is *Absidia*, *Acremonium*, *Actinotignum*, *Alternaria*, *Anaerosalibacter*, *Apophysomyces*, *Arachnia*, *Aspergillus*, *Aureobacterium*, *Aureobasidium*, *Bacteroides*, *Basidiobolus*, *Beauveria*, *Blastocystis*, *Branhamella*, *Calymmatobacterium*, *Candida*, *Capnocytophaga*, *Catabacter*, *Chaetomium*, *Chryseobacterium*, *Chryseomonas*, *Chrysonilia*, *Cladophialophora*, *Cladosporium*, *Conidiobolus*, *Cryptococcus*, *Curvularia*, *Exophiala*, *Exserohilum*, *Flavobacterium*, *Fonsecaea*, *Fusarium*, *Fusobacterium*, *Hendersonula*, *Hypomyces*, *Koserella*, *Lelliottia*, *Leptosphaeria*, *Leptotrichia*, *Malassezia*, *Malbranchea*, *Mortierella*, *Mucor*, *Mycocentrospora*, *Mycoplasma*, *Nectria*, *Ochroconis*, *Oidiodendron*, *Phoma*, *Piedraia*, *Pithomyces*, *Pityrosporum*, *Prevotella*, *Pseudallescheria*, *Rhizomucor*, *Rhizopus*, *Rhodotorula*, *Scolecobasidium*, *Scopulariopsis*, *Scytalidium*, *Sporobolomyces*, *Stachybotrys*, *Stomatococcus*, *Treponema*, *Trichoderma*, *Trichophyton*, *Trichosporon*, *Tritirachium* or *Ureaplasma*. **Group 3** consists of all other microorganisms.
#'
+#' All characters in \eqn{x} and \eqn{n} are ignored that are other than A-Z, a-z, 0-9, spaces and parentheses.
+#'
#' All matches are sorted descending on their matching score and for all user input values, the top match will be returned. This will lead to the effect that e.g., `"E. coli"` will return the microbial ID of *Escherichia coli* (\eqn{m = `r round(mo_matching_score("E. coli", "Escherichia coli"), 3)`}, a highly prevalent microorganism found in humans) and not *Entamoeba coli* (\eqn{m = `r round(mo_matching_score("E. coli", "Entamoeba coli"), 3)`}, a less prevalent microorganism in humans), although the latter would alphabetically come first.
#' @export
#' @inheritSection AMR Reference Data Publicly Available
diff --git a/R/mo_property.R b/R/mo_property.R
index 039d3bfe..110ed2ea 100755
--- a/R/mo_property.R
+++ b/R/mo_property.R
@@ -42,7 +42,7 @@
#'
#' Since the top-level of the taxonomy is sometimes referred to as 'kingdom' and sometimes as 'domain', the functions [mo_kingdom()] and [mo_domain()] return the exact same results.
#'
-#' The Gram stain - [mo_gramstain()] - will be determined based on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002, [PMID 11837318](https://pubmed.ncbi.nlm.nih.gov/11837318)), who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram-positive - all other bacteria are considered Gram-negative. Species outside the kingdom of Bacteria will return a value `NA`. Functions [mo_is_gram_negative()] and [mo_is_gram_positive()] always return `TRUE` or `FALSE` (except when the input is `NA` or the MO code is `UNKNOWN`), thus always return `FALSE` for species outside the taxonomic kingdom of Bacteria.
+#' The Gram stain - [mo_gramstain()] - will be determined based on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002, [PMID 11837318](https://pubmed.ncbi.nlm.nih.gov/11837318)), who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram-positive, except for members of the class Negativicutes which are Gram-negative. Members of other bacterial phyla are all considered Gram-negative. Species outside the kingdom of Bacteria will return a value `NA`. Functions [mo_is_gram_negative()] and [mo_is_gram_positive()] always return `TRUE` or `FALSE` (except when the input is `NA` or the MO code is `UNKNOWN`), thus always return `FALSE` for species outside the taxonomic kingdom of Bacteria.
#'
#' Determination of yeasts - [mo_is_yeast()] - will be based on the taxonomic kingdom and class. *Budding yeasts* are fungi of the phylum Ascomycetes, class Saccharomycetes (also called Hemiascomycetes). *True yeasts* are aggregated into the underlying order Saccharomycetales. Thus, for all microorganisms that are fungi and member of the taxonomic class Saccharomycetes, the function will return `TRUE`. It returns `FALSE` otherwise (except when the input is `NA` or the MO code is `UNKNOWN`).
#'
@@ -364,25 +364,18 @@ mo_gramstain <- function(x, language = get_locale(), ...) {
x.mo <- as.mo(x, language = language, ...)
metadata <- get_mo_failures_uncertainties_renamed()
- x.phylum <- mo_phylum(x.mo)
- # DETERMINE GRAM STAIN FOR BACTERIA
- # Source: https://itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&search_value=956097
- # It says this:
- # Kingdom Bacteria (Cavalier-Smith, 2002)
- # Subkingdom Posibacteria (Cavalier-Smith, 2002)
- # Direct Children:
- # Phylum Actinobacteria (Cavalier-Smith, 2002)
- # Phylum Chloroflexi (Garrity and Holt, 2002)
- # Phylum Firmicutes (corrig. Gibbons and Murray, 1978)
- # Phylum Tenericutes (Murray, 1984)
- x <- NA_character_
+ x <- rep(NA_character_, length(x))
# make all bacteria Gram negative
x[mo_kingdom(x.mo) == "Bacteria"] <- "Gram-negative"
- # overwrite these phyla with Gram positive
- x[x.phylum %in% c("Actinobacteria",
- "Chloroflexi",
- "Firmicutes",
- "Tenericutes")
+ # overwrite these 4 phyla with Gram-positives
+ # Source: https://itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&search_value=956097 (Cavalier-Smith, 2002)
+ x[(mo_phylum(x.mo) %in% c("Actinobacteria",
+ "Chloroflexi",
+ "Firmicutes",
+ "Tenericutes") &
+ # but class Negativicutes (of phylum Firmicutes) are Gram-negative!
+ mo_class(x.mo) != "Negativicutes")
+ # and of course our own ID for Gram-positives
| x.mo == "B_GRAMP"] <- "Gram-positive"
load_mo_failures_uncertainties_renamed(metadata)
@@ -477,7 +470,7 @@ mo_is_intrinsic_resistant <- function(x, ab, language = get_locale(), ...) {
}
# show used version number once per session (pkg_env will reload every session)
- if (message_not_thrown_before("intrinsic_resistant_version", entire_session = TRUE)) {
+ if (message_not_thrown_before("intrinsic_resistant_version.mo", entire_session = TRUE)) {
message_("Determining intrinsic resistance based on ",
format_eucast_version_nr(3.2, markdown = FALSE), ". ",
font_red("This note will be shown once per session."))
diff --git a/R/random.R b/R/random.R
index d0531e69..730e8ad5 100644
--- a/R/random.R
+++ b/R/random.R
@@ -30,7 +30,7 @@
#' @param size desired size of the returned vector. If used in a [data.frame] call or `dplyr` verb, will get the current (group) size if left blank.
#' @param mo any [character] that can be coerced to a valid microorganism code with [as.mo()]
#' @param ab any [character] that can be coerced to a valid antimicrobial agent code with [as.ab()]
-#' @param prob_RSI a vector of length 3: the probabilities for R (1st value), S (2nd value) and I (3rd value)
+#' @param prob_RSI a vector of length 3: the probabilities for "R" (1st value), "S" (2nd value) and "I" (3rd value)
#' @param ... ignored, only in place to allow future extensions
#' @details The base \R function [sample()] is used for generating values.
#'
diff --git a/R/rsi.R b/R/rsi.R
index 33855263..3fe7c54c 100755
--- a/R/rsi.R
+++ b/R/rsi.R
@@ -89,7 +89,7 @@
#' A microorganism is categorised as *Resistant* when there is a high likelihood of therapeutic failure even when there is increased exposure. Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.
#' - **S = Susceptible**\cr
#' A microorganism is categorised as *Susceptible, standard dosing regimen*, when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.
-#' - **I = Increased exposure, but still susceptible**\cr
+#' - **I = Susceptible, Increased exposure**\cr
#' A microorganism is categorised as *Susceptible, Increased exposure* when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.
#'
#' This AMR package honours this (new) insight. Use [susceptibility()] (equal to [proportion_SI()]) to determine antimicrobial susceptibility and [count_susceptible()] (equal to [count_SI()]) to count susceptible isolates.
@@ -649,10 +649,9 @@ as.rsi.data.frame <- function(x,
if (is.null(col_mo.bak)) {
col_mo <- search_type_in_df(x = x, type = "mo")
}
+ x_mo <- as.mo(x[, col_mo, drop = TRUE])
}
- x_mo <- as.mo(x %pm>% pm_pull(col_mo))
-
for (i in seq_len(length(ab_cols))) {
if (types[i] == "mic") {
x[, ab_cols[i]] <- as.rsi(x = x %pm>%
@@ -683,11 +682,11 @@ as.rsi.data.frame <- function(x,
show_message <- FALSE
ab <- ab_cols[i]
ab_coerced <- suppressWarnings(as.ab(ab))
- if (!all(x[, ab_cols[i], drop = TRUE] %in% c("R", "S", "I"), na.rm = TRUE)) {
+ if (!all(x[, ab_cols[i], drop = TRUE] %in% c("R", "S", "I", NA), na.rm = TRUE)) {
show_message <- TRUE
# only print message if values are not already clean
message_("=> Cleaning values in column '", font_bold(ab), "' (",
- ifelse(ab_coerced != ab, paste0(ab_coerced, ", "), ""),
+ ifelse(ab_coerced != toupper(ab), paste0(ab_coerced, ", "), ""),
ab_name(ab_coerced, tolower = TRUE), ")... ",
appendLF = FALSE,
as_note = FALSE)
@@ -695,7 +694,7 @@ as.rsi.data.frame <- function(x,
show_message <- TRUE
# only print message if class not already set
message_("=> Assigning class to already clean column '", font_bold(ab), "' (",
- ifelse(ab_coerced != ab, paste0(ab_coerced, ", "), ""),
+ ifelse(ab_coerced != toupper(ab), paste0(ab_coerced, ", "), ""),
ab_name(ab_coerced, tolower = TRUE), ")... ",
appendLF = FALSE,
as_note = FALSE)
diff --git a/R/sysdata.rda b/R/sysdata.rda
index 255d2584..a99af9c7 100644
Binary files a/R/sysdata.rda and b/R/sysdata.rda differ
diff --git a/R/zzz.R b/R/zzz.R
index 035ec599..9e1e1dbb 100755
--- a/R/zzz.R
+++ b/R/zzz.R
@@ -89,12 +89,17 @@ if (utf8_supported && !is_latex) {
# reference data - they have additional columns compared to `antibiotics` and `microorganisms` to improve speed
- # they can't be part of R/sysdata.rda since CRAN thinks it would make the package too large (+3 MB)
+ # they cannott be part of R/sysdata.rda since CRAN thinks it would make the package too large (+3 MB)
assign(x = "AB_lookup", value = create_AB_lookup(), envir = asNamespace("AMR"))
assign(x = "MO_lookup", value = create_MO_lookup(), envir = asNamespace("AMR"))
assign(x = "MO.old_lookup", value = create_MO.old_lookup(), envir = asNamespace("AMR"))
# for mo_is_intrinsic_resistant() - saves a lot of time when executed on this vector
assign(x = "INTRINSIC_R", value = create_intr_resistance(), envir = asNamespace("AMR"))
+
+ # for building the website, only print first 5 rows of a data set
+ # if (Sys.getenv("IN_PKGDOWN") != "" && !interactive()) {
+ # ...
+ # }
}
# Helper functions --------------------------------------------------------
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 6847ea67..50635b60 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -215,8 +215,11 @@ authors:
href: https://www.rug.nl/staff/c.glasner/
template:
- # this requires the 'preferably' package, https://github.com/amirmasoudabdol/preferably/
- # package: preferably
+ opengraph:
+ twitter:
+ creator: "@msberends"
+ site: "@univgroningen"
+ card: summary_large_image
assets: "pkgdown/logos" # use logos in this folder
params:
noindex: false
diff --git a/data-raw/AMR_latest.tar.gz b/data-raw/AMR_latest.tar.gz
index e064252c..fee9f272 100644
Binary files a/data-raw/AMR_latest.tar.gz and b/data-raw/AMR_latest.tar.gz differ
diff --git a/data-raw/_install_deps.R b/data-raw/_install_deps.R
index 44eaa5eb..d8ba3ba4 100644
--- a/data-raw/_install_deps.R
+++ b/data-raw/_install_deps.R
@@ -27,10 +27,26 @@
install.packages("data-raw/tinytest_1.2.4.10.tar.gz")
install.packages("data-raw/AMR_latest.tar.gz", dependencies = FALSE)
-pkg_suggests <- gsub("[^a-zA-Z0-9]+", "", unlist(strsplit(packageDescription("AMR", fields = "Suggests"), ", ?")))
-cat("Packages listed in Suggests:", paste(pkg_suggests, collapse = ", "), "\n")
+pkg_to_install <- c("cleaner",
+ "curl",
+ "dplyr",
+ "ggplot2",
+ "ggtext",
+ "knitr",
+ "microbenchmark",
+ "pillar",
+ "readxl",
+ "rmarkdown",
+ "rstudioapi",
+ "rvest",
+ "skimr",
+ "tidyr",
+ "tinytest",
+ "vctrs",
+ "xml2" )
+cat("Packages to install:", paste(pkg_to_install, collapse = ", "), "\n")
-to_install <- pkg_suggests[!pkg_suggests %in% rownames(utils::installed.packages())]
+to_install <- pkg_to_install[!pkg_to_install %in% rownames(utils::installed.packages())]
if (length(to_install) == 0) {
message("\nNothing to install\n")
}
@@ -43,7 +59,7 @@ for (i in seq_len(length(to_install))) {
}
to_update <- as.data.frame(utils::old.packages(repos = "https://cran.rstudio.com/"), stringsAsFactors = FALSE)
-to_update <- to_update[which(to_update$Package %in% pkg_suggests), "Package", drop = TRUE]
+to_update <- to_update[which(to_update$Package %in% pkg_to_install), "Package", drop = TRUE]
if (length(to_update) == 0) {
message("\nNothing to update\n")
}
diff --git a/data-raw/_internals.R b/data-raw/_internals.R
index 9460b80b..8b653887 100644
--- a/data-raw/_internals.R
+++ b/data-raw/_internals.R
@@ -116,32 +116,35 @@ MO_COPS <- create_species_cons_cops("CoPS")
# antibiotic groups
# (these will also be used for eucast_rules() and understanding data-raw/eucast_rules.tsv)
globalenv_before_ab <- c(ls(envir = globalenv()), "globalenv_before_ab")
-AMINOGLYCOSIDES <- antibiotics %>% filter(group %like% "aminoglycoside") %>% pull(ab)
-AMINOPENICILLINS <- as.ab(c("AMP", "AMX"))
-CARBAPENEMS <- antibiotics %>% filter(group %like% "carbapenem") %>% pull(ab)
-CEPHALOSPORINS <- antibiotics %>% filter(group %like% "cephalosporin") %>% pull(ab)
-CEPHALOSPORINS_1ST <- antibiotics %>% filter(group %like% "cephalosporin.*1") %>% pull(ab)
-CEPHALOSPORINS_2ND <- antibiotics %>% filter(group %like% "cephalosporin.*2") %>% pull(ab)
-CEPHALOSPORINS_3RD <- antibiotics %>% filter(group %like% "cephalosporin.*3") %>% pull(ab)
-CEPHALOSPORINS_4TH <- antibiotics %>% filter(group %like% "cephalosporin.*4") %>% pull(ab)
-CEPHALOSPORINS_5TH <- antibiotics %>% filter(group %like% "cephalosporin.*5") %>% pull(ab)
-CEPHALOSPORINS_EXCEPT_CAZ <- CEPHALOSPORINS[CEPHALOSPORINS != "CAZ"]
-FLUOROQUINOLONES <- antibiotics %>% filter(atc_group2 %like% "fluoroquinolone" | (group %like% "quinolone" & is.na(atc_group2))) %>% pull(ab)
-LIPOGLYCOPEPTIDES <- as.ab(c("DAL", "ORI", "TLV")) # dalba/orita/tela
-GLYCOPEPTIDES <- antibiotics %>% filter(group %like% "glycopeptide") %>% pull(ab)
-GLYCOPEPTIDES_EXCEPT_LIPO <- GLYCOPEPTIDES[!GLYCOPEPTIDES %in% LIPOGLYCOPEPTIDES]
-LINCOSAMIDES <- antibiotics %>% filter(atc_group2 %like% "lincosamide" | (group %like% "lincosamide" & is.na(atc_group2))) %>% pull(ab)
-MACROLIDES <- antibiotics %>% filter(atc_group2 %like% "macrolide" | (group %like% "macrolide" & is.na(atc_group2))) %>% pull(ab)
-OXAZOLIDINONES <- antibiotics %>% filter(group %like% "oxazolidinone") %>% pull(ab)
-PENICILLINS <- antibiotics %>% filter(group %like% "penicillin") %>% pull(ab)
-POLYMYXINS <- antibiotics %>% filter(group %like% "polymyxin") %>% pull(ab)
-QUINOLONES <- antibiotics %>% filter(group %like% "quinolone") %>% pull(ab)
-STREPTOGRAMINS <- antibiotics %>% filter(atc_group2 %like% "streptogramin") %>% pull(ab)
-TETRACYCLINES <- antibiotics %>% filter(group %like% "tetracycline") %>% pull(ab)
-TETRACYCLINES_EXCEPT_TGC <- TETRACYCLINES[TETRACYCLINES != "TGC"]
-UREIDOPENICILLINS <- as.ab(c("PIP", "TZP", "AZL", "MEZ"))
-BETALACTAMS <- c(PENICILLINS, CEPHALOSPORINS, CARBAPENEMS)
-
+AB_AMINOGLYCOSIDES <- antibiotics %>% filter(group %like% "aminoglycoside") %>% pull(ab)
+AB_AMINOPENICILLINS <- as.ab(c("AMP", "AMX"))
+AB_ANTIFUNGALS <- AB_lookup %>% filter(group %like% "antifungal") %>% pull(ab)
+AB_ANTIMYCOBACTERIALS <- AB_lookup %>% filter(group %like% "antimycobacterial") %>% pull(ab)
+AB_CARBAPENEMS <- antibiotics %>% filter(group %like% "carbapenem") %>% pull(ab)
+AB_CEPHALOSPORINS <- antibiotics %>% filter(group %like% "cephalosporin") %>% pull(ab)
+AB_CEPHALOSPORINS_1ST <- antibiotics %>% filter(group %like% "cephalosporin.*1") %>% pull(ab)
+AB_CEPHALOSPORINS_2ND <- antibiotics %>% filter(group %like% "cephalosporin.*2") %>% pull(ab)
+AB_CEPHALOSPORINS_3RD <- antibiotics %>% filter(group %like% "cephalosporin.*3") %>% pull(ab)
+AB_CEPHALOSPORINS_4TH <- antibiotics %>% filter(group %like% "cephalosporin.*4") %>% pull(ab)
+AB_CEPHALOSPORINS_5TH <- antibiotics %>% filter(group %like% "cephalosporin.*5") %>% pull(ab)
+AB_CEPHALOSPORINS_EXCEPT_CAZ <- AB_CEPHALOSPORINS[AB_CEPHALOSPORINS != "CAZ"]
+AB_FLUOROQUINOLONES <- antibiotics %>% filter(atc_group2 %like% "fluoroquinolone" | (group %like% "quinolone" & is.na(atc_group2))) %>% pull(ab)
+AB_GLYCOPEPTIDES <- antibiotics %>% filter(group %like% "glycopeptide") %>% pull(ab)
+AB_LIPOGLYCOPEPTIDES <- as.ab(c("DAL", "ORI", "TLV")) # dalba/orita/tela
+AB_GLYCOPEPTIDES_EXCEPT_LIPO <- AB_GLYCOPEPTIDES[!AB_GLYCOPEPTIDES %in% AB_LIPOGLYCOPEPTIDES]
+AB_LINCOSAMIDES <- antibiotics %>% filter(atc_group2 %like% "lincosamide" | (group %like% "lincosamide" & is.na(atc_group2))) %>% pull(ab)
+AB_MACROLIDES <- antibiotics %>% filter(atc_group2 %like% "macrolide" | (group %like% "macrolide" & is.na(atc_group2))) %>% pull(ab)
+AB_OXAZOLIDINONES <- antibiotics %>% filter(group %like% "oxazolidinone") %>% pull(ab)
+AB_PENICILLINS <- antibiotics %>% filter(group %like% "penicillin") %>% pull(ab)
+AB_POLYMYXINS <- antibiotics %>% filter(group %like% "polymyxin") %>% pull(ab)
+AB_QUINOLONES <- antibiotics %>% filter(group %like% "quinolone") %>% pull(ab)
+AB_STREPTOGRAMINS <- antibiotics %>% filter(atc_group2 %like% "streptogramin") %>% pull(ab)
+AB_TETRACYCLINES <- antibiotics %>% filter(group %like% "tetracycline") %>% pull(ab)
+AB_TETRACYCLINES_EXCEPT_TGC <- AB_TETRACYCLINES[AB_TETRACYCLINES != "TGC"]
+AB_TRIMETHOPRIMS <- antibiotics %>% filter(group %like% "trimethoprim") %>% pull(ab)
+AB_UREIDOPENICILLINS <- as.ab(c("PIP", "TZP", "AZL", "MEZ"))
+AB_BETALACTAMS <- c(AB_PENICILLINS, AB_CEPHALOSPORINS, AB_CARBAPENEMS)
+# this will be used for documentation:
DEFINED_AB_GROUPS <- ls(envir = globalenv())
DEFINED_AB_GROUPS <- DEFINED_AB_GROUPS[!DEFINED_AB_GROUPS %in% globalenv_before_ab]
@@ -152,31 +155,34 @@ usethis::use_data(EUCAST_RULES_DF,
# EXAMPLE_ISOLATES,
MO_CONS,
MO_COPS,
- AMINOGLYCOSIDES,
- AMINOPENICILLINS,
- CARBAPENEMS,
- CEPHALOSPORINS,
- CEPHALOSPORINS_1ST,
- CEPHALOSPORINS_2ND,
- CEPHALOSPORINS_3RD,
- CEPHALOSPORINS_4TH,
- CEPHALOSPORINS_5TH,
- CEPHALOSPORINS_EXCEPT_CAZ,
- FLUOROQUINOLONES,
- LIPOGLYCOPEPTIDES,
- GLYCOPEPTIDES,
- GLYCOPEPTIDES_EXCEPT_LIPO,
- LINCOSAMIDES,
- MACROLIDES,
- OXAZOLIDINONES,
- PENICILLINS,
- POLYMYXINS,
- QUINOLONES,
- STREPTOGRAMINS,
- TETRACYCLINES,
- TETRACYCLINES_EXCEPT_TGC,
- UREIDOPENICILLINS,
- BETALACTAMS,
+ AB_AMINOGLYCOSIDES,
+ AB_AMINOPENICILLINS,
+ AB_ANTIFUNGALS,
+ AB_ANTIMYCOBACTERIALS,
+ AB_CARBAPENEMS,
+ AB_CEPHALOSPORINS,
+ AB_CEPHALOSPORINS_1ST,
+ AB_CEPHALOSPORINS_2ND,
+ AB_CEPHALOSPORINS_3RD,
+ AB_CEPHALOSPORINS_4TH,
+ AB_CEPHALOSPORINS_5TH,
+ AB_CEPHALOSPORINS_EXCEPT_CAZ,
+ AB_FLUOROQUINOLONES,
+ AB_LIPOGLYCOPEPTIDES,
+ AB_GLYCOPEPTIDES,
+ AB_GLYCOPEPTIDES_EXCEPT_LIPO,
+ AB_LINCOSAMIDES,
+ AB_MACROLIDES,
+ AB_OXAZOLIDINONES,
+ AB_PENICILLINS,
+ AB_POLYMYXINS,
+ AB_QUINOLONES,
+ AB_STREPTOGRAMINS,
+ AB_TETRACYCLINES,
+ AB_TETRACYCLINES_EXCEPT_TGC,
+ AB_TRIMETHOPRIMS,
+ AB_UREIDOPENICILLINS,
+ AB_BETALACTAMS,
DEFINED_AB_GROUPS,
internal = TRUE,
overwrite = TRUE,
diff --git a/data-raw/ab.md5 b/data-raw/ab.md5
index af7f9082..0d870ad7 100644
--- a/data-raw/ab.md5
+++ b/data-raw/ab.md5
@@ -1 +1 @@
-3231895277e8e2b157672822c1913639
+aacf86b0d2e8a0057fea296eeab20960
diff --git a/data-raw/antibiotics.dta b/data-raw/antibiotics.dta
index 9ecb68b8..3c1db2e0 100644
Binary files a/data-raw/antibiotics.dta and b/data-raw/antibiotics.dta differ
diff --git a/data-raw/antibiotics.rds b/data-raw/antibiotics.rds
index 1f04816e..abba37f5 100644
Binary files a/data-raw/antibiotics.rds and b/data-raw/antibiotics.rds differ
diff --git a/data-raw/antibiotics.sas b/data-raw/antibiotics.sas
index 5ce6391e..29427e66 100644
Binary files a/data-raw/antibiotics.sas and b/data-raw/antibiotics.sas differ
diff --git a/data-raw/antibiotics.sav b/data-raw/antibiotics.sav
index cae08c26..31236236 100644
Binary files a/data-raw/antibiotics.sav and b/data-raw/antibiotics.sav differ
diff --git a/data-raw/antibiotics.txt b/data-raw/antibiotics.txt
index 7b06adce..042d8c25 100644
--- a/data-raw/antibiotics.txt
+++ b/data-raw/antibiotics.txt
@@ -1,511 +1,511 @@
-"ab" "atc" "cid" "name" "group" "atc_group1" "atc_group2" "abbreviations" "synonyms" "oral_ddd" "oral_units" "iv_ddd" "iv_units" "loinc"
-"AMA" "J04AA01" 4649 "4-aminosalicylic acid" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Aminosalicylic acid and derivatives" "" "c(\"aminopar\", \"aminosalicylic\", \"aminosalicylic acid\", \"aminosalyl\", \"aminox\", \"apacil\", \"deapasil\", \"entepas\", \"ferrosan\", \"gabbropas\", \"helipidyl\", \"hellipidyl\", \"neopasalate\", \"osacyl\", \"pamacyl\", \"pamisyl\", \"paramycin\", \"parasal\", \"parasalicil\", \"parasalindon\", \"pasalon\", \"pasara\", \"pascorbic\", \"pasdium\", \"paser granules\", \"paskalium\", \"pasmed\", \"pasnodia\", \"pasolac\", \"propasa\", \"rezipas\", \"teebacin\", \"wln: zr cq dvq\")" 12 "g" "character(0)"
-"FCT" "D01AE21" 3366 "5-fluorocytosine" "Antifungals/antimycotics" "Antifungals for topical use" "Other antifungals for topical use" "c(\"5flc\", \"fcu\", \"fluo\", \"fluy\")" "c(\"alcobon\", \"ancobon\", \"ancotil\", \"ancotyl\", \"flucitosina\", \"flucystine\", \"flucytosin\", \"flucytosine\", \"flucytosinum\", \"flucytosone\", \"fluocytosine\", \"fluorcytosine\")" "c(\"10974-4\", \"23805-5\", \"25142-1\", \"25143-9\", \"3639-2\", \"46218-4\")"
-"ACM" 6450012 "Acetylmidecamycin" "Macrolides/lincosamides" "" "" ""
-"ASP" 49787020 "Acetylspiramycin" "Macrolides/lincosamides" "" "c(\"acetylspiramycin\", \"foromacidin b\", \"spiramycin ii\")" "character(0)"
-"ALS" "J04BA03" 8954 "Aldesulfone sodium" "Other antibacterials" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "" "c(\"adesulfone sodium\", \"aldapsone\", \"aldesulfona sodica\", \"aldesulfone\", \"aldesulfone sodique\", \"aldesulfone sodium\", \"diamidin\", \"diasone\", \"diasone sodium\", \"diazon\", \"novotrone\", \"sodium aldesulphone\", \"sodium sulfoxone\", \"sulfoxone sodium\")" 0.33 "g" "character(0)"
-"AMK" "J01GB06" 37768 "Amikacin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"ak\", \"ami\", \"amik\", \"amk\", \"an\")" "c(\"amicacin\", \"amikacillin\", \"amikacin\", \"amikacin base\", \"amikacin dihydrate\", \"amikacin sulfate\", \"amikacina\", \"amikacine\", \"amikacinum\", \"amikavet\", \"amikin\", \"amiklin\", \"amikozit\", \"amukin\", \"arikace\", \"briclin\", \"lukadin\", \"mikavir\", \"pierami\", \"potentox\")" 1 "g" "c(\"13546-7\", \"15098-7\", \"17798-0\", \"31097-9\", \"31098-7\", \"31099-5\", \"3319-1\", \"3320-9\", \"3321-7\", \"35669-1\", \"50802-8\", \"50803-6\", \"56628-1\", \"59378-0\", \"80972-3\")"
-"AKF" "Amikacin/fosfomycin" "Aminoglycosides" "" "" ""
-"AMX" "J01CA04" 33613 "Amoxicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"ac\", \"amox\", \"amx\")" "c(\"actimoxi\", \"amoclen\", \"amolin\", \"amopen\", \"amopenixin\", \"amoxibiotic\", \"amoxicaps\", \"amoxicilina\", \"amoxicillin\", \"amoxicilline\", \"amoxicillinum\", \"amoxiden\", \"amoxil\", \"amoxivet\", \"amoxy\", \"amoxycillin\", \"anemolin\", \"aspenil\", \"biomox\", \"bristamox\", \"cemoxin\", \"clamoxyl\", \"delacillin\", \"dispermox\", \"efpenix\", \"flemoxin\", \"hiconcil\", \"histocillin\", \"hydroxyampicillin\", \"ibiamox\", \"imacillin\", \"lamoxy\", \"metafarma capsules\", \"metifarma capsules\", \"moxacin\", \"moxatag\", \"ospamox\", \"pamoxicillin\",
+"ab" "cid" "name" "group" "atc" "atc_group1" "atc_group2" "abbreviations" "synonyms" "oral_ddd" "oral_units" "iv_ddd" "iv_units" "loinc"
+"AMA" 4649 "4-aminosalicylic acid" "Antimycobacterials" "J04AA01" "Drugs for treatment of tuberculosis" "Aminosalicylic acid and derivatives" "" "c(\"aminopar\", \"aminosalicylic\", \"aminosalicylic acid\", \"aminosalyl\", \"aminox\", \"apacil\", \"deapasil\", \"entepas\", \"ferrosan\", \"gabbropas\", \"helipidyl\", \"hellipidyl\", \"neopasalate\", \"osacyl\", \"pamacyl\", \"pamisyl\", \"paramycin\", \"parasal\", \"parasalicil\", \"parasalindon\", \"pasalon\", \"pasara\", \"pascorbic\", \"pasdium\", \"paser granules\", \"paskalium\", \"pasmed\", \"pasnodia\", \"pasolac\", \"propasa\", \"rezipas\", \"teebacin\", \"wln: zr cq dvq\")" 12 "g" "character(0)"
+"FCT" 3366 "5-fluorocytosine" "Antifungals/antimycotics" "D01AE21" "Antifungals for topical use" "Other antifungals for topical use" "c(\"5flc\", \"fcu\", \"fluo\", \"fluy\")" "c(\"alcobon\", \"ancobon\", \"ancotil\", \"ancotyl\", \"flucitosina\", \"flucystine\", \"flucytosin\", \"flucytosine\", \"flucytosinum\", \"flucytosone\", \"fluocytosine\", \"fluorcytosine\")" "c(\"10974-4\", \"23805-5\", \"25142-1\", \"25143-9\", \"3639-2\", \"46218-4\")"
+"ACM" 6450012 "Acetylmidecamycin" "Macrolides/lincosamides" "" "" ""
+"ASP" 49787020 "Acetylspiramycin" "Macrolides/lincosamides" "" "c(\"acetylspiramycin\", \"foromacidin b\", \"spiramycin ii\")" "character(0)"
+"ALS" 8954 "Aldesulfone sodium" "Other antibacterials" "J04BA03" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "" "c(\"adesulfone sodium\", \"aldapsone\", \"aldesulfona sodica\", \"aldesulfone\", \"aldesulfone sodique\", \"aldesulfone sodium\", \"diamidin\", \"diasone\", \"diasone sodium\", \"diazon\", \"novotrone\", \"sodium aldesulphone\", \"sodium sulfoxone\", \"sulfoxone sodium\")" 0.33 "g" "character(0)"
+"AMK" 37768 "Amikacin" "Aminoglycosides" "c(\"D06AX12\", \"J01GB06\", \"S01AA21\")" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"ak\", \"ami\", \"amik\", \"amk\", \"an\")" "c(\"amicacin\", \"amikacillin\", \"amikacin\", \"amikacin base\", \"amikacin dihydrate\", \"amikacin sulfate\", \"amikacina\", \"amikacine\", \"amikacinum\", \"amikavet\", \"amikin\", \"amiklin\", \"amikozit\", \"amukin\", \"arikace\", \"briclin\", \"lukadin\", \"mikavir\", \"pierami\", \"potentox\")" 1 "g" "c(\"13546-7\", \"15098-7\", \"17798-0\", \"31097-9\", \"31098-7\", \"31099-5\", \"3319-1\", \"3320-9\", \"3321-7\", \"35669-1\", \"50802-8\", \"50803-6\", \"56628-1\", \"59378-0\", \"80972-3\")"
+"AKF" "Amikacin/fosfomycin" "Aminoglycosides" "" "" ""
+"AMX" 33613 "Amoxicillin" "Beta-lactams/penicillins" "J01CA04" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"ac\", \"amox\", \"amx\")" "c(\"actimoxi\", \"amoclen\", \"amolin\", \"amopen\", \"amopenixin\", \"amoxibiotic\", \"amoxicaps\", \"amoxicilina\", \"amoxicillin\", \"amoxicilline\", \"amoxicillinum\", \"amoxiden\", \"amoxil\", \"amoxivet\", \"amoxy\", \"amoxycillin\", \"anemolin\", \"aspenil\", \"biomox\", \"bristamox\", \"cemoxin\", \"clamoxyl\", \"delacillin\", \"dispermox\", \"efpenix\", \"flemoxin\", \"hiconcil\", \"histocillin\", \"hydroxyampicillin\", \"ibiamox\", \"imacillin\", \"lamoxy\", \"metafarma capsules\", \"metifarma capsules\", \"moxacin\", \"moxatag\", \"ospamox\", \"pamoxicillin\",
\"piramox\", \"robamox\", \"sawamox pm\", \"tolodina\", \"unicillin\", \"utimox\", \"vetramox\")" 1.5 "g" 3 "g" "c(\"16365-9\", \"25274-2\", \"3344-9\", \"80133-2\")"
-"AMC" "J01CR02" 23665637 "Amoxicillin/clavulanic acid" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Combinations of penicillins, incl. beta-lactamase inhibitors" "c(\"a/c\", \"amcl\", \"aml\", \"aug\", \"xl\")" "c(\"amocla\", \"amoclan\", \"amoclav\", \"amoxsiklav\", \"augmentan\", \"augmentin\", \"augmentin xr\", \"augmentine\", \"auspilic\", \"clamentin\", \"clamobit\", \"clavamox\", \"clavinex\", \"clavoxilin plus\", \"clavulin\", \"clavumox\", \"coamoxiclav\", \"eumetinex\", \"kmoxilin\", \"spectramox\", \"spektramox\", \"viaclav\", \"xiclav\")" 1.5 "g" 3 "g" "character(0)"
-"AXS" 465441 "Amoxicillin/sulbactam" "Beta-lactams/penicillins" "" "" ""
-"AMB" "J02AA01" 5280965 "Amphotericin B" "Antifungals/antimycotics" "Antimycotics for systemic use" "Antibiotics" "c(\"amf\", \"amfb\", \"amph\")" "c(\"abelcet\", \"abelecet\", \"ambisome\", \"amfotericina b\", \"amphocin\", \"amphomoronal\", \"amphortericin b\", \"amphotec\", \"amphotericin\", \"amphotericin b\", \"amphotericine b\", \"amphotericinum b\", \"amphozone\", \"anfotericine b\", \"fungilin\", \"fungisome\", \"fungisone\", \"fungizone\", \"halizon\")" 35 "mg" "c(\"16370-9\", \"3353-0\", \"3354-8\", \"40707-2\", \"40757-7\", \"49859-2\")"
-"AMH" "Amphotericin B-high" "Aminoglycosides" "c(\"amfo b high\", \"amhl\", \"ampho b high\", \"amphotericin high\")" "" ""
-"AMP" "J01CA01" 6249 "Ampicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"am\", \"amp\", \"ampi\")" "c(\"acillin\", \"adobacillin\", \"amblosin\", \"amcill\", \"amfipen\", \"amfipen v\", \"amipenix s\", \"ampichel\", \"ampicil\", \"ampicilina\", \"ampicillin\", \"ampicillin a\", \"ampicillin acid\", \"ampicillin anhydrate\", \"ampicillin anhydrous\", \"ampicillin base\", \"ampicillin sodium\", \"ampicillina\", \"ampicilline\", \"ampicillinum\", \"ampicin\", \"ampifarm\", \"ampikel\", \"ampimed\", \"ampipenin\", \"ampiscel\", \"ampisyn\", \"ampivax\", \"ampivet\", \"amplacilina\", \"amplin\", \"amplipenyl\", \"amplisom\", \"amplital\", \"anhydrous ampicillin\", \"austrapen\",
+"AMC" 23665637 "Amoxicillin/clavulanic acid" "Beta-lactams/penicillins" "J01CR02" "Beta-lactam antibacterials, penicillins" "Combinations of penicillins, incl. beta-lactamase inhibitors" "c(\"a/c\", \"amcl\", \"aml\", \"aug\", \"xl\")" "c(\"amocla\", \"amoclan\", \"amoclav\", \"amoxsiklav\", \"augmentan\", \"augmentin\", \"augmentin xr\", \"augmentine\", \"auspilic\", \"clamentin\", \"clamobit\", \"clavamox\", \"clavinex\", \"clavoxilin plus\", \"clavulin\", \"clavumox\", \"coamoxiclav\", \"eumetinex\", \"kmoxilin\", \"spectramox\", \"spektramox\", \"viaclav\", \"xiclav\")" 1.5 "g" 3 "g" "character(0)"
+"AXS" 465441 "Amoxicillin/sulbactam" "Beta-lactams/penicillins" "" "" ""
+"AMB" 5280965 "Amphotericin B" "Antifungals/antimycotics" "c(\"A01AB04\", \"A07AA07\", \"G01AA03\", \"J02AA01\")" "Antimycotics for systemic use" "Antibiotics" "c(\"amf\", \"amfb\", \"amph\")" "c(\"abelcet\", \"abelecet\", \"ambisome\", \"amfotericina b\", \"amphocin\", \"amphomoronal\", \"amphortericin b\", \"amphotec\", \"amphotericin\", \"amphotericin b\", \"amphotericine b\", \"amphotericinum b\", \"amphozone\", \"anfotericine b\", \"fungilin\", \"fungisome\", \"fungisone\", \"fungizone\", \"halizon\")" 35 "mg" "c(\"16370-9\", \"3353-0\", \"3354-8\", \"40707-2\", \"40757-7\", \"49859-2\")"
+"AMH" "Amphotericin B-high" "Aminoglycosides" "c(\"amfo b high\", \"amhl\", \"ampho b high\", \"amphotericin high\")" "" ""
+"AMP" 6249 "Ampicillin" "Beta-lactams/penicillins" "c(\"J01CA01\", \"S01AA19\")" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"am\", \"amp\", \"ampi\")" "c(\"acillin\", \"adobacillin\", \"amblosin\", \"amcill\", \"amfipen\", \"amfipen v\", \"amipenix s\", \"ampichel\", \"ampicil\", \"ampicilina\", \"ampicillin\", \"ampicillin a\", \"ampicillin acid\", \"ampicillin anhydrate\", \"ampicillin anhydrous\", \"ampicillin base\", \"ampicillin sodium\", \"ampicillina\", \"ampicilline\", \"ampicillinum\", \"ampicin\", \"ampifarm\", \"ampikel\", \"ampimed\", \"ampipenin\", \"ampiscel\", \"ampisyn\", \"ampivax\", \"ampivet\", \"amplacilina\", \"amplin\", \"amplipenyl\", \"amplisom\", \"amplital\", \"anhydrous ampicillin\", \"austrapen\",
\"binotal\", \"bonapicillin\", \"britacil\", \"campicillin\", \"copharcilin\", \"delcillin\", \"deripen\", \"divercillin\", \"doktacillin\", \"duphacillin\", \"grampenil\", \"guicitrina\", \"guicitrine\", \"lifeampil\", \"marcillin\", \"morepen\", \"norobrittin\", \"nuvapen\", \"olin kid\", \"omnipen\", \"orbicilina\", \"pen a oral\", \"pen ampil\", \"penbristol\", \"penbritin\", \"penbritin paediatric\", \"penbritin syrup\", \"penbrock\", \"penicline\", \"penimic\", \"pensyn\", \"pentrex\", \"pentrexl\", \"pentrexyl\", \"pentritin\", \"pfizerpen a\", \"polycillin\", \"polyflex\",
\"ponecil\", \"princillin\", \"principen\", \"qidamp\", \"racenacillin\", \"rosampline\", \"roscillin\", \"semicillin\", \"semicillin r\", \"servicillin\", \"sumipanto\", \"synpenin\", \"texcillin\", \"tokiocillin\", \"tolomol\", \"totacillin\", \"totalciclina\", \"totapen\", \"trifacilina\", \"ukapen\", \"ultrabion\", \"ultrabron\", \"vampen\", \"viccillin\", \"viccillin s\", \"vidocillin\", \"wypicil\")" 2 "g" 6 "g" "c(\"21066-6\", \"3355-5\", \"33562-0\", \"33919-2\", \"43883-8\", \"43884-6\", \"87604-5\")"
-"SAM" "J01CR01" 119561 "Ampicillin/sulbactam" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Combinations of penicillins, incl. beta-lactamase inhibitors" "c(\"a/s\", \"ab\", \"ams\", \"amsu\", \"apsu\", \"sam\")" "" 6 "g" ""
-"AMR" 73341 "Amprolium" "Other antibacterials" "" "c(\"amprocidum\", \"amprolio\", \"amprolium\", \"amprovine\")" "character(0)"
-"ANI" "J02AX06" 166548 "Anidulafungin" "Antifungals/antimycotics" "Antimycotics for systemic use" "Other antimycotics for systemic use" "anid" "c(\"anidulafungin\", \"anidulafungina\", \"anidulafungine\", \"anidulafunginum\", \"ecalta\", \"eraxis\")" 0.1 "g" "58420-1"
-"APL" 6602341 "Apalcillin" "Beta-lactams/penicillins" "" "c(\"apalcilina\", \"apalcillin\", \"apalcilline\", \"apalcillinum\")" "character(0)"
-"APR" 3081545 "Apramycin" "Aminoglycosides" "" "c(\"ambylan\", \"apralan\", \"apramicina\", \"apramycin\", \"apramycine\", \"apramycinum\", \"nebramycin ii\")" "character(0)"
-"ARB" 68682 "Arbekacin" "Aminoglycosides" "" "c(\"arbekacin\", \"arbekacina\", \"arbekacine\", \"arbekacini sulfas\", \"arbekacinum\", \"habekacin\", \"haberacin\")" "character(0)"
-"APX" 71961 "Aspoxicillin" "Beta-lactams/penicillins" "" "c(\"aspoxicilina\", \"aspoxicillan\", \"aspoxicillin\", \"aspoxicilline\", \"aspoxicillinum\")" "character(0)"
-"AST" 5284517 "Astromicin" "Aminoglycosides" "" "c(\"astromicin\", \"astromicin a\", \"astromicina\", \"astromicine\", \"astromicinum\", \"fortimicin a\")" "character(0)"
-"AVB" 9835049 "Avibactam" "Beta-lactams/penicillins" "" "c(\"avibactam\", \"avibactam free acid\")" "character(0)"
-"AVI" 71674 "Avilamycin" "Other antibacterials" "" "c(\"avilamycin\", \"avilamycina\", \"avilamycine\", \"avilamycinum\", \"surmax\")" "character(0)"
-"AVO" 16131159 "Avoparcin" "Glycopeptides" "" "" ""
-"AZD" "J01CE04" 15574941 "Azidocillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"azidocilina\", \"azidocillin\", \"azidocillina\", \"azidocilline\", \"azidocillinum\")" 1.5 "g" "character(0)"
-"AZM" "J01FA10" 447043 "Azithromycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"az\", \"azi\", \"azit\", \"azm\")" "c(\"aritromicina\", \"azasite\", \"azenil\", \"azifast\", \"azigram\", \"azimakrol\", \"azithramycine\", \"azithromycin\", \"azithromycine\", \"azithromycinum\", \"azitrocin\", \"azitromax\", \"azitromicina\", \"azitromicine\", \"azitromin\", \"aziwok\", \"aztrin\", \"azyter\", \"azythromycin\", \"hemomycin\", \"misultina\", \"mixoterin\", \"setron\", \"sumamed\", \"tromix\", \"trulimax\", \"zentavion\", \"zithrax\", \"zithromac\", \"zithromax\", \"zithromax iv\", \"zithromycin\", \"zitrim\", \"zitromax\", \"zitrotek\", \"zmax sr\")" 0.3 "g" 0.5 "g" "c(\"16420-2\", \"25233-8\")"
-"AZL" "J01CA09" 6479523 "Azlocillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"az\", \"azl\", \"azlo\")" "" 12 "g" ""
-"ATM" "J01DF01" 5742832 "Aztreonam" "Beta-lactams/penicillins" "Other beta-lactam antibacterials" "Monobactams" "c(\"at\", \"atm\", \"azm\", \"azt\", \"aztr\")" "c(\"azactam\", \"azetreonam\", \"azthreonam\", \"aztreonam\", \"primbactam\")" 4 "g" "c(\"16423-6\", \"25234-6\", \"3369-6\")"
-"AZA" "Aztreonam/avibactam" "Beta-lactams/penicillins" "" "" ""
-"BAM" "J01CA06" 441397 "Bacampicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"bacampicilina\", \"bacampicillin\", \"bacampicilline\", \"bacampicillinum\", \"penglobe\")" 1.2 "g" "character(0)"
-"BAC" "R02AB04" 78358334 "Bacitracin zinc" "Other antibacterials" "baci" "" ""
-"BDQ" 5388906 "Bedaquiline" "Other antibacterials" "" "c(\"bedaquiline\", \"sirturo\")" "80637-2"
-"BEK" 439318 "Bekanamycin" "Aminoglycosides" "" "c(\"aminodeoxykanamycin\", \"becanamicina\", \"bekanamycin\", \"bekanamycine\", \"bekanamycinum\", \"nebramycin v\")" "character(0)"
-"BNB" "J01CE08" "Benzathine benzylpenicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "" 3.6 "g" ""
-"BNP" "J01CE10" 64725 "Benzathine phenoxymethylpenicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"bicillin v\", \"biphecillin\")" 2 "g" "character(0)"
-"PEN" "J01CE01" 5904 "Benzylpenicillin" "Beta-lactams/penicillins" "Combinations of antibacterials" "Combinations of antibacterials" "c(\"bepe\", \"pen\", \"peni\", \"peni g\", \"penicillin\", \"penicillin g\", \"pg\")" "c(\"abbocillin\", \"ayercillin\", \"bencilpenicilina\", \"benzopenicillin\", \"benzyl penicillin\", \"benzylpenicillin\", \"benzylpenicillin g\", \"benzylpenicilline\", \"benzylpenicillinum\", \"bicillin\", \"cillora\", \"cilloral\", \"cilopen\", \"compocillin g\", \"cosmopen\", \"dropcillin\", \"free penicillin g\", \"free penicillin ii\", \"galofak\", \"gelacillin\", \"liquacillin\", \"megacillin\", \"pencillin g\", \"penicillin\", \"penicilling\", \"pentids\", \"permapen\", \"pfizerpen\", \"pfizerpen g\", \"pharmacillin\", \"pradupen\", \"specilline g\", \"ursopen\"
+"SAM" 119561 "Ampicillin/sulbactam" "Beta-lactams/penicillins" "J01CR01" "Beta-lactam antibacterials, penicillins" "Combinations of penicillins, incl. beta-lactamase inhibitors" "c(\"a/s\", \"ab\", \"ams\", \"amsu\", \"apsu\", \"sam\")" "" 6 "g" ""
+"AMR" 73341 "Amprolium" "Other antibacterials" "" "c(\"amprocidum\", \"amprolio\", \"amprolium\", \"amprovine\")" "character(0)"
+"ANI" 166548 "Anidulafungin" "Antifungals/antimycotics" "J02AX06" "Antimycotics for systemic use" "Other antimycotics for systemic use" "anid" "c(\"anidulafungin\", \"anidulafungina\", \"anidulafungine\", \"anidulafunginum\", \"ecalta\", \"eraxis\")" 0.1 "g" "58420-1"
+"APL" 6602341 "Apalcillin" "Beta-lactams/penicillins" "" "c(\"apalcilina\", \"apalcillin\", \"apalcilline\", \"apalcillinum\")" "character(0)"
+"APR" 3081545 "Apramycin" "Aminoglycosides" "" "c(\"ambylan\", \"apralan\", \"apramicina\", \"apramycin\", \"apramycine\", \"apramycinum\", \"nebramycin ii\")" "character(0)"
+"ARB" 68682 "Arbekacin" "Aminoglycosides" "J01GB12" "" "c(\"arbekacin\", \"arbekacina\", \"arbekacine\", \"arbekacini sulfas\", \"arbekacinum\", \"habekacin\", \"haberacin\")" "character(0)"
+"APX" 71961 "Aspoxicillin" "Beta-lactams/penicillins" "J01CA19" "" "c(\"aspoxicilina\", \"aspoxicillan\", \"aspoxicillin\", \"aspoxicilline\", \"aspoxicillinum\")" "character(0)"
+"AST" 5284517 "Astromicin" "Aminoglycosides" "" "c(\"astromicin\", \"astromicin a\", \"astromicina\", \"astromicine\", \"astromicinum\", \"fortimicin a\")" "character(0)"
+"AVB" 9835049 "Avibactam" "Beta-lactams/penicillins" "" "c(\"avibactam\", \"avibactam free acid\")" "character(0)"
+"AVI" 71674 "Avilamycin" "Other antibacterials" "" "c(\"avilamycin\", \"avilamycina\", \"avilamycine\", \"avilamycinum\", \"surmax\")" "character(0)"
+"AVO" 16131159 "Avoparcin" "Glycopeptides" "" "" ""
+"AZD" 15574941 "Azidocillin" "Beta-lactams/penicillins" "J01CE04" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"azidocilina\", \"azidocillin\", \"azidocillina\", \"azidocilline\", \"azidocillinum\")" 1.5 "g" "character(0)"
+"AZM" 447043 "Azithromycin" "Macrolides/lincosamides" "c(\"J01FA10\", \"S01AA26\")" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"az\", \"azi\", \"azit\", \"azm\")" "c(\"aritromicina\", \"azasite\", \"azenil\", \"azifast\", \"azigram\", \"azimakrol\", \"azithramycine\", \"azithromycin\", \"azithromycine\", \"azithromycinum\", \"azitrocin\", \"azitromax\", \"azitromicina\", \"azitromicine\", \"azitromin\", \"aziwok\", \"aztrin\", \"azyter\", \"azythromycin\", \"hemomycin\", \"misultina\", \"mixoterin\", \"setron\", \"sumamed\", \"tromix\", \"trulimax\", \"zentavion\", \"zithrax\", \"zithromac\", \"zithromax\", \"zithromax iv\", \"zithromycin\", \"zitrim\", \"zitromax\", \"zitrotek\", \"zmax sr\")" 0.3 "g" 0.5 "g" "c(\"16420-2\", \"25233-8\")"
+"AZL" 6479523 "Azlocillin" "Beta-lactams/penicillins" "J01CA09" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"az\", \"azl\", \"azlo\")" "" 12 "g" ""
+"ATM" 5742832 "Aztreonam" "Beta-lactams/penicillins" "J01DF01" "Other beta-lactam antibacterials" "Monobactams" "c(\"at\", \"atm\", \"azm\", \"azt\", \"aztr\")" "c(\"azactam\", \"azetreonam\", \"azthreonam\", \"aztreonam\", \"primbactam\")" 4 "g" "c(\"16423-6\", \"25234-6\", \"3369-6\")"
+"AZA" "Aztreonam/avibactam" "Beta-lactams/penicillins" "" "" ""
+"BAM" 441397 "Bacampicillin" "Beta-lactams/penicillins" "J01CA06" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"bacampicilina\", \"bacampicillin\", \"bacampicilline\", \"bacampicillinum\", \"penglobe\")" 1.2 "g" "character(0)"
+"BAC" 78358334 "Bacitracin zinc" "Other antibacterials" "R02AB04" "baci" "" ""
+"BDQ" 5388906 "Bedaquiline" "Other antibacterials" "J04AK05" "" "c(\"bedaquiline\", \"sirturo\")" "80637-2"
+"BEK" 439318 "Bekanamycin" "Aminoglycosides" "J01GB13" "" "c(\"aminodeoxykanamycin\", \"becanamicina\", \"bekanamycin\", \"bekanamycine\", \"bekanamycinum\", \"nebramycin v\")" "character(0)"
+"BNB" "Benzathine benzylpenicillin" "Beta-lactams/penicillins" "J01CE08" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "" 3.6 "g" ""
+"BNP" 64725 "Benzathine phenoxymethylpenicillin" "Beta-lactams/penicillins" "J01CE10" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"bicillin v\", \"biphecillin\")" 2 "g" "character(0)"
+"PEN" 5904 "Benzylpenicillin" "Beta-lactams/penicillins" "c(\"J01CE01\", \"S01AA14\")" "Combinations of antibacterials" "Combinations of antibacterials" "c(\"bepe\", \"pen\", \"peni\", \"peni g\", \"penicillin\", \"penicillin g\", \"pg\")" "c(\"abbocillin\", \"ayercillin\", \"bencilpenicilina\", \"benzopenicillin\", \"benzyl penicillin\", \"benzylpenicillin\", \"benzylpenicillin g\", \"benzylpenicilline\", \"benzylpenicillinum\", \"bicillin\", \"cillora\", \"cilloral\", \"cilopen\", \"compocillin g\", \"cosmopen\", \"dropcillin\", \"free penicillin g\", \"free penicillin ii\", \"galofak\", \"gelacillin\", \"liquacillin\", \"megacillin\", \"pencillin g\", \"penicillin\", \"penicilling\", \"pentids\", \"permapen\", \"pfizerpen\", \"pfizerpen g\", \"pharmacillin\", \"pradupen\", \"specilline g\", \"ursopen\"
)" 3.6 "g" "3913-1"
-"BES" 10178705 "Besifloxacin" "Quinolones" "" "besifloxacin" "character(0)"
-"BIA" 71339 "Biapenem" "Carbapenems" "" "c(\"biapenem\", \"biapenern\", \"bipenem\", \"omegacin\")" "character(0)"
-"BCZ" 65807 "Bicyclomycin (Bicozamycin)" "Other antibacterials" "" "c(\"aizumycin\", \"bacfeed\", \"bacteron\", \"bicozamicina\", \"bicozamycin\", \"bicozamycine\", \"bicozamycinum\")" "character(0)"
-"BDP" "J01EA02" 68760 "Brodimoprim" "Trimethoprims" "Sulfonamides and trimethoprim" "Trimethoprim and derivatives" "" "c(\"brodimoprim\", \"brodimoprima\", \"brodimoprime\", \"brodimoprimum\", \"bromdimoprim\", \"hyprim\", \"unitrim\")" 0.2 "g" "character(0)"
-"BUT" 47472 "Butoconazole" "Antifungals/antimycotics" "" "c(\"butaconazole\", \"butoconazol\", \"butoconazole\", \"butoconazolum\", \"compositenstarke\", \"dahlin\", \"femstat\", \"gynofort\", \"polyfructosanum\")" "character(0)"
-"CDZ" 44242317 "Cadazolid" "Oxazolidinones" "" "cadazolid" "character(0)"
-"CLA" "J04AA03" "Calcium aminosalicylate" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Aminosalicylic acid and derivatives" "" "" 15 ""
-"CAP" "J04AB30" 135565060 "Capreomycin" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Antibiotics" "c(\"\", \"capr\")" "" 1 "g" ""
-"CRB" "J01CA03" 20824 "Carbenicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"bar\", \"carb\", \"cb\")" "c(\"anabactyl\", \"carbenicilina\", \"carbenicillin\", \"carbenicillina\", \"carbenicilline\", \"carbenicillinum\", \"geopen\", \"pyopen\")" 12 "g" "3434-8"
-"CRN" "J01CA05" 93184 "Carindacillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"carindacilina\", \"carindacillin\", \"carindacilline\", \"carindacillinum\")" 4 "g" "character(0)"
-"CAR" 6540466 "Carumonam" "Other antibacterials" "" "c(\"carumonam\", \"carumonamum\")" "character(0)"
-"CAS" "J02AX04" 2826718 "Caspofungin" "Antifungals/antimycotics" "Antimycotics for systemic use" "Other antimycotics for systemic use" "casp" "c(\"cancidas\", \"capsofungin\", \"caspofungin\")" 50 "mg" "58419-3"
-"CAC" "J01DB10" 91562 "Cefacetrile" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefacetril\", \"cefacetrile\", \"cefacetrilo\", \"cefacetrilum\", \"celospor\", \"celtol\", \"cephacetrile\", \"cristacef\", \"vetrimast\")" "character(0)"
-"CEC" "J01DC04" 51039 "Cefaclor" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"ccl\", \"cec\", \"cf\", \"cfac\", \"cfc\", \"cfcl\", \"cfr\", \"fac\")" "c(\"alenfral\", \"alfacet\", \"ceclor\", \"ceclor cd\", \"cefaclor\", \"cefaclor anhydrous\", \"cefaclor monohydrate\", \"cefacloro\", \"cefaclorum\", \"cefeaclor\", \"cephaclor\", \"dystaclor mr\", \"keflor\", \"kefral\", \"raniclor\")" 1 "g" "c(\"16564-7\", \"21149-0\")"
-"CFR" "J01DB05" 47965 "Cefadroxil" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfdx\", \"cfr\", \"fad\")" "c(\"cefadrops\", \"cefadroxil\", \"cefadroxil anhydrous\", \"cefadroxilo\", \"cefadroxilum\", \"cefradroxil\", \"cephadroxil\", \"duricef\", \"sumacef\", \"ultracef\")" 2 "g" "16565-4"
-"RID" "J01DB02" 5773 "Cefaloridine" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "cefa" "c(\"aliporina\", \"ampligram\", \"cefaloridin\", \"cefaloridina\", \"cefaloridine\", \"cefaloridinum\", \"cefalorizin\", \"ceflorin\", \"cepaloridin\", \"cepalorin\", \"cephalomycine\", \"cephaloridin\", \"cephaloridine\", \"cephaloridinum\", \"ceporan\", \"ceporin\", \"ceporine\", \"cilifor\", \"deflorin\", \"faredina\", \"floridin\", \"glaxoridin\", \"intrasporin\", \"keflodin\", \"keflordin\", \"kefloridin\", \"kefspor\", \"lloncefal\", \"loridine\", \"sasperin\", \"sefacin\", \"verolgin\", \"vioviantine\")" 3 "g" "character(0)"
-"MAN" "J01DC03" 456255 "Cefamandole" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfam\", \"cfmn\")" "c(\"cefadole\", \"cefamandol\", \"cefamandole\", \"cefamandolum\", \"cephadole\", \"cephamandole\", \"kefamandol\", \"kefdole\", \"mancef\")" 6 "g" "3441-3"
-"CTZ" "J01DB07" 6410758 "Cefatrizine" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"bricef\", \"cefatrix\", \"cefatrizine\", \"cefatrizino\", \"cefatrizinum\", \"cepticol\", \"cetrazil\", \"latocef\", \"orosporina\", \"trizina\")" 1 "g" "character(0)"
-"CZD" "J01DB06" 71736 "Cefazedone" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefazedon\", \"cefazedona\", \"cefazedone\", \"cefazedone acid\", \"cefazedonum\", \"refosporen\", \"refosporene\", \"refosporin\")" 3 "g" "character(0)"
-"CZO" "J01DB04" 33255 "Cefazolin" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfz\", \"cfzl\", \"cz\", \"czol\", \"faz\", \"kz\")" "c(\"atirin\", \"cefamezin\", \"cefamezine\", \"cefazina\", \"cefazolin\", \"cefazolin acid\", \"cefazolina\", \"cefazoline\", \"cefazolinum\", \"cephamezine\", \"cephazolidin\", \"cephazolin\", \"cephazoline\", \"elzogram\", \"firmacef\", \"kefzol\", \"liviclina\", \"totacef\")" 3 "g" "c(\"16566-2\", \"25235-3\", \"3442-1\", \"3443-9\", \"80962-4\")"
-"CFB" 127527 "Cefbuperazone" "Other antibacterials" "" "c(\"cefbuperazona\", \"cefbuperazone\", \"cefbuperazonum\", \"cefbuperzaone\", \"cerbuperazone\", \"tomiporan\")" "character(0)"
-"CCP" 6436055 "Cefcapene" "Cephalosporins (3rd gen.)" "" "c(\"cefcamate\", \"cefcapene\")" "character(0)"
-"CCX" 5282438 "Cefcapene pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefcamate pivoxil\", \"cefcapene piroxil\")" "character(0)"
-"CDR" "J01DD15" 6915944 "Cefdinir" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cd\", \"cdn\", \"cdr\", \"cfd\", \"din\")" "c(\"cefdinir\", \"cefdinirum\", \"cefdinyl\", \"cefdirnir\", \"ceftinex\", \"cefzon\", \"omnicef\")" 0.6 "g" "character(0)"
-"DIT" "J01DD16" 9870843 "Cefditoren" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "cdn" "cefditoren" 0.4 "g" "character(0)"
-"DIX" 6437877 "Cefditoren pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefditoren\", \"cefditoren pi voxil\", \"cefditoren pivoxil\", \"cefditorin\", \"cefditorin pivoxil\", \"meiact\", \"spectracef\")" "character(0)"
-"FEP" "J01DE01" 5479537 "Cefepime" "Cephalosporins (4th gen.)" "Other beta-lactam antibacterials" "Fourth-generation cephalosporins" "c(\"cfep\", \"cfpi\", \"cpe\", \"cpm\", \"fep\", \"pm\", \"xpm\")" "c(\"axepim\", \"cefepima\", \"cefepime\", \"cefepimum\", \"cepimax\", \"cepimex\", \"maxcef\", \"maxipime\")" 4 "g" "38363-8"
-"CPC" 9567559 "Cefepime/clavulanic acid" "Cephalosporins (4th gen.)" "c(\"cicl\", \"xpml\")" "" ""
-"FPT" 9567558 "Cefepime/tazobactam" "Cephalosporins (4th gen.)" "" "" ""
-"FPZ" "Cefepime/zidebactam" "Other antibacterials" "" "" ""
-"CAT" "J01DD10" 5487888 "Cefetamet" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefetamet\", \"cefetametum\", \"cepime o\", \"deacetoxycefotaxime\")" 1 "g" "character(0)"
-"CPI" 5486182 "Cefetamet pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefetamet pivoxyl\", \"globocef\")" "character(0)"
-"CCL" 71719688 "Cefetecol (Cefcatacol)" "Cephalosporins (4th gen.)" "" "" ""
-"CZL" 193956 "Cefetrizole" "Cephalosporins (unclassified gen.)" "" "c(\"cefetrizole\", \"cefetrizolum\")" "character(0)"
-"FDC" 77843966 "Cefiderocol" "Other antibacterials" "" "cefiderocol" "character(0)"
-"CFM" "J01DD08" 5362065 "Cefixime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfe\", \"cfix\", \"cfxm\", \"dcfm\", \"fix\", \"ix\")" "c(\"cefixim\", \"cefixima\", \"cefixime\", \"cefixime anhydrous\", \"cefiximum\", \"cefixoral\", \"cefspan\", \"cephoral\", \"denvar\", \"necopen\", \"suprax\", \"tricef\", \"unixime\")" 0.4 "g" "c(\"16567-0\", \"25236-1\")"
-"CMX" "J01DD05" 9570757 "Cefmenoxime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"bestron\", \"cefmax\", \"cefmenoxima\", \"cefmenoxime\", \"cefmenoximum\")" 2 "g" "character(0)"
-"CMZ" "J01DC09" 42008 "Cefmetazole" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefmetazole\", \"cefmetazolo\", \"cefmetazolum\")" 4 "g" "character(0)"
-"CNX" 71141 "Cefminox" "Other antibacterials" "" "c(\"cefminox\", \"cefminoxum\")" "character(0)"
-"DIZ" "J01DD09" 5361871 "Cefodizime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefodizima\", \"cefodizime\", \"cefodizime acid\", \"cefodizimum\", \"cefodizme\", \"diezime\", \"modivid\", \"neucef\", \"timecef\")" 2 "g" "character(0)"
-"CID" "J01DC06" 43594 "Cefonicid" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefonicid\", \"cefonicido\", \"cefonicidum\", \"monocef\")" 1 "g" "c(\"25237-9\", \"3444-7\")"
-"CFP" "J01DD12" 44187 "Cefoperazone" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfp\", \"cfpz\", \"cp\", \"cpz\", \"fop\", \"per\")" "c(\"bioperazone\", \"cefobid\", \"cefoperazine\", \"cefoperazon\", \"cefoperazone\", \"cefoperazone acid\", \"cefoperazono\", \"cefoperazonum\", \"cefozon\", \"medocef\", \"myticef\", \"pathozone\", \"peracef\")" 4 "g" "3445-4"
-"CSL" "J01DD62" "Cefoperazone/sulbactam" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "" 4 "g" ""
-"CND" "J01DC11" 43507 "Ceforanide" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"ceforanide\", \"ceforanido\", \"ceforanidum\", \"precef\", \"radacef\")" 4 "g" "character(0)"
-"CSE" 9830519 "Cefoselis" "Cephalosporins (4th gen.)" "" "c(\"cefoselis\", \"cefoselis sulfate\", \"winsef\")" "character(0)"
-"CTX" "J01DD01" 5742673 "Cefotaxime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfot\", \"cft\", \"cftx\", \"ct\", \"ctx\", \"fot\", \"tax\", \"xct\")" "c(\"cefotaxim\", \"cefotaxim hikma\", \"cefotaxima\", \"cefotaxime\", \"cefotaxime acid\", \"cefotaximum\", \"cephotaxime\", \"claforan\", \"omnatax\")" 4 "g" "c(\"25238-7\", \"3446-2\", \"80961-6\")"
-"CTC" 9575353 "Cefotaxime/clavulanic acid" "Cephalosporins (3rd gen.)" "c(\"cxcl\", \"xctl\")" "" ""
-"CTS" 9574753 "Cefotaxime/sulbactam" "Cephalosporins (3rd gen.)" "" "" ""
-"CTT" "J01DC05" 53025 "Cefotetan" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cftt\", \"cn\", \"cte\", \"ctn\", \"ctt\", \"tans\")" "c(\"apacef\", \"cefotetan\", \"cefotetan free acid\", \"cefotetanum\")" 4 "g" "c(\"25239-5\", \"3447-0\")"
-"CTF" "J01DC07" 43708 "Cefotiam" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefotiam\", \"cefotiam?\", \"cefotiamum\", \"ceradolan\", \"ceradon\", \"haloapor\")" 1.2 "g" 4 "g" "character(0)"
-"CHE" 125846 "Cefotiam hexetil" "Cephalosporins (3rd gen.)" "" "c(\"cefotiam cilexetil\", \"pansporin t\")" "character(0)"
-"FOV" 9578573 "Cefovecin" "Cephalosporins (3rd gen.)" "" "" ""
-"FOX" "J01DC01" 441199 "Cefoxitin" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfox\", \"cfx\", \"cfxt\", \"cx\", \"fox\", \"fx\")" "c(\"cefoxitin\", \"cefoxitina\", \"cefoxitine\", \"cefoxitinum\", \"cefoxotin\", \"cephoxitin\", \"mefoxin\", \"mefoxitin\", \"rephoxitin\")" 6 "g" "c(\"25240-3\", \"3448-8\")"
-"FOX1" "Cefoxitin screening" "Cephalosporins (2nd gen.)" "cfsc" "" ""
-"ZOP" 9571080 "Cefozopran" "Cephalosporins (4th gen.)" "" "cefozopran" "character(0)"
-"CFZ" 68597 "Cefpimizole" "Cephalosporins (3rd gen.)" "" "c(\"cefpimizol\", \"cefpimizole\", \"cefpimizole sodium\", \"cefpimizolum\")" "character(0)"
-"CPM" "J01DD11" 636405 "Cefpiramide" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefpiramide\", \"cefpiramide acid\", \"cefpiramido\", \"cefpiramidum\")" 2 "g" "character(0)"
-"CPO" "J01DE02" 5479539 "Cefpirome" "Cephalosporins (4th gen.)" "Other beta-lactam antibacterials" "Fourth-generation cephalosporins" "c(\"\", \"cfpr\")" "c(\"broact\", \"cefpiroma\", \"cefpirome\", \"cefpiromum\", \"cefrom\", \"cerfpirome\", \"keiten\")" 4 "g" "character(0)"
-"CPD" "J01DD13" 6335986 "Cefpodoxime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfpd\", \"cfpo\", \"cpd\", \"pod\", \"px\")" "c(\"cefpodoxim acid\", \"cefpodoxima\", \"cefpodoxime\", \"cefpodoxime acid\", \"cefpodoximum\", \"epoxim\")" 0.4 "g" "25241-1"
-"CPX" 6526396 "Cefpodoxime proxetil" "Cephalosporins (3rd gen.)" "" "c(\"cefodox\", \"cefoprox\", \"cefpodoxime proxetil\", \"cepodem\", \"orelox\", \"otreon\", \"podomexef\", \"simplicef\", \"vantin\")" "character(0)"
-"CDC" "Cefpodoxime/clavulanic acid" "Cephalosporins (3rd gen.)" "c(\"\", \"cecl\")" "" ""
-"CPR" "J01DC10" 5281006 "Cefprozil" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cpr\", \"cpz\", \"fp\")" "c(\"arzimol\", \"brisoral\", \"cefprozil\", \"cefprozil anhydrous\", \"cefprozil hydrate\", \"cefprozilo\", \"cefprozilum\", \"cefzil\", \"cronocef\", \"procef\", \"serozil\")" 1 "g" "character(0)"
-"CEQ" 5464355 "Cefquinome" "Cephalosporins (4th gen.)" "" "c(\"cefquinoma\", \"cefquinome\", \"cefquinomum\", \"cobactan\")" "character(0)"
-"CRD" "J01DB11" 5284529 "Cefroxadine" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefroxadine\", \"cefroxadino\", \"cefroxadinum\")" 2.1 "character(0)"
-"CFS" "J01DD03" 656575 "Cefsulodin" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfsl\", \"cfsu\")" "c(\"cefsulodin\", \"cefsulodine\", \"cefsulodino\", \"cefsulodinum\")" 4 "g" "c(\"131-3\", \"25242-9\")"
-"CSU" 68718 "Cefsumide" "Cephalosporins (unclassified gen.)" "" "c(\"cefsumide\", \"cefsumido\", \"cefsumidum\")" "character(0)"
-"CPT" "J01DI02" 56841980 "Ceftaroline" "Cephalosporins (5th gen.)" "c(\"\", \"cfro\")" "c(\"teflaro\", \"zinforo\")" 1.2 "character(0)"
-"CPA" "Ceftaroline/avibactam" "Cephalosporins (5th gen.)" "" "" ""
-"CAZ" "J01DD02" 5481173 "Ceftazidime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"caz\", \"cefta\", \"cfta\", \"cftz\", \"taz\", \"tz\", \"xtz\")" "c(\"ceftazidim\", \"ceftazidima\", \"ceftazidime\", \"ceftazidimum\", \"ceptaz\", \"fortaz\", \"fortum\", \"pentacef\", \"tazicef\", \"tazidime\")" 4 "g" "c(\"21151-6\", \"3449-6\", \"80960-8\")"
-"CZA" 90643431 "Ceftazidime/avibactam" "Cephalosporins (3rd gen.)" "c(\"\", \"cfav\")" "c(\"avycaz\", \"zavicefta\")" ""
-"CCV" "J01DD52" 9575352 "Ceftazidime/clavulanic acid" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"czcl\", \"xtzl\")" "" 6 "g" ""
-"CEM" 6537431 "Cefteram" "Cephalosporins (3rd gen.)" "" "c(\"cefteram\", \"cefterame\", \"cefteramum\", \"ceftetrame\")" "character(0)"
-"CPL" 5362114 "Cefteram pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefteram pivoxil\", \"tomiron\")" "character(0)"
-"CTL" "J01DB12" 65755 "Ceftezole" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"ceftezol\", \"ceftezole\", \"ceftezolo\", \"ceftezolum\", \"demethylcefazolin\")" 3 "g" "character(0)"
-"CTB" "J01DD14" 5282242 "Ceftibuten" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cb\", \"cfbu\", \"ctb\", \"tib\")" "c(\"ceftem\", \"ceftibuten\", \"ceftibuten hydrate\", \"ceftibutene\", \"ceftibuteno\", \"ceftibutenum\", \"cephem\", \"ceprifran\", \"isocef\", \"keimax\")" 0.4 "g" "character(0)"
-"TIO" 6328657 "Ceftiofur" "Cephalosporins (3rd gen.)" "" "c(\"ceftiofur\", \"ceftiofurum\", \"excede\", \"excenel\", \"naxcel\")" "character(0)"
-"CZX" "J01DD07" 6533629 "Ceftizoxime" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfzx\", \"ctz\", \"cz\", \"czx\", \"tiz\", \"zox\")" "c(\"cefizox\", \"ceftisomin\", \"ceftix\", \"ceftizoxima\", \"ceftizoxime\", \"ceftizoximum\", \"epocelin\", \"eposerin\")" 4 "g" "c(\"25243-7\", \"3450-4\")"
-"CZP" 9578661 "Ceftizoxime alapivoxil" "Cephalosporins (3rd gen.)" "" "" ""
-"BPR" 135413542 "Ceftobiprole" "Cephalosporins (5th gen.)" "" "ceftobiprole" "character(0)"
-"CFM1" "J01DI01" 135413544 "Ceftobiprole medocaril" "Cephalosporins (5th gen.)" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "" 1.5 "g" ""
-"CEI" "J01DI54" "Ceftolozane/enzyme inhibitor" "Cephalosporins (5th gen.)" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "" 3 ""
-"CZT" "Ceftolozane/tazobactam" "Cephalosporins (5th gen.)" "" "" ""
-"CRO" "J01DD04" 5479530 "Ceftriaxone" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"axo\", \"cax\", \"cftr\", \"cro\", \"ctr\", \"frx\", \"tx\")" "c(\"biotrakson\", \"cefatriaxone\", \"cefatriaxone hydrate\", \"ceftriaxon\", \"ceftriaxona\", \"ceftriaxone\", \"ceftriaxone sodium\", \"ceftriaxonum\", \"ceftriazone\", \"cephtriaxone\", \"longacef\", \"rocefin\", \"rocephalin\", \"rocephin\", \"rocephine\", \"rophex\")" 2 "g" "c(\"25244-5\", \"3451-2\", \"80957-4\")"
-"CXM" "J01DC02" 5479529 "Cefuroxime" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfrx\", \"cfur\", \"cfx\", \"crm\", \"cxm\", \"fur\", \"rox\", \"xm\")" "c(\"biofuroksym\", \"cefuril\", \"cefuroxim\", \"cefuroxime\", \"cefuroximine\", \"cefuroximo\", \"cefuroximum\", \"cephuroxime\", \"kefurox\", \"sharox\", \"zinacef\", \"zinacef danmark\")" 0.5 "g" 3 "g" "c(\"25245-2\", \"3452-0\", \"80608-3\", \"80617-4\")"
-"CXA" 6321416 "Cefuroxime axetil" "Cephalosporins (2nd gen.)" "c(\"\", \"cfax\")" "c(\"altacef\", \"bioracef\", \"cefaks\", \"cefazine\", \"ceftin\", \"cefuroximaxetil\", \"cefuroxime axetil\", \"celocid\", \"cepazine\", \"cethixim\", \"cetoxil\", \"coliofossim\", \"elobact\", \"forcef\", \"furoxime\", \"kalcef\", \"maxitil\", \"medoxm\", \"nivador\", \"zinnat\")" "character(0)"
-"CFM2" "J01RA03" "Cefuroxime/metronidazole" "Other antibacterials" "Combinations of antibacterials" "Combinations of antibacterials" "" "" ""
-"ZON" 6336505 "Cefuzonam" "Other antibacterials" "" "c(\"cefuzonam\", \"cefuzonam sodium\", \"cefuzoname\", \"cefuzonamum\")" "character(0)"
-"LEX" "J01DB01" 27447 "Cephalexin" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"\", \"cflx\")" "c(\"alcephin\", \"alexin\", \"alsporin\", \"anhydrous cefalexin\", \"anhydrous cephalexin\", \"biocef\", \"carnosporin\", \"cefablan\", \"cefadal\", \"cefadin\", \"cefadina\", \"cefaleksin\", \"cefalessina\", \"cefalexin\", \"cefalexin anhydrous\", \"cefalexina\", \"cefalexine\", \"cefalexinum\", \"cefalin\", \"cefaloto\", \"cefaseptin\", \"ceflax\", \"ceforal\", \"cefovit\", \"celexin\", \"cepastar\", \"cepexin\", \"cephacillin\", \"cephalexin\", \"cephalexin anhydrous\", \"cephalexine\", \"cephalexinum\", \"cephanasten\", \"cephaxin\", \"cephin\", \"ceporex\", \"ceporex forte\",
+"BES" 10178705 "Besifloxacin" "Quinolones" "S01AE08" "" "besifloxacin" "character(0)"
+"BIA" 71339 "Biapenem" "Carbapenems" "J01DH05" "" "c(\"biapenem\", \"biapenern\", \"bipenem\", \"omegacin\")" "character(0)"
+"BCZ" 65807 "Bicyclomycin (Bicozamycin)" "Other antibacterials" "" "c(\"aizumycin\", \"bacfeed\", \"bacteron\", \"bicozamicina\", \"bicozamycin\", \"bicozamycine\", \"bicozamycinum\")" "character(0)"
+"BDP" 68760 "Brodimoprim" "Trimethoprims" "J01EA02" "Sulfonamides and trimethoprim" "Trimethoprim and derivatives" "" "c(\"brodimoprim\", \"brodimoprima\", \"brodimoprime\", \"brodimoprimum\", \"bromdimoprim\", \"hyprim\", \"unitrim\")" 0.2 "g" "character(0)"
+"BUT" 47472 "Butoconazole" "Antifungals/antimycotics" "G01AF15" "" "c(\"butaconazole\", \"butoconazol\", \"butoconazole\", \"butoconazolum\", \"compositenstarke\", \"dahlin\", \"femstat\", \"gynofort\", \"polyfructosanum\")" "character(0)"
+"CDZ" 44242317 "Cadazolid" "Oxazolidinones" "" "cadazolid" "character(0)"
+"CLA" "Calcium aminosalicylate" "Antimycobacterials" "J04AA03" "Drugs for treatment of tuberculosis" "Aminosalicylic acid and derivatives" "" "" 15 ""
+"CAP" 135565060 "Capreomycin" "Antimycobacterials" "J04AB30" "Drugs for treatment of tuberculosis" "Antibiotics" "c(\"\", \"capr\")" "" 1 "g" ""
+"CRB" 20824 "Carbenicillin" "Beta-lactams/penicillins" "J01CA03" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"bar\", \"carb\", \"cb\")" "c(\"anabactyl\", \"carbenicilina\", \"carbenicillin\", \"carbenicillina\", \"carbenicilline\", \"carbenicillinum\", \"geopen\", \"pyopen\")" 12 "g" "3434-8"
+"CRN" 93184 "Carindacillin" "Beta-lactams/penicillins" "J01CA05" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"carindacilina\", \"carindacillin\", \"carindacilline\", \"carindacillinum\")" 4 "g" "character(0)"
+"CAR" 6540466 "Carumonam" "Other antibacterials" "J01DF02" "" "c(\"carumonam\", \"carumonamum\")" "character(0)"
+"CAS" 2826718 "Caspofungin" "Antifungals/antimycotics" "J02AX04" "Antimycotics for systemic use" "Other antimycotics for systemic use" "casp" "c(\"cancidas\", \"capsofungin\", \"caspofungin\")" 50 "mg" "58419-3"
+"CAC" 91562 "Cefacetrile" "Cephalosporins (1st gen.)" "J01DB10" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefacetril\", \"cefacetrile\", \"cefacetrilo\", \"cefacetrilum\", \"celospor\", \"celtol\", \"cephacetrile\", \"cristacef\", \"vetrimast\")" "character(0)"
+"CEC" 51039 "Cefaclor" "Cephalosporins (2nd gen.)" "J01DC04" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"ccl\", \"cec\", \"cf\", \"cfac\", \"cfc\", \"cfcl\", \"cfr\", \"fac\")" "c(\"alenfral\", \"alfacet\", \"ceclor\", \"ceclor cd\", \"cefaclor\", \"cefaclor anhydrous\", \"cefaclor monohydrate\", \"cefacloro\", \"cefaclorum\", \"cefeaclor\", \"cephaclor\", \"dystaclor mr\", \"keflor\", \"kefral\", \"raniclor\")" 1 "g" "c(\"16564-7\", \"21149-0\")"
+"CFR" 47965 "Cefadroxil" "Cephalosporins (1st gen.)" "J01DB05" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfdx\", \"cfr\", \"fad\")" "c(\"cefadrops\", \"cefadroxil\", \"cefadroxil anhydrous\", \"cefadroxilo\", \"cefadroxilum\", \"cefradroxil\", \"cephadroxil\", \"duricef\", \"sumacef\", \"ultracef\")" 2 "g" "16565-4"
+"RID" 5773 "Cefaloridine" "Cephalosporins (1st gen.)" "J01DB02" "Other beta-lactam antibacterials" "First-generation cephalosporins" "cefa" "c(\"aliporina\", \"ampligram\", \"cefaloridin\", \"cefaloridina\", \"cefaloridine\", \"cefaloridinum\", \"cefalorizin\", \"ceflorin\", \"cepaloridin\", \"cepalorin\", \"cephalomycine\", \"cephaloridin\", \"cephaloridine\", \"cephaloridinum\", \"ceporan\", \"ceporin\", \"ceporine\", \"cilifor\", \"deflorin\", \"faredina\", \"floridin\", \"glaxoridin\", \"intrasporin\", \"keflodin\", \"keflordin\", \"kefloridin\", \"kefspor\", \"lloncefal\", \"loridine\", \"sasperin\", \"sefacin\", \"verolgin\", \"vioviantine\")" 3 "g" "character(0)"
+"MAN" 456255 "Cefamandole" "Cephalosporins (2nd gen.)" "J01DC03" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfam\", \"cfmn\")" "c(\"cefadole\", \"cefamandol\", \"cefamandole\", \"cefamandolum\", \"cephadole\", \"cephamandole\", \"kefamandol\", \"kefdole\", \"mancef\")" 6 "g" "3441-3"
+"CTZ" 6410758 "Cefatrizine" "Cephalosporins (1st gen.)" "J01DB07" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"bricef\", \"cefatrix\", \"cefatrizine\", \"cefatrizino\", \"cefatrizinum\", \"cepticol\", \"cetrazil\", \"latocef\", \"orosporina\", \"trizina\")" 1 "g" "character(0)"
+"CZD" 71736 "Cefazedone" "Cephalosporins (1st gen.)" "J01DB06" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefazedon\", \"cefazedona\", \"cefazedone\", \"cefazedone acid\", \"cefazedonum\", \"refosporen\", \"refosporene\", \"refosporin\")" 3 "g" "character(0)"
+"CZO" 33255 "Cefazolin" "Cephalosporins (1st gen.)" "J01DB04" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfz\", \"cfzl\", \"cz\", \"czol\", \"faz\", \"kz\")" "c(\"atirin\", \"cefamezin\", \"cefamezine\", \"cefazina\", \"cefazolin\", \"cefazolin acid\", \"cefazolina\", \"cefazoline\", \"cefazolinum\", \"cephamezine\", \"cephazolidin\", \"cephazolin\", \"cephazoline\", \"elzogram\", \"firmacef\", \"kefzol\", \"liviclina\", \"totacef\")" 3 "g" "c(\"16566-2\", \"25235-3\", \"3442-1\", \"3443-9\", \"80962-4\")"
+"CFB" 127527 "Cefbuperazone" "Other antibacterials" "J01DC13" "" "c(\"cefbuperazona\", \"cefbuperazone\", \"cefbuperazonum\", \"cefbuperzaone\", \"cerbuperazone\", \"tomiporan\")" "character(0)"
+"CCP" 6436055 "Cefcapene" "Cephalosporins (3rd gen.)" "J01DD17" "" "c(\"cefcamate\", \"cefcapene\")" "character(0)"
+"CCX" 5282438 "Cefcapene pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefcamate pivoxil\", \"cefcapene piroxil\")" "character(0)"
+"CDR" 6915944 "Cefdinir" "Cephalosporins (3rd gen.)" "J01DD15" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cd\", \"cdn\", \"cdr\", \"cfd\", \"din\")" "c(\"cefdinir\", \"cefdinirum\", \"cefdinyl\", \"cefdirnir\", \"ceftinex\", \"cefzon\", \"omnicef\")" 0.6 "g" "character(0)"
+"DIT" 9870843 "Cefditoren" "Cephalosporins (3rd gen.)" "J01DD16" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "cdn" "cefditoren" 0.4 "g" "character(0)"
+"DIX" 6437877 "Cefditoren pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefditoren\", \"cefditoren pi voxil\", \"cefditoren pivoxil\", \"cefditorin\", \"cefditorin pivoxil\", \"meiact\", \"spectracef\")" "character(0)"
+"FEP" 5479537 "Cefepime" "Cephalosporins (4th gen.)" "J01DE01" "Other beta-lactam antibacterials" "Fourth-generation cephalosporins" "c(\"cfep\", \"cfpi\", \"cpe\", \"cpm\", \"fep\", \"pm\", \"xpm\")" "c(\"axepim\", \"cefepima\", \"cefepime\", \"cefepimum\", \"cepimax\", \"cepimex\", \"maxcef\", \"maxipime\")" 4 "g" "38363-8"
+"CPC" 9567559 "Cefepime/clavulanic acid" "Cephalosporins (4th gen.)" "c(\"cicl\", \"xpml\")" "" ""
+"FPT" 9567558 "Cefepime/tazobactam" "Cephalosporins (4th gen.)" "" "" ""
+"FPZ" "Cefepime/zidebactam" "Other antibacterials" "" "" ""
+"CAT" 5487888 "Cefetamet" "Cephalosporins (3rd gen.)" "J01DD10" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefetamet\", \"cefetametum\", \"cepime o\", \"deacetoxycefotaxime\")" 1 "g" "character(0)"
+"CPI" 5486182 "Cefetamet pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefetamet pivoxyl\", \"globocef\")" "character(0)"
+"CCL" 71719688 "Cefetecol (Cefcatacol)" "Cephalosporins (4th gen.)" "" "" ""
+"CZL" 193956 "Cefetrizole" "Cephalosporins (unclassified gen.)" "" "c(\"cefetrizole\", \"cefetrizolum\")" "character(0)"
+"FDC" 77843966 "Cefiderocol" "Other antibacterials" "J01DI04" "" "cefiderocol" "character(0)"
+"CFM" 5362065 "Cefixime" "Cephalosporins (3rd gen.)" "J01DD08" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfe\", \"cfix\", \"cfxm\", \"dcfm\", \"fix\", \"ix\")" "c(\"cefixim\", \"cefixima\", \"cefixime\", \"cefixime anhydrous\", \"cefiximum\", \"cefixoral\", \"cefspan\", \"cephoral\", \"denvar\", \"necopen\", \"suprax\", \"tricef\", \"unixime\")" 0.4 "g" "c(\"16567-0\", \"25236-1\")"
+"CMX" 9570757 "Cefmenoxime" "Cephalosporins (3rd gen.)" "J01DD05" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"bestron\", \"cefmax\", \"cefmenoxima\", \"cefmenoxime\", \"cefmenoximum\")" 2 "g" "character(0)"
+"CMZ" 42008 "Cefmetazole" "Cephalosporins (2nd gen.)" "J01DC09" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefmetazole\", \"cefmetazolo\", \"cefmetazolum\")" 4 "g" "character(0)"
+"CNX" 71141 "Cefminox" "Other antibacterials" "J01DC12" "" "c(\"cefminox\", \"cefminoxum\")" "character(0)"
+"DIZ" 5361871 "Cefodizime" "Cephalosporins (3rd gen.)" "J01DD09" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefodizima\", \"cefodizime\", \"cefodizime acid\", \"cefodizimum\", \"cefodizme\", \"diezime\", \"modivid\", \"neucef\", \"timecef\")" 2 "g" "character(0)"
+"CID" 43594 "Cefonicid" "Cephalosporins (2nd gen.)" "J01DC06" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefonicid\", \"cefonicido\", \"cefonicidum\", \"monocef\")" 1 "g" "c(\"25237-9\", \"3444-7\")"
+"CFP" 44187 "Cefoperazone" "Cephalosporins (3rd gen.)" "J01DD12" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfp\", \"cfpz\", \"cp\", \"cpz\", \"fop\", \"per\")" "c(\"bioperazone\", \"cefobid\", \"cefoperazine\", \"cefoperazon\", \"cefoperazone\", \"cefoperazone acid\", \"cefoperazono\", \"cefoperazonum\", \"cefozon\", \"medocef\", \"myticef\", \"pathozone\", \"peracef\")" 4 "g" "3445-4"
+"CSL" "Cefoperazone/sulbactam" "Cephalosporins (3rd gen.)" "J01DD62" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "" 4 "g" ""
+"CND" 43507 "Ceforanide" "Cephalosporins (2nd gen.)" "J01DC11" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"ceforanide\", \"ceforanido\", \"ceforanidum\", \"precef\", \"radacef\")" 4 "g" "character(0)"
+"CSE" 9830519 "Cefoselis" "Cephalosporins (4th gen.)" "" "c(\"cefoselis\", \"cefoselis sulfate\", \"winsef\")" "character(0)"
+"CTX" 5742673 "Cefotaxime" "Cephalosporins (3rd gen.)" "J01DD01" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfot\", \"cft\", \"cftx\", \"ct\", \"ctx\", \"fot\", \"tax\", \"xct\")" "c(\"cefotaxim\", \"cefotaxim hikma\", \"cefotaxima\", \"cefotaxime\", \"cefotaxime acid\", \"cefotaximum\", \"cephotaxime\", \"claforan\", \"omnatax\")" 4 "g" "c(\"25238-7\", \"3446-2\", \"80961-6\")"
+"CTC" 9575353 "Cefotaxime/clavulanic acid" "Cephalosporins (3rd gen.)" "c(\"cxcl\", \"xctl\")" "" ""
+"CTS" 9574753 "Cefotaxime/sulbactam" "Cephalosporins (3rd gen.)" "" "" ""
+"CTT" 53025 "Cefotetan" "Cephalosporins (2nd gen.)" "J01DC05" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cftt\", \"cn\", \"cte\", \"ctn\", \"ctt\", \"tans\")" "c(\"apacef\", \"cefotetan\", \"cefotetan free acid\", \"cefotetanum\")" 4 "g" "c(\"25239-5\", \"3447-0\")"
+"CTF" 43708 "Cefotiam" "Cephalosporins (2nd gen.)" "J01DC07" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "" "c(\"cefotiam\", \"cefotiam?\", \"cefotiamum\", \"ceradolan\", \"ceradon\", \"haloapor\")" 1.2 "g" 4 "g" "character(0)"
+"CHE" 125846 "Cefotiam hexetil" "Cephalosporins (3rd gen.)" "" "c(\"cefotiam cilexetil\", \"pansporin t\")" "character(0)"
+"FOV" 9578573 "Cefovecin" "Cephalosporins (3rd gen.)" "" "" ""
+"FOX" 441199 "Cefoxitin" "Cephalosporins (2nd gen.)" "J01DC01" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfox\", \"cfx\", \"cfxt\", \"cx\", \"fox\", \"fx\")" "c(\"cefoxitin\", \"cefoxitina\", \"cefoxitine\", \"cefoxitinum\", \"cefoxotin\", \"cephoxitin\", \"mefoxin\", \"mefoxitin\", \"rephoxitin\")" 6 "g" "c(\"25240-3\", \"3448-8\")"
+"FOX1" "Cefoxitin screening" "Cephalosporins (2nd gen.)" "cfsc" "" ""
+"ZOP" 9571080 "Cefozopran" "Cephalosporins (4th gen.)" "J01DE03" "" "cefozopran" "character(0)"
+"CFZ" 68597 "Cefpimizole" "Cephalosporins (3rd gen.)" "" "c(\"cefpimizol\", \"cefpimizole\", \"cefpimizole sodium\", \"cefpimizolum\")" "character(0)"
+"CPM" 636405 "Cefpiramide" "Cephalosporins (3rd gen.)" "J01DD11" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "" "c(\"cefpiramide\", \"cefpiramide acid\", \"cefpiramido\", \"cefpiramidum\")" 2 "g" "character(0)"
+"CPO" 5479539 "Cefpirome" "Cephalosporins (4th gen.)" "J01DE02" "Other beta-lactam antibacterials" "Fourth-generation cephalosporins" "c(\"\", \"cfpr\")" "c(\"broact\", \"cefpiroma\", \"cefpirome\", \"cefpiromum\", \"cefrom\", \"cerfpirome\", \"keiten\")" 4 "g" "character(0)"
+"CPD" 6335986 "Cefpodoxime" "Cephalosporins (3rd gen.)" "J01DD13" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfpd\", \"cfpo\", \"cpd\", \"pod\", \"px\")" "c(\"cefpodoxim acid\", \"cefpodoxima\", \"cefpodoxime\", \"cefpodoxime acid\", \"cefpodoximum\", \"epoxim\")" 0.4 "g" "25241-1"
+"CPX" 6526396 "Cefpodoxime proxetil" "Cephalosporins (3rd gen.)" "" "c(\"cefodox\", \"cefoprox\", \"cefpodoxime proxetil\", \"cepodem\", \"orelox\", \"otreon\", \"podomexef\", \"simplicef\", \"vantin\")" "character(0)"
+"CDC" "Cefpodoxime/clavulanic acid" "Cephalosporins (3rd gen.)" "c(\"\", \"cecl\")" "" ""
+"CPR" 5281006 "Cefprozil" "Cephalosporins (2nd gen.)" "J01DC10" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cpr\", \"cpz\", \"fp\")" "c(\"arzimol\", \"brisoral\", \"cefprozil\", \"cefprozil anhydrous\", \"cefprozil hydrate\", \"cefprozilo\", \"cefprozilum\", \"cefzil\", \"cronocef\", \"procef\", \"serozil\")" 1 "g" "character(0)"
+"CEQ" 5464355 "Cefquinome" "Cephalosporins (4th gen.)" "" "c(\"cefquinoma\", \"cefquinome\", \"cefquinomum\", \"cobactan\")" "character(0)"
+"CRD" 5284529 "Cefroxadine" "Cephalosporins (1st gen.)" "J01DB11" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"cefroxadine\", \"cefroxadino\", \"cefroxadinum\")" 2.1 "character(0)"
+"CFS" 656575 "Cefsulodin" "Cephalosporins (3rd gen.)" "J01DD03" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfsl\", \"cfsu\")" "c(\"cefsulodin\", \"cefsulodine\", \"cefsulodino\", \"cefsulodinum\")" 4 "g" "c(\"131-3\", \"25242-9\")"
+"CSU" 68718 "Cefsumide" "Cephalosporins (unclassified gen.)" "" "c(\"cefsumide\", \"cefsumido\", \"cefsumidum\")" "character(0)"
+"CPT" 56841980 "Ceftaroline" "Cephalosporins (5th gen.)" "J01DI02" "c(\"\", \"cfro\")" "c(\"teflaro\", \"zinforo\")" 1.2 "character(0)"
+"CPA" "Ceftaroline/avibactam" "Cephalosporins (5th gen.)" "" "" ""
+"CAZ" 5481173 "Ceftazidime" "Cephalosporins (3rd gen.)" "J01DD02" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"caz\", \"cefta\", \"cfta\", \"cftz\", \"taz\", \"tz\", \"xtz\")" "c(\"ceftazidim\", \"ceftazidima\", \"ceftazidime\", \"ceftazidimum\", \"ceptaz\", \"fortaz\", \"fortum\", \"pentacef\", \"tazicef\", \"tazidime\")" 4 "g" "c(\"21151-6\", \"3449-6\", \"80960-8\")"
+"CZA" 90643431 "Ceftazidime/avibactam" "Cephalosporins (3rd gen.)" "c(\"\", \"cfav\")" "c(\"avycaz\", \"zavicefta\")" ""
+"CCV" 9575352 "Ceftazidime/clavulanic acid" "Cephalosporins (3rd gen.)" "J01DD52" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"czcl\", \"xtzl\")" "" 6 "g" ""
+"CEM" 6537431 "Cefteram" "Cephalosporins (3rd gen.)" "J01DD18" "" "c(\"cefteram\", \"cefterame\", \"cefteramum\", \"ceftetrame\")" "character(0)"
+"CPL" 5362114 "Cefteram pivoxil" "Cephalosporins (3rd gen.)" "" "c(\"cefteram pivoxil\", \"tomiron\")" "character(0)"
+"CTL" 65755 "Ceftezole" "Cephalosporins (1st gen.)" "J01DB12" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"ceftezol\", \"ceftezole\", \"ceftezolo\", \"ceftezolum\", \"demethylcefazolin\")" 3 "g" "character(0)"
+"CTB" 5282242 "Ceftibuten" "Cephalosporins (3rd gen.)" "J01DD14" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cb\", \"cfbu\", \"ctb\", \"tib\")" "c(\"ceftem\", \"ceftibuten\", \"ceftibuten hydrate\", \"ceftibutene\", \"ceftibuteno\", \"ceftibutenum\", \"cephem\", \"ceprifran\", \"isocef\", \"keimax\")" 0.4 "g" "character(0)"
+"TIO" 6328657 "Ceftiofur" "Cephalosporins (3rd gen.)" "" "c(\"ceftiofur\", \"ceftiofurum\", \"excede\", \"excenel\", \"naxcel\")" "character(0)"
+"CZX" 6533629 "Ceftizoxime" "Cephalosporins (3rd gen.)" "J01DD07" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"cfzx\", \"ctz\", \"cz\", \"czx\", \"tiz\", \"zox\")" "c(\"cefizox\", \"ceftisomin\", \"ceftix\", \"ceftizoxima\", \"ceftizoxime\", \"ceftizoximum\", \"epocelin\", \"eposerin\")" 4 "g" "c(\"25243-7\", \"3450-4\")"
+"CZP" 9578661 "Ceftizoxime alapivoxil" "Cephalosporins (3rd gen.)" "" "" ""
+"BPR" 135413542 "Ceftobiprole" "Cephalosporins (5th gen.)" "" "ceftobiprole" "character(0)"
+"CFM1" 135413544 "Ceftobiprole medocaril" "Cephalosporins (5th gen.)" "J01DI01" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "" 1.5 "g" ""
+"CEI" "Ceftolozane/enzyme inhibitor" "Cephalosporins (5th gen.)" "J01DI54" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "" 3 ""
+"CZT" "Ceftolozane/tazobactam" "Cephalosporins (5th gen.)" "" "" ""
+"CRO" 5479530 "Ceftriaxone" "Cephalosporins (3rd gen.)" "J01DD04" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"axo\", \"cax\", \"cftr\", \"cro\", \"ctr\", \"frx\", \"tx\")" "c(\"biotrakson\", \"cefatriaxone\", \"cefatriaxone hydrate\", \"ceftriaxon\", \"ceftriaxona\", \"ceftriaxone\", \"ceftriaxone sodium\", \"ceftriaxonum\", \"ceftriazone\", \"cephtriaxone\", \"longacef\", \"rocefin\", \"rocephalin\", \"rocephin\", \"rocephine\", \"rophex\")" 2 "g" "c(\"25244-5\", \"3451-2\", \"80957-4\")"
+"CXM" 5479529 "Cefuroxime" "Cephalosporins (2nd gen.)" "c(\"J01DC02\", \"S01AA27\")" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"cfrx\", \"cfur\", \"cfx\", \"crm\", \"cxm\", \"fur\", \"rox\", \"xm\")" "c(\"biofuroksym\", \"cefuril\", \"cefuroxim\", \"cefuroxime\", \"cefuroximine\", \"cefuroximo\", \"cefuroximum\", \"cephuroxime\", \"kefurox\", \"sharox\", \"zinacef\", \"zinacef danmark\")" 0.5 "g" 3 "g" "c(\"25245-2\", \"3452-0\", \"80608-3\", \"80617-4\")"
+"CXA" 6321416 "Cefuroxime axetil" "Cephalosporins (2nd gen.)" "c(\"\", \"cfax\")" "c(\"altacef\", \"bioracef\", \"cefaks\", \"cefazine\", \"ceftin\", \"cefuroximaxetil\", \"cefuroxime axetil\", \"celocid\", \"cepazine\", \"cethixim\", \"cetoxil\", \"coliofossim\", \"elobact\", \"forcef\", \"furoxime\", \"kalcef\", \"maxitil\", \"medoxm\", \"nivador\", \"zinnat\")" "character(0)"
+"CFM2" "Cefuroxime/metronidazole" "Other antibacterials" "J01RA03" "Combinations of antibacterials" "Combinations of antibacterials" "" "" ""
+"ZON" 6336505 "Cefuzonam" "Other antibacterials" "" "c(\"cefuzonam\", \"cefuzonam sodium\", \"cefuzoname\", \"cefuzonamum\")" "character(0)"
+"LEX" 27447 "Cephalexin" "Cephalosporins (1st gen.)" "J01DB01" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"\", \"cflx\")" "c(\"alcephin\", \"alexin\", \"alsporin\", \"anhydrous cefalexin\", \"anhydrous cephalexin\", \"biocef\", \"carnosporin\", \"cefablan\", \"cefadal\", \"cefadin\", \"cefadina\", \"cefaleksin\", \"cefalessina\", \"cefalexin\", \"cefalexin anhydrous\", \"cefalexina\", \"cefalexine\", \"cefalexinum\", \"cefalin\", \"cefaloto\", \"cefaseptin\", \"ceflax\", \"ceforal\", \"cefovit\", \"celexin\", \"cepastar\", \"cepexin\", \"cephacillin\", \"cephalexin\", \"cephalexin anhydrous\", \"cephalexine\", \"cephalexinum\", \"cephanasten\", \"cephaxin\", \"cephin\", \"ceporex\", \"ceporex forte\",
\"ceporexin\", \"ceporexine\", \"cerexin\", \"cerexins\", \"cophalexin\", \"durantel\", \"durantel ds\", \"erocetin\", \"factagard\", \"felexin\", \"ibilex\", \"ibrexin\", \"inphalex\", \"kefalospes\", \"keflet\", \"keflex\", \"kefolan\", \"keforal\", \"keftab\", \"kekrinal\", \"kidolex\", \"lafarine\", \"larixin\", \"lenocef\", \"lexibiotico\", \"lonflex\", \"lopilexin\", \"madlexin\", \"mamalexin\", \"mamlexin\", \"medoxine\", \"neokef\", \"neolexina\", \"novolexin\", \"optocef\", \"oracef\", \"oriphex\", \"oroxin\", \"ortisporina\", \"ospexin\", \"palitrex\", \"panixine disperdose\",
\"pectril\", \"pyassan\", \"roceph\", \"roceph distab\", \"sanaxin\", \"sartosona\", \"sencephalin\", \"sepexin\", \"servispor\", \"sialexin\", \"sinthecillin\", \"sporicef\", \"sporidex\", \"syncle\", \"synecl\", \"tepaxin\", \"tokiolexin\", \"uphalexin\", \"voxxim\", \"winlex\", \"zozarine\")" 2 "g" "c(\"21175-5\", \"3453-8\")"
-"CEP" "J01DB03" 6024 "Cephalothin" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfal\", \"cflt\")" "c(\"cefalothin\", \"cefalotin\", \"cefalotina\", \"cefalotina fabra\", \"cefalotine\", \"cefalotinum\", \"cemastin\", \"cephalothinum\", \"cephalotin\", \"coaxin\", \"keflin\", \"seffin\")" 4 "g" "c(\"25246-0\", \"3454-6\")"
-"HAP" "J01DB08" 30699 "Cephapirin" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"ambrocef\", \"cefadyl\", \"cefapilin\", \"cefapirin\", \"cefapirina\", \"cefapirine\", \"cefapirinum\", \"cefaprin\", \"cefaprin sodium\", \"cefatrex\", \"cefatrexyl\", \"cephapirine\", \"metricure\")" 4 "g" "10980-1"
-"CED" "J01DB09" 38103 "Cephradine" "Cephalosporins (1st gen.)" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfra\", \"cfrd\")" "c(\"anspor\", \"cefradin\", \"cefradina\", \"cefradine\", \"cefradinum\", \"cekodin\", \"cephradin\", \"cephradine\", \"eskacef\", \"infexin\", \"megace f\", \"megacef\", \"sefril\", \"velocef\", \"velosef\")" 2 "g" 2 "g" "character(0)"
-"CTO" 71402 "Cetocycline" "Tetracyclines" "" "c(\"cetocycline\", \"cetocyline\", \"cetotetrine\")" "character(0)"
-"CHL" "J01BA01" 5959 "Chloramphenicol" "Amphenicols" "Amphenicols" "Amphenicols" "c(\"c\", \"chl\", \"chlo\", \"cl\")" "c(\"alficetyn\", \"ambofen\", \"amphenicol\", \"amphicol\", \"amseclor\", \"anacetin\", \"aquamycetin\", \"austracil\", \"austracol\", \"biocetin\", \"biophenicol\", \"catilan\", \"ch loramex\", \"chemiceticol\", \"chemicetin\", \"chemicetina\", \"chlomin\", \"chlomycol\", \"chloramex\", \"chloramfenikol\", \"chloramficin\", \"chloramfilin\", \"chloramphenicol\", \"chloramphenicole\", \"chloramphenicolum\", \"chloramsaar\", \"chlorasol\", \"chlorbiotic\", \"chloricol\", \"chlormycetin r\", \"chlornitromycin\", \"chloroamphenicol\", \"chlorocaps\", \"chlorocid\",
+"CEP" 6024 "Cephalothin" "Cephalosporins (1st gen.)" "J01DB03" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfal\", \"cflt\")" "c(\"cefalothin\", \"cefalotin\", \"cefalotina\", \"cefalotina fabra\", \"cefalotine\", \"cefalotinum\", \"cemastin\", \"cephalothinum\", \"cephalotin\", \"coaxin\", \"keflin\", \"seffin\")" 4 "g" "c(\"25246-0\", \"3454-6\")"
+"HAP" 30699 "Cephapirin" "Cephalosporins (1st gen.)" "J01DB08" "Other beta-lactam antibacterials" "First-generation cephalosporins" "" "c(\"ambrocef\", \"cefadyl\", \"cefapilin\", \"cefapirin\", \"cefapirina\", \"cefapirine\", \"cefapirinum\", \"cefaprin\", \"cefaprin sodium\", \"cefatrex\", \"cefatrexyl\", \"cephapirine\", \"metricure\")" 4 "g" "10980-1"
+"CED" 38103 "Cephradine" "Cephalosporins (1st gen.)" "J01DB09" "Other beta-lactam antibacterials" "First-generation cephalosporins" "c(\"cfra\", \"cfrd\")" "c(\"anspor\", \"cefradin\", \"cefradina\", \"cefradine\", \"cefradinum\", \"cekodin\", \"cephradin\", \"cephradine\", \"eskacef\", \"infexin\", \"megace f\", \"megacef\", \"sefril\", \"velocef\", \"velosef\")" 2 "g" 2 "g" "character(0)"
+"CTO" 71402 "Cetocycline" "Tetracyclines" "" "c(\"cetocycline\", \"cetocyline\", \"cetotetrine\")" "character(0)"
+"CHL" 5959 "Chloramphenicol" "Amphenicols" "c(\"D06AX02\", \"D10AF03\", \"G01AA05\", \"J01BA01\", \"S01AA01\", \"S02AA01\", \"S03AA08\")" "Amphenicols" "Amphenicols" "c(\"c\", \"chl\", \"chlo\", \"cl\")" "c(\"alficetyn\", \"ambofen\", \"amphenicol\", \"amphicol\", \"amseclor\", \"anacetin\", \"aquamycetin\", \"austracil\", \"austracol\", \"biocetin\", \"biophenicol\", \"catilan\", \"ch loramex\", \"chemiceticol\", \"chemicetin\", \"chemicetina\", \"chlomin\", \"chlomycol\", \"chloramex\", \"chloramfenikol\", \"chloramficin\", \"chloramfilin\", \"chloramphenicol\", \"chloramphenicole\", \"chloramphenicolum\", \"chloramsaar\", \"chlorasol\", \"chlorbiotic\", \"chloricol\", \"chlormycetin r\", \"chlornitromycin\", \"chloroamphenicol\", \"chlorocaps\", \"chlorocid\",
\"chlorocid s\", \"chlorocide\", \"chlorocidin c\", \"chlorocidin c tetran\", \"chlorocin\", \"chlorocol\", \"chlorofair\", \"chloroject l\", \"chloromax\", \"chloromycetin\", \"chloromycetny\", \"chloromyxin\", \"chloronitrin\", \"chloroptic\", \"chloroptic s.o.p\", \"chloroptic s.o.p.\", \"chlorovules\", \"chlorsig\", \"cidocetine\", \"ciplamycetin\", \"cloramfen\", \"cloramfenicol\", \"cloramfenicolo\", \"cloramficin\", \"cloramical\", \"cloramicol\", \"cloramidina\", \"cloranfenicol\", \"cloroamfenicolo\", \"clorocyn\", \"cloromisan\", \"cloromissan\", \"clorosintex\",
\"comycetin\", \"cylphenicol\", \"desphen\", \"detreomycin\", \"detreomycine\", \"dextromycetin\", \"doctamicina\", \"duphenicol\", \"econochlor\", \"embacetin\", \"emetren\", \"enicol\", \"enteromycetin\", \"erbaplast\", \"ertilen\", \"f armicetina\", \"farmicetina\", \"fenicol\", \"globenicol\", \"glorous\", \"halomycetin\", \"hortfenicol\", \"interomycetine\", \"intramycetin\", \"intramyctin\", \"isicetin\", \"ismicetina\", \"isophenicol\", \"isopto fenicol\", \"juvamycetin\", \"kamaver\", \"kemicetina\", \"kemicetine\", \"kloramfenikol\", \"klorita\", \"klorocid s\",
\"laevomycetinum\", \"leukamycin\", \"leukomyan\", \"leukomycin\", \"levocin\", \"levomicetina\", \"levomitsetin\", \"levomycetin\", \"levoplast\", \"levosin\", \"levovetin\", \"loromicetina\", \"loromisan\", \"loromisin\", \"mastiphen\", \"mediamycetine\", \"medichol\", \"micloretin\", \"micochlorine\", \"micoclorina\", \"microcetina\", \"mychel\", \"mycinol\", \"myclocin\", \"mycochlorin\", \"myscel\", \"normimycin v\", \"novochlorocap\", \"novomycetin\", \"novophenicol\", \"ocuphenicol\", \"oftalent\", \"oleomycetin\", \"opclor\", \"opelor\", \"ophthochlor\", \"ophthocort\",
\"ophtochlor\", \"optomycin\", \"otachron\", \"otophen\", \"pantovernil\", \"paraxin\", \"pentamycetin\", \"quemicetina\", \"rivomycin\", \"romphenil\", \"ronfenil\", \"ronphenil\", \"septicol\", \"sificetina\", \"sintomicetina\", \"sintomicetine r\", \"sno phenicol\", \"soluthor\", \"stanomycetin\", \"synthomycetin\", \"synthomycetine\", \"synthomycine\", \"syntomycin\", \"tevcocin\", \"tevcosin\", \"tifomycin\", \"tifomycine\", \"tiromycetin\", \"treomicetina\", \"unimycetin\", \"veticol\", \"vice ton\", \"viceton\")" 3 "g" 3 "g" "c(\"15101-9\", \"16603-3\", \"16604-1\", \"25247-8\", \"29214-4\", \"29346-4\", \"29347-2\", \"3455-3\")"
-"CTE" "J01AA03" 54675777 "Chlortetracycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "" "c(\"acronize\", \"aueromycin\", \"aureocina\", \"aureomycin\", \"aureomykoin\", \"biomitsin\", \"biomycin\", \"biomycin a\", \"chlormax\", \"chlorotetracycline\", \"chlortetracycline\", \"chlortetracyclinum\", \"chrysomykine\", \"clortetraciclina\", \"duomycin\", \"flamycin\", \"uromycin\")" 1 "g" "87600-3"
-"CIC" 19003 "Ciclacillin" "Beta-lactams/penicillins" "" "c(\"bastcillin\", \"calthor\", \"ciclacilina\", \"ciclacillin\", \"ciclacilline\", \"ciclacillinum\", \"ciclacillum\", \"citosarin\", \"cyclacillin\", \"cyclapen\", \"noblicil\", \"orfilina\", \"peamezin\", \"syngacillin\", \"ultracillin\", \"vastcillin\", \"vipicil\", \"wyvital\")" "character(0)"
-"CIX" "D01AE14" 47472 "Ciclopirox" "Antifungals/antimycotics" "Antifungals for topical use" "Other antifungals for topical use" "cipx" "c(\"butaconazole\", \"butoconazol\", \"butoconazole\", \"butoconazolum\", \"compositenstarke\", \"dahlin\", \"femstat\", \"gynofort\", \"polyfructosanum\")" "character(0)"
-"CIN" "J01MB06" 2762 "Cinoxacin" "Quinolones" "Quinolone antibacterials" "Other quinolones" "c(\"cino\", \"cnox\")" "c(\"azolinic acid\", \"cinobac\", \"cinobactin\", \"cinoxacin\", \"cinoxacine\", \"cinoxacino\", \"cinoxacinum\", \"clinoxacin\", \"noxigram\", \"uronorm\")" 1 "g" "character(0)"
-"CIP" "J01MA02" 2764 "Ciprofloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"ci\", \"cip\", \"cipr\", \"cp\")" "c(\"alcon cilox\", \"auripro\", \"bacquinor\", \"baflox\", \"baycip\", \"bernoflox\", \"cetraxal\", \"ciflox\", \"cifloxin\", \"ciloxan\", \"ciplus\", \"ciprecu\", \"ciprine\", \"ciprinol\", \"cipro i.v.\", \"cipro iv\", \"cipro xl\", \"cipro xr\", \"ciprobay\", \"ciprobay uro\", \"ciprocinol\", \"ciprodar\", \"ciproflox\", \"ciprofloxacin\", \"ciprofloxacina\", \"ciprofloxacine\", \"ciprofloxacino\", \"ciprofloxacinum\", \"ciprogis\", \"ciprolin\", \"ciprolon\", \"cipromycin\", \"ciproquinol\", \"ciprowin\", \"ciproxan\", \"ciproxin\", \"ciproxina\", \"ciproxine\", \"ciriax\",
+"CTE" 54675777 "Chlortetracycline" "Tetracyclines" "c(\"A01AB21\", \"D06AA02\", \"J01AA03\", \"S01AA02\")" "Tetracyclines" "Tetracyclines" "" "c(\"acronize\", \"aueromycin\", \"aureocina\", \"aureomycin\", \"aureomykoin\", \"biomitsin\", \"biomycin\", \"biomycin a\", \"chlormax\", \"chlorotetracycline\", \"chlortetracycline\", \"chlortetracyclinum\", \"chrysomykine\", \"clortetraciclina\", \"duomycin\", \"flamycin\", \"uromycin\")" 1 "g" "87600-3"
+"CIC" 19003 "Ciclacillin" "Beta-lactams/penicillins" "" "c(\"bastcillin\", \"calthor\", \"ciclacilina\", \"ciclacillin\", \"ciclacilline\", \"ciclacillinum\", \"ciclacillum\", \"citosarin\", \"cyclacillin\", \"cyclapen\", \"noblicil\", \"orfilina\", \"peamezin\", \"syngacillin\", \"ultracillin\", \"vastcillin\", \"vipicil\", \"wyvital\")" "character(0)"
+"CIX" 47472 "Ciclopirox" "Antifungals/antimycotics" "c(\"D01AE14\", \"G01AX12\")" "Antifungals for topical use" "Other antifungals for topical use" "cipx" "c(\"butaconazole\", \"butoconazol\", \"butoconazole\", \"butoconazolum\", \"compositenstarke\", \"dahlin\", \"femstat\", \"gynofort\", \"polyfructosanum\")" "character(0)"
+"CIN" 2762 "Cinoxacin" "Quinolones" "J01MB06" "Quinolone antibacterials" "Other quinolones" "c(\"cino\", \"cnox\")" "c(\"azolinic acid\", \"cinobac\", \"cinobactin\", \"cinoxacin\", \"cinoxacine\", \"cinoxacino\", \"cinoxacinum\", \"clinoxacin\", \"noxigram\", \"uronorm\")" 1 "g" "character(0)"
+"CIP" 2764 "Ciprofloxacin" "Quinolones" "c(\"J01MA02\", \"S01AE03\", \"S02AA15\", \"S03AA07\")" "Quinolone antibacterials" "Fluoroquinolones" "c(\"ci\", \"cip\", \"cipr\", \"cp\")" "c(\"alcon cilox\", \"auripro\", \"bacquinor\", \"baflox\", \"baycip\", \"bernoflox\", \"cetraxal\", \"ciflox\", \"cifloxin\", \"ciloxan\", \"ciplus\", \"ciprecu\", \"ciprine\", \"ciprinol\", \"cipro i.v.\", \"cipro iv\", \"cipro xl\", \"cipro xr\", \"ciprobay\", \"ciprobay uro\", \"ciprocinol\", \"ciprodar\", \"ciproflox\", \"ciprofloxacin\", \"ciprofloxacina\", \"ciprofloxacine\", \"ciprofloxacino\", \"ciprofloxacinum\", \"ciprogis\", \"ciprolin\", \"ciprolon\", \"cipromycin\", \"ciproquinol\", \"ciprowin\", \"ciproxan\", \"ciproxin\", \"ciproxina\", \"ciproxine\", \"ciriax\",
\"citopcin\", \"corsacin\", \"cyprobay\", \"fimoflox\", \"flociprin\", \"ipiflox\", \"italnik\", \"linhaliq\", \"otiprio\", \"probiox\", \"proflaxin\", \"quinolid\", \"quintor\", \"rancif\", \"roxytal\", \"septicide\", \"sophixin ofteno\", \"spitacin\", \"superocin\", \"velmonit\", \"velomonit\", \"zumaflox\")" 1 "g" 0.8 "g" "c(\"14031-9\", \"14032-7\", \"14058-2\", \"14059-0\", \"25248-6\", \"34636-1\", \"3484-3\")"
-"CLR" "J01FA09" 84029 "Clarithromycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"ch\", \"cla\", \"clar\", \"clm\", \"clr\")" "c(\"abbotic\", \"astromen\", \"biaxin\", \"biaxin filmtab\", \"biaxin hp\", \"biaxin xl\", \"biaxin xl filmtab\", \"bicrolid\", \"clacee\", \"clacid\", \"clacine\", \"clambiotic\", \"clarem\", \"claribid\", \"claricide\", \"claridar\", \"claripen\", \"clarith\", \"clarithromycin\", \"clarithromycine\", \"clarithromycinum\", \"claritromicina\", \"clathromycin\", \"crixan\", \"cyllid\", \"cyllind\", \"fromilid\", \"heliclar\", \"klabax\", \"klacid\", \"klaciped\", \"klaricid\", \"klaricid h.p\", \"klaricid h.p.\", \"klaricid pediatric\", \"klaricid xl\", \"klarid\", \"klarin\",
+"CLR" 84029 "Clarithromycin" "Macrolides/lincosamides" "J01FA09" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"ch\", \"cla\", \"clar\", \"clm\", \"clr\")" "c(\"abbotic\", \"astromen\", \"biaxin\", \"biaxin filmtab\", \"biaxin hp\", \"biaxin xl\", \"biaxin xl filmtab\", \"bicrolid\", \"clacee\", \"clacid\", \"clacine\", \"clambiotic\", \"clarem\", \"claribid\", \"claricide\", \"claridar\", \"claripen\", \"clarith\", \"clarithromycin\", \"clarithromycine\", \"clarithromycinum\", \"claritromicina\", \"clathromycin\", \"crixan\", \"cyllid\", \"cyllind\", \"fromilid\", \"heliclar\", \"klabax\", \"klacid\", \"klaciped\", \"klaricid\", \"klaricid h.p\", \"klaricid h.p.\", \"klaricid pediatric\", \"klaricid xl\", \"klarid\", \"klarin\",
\"kofron\", \"mabicrol\", \"macladin\", \"maclar\", \"veclam\", \"vikrol\", \"zeclar\")" 0.5 "g" 1 "g" "c(\"16619-9\", \"25253-6\", \"34638-7\", \"80559-8\")"
-"CLA1" 5280980 "Clavulanic acid" "Other antibacterials" "" "c(\"acide clavulanique\", \"acido clavulanico\", \"acidum clavulanicum\", \"clavulanate\", \"clavulanate acid\", \"clavulanate lithium\", \"clavulanic acid\", \"clavulansaeure\", \"clavulansaure\", \"clavulinic acid\", \"clavulox\", \"sodium clavulanate\")" "character(0)"
-"CLX" 60063 "Clinafloxacin" "Quinolones" "" "clinafloxacin" "character(0)"
-"CLI" "J01FF01" 446598 "Clindamycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Lincosamides" "c(\"cc\", \"cd\", \"cli\", \"clin\", \"cm\", \"da\")" "c(\"antirobe\", \"chlolincocin\", \"clindaderm\", \"clindamicina\", \"clindamycin\", \"clindamycine\", \"clindamycinum\", \"clinimycin\", \"dalacin c\", \"dalacine\", \"klimicin\", \"sobelin\")" 1.2 "g" 1.8 "g" "c(\"16621-5\", \"16622-3\", \"25249-4\", \"3486-8\")"
-"CLF" "J04BA01" 2794 "Clofazimine" "Antimycobacterials" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "clof" "c(\"chlofazimine\", \"clofazimin\", \"clofazimina\", \"clofazimine\", \"clofaziminum\", \"lampren\", \"lamprene\", \"riminophenazine\")" 0.1 "g" "character(0)"
-"CLF1" "J01XX03" 2799 "Clofoctol" "Other antibacterials" "Other antibacterials" "Other antibacterials" "" "c(\"clofoctol\", \"clofoctolo\", \"clofoctolum\", \"gramplus\", \"octofene\")" "character(0)"
-"CLM" "J01CE07" 71807 "Clometocillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"chlomethocillin\", \"clometacillin\", \"clometocilina\", \"clometocillin\", \"clometocilline\", \"clometocillinum\", \"rixapen\")" 1 "g" "character(0)"
-"CLM1" "J01AA11" 54680675 "Clomocycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "" "c(\"chlormethylencycline\", \"clomociclina\", \"clomocyclin\", \"clomocycline\", \"clomocyclinum\", \"megaclor\")" 1 "g" "character(0)"
-"CTR" "G01AF02" 2812 "Clotrimazole" "Antifungals/antimycotics" "clot" "c(\"canesten\", \"canesten cream\", \"canesten solution\", \"canestene\", \"canestine\", \"canifug\", \"chlotrimazole\", \"cimitidine\", \"clomatin\", \"clotrimaderm\", \"clotrimaderm cream\", \"clotrimazol\", \"clotrimazole\", \"clotrimazolum\", \"cutistad\", \"desamix f\", \"diphenylmethane\", \"empecid\", \"esparol\", \"fem care\", \"femcare\", \"gyne lotrimin\", \"jidesheng\", \"kanesten\", \"klotrimazole\", \"lotrimax\", \"lotrimin\", \"lotrimin af\", \"lotrimin af cream\", \"lotrimin af lotion\", \"lotrimin af solution\", \"lotrimin cream\", \"lotrimin lotion\",
+"CLA1" 5280980 "Clavulanic acid" "Other antibacterials" "" "c(\"acide clavulanique\", \"acido clavulanico\", \"acidum clavulanicum\", \"clavulanate\", \"clavulanate acid\", \"clavulanate lithium\", \"clavulanic acid\", \"clavulansaeure\", \"clavulansaure\", \"clavulinic acid\", \"clavulox\", \"sodium clavulanate\")" "character(0)"
+"CLX" 60063 "Clinafloxacin" "Quinolones" "" "clinafloxacin" "character(0)"
+"CLI" 446598 "Clindamycin" "Macrolides/lincosamides" "c(\"D10AF01\", \"G01AA10\", \"J01FF01\")" "Macrolides, lincosamides and streptogramins" "Lincosamides" "c(\"cc\", \"cd\", \"cli\", \"clin\", \"cm\", \"da\")" "c(\"antirobe\", \"chlolincocin\", \"clindaderm\", \"clindamicina\", \"clindamycin\", \"clindamycine\", \"clindamycinum\", \"clinimycin\", \"dalacin c\", \"dalacine\", \"klimicin\", \"sobelin\")" 1.2 "g" 1.8 "g" "c(\"16621-5\", \"16622-3\", \"25249-4\", \"3486-8\")"
+"CLF" 2794 "Clofazimine" "Antimycobacterials" "J04BA01" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "clof" "c(\"chlofazimine\", \"clofazimin\", \"clofazimina\", \"clofazimine\", \"clofaziminum\", \"lampren\", \"lamprene\", \"riminophenazine\")" 0.1 "g" "character(0)"
+"CLF1" 2799 "Clofoctol" "Other antibacterials" "J01XX03" "Other antibacterials" "Other antibacterials" "" "c(\"clofoctol\", \"clofoctolo\", \"clofoctolum\", \"gramplus\", \"octofene\")" "character(0)"
+"CLM" 71807 "Clometocillin" "Beta-lactams/penicillins" "J01CE07" "Beta-lactam antibacterials, penicillins" "Beta-lactamase sensitive penicillins" "" "c(\"chlomethocillin\", \"clometacillin\", \"clometocilina\", \"clometocillin\", \"clometocilline\", \"clometocillinum\", \"rixapen\")" 1 "g" "character(0)"
+"CLM1" 54680675 "Clomocycline" "Tetracyclines" "J01AA11" "Tetracyclines" "Tetracyclines" "" "c(\"chlormethylencycline\", \"clomociclina\", \"clomocyclin\", \"clomocycline\", \"clomocyclinum\", \"megaclor\")" 1 "g" "character(0)"
+"CTR" 2812 "Clotrimazole" "Antifungals/antimycotics" "c(\"A01AB18\", \"D01AC01\", \"G01AF02\")" "clot" "c(\"canesten\", \"canesten cream\", \"canesten solution\", \"canestene\", \"canestine\", \"canifug\", \"chlotrimazole\", \"cimitidine\", \"clomatin\", \"clotrimaderm\", \"clotrimaderm cream\", \"clotrimazol\", \"clotrimazole\", \"clotrimazolum\", \"cutistad\", \"desamix f\", \"diphenylmethane\", \"empecid\", \"esparol\", \"fem care\", \"femcare\", \"gyne lotrimin\", \"jidesheng\", \"kanesten\", \"klotrimazole\", \"lotrimax\", \"lotrimin\", \"lotrimin af\", \"lotrimin af cream\", \"lotrimin af lotion\", \"lotrimin af solution\", \"lotrimin cream\", \"lotrimin lotion\",
\"lotrimin solution\", \"monobaycuten\", \"mycelax\", \"mycelex\", \"mycelex cream\", \"mycelex g\", \"mycelex otc\", \"mycelex solution\", \"mycelex troches\", \"mycelex twin pack\", \"myclo cream\", \"myclo solution\", \"myclo spray solution\", \"mycofug\", \"mycosporin\", \"mykosporin\", \"nalbix\", \"otomax\", \"pedisafe\", \"rimazole\", \"stiemazol\", \"tibatin\", \"trimysten\", \"veltrim\")" "character(0)"
-"CLO" "J01CF02" 6098 "Cloxacillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"\", \"clox\")" "c(\"chloroxacillin\", \"clossacillina\", \"cloxacilina\", \"cloxacillin\", \"cloxacillin sodium\", \"cloxacilline\", \"cloxacillinna\", \"cloxacillinum\", \"cloxapen\", \"methocillin s\", \"orbenin\", \"syntarpen\", \"tegopen\")" 2 "g" 2 "g" "c(\"16628-0\", \"25250-2\")"
-"COL" "J01XB01" 5311054 "Colistin" "Polymyxins" "Other antibacterials" "Polymyxins" "c(\"cl\", \"coli\", \"cs\", \"cst\", \"ct\")" "c(\"belcomycine\", \"colimycin\", \"colimycin sulphate\", \"colisticin\", \"colistimethate\", \"colistimethate sodium\", \"colistin sulfate\", \"colistin sulphate\", \"colomycin\", \"coly-mycin\", \"polymyxin e\", \"polymyxin e. sulfate\", \"promixin\", \"totazina\")" 9 "MU" "c(\"16645-4\", \"29493-4\")"
-"COP" "Colistin/polysorbate" "Other antibacterials" "" "" ""
-"CYC" "J04AB01" 6234 "Cycloserine" "Oxazolidinones" "Drugs for treatment of tuberculosis" "Antibiotics" "cycl" "c(\"cicloserina\", \"closerin\", \"closina\", \"cyclorin\", \"cycloserin\", \"cycloserine\", \"cycloserinum\", \"farmiserina\", \"micoserina\", \"miroserina\", \"miroseryn\", \"novoserin\", \"oxamicina\", \"oxamycin\", \"seromycin\", \"tebemicina\", \"tisomycin\", \"wasserina\")" 0.75 "g" "c(\"16702-3\", \"25251-0\", \"3519-6\")"
-"DAL" "J01XA04" 23724878 "Dalbavancin" "Glycopeptides" "Other antibacterials" "Glycopeptide antibacterials" "dalb" "c(\"dalbavancin\", \"dalvance\")" 1.5 "character(0)"
-"DAN" 71335 "Danofloxacin" "Quinolones" "" "c(\"advocin\", \"danofloxacin\", \"danofloxacine\", \"danofloxacino\", \"danofloxacinum\")" "character(0)"
-"DPS" "J04BA02" 2955 "Dapsone" "Other antibacterials" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "" "c(\"aczone\", \"araldite ht\", \"atrisone\", \"avlosulfon\", \"avlosulfone\", \"avlosulphone\", \"avsulfor\", \"bis sulfone\", \"bissulfone\", \"bissulphone\", \"croysulfone\", \"croysulphone\", \"dapson\", \"dapsona\", \"dapsone\", \"dapsonum\", \"di sulfone\", \"diaphenyl sulfone\", \"diaphenylsulfon\", \"diaphenylsulfone\", \"diaphenylsulphon\", \"diaphenylsulphone\", \"dimitone\", \"diphenasone\", \"diphone\", \"disulfone\", \"disulone\", \"disulphone\", \"dubronax\", \"dubronaz\", \"dumitone\", \"eporal\", \"metabolite c\", \"novophone\", \"protogen\", \"servidapson\",
+"CLO" 6098 "Cloxacillin" "Beta-lactams/penicillins" "J01CF02" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"\", \"clox\")" "c(\"chloroxacillin\", \"clossacillina\", \"cloxacilina\", \"cloxacillin\", \"cloxacillin sodium\", \"cloxacilline\", \"cloxacillinna\", \"cloxacillinum\", \"cloxapen\", \"methocillin s\", \"orbenin\", \"syntarpen\", \"tegopen\")" 2 "g" 2 "g" "c(\"16628-0\", \"25250-2\")"
+"COL" 5311054 "Colistin" "Polymyxins" "c(\"A07AA10\", \"J01XB01\")" "Other antibacterials" "Polymyxins" "c(\"cl\", \"coli\", \"cs\", \"cst\", \"ct\")" "c(\"belcomycine\", \"colimycin\", \"colimycin sulphate\", \"colisticin\", \"colistimethate\", \"colistimethate sodium\", \"colistin sulfate\", \"colistin sulphate\", \"colomycin\", \"coly-mycin\", \"polymyxin e\", \"polymyxin e. sulfate\", \"promixin\", \"totazina\")" 9 "MU" "c(\"16645-4\", \"29493-4\")"
+"COP" "Colistin/polysorbate" "Other antibacterials" "" "" ""
+"CYC" 6234 "Cycloserine" "Oxazolidinones" "J04AB01" "Drugs for treatment of tuberculosis" "Antibiotics" "cycl" "c(\"cicloserina\", \"closerin\", \"closina\", \"cyclorin\", \"cycloserin\", \"cycloserine\", \"cycloserinum\", \"farmiserina\", \"micoserina\", \"miroserina\", \"miroseryn\", \"novoserin\", \"oxamicina\", \"oxamycin\", \"seromycin\", \"tebemicina\", \"tisomycin\", \"wasserina\")" 0.75 "g" "c(\"16702-3\", \"25251-0\", \"3519-6\")"
+"DAL" 23724878 "Dalbavancin" "Glycopeptides" "J01XA04" "Other antibacterials" "Glycopeptide antibacterials" "dalb" "c(\"dalbavancin\", \"dalvance\")" 1.5 "character(0)"
+"DAN" 71335 "Danofloxacin" "Quinolones" "" "c(\"advocin\", \"danofloxacin\", \"danofloxacine\", \"danofloxacino\", \"danofloxacinum\")" "character(0)"
+"DPS" 2955 "Dapsone" "Other antibacterials" "c(\"D10AX05\", \"J04BA02\")" "Drugs for treatment of lepra" "Drugs for treatment of lepra" "" "c(\"aczone\", \"araldite ht\", \"atrisone\", \"avlosulfon\", \"avlosulfone\", \"avlosulphone\", \"avsulfor\", \"bis sulfone\", \"bissulfone\", \"bissulphone\", \"croysulfone\", \"croysulphone\", \"dapson\", \"dapsona\", \"dapsone\", \"dapsonum\", \"di sulfone\", \"diaphenyl sulfone\", \"diaphenylsulfon\", \"diaphenylsulfone\", \"diaphenylsulphon\", \"diaphenylsulphone\", \"dimitone\", \"diphenasone\", \"diphone\", \"disulfone\", \"disulone\", \"disulphone\", \"dubronax\", \"dubronaz\", \"dumitone\", \"eporal\", \"metabolite c\", \"novophone\", \"protogen\", \"servidapson\",
\"slphadione\", \"sulfadione\", \"sulfona\", \"sulfone ucb\", \"sulfonyldianiline\", \"sulphadione\", \"sulphonyldianiline\", \"sumicure s\", \"tarimyl\", \"udolac\", \"wln: zr dswr dz\")" 50 "mg" "9747-7"
-"DAP" "J01XX09" 16134395 "Daptomycin" "Other antibacterials" "Other antibacterials" "Other antibacterials" "c(\"dap\", \"dapt\")" "c(\"cidecin\", \"cubicin\", \"dapcin\", \"daptomicina\", \"daptomycine\", \"daptomycinum\")" 0.28 "g" "character(0)"
-"DFX" 487101 "Delafloxacin" "Quinolones" "" "c(\"baxdela\", \"delafloxacin\", \"delafloxacinum\")" "character(0)"
-"DLM" "J04AK06" 6480466 "Delamanid" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "dela" "c(\"delamanid\", \"deltyba\")" 0.2 "character(0)"
-"DEM" "J01AA01" 54680690 "Demeclocycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "" "c(\"bioterciclin\", \"clortetrin\", \"deganol\", \"demeclociclina\", \"demeclocycline\", \"demeclocyclinum\", \"demeclor\", \"demetraclin\", \"diuciclin\", \"elkamicina\", \"ledermycin\", \"mexocine\", \"novotriclina\", \"perciclina\", \"sumaclina\")" 0.6 "g" "c(\"10982-7\", \"29494-2\")"
-"DKB" "J01GB09" 470999 "Dibekacin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "" "c(\"debecacin\", \"dibekacin\", \"dibekacin sulfate\", \"dibekacina\", \"dibekacine\", \"dibekacinum\", \"dideoxykanamycin b\", \"kappati\", \"orbicin\", \"panamicin\")" 0.14 "g" "character(0)"
-"DIC" "J01CF01" 18381 "Dicloxacillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"\", \"dicl\")" "c(\"dichloroxacillin\", \"diclossacillina\", \"dicloxaciclin\", \"dicloxacilin\", \"dicloxacilina\", \"dicloxacillin\", \"dicloxacillin sodium\", \"dicloxacillina\", \"dicloxacilline\", \"dicloxacillinum\", \"dicloxacycline\", \"dycill\", \"dynapen\", \"maclicine\", \"nm|| dicloxacillin\", \"pathocil\")" 2 "g" 2 "g" "c(\"10984-3\", \"16769-2\", \"25252-8\")"
-"DIF" 56206 "Difloxacin" "Quinolones" "" "difloxacin" "character(0)"
-"DIR" "J01FA13" 6473883 "Dirithromycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"dirithromycin\", \"dirithromycine\", \"dirithromycinum\", \"diritromicina\", \"divitross\", \"dynabac\", \"noriclan\", \"valodin\")" 0.5 "g" "character(0)"
-"DOR" "J01DH04" 73303 "Doripenem" "Carbapenems" "Other beta-lactam antibacterials" "Carbapenems" "dori" "c(\"doribax\", \"doripenem\", \"doripenem hydrate\", \"finibax\")" 1.5 "character(0)"
-"DOX" "J01AA02" 54671203 "Doxycycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "c(\"dox\", \"doxy\")" "c(\"atridox\", \"azudoxat\", \"deoxymykoin\", \"dossiciclina\", \"doxcycline anhydrous\", \"doxiciclina\", \"doxitard\", \"doxivetin\", \"doxycen\", \"doxychel\", \"doxycin\", \"doxycyclin\", \"doxycycline\", \"doxycycline calcium\", \"doxycycline hyclate\", \"doxycyclinum\", \"doxylin\", \"doxysol\", \"doxytec\", \"doxytetracycline\", \"hydramycin\", \"investin\", \"jenacyclin\", \"liviatin\", \"monodox\", \"oracea\", \"periostat\", \"ronaxan\", \"spanor\", \"supracyclin\", \"vibramycin\", \"vibramycin novum\", \"vibramycine\", \"vibravenos\", \"zenavod\")" 0.1 "g" 0.1 "g" "c(\"10986-8\", \"21250-6\", \"26902-7\")"
-"ECO" "D01AC03" 3198 "Econazole" "Antifungals/antimycotics" "Antifungals for topical use" "Imidazole and triazole derivatives" "econ" "c(\"econazol\", \"econazole\", \"econazolum\", \"ecostatin\", \"ecostatin cream\", \"palavale\", \"pevaryl\", \"spectazole\", \"spectazole cream\")" "character(0)"
-"ENX" "J01MA04" 3229 "Enoxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"enox\")" "c(\"almitil\", \"bactidan\", \"bactidron\", \"comprecin\", \"enofloxacine\", \"enoksetin\", \"enoram\", \"enoxacin\", \"enoxacina\", \"enoxacine\", \"enoxacino\", \"enoxacinum\", \"enoxen\", \"enoxin\", \"enoxor\", \"flumark\", \"penetrex\")" 0.8 "g" "c(\"16816-1\", \"3590-7\")"
-"ENR" 71188 "Enrofloxacin" "Quinolones" "" "c(\"baytril\", \"enrofloxacin\", \"enrofloxacine\", \"enrofloxacino\", \"enrofloxacinum\")" "character(0)"
-"ENV" 135565326 "Enviomycin (Tuberactinomycin)" "Antimycobacterials" "" "c(\"enviomicina\", \"enviomycin\", \"enviomycina\", \"enviomycinum\")" "character(0)"
-"EPE" "Eperozolid" "Other antibacterials" "" "" ""
-"EPC" "J01CA07" 71392 "Epicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"dexacillin\", \"dihydroampicillin\", \"epicilina\", \"epicillin\", \"epicilline\", \"epicillinum\")" 2 "g" 2 "g" "character(0)"
-"EPP" 68916 "Epiroprim" "Other antibacterials" "" "c(\"epiroprim\", \"epiroprima\", \"epiroprime\", \"epiroprimum\")" "character(0)"
-"ERV" "J01AA13" 54726192 "Eravacycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "erav" "eravacycline" "character(0)"
-"ETP" "J01DH03" 150610 "Ertapenem" "Carbapenems" "Other beta-lactam antibacterials" "Carbapenems" "c(\"erta\", \"etp\")" "c(\"ertapenem\", \"invanz\")" 1 "g" "character(0)"
-"ERY" "J01FA01" 12560 "Erythromycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"e\", \"em\", \"ery\", \"eryt\")" "c(\"abboticin\", \"abomacetin\", \"acneryne\", \"acnesol\", \"akne cordes losung\", \"aknederm ery gel\", \"aknemycin\", \"austrias\", \"benzamycin\", \"derimer\", \"deripil\", \"dotycin\", \"dumotrycin\", \"emuvin\", \"emycin\", \"endoeritrin\", \"erecin\", \"erisone\", \"eritomicina\", \"eritrocina\", \"eritromicina\", \"ermycin\", \"eryacne\", \"eryacnen\", \"eryc sprinkles\", \"erycen\", \"erycette\", \"erycin\", \"erycinum\", \"eryderm\", \"erydermer\", \"erygel\", \"eryhexal\", \"erymax\", \"erymed\", \"erysafe\", \"erytab\", \"erythrocin\", \"erythrocin stearate\",
+"DAP" 16134395 "Daptomycin" "Other antibacterials" "J01XX09" "Other antibacterials" "Other antibacterials" "c(\"dap\", \"dapt\")" "c(\"cidecin\", \"cubicin\", \"dapcin\", \"daptomicina\", \"daptomycine\", \"daptomycinum\")" 0.28 "g" "character(0)"
+"DFX" 487101 "Delafloxacin" "Quinolones" "J01MA23" "" "c(\"baxdela\", \"delafloxacin\", \"delafloxacinum\")" "character(0)"
+"DLM" 6480466 "Delamanid" "Antimycobacterials" "J04AK06" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "dela" "c(\"delamanid\", \"deltyba\")" 0.2 "character(0)"
+"DEM" 54680690 "Demeclocycline" "Tetracyclines" "c(\"D06AA01\", \"J01AA01\")" "Tetracyclines" "Tetracyclines" "" "c(\"bioterciclin\", \"clortetrin\", \"deganol\", \"demeclociclina\", \"demeclocycline\", \"demeclocyclinum\", \"demeclor\", \"demetraclin\", \"diuciclin\", \"elkamicina\", \"ledermycin\", \"mexocine\", \"novotriclina\", \"perciclina\", \"sumaclina\")" 0.6 "g" "c(\"10982-7\", \"29494-2\")"
+"DKB" 470999 "Dibekacin" "Aminoglycosides" "J01GB09" "Aminoglycoside antibacterials" "Other aminoglycosides" "" "c(\"debecacin\", \"dibekacin\", \"dibekacin sulfate\", \"dibekacina\", \"dibekacine\", \"dibekacinum\", \"dideoxykanamycin b\", \"kappati\", \"orbicin\", \"panamicin\")" 0.14 "g" "character(0)"
+"DIC" 18381 "Dicloxacillin" "Beta-lactams/penicillins" "J01CF01" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"\", \"dicl\")" "c(\"dichloroxacillin\", \"diclossacillina\", \"dicloxaciclin\", \"dicloxacilin\", \"dicloxacilina\", \"dicloxacillin\", \"dicloxacillin sodium\", \"dicloxacillina\", \"dicloxacilline\", \"dicloxacillinum\", \"dicloxacycline\", \"dycill\", \"dynapen\", \"maclicine\", \"nm|| dicloxacillin\", \"pathocil\")" 2 "g" 2 "g" "c(\"10984-3\", \"16769-2\", \"25252-8\")"
+"DIF" 56206 "Difloxacin" "Quinolones" "" "difloxacin" "character(0)"
+"DIR" 6473883 "Dirithromycin" "Macrolides/lincosamides" "J01FA13" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"dirithromycin\", \"dirithromycine\", \"dirithromycinum\", \"diritromicina\", \"divitross\", \"dynabac\", \"noriclan\", \"valodin\")" 0.5 "g" "character(0)"
+"DOR" 73303 "Doripenem" "Carbapenems" "J01DH04" "Other beta-lactam antibacterials" "Carbapenems" "dori" "c(\"doribax\", \"doripenem\", \"doripenem hydrate\", \"finibax\")" 1.5 "character(0)"
+"DOX" 54671203 "Doxycycline" "Tetracyclines" "c(\"A01AB22\", \"J01AA02\")" "Tetracyclines" "Tetracyclines" "c(\"dox\", \"doxy\")" "c(\"atridox\", \"azudoxat\", \"deoxymykoin\", \"dossiciclina\", \"doxcycline anhydrous\", \"doxiciclina\", \"doxitard\", \"doxivetin\", \"doxycen\", \"doxychel\", \"doxycin\", \"doxycyclin\", \"doxycycline\", \"doxycycline calcium\", \"doxycycline hyclate\", \"doxycyclinum\", \"doxylin\", \"doxysol\", \"doxytec\", \"doxytetracycline\", \"hydramycin\", \"investin\", \"jenacyclin\", \"liviatin\", \"monodox\", \"oracea\", \"periostat\", \"ronaxan\", \"spanor\", \"supracyclin\", \"vibramycin\", \"vibramycin novum\", \"vibramycine\", \"vibravenos\", \"zenavod\")" 0.1 "g" 0.1 "g" "c(\"10986-8\", \"21250-6\", \"26902-7\")"
+"ECO" 3198 "Econazole" "Antifungals/antimycotics" "c(\"D01AC03\", \"G01AF05\")" "Antifungals for topical use" "Imidazole and triazole derivatives" "econ" "c(\"econazol\", \"econazole\", \"econazolum\", \"ecostatin\", \"ecostatin cream\", \"palavale\", \"pevaryl\", \"spectazole\", \"spectazole cream\")" "character(0)"
+"ENX" 3229 "Enoxacin" "Quinolones" "J01MA04" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"enox\")" "c(\"almitil\", \"bactidan\", \"bactidron\", \"comprecin\", \"enofloxacine\", \"enoksetin\", \"enoram\", \"enoxacin\", \"enoxacina\", \"enoxacine\", \"enoxacino\", \"enoxacinum\", \"enoxen\", \"enoxin\", \"enoxor\", \"flumark\", \"penetrex\")" 0.8 "g" "c(\"16816-1\", \"3590-7\")"
+"ENR" 71188 "Enrofloxacin" "Quinolones" "" "c(\"baytril\", \"enrofloxacin\", \"enrofloxacine\", \"enrofloxacino\", \"enrofloxacinum\")" "character(0)"
+"ENV" 135565326 "Enviomycin (Tuberactinomycin)" "Antimycobacterials" "" "c(\"enviomicina\", \"enviomycin\", \"enviomycina\", \"enviomycinum\")" "character(0)"
+"EPE" "Eperozolid" "Other antibacterials" "" "" ""
+"EPC" 71392 "Epicillin" "Beta-lactams/penicillins" "J01CA07" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"dexacillin\", \"dihydroampicillin\", \"epicilina\", \"epicillin\", \"epicilline\", \"epicillinum\")" 2 "g" 2 "g" "character(0)"
+"EPP" 68916 "Epiroprim" "Other antibacterials" "" "c(\"epiroprim\", \"epiroprima\", \"epiroprime\", \"epiroprimum\")" "character(0)"
+"ERV" 54726192 "Eravacycline" "Tetracyclines" "J01AA13" "Tetracyclines" "Tetracyclines" "erav" "eravacycline" "character(0)"
+"ETP" 150610 "Ertapenem" "Carbapenems" "J01DH03" "Other beta-lactam antibacterials" "Carbapenems" "c(\"erta\", \"etp\")" "c(\"ertapenem\", \"invanz\")" 1 "g" "character(0)"
+"ERY" 12560 "Erythromycin" "Macrolides/lincosamides" "c(\"D10AF02\", \"J01FA01\", \"S01AA17\")" "Macrolides, lincosamides and streptogramins" "Macrolides" "c(\"e\", \"em\", \"ery\", \"eryt\")" "c(\"abboticin\", \"abomacetin\", \"acneryne\", \"acnesol\", \"akne cordes losung\", \"aknederm ery gel\", \"aknemycin\", \"austrias\", \"benzamycin\", \"derimer\", \"deripil\", \"dotycin\", \"dumotrycin\", \"emuvin\", \"emycin\", \"endoeritrin\", \"erecin\", \"erisone\", \"eritomicina\", \"eritrocina\", \"eritromicina\", \"ermycin\", \"eryacne\", \"eryacnen\", \"eryc sprinkles\", \"erycen\", \"erycette\", \"erycin\", \"erycinum\", \"eryderm\", \"erydermer\", \"erygel\", \"eryhexal\", \"erymax\", \"erymed\", \"erysafe\", \"erytab\", \"erythrocin\", \"erythrocin stearate\",
\"erythroderm\", \"erythrogran\", \"erythroguent\", \"erythromid\", \"erythromycin\", \"erythromycin a\", \"erythromycin base\", \"erythromycin lactate\", \"erythromycine\", \"erythromycines\", \"erythromycinum\", \"erytop\", \"erytrociclin\", \"ilocaps\", \"ilosone\", \"iloticina\", \"ilotycin\", \"ilotycin gluceptate\", \"ilotycin t.s.\", \"inderm\", \"inderm gel\", \"indermretcin\", \"latotryd\", \"lederpax\", \"mephamycin\", \"mercina\", \"oftamolets\", \"paediathrocin\", \"pantoderm\", \"pantodrin\", \"pantomicina\", \"pce dispertab\", \"pharyngocin\", \"primacine\",
\"propiocine\", \"proterytrin\", \"retcin\", \"robimycin\", \"romycin\", \"sansac\", \"skid gel e\", \"staticin\", \"stiemicyn\", \"stiemycin\", \"theramycin z\", \"tiloryth\", \"tiprocin\", \"torlamicina\", \"udima ery gel\", \"wyamycin s\")" 2 "g" 1 "g" "c(\"12298-6\", \"16829-4\", \"25275-9\", \"3597-2\")"
-"ETH" "J04AK02" 14052 "Ethambutol" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "etha" "c(\"aethambutolum\", \"ebutol\", \"etambutol\", \"etambutolo\", \"etapiam\", \"ethambutol\", \"ethambutolum\", \"myambutol\", \"mycobutol\", \"purderal\", \"servambutol\")" 1.2 "g" 1.2 "g" "c(\"25404-5\", \"3607-9\")"
-"ETI" "J04AM03" 456476 "Ethambutol/isoniazid" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Combinations of drugs for treatment of tuberculosis" "" "" ""
-"ETI1" "J04AD03" 2761171 "Ethionamide" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Thiocarbamide derivatives" "ethi" "c(\"aethionamidum\", \"aetina\", \"aetiva\", \"amidazin\", \"amidazine\", \"ethatyl\", \"ethimide\", \"ethina\", \"ethinamide\", \"ethionamide\", \"ethionamidum\", \"ethioniamide\", \"ethylisothiamide\", \"ethyonomide\", \"etimid\", \"etiocidan\", \"etionamid\", \"etionamida\", \"etionamide\", \"etioniamid\", \"etionid\", \"etionizin\", \"etionizina\", \"etionizine\", \"fatoliamid\", \"iridocin\", \"iridocin bayer\", \"iridozin\", \"isothin\", \"isotiamida\", \"itiocide\", \"nicotion\", \"nisotin\", \"nizotin\", \"rigenicid\", \"sertinon\", \"teberus\", \"thianid\", \"thianide\",
+"ETH" 14052 "Ethambutol" "Antimycobacterials" "J04AK02" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "etha" "c(\"aethambutolum\", \"ebutol\", \"etambutol\", \"etambutolo\", \"etapiam\", \"ethambutol\", \"ethambutolum\", \"myambutol\", \"mycobutol\", \"purderal\", \"servambutol\")" 1.2 "g" 1.2 "g" "c(\"25404-5\", \"3607-9\")"
+"ETI" 456476 "Ethambutol/isoniazid" "Antimycobacterials" "J04AM03" "Drugs for treatment of tuberculosis" "Combinations of drugs for treatment of tuberculosis" "" "" ""
+"ETI1" 2761171 "Ethionamide" "Antimycobacterials" "J04AD03" "Drugs for treatment of tuberculosis" "Thiocarbamide derivatives" "ethi" "c(\"aethionamidum\", \"aetina\", \"aetiva\", \"amidazin\", \"amidazine\", \"ethatyl\", \"ethimide\", \"ethina\", \"ethinamide\", \"ethionamide\", \"ethionamidum\", \"ethioniamide\", \"ethylisothiamide\", \"ethyonomide\", \"etimid\", \"etiocidan\", \"etionamid\", \"etionamida\", \"etionamide\", \"etioniamid\", \"etionid\", \"etionizin\", \"etionizina\", \"etionizine\", \"fatoliamid\", \"iridocin\", \"iridocin bayer\", \"iridozin\", \"isothin\", \"isotiamida\", \"itiocide\", \"nicotion\", \"nisotin\", \"nizotin\", \"rigenicid\", \"sertinon\", \"teberus\", \"thianid\", \"thianide\",
\"thioamide\", \"thiodine\", \"thiomid\", \"thioniden\", \"tianid\", \"tiomid\", \"trecator\", \"trecator sc\", \"trekator\", \"trescatyl\", \"trescazide\", \"tubenamide\", \"tubermin\", \"tuberoid\", \"tuberoson\")" 0.75 "g" "16845-0"
-"ETO" 6034 "Ethopabate" "Other antibacterials" "" "c(\"amprol plus\", \"ethopabat\", \"ethopabate\", \"ethyl pabate\")" "character(0)"
-"FAR" "J01DI03" 65894 "Faropenem" "Other antibacterials" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "c(\"faropenem\", \"faropenem sodium\", \"fropenem\", \"fropenum sodium\")" 0.75 "g" "character(0)"
-"FDX" 10034073 "Fidaxomicin" "Other antibacterials" "" "c(\"dificid\", \"dificlir\", \"difimicin\", \"fidaxomicin\", \"lipiarmycin\", \"tiacumicin b\")" "character(0)"
-"FIN" 11567473 "Finafloxacin" "Quinolones" "" "finafloxacin" "character(0)"
-"FLA" 46783781 "Flavomycin" "Other antibacterials" "" "moenomycin complex" "character(0)"
-"FLE" "J01MA08" 3357 "Fleroxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"fler\")" "c(\"fleroxacin\", \"fleroxacine\", \"fleroxacino\", \"fleroxacinum\", \"fleroxicin\", \"megalocin\", \"megalone\", \"megalosin\", \"quinodis\")" 0.4 "g" 0.4 "g" "character(0)"
-"FLO" 65864 "Flomoxef" "Other antibacterials" "" "c(\"flomoxef\", \"flomoxefo\", \"flomoxefum\")" "character(0)"
-"FLR" 114811 "Florfenicol" "Other antibacterials" "" "c(\"aquafen\", \"florfenicol\", \"nuflor\", \"nuflor gold\")" "87599-7"
-"FLC" "J01CF05" 21319 "Flucloxacillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"clox\", \"flux\")" "c(\"floxacillin\", \"floxapen\", \"floxapen sodium salt\", \"fluclox\", \"flucloxacilina\", \"flucloxacillin\", \"flucloxacilline\", \"flucloxacillinum\", \"fluorochloroxacillin\")" 2 "g" 2 "g" "character(0)"
-"FLU" "J02AC01" 3365 "Fluconazole" "Antifungals/antimycotics" "Antimycotics for systemic use" "Triazole derivatives" "c(\"fluc\", \"fluz\", \"flz\")" "c(\"alflucoz\", \"alfumet\", \"biocanol\", \"biozole\", \"biozolene\", \"canzol\", \"cryptal\", \"diflazon\", \"diflucan\", \"dimycon\", \"elazor\", \"flucazol\", \"fluconazol\", \"fluconazole\", \"fluconazole capsules\", \"fluconazolum\", \"flucostat\", \"flukezol\", \"flunazol\", \"flunizol\", \"flusol\", \"fluzon\", \"fluzone\", \"forcan\", \"fuconal\", \"fungata\", \"loitin\", \"oxifugol\", \"pritenzol\", \"syscan\", \"trican\", \"triconal\", \"triflucan\", \"zoltec\")" 0.2 "g" 0.2 "g" "c(\"10987-6\", \"16870-8\", \"25255-1\", \"80530-9\")"
-"FLM" "J01MB07" 3374 "Flumequine" "Quinolones" "Quinolone antibacterials" "Other quinolones" "" "c(\"apurone\", \"fantacin\", \"flumequine\", \"flumequino\", \"flumequinum\", \"flumigal\", \"flumiquil\", \"flumisol\", \"flumix\", \"imequyl\")" 1.2 "g" "character(0)"
-"FLR1" "J01FA14" 71260 "Flurithromycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"flurithromicina\", \"flurithromycime\", \"flurithromycin\", \"flurithromycine\", \"flurithromycinum\", \"fluritromicina\", \"fluritromycinum\", \"flurizic\")" 0.75 "g" "character(0)"
-"FFL" 214356 "Fosfluconazole" "Antifungals/antimycotics" "" "c(\"fosfluconazole\", \"phosfluconazole\", \"procif\", \"prodif\")" "character(0)"
-"FOS" "J01XX01" 446987 "Fosfomycin" "Other antibacterials" "Other antibacterials" "Other antibacterials" "c(\"ff\", \"fm\", \"fo\", \"fof\", \"fos\", \"fosf\")" "c(\"fosfocina\", \"fosfomicina\", \"fosfomycin\", \"fosfomycin sodium\", \"fosfomycine\", \"fosfomycinum\", \"fosfonomycin\", \"monuril\", \"monurol\", \"phosphonemycin\", \"phosphonomycin\", \"veramina\")" 3 "g" 8 "g" "character(0)"
-"FMD" 572 "Fosmidomycin" "Other antibacterials" "" "c(\"fosmidomycin\", \"fosmidomycina\", \"fosmidomycine\", \"fosmidomycinum\")" "character(0)"
-"FRM" 8378 "Framycetin" "Aminoglycosides" "c(\"\", \"fram\")" "c(\"actilin\", \"actiline\", \"antibiotique\", \"bycomycin\", \"endomixin\", \"enterfram\", \"fradiomycin\", \"fradiomycin b\", \"fradiomycinum\", \"framicetina\", \"framycetin\", \"framycetin sulfate\", \"framycetine\", \"framycetinum\", \"framygen\", \"fraquinol\", \"jernadex\", \"myacine\", \"myacyne\", \"mycerin\", \"mycifradin\", \"neobrettin\", \"neolate\", \"neomas\", \"neomcin\", \"neomicina\", \"neomin\", \"neomycin\", \"neomycin b\", \"neomycin b sulfate\", \"neomycin solution\", \"neomycin sulfate\", \"neomycin sulphate\", \"neomycinb\", \"neomycine\", \"neomycinum\",
+"ETO" 6034 "Ethopabate" "Other antibacterials" "" "c(\"amprol plus\", \"ethopabat\", \"ethopabate\", \"ethyl pabate\")" "character(0)"
+"FAR" 65894 "Faropenem" "Other antibacterials" "J01DI03" "Other beta-lactam antibacterials" "Other cephalosporins and penems" "" "c(\"faropenem\", \"faropenem sodium\", \"fropenem\", \"fropenum sodium\")" 0.75 "g" "character(0)"
+"FDX" 10034073 "Fidaxomicin" "Other antibacterials" "A07AA12" "" "c(\"dificid\", \"dificlir\", \"difimicin\", \"fidaxomicin\", \"lipiarmycin\", \"tiacumicin b\")" "character(0)"
+"FIN" 11567473 "Finafloxacin" "Quinolones" "" "finafloxacin" "character(0)"
+"FLA" 46783781 "Flavomycin" "Other antibacterials" "" "moenomycin complex" "character(0)"
+"FLE" 3357 "Fleroxacin" "Quinolones" "J01MA08" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"fler\")" "c(\"fleroxacin\", \"fleroxacine\", \"fleroxacino\", \"fleroxacinum\", \"fleroxicin\", \"megalocin\", \"megalone\", \"megalosin\", \"quinodis\")" 0.4 "g" 0.4 "g" "character(0)"
+"FLO" 65864 "Flomoxef" "Other antibacterials" "J01DC14" "" "c(\"flomoxef\", \"flomoxefo\", \"flomoxefum\")" "character(0)"
+"FLR" 114811 "Florfenicol" "Other antibacterials" "" "c(\"aquafen\", \"florfenicol\", \"nuflor\", \"nuflor gold\")" "87599-7"
+"FLC" 21319 "Flucloxacillin" "Beta-lactams/penicillins" "J01CF05" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "c(\"clox\", \"flux\")" "c(\"floxacillin\", \"floxapen\", \"floxapen sodium salt\", \"fluclox\", \"flucloxacilina\", \"flucloxacillin\", \"flucloxacilline\", \"flucloxacillinum\", \"fluorochloroxacillin\")" 2 "g" 2 "g" "character(0)"
+"FLU" 3365 "Fluconazole" "Antifungals/antimycotics" "c(\"D01AC15\", \"J02AC01\")" "Antimycotics for systemic use" "Triazole derivatives" "c(\"fluc\", \"fluz\", \"flz\")" "c(\"alflucoz\", \"alfumet\", \"biocanol\", \"biozole\", \"biozolene\", \"canzol\", \"cryptal\", \"diflazon\", \"diflucan\", \"dimycon\", \"elazor\", \"flucazol\", \"fluconazol\", \"fluconazole\", \"fluconazole capsules\", \"fluconazolum\", \"flucostat\", \"flukezol\", \"flunazol\", \"flunizol\", \"flusol\", \"fluzon\", \"fluzone\", \"forcan\", \"fuconal\", \"fungata\", \"loitin\", \"oxifugol\", \"pritenzol\", \"syscan\", \"trican\", \"triconal\", \"triflucan\", \"zoltec\")" 0.2 "g" 0.2 "g" "c(\"10987-6\", \"16870-8\", \"25255-1\", \"80530-9\")"
+"FLM" 3374 "Flumequine" "Quinolones" "J01MB07" "Quinolone antibacterials" "Other quinolones" "" "c(\"apurone\", \"fantacin\", \"flumequine\", \"flumequino\", \"flumequinum\", \"flumigal\", \"flumiquil\", \"flumisol\", \"flumix\", \"imequyl\")" 1.2 "g" "character(0)"
+"FLR1" 71260 "Flurithromycin" "Macrolides/lincosamides" "J01FA14" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"flurithromicina\", \"flurithromycime\", \"flurithromycin\", \"flurithromycine\", \"flurithromycinum\", \"fluritromicina\", \"fluritromycinum\", \"flurizic\")" 0.75 "g" "character(0)"
+"FFL" 214356 "Fosfluconazole" "Antifungals/antimycotics" "" "c(\"fosfluconazole\", \"phosfluconazole\", \"procif\", \"prodif\")" "character(0)"
+"FOS" 446987 "Fosfomycin" "Other antibacterials" "J01XX01" "Other antibacterials" "Other antibacterials" "c(\"ff\", \"fm\", \"fo\", \"fof\", \"fos\", \"fosf\")" "c(\"fosfocina\", \"fosfomicina\", \"fosfomycin\", \"fosfomycin sodium\", \"fosfomycine\", \"fosfomycinum\", \"fosfonomycin\", \"monuril\", \"monurol\", \"phosphonemycin\", \"phosphonomycin\", \"veramina\")" 3 "g" 8 "g" "character(0)"
+"FMD" 572 "Fosmidomycin" "Other antibacterials" "" "c(\"fosmidomycin\", \"fosmidomycina\", \"fosmidomycine\", \"fosmidomycinum\")" "character(0)"
+"FRM" 8378 "Framycetin" "Aminoglycosides" "c(\"D09AA01\", \"R01AX08\", \"S01AA07\")" "c(\"\", \"fram\")" "c(\"actilin\", \"actiline\", \"antibiotique\", \"bycomycin\", \"endomixin\", \"enterfram\", \"fradiomycin\", \"fradiomycin b\", \"fradiomycinum\", \"framicetina\", \"framycetin\", \"framycetin sulfate\", \"framycetine\", \"framycetinum\", \"framygen\", \"fraquinol\", \"jernadex\", \"myacine\", \"myacyne\", \"mycerin\", \"mycifradin\", \"neobrettin\", \"neolate\", \"neomas\", \"neomcin\", \"neomicina\", \"neomin\", \"neomycin\", \"neomycin b\", \"neomycin b sulfate\", \"neomycin solution\", \"neomycin sulfate\", \"neomycin sulphate\", \"neomycinb\", \"neomycine\", \"neomycinum\",
\"nivemycin\", \"pimavecort\", \"soframycin\", \"soframycine\", \"tuttomycin\", \"vonamycin\", \"vonamycin powder v\")" "character(0)"
-"FRZ" 5323714 "Furazolidone" "Other antibacterials" "" "c(\"bifuron\", \"corizium\", \"coryzium\", \"diafuron\", \"enterotoxon\", \"furall\", \"furaxon\", \"furaxone\", \"furazol\", \"furazolidine\", \"furazolidon\", \"furazolidona\", \"furazolidone\", \"furazolidonum\", \"furazolum\", \"furazon\", \"furidon\", \"furovag\", \"furox aerosol powder\", \"furoxal\", \"furoxane\", \"furoxon\", \"furoxone\", \"furoxone liquid\", \"furoxone swine mix\", \"furozolidine\", \"giardil\", \"giarlam\", \"medaron\", \"neftin\", \"nicolen\", \"nifulidone\", \"nifuran\", \"nifurazolidone\", \"nifurazolidonum\", \"nitrofurazolidone\", \"nitrofurazolidonum\",
+"FRZ" 5323714 "Furazolidone" "Other antibacterials" "G01AX06" "" "c(\"bifuron\", \"corizium\", \"coryzium\", \"diafuron\", \"enterotoxon\", \"furall\", \"furaxon\", \"furaxone\", \"furazol\", \"furazolidine\", \"furazolidon\", \"furazolidona\", \"furazolidone\", \"furazolidonum\", \"furazolum\", \"furazon\", \"furidon\", \"furovag\", \"furox aerosol powder\", \"furoxal\", \"furoxane\", \"furoxon\", \"furoxone\", \"furoxone liquid\", \"furoxone swine mix\", \"furozolidine\", \"giardil\", \"giarlam\", \"medaron\", \"neftin\", \"nicolen\", \"nifulidone\", \"nifuran\", \"nifurazolidone\", \"nifurazolidonum\", \"nitrofurazolidone\", \"nitrofurazolidonum\",
\"nitrofuroxon\", \"optazol\", \"ortazol\", \"puradin\", \"roptazol\", \"sclaventerol\", \"tikofuran\", \"topazone\", \"trichofuron\", \"tricofuron\", \"tricoron\", \"trifurox\", \"viofuragyn\")" "character(0)"
-"FUS" "J01XC01" 3000226 "Fusidic acid" "Other antibacterials" "Other antibacterials" "Steroid antibacterials" "c(\"fa\", \"fusi\")" "c(\"acide fusidique\", \"acido fusidico\", \"acidum fusidicum\", \"flucidin\", \"fucidate\", \"fucidate sodium\", \"fucidic acid\", \"fucidin\", \"fucidin acid\", \"fucithalmic\", \"fusidate\", \"fusidate acid\", \"fusidic acid\", \"fusidine\", \"fusidinic acid\", \"ramycin\")" 1.5 "g" 1.5 "g" "character(0)"
-"GAM" 59364992 "Gamithromycin" "Macrolides/lincosamides" "" "gamithromycin" "character(0)"
-"GRN" 124093 "Garenoxacin" "Quinolones" "" "c(\"ganefloxacin\", \"garenfloxacin\", \"garenoxacin\")" "character(0)"
-"GAT" "J01MA16" 5379 "Gatifloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"gati\")" "c(\"gatiflo\", \"gatifloxacin\", \"gatifloxacine\", \"gatifloxcin\", \"gatilox\", \"gatiquin\", \"gatispan\", \"tequin\", \"tequin and zymar\", \"zymaxid\")" 0.4 "g" 0.4 "g" "character(0)"
-"GEM" "J01MA15" 9571107 "Gemifloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "" "c(\"factiv\", \"factive\", \"gemifioxacin\", \"gemifloxacin\", \"gemifloxacine\", \"gemifloxacino\", \"gemifloxacinum\")" 0.32 "character(0)"
-"GEN" "J01GB03" 3467 "Gentamicin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"cn\", \"gen\", \"gent\", \"gm\")" "c(\"apogen\", \"centicin\", \"cidomycin\", \"garasol\", \"genoptic liquifilm\", \"genoptic s.o.p.\", \"gentacycol\", \"gentafair\", \"gentak\", \"gentamar\", \"gentamcin sulfate\", \"gentamicin\", \"gentamicina\", \"gentamicine\", \"gentamicins\", \"gentamicinum\", \"gentamycin\", \"gentamycins\", \"gentamycinum\", \"gentavet\", \"gentocin\", \"jenamicin\", \"lyramycin\", \"oksitselanim\", \"refobacin\", \"refobacin tm\", \"septigen\", \"uromycine\")" 0.24 "g" "c(\"13561-6\", \"13562-4\", \"15106-8\", \"22746-2\", \"22747-0\", \"31091-2\", \"31092-0\", \"31093-8\", \"35668-3\", \"3663-2\", \"3664-0\", \"3665-7\", \"39082-3\", \"47109-4\", \"59379-8\", \"80971-5\", \"88111-0\")"
-"GEH" "Gentamicin-high" "Aminoglycosides" "c(\"g_h\", \"gehl\", \"genta high\", \"gentamicin high\")" "" ""
-"GEP" 25101874 "Gepotidacin" "Other antibacterials" "" "gepotidacin" "character(0)"
-"GRX" "J01MA11" 72474 "Grepafloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"grep\")" "grepafloxacin" 0.4 "g" "character(0)"
-"GRI" 441140 "Griseofulvin" "Antifungals/antimycotics" "" "c(\"amudane\", \"curling factor\", \"delmofulvina\", \"fulcin\", \"fulcine\", \"fulvican grisactin\", \"fulvicin\", \"fulvicin bolus\", \"fulvidex\", \"fulvina\", \"fulvinil\", \"fulvistatin\", \"fungivin\", \"greosin\", \"gresfeed\", \"gricin\", \"grifulin\", \"grifulvin\", \"grifulvin v\", \"grisactin\", \"grisactin ultra\", \"grisactin v\", \"griscofulvin\", \"grise ostatin\", \"grisefuline\", \"griseo\", \"griseofulvin\", \"griseofulvin forte\", \"griseofulvina\", \"griseofulvine\", \"griseofulvinum\", \"griseomix\", \"griseostatin\", \"grisetin\", \"grisofulvin\",
+"FUS" 3000226 "Fusidic acid" "Other antibacterials" "c(\"D06AX01\", \"D09AA02\", \"J01XC01\", \"S01AA13\")" "Other antibacterials" "Steroid antibacterials" "c(\"fa\", \"fusi\")" "c(\"acide fusidique\", \"acido fusidico\", \"acidum fusidicum\", \"flucidin\", \"fucidate\", \"fucidate sodium\", \"fucidic acid\", \"fucidin\", \"fucidin acid\", \"fucithalmic\", \"fusidate\", \"fusidate acid\", \"fusidic acid\", \"fusidine\", \"fusidinic acid\", \"ramycin\")" 1.5 "g" 1.5 "g" "character(0)"
+"GAM" 59364992 "Gamithromycin" "Macrolides/lincosamides" "" "gamithromycin" "character(0)"
+"GRN" 124093 "Garenoxacin" "Quinolones" "J01MA19" "" "c(\"ganefloxacin\", \"garenfloxacin\", \"garenoxacin\")" "character(0)"
+"GAT" 5379 "Gatifloxacin" "Quinolones" "c(\"J01MA16\", \"S01AE06\")" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"gati\")" "c(\"gatiflo\", \"gatifloxacin\", \"gatifloxacine\", \"gatifloxcin\", \"gatilox\", \"gatiquin\", \"gatispan\", \"tequin\", \"tequin and zymar\", \"zymaxid\")" 0.4 "g" 0.4 "g" "character(0)"
+"GEM" 9571107 "Gemifloxacin" "Quinolones" "J01MA15" "Quinolone antibacterials" "Fluoroquinolones" "" "c(\"factiv\", \"factive\", \"gemifioxacin\", \"gemifloxacin\", \"gemifloxacine\", \"gemifloxacino\", \"gemifloxacinum\")" 0.32 "character(0)"
+"GEN" 3467 "Gentamicin" "Aminoglycosides" "c(\"D06AX07\", \"J01GB03\", \"S01AA11\", \"S02AA14\", \"S03AA06\")" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"cn\", \"gen\", \"gent\", \"gm\")" "c(\"apogen\", \"centicin\", \"cidomycin\", \"garasol\", \"genoptic liquifilm\", \"genoptic s.o.p.\", \"gentacycol\", \"gentafair\", \"gentak\", \"gentamar\", \"gentamcin sulfate\", \"gentamicin\", \"gentamicina\", \"gentamicine\", \"gentamicins\", \"gentamicinum\", \"gentamycin\", \"gentamycins\", \"gentamycinum\", \"gentavet\", \"gentocin\", \"jenamicin\", \"lyramycin\", \"oksitselanim\", \"refobacin\", \"refobacin tm\", \"septigen\", \"uromycine\")" 0.24 "g" "c(\"13561-6\", \"13562-4\", \"15106-8\", \"22746-2\", \"22747-0\", \"31091-2\", \"31092-0\", \"31093-8\", \"35668-3\", \"3663-2\", \"3664-0\", \"3665-7\", \"39082-3\", \"47109-4\", \"59379-8\", \"80971-5\", \"88111-0\")"
+"GEH" "Gentamicin-high" "Aminoglycosides" "c(\"g_h\", \"gehl\", \"genta high\", \"gentamicin high\")" "" ""
+"GEP" 25101874 "Gepotidacin" "Other antibacterials" "" "gepotidacin" "character(0)"
+"GRX" 72474 "Grepafloxacin" "Quinolones" "J01MA11" "Quinolone antibacterials" "Fluoroquinolones" "c(\"\", \"grep\")" "grepafloxacin" 0.4 "g" "character(0)"
+"GRI" 441140 "Griseofulvin" "Antifungals/antimycotics" "c(\"D01AA08\", \"D01BA01\")" "" "c(\"amudane\", \"curling factor\", \"delmofulvina\", \"fulcin\", \"fulcine\", \"fulvican grisactin\", \"fulvicin\", \"fulvicin bolus\", \"fulvidex\", \"fulvina\", \"fulvinil\", \"fulvistatin\", \"fungivin\", \"greosin\", \"gresfeed\", \"gricin\", \"grifulin\", \"grifulvin\", \"grifulvin v\", \"grisactin\", \"grisactin ultra\", \"grisactin v\", \"griscofulvin\", \"grise ostatin\", \"grisefuline\", \"griseo\", \"griseofulvin\", \"griseofulvin forte\", \"griseofulvina\", \"griseofulvine\", \"griseofulvinum\", \"griseomix\", \"griseostatin\", \"grisetin\", \"grisofulvin\",
\"grisovin\", \"grisovin fp\", \"grizeofulvin\", \"grysio\", \"guservin\", \"lamoryl\", \"likuden\", \"likunden\", \"murfulvin\", \"poncyl\", \"spirofulvin\", \"sporostatin xan\", \"xuanjing\")" "12402-4"
-"HAB" 175989 "Habekacin" "Aminoglycosides" "" "c(\"arbekacin sulfate\", \"habekacin\", \"habekacin sulfate\", \"habekacin xsulfate\")" "character(0)"
-"HCH" "J02AA02" 11979956 "Hachimycin" "Antifungals/antimycotics" "Antimycotics for systemic use" "Antibiotics" "" "c(\"cabimicina\", \"hachimicina\", \"hachimycin\", \"hachimycine\", \"hachimycinum\", \"trichomycinum\", \"trichonat\")" "character(0)"
-"HET" "J01CA18" 443387 "Hetacillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"etacillina\", \"hetacilina\", \"hetacillin\", \"hetacilline\", \"hetacillinum\", \"phenazacillin\", \"versapen\")" 2 "g" "character(0)"
-"HYG" 56928061 "Hygromycin" "Aminoglycosides" "" "c(\"antihelmycin\", \"hydromycin b\", \"hygrovetine\")" "character(0)"
-"ICL" 213043 "Iclaprim" "Other antibacterials" "" "c(\"iclaprim\", \"mersarex\")" "character(0)"
-"IPM" "J01DH51" 104838 "Imipenem" "Carbapenems" "Other beta-lactam antibacterials" "Carbapenems" "c(\"imci\", \"imi\", \"imip\", \"imp\")" "c(\"imipemide\", \"imipenem\", \"imipenem anhydrous\", \"imipenem/cilastatin\", \"imipenemum\", \"imipenen\", \"primaxin\", \"tienamycin\")" 2 "g" "c(\"17010-0\", \"25257-7\", \"27331-8\", \"3688-9\")"
-"IPE" "Imipenem/EDTA" "Carbapenems" "" "" ""
-"IMR" "Imipenem/relebactam" "Carbapenems" "" "" ""
-"ISV" 6918485 "Isavuconazole" "Antifungals/antimycotics" "c(\"\", \"isav\")" "isavuconazole" "character(0)"
-"ISE" "J01GB11" 3037209 "Isepamicin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "" "c(\"isepacin\", \"isepalline\", \"isepamicin\", \"isepamicina\", \"isepamicine\", \"isepamicinum\")" 0.4 "g" "character(0)"
-"ISO" "D01AC05" 3760 "Isoconazole" "Antifungals/antimycotics" "Antimycotics for topic use" "Triazole derivatives" "" "c(\"isoconazol\", \"isoconazole\", \"isoconazolum\", \"travogen\")" "character(0)"
-"INH" "J04AC01" 3767 "Isoniazid" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Hydrazides" "inh" "c(\"abdizide\", \"andrazide\", \"anidrasona\", \"antimicina\", \"antituberkulosum\", \"armacide\", \"armazid\", \"armazide\", \"atcotibine\", \"azt + isoniazid\", \"azuren\", \"bacillin\", \"cemidon\", \"chemiazid\", \"chemidon\", \"continazine\", \"cortinazine\", \"cotinazin\", \"cotinizin\", \"defonin\", \"dibutin\", \"diforin\", \"dinacrin\", \"ditubin\", \"ebidene\", \"eralon\", \"ertuban\", \"eutizon\", \"evalon\", \"fetefu\", \"fimalene\", \"hid rasonil\", \"hidranizil\", \"hidrasonil\", \"hidrulta\", \"hidrun\", \"hycozid\", \"hydrazid\", \"hydrazide\", \"hyozid\", \"i.a.i.\",
+"HAB" 175989 "Habekacin" "Aminoglycosides" "" "c(\"arbekacin sulfate\", \"habekacin\", \"habekacin sulfate\", \"habekacin xsulfate\")" "character(0)"
+"HCH" 11979956 "Hachimycin" "Antifungals/antimycotics" "c(\"D01AA03\", \"G01AA06\", \"J02AA02\")" "Antimycotics for systemic use" "Antibiotics" "" "c(\"cabimicina\", \"hachimicina\", \"hachimycin\", \"hachimycine\", \"hachimycinum\", \"trichomycinum\", \"trichonat\")" "character(0)"
+"HET" 443387 "Hetacillin" "Beta-lactams/penicillins" "J01CA18" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"etacillina\", \"hetacilina\", \"hetacillin\", \"hetacilline\", \"hetacillinum\", \"phenazacillin\", \"versapen\")" 2 "g" "character(0)"
+"HYG" 56928061 "Hygromycin" "Aminoglycosides" "" "c(\"antihelmycin\", \"hydromycin b\", \"hygrovetine\")" "character(0)"
+"ICL" 213043 "Iclaprim" "Other antibacterials" "J01EA03" "" "c(\"iclaprim\", \"mersarex\")" "character(0)"
+"IPM" 104838 "Imipenem" "Carbapenems" "J01DH51" "Other beta-lactam antibacterials" "Carbapenems" "c(\"imci\", \"imi\", \"imip\", \"imp\")" "c(\"imipemide\", \"imipenem\", \"imipenem anhydrous\", \"imipenem/cilastatin\", \"imipenemum\", \"imipenen\", \"primaxin\", \"tienamycin\")" 2 "g" "c(\"17010-0\", \"25257-7\", \"27331-8\", \"3688-9\")"
+"IPE" "Imipenem/EDTA" "Carbapenems" "" "" ""
+"IMR" "Imipenem/relebactam" "Carbapenems" "" "" ""
+"ISV" 6918485 "Isavuconazole" "Antifungals/antimycotics" "J02AC05" "c(\"\", \"isav\")" "isavuconazole" "character(0)"
+"ISE" 3037209 "Isepamicin" "Aminoglycosides" "J01GB11" "Aminoglycoside antibacterials" "Other aminoglycosides" "" "c(\"isepacin\", \"isepalline\", \"isepamicin\", \"isepamicina\", \"isepamicine\", \"isepamicinum\")" 0.4 "g" "character(0)"
+"ISO" 3760 "Isoconazole" "Antifungals/antimycotics" "c(\"D01AC05\", \"G01AF07\")" "Antimycotics for topic use" "Triazole derivatives" "" "c(\"isoconazol\", \"isoconazole\", \"isoconazolum\", \"travogen\")" "character(0)"
+"INH" 3767 "Isoniazid" "Antimycobacterials" "J04AC01" "Drugs for treatment of tuberculosis" "Hydrazides" "inh" "c(\"abdizide\", \"andrazide\", \"anidrasona\", \"antimicina\", \"antituberkulosum\", \"armacide\", \"armazid\", \"armazide\", \"atcotibine\", \"azt + isoniazid\", \"azuren\", \"bacillin\", \"cemidon\", \"chemiazid\", \"chemidon\", \"continazine\", \"cortinazine\", \"cotinazin\", \"cotinizin\", \"defonin\", \"dibutin\", \"diforin\", \"dinacrin\", \"ditubin\", \"ebidene\", \"eralon\", \"ertuban\", \"eutizon\", \"evalon\", \"fetefu\", \"fimalene\", \"hid rasonil\", \"hidranizil\", \"hidrasonil\", \"hidrulta\", \"hidrun\", \"hycozid\", \"hydrazid\", \"hydrazide\", \"hyozid\", \"i.a.i.\",
\"idrazil\", \"inizid\", \"iscotin\", \"isidrina\", \"ismazide\", \"isobicina\", \"isocid\", \"isocidene\", \"isocotin\", \"isohydrazide\", \"isokin\", \"isolyn\", \"isonerit\", \"isonex\", \"isoniacid\", \"isoniazid\", \"isoniazid sa\", \"isoniazida\", \"isoniazide\", \"isoniazidum\", \"isonicazide\", \"isonicid\", \"isonico\", \"isonicotan\", \"isonicotil\", \"isonicotinhydrazid\", \"isonicotinohydrazide\", \"isonide\", \"isonidrin\", \"isonikazid\", \"isonilex\", \"isonin\", \"isonindon\", \"isonirit\", \"isoniton\", \"isonizida\", \"isonizide\", \"isotamine\", \"isotebe\",
\"isotebezid\", \"isotinyl\", \"isozid\", \"isozide\", \"isozyd\", \"laniazid\", \"laniozid\", \"lanizid\", \"mayambutol\", \"mybasan\", \"neoteben\", \"neoxin\", \"neumandin\", \"niadrin\", \"nicazide\", \"nicetal\", \"nicizina\", \"niconyl\", \"nicotibina\", \"nicotibine\", \"nicotisan\", \"nicozide\", \"nidaton\", \"nidrazid\", \"nikozid\", \"niplen\", \"nitadon\", \"niteban\", \"nydrazid\", \"nyscozid\", \"pelazid\", \"percin\", \"phthisen\", \"pycazide\", \"pyreazid\", \"pyricidin\", \"pyridicin\", \"pyrizidin\", \"raumanon\", \"razide\", \"retozide\", \"rifater\", \"rimicid\",
\"rimifon\", \"rimiphone\", \"rimitsid\", \"robiselin\", \"robisellin\", \"roxifen\", \"sanohidrazina\", \"sauterazid\", \"sauterzid\", \"stanozide\", \"tebecid\", \"tebenic\", \"tebexin\", \"tebilon\", \"teebaconin\", \"tekazin\", \"tibazide\", \"tibemid\", \"tibiazide\", \"tibinide\", \"tibison\", \"tibivis\", \"tibizide\", \"tibusan\", \"tisiodrazida\", \"tizide\", \"tubazid\", \"tubazide\", \"tubeco\", \"tubecotubercid\", \"tuberian\", \"tubicon\", \"tubilysin\", \"tubizid\", \"tubomel\", \"unicocyde\", \"unicozyde\", \"vazadrine\", \"vederon\", \"zidafimia\", \"zinadon\",
\"zonazide\")" 0.3 "g" 0.3 "g" "c(\"25451-6\", \"26756-7\", \"3697-0\", \"40371-7\")"
-"ITR" "J02AC02" 3793 "Itraconazole" "Antifungals/antimycotics" "Antimycotics for systemic use" "Triazole derivatives" "itra" "c(\"itraconazol\", \"itraconazole\", \"itraconazolum\", \"itraconzaole\", \"itrazole\", \"oriconazole\", \"sporanox\")" 0.2 "g" 0.2 "g" "c(\"10989-2\", \"12392-7\", \"25258-5\", \"27081-9\", \"32184-4\", \"32185-1\", \"80531-7\")"
-"JOS" "J01FA07" 5282165 "Josamycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"josacine\", \"josamicina\", \"josamycin\", \"josamycine\", \"josamycinum\")" 2 "g" "character(0)"
-"KAN" "J01GB04" 6032 "Kanamycin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"hlk\", \"k\", \"kan\", \"kana\", \"km\")" "c(\"kanamicina\", \"kanamycin\", \"kanamycin a\", \"kanamycin base\", \"kanamycine\", \"kanamycinum\", \"kantrex\", \"kenamycin a\", \"klebcil\", \"liposomal kanamycin\")" 1 "g" "c(\"23889-9\", \"3698-8\", \"3699-6\", \"3700-2\", \"47395-9\")"
-"KAH" "Kanamycin-high" "Aminoglycosides" "c(\"\", \"k_h\", \"kahl\")" "" ""
-"KAC" "Kanamycin/cephalexin" "Aminoglycosides" "" "" ""
-"KET" "J02AB02" 456201 "Ketoconazole" "Antifungals/antimycotics" "Antimycotics for systemic use" "Imidazole derivatives" "c(\"keto\", \"ktc\")" "c(\"extina\", \"fungarest\", \"fungoral\", \"ketocanazole\", \"ketoconazol\", \"ketoconazole\", \"ketoconazolum\", \"ketoderm\", \"nizoral\", \"xolegel\")" 0.2 "g" "c(\"10990-0\", \"12393-5\", \"25259-3\", \"60091-6\", \"60092-4\")"
-"KIT" "Kitasamycin (Leucomycin)" "Macrolides/lincosamides" "" "" ""
-"LAS" 5360807 "Lasalocid" "Other antibacterials" "" "c(\"avatec\", \"lasalocid\", \"lasalocid a\", \"lasalocide\", \"lasalocide a\", \"lasalocido\", \"lasalocidum\")" "87598-9"
-"LTM" "J01DD06" 47499 "Latamoxef" "Cephalosporins (3rd gen.)" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"mox\", \"moxa\")" "c(\"disodium moxalactam\", \"festamoxin\", \"lamoxactam\", \"latamoxef\", \"latamoxefum\", \"shiomarin\")" 4 "g" "character(0)"
-"LMU" 25185057 "Lefamulin" "Other antibacterials" "" "lefamulin" "character(0)"
-"LEN" 65646 "Lenampicillin" "Beta-lactams/penicillins" "" "c(\"lenampicilina\", \"lenampicillin\", \"lenampicillin hcl\", \"lenampicilline\", \"lenampicillinum\")" "character(0)"
-"LVX" "J01MA12" 149096 "Levofloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"le\", \"lev\", \"levo\", \"lvx\")" "c(\"aeroquin\", \"cravit\", \"cravit hydrate\", \"cravit iv\", \"cravit ophthalmic\", \"elequine\", \"floxacin\", \"floxel\", \"iquix hydrate\", \"leroxacin\", \"lesacin\", \"levaquin\", \"levaquin hydrate\", \"levo floxacin\", \"levofiexacin\", \"levofloxacin\", \"levofloxacin hydrate\", \"levofloxacine\", \"levofloxacino\", \"levofloxacinum\", \"levokacin\", \"levoxacin\", \"mosardal\", \"nofaxin\", \"oftaquix\", \"quixin\", \"reskuin\", \"tavanic\", \"unibiotic\", \"venaxan\", \"volequin\")" 0.5 "g" 0.5 "g" "c(\"21368-6\", \"30532-6\", \"30533-4\")"
-"LND" 9850038 "Levonadifloxacin" "Quinolones" "" "levonadifloxacin" "character(0)"
-"LSP" "Linco-spectin (lincomycin/spectinomycin)" "Other antibacterials" "" "" ""
-"LIN" "J01FF02" 3000540 "Lincomycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Lincosamides" "linc" "c(\"cillimycin\", \"jiemycin\", \"lincolcina\", \"lincolnensin\", \"lincomicina\", \"lincomycin\", \"lincomycin a\", \"lincomycine\", \"lincomycinum\")" 1.8 "g" 1.8 "g" "87597-1"
-"LNZ" "J01XX08" 441401 "Linezolid" "Oxazolidinones" "Other antibacterials" "Other antibacterials" "c(\"line\", \"lnz\", \"lz\", \"lzd\")" "c(\"linezlid\", \"linezoid\", \"linezolid\", \"linezolide\", \"linezolidum\", \"zivoxid\", \"zyvoxa\", \"zyvoxam\", \"zyvoxid\")" 1.2 "g" 1.2 "g" "c(\"34202-2\", \"80609-1\")"
-"LFE" "Linoprist-flopristin" "Other antibacterials" "" "" ""
-"LOM" "J01MA07" 3948 "Lomefloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"lmf\", \"lom\", \"lome\")" "c(\"lomefloxacin\", \"lomefloxacine\", \"lomefloxacino\", \"lomefloxacinum\", \"maxaquin\")" 0.4 "character(0)"
-"LOR" "J01DC08" 5284585 "Loracarbef" "Cephalosporins (2nd gen.)" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"\", \"lora\")" "c(\"anhydrous loracarbef\", \"lorabid\", \"loracarbef\", \"loracarbefum\", \"lorbef\", \"loribid\")" 0.6 "g" "character(0)"
-"LYM" "J01AA04" 54707177 "Lymecycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "" "c(\"biovetin\", \"chlortetracyclin\", \"ciclisin\", \"ciclolysal\", \"infaciclina\", \"limeciclina\", \"lisinbiotic\", \"lymecyclin\", \"lymecycline\", \"lymecyclinum\", \"mucomycin\", \"ntetracycline\", \"tetralisal\", \"tetralysal\", \"vebicyclysal\")" 0.6 "g" 0.6 "g" "character(0)"
-"MNA" "J01XX06" 1292 "Mandelic acid" "Other antibacterials" "Other antibacterials" "Other antibacterials" "" "c(\"acido mandelico\", \"almond acid\", \"amygdalic acid\", \"benzoglycolic acid\", \"hydroxyacetic acid\", \"kyselina mandlova\", \"mandelic acid\", \"paramandelic acid\", \"phenylglycolic acid\", \"uromaline\")" 12 "g" "character(0)"
-"MAR" 60651 "Marbofloxacin" "Quinolones" "" "c(\"marbocyl\", \"marbofloxacin\", \"marbofloxacine\", \"marbofloxacino\", \"marbofloxacinum\", \"zeniquin\")" "character(0)"
-"MEC" "J01CA11" 36273 "Mecillinam (Amdinocillin)" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"amdinocillin\", \"coactin\", \"hexacillin\", \"mecilinamo\", \"mecillinam\", \"mecillinamum\", \"micillinam\", \"penicillin hx\", \"selexidin\")" 1.2 "g" "character(0)"
-"MEL" 71306732 "Meleumycin" "Macrolides/lincosamides" "" "" ""
-"MEM" "J01DH02" 441130 "Meropenem" "Carbapenems" "Other beta-lactam antibacterials" "Carbapenems" "c(\"mem\", \"mer\", \"mero\", \"mp\", \"mrp\")" "c(\"meronem\", \"meropen\", \"meropenem\", \"meropenem anhydrous\", \"meropenem hydrate\", \"meropenem trihydrate\", \"meropenemum\", \"merrem\", \"merrem i.v.\", \"merrem iv\")" 3 "g" "41406-0"
-"MNC" "Meropenem/nacubactam" "Carbapenems" "" "" ""
-"MEV" "J01DH52" "Meropenem/vaborbactam" "Carbapenems" "Other beta-lactam antibacterials" "Carbapenems" "" "" ""
-"MES" 176886 "Mesulfamide" "Other antibacterials" "" "c(\"mesulfamide\", \"mesulfamido\", \"mesulfamidum\")" "character(0)"
-"MTC" "J01AA05" 54675785 "Metacycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "" "c(\"bialatan\", \"metaciclina\", \"metacycline\", \"metacyclinum\", \"methacycline\", \"methacycline base\", \"methacyclinum\", \"methylenecycline\", \"physiomycine\", \"rondomycin\")" 0.6 "g" "character(0)"
-"MTM" "J01CA14" 6713928 "Metampicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"blomopen\", \"bonopen\", \"celinmicina\", \"elatocilline\", \"fedacilina kapseln\", \"filorex\", \"italcina kapseln\", \"magnipen\", \"metabacter ampullen\", \"metambac\", \"metampicilina\", \"metampicillin\", \"metampicillin sodium\", \"metampicillina\", \"metampicilline\", \"metampicillinum\", \"methampicillin\", \"metiskia ampullen\", \"micinovo\", \"micinovo ampullen\", \"pangocilin\", \"probiotic\", \"rastomycin k\", \"relyothenate\", \"ruticina\", \"rutizina\", \"rutizina ampullen\", \"sedomycin\", \"suvipen\", \"suvipen ampullen\", \"tampilen ampullen\",
+"ITR" 3793 "Itraconazole" "Antifungals/antimycotics" "J02AC02" "Antimycotics for systemic use" "Triazole derivatives" "itra" "c(\"itraconazol\", \"itraconazole\", \"itraconazolum\", \"itraconzaole\", \"itrazole\", \"oriconazole\", \"sporanox\")" 0.2 "g" 0.2 "g" "c(\"10989-2\", \"12392-7\", \"25258-5\", \"27081-9\", \"32184-4\", \"32185-1\", \"80531-7\")"
+"JOS" 5282165 "Josamycin" "Macrolides/lincosamides" "J01FA07" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"josacine\", \"josamicina\", \"josamycin\", \"josamycine\", \"josamycinum\")" 2 "g" "character(0)"
+"KAN" 6032 "Kanamycin" "Aminoglycosides" "c(\"A07AA08\", \"J01GB04\", \"S01AA24\")" "Aminoglycoside antibacterials" "Other aminoglycosides" "c(\"hlk\", \"k\", \"kan\", \"kana\", \"km\")" "c(\"kanamicina\", \"kanamycin\", \"kanamycin a\", \"kanamycin base\", \"kanamycine\", \"kanamycinum\", \"kantrex\", \"kenamycin a\", \"klebcil\", \"liposomal kanamycin\")" 1 "g" "c(\"23889-9\", \"3698-8\", \"3699-6\", \"3700-2\", \"47395-9\")"
+"KAH" "Kanamycin-high" "Aminoglycosides" "c(\"\", \"k_h\", \"kahl\")" "" ""
+"KAC" "Kanamycin/cephalexin" "Aminoglycosides" "" "" ""
+"KET" 456201 "Ketoconazole" "Antifungals/antimycotics" "c(\"D01AC08\", \"G01AF11\", \"H02CA03\", \"J02AB02\")" "Antimycotics for systemic use" "Imidazole derivatives" "c(\"keto\", \"ktc\")" "c(\"extina\", \"fungarest\", \"fungoral\", \"ketocanazole\", \"ketoconazol\", \"ketoconazole\", \"ketoconazolum\", \"ketoderm\", \"nizoral\", \"xolegel\")" 0.2 "g" "c(\"10990-0\", \"12393-5\", \"25259-3\", \"60091-6\", \"60092-4\")"
+"KIT" "Kitasamycin (Leucomycin)" "Macrolides/lincosamides" "" "" ""
+"LAS" 5360807 "Lasalocid" "Other antibacterials" "" "c(\"avatec\", \"lasalocid\", \"lasalocid a\", \"lasalocide\", \"lasalocide a\", \"lasalocido\", \"lasalocidum\")" "87598-9"
+"LTM" 47499 "Latamoxef" "Cephalosporins (3rd gen.)" "J01DD06" "Other beta-lactam antibacterials" "Third-generation cephalosporins" "c(\"mox\", \"moxa\")" "c(\"disodium moxalactam\", \"festamoxin\", \"lamoxactam\", \"latamoxef\", \"latamoxefum\", \"shiomarin\")" 4 "g" "character(0)"
+"LMU" 25185057 "Lefamulin" "Other antibacterials" "J01XX12" "" "lefamulin" "character(0)"
+"LEN" 65646 "Lenampicillin" "Beta-lactams/penicillins" "" "c(\"lenampicilina\", \"lenampicillin\", \"lenampicillin hcl\", \"lenampicilline\", \"lenampicillinum\")" "character(0)"
+"LVX" 149096 "Levofloxacin" "Quinolones" "c(\"J01MA12\", \"S01AE05\")" "Quinolone antibacterials" "Fluoroquinolones" "c(\"le\", \"lev\", \"levo\", \"lvx\")" "c(\"aeroquin\", \"cravit\", \"cravit hydrate\", \"cravit iv\", \"cravit ophthalmic\", \"elequine\", \"floxacin\", \"floxel\", \"iquix hydrate\", \"leroxacin\", \"lesacin\", \"levaquin\", \"levaquin hydrate\", \"levo floxacin\", \"levofiexacin\", \"levofloxacin\", \"levofloxacin hydrate\", \"levofloxacine\", \"levofloxacino\", \"levofloxacinum\", \"levokacin\", \"levoxacin\", \"mosardal\", \"nofaxin\", \"oftaquix\", \"quixin\", \"reskuin\", \"tavanic\", \"unibiotic\", \"venaxan\", \"volequin\")" 0.5 "g" 0.5 "g" "c(\"21368-6\", \"30532-6\", \"30533-4\")"
+"LND" 9850038 "Levonadifloxacin" "Quinolones" "J01MA24" "" "levonadifloxacin" "character(0)"
+"LSP" "Linco-spectin (lincomycin/spectinomycin)" "Other antibacterials" "" "" ""
+"LIN" 3000540 "Lincomycin" "Macrolides/lincosamides" "J01FF02" "Macrolides, lincosamides and streptogramins" "Lincosamides" "linc" "c(\"cillimycin\", \"jiemycin\", \"lincolcina\", \"lincolnensin\", \"lincomicina\", \"lincomycin\", \"lincomycin a\", \"lincomycine\", \"lincomycinum\")" 1.8 "g" 1.8 "g" "87597-1"
+"LNZ" 441401 "Linezolid" "Oxazolidinones" "J01XX08" "Other antibacterials" "Other antibacterials" "c(\"line\", \"lnz\", \"lz\", \"lzd\")" "c(\"linezlid\", \"linezoid\", \"linezolid\", \"linezolide\", \"linezolidum\", \"zivoxid\", \"zyvoxa\", \"zyvoxam\", \"zyvoxid\")" 1.2 "g" 1.2 "g" "c(\"34202-2\", \"80609-1\")"
+"LFE" "Linoprist-flopristin" "Other antibacterials" "" "" ""
+"LOM" 3948 "Lomefloxacin" "Quinolones" "c(\"J01MA07\", \"S01AE04\")" "Quinolone antibacterials" "Fluoroquinolones" "c(\"lmf\", \"lom\", \"lome\")" "c(\"lomefloxacin\", \"lomefloxacine\", \"lomefloxacino\", \"lomefloxacinum\", \"maxaquin\")" 0.4 "character(0)"
+"LOR" 5284585 "Loracarbef" "Cephalosporins (2nd gen.)" "J01DC08" "Other beta-lactam antibacterials" "Second-generation cephalosporins" "c(\"\", \"lora\")" "c(\"anhydrous loracarbef\", \"lorabid\", \"loracarbef\", \"loracarbefum\", \"lorbef\", \"loribid\")" 0.6 "g" "character(0)"
+"LYM" 54707177 "Lymecycline" "Tetracyclines" "J01AA04" "Tetracyclines" "Tetracyclines" "" "c(\"biovetin\", \"chlortetracyclin\", \"ciclisin\", \"ciclolysal\", \"infaciclina\", \"limeciclina\", \"lisinbiotic\", \"lymecyclin\", \"lymecycline\", \"lymecyclinum\", \"mucomycin\", \"ntetracycline\", \"tetralisal\", \"tetralysal\", \"vebicyclysal\")" 0.6 "g" 0.6 "g" "character(0)"
+"MNA" 1292 "Mandelic acid" "Other antibacterials" "c(\"B05CA06\", \"J01XX06\")" "Other antibacterials" "Other antibacterials" "" "c(\"acido mandelico\", \"almond acid\", \"amygdalic acid\", \"benzoglycolic acid\", \"hydroxyacetic acid\", \"kyselina mandlova\", \"mandelic acid\", \"paramandelic acid\", \"phenylglycolic acid\", \"uromaline\")" 12 "g" "character(0)"
+"MAR" 60651 "Marbofloxacin" "Quinolones" "" "c(\"marbocyl\", \"marbofloxacin\", \"marbofloxacine\", \"marbofloxacino\", \"marbofloxacinum\", \"zeniquin\")" "character(0)"
+"MEC" 36273 "Mecillinam (Amdinocillin)" "Beta-lactams/penicillins" "J01CA11" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"amdinocillin\", \"coactin\", \"hexacillin\", \"mecilinamo\", \"mecillinam\", \"mecillinamum\", \"micillinam\", \"penicillin hx\", \"selexidin\")" 1.2 "g" "character(0)"
+"MEL" 71306732 "Meleumycin" "Macrolides/lincosamides" "" "" ""
+"MEM" 441130 "Meropenem" "Carbapenems" "J01DH02" "Other beta-lactam antibacterials" "Carbapenems" "c(\"mem\", \"mer\", \"mero\", \"mp\", \"mrp\")" "c(\"meronem\", \"meropen\", \"meropenem\", \"meropenem anhydrous\", \"meropenem hydrate\", \"meropenem trihydrate\", \"meropenemum\", \"merrem\", \"merrem i.v.\", \"merrem iv\")" 3 "g" "41406-0"
+"MNC" "Meropenem/nacubactam" "Carbapenems" "" "" ""
+"MEV" "Meropenem/vaborbactam" "Carbapenems" "J01DH52" "Other beta-lactam antibacterials" "Carbapenems" "" "" ""
+"MES" 176886 "Mesulfamide" "Other antibacterials" "" "c(\"mesulfamide\", \"mesulfamido\", \"mesulfamidum\")" "character(0)"
+"MTC" 54675785 "Metacycline" "Tetracyclines" "J01AA05" "Tetracyclines" "Tetracyclines" "" "c(\"bialatan\", \"metaciclina\", \"metacycline\", \"metacyclinum\", \"methacycline\", \"methacycline base\", \"methacyclinum\", \"methylenecycline\", \"physiomycine\", \"rondomycin\")" 0.6 "g" "character(0)"
+"MTM" 6713928 "Metampicillin" "Beta-lactams/penicillins" "J01CA14" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "" "c(\"blomopen\", \"bonopen\", \"celinmicina\", \"elatocilline\", \"fedacilina kapseln\", \"filorex\", \"italcina kapseln\", \"magnipen\", \"metabacter ampullen\", \"metambac\", \"metampicilina\", \"metampicillin\", \"metampicillin sodium\", \"metampicillina\", \"metampicilline\", \"metampicillinum\", \"methampicillin\", \"metiskia ampullen\", \"micinovo\", \"micinovo ampullen\", \"pangocilin\", \"probiotic\", \"rastomycin k\", \"relyothenate\", \"ruticina\", \"rutizina\", \"rutizina ampullen\", \"sedomycin\", \"suvipen\", \"suvipen ampullen\", \"tampilen ampullen\",
\"teonicon trofen\", \"viderpen\", \"viderpin\", \"vioplex\")" 1.5 "g" 1.5 "g" "character(0)"
-"MTH" "J01XX05" 4101 "Methenamine" "Other antibacterials" "Other antibacterials" "Other antibacterials" "" "c(\"aceto hmt\", \"aminoform\", \"aminoformaldehyde\", \"ammoform\", \"ammonioformaldehyde\", \"antihydral\", \"cystamin\", \"cystex\", \"cystogen\", \"duirexol\", \"ekagom h\", \"esametilentetramina\", \"formamine\", \"formin\", \"h.m.t.\", \"heksa k\", \"herax uts\", \"heterin\", \"hexa b\", \"hexaform\", \"hexaloids\", \"hexamethylamine\", \"hexamethylenamine\", \"hexamethyleneamine\", \"hexamethylentetramin\", \"hexamine\", \"hexamine silver\", \"hexamine superfine\", \"hexaminum\", \"hexasan\", \"hexilmethylenamine\", \"metenamina\", \"metenamine\", \"methamin\",
+"MTH" 4101 "Methenamine" "Other antibacterials" "J01XX05" "Other antibacterials" "Other antibacterials" "" "c(\"aceto hmt\", \"aminoform\", \"aminoformaldehyde\", \"ammoform\", \"ammonioformaldehyde\", \"antihydral\", \"cystamin\", \"cystex\", \"cystogen\", \"duirexol\", \"ekagom h\", \"esametilentetramina\", \"formamine\", \"formin\", \"h.m.t.\", \"heksa k\", \"herax uts\", \"heterin\", \"hexa b\", \"hexaform\", \"hexaloids\", \"hexamethylamine\", \"hexamethylenamine\", \"hexamethyleneamine\", \"hexamethylentetramin\", \"hexamine\", \"hexamine silver\", \"hexamine superfine\", \"hexaminum\", \"hexasan\", \"hexilmethylenamine\", \"metenamina\", \"metenamine\", \"methamin\",
\"methenamin\", \"methenamine\", \"methenamine silver\", \"methenaminum\", \"metramine\", \"naphthamine\", \"nocceler h\", \"preparation af\", \"resotropin\", \"sanceler h\", \"sanceler ht\", \"silver methenamine\", \"uramin\", \"uratrine\", \"urisol\", \"uritone\", \"urodeine\", \"urotropin\", \"urotropine\", \"vesaloin\", \"vesalvine\", \"xametrin\")" 3 "g" "character(0)"
-"MET" "J01CF03" 6087 "Methicillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "meti" "c(\"dimocillin\", \"metacillin\", \"methcilline\", \"methicillin\", \"methicillinum\", \"methycillin\", \"meticilina\", \"meticillin\", \"meticillina\", \"meticilline\", \"meticillinum\", \"staphcillin\")" 4 "g" "c(\"29492-6\", \"3788-7\")"
-"MTP" 68590 "Metioprim" "Other antibacterials" "" "c(\"methioprim\", \"metioprim\", \"metioprima\", \"metioprime\", \"metioprimum\")" "character(0)"
-"MXT" 3047729 "Metioxate" "Quinolones" "" "c(\"metioxate\", \"metioxato\", \"metioxatum\")" "character(0)"
-"MTR" "J01XD01" 4173 "Metronidazole" "Other antibacterials" "Other antibacterials" "Imidazole derivatives" "c(\"metr\", \"mnz\")" "c(\"acromona\", \"anagiardil\", \"arilin\", \"atrivyl\", \"danizol\", \"deflamon\", \"efloran\", \"elyzol\", \"entizol\", \"flagemona\", \"flagesol\", \"flagil\", \"flagyl\", \"flagyl er\", \"flagyl i.v.\", \"flagyl i.v. rtu\", \"flazol\", \"flegyl\", \"florazole\", \"fossyol\", \"giatricol\", \"ginefla vir\", \"gineflavir\", \"helidac\", \"mepagyl\", \"meronidal\", \"methronidazole\", \"metric\", \"metro cream\", \"metro gel\", \"metro i.v\", \"metro i.v.\", \"metro iv\", \"metrocream\", \"metrodzhil\", \"metrogel\", \"metrogyl\", \"metrolag\", \"metrolotion\", \"metrolyl\",
+"MET" 6087 "Methicillin" "Beta-lactams/penicillins" "J01CF03" "Beta-lactam antibacterials, penicillins" "Beta-lactamase resistant penicillins" "meti" "c(\"dimocillin\", \"metacillin\", \"methcilline\", \"methicillin\", \"methicillinum\", \"methycillin\", \"meticilina\", \"meticillin\", \"meticillina\", \"meticilline\", \"meticillinum\", \"staphcillin\")" 4 "g" "c(\"29492-6\", \"3788-7\")"
+"MTP" 68590 "Metioprim" "Other antibacterials" "" "c(\"methioprim\", \"metioprim\", \"metioprima\", \"metioprime\", \"metioprimum\")" "character(0)"
+"MXT" 3047729 "Metioxate" "Quinolones" "" "c(\"metioxate\", \"metioxato\", \"metioxatum\")" "character(0)"
+"MTR" 4173 "Metronidazole" "Other antibacterials" "c(\"A01AB17\", \"D06BX01\", \"G01AF01\", \"J01XD01\", \"P01AB01\")" "Other antibacterials" "Imidazole derivatives" "c(\"metr\", \"mnz\")" "c(\"acromona\", \"anagiardil\", \"arilin\", \"atrivyl\", \"danizol\", \"deflamon\", \"efloran\", \"elyzol\", \"entizol\", \"flagemona\", \"flagesol\", \"flagil\", \"flagyl\", \"flagyl er\", \"flagyl i.v.\", \"flagyl i.v. rtu\", \"flazol\", \"flegyl\", \"florazole\", \"fossyol\", \"giatricol\", \"ginefla vir\", \"gineflavir\", \"helidac\", \"mepagyl\", \"meronidal\", \"methronidazole\", \"metric\", \"metro cream\", \"metro gel\", \"metro i.v\", \"metro i.v.\", \"metro iv\", \"metrocream\", \"metrodzhil\", \"metrogel\", \"metrogyl\", \"metrolag\", \"metrolotion\", \"metrolyl\",
\"metromidol\", \"metronidaz\", \"metronidazol\", \"metronidazole\", \"metronidazole usp\", \"metronidazolo\", \"metronidazolum\", \"metrotop\", \"metrozine\", \"metryl\", \"mexibol\", \"mexibol 'silanes'\", \"monagyl\", \"monasin\", \"nidagel\", \"nidagyl\", \"noritate\", \"novonidazol\", \"orvagil\", \"polibiotic\", \"protostat\", \"rathimed\", \"rosased\", \"sanatrichom\", \"satric\", \"takimetol\", \"trichazol\", \"trichex\", \"tricho cordes\", \"trichobrol\", \"trichocide\", \"trichomol\", \"trichopal\", \"trichopol\", \"tricocet\", \"tricom\", \"tricowas b\", \"trikacide\",
\"trikamon\", \"trikhopol\", \"trikojol\", \"trikozol\", \"trimeks\", \"trivazol\", \"vagilen\", \"vagimid\", \"vandazole\", \"vertisal\", \"wagitran\", \"zadstat\", \"zidoval\")" 1.5 "g" "10991-8"
-"MEZ" "J01CA10" 656511 "Mezlocillin" "Beta-lactams/penicillins" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"mez\", \"mezl\", \"mz\")" "c(\"mezlin\", \"mezlocilina\", \"mezlocillin\", \"mezlocillin acid\", \"mezlocillin sodium\", \"mezlocilline\", \"mezlocillinum\", \"multocillin\")" 6 "g" "3820-8"
-"MSU" "Mezlocillin/sulbactam" "Beta-lactams/penicillins" "" "" ""
-"MIF" "J02AX05" 477468 "Micafungin" "Antifungals/antimycotics" "Antimycotics for systemic use" "Other antimycotics for systemic use" "c(\"\", \"mica\")" "c(\"micafungin\", \"mycamine\")" 0.1 "g" "58418-5"
-"MCZ" "J02AB01" 4189 "Miconazole" "Antifungals/antimycotics" "Antimycotics for systemic use" "Imidazole derivatives" "mico" "c(\"aflorix\", \"albistat\", \"andergin\", \"brentan\", \"conofite\", \"dactarin\", \"daktarin\", \"daktarin iv\", \"florid\", \"lotrimin af\", \"micantin\", \"miconasil nitrate\", \"miconazol\", \"miconazole\", \"miconazole base\", \"miconazolo\", \"miconazolum\", \"micozole\", \"minostate\", \"monista\", \"monistat\", \"monistat iv\", \"oravig\", \"vusion\", \"zimybase\", \"zimycan\")" 1 "g" "17278-3"
-"MCR" 3037206 "Micronomicin" "Aminoglycosides" "" "c(\"gentamicin c\", \"micromycin\", \"micronomicin\", \"micronomicina\", \"micronomicine\", \"micronomicinum\", \"sagamicin\", \"santemycin\")" "character(0)"
-"MID" "J01FA03" 5282169 "Midecamycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"aboren\", \"espinomycin a\", \"macropen\", \"madecacine\", \"medemycin\", \"midecamicina\", \"midecamycin\", \"midecamycin a\", \"midecamycine\", \"midecamycinum\", \"midecin\", \"momicine\", \"mydecamycin\", \"myoxam\", \"normicina\", \"rubimycin\", \"turimycin p\")" 1.2 1 "g" "character(0)"
-"MIL" 37614 "Miloxacin" "Quinolones" "" "c(\"miloxacin\", \"miloxacine\", \"miloxacino\", \"miloxacinum\")" "character(0)"
-"MNO" "J01AA08" 54675783 "Minocycline" "Tetracyclines" "Tetracyclines" "Tetracyclines" "c(\"mc\", \"mh\", \"mi\", \"min\", \"mino\", \"mn\", \"mno\")" "c(\"akamin\", \"aknemin\", \"borymycin\", \"dynacin\", \"klinomycin\", \"minociclina\", \"minocin\", \"minocline\", \"minocyclin\", \"minocycline\", \"minocyclinum\", \"minocyn\", \"minoderm\", \"minomycin\", \"sebomin\", \"solodyn\", \"vectrin\")" 0.2 "g" 0.2 "g" "c(\"34606-4\", \"3822-4\", \"49757-8\")"
-"MCM" "J01FA11" 5282188 "Miocamycin" "Macrolides/lincosamides" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"acecamycin\", \"macroral\", \"midecamycin acetate\", \"miocamen\", \"miocamycine\", \"miokamycin\", \"myocamicin\", \"ponsinomycin\")" 1.2 "g" "character(0)"
-"MON" 23667299 "Monensin sodium" "Other antibacterials" "" "c(\"monensin sodium\", \"sodium monensin\")" "character(0)"
-"MRN" "J04AK04" 70374 "Morinamide" "Antimycobacterials" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "" "c(\"morfazinamide\", \"morfazinammide\", \"morfgazinamide\", \"morinamida\", \"morinamide\", \"morinamidum\", \"morphazinamid\", \"morphazinamide\", \"piazofolina\", \"piazolin\", \"piazolina\")" "character(0)"
-"MFX" "J01MA14" 152946 "Moxifloxacin" "Quinolones" "Quinolone antibacterials" "Fluoroquinolones" "c(\"mox\", \"moxi\", \"mxf\")" "c(\"actira\", \"avelox\", \"avelox i.v.\", \"avelox iv\", \"avolex\", \"izilox\", \"moxeza\", \"moxifloxacin\", \"moxifloxacine\", \"vigamox\")" 0.4 "g" 0.4 "g" "c(\"43751-7\", \"45223-5\", \"80540-8\")"
-"MUP" "R01AX06" 446596 "Mupirocin" "Other antibacterials" "c(\"mup\", \"mupi\")" "c(\"bactoderm\", \"bactroban\", \"bactroban nasal\", \"bactroban ointment\", \"centany\", \"mupirocin\", \"mupirocina\", \"mupirocine\", \"mupirocinum\", \"plasimine\", \"pseudomonic acid\", \"pseudomonic acid a\", \"turixin\")" "character(0)"
-"NAC" 73386748 "Nacubactam" "Beta-lactams/penicillins" "" "nacubactam" "character(0)"
-"NAD" 4410 "Nadifloxacin" "Quinolones" "" "c(\"acuatim\", \"nadifloxacin\", \"nadifloxacine\", \"nadifloxacino\", \"nadifloxacinum\", \"nadixa\", \"nadoxin\")" "character(0)"
-"NAF" 8982 "Nafcillin" "Beta-lactams/penicillins" "" "c(\"nafcilina\", \"nafcillin\", \"nafcillin sodium\", \"nafcilline\", \"nafcillinum\", \"nallpen\", \"naphcillin\", \"unipen\")" "c(\"10993-4\", \"25232-0\")"
-"ZWK" 117587595 "Nafithromycin" "Macrolides/lincosamides" "" "nafithromycin" "character(0)"
-"NAL" "J01MB02" 4421 "Nalidixic acid" "Quinolones" "Quinolone antibacterials" "Other quinolones" "c(\"na\", \"nal\", \"nali\")" "c(\"acide nalidixico\", \"acide nalidixique\", \"acido nalidissico\", \"acido nalidixico\", \"acidum nalidixicum\", \"betaxina\", \"dixiben\", \"dixinal\", \"eucisten\", \"eucistin\", \"innoxalomn\", \"innoxalon\", \"jicsron\", \"kusnarin\", \"naldixic acid\", \"nalidic acid\", \"nalidicron\", \"nalidixan\", \"nalidixane\", \"nalidixate\", \"nalidixate sodium\", \"nalidixic\", \"nalidixic acid\", \"nalidixin\", \"nalidixinic acid\", \"nalidixinsaure\", \"nalitucsan\", \"nalurin\", \"narigix\", \"naxuril\", \"neggram\", \"negram\", \"nevigramon\", \"nicelate\", \"nogram\",
+"MEZ" 656511 "Mezlocillin" "Beta-lactams/penicillins" "J01CA10" "Beta-lactam antibacterials, penicillins" "Penicillins with extended spectrum" "c(\"mez\", \"mezl\", \"mz\")" "c(\"mezlin\", \"mezlocilina\", \"mezlocillin\", \"mezlocillin acid\", \"mezlocillin sodium\", \"mezlocilline\", \"mezlocillinum\", \"multocillin\")" 6 "g" "3820-8"
+"MSU" "Mezlocillin/sulbactam" "Beta-lactams/penicillins" "" "" ""
+"MIF" 477468 "Micafungin" "Antifungals/antimycotics" "J02AX05" "Antimycotics for systemic use" "Other antimycotics for systemic use" "c(\"\", \"mica\")" "c(\"micafungin\", \"mycamine\")" 0.1 "g" "58418-5"
+"MCZ" 4189 "Miconazole" "Antifungals/antimycotics" "c(\"A01AB09\", \"A07AC01\", \"D01AC02\", \"G01AF04\", \"J02AB01\", \"S02AA13\")" "Antimycotics for systemic use" "Imidazole derivatives" "mico" "c(\"aflorix\", \"albistat\", \"andergin\", \"brentan\", \"conofite\", \"dactarin\", \"daktarin\", \"daktarin iv\", \"florid\", \"lotrimin af\", \"micantin\", \"miconasil nitrate\", \"miconazol\", \"miconazole\", \"miconazole base\", \"miconazolo\", \"miconazolum\", \"micozole\", \"minostate\", \"monista\", \"monistat\", \"monistat iv\", \"oravig\", \"vusion\", \"zimybase\", \"zimycan\")" 1 "g" "17278-3"
+"MCR" 3037206 "Micronomicin" "Aminoglycosides" "S01AA22" "" "c(\"gentamicin c\", \"micromycin\", \"micronomicin\", \"micronomicina\", \"micronomicine\", \"micronomicinum\", \"sagamicin\", \"santemycin\")" "character(0)"
+"MID" 5282169 "Midecamycin" "Macrolides/lincosamides" "J01FA03" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"aboren\", \"espinomycin a\", \"macropen\", \"madecacine\", \"medemycin\", \"midecamicina\", \"midecamycin\", \"midecamycin a\", \"midecamycine\", \"midecamycinum\", \"midecin\", \"momicine\", \"mydecamycin\", \"myoxam\", \"normicina\", \"rubimycin\", \"turimycin p\")" 1.2 1 "g" "character(0)"
+"MIL" 37614 "Miloxacin" "Quinolones" "" "c(\"miloxacin\", \"miloxacine\", \"miloxacino\", \"miloxacinum\")" "character(0)"
+"MNO" 54675783 "Minocycline" "Tetracyclines" "c(\"A01AB23\", \"D10AF07\", \"J01AA08\")" "Tetracyclines" "Tetracyclines" "c(\"mc\", \"mh\", \"mi\", \"min\", \"mino\", \"mn\", \"mno\")" "c(\"akamin\", \"aknemin\", \"borymycin\", \"dynacin\", \"klinomycin\", \"minociclina\", \"minocin\", \"minocline\", \"minocyclin\", \"minocycline\", \"minocyclinum\", \"minocyn\", \"minoderm\", \"minomycin\", \"sebomin\", \"solodyn\", \"vectrin\")" 0.2 "g" 0.2 "g" "c(\"34606-4\", \"3822-4\", \"49757-8\")"
+"MCM" 5282188 "Miocamycin" "Macrolides/lincosamides" "J01FA11" "Macrolides, lincosamides and streptogramins" "Macrolides" "" "c(\"acecamycin\", \"macroral\", \"midecamycin acetate\", \"miocamen\", \"miocamycine\", \"miokamycin\", \"myocamicin\", \"ponsinomycin\")" 1.2 "g" "character(0)"
+"MON" 23667299 "Monensin sodium" "Other antibacterials" "" "c(\"monensin sodium\", \"sodium monensin\")" "character(0)"
+"MRN" 70374 "Morinamide" "Antimycobacterials" "J04AK04" "Drugs for treatment of tuberculosis" "Other drugs for treatment of tuberculosis" "" "c(\"morfazinamide\", \"morfazinammide\", \"morfgazinamide\", \"morinamida\", \"morinamide\", \"morinamidum\", \"morphazinamid\", \"morphazinamide\", \"piazofolina\", \"piazolin\", \"piazolina\")" "character(0)"
+"MFX" 152946 "Moxifloxacin" "Quinolones" "c(\"J01MA14\", \"S01AE07\")" "Quinolone antibacterials" "Fluoroquinolones" "c(\"mox\", \"moxi\", \"mxf\")" "c(\"actira\", \"avelox\", \"avelox i.v.\", \"avelox iv\", \"avolex\", \"izilox\", \"moxeza\", \"moxifloxacin\", \"moxifloxacine\", \"vigamox\")" 0.4 "g" 0.4 "g" "c(\"43751-7\", \"45223-5\", \"80540-8\")"
+"MUP" 446596 "Mupirocin" "Other antibacterials" "c(\"D06AX09\", \"R01AX06\")" "c(\"mup\", \"mupi\")" "c(\"bactoderm\", \"bactroban\", \"bactroban nasal\", \"bactroban ointment\", \"centany\", \"mupirocin\", \"mupirocina\", \"mupirocine\", \"mupirocinum\", \"plasimine\", \"pseudomonic acid\", \"pseudomonic acid a\", \"turixin\")" "character(0)"
+"NAC" 73386748 "Nacubactam" "Beta-lactams/penicillins" "" "nacubactam" "character(0)"
+"NAD" 4410 "Nadifloxacin" "Quinolones" "D10AF05" "" "c(\"acuatim\", \"nadifloxacin\", \"nadifloxacine\", \"nadifloxacino\", \"nadifloxacinum\", \"nadixa\", \"nadoxin\")" "character(0)"
+"NAF" 8982 "Nafcillin" "Beta-lactams/penicillins" "J01CF06" "" "c(\"nafcilina\", \"nafcillin\", \"nafcillin sodium\", \"nafcilline\", \"nafcillinum\", \"nallpen\", \"naphcillin\", \"unipen\")" "c(\"10993-4\", \"25232-0\")"
+"ZWK" 117587595 "Nafithromycin" "Macrolides/lincosamides" "" "nafithromycin" "character(0)"
+"NAL" 4421 "Nalidixic acid" "Quinolones" "J01MB02" "Quinolone antibacterials" "Other quinolones" "c(\"na\", \"nal\", \"nali\")" "c(\"acide nalidixico\", \"acide nalidixique\", \"acido nalidissico\", \"acido nalidixico\", \"acidum nalidixicum\", \"betaxina\", \"dixiben\", \"dixinal\", \"eucisten\", \"eucistin\", \"innoxalomn\", \"innoxalon\", \"jicsron\", \"kusnarin\", \"naldixic acid\", \"nalidic acid\", \"nalidicron\", \"nalidixan\", \"nalidixane\", \"nalidixate\", \"nalidixate sodium\", \"nalidixic\", \"nalidixic acid\", \"nalidixin\", \"nalidixinic acid\", \"nalidixinsaure\", \"nalitucsan\", \"nalurin\", \"narigix\", \"naxuril\", \"neggram\", \"negram\", \"nevigramon\", \"nicelate\", \"nogram\",
\"poleon\", \"sicmylon\", \"specifen\", \"specifin\", \"unaserus\", \"uralgin\", \"uriben\", \"uriclar\", \"urisal\", \"urodixin\", \"uroman\", \"uroneg\", \"uronidix\", \"uropan\", \"wintomylon\", \"wintron\")" 4 "g" "character(0)"
-"NAR" 65452 "Narasin" "Other antibacterials" "" "c(\"monteban\", \"narasin\", \"narasin a\", \"narasine\", \"narasino\", \"narasinum\", \"narasul\")" "87570-8"
-"NEO" "J01GB05" 8378 "Neomycin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "neom" "c(\"actilin\", \"actiline\", \"antibiotique\", \"bycomycin\", \"endomixin\", \"enterfram\", \"fradiomycin\", \"fradiomycin b\", \"fradiomycinum\", \"framicetina\", \"framycetin\", \"framycetin sulfate\", \"framycetine\", \"framycetinum\", \"framygen\", \"fraquinol\", \"jernadex\", \"myacine\", \"myacyne\", \"mycerin\", \"mycifradin\", \"neobrettin\", \"neolate\", \"neomas\", \"neomcin\", \"neomicina\", \"neomin\", \"neomycin\", \"neomycin b\", \"neomycin b sulfate\", \"neomycin solution\", \"neomycin sulfate\", \"neomycin sulphate\", \"neomycinb\", \"neomycine\", \"neomycinum\",
+"NAR" 65452 "Narasin" "Other antibacterials" "" "c(\"monteban\", \"narasin\", \"narasin a\", \"narasine\", \"narasino\", \"narasinum\", \"narasul\")" "87570-8"
+"NEO" 8378 "Neomycin" "Aminoglycosides" "c(\"A01AB08\", \"A07AA01\", \"B05CA09\", \"D06AX04\", \"J01GB05\", \"R02AB01\", \"S01AA03\", \"S02AA07\", \"S03AA01\")" "Aminoglycoside antibacterials" "Other aminoglycosides" "neom" "c(\"actilin\", \"actiline\", \"antibiotique\", \"bycomycin\", \"endomixin\", \"enterfram\", \"fradiomycin\", \"fradiomycin b\", \"fradiomycinum\", \"framicetina\", \"framycetin\", \"framycetin sulfate\", \"framycetine\", \"framycetinum\", \"framygen\", \"fraquinol\", \"jernadex\", \"myacine\", \"myacyne\", \"mycerin\", \"mycifradin\", \"neobrettin\", \"neolate\", \"neomas\", \"neomcin\", \"neomicina\", \"neomin\", \"neomycin\", \"neomycin b\", \"neomycin b sulfate\", \"neomycin solution\", \"neomycin sulfate\", \"neomycin sulphate\", \"neomycinb\", \"neomycine\", \"neomycinum\",
\"nivemycin\", \"pimavecort\", \"soframycin\", \"soframycine\", \"tuttomycin\", \"vonamycin\", \"vonamycin powder v\")" 1 "g" "c(\"10995-9\", \"25262-7\")"
-"NET" "J01GB07" 441306 "Netilmicin" "Aminoglycosides" "Aminoglycoside antibacterials" "Other aminoglycosides" "neti" "c(\"netillin\", \"netilmicin\", \"netilmicin sulfate\", \"netilmicina\", \"netilmicine\", \"netilmicinum\", \"netilyn\", \"netira\", \"vectacin\")" 0.35 "g" 0.35 "g" "c(\"25263-5\", \"3848-9\", \"3849-7\", \"3850-5\", \"47385-0\", \"59565-2\", \"59566-0\", \"59567-8\")"
-"NIC" 9507 "Nicarbazin" "Other antibacterials" "" "c(\"nicarb\", \"nicarbasin\", \"nicarbazin\", \"nicarbazine\", \"nicoxin\", \"nicrazin\", \"nicrazine\", \"nirazin\")" "character(0)"
-"NIF" 71946 "Nifuroquine" "Quinolones" "" "c(\"nifuroquina\", \"nifuroquine\", \"nifuroquinum\", \"quinaldofur\")" "character(0)"
-"NFR" "J01XE02" 9571062 "Nifurtoinol" "Other antibacterials" "Other antibacterials" "Nitrofuran derivatives" "" "c(\"levantin\", \"nifurtoinol\", \"nifurtoinolo\", \"nifurtoinolum\", \"urfadin\", \"urfadine\", \"urfadyn\")" 0.16 "g" "character(0)"
-"NTZ" 41684 "Nitazoxanide" "Other antibacterials" "" "c(\"adrovet\", \"alinia\", \"azt + nitazoxanide\", \"colufase\", \"cryptaz\", \"dexidex\", \"heliton\", \"kidonax\", \"nitaxozanid\", \"nitaxozanide\", \"nitazox\", \"nitazoxamide\", \"nitazoxanid\", \"nitazoxanida\", \"nitazoxanide\", \"nitazoxanidum\", \"omniparax\", \"pacovanton\", \"paramix\", \"taenitaz\")" "character(0)"
-"NIT" "J01XE01" 6604200 "Nitrofurantoin" "Other antibacterials" "Other antibacterials" "Nitrofuran derivatives" "c(\"f\", \"f/m\", \"fd\", \"ft\", \"ni\", \"nit\", \"nitr\")" "c(\"alfuran\", \"benkfuran\", \"berkfuran\", \"berkfurin\", \"ceduran\", \"chemiofuran\", \"cistofuran\", \"cyantin\", \"cystit\", \"dantafur\", \"fua med\", \"fuamed\", \"furabid\", \"furachel\", \"furadantin\", \"furadantin retard\", \"furadantina mc\", \"furadantine\", \"furadantine mc\", \"furadantoin\", \"furadoin\", \"furadoine\", \"furadonin\", \"furadonine\", \"furadoninum\", \"furadontin\", \"furadoxyl\", \"furalan\", \"furaloid\", \"furantoin\", \"furantoina\", \"furatoin\", \"furedan\", \"furina\", \"furobactina\", \"furodantin\", \"furophen t\", \"gerofuran\",
+"NET" 441306 "Netilmicin" "Aminoglycosides" "c(\"J01GB07\", \"S01AA23\")" "Aminoglycoside antibacterials" "Other aminoglycosides" "neti" "c(\"netillin\", \"netilmicin\", \"netilmicin sulfate\", \"netilmicina\", \"netilmicine\", \"netilmicinum\", \"netilyn\", \"netira\", \"vectacin\")" 0.35 "g" 0.35 "g" "c(\"25263-5\", \"3848-9\", \"3849-7\", \"3850-5\", \"47385-0\", \"59565-2\", \"59566-0\", \"59567-8\")"
+"NIC" 9507 "Nicarbazin" "Other antibacterials" "" "c(\"nicarb\", \"nicarbasin\", \"nicarbazin\", \"nicarbazine\", \"nicoxin\", \"nicrazin\", \"nicrazine\", \"nirazin\")" "character(0)"
+"NIF" 71946 "Nifuroquine" "Quinolones" "" "c(\"nifuroquina\", \"nifuroquine\", \"nifuroquinum\", \"quinaldofur\")" "character(0)"
+"NFR" 9571062 "Nifurtoinol" "Other antibacterials" "J01XE02" "Other antibacterials" "Nitrofuran derivatives" "" "c(\"levantin\", \"nifurtoinol\", \"nifurtoinolo\", \"nifurtoinolum\", \"urfadin\", \"urfadine\", \"urfadyn\")" 0.16 "g" "character(0)"
+"NTZ" 41684 "Nitazoxanide" "Other antibacterials" "P01AX11" "" "c(\"adrovet\", \"alinia\", \"azt + nitazoxanide\", \"colufase\", \"cryptaz\", \"dexidex\", \"heliton\", \"kidonax\", \"nitaxozanid\", \"nitaxozanide\", \"nitazox\", \"nitazoxamide\", \"nitazoxanid\", \"nitazoxanida\", \"nitazoxanide\", \"nitazoxanidum\", \"omniparax\", \"pacovanton\", \"paramix\", \"taenitaz\")" "character(0)"
+"NIT" 6604200 "Nitrofurantoin" "Other antibacterials" "J01XE01" "Other antibacterials" "Nitrofuran derivatives" "c(\"f\", \"f/m\", \"fd\", \"ft\", \"ni\", \"nit\", \"nitr\")" "c(\"alfuran\", \"benkfuran\", \"berkfuran\", \"berkfurin\", \"ceduran\", \"chemiofuran\", \"cistofuran\", \"cyantin\", \"cystit\", \"dantafur\", \"fua med\", \"fuamed\", \"furabid\", \"furachel\", \"furadantin\", \"furadantin retard\", \"furadantina mc\", \"furadantine\", \"furadantine mc\", \"furadantoin\", \"furadoin\", \"furadoine\", \"furadonin\", \"furadonine\", \"furadoninum\", \"furadontin\", \"furadoxyl\", \"furalan\", \"furaloid\", \"furantoin\", \"furantoina\", \"furatoin\", \"furedan\", \"furina\", \"furobactina\", \"furodantin\", \"furophen t\", \"gerofuran\",
\"io>>uss>>a<%
oral_ddd = NA_real_))
-# update DDDs from WHOCC website
+
+# update ATC codes from WHOCC website -------------------------------------
+
+# last time checked: 2021-08-16
+
+updated_atc <- as.list(antibiotics$atc)
+
+get_atcs <- function(ab_name, url = "https://www.whocc.no/atc_ddd_index/") {
+
+ ab_name <- gsub("/", " and ", tolower(ab_name), fixed = TRUE)
+
+ # we will do a search on their website, which means:
+
+ # go to the url
+ atc_tbl <- read_html(url) %>%
+ # get all forms
+ html_form() %>%
+ # get the second form (the first form is a global website form)
+ .[[2]] %>%
+ # set the name input box to our search parameter
+ html_form_set(name = ab_name) %>%
+ # hit Submit
+ html_form_submit() %>%
+ # read the resulting page
+ read_html() %>%
+ # retrieve the table on it
+ html_node("table") %>%
+ # transform it to an R data set
+ html_table(header = FALSE)
+ # and get the ATCs (first column) of only exact hits
+ unique(as.character(atc_tbl[which(tolower(atc_tbl[, 2, drop = TRUE]) == ab_name), 1, drop = TRUE]))
+}
+
+# this takes around 4 minutes (some are skipped and go faster)
+for (i in seq_len(nrow(antibiotics))) {
+ message(percentage(i / nrow(antibiotics), digits = 1),
+ " - Downloading ", antibiotics$name[i],
+ appendLF = FALSE)
+ atcs <- get_atcs(antibiotics$name[i])
+ if (length(atcs) > 0) {
+ updated_atc[[i]] <- atcs
+ message(" (", length(atcs), " results)")
+ # let the WHO server rest for a second - they might have a limitation on the queries per second
+ Sys.sleep(1)
+ } else {
+ message(" (skipping)")
+ }
+}
+
+antibiotics$atc <- updated_atc
+
+# update DDDs from WHOCC website ------------------------------------------
+
# last time checked: 2021-06-23
ddd_oral <- double(length = nrow(antibiotics))
ddd_iv <- double(length = nrow(antibiotics))
diff --git a/data/antibiotics.rda b/data/antibiotics.rda
index d8f57208..e3d44d45 100755
Binary files a/data/antibiotics.rda and b/data/antibiotics.rda differ
diff --git a/docs/404.html b/docs/404.html
index 37f49db6..6967a87d 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -20,6 +20,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/AMR_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/AMR_files/figure-html/disk_plots-1.png b/docs/articles/AMR_files/figure-html/disk_plots-1.png
index edea8e5c..0a5b77cf 100644
Binary files a/docs/articles/AMR_files/figure-html/disk_plots-1.png and b/docs/articles/AMR_files/figure-html/disk_plots-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png b/docs/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png
index 9a982bfe..0a60ddb2 100644
Binary files a/docs/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png and b/docs/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/mic_plots-1.png b/docs/articles/AMR_files/figure-html/mic_plots-1.png
index 7c718e0f..704e39dc 100644
Binary files a/docs/articles/AMR_files/figure-html/mic_plots-1.png and b/docs/articles/AMR_files/figure-html/mic_plots-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/mic_plots-2.png b/docs/articles/AMR_files/figure-html/mic_plots-2.png
index b2af6e56..e98f14e1 100644
Binary files a/docs/articles/AMR_files/figure-html/mic_plots-2.png and b/docs/articles/AMR_files/figure-html/mic_plots-2.png differ
diff --git a/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png b/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png
index 7e39ab47..9379b6d4 100644
Binary files a/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png and b/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png b/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png
index a2a30d12..afac408e 100644
Binary files a/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png and b/docs/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png differ
diff --git a/docs/articles/AMR_files/figure-html/plot 1-1.png b/docs/articles/AMR_files/figure-html/plot 1-1.png
index 8b47d20e..4f1242a7 100644
Binary files a/docs/articles/AMR_files/figure-html/plot 1-1.png and b/docs/articles/AMR_files/figure-html/plot 1-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/plot 3-1.png b/docs/articles/AMR_files/figure-html/plot 3-1.png
index 80836032..1dc69c31 100644
Binary files a/docs/articles/AMR_files/figure-html/plot 3-1.png and b/docs/articles/AMR_files/figure-html/plot 3-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/plot 4-1.png b/docs/articles/AMR_files/figure-html/plot 4-1.png
index dbe76e87..87b21a44 100644
Binary files a/docs/articles/AMR_files/figure-html/plot 4-1.png and b/docs/articles/AMR_files/figure-html/plot 4-1.png differ
diff --git a/docs/articles/AMR_files/figure-html/plot 5-1.png b/docs/articles/AMR_files/figure-html/plot 5-1.png
index 232e71e5..3c301724 100644
Binary files a/docs/articles/AMR_files/figure-html/plot 5-1.png and b/docs/articles/AMR_files/figure-html/plot 5-1.png differ
diff --git a/docs/articles/AMR_files/header-attrs-2.3/header-attrs.js b/docs/articles/AMR_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/AMR_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/AMR_files/header-attrs-2.4/header-attrs.js b/docs/articles/AMR_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/AMR_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/AMR_files/header-attrs-2.6/header-attrs.js b/docs/articles/AMR_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/AMR_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/AMR_files/header-attrs-2.8/header-attrs.js b/docs/articles/AMR_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/AMR_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/EUCAST.html b/docs/articles/EUCAST.html
index e76d2dcc..ec93193c 100644
--- a/docs/articles/EUCAST.html
+++ b/docs/articles/EUCAST.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/EUCAST_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/EUCAST_files/header-attrs-2.3/header-attrs.js b/docs/articles/EUCAST_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/EUCAST_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/EUCAST_files/header-attrs-2.4/header-attrs.js b/docs/articles/EUCAST_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/EUCAST_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/EUCAST_files/header-attrs-2.6/header-attrs.js b/docs/articles/EUCAST_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/EUCAST_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/EUCAST_files/header-attrs-2.8/header-attrs.js b/docs/articles/EUCAST_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/EUCAST_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/MDR.html b/docs/articles/MDR.html
index d935b954..ed35e249 100644
--- a/docs/articles/MDR.html
+++ b/docs/articles/MDR.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/MDR_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/MDR_files/header-attrs-2.3/header-attrs.js b/docs/articles/MDR_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/MDR_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/MDR_files/header-attrs-2.4/header-attrs.js b/docs/articles/MDR_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/MDR_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/MDR_files/header-attrs-2.6/header-attrs.js b/docs/articles/MDR_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/MDR_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/MDR_files/header-attrs-2.8/header-attrs.js b/docs/articles/MDR_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/MDR_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/PCA.html b/docs/articles/PCA.html
index 2c15ac85..8fa7a8b8 100644
--- a/docs/articles/PCA.html
+++ b/docs/articles/PCA.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/PCA_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/PCA_files/header-attrs-2.3/header-attrs.js b/docs/articles/PCA_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/PCA_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/PCA_files/header-attrs-2.4/header-attrs.js b/docs/articles/PCA_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/PCA_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/PCA_files/header-attrs-2.6/header-attrs.js b/docs/articles/PCA_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/PCA_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/PCA_files/header-attrs-2.8/header-attrs.js b/docs/articles/PCA_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/PCA_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/SPSS.html b/docs/articles/SPSS.html
index 11a471b6..7fef695c 100644
--- a/docs/articles/SPSS.html
+++ b/docs/articles/SPSS.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/SPSS_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/SPSS_files/header-attrs-2.3/header-attrs.js b/docs/articles/SPSS_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/SPSS_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/SPSS_files/header-attrs-2.4/header-attrs.js b/docs/articles/SPSS_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/SPSS_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/SPSS_files/header-attrs-2.6/header-attrs.js b/docs/articles/SPSS_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/SPSS_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/SPSS_files/header-attrs-2.8/header-attrs.js b/docs/articles/SPSS_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/SPSS_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/WHONET.html b/docs/articles/WHONET.html
index 4ea31220..38dbea9e 100644
--- a/docs/articles/WHONET.html
+++ b/docs/articles/WHONET.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/WHONET_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/WHONET_files/header-attrs-2.3/header-attrs.js b/docs/articles/WHONET_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/WHONET_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/WHONET_files/header-attrs-2.4/header-attrs.js b/docs/articles/WHONET_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/WHONET_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/WHONET_files/header-attrs-2.6/header-attrs.js b/docs/articles/WHONET_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/WHONET_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/WHONET_files/header-attrs-2.8/header-attrs.js b/docs/articles/WHONET_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/WHONET_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/benchmarks.html b/docs/articles/benchmarks.html
index 0030db03..4b0013bf 100644
--- a/docs/articles/benchmarks.html
+++ b/docs/articles/benchmarks.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/benchmarks_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png
index f3d63dde..028285d2 100644
Binary files a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png and b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png differ
diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-6-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-6-1.png
deleted file mode 100644
index 9193e407..00000000
Binary files a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-6-1.png and /dev/null differ
diff --git a/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/benchmarks_files/header-attrs-2.4/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/benchmarks_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/benchmarks_files/header-attrs-2.6/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/benchmarks_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/benchmarks_files/header-attrs-2.7/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.7/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/benchmarks_files/header-attrs-2.7/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/benchmarks_files/header-attrs-2.8/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/benchmarks_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/datasets.html b/docs/articles/datasets.html
index bc77be30..439dfda6 100644
--- a/docs/articles/datasets.html
+++ b/docs/articles/datasets.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/datasets_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/datasets_files/header-attrs-2.3/header-attrs.js b/docs/articles/datasets_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/datasets_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/datasets_files/header-attrs-2.4/header-attrs.js b/docs/articles/datasets_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/datasets_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/datasets_files/header-attrs-2.6/header-attrs.js b/docs/articles/datasets_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/datasets_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/datasets_files/header-attrs-2.7/header-attrs.js b/docs/articles/datasets_files/header-attrs-2.7/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/datasets_files/header-attrs-2.7/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/datasets_files/header-attrs-2.8/header-attrs.js b/docs/articles/datasets_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/datasets_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/download_dta.png b/docs/articles/download_dta.png
deleted file mode 100644
index 23a2d5d8..00000000
Binary files a/docs/articles/download_dta.png and /dev/null differ
diff --git a/docs/articles/download_rds.png b/docs/articles/download_rds.png
deleted file mode 100644
index a97dab3a..00000000
Binary files a/docs/articles/download_rds.png and /dev/null differ
diff --git a/docs/articles/download_sas.png b/docs/articles/download_sas.png
deleted file mode 100644
index b4882c8a..00000000
Binary files a/docs/articles/download_sas.png and /dev/null differ
diff --git a/docs/articles/download_sav.png b/docs/articles/download_sav.png
deleted file mode 100644
index 8ef2dffb..00000000
Binary files a/docs/articles/download_sav.png and /dev/null differ
diff --git a/docs/articles/download_txt.png b/docs/articles/download_txt.png
deleted file mode 100644
index d5a7bbb3..00000000
Binary files a/docs/articles/download_txt.png and /dev/null differ
diff --git a/docs/articles/download_xlsx.png b/docs/articles/download_xlsx.png
deleted file mode 100644
index 05f78fd2..00000000
Binary files a/docs/articles/download_xlsx.png and /dev/null differ
diff --git a/docs/articles/index.html b/docs/articles/index.html
index c90f676b..70da061d 100644
--- a/docs/articles/index.html
+++ b/docs/articles/index.html
@@ -50,6 +50,9 @@
+
+
+
@@ -89,7 +92,7 @@
AMR (for R)
- 1.7.1.9022
+ 1.7.1.9023
@@ -266,7 +269,7 @@
How to predict antimicrobial resistance
- Welcome to the AMR package
+ Welcome to the `AMR` package
diff --git a/docs/articles/resistance_predict.html b/docs/articles/resistance_predict.html
index ff1181c2..10e46c1c 100644
--- a/docs/articles/resistance_predict.html
+++ b/docs/articles/resistance_predict.html
@@ -21,6 +21,9 @@
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/resistance_predict_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/resistance_predict_files/header-attrs-2.3/header-attrs.js b/docs/articles/resistance_predict_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/resistance_predict_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/resistance_predict_files/header-attrs-2.4/header-attrs.js b/docs/articles/resistance_predict_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/resistance_predict_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/resistance_predict_files/header-attrs-2.6/header-attrs.js b/docs/articles/resistance_predict_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/resistance_predict_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/resistance_predict_files/header-attrs-2.8/header-attrs.js b/docs/articles/resistance_predict_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/resistance_predict_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/welcome_to_AMR.html b/docs/articles/welcome_to_AMR.html
index 2b364962..184620e0 100644
--- a/docs/articles/welcome_to_AMR.html
+++ b/docs/articles/welcome_to_AMR.html
@@ -5,7 +5,7 @@
-Welcome to the AMR package • AMR (for R)
+Welcome to the `AMR` package • AMR (for R)
@@ -18,9 +18,12 @@
-
+
+
+
+
-// v0.0.1
-// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
-
-document.addEventListener('DOMContentLoaded', function() {
- const codeList = document.getElementsByClassName("sourceCode");
- for (var i = 0; i < codeList.length; i++) {
- var linkList = codeList[i].getElementsByTagName('a');
- for (var j = 0; j < linkList.length; j++) {
- if (linkList[j].innerHTML === "") {
- linkList[j].setAttribute('aria-hidden', 'true');
- }
- }
- }
-});
diff --git a/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.css b/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.css
deleted file mode 100644
index 07aee5fc..00000000
--- a/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Styles for section anchors */
-a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;}
-a.anchor-section::before {content: '#';}
-.hasAnchor:hover a.anchor-section {visibility: visible;}
diff --git a/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.js b/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.js
deleted file mode 100644
index 570f99a0..00000000
--- a/docs/articles/welcome_to_AMR_files/anchor-sections-1.0/anchor-sections.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020.
-document.addEventListener('DOMContentLoaded', function() {
- // Do nothing if AnchorJS is used
- if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) {
- return;
- }
-
- const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
-
- // Do nothing if sections are already anchored
- if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) {
- return null;
- }
-
- // Use section id when pandoc runs with --section-divs
- const section_id = function(x) {
- return ((x.classList.contains('section') || (x.tagName === 'SECTION'))
- ? x.id : '');
- };
-
- // Add anchors
- h.forEach(function(x) {
- const id = x.id || section_id(x.parentElement);
- if (id === '') {
- return null;
- }
- let anchor = document.createElement('a');
- anchor.href = '#' + id;
- anchor.classList = ['anchor-section'];
- x.classList.add('hasAnchor');
- x.appendChild(anchor);
- });
-});
diff --git a/docs/articles/welcome_to_AMR_files/header-attrs-2.3/header-attrs.js b/docs/articles/welcome_to_AMR_files/header-attrs-2.3/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/welcome_to_AMR_files/header-attrs-2.3/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/welcome_to_AMR_files/header-attrs-2.4/header-attrs.js b/docs/articles/welcome_to_AMR_files/header-attrs-2.4/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/welcome_to_AMR_files/header-attrs-2.4/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/welcome_to_AMR_files/header-attrs-2.6/header-attrs.js b/docs/articles/welcome_to_AMR_files/header-attrs-2.6/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/welcome_to_AMR_files/header-attrs-2.6/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/articles/welcome_to_AMR_files/header-attrs-2.8/header-attrs.js b/docs/articles/welcome_to_AMR_files/header-attrs-2.8/header-attrs.js
deleted file mode 100644
index dd57d92e..00000000
--- a/docs/articles/welcome_to_AMR_files/header-attrs-2.8/header-attrs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
-// be compatible with the behavior of Pandoc < 2.8).
-document.addEventListener('DOMContentLoaded', function(e) {
- var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
- var i, h, a;
- for (i = 0; i < hs.length; i++) {
- h = hs[i];
- if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
- a = h.attributes;
- while (a.length > 0) h.removeAttribute(a[0].name);
- }
-});
diff --git a/docs/authors.html b/docs/authors.html
index eb3784f6..9a17ad27 100644
--- a/docs/authors.html
+++ b/docs/authors.html
@@ -50,6 +50,9 @@
+
+
+
@@ -89,7 +92,7 @@
AMR (for R)
- 1.7.1.9022
+ 1.7.1.9023
@@ -299,11 +302,11 @@ Antimicrobial Resistance Data. Journal of Statistical Software (accepted for pub
- Gwen Knight . Contributor.
+
Gwen Knight . Contributor.
- Annick Lenglet . Contributor.
+
Annick Lenglet . Contributor.
@@ -311,7 +314,7 @@ Antimicrobial Resistance Data. Journal of Statistical Software (accepted for pub
- Sofia Ny . Contributor.
+
Sofia Ny . Contributor.
@@ -319,11 +322,11 @@ Antimicrobial Resistance Data. Journal of Statistical Software (accepted for pub
- Dennis Souverein . Contributor.
+
Dennis Souverein . Contributor.
- Anthony Underwood . Contributor.
+
Anthony Underwood . Contributor.
diff --git a/docs/code-color-scheme-dark.css b/docs/code-color-scheme-dark.css
deleted file mode 100644
index 3cec2180..00000000
--- a/docs/code-color-scheme-dark.css
+++ /dev/null
@@ -1,48 +0,0 @@
-pre {
- word-wrap: normal;
- word-break: normal;
- /*border: 1px solid #eee;*/
- border: 0px !important;
-}
-
-pre, code {
- background-color: #1c1c1c;
- color: #ccc;
-}
-
-pre code {
- overflow: auto;
- word-wrap: normal;
- white-space: pre;
-}
-
-pre .img {
- margin: 5px 0;
-}
-
-pre .img img {
- background-color: #aaa;
- display: block;
- height: auto;
-}
-
-code a, pre a {
- font-family: ui-monospace, SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
- color: #85AACC;
- text-decoration: underline;
-}
-
-a.sourceLine:hover {
- text-decoration: none;
-}
-
-.fl {color: #ae81ff;}
-.fu {color: #ade837;} /* function */
-.ch,.st {color: #e7db74;} /* string */
-.kw {color: #f92672;} /* keyword */
-.co {color: #696d70;} /* comment */
-.va {color: #fd971f;} /* values */
-
-.message { color: black; font-weight: bolder;}
-.error { color: orange; font-weight: bolder;}
-.warning { color: #6A0366; font-weight: bolder;}
diff --git a/docs/code-color-scheme-light.css b/docs/code-color-scheme-light.css
deleted file mode 100644
index 6a23e80a..00000000
--- a/docs/code-color-scheme-light.css
+++ /dev/null
@@ -1,48 +0,0 @@
-pre {
- word-wrap: normal;
- word-break: normal;
- /*border: 1px solid #eee;*/
- border: 0px !important;
-}
-
-pre, code {
- background-color: #f8f8f8;
- color: #333;
-}
-
-pre code {
- overflow: auto;
- word-wrap: normal;
- white-space: pre;
-}
-
-pre .img {
- margin: 5px 0;
-}
-
-pre .img img {
- background-color: #fff;
- display: block;
- height: auto;
-}
-
-code a, pre a {
- font-family: ui-monospace, SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
- color: #375f84;
- text-decoration: underline;
-}
-
-a.sourceLine:hover {
- text-decoration: none;
-}
-
-.fl {color: #1514b5;}
-.fu {color: #8c60bf;} /* function */
-.ch,.st {color: #036a07;} /* string */
-.kw {color: #264D66;} /* keyword */
-.co {color: #888888;} /* comment */
-.va {color: #3032da;} /* values */
-
-.message { color: black; font-weight: bolder;}
-.error { color: orange; font-weight: bolder;}
-.warning { color: #6A0366; font-weight: bolder;}
\ No newline at end of file
diff --git a/docs/darkswitch.js b/docs/darkswitch.js
deleted file mode 100644
index ed529354..00000000
--- a/docs/darkswitch.js
+++ /dev/null
@@ -1,61 +0,0 @@
-$(document).ready(function(){
-
- // Update the toggle button based on current color scheme
- function updateDarkToggleButton() {
- $dark = (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches);
- $("#css-toggle-btn").prop( "checked", $dark );
- }
- // Update on first load.
- updateDarkToggleButton();
- // and every time it changes
- if (window.matchMedia) window.matchMedia("(prefers-color-scheme: dark)").addListener( updateDarkToggleButton );
-
- // Color Scheme toggle botton
-
- // function to initialise the css
- function init_color_scheme_css($id, $mode) {
- if ($("#"+$id)) $("#"+$id).remove(); // remove exitsing id
- $("#"+$id+"-"+$mode).attr( {
- "data-href-light": $("#"+$id+"-light").attr("href"), // store the light CSS url
- "data-href-dark": $("#"+$id+"-dark").attr("href"), // store the dark CSS url
- "data-color-scheme": $mode, // store the mode, so that we don't re-initalise
- "media": "all", // drop the media filter
- "id": $id // rename the id (drop the `-{mode}` bit)
- } );
- $other = ($mode == 'dark') ? 'light' : 'dark';
- $("#"+$id+"-"+$other).remove();
- }
-
- // function to toggle the CSS
- function toggle_color_scheme_css($id, $mode) {
- // grab the new mode css href
- $href = $("#"+$id).data("href-"+$mode); // use `.data()` here, leverage the cache
- // set the CSS to the mode preference.
- $("#"+$id).attr( {
- "href": $href,
- "data-color-scheme": $mode,
- });
- }
-
- // toggle button click code
- $("#css-toggle-btn").bind("click", function() {
- // get current mode
- // don't use `.data("color-scheme")`, it doesn't refresh
- $mode = $("#css").attr("data-color-scheme");
- // test if this is a first time click event, if so initialise the code
- if (typeof $mode === 'undefined') {
- // not defined yet - set pref. & ask the browser if alt. is active
- $mode = 'light';
- if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) $mode = 'dark';
- init_color_scheme_css("css", $mode);
- init_color_scheme_css("css-code", $mode);
- // `init_color_scheme_css()` any other CSS
- }
- // by here we have the current mode, so swap it
- $new_mode = ($mode == 'dark') ? 'light' : 'dark';
- toggle_color_scheme_css("css", $new_mode);
- toggle_color_scheme_css("css-code", $new_mode);
- // `toggle_color_scheme_css()` any other CSS
- });
-
-});
\ No newline at end of file
diff --git a/docs/extra.css b/docs/extra.css
index 61179822..84f4f6a6 100644
--- a/docs/extra.css
+++ b/docs/extra.css
@@ -109,6 +109,10 @@ pre, code {
font-weight: bold;
/*background-color: #f4f4f4*/;
}
+pre code {
+ word-wrap: normal !important;
+ white-space: pre !important;
+}
pre {
font-size: 90% !important;
}
diff --git a/docs/index.html b/docs/index.html
index bb398cf7..7d0f34a6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -24,6 +24,9 @@
using evidence-based methods and reliable reference data such as LPSN
<doi:10.1099/ijsem.0.004332>.">
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/news/index.html b/docs/news/index.html
index 6ef4125c..b9f68ed6 100644
--- a/docs/news/index.html
+++ b/docs/news/index.html
@@ -50,6 +50,9 @@
+
+
+
@@ -89,7 +92,7 @@
AMR (for R)
- 1.7.1.9022
+ 1.7.1.9023
@@ -244,24 +247,49 @@
Source: NEWS.md
-
-
-
+
+
+
-Last updated: 23 July 2021
+Last updated: 16 August 2021
+
+
+ Breaking changes
+
Removed all filter_*()
functions (except for filter_first_isolate()
), which were all deprecated in a previous package version
+Removed the key_antibiotics()
and key_antibiotics_equal()
functions, which were deprecated and superseded by key_antimicrobials()
and antimicrobials_equal()
+
+Removed all previously implemented ggplot2::ggplot()
generics for classes <mic>
, <disk>
, <rsi>
and <resistance_predict>
as they did not follow the ggplot2
logic. They were replaced with ggplot2::autoplot()
generics.
+
+
+
+ New
+
Function set_ab_names()
to rename data set columns that resemble antimicrobial drugs. This allows for quickly renaming columns to official names, ATC codes, etc.
+
Changed
-
Previously implemented ggplot2::ggplot()
generics for classes <mic>
, <disk>
, <rsi>
and <resistance_predict>
did not follow the ggplot2
logic, and were replaced with autoplot()
generics.
-Antibiotic class selectors (see ab_class()
)
+The antibiotics
data set now contains all ATC codes that are available through the WHOCC website , regardless of drugs being present in more than one ATC group. This means that:
+Some drugs now contain multiple ATC codes (e.g., metronidazole contains 5)
+
+antibiotics$atc
is now a list
instead of a character
, and this atc
column was moved to the 5th position of the antibiotics
data set
+
+ab_atc()
does not always return a character vector with length 1, and returns a list
if the input is larger than length 1
+
+Antibiotic selectors
They now also work in R-3.0 and R-3.1, supporting every version of R since 2013
-Added more selectors: aminopenicillins()
, lincosamides()
, lipoglycopeptides()
, polymyxins()
, quinolones()
, streptogramins()
and ureidopenicillins()
+ Added more selectors for antibiotic classes: aminopenicillins()
, antifungals()
, antimycobacterials()
, lincosamides()
, lipoglycopeptides()
, polymyxins()
, quinolones()
, streptogramins()
, trimethoprims()
and ureidopenicillins()
-Fix for using selectors multiple times in one call (e.g., using them in dplyr::filter()
and immediately after in dplyr::select()
)
+Added specific selectors for certain types for treatment: administrable_per_os()
and administrable_iv()
, which are based on available Defined Daily Doses (DDDs), as defined by the WHOCC. These are ideal for e.g. analysing pathogens in primary care where IV treatment is not an option. They can be combined with other AB selectors, e.g. to select penicillins that are only administrable per os (i.e., orally):
+
+Fix for using selectors multiple times in one call (e.g., using them in dplyr::filter()
and immediately after in dplyr::select()
)
Added argument only_treatable
, which defaults to TRUE
and will exclude drugs that are only for laboratory tests and not for treating patients (such as imipenem/EDTA and gentamicin-high)
+Fixed the Gram stain (mo_gramstain()
) determination of the class Negativicutes within the phylum of Firmicutes - they were considered Gram-positives because of their phylum but are actually Gram-negative. This impacts 137 taxonomic species, genera and families, such as Negativicoccus and Veillonella .
Fix for duplicate ATC codes in the antibiotics
data set
Fix to prevent introducing NA
s for old MO codes when running as.mo()
on them
Added more informative error messages when any of the proportion_*()
and count_*()
functions fail
@@ -273,14 +301,13 @@
as.rsi()
can now correct for textual input (such as “Susceptible”, “Resistant”) in Dutch, English, French, German, Italian, Portuguese and Spanish
When warnings are thrown because of too few isolates in any count_*()
, proportion_*()
function (or resistant()
or susceptible()
), the dplyr
group will be shown, if available
-
-ab_name()
gained argument snake_case
, which is useful for column renaming
Fix for legends created with scale_rsi_colours()
when using ggplot2
v3.3.4 or higher (this is ggplot2 bug 4511, soon to be fixed)
Fix for minor translation errors
Fix for the MIC interpretation of Morganellaceae (such as Morganella and Proteus ) when using the EUCAST 2021 guideline
Improved algorithm for generating random MICs with random_mic()
Improved plot legends for MICs and disk diffusion values
+Improved speed of as.ab()
and all ab_*()
functions
@@ -291,8 +318,8 @@
Breaking change
-All antibiotic class selectors (such as carbapenems()
, aminoglycosides()
) can now be used for filtering as well, making all their accompanying filter_*()
functions redundant (such as filter_carbapenems()
, filter_aminoglycosides()
). These functions are now deprecated and will be removed in a next release. Examples of how the selectors can be used for filtering:
-
+All antibiotic class selectors (such as carbapenems()
, aminoglycosides()
) can now be used for filtering as well, making all their accompanying filter_*()
functions redundant (such as filter_carbapenems()
, filter_aminoglycosides()
). These functions are now deprecated and will be removed in a next release. Examples of how the selectors can be used for filtering:
+
# select columns with results for carbapenems
example_isolates [ , carbapenems ( ) ] # base R
@@ -310,24 +337,24 @@
example_isolates %>% filter ( carbapenems ( ) == "R" )
-
+
- New
+
New
Support for CLSI 2020 guideline for interpreting MICs and disk diffusion values (using as.rsi()
)
Function custom_eucast_rules()
that brings support for custom AMR rules in eucast_rules()
Function italicise_taxonomy()
to make taxonomic names within a string italic, with support for markdown and ANSI
Support for all four methods to determine first isolates as summarised by Hindler et al. (doi: 10.1086/511864 ): isolate-based, patient-based, episode-based and phenotype-based. The last method is now the default.
The first_isolate()
function gained the argument method
that has to be “phenotype-based”, “episode-based”, “patient-based”, or “isolate-based”. The old behaviour is equal to “episode-based”. The new default is “phenotype-based” if antimicrobial test results are available, and “episode-based” otherwise. This new default will yield slightly more isolates for selection (which is a good thing).
-Since fungal isolates can also be selected, the functions key_antibiotics()
and key_antibiotics_equal()
are now deprecated in favour of the key_antimicrobials()
and antimicrobials_equal()
functions. Also, the new all_antimicrobials()
function works like the old key_antibiotics()
function, but includes any column with antimicrobial test results. Using key_antimicrobials()
still only selects six preferred antibiotics for Gram-negatives, six for Gram-positives, and six universal antibiotics. It has a new antifungal
argument to set antifungal agents (antimycotics).
+Since fungal isolates can also be selected, the functions key_antibiotics()
and key_antibiotics_equal()
are now deprecated in favour of the key_antimicrobials()
and antimicrobials_equal()
functions. Also, the new all_antimicrobials()
function works like the old key_antibiotics()
function, but includes any column with antimicrobial test results. Using key_antimicrobials()
still only selects six preferred antibiotics for Gram-negatives, six for Gram-positives, and six universal antibiotics. It has a new antifungal
argument to set antifungal agents (antimycotics).
Using type == "points"
in the first_isolate()
function for phenotype-based selection will now consider all antimicrobial drugs in the data set, using the new all_antimicrobials()
The first_isolate()
function can now take a vector of values for col_keyantibiotics
and can have an episode length of Inf
-Since the phenotype-based method is the new default, filter_first_isolate()
renders the filter_first_weighted_isolate()
function redundant. For this reason, filter_first_weighted_isolate()
is now deprecated.
+Since the phenotype-based method is the new default, filter_first_isolate()
renders the filter_first_weighted_isolate()
function redundant. For this reason, filter_first_weighted_isolate()
is now deprecated.
The documentation of the first_isolate()
and key_antimicrobials()
functions has been completely rewritten.
-Function betalactams()
as additional antbiotic column selector and function filter_betalactams()
as additional antbiotic column filter. The group of betalactams consists of all carbapenems, cephalosporins and penicillins.
+Function betalactams()
as additional antbiotic column selector and function filter_betalactams()
as additional antbiotic column filter. The group of betalactams consists of all carbapenems, cephalosporins and penicillins.
A ggplot()
method for resistance_predict()
@@ -349,7 +376,7 @@