Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Data & Analytics

Cumulative Antibiogram Builder and Resistance Trend Dashboard from Hospital Lab Exports

Build a tool that takes the messy Excel exports from a hospital microbiology lab, cleans them, applies the international rules for counting isolates and produces a cumulative antibiogram that doctors can use when choosing antibiotics. Many hospitals in Pakistan and South Asia have the lab results but never turn them into this table. The tool also tracks resistance trends over time, ward by ward.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester · 2 students

Deliverables

7 to ship

4 optional extras

Suggested stack

Python or Rpandas or the AMR R packagePostgreSQLFastAPI or PlumberPlotly or Shiny dashboardDocker
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Importers for at least two lab export formats, with mapping of local organism and antibiotic names to standard codes
  • First-isolate selection following the CLSI M39 guideline, so repeat cultures from one patient do not inflate resistance
  • A cumulative antibiogram table by organism and antibiotic, hiding cells below the minimum isolate count
  • Separate tables for wards such as intensive care, inpatient and outpatient
  • Resistance trend charts by quarter with confidence intervals
  • A data quality report listing unmapped names, impossible values and duplicate records
  • A printable antibiogram in the format clinicians are used to

If you have time left

  • Export to the WHONET file format for national surveillance submission
  • Alerts when resistance for a key organism rises beyond its usual range
  • Combination antibiograms showing coverage of two-drug regimens
  • Urdu and English labels for nursing staff training material

The problem: hospitals have the data but not the table

When a doctor starts antibiotics for a seriously ill patient, culture results are still days away. The choice is guided by the hospital's cumulative antibiogram: a table showing, for each common bacterium, what share of past isolates were susceptible to each antibiotic in that hospital. Without it, doctors guess, often reaching for broad-spectrum drugs that fuel resistance.

Antimicrobial resistance is a serious problem across South Asia. Many hospital labs in Pakistan already record every culture and susceptibility result in a lab information system or a spreadsheet. What is missing is the careful step that turns those records into a correct antibiogram, because doing it properly means following specific rules and cleaning messy data, which nobody has time for.

What already exists and the gap

  • WHONET, free software supported by WHO's collaborating centre, manages microbiology lab data and is used in over 120 countries. It is powerful, Windows-based and needs training; many small labs never adopt it.
  • The AMR R package (Berends and colleagues, Journal of Statistical Software, 2022) provides excellent functions for cleaning resistance data, selecting first isolates under CLSI M39 and calculating resistance. It is a library for analysts who write R.
  • Commercial lab information systems sometimes include antibiogram reports, usually in larger private hospitals.

The gap is a ready tool for a small or medium hospital: upload this year's lab export, fix the mappings it asks about, and get a correct antibiogram, ward tables and trend charts, without writing code.

Inspiration

O'Brien and Stelling's paper "WHONET: An Information System for Monitoring Antimicrobial Resistance" (Emerging Infectious Diseases, 1995) described why local lab data, analysed consistently, is the foundation of resistance surveillance. The Clinical and Laboratory Standards Institute's M39 guideline sets the rules for cumulative antibiograms, such as using only the first isolate of a species per patient per period and reporting only organisms with enough isolates. Your tool makes those rules easy to apply.

What you build

  • A lab manager uploads an Excel or CSV export and maps unfamiliar names (for example "E.coli", "E coli" and "Escherichia coli") to standard codes once; the tool remembers.
  • The tool cleans the data, removes duplicates, selects first isolates and computes susceptibility percentages.
  • The infection control team views ward tables and quarterly trends, and prints the annual antibiogram.
  • The data quality report tells the lab what to fix at source next year.

The technically interesting part

  • Messy names. Organism and antibiotic names arrive in many spellings and abbreviations. Combine a standard reference list, fuzzy matching and a confirmation screen, so humans approve mappings and the tool learns from them.
  • First isolates. Implement the CLSI M39 first-isolate rule correctly and test it on tricky cases: same patient, same organism, different wards, different dates.
  • Small numbers. A ward with eight isolates of an organism should not show a percentage at all. Apply the minimum count and show confidence intervals for trends, so a jump from 60 to 70 percent on small samples is not over-read.
  • Intrinsic resistance. Some organisms are naturally resistant to some drugs. Mark these cells clearly instead of reporting them as results.
  • Privacy. Patient identifiers are needed for first-isolate selection but should never leave the hospital. Run locally and hash identifiers after import.

How to evaluate it

  • Correctness: reproduce an antibiogram from a public or synthetic dataset with the AMR R package and compare results cell by cell.
  • Rule tests: a suite of hand-built cases for first-isolate selection, minimum counts and intrinsic resistance.
  • Mapping effort: time for a lab user to map a new export, and how much it drops the second time.
  • Usefulness: show the output to one microbiologist or infection control nurse and record their corrections.

Suggested plan

  • Weeks 1 to 3: learn the basics of susceptibility testing and CLSI M39, study the AMR package, build a synthetic dataset.
  • Weeks 4 to 7: importers, name mapping, data quality report.
  • Weeks 8 to 10: first isolates, antibiogram calculation, rule tests.
  • Weeks 11 to 13: ward tables, trends, printable output.
  • Weeks 14 to 15: expert feedback, report and demo.

Path to a product

Antimicrobial stewardship programmes are expanding, and accreditation bodies increasingly expect a current antibiogram. A free open source tool with paid setup and support for hospital groups is a credible route, and the project leads naturally into health data roles with hospitals, public health programmes and research groups.

Scope warning

Do not give treatment recommendations; the tool reports past susceptibility, and clinicians decide. Do not use real patient data without the hospital's permission and an ethics approval; a synthetic dataset is enough for development. Support two export formats well before adding a third.

Learn what you need on Sefism

Get help with this idea

Most of the work here is careful rules and cleaning, and the risk is a table with subtle errors. Tauseef can help you plan the test cases, find a clinical adviser and keep the scope to one semester. If you are new here, create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.