Last updated: October 2026

The combined respiratory index summarizes reported flu, RSV and COVID-19 activity in a state for the available observation periods. It describes those observations, rather than current-day conditions. Underneath that reading sits a small, deliberately boring pipeline. This page documents every constant in it, so you can check our work rather than take it on faith.

Two principles guide the whole method. First, we only ever describe the data — the index summarizes reported activity; it is not a forecast, a case count, or clinical guidance. Second, every threshold is published. The numbers below are the actual values the code uses; they are FluTrack's transparent editorial thresholds, chosen to reflect typical seasonal ranges in the underlying CDC products. They are not CDC-defined cut points, and no U.S. government agency sets, reviews, or endorses them.

Source coverage also limits interpretation. CDC's October 2, 2026 activity-level notes document Iowa's NSSP feed termination on May 6 and a historical-baseline substitution for Missouri's 2026–27 categories. CDC's October 2 wastewater notice describes a September 28 contract award and warns of a brief gap affecting about 200 sites. These are source-specific limitations, not a reason to infer no illness or change the index's thresholds. See data sources for the affected dates and scope.

The short version

The model supports four input signals; up to three have implemented live CDC adapters. Available inputs are scored 0–100, blended by a fixed weighting into one composite score, and that score is mapped to one of five levels — Minimal, Low, Moderate, High, Very High. A separate rule compares the latest observation with the mean of up to three prior observations to label a supported trend Rising, Falling, or Holding steady. Insufficient history is unknown.

The five levels

Every score in FluTrack ultimately resolves to a level from 0 to 4. The composite is first expressed as a continuous score from 0 to 100, then bucketed at fixed cut points. A score sitting exactly on a boundary rounds up into the higher level.

LevelLabelComposite score (0–100)In plain English
0Minimal0 – < 20Lowest index band among the available inputs.
1Low20 – < 40Second index band among the available inputs.
2Moderate40 – < 60Middle index band among the available inputs.
3High60 – < 80Fourth index band among the available inputs.
4Very High80 – 100Highest index band among the available inputs.

A low index is not evidence that illness is absent, and no data is never assigned a low level. Coverage and reporting gaps limit every band.

The supported signals and their weights

The model supports four signals, with live adapters for NSSP ED visits, NSSP ARI and NWSS wastewater. NREVSS laboratory positivity is unavailable live and is modeled only in illustrative samples. Each usable input is converted to its own 0–100 sub-score (see below), and the composite is a weighted average of whichever signals are present. The weights are fixed:

SignalCDC sourceWeightWhy this weight
Wastewater viral activity (WVAL)NWSS — live adapter implemented0.30Community wastewater measurement from participating sampling sites; the weight is an editorial choice, not a guarantee that this signal leads others.
Acute Respiratory Illness levelNSSP ARI — live adapter implemented0.25A broad categorical respiratory-illness activity label. It is not specific to influenza, RSV or COVID-19 alone.
Emergency-department visitsNSSP — live adapter implemented0.25Share of reported ED visits associated with each virus; a care-setting measure rather than an infection count.
Laboratory test positivityNREVSS — unavailable live; sample only0.20Percentage positive among tested specimens, with testing and surveillance coverage limits. This weight is unused in live readings.

Signals are frequently missing for a particular state and week. Rather than penalize a state for a gap in federal reporting, FluTrack renormalizes the weights over whatever signals are actually present. If, say, positivity is unavailable, the remaining three weights (0.30 + 0.25 + 0.25 = 0.80) are used as the denominator, so the composite is always a proper weighted average of the data on hand. FluTrack records which signals contributed to each result.

How the ARI activity label is mapped

The NSSP Acute Respiratory Illness product is categorical, not numeric. FluTrack maps its labels to the 0–4 scale as follows: Minimal or Very Low → 0, Low → 1, Moderate or Medium → 2, High → 3, and Very High or Extremely High → 4. That level is then represented by its band midpoint score (10, 30, 50, 70 or 90) before entering the weighted average. The label FluTrack displays is the CDC's own wording for the latest week; Data Unavailable counts as a missing signal, never as a level.

How the CDC feeds become a state reading

  • Emergency-department visits. NSSP publishes one share per virus — influenza, COVID-19 and RSV. The combined figure is the sum of the three shares for the week, computed only when all three were reported. It is a sum of visit percentages, not a count of distinct infections.
  • Wastewater. NWSS publishes a viral activity level for each sampling site. After sites from non-commercially licensed networks are excluded, a state's weekly reading for each virus is the median across its reporting sites, so a single small sewershed cannot set the whole state's value. Two safeguards back that up: a reading needs at least three eligible sites that week, and a site that repeats the identical value above the 1.0 floor for three or more reports in a row is treated as a possible carried-forward value and left out. The composite wastewater signal is the highest of the three virus medians. A state without enough eligible sites that week has no wastewater signal, and its level rests on the others.
  • Laboratory test positivity. There is no live adapter for NREVSS yet, so a live reading rests on up to three signals; only the illustrative sample models positivity.
  • Trends and sparklines. The bundle keeps up to twelve reported weeks for the sparkline. Each trend uses only the latest comparable observation and up to three prior observations.

From a raw reading to a 0–100 sub-score

Each numeric signal is turned into a 0–100 sub-score by anchoring its breakpoints to the level boundaries and interpolating linearly between them. Concretely, a reading of 0 scores 0, and the four breakpoints map to sub-scores of 20, 40, 60 and 80 respectively — the exact boundaries between Minimal, Low, Moderate, High and Very High. A reading landing halfway between two breakpoints scores halfway between their boundary values. Readings above the top breakpoint ramp from 80 toward 100 over one additional breakpoint-width. This keeps the smooth composite perfectly consistent with the discrete level bands in the table above.

The breakpoints

These are the thresholds that separate the five levels for each signal. A reading at or above a breakpoint moves up into the next level. Units are noted per row. Again: these are FluTrack's editorial thresholds, informed by typical seasonal ranges in the CDC products — not official CDC cut points.

Signal Unit Minimal Low Moderate High Very High
Wastewater (WVAL index) index < 33 – 55 – 77 – 8.5≥ 8.5
ED visits — combined % of ED visits < 2.02.0 – 3.53.5 – 5.55.5 – 8.0≥ 8.0
ED visits — influenza % of ED visits < 0.60.6 – 1.51.5 – 3.03.0 – 5.0≥ 5.0
ED visits — COVID-19 % of ED visits < 0.60.6 – 1.21.2 – 2.22.2 – 3.5≥ 3.5
ED visits — RSV % of ED visits < 0.30.3 – 0.80.8 – 1.51.5 – 2.5≥ 2.5
Positivity — influenza % of tests positive < 33 – 88 – 1515 – 25≥ 25
Positivity — COVID-19 % of tests positive < 44 – 88 – 1414 – 20≥ 20
Positivity — RSV % of tests positive < 22 – 55 – 1010 – 15≥ 15

At the state-composite level, combined ED visits, the wastewater index and the ARI label feed a live headline reading where available. Only in illustrative samples, a state's mean test positivity is scored against the influenza positivity band as a proxy. The per-pathogen bands above drive the by-virus breakdown. Hospital admissions are a separate measure in the area card; they do not enter this index.

A worked example

Suppose a state reports three signals for the latest week: a wastewater index of 6.0, combined ED visits at 4.2% of all visits, and an ARI label of High. Test positivity is missing. Each present signal is scored, then blended:

SignalReadingSub-scoreWeight
Wastewater6.0 (band 5–7)500.30
ED visits (combined)4.2% (band 3.5–5.5)470.25
ARI levelHigh (level 3)700.25
Positivity— not reported ———

The weights of the three present signals sum to 0.80. The composite is (50 × 0.30 + 47 × 0.25 + 70 × 0.25) ÷ 0.80 = 44.25 ÷ 0.80 ≈ 55. A score of 55 falls in the 40–60 band, so the headline level for this state would read Moderate.

The by-virus breakdown

The same machinery runs once per pathogen. For influenza, COVID-19 and RSV individually, FluTrack scores whichever of that virus's ED-visit, positivity and wastewater readings are available, using the pathogen-specific bands above, and blends them with the same weights (wastewater 0.30, ED visits 0.25, positivity 0.20). The result is each virus's own level and trend, so a season driven mostly by, for example, RSV reads differently from one driven by influenza — even when the combined headline level is identical.

How the trend is derived

The trend answers "which way is this moving?" without pretending to more precision than weekly, lagged data can support. FluTrack takes the relevant chronological series (oldest to newest), compares the latest observation against the mean of up to three prior observations, and expresses the difference as a percent change. This is not an ordinary week-over-week comparison. The headline trend uses combined ED visits when there is enough history, otherwise wastewater; each by-virus trend uses that virus's ED visits, otherwise wastewater, otherwise sample positivity. It is a trend in the selected input series, not a trend calculated from composite scores:

  • A change of +8% or more is labeled Rising.
  • A change of −8% or more (a fall of at least 8%) is labeled Falling.
  • A supported change in between is Holding steady.

The ±8% classification band leaves smaller relative changes in the Holding steady category. When fewer than two usable observations are available, the trend is reported as "Not enough data" rather than guessed. Missing observations are not zeros. The model retains its ±200% cap, and a comparison beyond the cap is labeled “+200% or more (display capped)” for an increase, rather than presented as exactly +200%. Relative-growth rankings use the actual, uncapped comparison. A zero prior mean has no defined percentage change: a positive latest value is described as an increase from zero, and two zero readings as unchanged from zero. Zero-baseline series are excluded from relative-growth rankings. These presentation rules preserve the model's existing direction thresholds and internal zero-baseline rule. As a worked case, an ED-visit series of 3.6, 3.8, 3.9, 4.2 compares the latest 4.2 against the prior three-observation mean of about 3.77, a change of roughly +12% — labeled Rising.

Timing: a trend, never a live count

Surveillance data is reported with an inherent lag of roughly one to two weeks. FluTrack shows directional trends, not a real-time case count. Publication schedules and reporting delays vary by source. Each observation period, source publication date when supplied, retrieval timestamp and coverage describe different things. Fetching a September observation in October does not establish October conditions; a feed can be retrieved successfully before its next scheduled release. Sample inputs, missing observations, insufficient history and stale readings cannot support a current-week conclusion. See data sources for the specific CDC systems behind each signal.

The CDC's epidemic trend: direction, kept separate

State pages also show the CDC's own estimate of whether COVID-19 infections are growing, from the CDC's Center for Forecasting and Outbreak Analytics. It is not an input to the combined respiratory index and cannot change it. The CDC estimates the time-varying reproduction number (Rt) from emergency-department visits reported through NSSP, then assigns a category from the share of that estimated range that lies above 1:

CDC category Share of the estimated Rt range above 1
GrowingMore than 90%
Likely growing75% to 90%
Not changing25% to 75%
Likely declining10% to 25%
DecliningLess than 10%

The CDC says these categories show direction only and do not reflect the burden of disease, and that they should be read alongside other measures. FluTrack's rules for showing one:

  • The CDC's labels, not ours. The category and figures are the CDC's, under the CDC's names. They are never scored, coloured or worded like FluTrack's five levels, and never averaged into the index.
  • Two dates. The model report's date and the end of the emergency-department data it used are different facts, and both are shown. A report more than 21 days old is not shown.
  • Only with the data it rests on. If the CDC's own notes say the emergency-department data are unavailable for a state (they currently say so for Iowa and South Dakota), or FluTrack has no usable COVID-19 emergency-department series for it, the category is withheld and the page says why. A state the CDC did not estimate says that instead.
  • Side by side, not combined. Beside the CDC's category the page lists FluTrack's own COVID-19 readings, each with its own direction from the rule used elsewhere on this page: the latest observation against the mean of up to three prior observations of that one measurement. When one points up and another down, the page says they point in different directions. It does not net them into a single trend, and a rising reading beside “not changing” is not a disagreement.
  • Not independent of the emergency-department share. The CDC's model uses the same NSSP emergency-department data as that share, so their agreement is not confirmation, and the page says so.
  • Never required, never invented. The build fetches the CDC's file directly and checks its schema, dates, and that each category matches its own probability. If that fails, the blocks are left out rather than filled with sample values, and pages built from sample data carry none.

The figures behind every block are published as /data/epidemic-trends.json. A level can be high while a direction is declining, or low while it is growing: the CDC notes that Rt below 1 does not mean transmission is low, only that infections are declining.

Check your area: county data and community reports

The home page's “Check your area” card puts the official data first. It shows, for your state, the FluTrack level described on this page and the CDC's NHSN flu hospital-admission level and rate per 100,000 people with its last four weeks; and, for your county, the CDC NWSS wastewater viral activity level (WVAL) for influenza A. A county's wastewater reading is the median sampling site among the public-domain sites serving it, with that site's CDC category. A county with no such site says so rather than showing zero, and a reading more than 14 days past its week ending is shown as “no recent data”. The CDC changed how WVAL is calculated on 14 August 2026, so a wastewater trend line never joins values from before and after that date. Every figure carries its CDC system, the week it covers and when we fetched it, and the card flags data more than 14 days old.

Community reports are a separate, secondary signal: anonymous, self-reported and unverified. A report counts as influenza-like illness (ILI) when it has a fever of 100°F or higher and a cough or sore throat — the CDC's surveillance definition. It counts as COVID-like when it reports new loss of taste or smell, or a fever with a cough or shortness of breath. A self-reported positive test is counted as reported, never as verified. For each county, over the past seven days:

  • Fewer than 5 reports: nothing is shown except that there are fewer than five.
  • 5 to 19: the number of reports, marked “too few to compare”.
  • 20 or more: the share of reports meeting the ILI definition.
  • “Elevated community reports” appears only with at least 30 reports and an ILI share at least twice the county's own share over the previous four weeks (or the state's, when the county has fewer than 20 reports in that period). With no usable baseline there is no elevated label.

Community counts are recalculated once a day from reports that passed our abuse checks: a county-day with more than three times its usual daily number of reports, or more reports from one connection than the daily limit allows, is quarantined and left out. Community reports can never change the FluTrack level or any CDC figure, and FluTrack never describes them as an outbreak — it cannot verify one, and a label like that is not a claim self-reports can support. People also tend to start reporting when they feel sick, so “I feel fine” reports are invited to provide the denominator. How reports are collected and kept is set out in the consumer health data privacy notice.

Limitations

An honest index states plainly what it cannot do. The respiratory threat level:

  • Is not real-time. It reflects reported surveillance with an inherent one-to-two-week lag, not today's conditions.
  • Uses editorial thresholds. The breakpoints and weights on this page are FluTrack's own, informed by typical seasonal ranges — not official CDC classifications. Reasonable analysts could choose different cut points.
  • Depends on federal reporting. Coverage varies by state and week; sparse wastewater sites or missing signals mean some composites rest on fewer inputs than others.
  • Is a state-level summary. Activity can differ substantially within a state, and the index does not resolve county or neighborhood detail.
  • Reflects measured activity, not risk to any individual. It describes what the surveillance data shows in aggregate and says nothing about a specific person's circumstances.
  • Blends signals that measure different things. Wastewater, ED visits, positivity and ARI capture related but distinct phenomena; combining them is a useful simplification, not a ground truth.

Independence and scope

FluTrack is an independent project and is not affiliated with, endorsed by, or sponsored by the Centers for Disease Control and Prevention (CDC) or any government agency.

The information on FluTrack is provided for general informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of a qualified health provider with any questions you may have regarding a medical condition.

Reproducibility note: the constants documented here mirror FluTrack's threat-index module exactly. If the method changes, this page changes with it.

Method questions

Are these thresholds defined by the CDC?

No. The breakpoints, weights and cut points on this page are FluTrack's own transparent editorial thresholds, chosen to reflect typical seasonal ranges in the underlying CDC products. They are not official CDC classifications, and no government agency sets or endorses them. FluTrack is an independent project and is not affiliated with, endorsed by, or sponsored by the Centers for Disease Control and Prevention (CDC) or any government agency.

Why is wastewater weighted more heavily than lab positivity?

These fixed weights are editorial modeling choices: wastewater carries 0.30 and positivity 0.20. They do not establish that wastewater always leads clinical signals. No live positivity adapter is implemented; positivity is modeled only in labeled samples and its weight is excluded from live readings.

What happens when a signal is missing for my state?

The composite is a weighted average over whichever signals are usable. If a signal is unavailable, its weight is dropped and the remaining weights are renormalized. If none is usable there is no level; no data does not mean no illness. FluTrack lists the actual contributors, and insufficient trend history is unknown rather than holding steady.

How current is the data behind the threat level?

Surveillance data is reported with an inherent lag of roughly one to two weeks. FluTrack shows directional trends, not a real-time case count. Source publication schedules vary. Observation periods, source publication dates and retrieval timestamps are separate; a fresh retrieval does not make an older observation current. The trend compares the latest observation with the mean of up to three prior observations. See our data sources for the specific CDC systems.

Is the respiratory threat level a prediction or medical advice?

Neither. It is a descriptive summary of recent, reported surveillance data — not a forecast and not clinical guidance. The information on FluTrack is provided for general informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of a qualified health provider with any questions you may have regarding a medical condition.