← Back to Dashboard
About illmeter
illmeter is a data visualization dashboard that explores illness positivity rates across Europe—with a primary focus on Czechia.
It provides a single pane of glass for monitoring COVID-19 and respiratory virus trends through test positivity rates and wastewater surveillance data.
Data Sources
This dashboard aggregates data from multiple authoritative sources:
Czech COVID Data (MZCR)
Source: Ministry of Health of the Czech Republic (Ministerstvo zdravotnictví České republiky)
Data Type: COVID-19 test positivity (PCR and Antigen tests)
Frequency: Daily
Link: MZCR COVID-19 API
What it shows: Daily PCR and Antigen test results for COVID-19 in Czechia, including total tests performed and positive results.
EU ECDC Respiratory Viruses (ERV-IS)
Source: European Centre for Disease Prevention and Control
Data Type: Sentinel surveillance data for multiple respiratory viruses (COVID-19, Influenza, RSV)
Frequency: Weekly
Link: ECDC Respiratory Viruses Weekly Data
What it shows: Aggregated positivity rates across EU/EEA countries and individual country data for various respiratory pathogens.
Note on Sentinel Data: Sentinel surveillance uses a network of selected healthcare providers (like specific clinics and laboratories) to systematically monitor disease trends. Unlike comprehensive testing of all cases, sentinel sites report data from a representative sample of the population, providing early warning signals and trend indicators for respiratory illness activity across regions.
Germany Wastewater Surveillance (AMELAG)
Source: Robert Koch Institute
Data Type: SARS-CoV-2 viral load in wastewater
Frequency: Daily
Link: RKI Abwassersurveillance AMELAG
What it shows: Normalized virus load measurements from wastewater samples across Germany, providing an early warning indicator for COVID-19 trends.
Germany SARI Hospitalization Incidence
Source: Robert Koch Institute
Data Type: Weekly severe acute respiratory infection (SARI) hospitalization incidence per 100,000 residents
Frequency: Weekly
Link: RKI SARI-Hospitalisierungsinzidenz
What it shows: Nationwide hospitalization incidence for SARI in Germany, grouped by pathogen with an age-group selector defaulting to the total population.
Why pathogen rates don't add up to the overall rate: The "Overall SARI" series counts every SARI hospitalization regardless of cause, while the COVID-19, Influenza and RSV series only count cases where that specific pathogen was laboratory-confirmed. Not all SARI patients are tested, some test negative for all three viruses, and a single patient can be positive for more than one pathogen. As a result the pathogen-specific incidences are neither exhaustive nor mutually exclusive and therefore do not sum to the overall incidence.
Netherlands Infectieradar Pathogens
Source: RIVM (Rijksinstituut voor Volksgezondheid en Milieu)
Data Type: Respiratory pathogen positivity from self-swab PCR testing
Frequency: Weekly (published after an approximately two-week laboratory processing delay)
Link: Infectieradar Results
What it shows: Weekly positivity rates for multiple respiratory pathogens (SARS-CoV-2, Influenza, RSV, and others) from the Dutch Infectieradar participatory surveillance program, based on self-swab multiplex PCR testing.
Data Collection Methodology:
A large portion of Infectieradar participants take part in the self-test study. When participants experience symptoms consistent with coronavirus or another respiratory infection (coughing, shortness of breath, runny nose, or nasal congestion), they are asked to perform a coronavirus self-test. Some of these participants with symptoms are also asked to send a nose and throat sample to the RIVM laboratory. The chart shows which viruses were found in participants.
Important Notes:
- Methodology Change (October 1, 2024): Data before October 1, 2024 shows results from participants without a self-test result or with a negative coronavirus self-test result (samples with a positive coronavirus self-test result were not routinely tested for other viruses). Data after October 1, 2024 comes from all received samples (regardless of self-test results). A dotted vertical line at October 1, 2024 marks this methodology change.
- Multiple Infections: A person can have multiple infections simultaneously. In this case, each infection is counted separately.
- Data Timing: The most recent week is not shown in the chart because results continue to be added throughout the week.
Understanding the Data Series
The dashboard presents data in several different formats to help you understand trends:
Raw Series: Direct data from the source without any processing. Shows the actual day-to-day values as reported. These can be noisy and show high variability.
Averaged Series (e.g., "28d avg"): Moving average calculated over a specified window (typically 28 days). This smooths out daily fluctuations and makes it easier to see overall trends.
Shifted Series: Time-shifted versions of data series that allow you to compare current trends with past waves. The shift can be:
- By Days: Manual shift by a specified number of days backward or forward
- By Maxima/Minima: Automatic alignment based on wave peaks or troughs to compare waves directly
Test Numbers: Bar charts showing the actual number of tests performed (split into positive and negative). Available for raw positivity data to provide context for positivity rates.
Min/Max Series: Points marking local minima and maxima in the data, useful for identifying wave peaks and troughs.
Key Differences Between Data Types
Positivity Data vs Wastewater Data
- Positivity Data: Shows the percentage of tests that are positive. Depends on testing behavior and policies. Values are shown as percentages.
- Wastewater Data: Measures viral RNA in sewage. Independent of testing behavior, provides population-level surveillance. Values are shown as normalized viral load (scientific notation).
Country-Specific vs Aggregate Data
- Czech MZCR: Specific to Czech Republic only
- EU ECDC: Offers both EU/EEA aggregate data and individual country data (use the country selector)
- Germany Wastewater: Specific to Germany only
- Germany SARI: Specific to Germany only
- Netherlands Infectieradar: Specific to the Netherlands only
How to Use the Dashboard
Basic Controls
- Time Range Selector: Choose how far back to display data (30 days to all time)
- Include Future Data: Show or hide projected/future data points (shown in gray)
- Country Selector (EU data): Filter EU data by specific country or view aggregate EU/EEA data
Series Visibility
- Legend Items: Click on any colored series name below a chart to show/hide that series
- Hide All Series Button: Quickly hide all series across all charts to start fresh
- Show Shifted Series: Toggle visibility of time-shifted comparison series
- Show Test Numbers: Toggle bar charts showing test volumes
- Show Min/Max Series: Toggle markers for wave peaks and troughs
Advanced Features
- Shift By Controls:
- Select "Days" to manually shift by a specific number of days
- Select "Maxima" or "Minima" to automatically align waves based on peaks or troughs
- The number input specifies either days to shift or which wave to compare (1 = most recent wave, 2 = second wave back, etc.)
- Data and Smoothing (chart settings): Open Series options in the chart settings area below the charts, alongside the time range, visibility, and shift controls. Choose one or more data modes (Raw, 7-day ratio, 28-day ratio) and smoothing options (None, 7 days, 28 days). Every selected data mode is shown with every selected smoothing option: two data modes and two smoothing options produce four variants per source series. Raw means the original measure, not necessarily an unsmoothed line; choose None for no smoothing. These controls apply to the built-in charts; the custom graph keeps its own series selections.
- Ratio Calculation: Compare the last 7 (or 28) days with the preceding 7 (or 28) days. For positivity, sum positive tests and total tests within each period, divide to get each period's positivity, then divide the recent positivity by the preceding positivity. This is not an average of daily percentages. Scalar data uses period averages. Both periods need a full window of history. With smoothing set to None, this is the same measure as the Current Trends table; selecting 7 or 28 days applies a centered moving average to the resulting ratios. A value above 1 means growth. Zero means a decline to zero or an all-zero positivity comparison: for positivity, 0/0 is displayed as 0, including explicitly recorded zero-test periods. Scalar 0/0 remains a gap because scalar sources can use zero for missing observations. Positive values divided by zero, missing observations, and insufficient history remain gaps; even a full period with tests can have zero positivity. Shifted series use the same calculations, translated in time.
- Current Trends Table: Shows 7-day and 28-day trend ratios (current period vs. previous period) for visible series
- Interactive Tooltips: Hover over any chart to see detailed values for that date across all visible series
Reading the Charts
- Left Y-Axis: Positivity percentage or virus load (depending on data type)
- Additional Y-Axes: Number of tests (when test bars are visible) and a separate ratio scale when absolute values and ratios are shown together. Ratio values use an “x” suffix; 1x means no change.
- X-Axis: Date (future dates shown in gray)
- Solid Lines: Original time series and ratios. The 7-day and 28-day ratios use subtly different hues of the source color, including when shifted.
- Dashed Lines: Time-shifted absolute-value comparison series
Tips for Analysis
- Use averaged series (28d) for identifying overall trends without daily noise
- Compare shifted series with current data to see if patterns are repeating
- Watch wastewater data as an early indicator—it often leads test positivity by several days
- Check test numbers alongside positivity to understand if changes are due to testing volume
- Use the trend table for quick assessment of whether metrics are rising or falling
Technical Details
- Data Processing: Raw data is fetched from sources and processed daily
- Moving Averages: Centered moving averages to smooth trends
- Local Storage: Your preferences (series visibility, time range, etc.) are saved in your browser
- Updates: Data is refreshed during builds; the footer shows the last update time and each chart title shows how old its freshest data point is
Source Code
illmeter is open source and available on GitHub.
Contributions and feedback are welcome!
Disclaimer: This dashboard is provided for informational purposes only.
The data is sourced from official public health repositories. Always refer to official health
authorities for public health guidance and decisions.