1
0
mirror of https://github.com/msberends/AMR.git synced 2026-05-31 21:41:54 +02:00

Generalise interpretive rules for multi-guideline support (#268)

- Rename data-raw/eucast_rules.tsv → interpretive_rules.tsv; add rule.provider
  column (value: "EUCAST") to distinguish future CLSI rows
- Rename EUCAST_RULES_DF → INTERPRETIVE_RULES_DF in _pre_commit_checks.R;
  filter by rule.provider == guideline when applying rules in interpretive_rules()
- Rename custom_eucast_rules() → custom_interpretive_rules() with new S3 class
  "custom_interpretive_rules"; old function becomes a deprecated wrapper in
  zz_deprecated.R; backward-compat S3 dispatch shims added for old class
- Remove stop_if(guideline == "CLSI", ...) so clsi_rules() no longer errors
- Add .onLoad shim in zzz.R to create INTERPRETIVE_RULES_DF from EUCAST_RULES_DF
  for transitional compatibility until sysdata.rda is regenerated

https://claude.ai/code/session_01D46BTsfJSPo3HnLWp3PRkP
This commit is contained in:
Claude
2026-04-30 21:29:26 +00:00
parent f7e9294bea
commit befbccc304
10 changed files with 1687 additions and 106 deletions

11
R/zzz.R
View File

@@ -112,6 +112,17 @@ AMR_env$cross_icon <- if (isTRUE(base::l10n_info()$`UTF-8`)) "\u00d7" else "x"
AMR_env$AB_lookup <- cbind(AMR::antimicrobials, AB_LOOKUP)
AMR_env$AV_lookup <- cbind(AMR::antivirals, AV_LOOKUP)
# Transitional: create INTERPRETIVE_RULES_DF alias if sysdata.rda predates the rename from EUCAST_RULES_DF.
# Remove this block once data-raw/_pre_commit_checks.R has been re-run.
ns <- asNamespace("AMR")
if (!exists("INTERPRETIVE_RULES_DF", envir = ns, inherits = FALSE) &&
exists("EUCAST_RULES_DF", envir = ns, inherits = FALSE)) {
df <- get("EUCAST_RULES_DF", envir = ns)
df$rule.provider <- "EUCAST"
df <- df[, c("rule.provider", setdiff(colnames(df), "rule.provider")), drop = FALSE]
assignInNamespace("INTERPRETIVE_RULES_DF", df, ns = "AMR")
}
}
.onAttach <- function(libname, pkgname) {