mirror of
https://github.com/msberends/AMR.git
synced 2026-05-14 05:10:46 +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 * Fix namespace load failure: remove assignInNamespace from .onLoad (#268) assignInNamespace cannot add NEW bindings to a locked package namespace (R locks namespace bindings before .onLoad runs). Replace the .onLoad shim with a runtime fallback inside interpretive_rules(): if INTERPRETIVE_RULES_DF is absent (pre-regeneration sysdata.rda), derive it from EUCAST_RULES_DF by adding the rule.provider column. This also fixes the screening_abx line to reuse the already-resolved interpretive_rules_df_total instead of a bare INTERPRETIVE_RULES_DF reference. https://claude.ai/code/session_01D46BTsfJSPo3HnLWp3PRkP * fixes * fixes --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -53,12 +53,12 @@ test_that("test-data.R", {
|
||||
expect_false(anyNA(microorganisms.codes$mo))
|
||||
expect_true(all(dosage$ab %in% AMR::antimicrobials$ab))
|
||||
expect_true(all(dosage$name %in% AMR::antimicrobials$name))
|
||||
eucast_abx <- AMR:::EUCAST_RULES_DF$and_these_antibiotics
|
||||
eucast_abx <- unique(unlist(strsplit(eucast_abx[!is.na(eucast_abx)], ", +")))
|
||||
expect_true(all(eucast_abx %in% AMR::antimicrobials$ab),
|
||||
interpretive_abx <- AMR:::INTERPRETIVE_RULES_DF$and_these_antibiotics
|
||||
interpretive_abx <- unique(unlist(strsplit(interpretive_abx[!is.na(interpretive_abx)], ", +")))
|
||||
expect_true(all(interpretive_abx %in% AMR::antimicrobials$ab),
|
||||
info = paste0(
|
||||
"Missing in `antimicrobials` data set: ",
|
||||
toString(eucast_abx[which(!eucast_abx %in% AMR::antimicrobials$ab)])
|
||||
toString(interpretive_abx[which(!interpretive_abx %in% AMR::antimicrobials$ab)])
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user