> This page was entirely written by our [AMR for R Assistant](https://chat.amr-for-r.org), a ChatGPT manually-trained model able to answer any question about the AMR package.
> This page was entirely written by our [AMR for R Assistant](https://chat.amr-for-r.org), a ChatGPT manually-trained model able to answer any question about the `AMR` package.
Antimicrobial resistance (AMR) is a global health crisis, and understanding resistance patterns is crucial for managing effective treatments. The `AMR` R package provides robust tools for analysing AMR data, including convenient antimicrobial selector functions like `aminoglycosides()` and `betalactams()`.
> This explainer was largely written by our [AMR for R Assistant](https://chat.amr-for-r.org), a ChatGPT manually-trained model able to answer any question about the `AMR` package.
## Introduction
Clinical guidelines for empirical antimicrobial therapy require *probabilistic reasoning*: what is the chance that a regimen will cover the likely infecting organisms, before culture results are available?
This is the purpose of **WISCA**, or **Weighted-Incidence Syndromic Combination Antibiogram**.
WISCA is a Bayesian approach that integrates:
- **Pathogen prevalence** (how often each species causes the syndrome),
- **Regimen susceptibility** (how often a regimen works *if* the pathogen is known),
to estimate the **overall empirical coverage** of antimicrobial regimens — with quantified uncertainty.
to estimate the **overall empirical coverage** of antimicrobial regimens, with quantified uncertainty.
This vignette explains how WISCA works, why it is useful, and how to apply it in **AMR**.
---
This vignette explains how WISCA works, why it is useful, and how to apply it using the `AMR` package.
## Why traditional antibiograms fall short
A standard antibiogram gives you:
``` Species → Antibiotic → Susceptibility %
```
Species → Antibiotic → Susceptibility %
```
But clinicians don’t know the species *a priori*. They need to choose a regimen that covers the **likely pathogens** — without knowing which one is present.
But clinicians don’t know the species *a priori*. They need to choose a regimen that covers the **likely pathogens**, without knowing which one is present.
Traditional antibiograms calculate the susceptibility % as just the number of resistant isolates divided by the total number of tested isolates. Therefore, traditional antibiograms:
Traditional antibiograms:
- Fragment information by organism,
- Do not weight by real-world prevalence,
- Do not account for combination therapy or sample size,
- Do not provide uncertainty.
---
## The idea of WISCA
WISCA asks:
> “What is the **probability** that this regimen **will cover** the pathogen, given the syndrome?”
> "What is the **probability** that this regimen **will cover** the pathogen, given the syndrome?"
This means combining two things:
- **Incidence** of each pathogen in the syndrome,
- **Susceptibility** of each pathogen to the regimen.
But in real data, incidence and susceptibility are **estimated from samples** — so they carry uncertainty. WISCA models this **probabilistically**, using conjugate Bayesian distributions.
---
But in real data, incidence and susceptibility are **estimated from samples**, so they carry uncertainty. WISCA models this **probabilistically**, using conjugate Bayesian distributions.
## The Bayesian engine behind WISCA
### Pathogen incidence
Let:
- K be the number of pathogens,
- ``` α = (1, 1, ..., 1) be a **Dirichlet** prior (uniform),
- ``` n = (n₁, ..., nₖ) be the observed counts per species.
Then the posterior incidence follows:
- $K$ be the number of pathogens,
- $\alpha = (1, 1, \ldots, 1)$ be a **Dirichlet** prior (uniform),
- $n = (n_1, \ldots, n_K)$ be the observed counts per species.
``` incidence ∼ Dirichlet(α + n)
Then the posterior incidence is:
In simulations, we draw from this posterior using:
- `combine_SI = TRUE`: count “I”/“SDD” as susceptible.
---
- `simulations = 1000`: number of Monte Carlo draws
- `conf_interval = 0.95`: coverage interval width
- `combine_SI = TRUE`: count "I" and "SDD" as susceptible
## Limitations
- WISCA does not model time trends or temporal resistance shifts.
- It assumes data are representative of current clinical practice.
- It does not account for patient-level covariates (yet).
- Species-specific data are abstracted into syndrome-level estimates.
- It assumes your data are representative
- No adjustment for patient-level covariates, although these could be passed onto the `syndromic_group` argument
- WISCA does not model resistance over time, you might want to use `tidymodels` for that, for which we [wrote a basic introduction](https://amr-for-r.org/articles/AMR_with_tidymodels.html)
---
## Summary
WISCA enables:
- Empirical regimen comparison,
- Syndrome-specific coverage estimation,
- Fully probabilistic interpretation.
It is available in the `AMR` package via either:
```r
wisca(...)
antibiogram(..., wisca = TRUE)
```
## Reference
Bielicki JA et al. (2016).
*Weighted-incidence syndromic combination antibiograms to guide empiric treatment in pediatric bloodstream infections.*
WISCA shifts empirical therapy from simple percent susceptible toward **probabilistic, syndrome-based decision support**. It is a statistically principled, clinically intuitive method to guide regimen selection — and easy to use via the `antibiogram()` function in the **AMR** package.
For antimicrobial stewardship teams, it enables **disease-specific, reproducible, and data-driven guidance** — even in the face of sparse data.
Bielicki, JA, et al. (2016). *Selecting appropriate empirical antibiotic regimens for paediatric bloodstream infections: application of a Bayesian decision model to local and pooled antimicrobial resistance surveillance data.* **J Antimicrob Chemother**. 71(3):794-802. https://doi.org/10.1093/jac/dkv397
title: "Download data sets for download / own use"
date: '`r format(Sys.Date(), "%d %B %Y")`'
output:
rmarkdown::html_vignette:
toc: true
toc_depth: 1
vignette: >
%\VignetteIndexEntry{Data sets for download / own use}
%\VignetteIndexEntry{Download data sets for download / own use}
%\VignetteEncoding{UTF-8}
%\VignetteEngine{knitr::rmarkdown}
editor_options:
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.