Skip to content

Method

Antimicrobial susceptibility testing data becomes a usable antibiogram in four steps

There is no model in the middle. The whole transform is counting, under three rules that every microbiologist already argues about, made visible instead of assumed.

  1. 01 Import
  2. 02 De-duplicate
  3. 03 Interpret
  4. 04 Publish

01

Import

Import the export you already produce

The file is the twelve-month susceptibility export your laboratory information system already generates for the annual report. Seven fields matter: a patient key, the collection date, the specimen source, the unit, the organism, the antibiotic and the S, I or R result. MIC values are used where they are present and are never required.

Column names differ between systems, so they are detected and shown back to you for confirmation. In the browser demo the file is parsed locally with the file API, and no row is transmitted anywhere.

patient_idcollected_datespecimen_sourceunitorganismantibioticresult
a41f9c2026-01-08UrineOutpatientE. coliCiprofloxacinS
a41f9c2026-01-08UrineOutpatientE. coliNitrofurantoinS
77b2042026-01-09BloodICUK. pneumoniaeMeropenemS
77b2042026-01-09BloodICUK. pneumoniaeCeftriaxoneR

Nothing else in the file is read. Extra columns are ignored rather than stored.

02

De-duplicate

Reduce to the first isolate per patient

CLSI M39 guidance for cumulative antibiograms is to count each patient once per organism per analysis period, normally the first isolate. Patients who are cultured repeatedly are on average sicker and more heavily exposed to antibiotics, so counting every isolate lets a small group of patients pull the whole report toward their resistance pattern.

The count before and after de-duplication is shown on the output, not hidden in a method note, and the rule is a toggle so you can see exactly what it removed.

4,812

isolates in the export

3,190

first isolates per patient

Illustrative figures. The builder shows this pair for your own file.

Typical effect: around a fifth of rows in a hospital export belong to a patient already counted.

03

Interpret

Apply breakpoints and the reporting threshold

By default your laboratory's own reported interpretation is used, because your laboratory is the authority on its own results. Where MIC values are present, the Stewardship plan and above can reinterpret them against a chosen CLSI or EUCAST version, which is how you re-run last year under this year's table.

Intermediate results are excluded from the denominator by default and can be counted as resistant instead. Cells holding fewer than 30 isolates are marked rather than dropped, so a thin cell is visible as a decision rather than as an absence.

92n 418
71n 203
n<3017

The threshold is a setting. The default is 30, which is the CLSI M39 figure.

04

Publish

Publish the matrix, the ranking and the receipt

The output is the organism by antibiotic matrix, the empiric ranking for the current selection, the quarterly trend for any pair you pick, and a plain-language line stating exactly which rules produced the numbers above it.

Export to CSV for the committee pack or print to a clean page. The rule receipt travels with both, because an undated report with unstated rules cannot explain its own trend six months later.

4,812 isolates in selection · 3,190 first isolates per patient · urine only · all units · full year · intermediate counted separately · 6 cells suppressed at n<30

Every export carries the generation date and the full rule receipt.

Run it yourself

The fastest way to check this is to change a filter

The builder on the homepage runs the four steps above on a synthetic dataset, live, with the rule receipt under the matrix. Load your own CSV and it never leaves your browser.

Your file is parsed in your browser and never uploaded. No card required.