/covid19_scenarios

Models of COVID-19 outbreak trajectories and hospital demand

Primary LanguageTypeScriptMIT LicenseMIT

COVID-19 Scenarios

An animated screenshot of the application, showcasing the user interface on main page

🌐 neherlab.org/covid19/

Got questions or suggestions?

Image for the link to join the chat

Discover

Simulator Source code repository Data repository Updates
Image with app logo and text 'Try' Image with GutHub logo and text 'Get Involved' Image with GutHub logo and text 'Add Data' Image with Twitter logo and text 'Follow'

Overview

This tool is based on an SIR model (see about page for details) that simulates a COVID19 outbreak. The population is initially mostly susceptible (other than for initial cases). Individuals that recover from COVID19 are subsequently immune. Currently, the parameters of the model are not fit to data but are simply defaults. These might fit better for some localities than others. In particular the initial cases counts are often only rough estimates.

The primary purpose of the tool is to explore the dynamics of COVID19 cases and the associated strain on the health care system in the near future. The outbreak is influenced by infection control measures such as school closures, lock-down etc. The effect of such measures can be included in the simulation by adjusting the mitigation parameters. Analogously, you can explore the effect of isolation on specific age groups in the column "Isolated" in the table on severity assumptions and age specific isolation.

Parameters

Parameters fall into three different categories

  • population parameters
  • epidemiological parameters
  • clinical parameters

Most parameters can be adjusted in the tool and for many of them we provide presets.

Input data for the tool and the basic parameters of the populations are collected in a separate repository neherlab/covid19_scenarios_data. Please add data on populations and parsers of publicly available case count data there.

User Guide

The online application provides a friendly user interface with drop downs to choose model parameters, run the model, and export results in CSV format. A detailed process is below.

Population Parameters

Select the population drop down and select a country/region to auto-populate the model's parameters with respective UN population data. These parameters can be indivdually updated manually if necessary.

Epidemiology Parameters

The preset epidemiology parameters are a combination of speed and region - specifying growth rate, seasonal variation, and duration of hospital stay. To choose a preset distribution, select one of the options from the epidemiology drop down to auto-populate the model's parameters with the selected parameters.

Mitigation Parameters

Mitigation parameters represent the reduction of transmission through mitigation measures over time. To select a preset, click on the mitigation dropdown and select one of the options. Otherwise, the points on the graph can be dragged and moved with the mouse. The parameter ranges from one (no infection control) to zero (complete prevention of all transmission).

Running the Model

Once the correct parameters are inputted, select the run button located in the Results section of the application. The model output will be displayed in 2 graphs: Cases through time and Distribution across groups and 2 tables: Populations and Totals/Peak.

Exporting Results

The model's results can be exported in CSV format by clicking the "export" button in the right hand corner.

Development

Code Stack

TODO

Code Examples

TODO

Install requirements

  • Node >= 10
  • Yarn 1.x

Run

This will run the application in development mode (with hot reloading):

git clone https://github.com/neherlab/covid19_scenarios
cd covid19_scenarios/
cp .env.example .env
yarn install
yarn dev

This will trigger the development server and build process. Wait for the build to finish, then navigate to http://localhost:3000 in a browser (last 5 version of Chrome or Firefox are supported in dev mode)

Hit Ctrl+C in the terminal to shutdown.

ℹ️ Hint: type "rs" in terminal to restart the build

Production build

TODO

Release Build

TODO

Continuous integration and deployment

TODO

Acknowledgements

Initial development

Initially, the development was started in the Research group of Richard Neher at the Biozentrum, University of Basel (Basel, Switzerland) by Richard Neher (@rneher), Ivan Aksamentov (@ivan-aksamentov) and Nicholas Noll (@nnoll).

Jan Albert from Karolinska Institute (Stockholm, Sweden) had the initial idea to develop this tool and suggested features and parameters, and Robert Dyrdak provided initial parameter estimates.


Richard Neher
@rneher

Ivan Aksamentov
@ivan-aksamentov

Nicholas Noll
@nnoll

Jan Albert

Robert Dyrdak

Contributors ✨

We are thankful to all our contributors, no matter how they contribute: in ideas, science, code, documentation or otherwise. Thanks goes to these wonderful people (emoji key):


Richard Neher

πŸ’» πŸ“– πŸ”£ 🚧 πŸ›‘οΈ πŸ‘€

Ivan Aksamentov

πŸ’» πŸ“– πŸš‡ 🚧 πŸ’¬ πŸ‘€

Nicholas Noll

πŸ’» πŸ“– πŸ”£ 🚧 πŸ‘€

Gavin Jefferies

πŸ’» πŸ“– πŸ”£ ⚠️ πŸ‘€

abrie

πŸ’» πŸ“– ⚠️ πŸ‘€

btoo

πŸ’» πŸ“– 🚧

Rich Evans

πŸ’» πŸ“–

Jacob Smith

πŸ’» πŸ’¬ πŸ‘€

Patrik Varga

πŸ’» 🚧 πŸ’¬

Sebastian Gierth

πŸ’» πŸ’¬ πŸ‘€ 🌍

Alexis Iglauer

πŸ’» πŸ”£ 🚧

JoΓ«l

πŸ’» πŸ’¬ 🚧

Arnaud

πŸ’» πŸ‘€

Hannes GranstrΓΆm

πŸ’» πŸ’¬ 🌍

Rui Saraiva

πŸ’» πŸ“– πŸ’¬ 🚧

bharath6365

πŸ’» πŸ’¬

Andrew McKeever

πŸ’» πŸ’¬

Bruno RZN

πŸ’» πŸ’¬ πŸ‘€

Danny Sepler

πŸ’» πŸ’¬ πŸ‘€

Emmanuel Murillo SΓ‘nchez

πŸ’» πŸ’¬ 🌍

Igor Savin

πŸ’» πŸ’¬ πŸ‘€

IvΓ‘n Yepes

πŸ’» πŸ’¬

Manuel Blechschmidt

πŸ’» πŸ’¬ ⚠️

Martin Vejmelka

πŸ’» πŸ’¬

Max Tarsis

πŸ’» πŸ’¬ ⚠️

Miguel Serrano

πŸ’» πŸ’¬ πŸ“– 🚧

Pete Bacon Darwin

πŸ’» πŸ’¬

Rachel Harvill

πŸ’» πŸ’¬ πŸ“–

Rebecca Mullin

πŸ’» πŸ’¬

Rizky Maulana Nugraha

πŸ’» 🚧

Rui Lima

πŸ’» πŸ’¬ 🌍

Victor Cordova

πŸ’»

aschelch

πŸ’» πŸ’¬ 🌍

joaopn

πŸ’» 🌍

nono

πŸ’» πŸ’¬ 🌍

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT License

Copyright (c) 2020 neherlab