mirror of
https://github.com/msberends/AMR.git
synced 2026-06-24 16:56:22 +02:00
(v3.0.1.9059) Update taxonomy of microorganisms
This commit is contained in:
@@ -109,11 +109,11 @@ create_species_cons_cops <- function(type = c("CoNS", "CoPS")) {
|
||||
which(MO_staph$species %in% c(
|
||||
"coagulase-negative", "argensis", "arlettae",
|
||||
"auricularis", "borealis", "caeli", "capitis", "caprae",
|
||||
"carnosus", "casei", "caseolyticus", "chromogenes", "cohnii", "condimenti",
|
||||
"carnosus", "casei", "caseorum", "caseolyticus", "chromogenes", "cohnii", "condimenti",
|
||||
"croceilyticus",
|
||||
"debuckii", "devriesei", "edaphicus", "epidermidis",
|
||||
"equorum", "felis", "fleurettii", "gallinarum",
|
||||
"haemolyticus", "hominis", "jettensis", "kloosii",
|
||||
"equorum", "felis", "fleurettii", "gallinarum", "halotolerans",
|
||||
"haemolyticus", "hominis", "hsinchuensis", "jettensis", "kloosii",
|
||||
"lentus", "lugdunensis", "massiliensis", "microti",
|
||||
"muscae", "nepalensis", "pasteuri", "petrasii",
|
||||
"pettenkoferi", "piscifermentans", "pragensis", "pseudoxylosus",
|
||||
@@ -142,7 +142,8 @@ create_species_cons_cops <- function(type = c("CoNS", "CoPS")) {
|
||||
"pseudintermedius", "pseudointermedius",
|
||||
"schweitzeri", "simiae",
|
||||
"roterodami",
|
||||
"singaporensis"
|
||||
"singaporensis",
|
||||
"ursi"
|
||||
) |
|
||||
# old, now renamed to S. coagulans (but still as synonym in our data of course):
|
||||
(MO_staph$species == "schleiferi" & MO_staph$subspecies == "coagulans")),
|
||||
@@ -280,6 +281,7 @@ pre_commit_lst$MO_RELEVANT_GENERA <- c(
|
||||
"Malbranchea",
|
||||
"Metagonimus",
|
||||
"Meyerozyma",
|
||||
"Microascus",
|
||||
"Microsporidium",
|
||||
"Microsporum",
|
||||
"Millerozyma",
|
||||
@@ -306,6 +308,7 @@ pre_commit_lst$MO_RELEVANT_GENERA <- c(
|
||||
"Piedraia",
|
||||
"Pithomyces",
|
||||
"Pityrosporum",
|
||||
"Plasmodium",
|
||||
"Pneumocystis",
|
||||
"Pseudallescheria",
|
||||
"Pseudoscopulariopsis",
|
||||
@@ -323,6 +326,7 @@ pre_commit_lst$MO_RELEVANT_GENERA <- c(
|
||||
"Sarcoptes",
|
||||
"Scedosporium",
|
||||
"Schistosoma",
|
||||
"Schizophyllum",
|
||||
"Schizosaccharomyces",
|
||||
"Scolecobasidium",
|
||||
"Scopulariopsis",
|
||||
|
||||
@@ -293,7 +293,7 @@ breakpoints_new <- breakpoints |>
|
||||
host = ifelse(BREAKPOINT_TYPE == "ECOFF", "ECOFF", tolower(HOST)),
|
||||
method = TEST_METHOD,
|
||||
site = SITE_OF_INFECTION,
|
||||
mo,
|
||||
mo = as.mo(mo),
|
||||
rank_index = case_when(
|
||||
is.na(mo_rank(mo, keep_synonyms = TRUE)) ~ 6, # for UNKNOWN, B_GRAMN, B_ANAER, B_ANAER-NEG, etc.
|
||||
mo_rank(mo, keep_synonyms = TRUE) %like% "(infra|sub)" ~ 1,
|
||||
@@ -453,6 +453,9 @@ breakpoints_new$breakpoint_R[breakpoints_new$guideline %like% "EUCAST" & breakpo
|
||||
breakpoints_new <- breakpoints_new |>
|
||||
filter(!(guideline %like% "EUCAST (2024|2025|2026)" & ref_tbl == "PK/PD"))
|
||||
|
||||
# WHONET still contains generic anaerobic rules for EUCAST >= 2021, but this was ended from v12 (2022) on
|
||||
breakpoints_new <- breakpoints_new |>
|
||||
filter(!(guideline %like% "EUCAST (2022|2023|2024|2025|2026)" & ref_tbl %like% "anaerob"))
|
||||
|
||||
# WHONET adds one log2 level to the R breakpoint for their software, e.g. in AMC in Enterobacterales:
|
||||
# EUCAST 2023 guideline: S <= 8 and R > 8
|
||||
|
||||
@@ -35,13 +35,13 @@ for (i in seq_len(nrow(antimicrobials))) {
|
||||
colnames(int_resis)[ncol(int_resis)] <- antimicrobials$ab[i]
|
||||
}
|
||||
|
||||
int_resis <- eucast_rules(int_resis,
|
||||
eucast_rules_df = subset(
|
||||
AMR:::EUCAST_RULES_DF,
|
||||
is.na(have_these_values) & reference.rule_group == "Expected phenotypes" & reference.version == 1.2
|
||||
),
|
||||
overwrite = TRUE,
|
||||
info = FALSE
|
||||
int_resis <- interpretive_rules(int_resis,
|
||||
interpretive_rules_df = subset(
|
||||
AMR:::INTERPRETIVE_RULES_DF,
|
||||
is.na(have_these_values) & reference.rule_group == "Expected phenotypes" & reference.version == 1.2
|
||||
),
|
||||
overwrite = TRUE,
|
||||
info = FALSE
|
||||
)
|
||||
|
||||
int_resis2 <- int_resis[, sapply(int_resis, function(x) any(!is.sir(x) | x == "R")), drop = FALSE] %>%
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
45068afc4cd9770dea329782c1aed045
|
||||
7bcb6eaf7e2da23ac552acbfd12b3e62
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -298,7 +298,6 @@
|
||||
"B_HACEK" "B_HMPHL_PSCM" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus piscium"
|
||||
"B_HACEK" "B_HMPHL_PTTM" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus pittmaniae"
|
||||
"B_HACEK" "B_ACTNB_PLRP" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus pleuropneumoniae"
|
||||
"B_HACEK" "B_HMPHL_QNTN" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus quentini"
|
||||
"B_HACEK" "B_AGGRG_SGNS" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus segnis"
|
||||
"B_HACEK" "B_HMPHL_SMNL" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus seminalis"
|
||||
"B_HACEK" "B_HMPHL_SPTR" "Haemophilus, Aggregatibacter, Cardiobacterium, Eikenella, Kingella (HACEK)" "Haemophilus sputorum"
|
||||
@@ -319,7 +318,6 @@
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_QSPN" "Klebsiella pneumoniae complex" "Klebsiella quasipneumoniae"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_QSPN_QSPN" "Klebsiella pneumoniae complex" "Klebsiella quasipneumoniae quasipneumoniae"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_QSPN_SMLP" "Klebsiella pneumoniae complex" "Klebsiella quasipneumoniae similipneumoniae"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_QSVR" "Klebsiella pneumoniae complex" "Klebsiella quasivariicola"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_VRCL" "Klebsiella pneumoniae complex" "Klebsiella variicola"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_VRCL_TRPC" "Klebsiella pneumoniae complex" "Klebsiella variicola tropica"
|
||||
"B_KLBSL_PNMN-C" "B_KLBSL_VRCL_LNSS" "Klebsiella pneumoniae complex" "Klebsiella variicola tropicalensis"
|
||||
@@ -332,22 +330,20 @@
|
||||
"F_MYRZY_GLLR-C" "F_MYRZY_GLLR" "Meyerozyma guilliermondii complex" "Meyerozyma guilliermondii japonica"
|
||||
"F_MYRZY_GLLR-C" "F_MYRZY_GLLR" "Meyerozyma guilliermondii complex" "Meyerozyma guilliermondii muhira"
|
||||
"F_MYRZY_GLLR-C" "F_MYRZY_GLLR" "Meyerozyma guilliermondii complex" "Meyerozyma guilliermondii pseudoguilliermondii"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM" "Mycobacterium avium-intracellulare complex" "Mycobacterium avium"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_AVIM" "Mycobacterium avium-intracellulare complex" "Mycobacterium avium avium"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_PRTB" "Mycobacterium avium-intracellulare complex" "Mycobacterium avium paratuberculosis"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_SLVT" "Mycobacterium avium-intracellulare complex" "Mycobacterium avium silvaticum"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE" "Mycobacterium avium-intracellulare complex" "Mycobacterium intracellulare"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_CHMR" "Mycobacterium avium-intracellulare complex" "Mycobacterium intracellulare chimaera"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_INTR" "Mycobacterium avium-intracellulare complex" "Mycobacterium intracellulare intracellulare"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_CHMR" "Mycobacterium avium-intracellulare complex" "Mycobacterium intracellulare yongonense"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM" "Mycobacterium avium complex" "Mycobacterium avium"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_AVIM" "Mycobacterium avium complex" "Mycobacterium avium avium"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_PRTB" "Mycobacterium avium complex" "Mycobacterium avium paratuberculosis"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_AVIM_SLVT" "Mycobacterium avium complex" "Mycobacterium avium silvaticum"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE" "Mycobacterium avium complex" "Mycobacterium intracellulare"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_CHMR" "Mycobacterium avium complex" "Mycobacterium intracellulare chimaera"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_INTR" "Mycobacterium avium complex" "Mycobacterium intracellulare intracellulare"
|
||||
"B_MYCBC_AVIM-C" "B_MYCBC_LLRE_CHMR" "Mycobacterium avium complex" "Mycobacterium intracellulare yongonense"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium africanum"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium bovis"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium bovis bovis"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium bovis caprae"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium caprae"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium microti"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_MUNG" "Mycobacterium tuberculosis complex" "Mycobacterium mungi"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_ORYG" "Mycobacterium tuberculosis complex" "Mycobacterium orygis"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium pinnipedii"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium tuberculosis"
|
||||
"B_MYCBC_TBRC-C" "B_MYCBC_TBRC" "Mycobacterium tuberculosis complex" "Mycobacterium tuberculosis caprae"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -451,7 +451,7 @@ EUCAST Breakpoints 14 Enterococcus genus is Enterococcus AMP R AMP, SAM, AMX, AM
|
||||
EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S
|
||||
EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I
|
||||
EUCAST Breakpoints 14 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R
|
||||
EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CEC, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) |> sort() |> toString()
|
||||
EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R
|
||||
EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S
|
||||
EUCAST Breakpoints 14 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I
|
||||
@@ -543,8 +543,8 @@ EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Strep
|
||||
EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R
|
||||
EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S
|
||||
EUCAST Breakpoints 14 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, PHN, PIP, SAM, TZP S x <- unique(c("SAM", "PIP", "TZP", "PHN", "IMR", "MEV", clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$host == "human" & (clinical_breakpoints$site != "Screen" | is.na(clinical_breakpoints$site)) & clinical_breakpoints$mo == as.mo("S. pneumoniae"))])); x[x %in% betalactams()] |> sort() |> toString() AND REMOVE CEC
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, PHN, PIP, SAM, TZP S x <- unique(c("SAM", "PIP", "TZP", "PHN", "IMR", "MEV", clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$host == "human" & (clinical_breakpoints$site != "Screen" | is.na(clinical_breakpoints$site)) & clinical_breakpoints$mo == as.mo("S. pneumoniae"))])); x[x %in% betalactams()] |> sort() |> toString() AND REMOVE CEC
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I
|
||||
EUCAST Breakpoints 14 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06
|
||||
@@ -582,19 +582,19 @@ EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus
|
||||
EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S
|
||||
EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I
|
||||
EUCAST Breakpoints 15 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP S AMX S
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP I AMX I
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus is Prevotella AMP R AMX R
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("Clostridium perfringens"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I
|
||||
EUCAST Breakpoints 15 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R
|
||||
@@ -643,7 +643,7 @@ EUCAST Breakpoints 15 Enterococcus genus is Enterococcus AMP R AMX, AMC R
|
||||
EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S
|
||||
EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I
|
||||
EUCAST Breakpoints 15 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R
|
||||
EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CAZ, CEC, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TEM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R
|
||||
EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S
|
||||
EUCAST Breakpoints 15 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I
|
||||
@@ -731,8 +731,8 @@ EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Strep
|
||||
EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R
|
||||
EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S
|
||||
EUCAST Breakpoints 15 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, BPR, CFM, CPD, CPT, CRO, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PHN, PIP, PIP, SAM, TZP, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) |> toString()
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, BPR, CFM, CPD, CPT, CRO, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PHN, PIP, PIP, SAM, TZP, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) |> toString()
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I
|
||||
EUCAST Breakpoints 15 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06
|
||||
@@ -770,7 +770,7 @@ EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus
|
||||
EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S
|
||||
EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I
|
||||
EUCAST Breakpoints 16 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP S AMX S
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP I AMX I
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus is Prevotella AMP R AMX R
|
||||
@@ -778,11 +778,11 @@ EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necropho
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("Clostridium perfringens"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2024" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I
|
||||
EUCAST Breakpoints 16 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R
|
||||
@@ -831,7 +831,7 @@ EUCAST Breakpoints 16 Enterococcus genus is Enterococcus AMP R AMX, AMC R
|
||||
EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S S CIP, LVX S
|
||||
EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S I CIP, LVX I
|
||||
EUCAST Breakpoints 16 Enterococcus genus is Enterococcus NOR-S R CIP, LVX R
|
||||
EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S S AMC, AMP, AMX, CAZ, CEC, CFM, CPD, CPT, CRO, CTB, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, PEN, SAM, TEM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("H. influenzae"))]), "IMR", "MEV"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae PEN-S, BLA-S R, R AMP, AMX, PIP R
|
||||
EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae AMC S SAM S
|
||||
EUCAST Breakpoints 16 Haemophilus influenzae genus_species is Haemophilus influenzae AMC I SAM I
|
||||
@@ -920,8 +920,8 @@ EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Strep
|
||||
EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G ERY R AZM, CLR, RXT R
|
||||
EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S S DOX, MNO S
|
||||
EUCAST Breakpoints 16 Streptococcus groups A, B, C, G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G TCY-S R DOX, MNO R
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PIP, SAM, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2022" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV"))
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S AMC, AMP, AMX, BPR, CFM, CPD, CPT, CRO, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PHN, PIP, PIP, SAM, TZP, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) |> toString()
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S AMC, AMP, AMX, BPR, CFM, CPD, CPT, CRO, CTX, CXM, CZT, DOR, ETP, FEP, IMR, IPM, MEM, MEV, OXA, PEN, PHN, PHN, PIP, PIP, SAM, TZP, TZP S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("S. pneumoniae") & clinical_breakpoints$ab != as.ab("cefaclor"))]); sort(c(x[x %in% betalactams()], "SAM", "PIP", "TZP", "PHN", "IMR", "MEV")) |> toString()
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S S CEC I
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae PEN S CEC I
|
||||
EUCAST Breakpoints 16 Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA-S R PEN, PHN R from flowchart: when OXA < 20 or PEN > 0.06
|
||||
@@ -959,19 +959,19 @@ EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococc
|
||||
EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S S fluoroquinolones S
|
||||
EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S I fluoroquinolones I
|
||||
EUCAST Breakpoints 13.1 Aerococcus sanguinicola/urinae genus_species is Aerococcus sanguinicola, Aerococcus urinae NOR-S R fluoroquinolones R
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP S AMX S
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP I AMX I
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus is Prevotella AMP R AMX R
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("Clostridium perfringensm"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2026" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()]) |> toString()
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I
|
||||
EUCAST Breakpoints 13.1 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R
|
||||
@@ -1135,25 +1135,25 @@ EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridan
|
||||
EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP S AMX, AMC, SAM, PIP, TZP S will be expanded in eucast_rules()
|
||||
EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP I AMX, AMC, SAM, PIP, TZP I will be expanded in eucast_rules()
|
||||
EUCAST Breakpoints 13.1 Viridans group streptococci genus_species one_of Viridans Group Streptococcus (VGS) AMP R AMX, AMC, SAM, PIP, TZP R will be expanded in eucast_rules()
|
||||
EUCAST Breakpoints Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP S AMX S
|
||||
EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP I AMX I
|
||||
EUCAST Breakpoints Anaerobic bacteria genus is Prevotella AMP R AMX R
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I
|
||||
EUCAST Breakpoints Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus is Prevotella PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & mo_genus(clinical_breakpoints$mo) == "Prevotella")]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus is Prevotella AMP S AMX S
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus is Prevotella AMP I AMX I
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus is Prevotella AMP R AMX R
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Fusobacterium necrophorum PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP S AMX S
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP I AMX I
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Fusobacterium necrophorum AMP R AMX R
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Clostridium perfringens PEN S AMC, AMP, AMX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Fusobacterium necrophorum"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Clostridium perfringens AMP S AMX S
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Clostridium perfringens AMP I AMX I
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Clostridium perfringens AMP R AMX R
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes PEN S AMC, AMP, AMX, CRO, CTX, ETP, IPM, MEM, PEN, PIP, SAM, TZP S x <- c(unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2023" & clinical_breakpoints$mo == as.mo("Cutibacterium acnes"))]), "AMP", "SAM", "AMX", "AMC", "PIP", "ETP", "IPM", "TZP", "CTX", "CRO"); sort(x[x %in% betalactams()])
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes AMP S AMX S
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes AMP I AMX I
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes AMP R AMX R
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes CTX S CRO S
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes CTX I CRO I
|
||||
EUCAST Breakpoints 13.0 Anaerobic bacteria genus_species is Cutibacterium acnes CTX R CRO R
|
||||
EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN I AMX S
|
||||
EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN R AMX R
|
||||
EUCAST Breakpoints Corynebacterium diphtheriae/ulcerans genus_species one_of Corynebacterium diphtheriae, Corynebacterium ulcerans PEN S CTX S
|
||||
@@ -1414,19 +1414,20 @@ EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria
|
||||
EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria genus is Lactobacillus VAN, TEC R
|
||||
EUCAST Expert Rules 3.2 Table 4: Intrinsic resistance in gram-positive bacteria fullname like ^Clostridium (ramosum|innocuum) VAN R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Campylobacter genus is Campylobacter ERY S CLR, AZM S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Campylobacter genus_species is Campylobacter ERY R CLR, AZM R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Campylobacter genus is Campylobacter ERY R CLR, AZM R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP R PIP R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus_species one_of Escherichia coli, Proteus mirabilis AMP S PIP S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Klebsiella(?! aerogenes)|Raoultella) PIP R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter freundii|Serratia|Morganella morganii|Hafnia alvei|Providencia) CXM S CXM, cephalosporins_2nd R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Klebsiella(?! aerogenes)|Raoultella) PIP R Regex means that K. aerogenes is not matched.
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CXM S CXM, cephalosporins_2nd R Also includes the C. freundii complex - these Citrobacter species were not literally mentioned in the document, but the complex was.
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales genus one_of Arsenophonus, Biostraticola, Brenneria, Buchnera, Budvicia, Buttiauxella, Cedecea, Citrobacter, Cosenzaea, Cronobacter, Dickeya, Edwardsiella, Enterobacillus, Enterobacter, Erwinia, Escherichia, Ewingella, Franconibacter, Gibbsiella, Hafnia, Izhakiella, Klebsiella, Kluyvera, Kosakonia, Leclercia, Lelliottia, Leminorella, Lonsdalea, Mangrovibacter, Mixta, Moellerella, Morganella, Obesumbacterium, Pantoea, Pectobacterium, Phaseolibacter, Photorhabdus, Phytobacter, Plesiomonas, Pluralibacter, Pragia, Proteus, Providencia, Pseudescherichia, Pseudocitrobacter, Rahnella, Raoultella, Rosenbergiella, Rouxiella, Saccharobacter, Samsonia, Serratia, Shigella, Shimwellia, Siccibacter, Sodalis, Tatumella, Thorsellia, Trabulsiella, Wigglesworthia, Xenorhabdus, Yersinia, Yokenella CIP R fluoroquinolones R This is Enterobacterales except Salmonella spp.
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Serratia|Providencia|Morganella morganii) TGC R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ S CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CTX I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CRO I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei|Serratia|Morganella morganii|Providencia) CAZ I CTX, CRO, CAZ This is rule 3 and 4 of EUCAST Expert Rules v3.2 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales fullname like ^(Serratia|Providencia|Proteus|Morganella morganii) TGC R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei) CTX S CTX, CRO, CAZ, TZP This is rule 3 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei) CRO S CTX, CRO, CAZ, TZP This is rule 3 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei) CAZ S CTX, CRO, CAZ, TZP This is rule 3 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Enterobacter|Klebsiella aerogenes|Citrobacter braakii|Citrobacter freundii|Citrobacter gillenii|Citrobacter murliniae|Citrobacter rodenticum|Citrobacter sedlakii|Citrobacter werkmanii|Citrobacter youngae|Hafnia alvei) TZP S CTX, CRO, CAZ, TZP This is rule 3 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Serratia|Morganella morganii|Providencia) CTX S CTX, CRO, CAZ This is rule 4 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Serratia|Morganella morganii|Providencia) CRO S CTX, CRO, CAZ This is rule 4 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterobacterales (AmpC de-repressed cephalosporins) fullname like ^(Serratia|Morganella morganii|Providencia) CAZ S CTX, CRO, CAZ This is rule 4 of EUCAST Expert Rules v3.3 on Enterobacterales, result will be set with the 'ampc_derepressed_cephalosporins' argument
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMP R ureidopenicillins, IPM R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterococcus fullname like ^Enterococcus (faecalis|faecium) AMX R ureidopenicillins, IPM R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Enterococcus genus is Enterococcus NOR S CIP, LVX S
|
||||
@@ -1441,30 +1442,34 @@ EUCAST Expert Rules 3.3 Expert Rules on Moraxella catarrhalis genus_species is M
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Moraxella catarrhalis genus_species is Moraxella catarrhalis NAL R fluoroquinolones R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella cephalosporins_2nd R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella aminoglycosides R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella PEF S CIP S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Salmonella genus is Salmonella PEF R CIP R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX R betalactams R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX S betalactams_with_inhibitor S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species one_of Staphylococcus aureus, Staphylococcus lugdunensis PEN R AMP, AMX, AZL, BAM, CRB, CRN, EPC, HET, MEC, MEZ, MTM, PIP, PME, PVM, SBC, TAL, TEM, TIC R all penicillins without beta-lactamse inhibitor
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX R AMC, AMP, AMX, APL, APX, ATM, AXS, AZA, AZD, AZL, BAM, BIA, BNB, BNP, CAC, CAR, CAT, CAZ, CCL, CCP, CCV, CCX, CDC, CDR, CEB, CEC, CED, CEM, CEP, CEQ, CFA, CFM, CFM1, CFP, CFR, CFS, CFZ, CHE, CIC, CID, CLM, CLO, CMX, CMZ, CND, CPA, CPC, CPD, CPI, CPL, CPM, CPO, CPR, CPX, CRB, CRD, CRN, CRO, CSE, CSL, CSU, CTA, CTB, CTC, CTF, CTL, CTS, CTT, CTX, CTZ, CXA, CXM, CZA, CZD, CZL, CZO, CZP, CZT, CZX, DIC, DIT, DIX, DIZ, DOR, EPC, ETP, FDC, FEP, FLC, FOV, FOX, FPE, FPT, FPZ, FTA, HAP, HET, IMR, IPM, LEN, LEX, LOR, LTM, MAN, MEC, MEM, MET, MEV, MEZ, MSU, MTM, NAF, OXA, PAN, PEN, PHE, PHN, PIP, PIS, PME, PNM, PNO, PRB, PRC, PRP, PSU, PVM, RIA, RID, RIT, RZM, SAM, SBC, SLT6, SRX, TAL, TAN, TBP, TCC, TEM, TIC, TIO, TMN, TZP, ZOP R Betalactams without ceftaroline and ceftobiprole = betalactams()[!betalactams() %in% c("CPT", "BPR")]
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus FOX S betalactams_with_inhibitor, carbapenems S Must be S to all betactams with recognised anti-staphylococcal activity
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus_species is Staphylococcus aureus PEN R AMP, AMX, AZL, BAM, CRB, CRN, EPC, HET, MEC, MEZ, MTM, PIP, PME, PVM, SBC, TAL, TEM, TIC R all penicillins without beta-lactamse inhibitor and excluding isoxazolylpenicillines
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus ERY, CLI S macrolides, lincosamides S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus NOR S CIP, LVX I
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus NOR S MFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus LVX R fluoroquinolones R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus MFX R fluoroquinolones R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus TCY S DOX, MNO, TGC S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus TCY R DOX, MNO R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus VAN S lipoglycopeptides S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Staphylococcus genus is Staphylococcus LNZ S TZD S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, cephalosporins, carbapenems S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX, MFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus A, B, C and G genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR R LVX, MFX R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA S PHN, PEN, aminopenicillins, cephalosporins_except_CAZ, carbapenems S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX, MFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G PEN S aminopenicillins, cephalosporins, carbapenems S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Viridans Group Streptococcus (VGS) PEN S aminopenicillins, CTX, CRO S Weird that this rules in in the Strep A/B/C/G document, while it's not in the Strep viridans document - document title itself it for "S. species"
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Viridans Group Streptococcus (VGS) PEN R aminopenicillins, CTX, CRO R Weird that this rules in in the Strep A/B/C/G document, while it's not in the Strep viridans document - document title itself it for "S. species"
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S LVX I
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR S MFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus species genus_species one_of Streptococcus Group A, Streptococcus Group B, Streptococcus Group C, Streptococcus Group G NOR R LVX, MFX R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae OXA S AMC, AMP, AMX, CEC, CPD, CPT, CRO, CTX, CXM, DOR, ETP, FEP, IPM, MEM, PEN S x <- unique(clinical_breakpoints$ab[which(clinical_breakpoints$guideline == "EUCAST 2025" & clinical_breakpoints$host == "human" & (clinical_breakpoints$site != "Screen" | is.na(clinical_breakpoints$site)) & clinical_breakpoints$mo == as.mo("S. pneumoniae"))]); x[x %in% betalactams()] |> toString()
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S LVX I
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR S MFX S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae ERY, CLI S, S macrolides, lincosamides S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae NOR R LVX, MFX R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae LVX R fluoroquinolones R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae MFX R fluoroquinolones R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY S DOX, MNO S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae TCY R DOX, MNO R
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Streptococcus pneumoniae genus_species is Streptococcus pneumoniae VAN S lipoglycopeptides S
|
||||
EUCAST Expert Rules 3.3 Expert Rules on Viridans Group Streptococci genus_species one_of Viridans Group Streptococcus (VGS) PEN S aminopenicillins, CTX, CRO S
|
||||
EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. order is Enterobacterales PEN, glycopeptides_except_lipo, lipoglycopeptides, FUS, macrolides, lincosamides, streptogramins, RIF, oxazolidinones R
|
||||
EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (koseri|amalonaticus|sedlakii|farmeri|rodentium) aminopenicillins, TIC R
|
||||
EUCAST Expert Rules 3.3 Table 1: Intrinsic resistance in Enterobacterales and Aeromonas spp. fullname like ^Citrobacter (freundii|braakii|murliniae|werkmanii|youngae) aminopenicillins, AMC, SAM, CZO, CEP, LEX, CFR, FOX R
|
||||
|
||||
|
Can't render this file because it has a wrong number of fields in line 10.
|
@@ -1 +1 @@
|
||||
990cbdfa55a1c2340aecfa67e8ac84d6
|
||||
ec377180475ec3cd61ffaed401643e9a
|
||||
|
||||
@@ -1 +1 @@
|
||||
6ef98bb1bcd27052fde453bb12c0b285
|
||||
5fba98b9dd8845adc9f83d52b28f8254
|
||||
|
||||
@@ -1 +1 @@
|
||||
dfdbbebfe1a542270d63b94c12889860
|
||||
43f0086ac00f84bbda973c6c5e332c49
|
||||
|
||||
@@ -1 +1 @@
|
||||
6dc4dded108052760bfb626df03435e2
|
||||
7613ad032fa1078b6c2ad46d7ae8236f
|
||||
|
||||
Binary file not shown.
BIN
data-raw/taxonomy0b.rds
Normal file
BIN
data-raw/taxonomy0b.rds
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
data-raw/taxonomy_lpsn0.rds
Normal file
BIN
data-raw/taxonomy_lpsn0.rds
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
data-raw/taxonomy_mycobank0.rds
Normal file
BIN
data-raw/taxonomy_mycobank0.rds
Normal file
Binary file not shown.
622
data-raw/wisca_test/parameters_amr.R
Normal file
622
data-raw/wisca_test/parameters_amr.R
Normal file
@@ -0,0 +1,622 @@
|
||||
# Copyright (c) [2022] [Larisse Bolton]
|
||||
|
||||
wisca_params <- function(x, antibiotic_in, pathogen_in, analysis, exclude, isolate_first, susceptible_I, infection_in,infection_full){
|
||||
# Isolate the type of syndrome you would like to investigate
|
||||
if (infection_in != ""){
|
||||
x <- x %>%
|
||||
filter(infection_type == infection_in)
|
||||
} else {
|
||||
x <- x
|
||||
}
|
||||
|
||||
# Define antibiotic regimens under investigation from "antimicrobials" dataset
|
||||
antibiotic_df <- function(abo_in){
|
||||
mono_ab <- str_to_title(abo_in[!str_detect(abo_in,fixed("+"))]) #identify single antimicrobials
|
||||
|
||||
mono_antibiotic_x_set <- data.frame()
|
||||
for (j in 1:length(mono_ab)){ #generate dataframe for single antimicrobials with abbreviations and fullnames
|
||||
mono_x_name <- ab_name(mono_ab[j], only_first = TRUE)
|
||||
mono_x_ab <- as.ab(mono_x_name)
|
||||
mono_antibiotic <- subset(antimicrobials, antimicrobials$ab %in% mono_x_ab)[,c("ab","name")]
|
||||
mono_antibiotic_x_set <- rbind.data.frame(mono_antibiotic_x_set,mono_antibiotic, row.names = NULL)
|
||||
}
|
||||
names(mono_antibiotic_x_set) <- c("ab1","namerx")
|
||||
mono_antibiotic_x_set$ab1 <- as.character(mono_antibiotic_x_set$ab1)
|
||||
|
||||
|
||||
comb_ab <- str_to_title(abo_in[str_detect(abo_in,fixed("+"))]) #identify combination regimens
|
||||
if(length(comb_ab) > 0){
|
||||
|
||||
comb_antibiotic_x_total <- data.frame()
|
||||
for (jj in 1:length(comb_ab)){ #generate dataframe for combination antimicrobials with abbreviations and fullnames
|
||||
comb_ab_sep <- unlist(str_split(comb_ab[jj], fixed("+")))
|
||||
comb_antibiotic_x_pre <- data.frame(x = rep(0, times = 2), y = rep(0, times = 2))
|
||||
for (ii in 1:length(comb_ab_sep)){
|
||||
comb_x_name <- ab_name(comb_ab_sep[ii], only_first = TRUE)
|
||||
comb_x_ab <- as.ab(comb_x_name)
|
||||
comb_antibiotic <- subset(antimicrobials, antimicrobials$ab %in% comb_x_ab)[,c("ab","name")]
|
||||
comb_antibiotic_x_pre[ii,] <- comb_antibiotic
|
||||
names(comb_antibiotic_x_pre) <- names(comb_antibiotic)
|
||||
}
|
||||
comb_antibiotic_x <- pivot_wider(comb_antibiotic_x_pre, names_from = name, values_from = ab)
|
||||
comb_antibiotic_x_set <- comb_antibiotic_x %>%
|
||||
mutate(namerx = str_flatten(str_c(names(comb_antibiotic_x), collapse = "+")))
|
||||
new_ab <- sapply(X = as.character(1:(ncol(comb_antibiotic_x_set)-1)), FUN = function(x){str_flatten(str_c("ab",x))})
|
||||
names(comb_antibiotic_x_set)[1:(ncol(comb_antibiotic_x_set)-1)] <- new_ab
|
||||
names(comb_antibiotic_x_set)[ncol(comb_antibiotic_x_set)]<- "namerx"
|
||||
comb_antibiotic_x_total <-rbind.data.frame(comb_antibiotic_x_total, comb_antibiotic_x_set, row.names = NULL)
|
||||
}
|
||||
|
||||
|
||||
|
||||
antibiotic_x_set <- full_join(x= mono_antibiotic_x_set,y = comb_antibiotic_x_total) #generate full antibiotic dataset for analysis
|
||||
antibiotic_x_set <- select(antibiotic_x_set, starts_with("ab"),starts_with("namerx"))
|
||||
|
||||
} else {
|
||||
antibiotic_x_set <- mono_antibiotic_x_set
|
||||
}
|
||||
return(antibiotic_x_set)
|
||||
}
|
||||
|
||||
antibiotic_rx <- antibiotic_df(abo_in = antibiotic_in) #full dataframe with antibiotic regimens
|
||||
|
||||
|
||||
#if the dataset names are in different format to built-in set
|
||||
if ((length(names(x)[sapply(names(x), function(x1){any(str_detect(x1,"[A-Z]$") & !(x1 %in% antimicrobials$ab) & !(x1 %in% antimicrobials$name))})])>0)){
|
||||
names(x)[which(str_detect(names(x),"[a-z]+") & !str_detect(names(x),"fullname") & !str_detect(names(x),"mo"))] <- str_to_upper(names(x)[which(str_detect(names(x),"[a-z]+") & !str_detect(names(x),"fullname") & !str_detect(names(x),"mo"))])
|
||||
names(x)[which(str_detect(names(x),"^ORG") & str_detect(names(x),"NAME$"))] <- "fullname"
|
||||
names(x)[which(str_detect(names(x),"^ORG") & str_detect(names(x),"CODE$"))] <- "organism"
|
||||
names(x)[which(str_detect(names(x),"^DATE") & str_detect(names(x),"CULTURE$") | str_detect(names(x),"^DATE") & str_detect(names(x),"SPECIMEN"))] <- "date"
|
||||
names(x)[which(str_detect(names(x),"^EPISODE") | str_detect(names(x),"^PAT"))] <- "patient"
|
||||
names(x)[which(str_detect(names(x),"^WARD"))] <- "ward"
|
||||
names(x)[which(str_detect(names(x),"^HOSP"))] <- "hospital"
|
||||
names(x)[which(str_detect(names(x),"DATE") & (str_detect(names(x),"REGISTRATION")))] <- "date"
|
||||
|
||||
}
|
||||
|
||||
#remove any duplicated variables
|
||||
if (any(duplicated(names(x)))){
|
||||
x <- x[,-max(which(names(x) == names(x)[which(duplicated(names(x)))]))]
|
||||
} else {
|
||||
x <- x
|
||||
}
|
||||
|
||||
x <- arrange(x,"date") #arrange in increasing date
|
||||
|
||||
#if your dataset does not have an episode identifier
|
||||
if (length(names(x)[sapply(names(x), function(x1){any(str_detect(x1,"patient"))})]) == 0){
|
||||
x$patient <- seq(1,nrow(x),1)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#find demographic data within dataset
|
||||
micro_df_ind <- which(sapply(x,function(y) any(str_detect(y,"^S$"))|any(str_detect(y,"^R$"))|any(str_detect(y,"^SENSITIVE$"))| any(str_detect(y,"^RESISTANT$"))) == TRUE)
|
||||
micro_df <- names(x)[micro_df_ind]#column names for susceptibility data
|
||||
demograph_df <- names(x)[which(!names(x) %in% micro_df)] #column names for demographic or organism data
|
||||
|
||||
#Dataset required to contain both mo and fullname
|
||||
if ("mo" %in% names(x)){
|
||||
# If mo included but not fullname:
|
||||
x <- x %>%
|
||||
mutate(mo = as.mo(mo), keep_synonyms = TRUE)
|
||||
test_isolates_pre <- x %>%
|
||||
mutate(across(.cols = all_of(demograph_df),~ str_to_title(.x))) %>%
|
||||
mutate(mo = toupper(mo))
|
||||
if ("fullname" %in% names(x)){
|
||||
test_isolates <- test_isolates_pre[,c(demograph_df)]
|
||||
} else {
|
||||
test_isolates <- left_join_microorganisms(x = test_isolates_pre, by = "mo")[,c(demograph_df,"fullname")] #add in fullname
|
||||
}
|
||||
test_isolates <- test_isolates %>% #remove bugs to be excluded and final style conversions
|
||||
filter(!(fullname %in% exclude)) %>%
|
||||
mutate(fullname = str_to_title(fullname))
|
||||
|
||||
rx_abo <- x %>% #from orginal dataset
|
||||
filter(mo %in% test_isolates$mo) %>% #select only those bugs that should be included
|
||||
distinct(date, patient, mo, .keep_all = TRUE) #ensure that there are no duplications
|
||||
rx_regs <- names(rx_abo)[!(names(rx_abo) %in% demograph_df)] #extract susceptibility data
|
||||
|
||||
if (any(str_detect(rx_regs,fixed("+")))){#if combinations have already been accounted for in susceptibility profiling
|
||||
rx_regs_ind <- which(!(names(rx_abo) %in% demograph_df)) # extract susceptibility data
|
||||
rx_regs_comb <- rx_regs[str_detect(rx_regs,fixed("+"))]# find combination regimen variables
|
||||
rx_regs_comb_x_total <- data.frame()
|
||||
|
||||
for (jj in 1:length(rx_regs_comb)){ # for every combination regimen
|
||||
rx_regs_comb_sep <- str_remove_all(unlist(str_split(rx_regs_comb[jj], fixed("+"))),"[[:punct:]]") #extract separate antimicrobials included in regimen
|
||||
rx_regs_comb_pre <- data.frame(x = rep(0, times = 2), y = rep(0, times = 2))
|
||||
for (ii in 1:length(rx_regs_comb_sep)){ #for every antibiotic in the combination regimen
|
||||
rx_regs_comb_name <- ab_name(rx_regs_comb_sep[ii], only_first = TRUE) #extract their antibiotic name
|
||||
rx_regs_comb_ab <- as.ab(rx_regs_comb_name) #convert antibiotic name to abbreviation
|
||||
rx_regs_comb_antibiotic <- subset(antimicrobials, antimicrobials$ab %in% rx_regs_comb_ab)[,c("ab","name")]
|
||||
rx_regs_comb_pre[ii,] <- rx_regs_comb_antibiotic
|
||||
names(rx_regs_comb_pre) <- names(rx_regs_comb_antibiotic)
|
||||
}
|
||||
rx_regs_comb_x <- pivot_wider(rx_regs_comb_pre, names_from = name, values_from = ab)
|
||||
rx_regs_comb_x_set <- rx_regs_comb_x %>%
|
||||
mutate(namerx = str_flatten(str_c(names(rx_regs_comb_x), collapse = "+"))) #generate new antimicrobials table
|
||||
rx_regs_new_ab <- sapply(X = as.character(1:(ncol(rx_regs_comb_x_set)-1)), FUN = function(x){str_flatten(str_c("ab",x))})
|
||||
names(rx_regs_comb_x_set)[1:(ncol(rx_regs_comb_x_set)-1)] <- rx_regs_new_ab
|
||||
names(rx_regs_comb_x_set)[ncol(rx_regs_comb_x_set)]<- "namerx"
|
||||
rx_regs_comb_x_total <-rbind.data.frame(rx_regs_comb_x_total, rx_regs_comb_x_set, row.names = NULL)
|
||||
}
|
||||
|
||||
rx_regs_comb_rename <- select(rx_regs_comb_x_total,starts_with("ab")) #extract all antibiotic abbreviations
|
||||
#regenerate variable names for dataset
|
||||
suppressWarnings({
|
||||
for (k in 1:nrow(rx_regs_comb_x_total)){
|
||||
rx_regs_comb_rename_2 <- unlist(rx_regs_comb_rename[k,])
|
||||
rx_regs_comb_rename_vec <- str_flatten(str_c(rx_regs_comb_rename_2, collapse = "+"))
|
||||
names(rx_abo)[names(rx_abo) == rx_regs_comb[k]] <- rx_regs_comb_rename_vec
|
||||
|
||||
}
|
||||
})
|
||||
names(rx_abo)[!(str_detect(names(rx_abo),fixed("+"))) & !(names(rx_abo) %in% demograph_df)] <-
|
||||
as.ab(names(rx_abo)[!(str_detect(names(rx_abo),fixed("+"))) & !(names(rx_abo) %in% demograph_df)])
|
||||
names(rx_abo)[which(duplicated(names(rx_abo)))] <- str_c(names(rx_abo)[which(duplicated(names(rx_abo)))],".x")
|
||||
rx_abo_upd <- left_join_microorganisms(x = rx_abo, by = "mo")[,c(names(rx_abo),"fullname")]
|
||||
|
||||
} else {
|
||||
names(rx_abo)[!(names(rx_abo) %in% demograph_df)] <- as.ab(names(rx_abo)[!(names(rx_abo) %in% demograph_df)])
|
||||
names(rx_abo)[which(duplicated(names(rx_abo)))] <- str_c(names(rx_abo)[which(duplicated(names(rx_abo)))],".x")
|
||||
rx_abo_upd <- left_join_microorganisms(x = rx_abo, by = "mo")[,c(names(rx_abo),"fullname")]
|
||||
|
||||
}
|
||||
} else {
|
||||
#If fullname included in dataset:
|
||||
test_isolates_pre <- x %>%
|
||||
mutate(across(.cols = all_of(demograph_df),~ str_to_title(.x))) %>%
|
||||
filter(!(fullname %in% unique(exclude)))
|
||||
print(nrow(test_isolates_pre))
|
||||
test_isolates <- left_join_microorganisms(x = test_isolates_pre, by = "fullname")[,c(demograph_df,"mo")]
|
||||
test_isolates$fullname <- str_to_title(test_isolates$fullname)
|
||||
test_isolates$mo <- toupper(test_isolates$mo)
|
||||
|
||||
rx_abo <- x %>%
|
||||
mutate(fullname = str_to_title(fullname)) %>%
|
||||
filter(!(fullname %in% unique(exclude))) %>%
|
||||
distinct(date, patient, fullname, .keep_all = TRUE)
|
||||
rx_regs <- names(rx_abo)[!(names(rx_abo) %in% demograph_df)] #susceptibility data
|
||||
|
||||
if (any(str_detect(rx_regs,fixed("+")))){#if combinations have already been accounted for
|
||||
rx_regs_ind <- which(!(names(rx_abo) %in% demograph_df))
|
||||
rx_regs_comb <- rx_regs[str_detect(rx_regs,fixed("+"))]
|
||||
rx_regs_comb_x_total <- data.frame()
|
||||
|
||||
for (jj in 1:length(rx_regs_comb)){
|
||||
rx_regs_comb_sep <- str_remove_all(unlist(str_split(rx_regs_comb[jj], fixed("+"))),"[[:punct:]]")
|
||||
rx_regs_comb_pre <- data.frame(x = rep(0, times = 2), y = rep(0, times = 2))
|
||||
for (ii in 1:length(rx_regs_comb_sep)){
|
||||
rx_regs_comb_name <- ab_name(rx_regs_comb_sep[ii], only_first = TRUE)
|
||||
rx_regs_comb_ab <- as.ab(rx_regs_comb_name)
|
||||
rx_regs_comb_antibiotic <- subset(antimicrobials, antimicrobials$ab %in% rx_regs_comb_ab)[,c("ab","name")]
|
||||
rx_regs_comb_pre[ii,] <- rx_regs_comb_antibiotic
|
||||
names(rx_regs_comb_pre) <- names(rx_regs_comb_antibiotic)
|
||||
}
|
||||
rx_regs_comb_x <- pivot_wider(rx_regs_comb_pre, names_from = name, values_from = ab)
|
||||
rx_regs_comb_x_set <- rx_regs_comb_x %>%
|
||||
mutate(namerx = str_flatten(str_c(names(rx_regs_comb_x), collapse = "+")))
|
||||
rx_regs_new_ab <- sapply(X = as.character(1:(ncol(rx_regs_comb_x_set)-1)), FUN = function(x){str_flatten(str_c("ab",x))})
|
||||
names(rx_regs_comb_x_set)[1:(ncol(rx_regs_comb_x_set)-1)] <- rx_regs_new_ab
|
||||
names(rx_regs_comb_x_set)[ncol(rx_regs_comb_x_set)]<- "namerx"
|
||||
rx_regs_comb_x_total <-rbind.data.frame(rx_regs_comb_x_total, rx_regs_comb_x_set, row.names = NULL)
|
||||
}
|
||||
|
||||
rx_regs_comb_rename <- select(rx_regs_comb_x_total,starts_with("ab"))
|
||||
|
||||
suppressWarnings({
|
||||
for (k in 1:nrow(rx_regs_comb_x_total)){
|
||||
rx_regs_comb_rename_2 <- unlist(rx_regs_comb_rename[k,])
|
||||
rx_regs_comb_rename_vec <- str_flatten(str_c(rx_regs_comb_rename_2, collapse = "+"))
|
||||
names(rx_abo)[names(rx_abo) == rx_regs_comb[k]] <- rx_regs_comb_rename_vec
|
||||
}
|
||||
})
|
||||
names(rx_abo)[!(str_detect(names(rx_abo),fixed("+"))) & !(names(rx_abo) %in% demograph_df)] <-
|
||||
as.ab(names(rx_abo)[!(str_detect(names(rx_abo),fixed("+"))) & !(names(rx_abo) %in% demograph_df)])
|
||||
names(rx_abo)[which(duplicated(names(rx_abo)))] <- str_c(names(rx_abo)[which(duplicated(names(rx_abo)))],".x")
|
||||
rx_abo_upd <- left_join_microorganisms(x = rx_abo, by = "fullname")[,c(names(rx_abo),"mo")]
|
||||
|
||||
} else {
|
||||
names(rx_abo)[!(names(rx_abo) %in% demograph_df)] <- as.ab(names(rx_abo)[!(names(rx_abo) %in% demograph_df)])
|
||||
names(rx_abo)[which(duplicated(names(rx_abo)))] <- str_c(names(rx_abo)[which(duplicated(names(rx_abo)))],".x")
|
||||
rx_abo_upd <- left_join_microorganisms(x = rx_abo, by = "fullname")[,c(names(rx_abo),"mo")]
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rx_abo_upd$fullname <- str_to_title(rx_abo_upd$fullname)
|
||||
|
||||
|
||||
#generate new dataset with demographic information and only antimicrobials under investigation
|
||||
rx_1 <- select(antibiotic_rx,starts_with("ab")) #all antimicrobials
|
||||
rx_df <- test_isolates
|
||||
var_date <- names(rx_df)[str_detect(names(rx_df),"date")]
|
||||
rx_df[[var_date]] <- ymd(rx_df[[var_date]])
|
||||
var_patient <- names(rx_df)[str_detect(names(rx_df),"patient")]
|
||||
rx_df[[var_patient]] <- toupper(rx_df[[var_patient]])
|
||||
|
||||
names_vec <- vector()
|
||||
suppressWarnings({
|
||||
for (k in 1:nrow(rx_1)){
|
||||
rx_2 <- unlist(rx_1[k,][!is.na(str_extract(rx_1[k,],"[A-Z]+"))])
|
||||
if ((length(rx_2) > 1) & !(str_flatten(str_c(rx_2, collapse = "+")) %in% names(rx_abo_upd))){ # if more than one antibiotic in regimen and susceptibility of the combination not considered
|
||||
rx_df <- merge(x = rx_df, y = rx_abo_upd[,c("date","patient","mo",rx_2)], by = c("date","patient","mo")) #then bind separate antimicrobials in regimen
|
||||
#if prior individual antibiotic was added, suffix will be generated
|
||||
for (jj in 1:length(rx_2)){
|
||||
if (any(str_detect(names(rx_df),paste0(rx_2[jj],".y")))){
|
||||
rx_df[[paste0(rx_2[jj],".y")]] <- str_trim(rx_df[[paste0(rx_2[jj],".y")]])
|
||||
} else {
|
||||
rx_df[[rx_2[jj]]] <- str_trim(rx_df[[rx_2[jj]]])
|
||||
}
|
||||
}
|
||||
names(rx_df)[names(rx_df) %in% rx_2] <- str_flatten(str_c(rx_2, collapse = "+")) #rename both variables as the combination
|
||||
names(rx_df)[names(rx_df) %in% paste0(rx_2,".y")] <- str_flatten(str_c(rx_2, collapse = "+"))
|
||||
names(rx_df)[names(rx_df) %in% paste0(rx_2,".x")] <- rx_2
|
||||
names_vec[k] <- str_flatten(str_c(rx_2, collapse = "+"))
|
||||
} else if ((length(rx_2) > 1) & (str_flatten(str_c(rx_2, collapse = "+")) %in% names(rx_abo_upd))){#if more than one antibiotic in regimen and susceptibility of the combination considered
|
||||
rx_df <- merge(x = rx_df, y = rx_abo_upd[,c("date","patient","mo",str_flatten(str_c(rx_2, collapse = "+")))], by = c("date","patient","mo"))
|
||||
rx_df[[str_flatten(str_c(rx_2, collapse = "+"))]] <- str_trim(rx_df[[str_flatten(str_c(rx_2, collapse = "+"))]])
|
||||
names_vec[k] <- str_flatten(str_c(rx_2, collapse = "+"))
|
||||
} else {
|
||||
rx_df <- merge(x = rx_df, y = rx_abo_upd[,c("date","patient","mo",rx_2)], by = c("date","patient","mo")) #then bind separate antimicrobials in regimen
|
||||
rx_df[[rx_2]] <- str_trim(rx_df[[rx_2]])
|
||||
names(rx_df)[names(rx_df) %in% rx_2] <- str_flatten(str_c(rx_2, collapse = "+")) #rename both variables as the combination
|
||||
names(rx_df)[names(rx_df) %in% paste0(rx_2,".y")] <- str_flatten(str_c(rx_2, collapse = "+"))
|
||||
names(rx_df)[names(rx_df) %in% paste0(rx_2,".x")] <- rx_2
|
||||
names_vec[k] <- rx_2
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (any(is.na(rx_df$mo))){
|
||||
missing1 <- which(is.na(rx_df$mo))
|
||||
if (rx_df[missing1,"fullname"] != "NA"){
|
||||
rx_df[missing1,"mo"] <- as.mo(rx_df[missing1,]$fullname, keep_synonyms = TRUE)
|
||||
} else {
|
||||
rx_df <- rx_df[-missing1,]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#Generate adapted first isolate dataset on antimicrobial level
|
||||
if (isolate_first == "yes"){ #if dataset has already been deduplicated for first isolates
|
||||
test_isolates_first <- rx_df
|
||||
} else {
|
||||
test_isolates_first <- rx_df[first_isolate(x = rx_df,
|
||||
method = "e",
|
||||
episode_days = 14,
|
||||
col_date = var_date,
|
||||
col_mo = "mo") == TRUE,] #Only include isolates for microorganisms < 14 days apart
|
||||
}
|
||||
|
||||
|
||||
|
||||
test_isolates_first_upd <<- test_isolates_first %>%
|
||||
pivot_longer(cols = names(test_isolates_first)[which(sapply(test_isolates_first,
|
||||
function(y) any(str_detect(y,"^S$"))|any(str_detect(y,"^R$"))|any(str_detect(y,"^SENSITIVE$"))| any(str_detect(y,"^RESISTANT$"))))],
|
||||
names_to = "keyantimicrobials", values_to = "antibiogram") %>% #combine all regimens and antibiograms into single variables
|
||||
mutate(antibiogram = ifelse(antibiogram == "I"|antibiogram == "INTERMEDIATE",susceptible_I,antibiogram)) %>% #simplify susceptibility outputs - 90-60 rule
|
||||
mutate(antibiogram = ifelse(antibiogram == "SENSITIVE","S", antibiogram)) %>%
|
||||
mutate(antibiogram = ifelse(antibiogram == "RESISTANT","R",antibiogram)) %>%
|
||||
mutate(antibiogram = factor(antibiogram),
|
||||
keyantimicrobials = as.factor(keyantimicrobials))
|
||||
|
||||
|
||||
#recode susceptibility of regimes if not already in the dataset: if any S, then all S; if any NA and not S, then combination NA; if all R, then combination R.
|
||||
print("-------------------")
|
||||
print(test_isolates_first_upd)
|
||||
print(names(test_isolates_first_upd))
|
||||
print(duplicated(names(test_isolates_first_upd)))
|
||||
print(any(duplicated(names(test_isolates_first_upd))))
|
||||
print("-------------------")
|
||||
|
||||
if (any(duplicated(names(test_isolates_first_upd)))){
|
||||
test_isolates_temp3 <- test_isolates_upd %>%
|
||||
mutate(antibiogram = as.character(antibiogram)) %>%
|
||||
mutate(antibiogram = replace_na(antibiogram,"U")) %>%
|
||||
mutate(combiantibiogram = "A")
|
||||
test_isolates_temp4 <- test_isolates_temp3 %>%
|
||||
group_by(date,patient,mo,keyantimicrobials) %>%
|
||||
mutate(combiantibiogram = ifelse(any(str_detect(antibiogram,"S")), "S",combiantibiogram)) %>%
|
||||
mutate(combiantibiogram = ifelse(any(str_detect(antibiogram,"U")) & !any(str_detect(antibiogram,"S")), "U",combiantibiogram)) %>%
|
||||
mutate(combiantibiogram = ifelse(!any(str_detect(antibiogram,"U")) & !any(str_detect(antibiogram,"S")), "R", combiantibiogram)) %>%
|
||||
distinct(date,patient,mo,.keep_all = TRUE) %>%
|
||||
ungroup() %>%
|
||||
select(-antibiogram) %>%
|
||||
rename("antibiogram" = "combiantibiogram") %>%
|
||||
mutate(antibiogram = ifelse(antibiogram == "U",NA_character_, antibiogram)) %>%
|
||||
mutate(antibiogram = as.factor(antibiogram))
|
||||
|
||||
test_isolates_temp5 <- test_isolates_upd %>% #isolate the single regimens
|
||||
group_by(date,patient,mo) %>%
|
||||
filter(!str_detect(keyantimicrobials,fixed("+"))) %>%
|
||||
ungroup()
|
||||
|
||||
test_isolates_final <- bind_rows(test_isolates_temp4,test_isolates_temp5)
|
||||
test_isolates_final <- test_isolates_final %>%
|
||||
arrange(patient)
|
||||
|
||||
} else {
|
||||
test_isolates_final <- test_isolates_first_upd
|
||||
}
|
||||
|
||||
test_isolates_final <<- test_isolates_final
|
||||
|
||||
test_isolates_final$fullname <- as.factor(test_isolates_final$fullname)
|
||||
test_isolates_final$date <- ymd(test_isolates_final$date)
|
||||
|
||||
|
||||
#Calculate pathogen incidence and susceptible by regimen
|
||||
mo_name_total <- test_isolates_final %>% #deduplicate pathogen list
|
||||
filter(!duplicated(mo)) %>%
|
||||
select(mo,fullname)
|
||||
|
||||
organism_count_total <- test_isolates_final %>% #count the number of occurrences of pathogens within first isolates set
|
||||
group_by(mo) %>%
|
||||
distinct(date,patient,.keep_all = TRUE) %>%
|
||||
count(mo) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
|
||||
organism_count_total_upd <- organism_count_total %>%
|
||||
mutate(mo = as.character(mo)) %>%
|
||||
mutate(mo = ifelse(str_detect(mo, "^B_KLBSL"),"B_KLBSL",mo)) %>%
|
||||
mutate(mo = as.factor(mo))
|
||||
klebsiella_combine <- organism_count_total_upd %>%
|
||||
filter(mo == "B_KLBSL") %>%
|
||||
summarise(n_kleb = sum(n))
|
||||
organism_count_total_upd <- organism_count_total_upd %>%
|
||||
mutate(n = ifelse(mo == "B_KLBSL", klebsiella_combine$n_kleb, n)) %>%
|
||||
distinct(mo,.keep_all = TRUE)
|
||||
organism_count_total_upd <- rename(organism_count_total_upd,
|
||||
"n_inc" = "n")
|
||||
|
||||
regimen_organism <- slice_max(organism_count_total_upd, order_by = n_inc, n = pathogen_in) #choose only the top n number of occurring pathogens to consider in WISCA
|
||||
total_pathogens <- sum(regimen_organism$n_inc) #total number of occurrences of pathogens
|
||||
print(paste0("Total pathogens = ",sum(organism_count_total_upd$n_inc)))
|
||||
print(paste0("Number of pathogens contributing to WISCA = ", total_pathogens))
|
||||
print(paste0("Percentage of pathogens contributing to WISCA = ",round((total_pathogens/sum(organism_count_total_upd$n_inc))*100,0),"%"))
|
||||
|
||||
test_isolates_final <- test_isolates_final %>%
|
||||
mutate(mo = as.character(mo)) %>%
|
||||
mutate(mo = ifelse(str_detect(mo, "^B_KLBSL"), "B_KLBSL",mo)) %>% #combine all Klebsiella species together
|
||||
mutate(mo = as.factor(mo)) %>%
|
||||
mutate(fullname = as.character(fullname)) %>%
|
||||
mutate(fullname = ifelse(str_detect(fullname, "Klebsiella"), "Klebsiella sp.", fullname)) %>% #rename all Klebsiella species
|
||||
mutate(fullname = as.factor(fullname))
|
||||
|
||||
|
||||
#for each antimicrobial regimen calculate the pathogen incidence and sensitivity
|
||||
params_set_out <- data.frame()
|
||||
|
||||
if (analysis %in% names(test_isolates_final)){
|
||||
|
||||
#if there is a facility/ward/category level analysis required
|
||||
for (j in 1:length(unique(test_isolates_final[[analysis]]))){#for every facility/ward/category
|
||||
infection_episodes <- length(unique(test_isolates_final[test_isolates_final[[analysis]] == unique(test_isolates_final[[analysis]])[j],]$patient))
|
||||
|
||||
if (infection_episodes < 100){#must have at least 100 infection episodes for WISCA
|
||||
warning(paste0("Number of infection episodes = ",infection_episodes,". Minimum sample size for WISCA is 100 infection episodes. Below minimum sample size will produce inaccurate coverage estimates."))
|
||||
|
||||
} else {
|
||||
print(paste0("Number of infection episodes = ",infection_episodes," > 100 minimum required. Sample size adequate for WISCA analysis."))
|
||||
}
|
||||
|
||||
|
||||
y_site <- subset(test_isolates_final, test_isolates_final[[analysis]] == unique(test_isolates_final[[analysis]])[j])
|
||||
|
||||
mo_name_sites <- y_site %>% #deduplicate
|
||||
filter(!duplicated(mo)) %>%
|
||||
select(mo,fullname,all_of(analysis))
|
||||
|
||||
organism_count_regimen <- y_site %>% #count the number of organisms per regimen
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
group_by(mo) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(mo) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
|
||||
|
||||
organism_count_df <- left_join(x = organism_count_regimen, y = mo_name_sites, by = "mo")[,c("mo",analysis,"fullname","n")]
|
||||
|
||||
total_sites_pathogens <- sum(organism_count_df$n)
|
||||
print(paste0("Number of pathogens contributing to WISCA in ",unique(test_isolates_final[[analysis]])[j]," = ", total_sites_pathogens))
|
||||
|
||||
organism_count_df <- organism_count_df %>%
|
||||
mutate(prop.n = n/total_sites_pathogens) #pathogen incidence = number of pathogen occurring/total pathogen occurrences included in WISCA
|
||||
#
|
||||
|
||||
susceptible_regimen_tested <<- y_site %>% #determine sensitivity profile - assume those with NA not tested. Calculate susceptibility only on tested
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
filter(!is.na(antibiogram)) %>%
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(antibiogram) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
susceptible_regimen_ntested <<- y_site %>% #determine sensitivity profile - assume those with NA not tested. Calculate susceptibility only on tested
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
filter(is.na(antibiogram)) %>% #Not tested
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(antibiogram) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
|
||||
organism_count_df_tested <<- susceptible_regimen_tested %>%
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
summarise(tested_n = sum(n), .groups = "keep") %>%
|
||||
ungroup()
|
||||
organism_count_df_ntested <<- susceptible_regimen_ntested %>%
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
summarise(ntested_n = sum(n), .groups = "keep") %>%
|
||||
ungroup()
|
||||
|
||||
organism_count_df_combine_tested <- full_join(x = organism_count_df_tested, y = organism_count_df_ntested, by = c("mo","keyantimicrobials")) #combine tested and nontested
|
||||
organism_count_df_combine_tested <- organism_count_df_combine_tested %>%
|
||||
mutate(tested_n = ifelse(is.na(tested_n), 0 ,tested_n),
|
||||
ntested_n = ifelse(is.na(ntested_n), 0, ntested_n))
|
||||
|
||||
organism_count_df_regimen_tested <- left_join(x = organism_count_df, y = organism_count_df_combine_tested[,c("mo","keyantimicrobials","tested_n")], by = "mo")
|
||||
|
||||
#minimum number of tested isolates per ABO should be 30 for accurate coverage estimates
|
||||
condition_tested <- organism_count_df_regimen_tested %>%
|
||||
filter(tested_n <30)
|
||||
if (nrow(condition_tested) > 0){
|
||||
warning("Number of tested isolates per regimen should exceed 30. Coverage estimates will be inaccurate for following regimens")
|
||||
View(condition_tested[c("mo","n","keyantimicrobials","tested_n")])
|
||||
} else {
|
||||
print("Number of tested isolates per regimen exceed minimum threshold of 30.")
|
||||
}
|
||||
|
||||
organism_tested_sensitive <- susceptible_regimen_tested %>%
|
||||
filter(antibiogram == "S")
|
||||
|
||||
if (nrow(susceptible_regimen_tested)> 0){
|
||||
sensitivity <- left_join(x = organism_count_df_regimen_tested, y = organism_tested_sensitive, by = c("mo","keyantimicrobials"))
|
||||
sensitivity <- sensitivity %>%
|
||||
rename("S_n" = "n.y") %>%
|
||||
mutate(S_n = ifelse(is.na(S_n),0,S_n)) %>%
|
||||
select(-antibiogram)
|
||||
sensitivity <- sensitivity %>% #calculate proportion sensitive out of those tested and having results
|
||||
mutate(prop.S = ifelse(tested_n != 0, S_n/tested_n, 0))
|
||||
sensitivity$perc.S <- sensitivity$prop.S * 100
|
||||
|
||||
params_set_out <- rbind.data.frame(params_set_out, sensitivity, row.names = NULL)
|
||||
} else {
|
||||
next
|
||||
}
|
||||
}
|
||||
|
||||
params_set_out$fullname <- droplevels(params_set_out$fullname)
|
||||
params_set_out[[names(test_isolates_final)[names(test_isolates_final) == analysis]]] <- as.factor(params_set_out[[names(test_isolates_final)[names(test_isolates_final) == analysis]]])
|
||||
|
||||
} else{
|
||||
|
||||
infection_episodes <- length(unique(test_isolates_final$patient))
|
||||
if (infection_episodes < 100){#must have at least 100 infection episodes for WISCA
|
||||
warning(paste0("Number of infection episodes = ",infection_episodes,". Minimum sample size for WISCA is 100 infection episodes. Below minimum sample size will produce inaccurate coverage estimates."))
|
||||
|
||||
} else {
|
||||
print(paste0("Number of infection episodes = ",infection_episodes," > 100 minimum required. Sample size adequate for WISCA analysis."))
|
||||
}
|
||||
|
||||
mo_name_sites <- test_isolates_final %>% #deduplicate
|
||||
filter(!duplicated(mo)) %>%
|
||||
select(mo,fullname)
|
||||
|
||||
organism_count_path <- test_isolates_final %>% #count the number of organisms
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
group_by(mo) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(mo) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
|
||||
organism_count_df <- left_join(x = organism_count_path, y = mo_name_sites, by = "mo")[,c("mo","fullname","n")]
|
||||
|
||||
total_sites_pathogens <- sum(organism_count_df$n)
|
||||
|
||||
|
||||
|
||||
organism_count_df <- organism_count_df %>%
|
||||
mutate(prop.n = n/total_pathogens) #pathogen incidence = number of pathogen occurring/total pathogen occurrences included in WISCA
|
||||
|
||||
|
||||
susceptible_regimen_tested <<- test_isolates_final %>% #determine sensitivity profile - assume those with NA not tested. Calculate susceptibility only on tested
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
filter(!is.na(antibiogram)) %>% #Tested
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(antibiogram) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
susceptible_regimen_ntested <<- test_isolates_final %>% #determine sensitivity profile - assume those with NA not tested. Calculate susceptibility only on tested
|
||||
filter(mo %in% regimen_organism$mo) %>%
|
||||
filter(is.na(antibiogram)) %>% #Not tested
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
distinct(date, patient, .keep_all = TRUE) %>%
|
||||
count(antibiogram) %>%
|
||||
ungroup() %>%
|
||||
arrange(desc(n))
|
||||
|
||||
organism_count_df_tested <<- susceptible_regimen_tested %>%
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
summarise(tested_n = sum(n), .groups = "keep") %>%
|
||||
ungroup()
|
||||
organism_count_df_ntested <<- susceptible_regimen_ntested %>%
|
||||
group_by(mo,keyantimicrobials) %>%
|
||||
summarise(ntested_n = sum(n), .groups = "keep") %>%
|
||||
ungroup()
|
||||
|
||||
organism_count_df_combine_tested <- full_join(x = organism_count_df_tested, y = organism_count_df_ntested, by = c("mo","keyantimicrobials")) #combine tested and nontested
|
||||
organism_count_df_combine_tested <- organism_count_df_combine_tested %>%
|
||||
mutate(tested_n = ifelse(is.na(tested_n), 0 ,tested_n),
|
||||
ntested_n = ifelse(is.na(ntested_n), 0, ntested_n))
|
||||
|
||||
organism_count_df_regimen_tested <- left_join(x = organism_count_df, y = organism_count_df_combine_tested[,c("mo","keyantimicrobials","tested_n")], by = "mo")
|
||||
|
||||
#minimum number of tested isolates per ABO should be 30 for accurate coverage estimates
|
||||
condition_tested <- organism_count_df_regimen_tested %>%
|
||||
filter(tested_n <30)
|
||||
if (nrow(condition_tested) > 0){
|
||||
warning("Number of tested isolates per regimen should exceed 30. Coverage estimates will be inaccurate for these regimens.")
|
||||
View(condition_tested[,c("mo","n","keyantimicrobials","tested_n")])
|
||||
} else {
|
||||
print("Number of tested isolates per regimen exceed minimum threshold of 30.")
|
||||
}
|
||||
|
||||
|
||||
organism_tested_sensitive <- susceptible_regimen_tested %>%
|
||||
filter(antibiogram == "S")
|
||||
|
||||
if (nrow(susceptible_regimen_tested)> 0){
|
||||
sensitivity <- left_join(x = organism_count_df_regimen_tested, y = organism_tested_sensitive, by = c("mo","keyantimicrobials"))
|
||||
sensitivity <- sensitivity %>%
|
||||
rename("S_n" = "n.y") %>%
|
||||
mutate(S_n = ifelse(is.na(S_n),0,S_n)) %>%
|
||||
select(-antibiogram)
|
||||
sensitivity <- sensitivity %>% #calculate proportion sensitive out of those tested and having results
|
||||
mutate(prop.S = ifelse(tested_n != 0, S_n/tested_n, 0))
|
||||
sensitivity$perc.S <- sensitivity$prop.S * 100
|
||||
|
||||
params_set_out <- rbind.data.frame(params_set_out, sensitivity, row.names = NULL)
|
||||
|
||||
} else {
|
||||
next
|
||||
}
|
||||
params_set_out$fullname <- droplevels(params_set_out$fullname)
|
||||
|
||||
}
|
||||
|
||||
|
||||
# if (infection_in != ""){
|
||||
# params_set_out <- params_set_out %>%
|
||||
# mutate(infection_type = infection_in) %>%
|
||||
# mutate(infection_type_full = infection_full) %>%
|
||||
# rowwise() %>%
|
||||
# mutate(regimens = ifelse(str_detect(keyantimicrobials, fixed("+")),
|
||||
# str_c(sapply(unlist(unique(str_split(keyantimicrobials, fixed("+")))),ab_name,USE.NAMES = FALSE), collapse = " + "),
|
||||
# ab_name(keyantimicrobials))) %>%
|
||||
# select(mo:prop.n, regimens,keyantimicrobials,tested_n:infection_type, infection_type_full)
|
||||
#
|
||||
#
|
||||
# } else {
|
||||
# print("here??")
|
||||
# params_set_out <- params_set_out %>%
|
||||
# mutate(infection_type_full = infection_full) %>%
|
||||
# rowwise() %>%
|
||||
# mutate(regimens = ifelse(str_detect(keyantimicrobials, fixed("+")),
|
||||
# str_c(sapply(unlist(unique(str_split(keyantimicrobials, fixed("+")))),ab_name,USE.NAMES = FALSE), collapse = " + "),
|
||||
# ab_name(keyantimicrobials))) %>%
|
||||
# select(mo:prop.n, regimens,keyantimicrobials,tested_n:infection_type, infection_type_full)
|
||||
# }
|
||||
|
||||
|
||||
|
||||
return(params_set_out)
|
||||
|
||||
|
||||
}
|
||||
122
data-raw/wisca_test/wisca_AMR.R
Normal file
122
data-raw/wisca_test/wisca_AMR.R
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
# Copyright (c) [2022] [Larisse Bolton (author), Aislinn Cook (contributor)]
|
||||
# Adapted from: Bielicki JA, Sharland M, Heath PT, et al. Evaluation of the coverage of 3 antibiotic regimens for
|
||||
# neonatal sepsis in the hospital setting across Asian countries. JAMA Netw Open.
|
||||
# 2020:3(2):e1921124. doi:10.1001.jamanetworkopen.2019.21124
|
||||
|
||||
|
||||
wisca_funct <- function(wisca_in,analysis){
|
||||
|
||||
#function used to gerenrate coverage estimate parameters from input data
|
||||
priors <- function(wisca_prior_in){
|
||||
#INCIDENCE
|
||||
#prior Dirichlet (Gamma) parameters
|
||||
A <- rep(1, times = length(unique(wisca_prior_in$mo)))
|
||||
Multiplier <- rep(1, times = length(unique(wisca_prior_in$mo)))
|
||||
multinomial_obs <- round((wisca_prior_in$n.x)*Multiplier,0)
|
||||
|
||||
#posterior Dirichlet (Gamma) parameters
|
||||
gamma_A <- A + multinomial_obs
|
||||
B <- rep(1, times = length(gamma_A))
|
||||
|
||||
##SUSCEPTIBILITY
|
||||
#prior Beta parameters
|
||||
beta_A <- rep(1, times = length(unique(wisca_prior_in$mo)))
|
||||
beta_B <- rep(1, times = length(unique(wisca_prior_in$mo)))
|
||||
|
||||
#Binomial distribution parameters
|
||||
r <- wisca_prior_in$S_n #number of pathogens that tested sensitive
|
||||
n_obs <- wisca_prior_in$tested_n #number of pathogens tested
|
||||
# n_tested <- round(n_obs*(wisca_calc_input$prop.sens))
|
||||
diff_nr <- n_obs - r #difference between number of pathogens that were tested and those that tested sensitive
|
||||
|
||||
#posterior beta parameters
|
||||
post_beta_1 <- beta_A + r
|
||||
post_beta_2 <- beta_B + diff_nr
|
||||
|
||||
priors_df <- bind_cols(gamma_A,B,post_beta_1,post_beta_2)
|
||||
names(priors_df) <- c("gamma_A","B","post_beta_1","post_beta_2")
|
||||
return(priors_df)
|
||||
}
|
||||
|
||||
#simulations per bug
|
||||
#function to generate simulations
|
||||
coverage <- function(wisca_sim_in){
|
||||
sim_coverage <- wisca_sim_in %>%
|
||||
mutate(random_incidence = runif(n = nrow(wisca_sim_in), min = 0, max = 1),
|
||||
random_susceptibility = runif(n = nrow(wisca_sim_in), min = 0, max = 1)) %>%
|
||||
mutate(simulation_bug = qgamma(random_incidence, shape = gamma_A, scale = B),
|
||||
simulation_suscep = qbeta(p = random_susceptibility,
|
||||
shape1 = post_beta_1, shape2 = post_beta_2)) %>%
|
||||
mutate(sim_inc_total = sum(simulation_bug),
|
||||
simulated_incidence = simulation_bug/sim_inc_total) %>%
|
||||
mutate(simulated_bugcover = simulated_incidence *simulation_suscep,
|
||||
coverage = sum(simulated_bugcover))
|
||||
sim_coverage_out <- slice_head(sim_coverage, n = 1)$coverage
|
||||
return(sim_coverage_out)
|
||||
}
|
||||
|
||||
##will run this for every regimen
|
||||
set.seed(1243)
|
||||
cover <- data.frame()
|
||||
|
||||
for (gg in 1:length(unique(wisca_in$keyantimicrobials))){
|
||||
simulation_nr <- 1000
|
||||
#generate 1000 coverage estimates and determine mean and CI
|
||||
wisca <- subset(wisca_in, keyantimicrobials == unique(wisca_in$keyantimicrobials)[gg])
|
||||
|
||||
if (analysis %in% names(wisca)){
|
||||
cover_level <- data.frame()
|
||||
for (ii in 1:length(levels(wisca[[analysis]]))){
|
||||
wisca_prep <- subset(wisca, wisca[[analysis]] == levels(wisca[[analysis]])[ii])
|
||||
params_priors <- priors(wisca_prior_in = wisca_prep)
|
||||
|
||||
coverage_simulation_total <- replicate(n = simulation_nr,coverage(wisca_sim_in = params_priors))
|
||||
|
||||
av_coverage <- mean(coverage_simulation_total)
|
||||
ci_coverage_lower <- quantile(coverage_simulation_total, probs = 0.025)
|
||||
ci_coverage_upper <- quantile(coverage_simulation_total, probs = 0.975)
|
||||
|
||||
combine_out <- cbind.data.frame(unique(wisca_in$keyantimicrobials)[gg],
|
||||
levels(wisca[[analysis]])[ii],
|
||||
av_coverage,
|
||||
ci_coverage_lower,
|
||||
ci_coverage_upper,
|
||||
row.names = NULL)
|
||||
names(combine_out) <- c("Regimen",str_to_sentence(analysis),"Coverage","Lower_CI","Upper_CI")
|
||||
cover_level <- rbind.data.frame(cover_level,combine_out, row.names = NULL)
|
||||
}
|
||||
cover <- rbind.data.frame(cover,cover_level, row.names = NULL)
|
||||
|
||||
|
||||
} else {
|
||||
params_priors <- priors(wisca_prior_in = wisca)
|
||||
|
||||
coverage_simulation_total <- replicate(n = simulation_nr,coverage(wisca_sim_in = params_priors))
|
||||
|
||||
av_coverage <- mean(coverage_simulation_total)
|
||||
ci_coverage_lower <- quantile(coverage_simulation_total, probs = 0.025)
|
||||
ci_coverage_upper <- quantile(coverage_simulation_total, probs = 0.975)
|
||||
|
||||
combine_out <- cbind.data.frame(unique(wisca_in$keyantimicrobials)[gg],
|
||||
av_coverage,
|
||||
ci_coverage_lower,
|
||||
ci_coverage_upper,
|
||||
row.names = NULL)
|
||||
names(combine_out) <- c("Regimen","Coverage","Lower_CI","Upper_CI")
|
||||
cover <- rbind.data.frame(cover,combine_out, row.names = NULL)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
cover <- cover %>%
|
||||
mutate(across(.cols = Coverage:Upper_CI, ~ round(.x*100,1))) %>%
|
||||
rowwise() %>%
|
||||
mutate(Regimen_full = ifelse(str_detect(Regimen, fixed("+")),
|
||||
str_c(sapply(unlist(unique(str_split(Regimen, fixed("+")))),ab_name,USE.NAMES = FALSE), collapse = " + "),
|
||||
ab_name(Regimen))) %>%
|
||||
relocate(Regimen_full,.before = Regimen)
|
||||
|
||||
return(cover)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user