Identify suspected infection events using antibiotic administration plus culture timing. Use as a component of Sepsis-3 definition or for infection research.
This concept identifies when clinicians suspected infection based on clinical actions: systemic antibiotic administration combined with culture collection within a defined time window. It operationalizes the infection component of the Sepsis-3 definition (Seymour et al. 2016).
Suspected infection requires BOTH:
The suspected_infection_time is defined as:
This represents when infection was first clinically suspected.
Each antibiotic is matched to cultures in two directions:
Culture Before Antibiotic (Primary)
Culture After Antibiotic (Secondary)
Priority: Culture-before-antibiotic takes precedence when both exist.
One Row Per Antibiotic: Each antibiotic prescription gets its own row, potentially matched to one culture. A single culture may be matched to multiple antibiotics.
Culture Positivity Not Required: Negative cultures still count as suspected infection — the flag captures clinical suspicion, not confirmed infection.
All Culture Types Included: Blood, urine, sputum, wound, CSF, etc. The specimen column identifies the type.
Systemic Antibiotics Only: Topical formulations (eye drops, ear drops, creams, ointments) must be excluded. The specific route codes vary by dataset.
Proxy for Clinical Suspicion: Not all antibiotic + culture pairs represent true infection suspicion. Routine screening cultures (e.g., weekly surveillance) paired with prophylactic antibiotics may be misclassified as suspected infection.
Time Window Is an Operationalization: The 72h/24h windows are from the Seymour et al. operationalization. There is no biological basis for these specific cutoffs — they are pragmatic choices that balance sensitivity and specificity.
Misses Antibiotic-Only or Culture-Only Events: Patients treated empirically without cultures sent, or cultures obtained without subsequent antibiotics, will not be flagged.
Does Not Distinguish Empiric vs Targeted Therapy: The concept captures the initial antibiotic-culture pairing regardless of whether the antibiotic was empiric (before results) or targeted (after susceptibility).
Suspicion of infection is available as a pre-computed derived table. Materialize with:
m4 init-derived mimic-iv # All derived tables including suspicion_of_infection
SELECT
subject_id,
stay_id,
hadm_id,
ab_id, -- Unique antibiotic ID per patient
antibiotic, -- Antibiotic name
antibiotic_time, -- When antibiotic started
suspected_infection, -- 1 if meets criteria, 0 otherwise
suspected_infection_time, -- Onset time of suspected infection
culture_time, -- When culture was obtained
specimen, -- Culture specimen type
positive_culture -- 1 if culture positive, 0 if negative
FROM mimiciv_derived.suspicion_of_infection;
BigQuery users already have this table via physionet-data.mimiciv_derived.suspicion_of_infection without running init-derived.
MIMIC-IV implementation details:
scripts/mimic-iv.sql.mimiciv_derived.antibiotic (which filters the prescriptions table for systemic routes, excluding topical routes: OU, OS, OD, AU, AS, AD, TP, and topical formulations like creams, gels, ophthalmic ointments).mimiciv_hosp.microbiologyevents. Positive culture identified by non-null org_name excluding itemid 90856 ("NEGATIVE").stay_id is populated when antibiotic timing overlaps with an ICU stay. May be NULL for floor patients.charttime is null, the query falls back to chartdate with day-level matching (72h becomes 3 days, 24h becomes 1 day).MIMIC-IV limitations:
ab_id per patient.Suspicion of infection is not pre-computed in eICU. Both components must be derived from raw tables:
| Component | eICU Table | Columns | Notes |
|---|---|---|---|
| Antibiotics | medication | drugname, routeadmin, drugstartoffset, drugstopoffset | Free-text drugname; drugstartoffset in minutes from unit admission |
| Cultures | microlab | culturetakenoffset, culturesite, organism | culturetakenoffset in minutes from unit admission; positive culture = non-null organism |
eICU limitations:
drugname is free-text and varies across sites. The same antibiotic may appear as "Vancomycin", "VANCOMYCIN", "vancomycin 1g IV", etc. Building a reliable antibiotic identification filter requires extensive text matching and validation.routeadmin also varies by site. Excluding topical routes requires site-aware filtering.drugstartoffset and culturetakenoffset are in minutes from unit admission (not absolute timestamps). The antibiotic-culture pairing logic must use offset arithmetic rather than datetime comparisons.antibiotic table that pre-filters systemic antibiotics), eICU requires building the antibiotic filtering from scratch.An eICU script is not yet available.
SELECT
subject_id,
COUNT(*) AS n_suspected_infections,
SUM(positive_culture) AS n_positive_cultures
FROM mimiciv_derived.suspicion_of_infection
WHERE suspected_infection = 1
GROUP BY subject_id
ORDER BY n_suspected_infections DESC;
SELECT
antibiotic,
COUNT(*) AS n_prescriptions,
SUM(positive_culture) AS n_positive,
ROUND(AVG(positive_culture), 2) AS positive_rate
FROM mimiciv_derived.suspicion_of_infection
WHERE suspected_infection = 1
GROUP BY antibiotic
ORDER BY n_prescriptions DESC
LIMIT 20;