Work is hard right now. COVID-19 makes it a challenge to stay focused and motivated. But it was cathartic for me to do some research into how the open source community is responding to the global pandemic.
Since the end of January, the community has contributed to thousands of open source repositories that mention coronavirus or COVID-19. These repositories consist of datasets, models, visualizations, web and mobile applications, and more, and the majority are written in JavaScript and Python.
Previously, we shared information about several open hardware makers helping to stop the spread and suffering caused by the coronavirus. Here, we're sharing four (of many) examples of how the open source software community is responding to coronavirus and COVID-19, with the goal of celebrating the creators and the overall impact the open source community is making on the world right now.
The COVID-19 Hospital Impact Model for Epidemics (penn-chime.phl.io)
Background
The CHIME (COVID-19 Hospital Impact Model for Epidemics) Application is designed to assist hospitals and public health officials with understanding hospital capacity needs as they relate to the COVID pandemic. CHIME enables capacity planning by providing estimates of total daily (i.e. new) and running totals of (i.e. census) inpatient hospitalizations, ICU admissions, and patients requiring ventilation. These estimates are generated using a SIR (Susceptible, Infected, Recovered) model, a standard epidemiological modeling technique. Our model has been validated by several epidemiologists including Michael Z. Levy, PhD, Associate Professor of Epidemiology, Department of Biostatistics, Epidemiology and Informatics at the Perelman School of Medicine.
Originally developed in github.com/pennsignals/chime, active development is now at github.com/CodeForPhilly/chime.
COVID-19 Hospital Impact Model for Epidemics (CHIME) is an open source application built by data scientists at Penn Medicine at the University of Pennsylvania. The online tool allows hospitals to better understand the impact the virus will have on hospital demand.
Hospital leaders can use CHIME to "get more informed estimates of how many patients will need hospitalization, ICU beds, and mechanical ventilation over the coming days and weeks." A user can input how many patients are currently hospitalized and see, based on other variables, how demand might increase over the coming days.
CHIME is primarily built with Python and uses the pandas open source dependency for much of the underlying data-transformation number-crunching to generate the estimates. Pandas has a relatively robust team and is one of the most commonly used Python libraries for data analysis and, like all open source projects, is highly dependent on users' support for income.
Live visualization of novel corona virus (COVID19) outbreak
COVID19 Visualization
Please note. The data used in the visualization is from an opensource project. We don't guarantee accurate numbers, but we are trying our best to find a reliable source of data.
Project setup
# Clone the project
git clone https://github.com/localeai/covid19-live-visualization.git
# Install dependencies
npm install
# start development server
npm run serve
# generate production build
npm run build
Environment variables
Copy the .env.example file to .env and specify the mentioned variables.
cp .env.example .env
variables
VUE_APP_MAPBOX_TOKEN : Mapbox API token. You can get one for yourself from here
VUE_APP_COVID_API_URL : API which gives the layers data to the webapp. Currently the layers are picked up from periodically generated file from GitHub Repo. Use the static data URL as the API URL.
Maps that track the number of cases help us visualize the relative scale and spread of COVID-19. Locale.ai created an open source, interactive visualization of all known cases of COVID-19. The map provides live updates with new data as it becomes available.
I find this project especially interesting because the data is retrieved via an open source API created by GitHub user ExpDev07 that queries an open source dataset from John Hopkins University. The John Hopkins dataset (an aggregate of more than a dozen other sources) is currently the most popular COVID19-related project on GitHub. This is the branching nature of open source at its finest!
Locale.ai built the visualization website using Vue.js, a popular framework that allows web developers to create modern web apps. Vue.js was created and continues to be maintained by Evan You, one of the few people who have made a full-time career as an open source maintainer.
DXY-COVID-19-Crawler was created in January and is one of the earliest responses from the open source community to COVID-19. When the virus was spreading primarily in China, the Chinese medical community was using a site called DXY.cn to report and track cases. To make the information more readily available and usable by others, GitHub user BlankerL wrote a web crawler to systematically collect data from the DXY.cn site and make it available via an API and data warehouse. That data has been used by academic researchers and others to examine trends and visualize the spread of the virus. So far, DXY-COVID-19-Crawler has been starred more than 1,300 times and forked nearly 300 times.
BlankerL wrote the web crawler using Python and a package called Beautiful Soup. Beautiful Soup is an application that allows Python developers to easily scrape information from websites. Beautiful Soup is maintained by Leonard Richardson, who also works full-time as a software architect.
Many cities around the world have updated their websites with information for their residents about COVID-19. The Tokyo Metropolitan Government created a comprehensive website that "aims to allow Tokyo residents, companies with offices in Tokyo, and visitors to Tokyo to grasp the current situation and take measures and precautions accordingly."
Unlike many other cities, Tokyo decided to open source its site. The project boasts contributions by more than 180 different users, and at least three other cities in Japan (Nagano, Chiba, and Fukuoka City) remixed the site. The project is an example of how cities can better serve their citizens by building openly.
There's an incredible amount of open source technology powering Tokyo's open source website. Using the Tidelift application, I identified 1,365 dependencies used in the project. All of this complexity happens because 38 direct dependencies (i.e., dependencies the developers explicitly decided to use) have dependencies of their own. That said, maintainers of more than a thousand different open source dependencies (including Nuxt.js, Prettier, Babel, Ajv, and more) are in a small way responsible for helping Tokyo share information with their citizens.
Other projects
There are many other important projects being built in the open in response to COVID-19. I am inspired by how the open source community is responding to this pandemic and leveraging other open source technologies to work quickly. The weeks ahead will be difficult, but I know we can continue to find motivation in the open source community.
If you are working on an open source project related to COVID-19, please share it in the comments so we can help spread the word.