Measles Outbreak Costs in Oregon¶
What a measles outbreak costs Oregon, using three real Oregon outbreak sizes and Oregon-specific vaccination coverage and wages.
Authors: George G. Vega Yon
Model id: measles_oregon. Open it in the app with ?model=measles_oregon; see Sharing links.
About this model¶
What this estimates¶
What one measles outbreak costs Oregon, across three sizes Oregon has actually seen: an early 5-case cluster, the 31 cases of 2024, and the 45 cases confirmed so far in 2026.
Cost is split three ways:
- Public health response - a fixed cost to stand up the response, plus staff time per case.
- Lost work during quarantine - susceptible contacts sent home for 21 days.
- Medical care - hospitalizations, clinic visits, and lab tests.
The lever that matters is MMR coverage among exposed contacts. Every immune contact is one fewer person in quarantine, so coverage scales the largest cost component directly.
Assumptions¶
- All costs in 2025-2026 USD, from a societal perspective.
- Contacts are traced and quarantined at the same rate for every case.
- A lost workday is valued at 8 hours of the Oregon average wage.
- Long-term costs (SSPE, deaths, lost school days) are not counted, so these are conservative.
Sources¶
- Oregon Health Authority, student immunization rates, May 2026.
- Oregon Health Authority measles case counts (31 in 2024; 45 as of Aug 13, 2026).
- Pike et al. (2021), Societal Costs of a Measles Outbreak, Pediatrics 147(4).
- Johns Hopkins IVAC, Vaccine (2025), review of U.S. measles outbreak costs, 2000-2025.
- CDC measles surveillance, 2026 year to date.
- U.S. Bureau of Labor Statistics OEWS, May 2025; Oregon Employment Department, 2025.
Parameters¶
Outbreak spread¶
| Parameter | Default | Unit | Range or choices | Sources |
|---|---|---|---|---|
MMR coverage among exposed contactsmmr_coverageShare of exposed contacts already immune. Only the remaining susceptible contacts are quarantined, so this is the single biggest lever in the model. |
0.9 | proportion | 0 to 1 | Oregon Health Authority (May 2026): 90.2% of Oregon K-12 students are up to date on required vaccines; only 85.6% of kindergartners are, and 36% of Oregon schools fall below the 93% MMR threshold. |
Exposed contacts per casecontacts_per_caseAverage number of exposed people public health must identify and follow up per confirmed case. |
58 | contacts | 0 to 500 | Pike et al. (2021), Pediatrics 147(4): the Clark County, WA outbreak traced roughly 4,200 contacts across 72 cases. |
Public health response¶
| Parameter | Default | Unit | Range or choices | Sources |
|---|---|---|---|---|
Fixed cost of standing up a responsefixed_response_costOne-time cost of activating an outbreak response (incident command, communications, clinic and lab surge) regardless of how many cases follow. |
297,747 | USD | 0 to 2,000,000 | Johns Hopkins IVAC / Vaccine (2025). Review of 27 U.S. measles outbreak cost studies, 2000-2025. |
Public health staff hours per casestaff_hours_per_caseInvestigation, contact tracing, and quarantine monitoring hours per confirmed case. |
176 | hours | 0 to 1,000 | Clark County Public Health: 12,684 staff hours across 72 cases in the 2018-2019 outbreak (local staff only; state, CDC, and volunteer hours are additional). |
Hourly wage, public health responderhourly_wage_ph_staffLoaded hourly wage for the epidemiologists and communicable disease nurses running the response. |
47.06 | USD/hour | 0 to 200 | U.S. Bureau of Labor Statistics, OEWS May 2025: epidemiologists (19-1041), mean hourly wage $47.06. |
Quarantine and lost work¶
| Parameter | Default | Unit | Range or choices | Sources |
|---|---|---|---|---|
Quarantine lengthquarantine_daysDays a susceptible contact must stay home after exposure. |
21 | days | 0 to 30 | CDC guidance: 21 days from last exposure. |
Fraction of quarantine days that are workdaysworkday_fractionFive workdays in seven. |
0.714 | proportion | 0 to 1 | |
Share of quarantined contacts costing a workdayshare_costing_a_workdayFraction of quarantined contacts whose quarantine costs someone a day of paid work, either their own or a caregiver's. Most quarantined contacts in Oregon outbreaks are school-age children, so this captures parents who must stay home. |
0.6 | proportion | 0 to 1 | |
Hourly wage, Oregon workerhourly_wage_workerAverage Oregon hourly wage used to value a lost workday (8 hours). |
34.6 | USD/hour | 0 to 200 | Oregon Employment Department / QualityInfo (2025): statewide all-occupations average of $71,964 per year, or $34.60 per hour. |
Medical care¶
| Parameter | Default | Unit | Range or choices | Sources |
|---|---|---|---|---|
Share of cases hospitalizedproportion_hospitalizedFraction of confirmed cases admitted to hospital. |
0.07 | proportion | 0 to 1 | CDC measles surveillance, 2026 year to date: 7% of 2,465 confirmed U.S. cases hospitalized (11% in 2025). |
Cost per hospitalizationcost_hospitalizationAverage direct medical cost of one hospitalized measles case. |
34,000 | USD | 0 to 500,000 | New Mexico 2025 outbreak: $238,000 in charges across 7 hospitalizations. |
Outpatient and lab cost per casecost_outpatient_per_caseClinic visits and confirmatory laboratory testing per confirmed case. |
520 | USD | 0 to 10,000 | New Mexico 2025 outbreak: $32,000 in outpatient visits and $20,000 in laboratory tests across 100 cases. |
Set per scenario¶
Each scenario supplies its own value for these; the default applies to scenarios added in the app.
| Parameter | Default | Unit | Range or choices | Sources |
|---|---|---|---|---|
Confirmed casesn_casesNumber of confirmed measles cases in the outbreak. |
31 | cases | 1 to 5,000 |
Scenarios¶
| Scenario | Confirmed cases |
|---|---|
5 cases (early cluster)cluster_5 |
5 |
31 cases (Oregon 2024)outbreak_31 |
31 |
45 cases (Oregon 2026 YTD)outbreak_45 |
45 |
Presets¶
| Preset | Changes |
|---|---|
Oregon kindergarten coverage (85.6%)kindergarten |
mmr_coverage = 0.856contacts_per_case = 89 |
At the 93% MMR thresholdherd_immunity |
mmr_coverage = 0.93 |
Under-vaccinated school cluster (75%)undervaccinated_school |
mmr_coverage = 0.75contacts_per_case = 100 |
Equations¶
Evaluated in order; each can use the parameters and any equation above it.
Contacts traced (people) eq_contacts
round(n_cases * contacts_per_case)
Susceptible contacts quarantined (people) eq_quarantined
round(eq_contacts * (1 - mmr_coverage))
Public health response (USD) eq_response
fixed_response_cost + n_cases * staff_hours_per_case * hourly_wage_ph_staff
Lost work during quarantine (USD) eq_quarantine_loss
eq_quarantined * quarantine_days * workday_fraction * share_costing_a_workday * hourly_wage_worker * 8
Medical care (USD) eq_medical
n_cases * (proportion_hospitalized * cost_hospitalization + cost_outpatient_per_case)
Total cost (USD) eq_total
eq_response + eq_quarantine_loss + eq_medical
Cost per case (USD) eq_cost_per_case
eq_total / n_cases