Delphi’s Dengue Nowcast
| Attribute | Details |
|---|---|
| Source Name | dengue_nowcast |
| Data Source | Delphi |
| Geographic Levels | Countries and territories in the Americas (see Geographic Codes) Note: Data availability varies by country. |
| Temporal Granularity | Weekly (Epiweek) |
| Reporting Cadence | Inactive - No longer updated since 2020w32 |
| Temporal Scope Start | 2014w09 |
| License | CC BY |
Overview
This endpoint provides Delphi’s nowcast estimates of dengue incidence. These estimates are generated using a Sensor Fusion approach that combines reported case counts with digital surveillance data to provide timely insights into dengue activity across the Americas.
General topics not specific to any particular endpoint are discussed in the API overview. Such topics include: contributing, citing, and data licensing.
Table of contents
Estimation
Values are generated by a Sensor Fusion model designed to estimate current dengue activity.
The endpoint provides estimates of dengue incidence.
| Field | Description |
|---|---|
value |
Nowcast estimate of dengue incidence (cases per 100,000 population) |
std |
Standard deviation of the nowcast estimate |
Methodology
The model synthesizes historical incidence records (from PAHO) with real-time digital surveillance signals (such as Google Health Trends) to produce a current nowcast with quantified uncertainty.
For details on the methodology, see Jahja et al., “Kalman Filter, Sensor Fusion, and Constrained Regression: Equivalences and Insights”.
Limitations
The accuracy of the nowcasts relies on the availability and timeliness of underlying surveillance data from regional health organizations.
The API
The base URL is: https://api.delphi.cmu.edu/epidata/dengue_nowcast/
Parameters
Required
| Parameter | Description | Type |
|---|---|---|
epiweeks |
epiweeks (see Date Formats) | list of epiweeks |
locations |
locations | list of location labels (see Geographic Codes) |
Response
| Field | Description | Type |
|---|---|---|
result |
result code: 1 = success, 2 = too many results, -2 = no results | integer |
epidata |
list of results | array of objects |
epidata[].location |
country or territory code. See Geographic Codes | string |
epidata[].epiweek |
epiweek (YYYYWW) | integer |
epidata[].value |
nowcast estimate of dengue incidence (cases per 100,000 population) | float |
epidata[].std |
standard deviation of the nowcast estimate | float |
message |
success or error message |
string |
Example URLs
Dengue Nowcast on 2015w01 (Puerto Rico)
https://api.delphi.cmu.edu/epidata/dengue_nowcast/?locations=pr&epiweeks=201401-202301
{
"result": 1,
"epidata": [
{
"location": "pr",
"epiweek": 201501,
"value": 12.34,
"std": 1.23
}
],
"message": "success"
}
Code Samples
Libraries are available for R and Python.
The following samples show how to import the library and fetch Dengue Nowcast data for Puerto Rico for epiweeks 201401 to 202301.
Install the package using pip:
pip install -e "git+https://github.com/cmu-delphi/epidatpy.git#egg=epidatpy"
# Import
from epidatpy import CovidcastEpidata, EpiDataContext, EpiRange
# Fetch data
epidata = EpiDataContext()
res = epidata.dengue_nowcast(['pr'], EpiRange(201401, 202301))
print(res['result'], res['message'], len(res['epidata']))
library(epidatr)
# Fetch data
res <- pub_dengue_nowcast(locations = 'pr', epiweeks = epirange(201401, 202301))
print(res)
Legacy Clients
We recommend using the modern client libraries mentioned above. Legacy clients are also available for Python, R, and JavaScript.
Optionally install the package using pip(env):
pip install delphi-epidata
Otherwise, place delphi_epidata.py from this repo next to your python script.
# Import
from delphi_epidata import Epidata
# Fetch data
res = Epidata.dengue_nowcast(['pr'], [201501])
print(res['result'], res['message'], len(res['epidata']))
Place delphi_epidata.R from this repo next to your R script.
source("delphi_epidata.R")
# Fetch data
res <- Epidata$dengue_nowcast(locations = list("pr"), epiweeks = list(201501))
print(res$message)
print(length(res$epidata))
<!-- Imports -->
<script src="delphi_epidata.js"></script>
<!-- Fetch data -->
<script>
EpidataAsync.dengue_nowcast('pr', [201501]).then((res) => {
console.log(res.result, res.message, res.epidata != null ? res.epidata.length : 0);
});
</script>