Only this pageAll pages
Powered by GitBook
1 of 25

CHIME

Loading...

What Is CHIME?

Loading...

Loading...

Loading...

How do I use it?

Loading...

Loading...

Loading...

Loading...

Personal Protective Equipment (PPE) Calculator

Loading...

Loading...

Loading...

Loading...

Open Source

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

About Us

Loading...

Links

Information Seekers

How CHIME can help you understand the COVID-19 pandemic

The CHIME app offers insights into how the pandemic may develop over time in your region may develop over time, based on the success of social distancing and other factors. It can help hospitals to understand the potential patient load in overflow scenarios and the burden of need for intensive care and ventilation.

It also serves as an interactive demonstration of the positive effects of social distancing, a critical public health measure to limit the spread of COVID-19.

Basic Tutorial

Getting started with using CHIME

Although CHIME was initially created for Penn Medicine, the application can be used by anyone in the world. Here is a basic walkthrough of how to start using CHIME for your region.

Selecting Data Inputs

First, there are several inputs you must modify to customize CHIME for your region:

  • Regional Population

  • Currently Known Regional Infections

  • Currently Hospitalized COVID-19 Patients

You'll find these options by scrolling through the left pane:

Viewing Results

The resulting projections are displayed in the main body. They are automatically refreshed when you hit "Enter" or click the "+" or "-" buttons for each data input.

You can customize the displays to show results as tables, show additional details, and more.

Advanced Customization

The CHIME App

Objective

CHIME allows individuals to prepare their hospitals, cities, and regions for the looming crisis. It specifically allows users to forecast the expected number of in-hospital patients and daily admissions so that they can estimate the impact in their location and when they will need to have mitigation strategies in place.

Impact

CHIME is being used by numerous organizations. We’ve had outreach from all around the US and the world. We can't list exact users without their permission but we can tell you that we’ve had traffic from over 150 countries!

Timeline

We launched the app on 2020/03/15, and the team put in a heroic effort to stabilize it in less than a week. We are actively implementing more features and enhancements as users identify additional needs. Our current goal is to release updates every week.

Quick resources

The following resources provide additional insight into CHIME and techniques used. They are a good starting point for anyone interested in using CHIME for their own purposes:

Decision Makers

How CHIME helps you estimate needs

How PPE Projections Are Calculated

Translating patient projections into PPE demand projections

We found it helpful to distinguish between two types of PPE consumption: contact-based consumption and staffing based consumption.

  • Contact-based consumption refers to PPE usage in which the number of items utilized is a direct function of the number of contacts staff members have with COVID-19 patients.

  • Staff-based consumption refers to PPE usage in which the number of items consumed only depends on the number of staff in a shift and not on the number of their contacts with patients.

Modeling contact-based consumption

Depending on the PPE item and the scenario, an item might be used only once (this practice is typical of the “standard” scenario) or might be reused multiple times (especially in scenarios of PPE shortage, such as “contingency” or “crisis”) before being discarded.

This formula does not require that the PPE be used for every patient contact. For example, if gloves were only used every other contact on average, then the denominator would be two patient contacts per pair of gloves because, on average, the patient would be contacted twice before a single pair of gloves is discarded.

The total PPE demand for the hospital for a given item on a given day can be found by summing the demand across all portions of the hospital.

Modeling staff-based consumption

In the case of staff-based consumption, rather than specifying that the clinician discard PPE after a given number of patient contacts, we instead specify that the equipment be (re)used for a certain number of shifts. Staff-based calculations must be done separately for the multiple clinical roles (nurse, resident, RT), since staffing ratios vary across roles.

This calculation assumes that clinicians will be re-using the same mask from previous shifts. The total PPE demand for the hospital can be found by summing the demand across all clinical units and clinical roles.

Scenario-dependent consumption

The consumption of some PPE items might be best modeled as contact-based in the standard scenario but as staff-based in cases of shortages (i.e., the contingency or the crisis scenario). For example, in our surveys, N95 masks in typical times are consumed based on the number of patient contacts. However, in light of supply shortages, many hospitals have switched utilization policies to a contingency mode limiting each staff member to one mask per shift, thus corresponding to a staff-based consumption.

Model Parameters

What does the model need to run?

Hospital Parameters

Regional Population

The total population size of the catchment region of your hospital(s).

This is the initial S (Susceptible) input in the SIR model. This will affect projections for the number infected and the numbers requiring hospitalization, intensive care (ICU), and ventilation.

For Penn Medicine, this includes Delaware, Montgomery, Bucks, and Philadelphia counties.

Hospital Market Share (%)

The proportion of patients in the region that are likely to come to your hospital (as opposed to other hospitals in the region) when they get sick.

An estimate of this value can be to use the percentage of beds in your hospital compared to the total beds in your region.

Note: Your hospital's share may change over time, as the capacity of different hospitals to adapt to the scope epidemic may vary.

Currently Hospitalized COVID-19 Patients

The number of patients currently hospitalized with COVID-19 at your hospital(s).

This number is used in conjunction with Hospital Market Share and Hospitalization % to estimate the total number of infected individuals in your region.

Spread and Contact Parameters

Date of the first hospitalized case (Checkbox)

Use this checkbox to specify the date of the first hospitalized case within your hospital(s).

This date is used in conjunction with the current number of hospitalized patients to calculate doubling time and R0.

Doubling time before current date

Note: This parameter is only available if you do not check the box for first hospitalized case.

The number of days required for the number of infected individuals to double. Doubling rate is meant to apply as an infection growth rate without interventions.

To account for reduced contact and other public health interventions, modify the Social distancing input. The doubling time is directly related to R0 and drives the rate of new cases during the early phases of the outbreak.

The American Hospital Association (AHA) initially projected a doubling time between 7 and 10 days. The doubling time is applied to the number of infections, not the number of confirmed cases. This distinction may explain the discrepancy between the AHA's doubling time estimates and the observed doubling time of confirmed cases (currently 2 - 4 days).

Social distancing (% reduction in social contact)

The estimate of how much social contact is reduced in your region compared to no social distancing at all.

This parameter allows users to explore how reduction in transmission via policies (e.g. school closures or remote work) or other methods (e.g. hand-washing, increased disinfection of surfaces) might slow the rate of new infections.

Severity Parameters

Hospitalization %(total infections)

The percentage of all infected cases which will need hospitalization.

This percentage, along with the number of Hospitalized COVID-19 Patients, and the Hospital Market Share (%) inform the Estimated # of Currently Infected Individuals measure.

Note: There is a large amount of uncertainty surrounding this figure as hospitalization requirements might vary between regions.

ICU %(total infections)

The percentage of all infected cases which will need to be treated in an ICU.

Ventilated %(total infections)

The percentage of all infected cases which will need mechanical ventilation.

Infectious days

The number of days a person can infect another person (regardless of whether the infected person symptomatic or asymptomatic).

This represents gamma (γ) in the SIR model.

Length of Stay

We present three different Length of Stay (LOS) metrics which we treat as self contained (independent). These LOS metrics are not additive; Do not sum the three parameters below.

Average Hospital Length of Stay (days)

The average number of days a COVID-19 patient is in the hospital.

This is inclusive of all hospitalized COVID-19 patients, regardless of the highest level of care they receive.

The default value is based on observed full hospital length of stay for ~10,000 Respiratory Failure patients at four Penn Medicine facilities over a 5 year period. We used internal data over COVID-19-treated patients from other countries due to lack of clarity over differing treatment protocols.

Average Days in ICU

The average number of days a COVID-19 patient is in the ICU.

This includes both vented and non-vented patients.

The default value of 9 days is based on observed full hospital length of stay for ~4,000 Respiratory Failure patients at four Penn Medicine facilities over a 5 year period requiring ICU support. We used internal data over COVID-19-treated patients from other countries due to lack of clarity over differing treatment protocols.

Average Days on Ventilator

The average number of days a COVID-19 patient is on mechanical ventilation.

The default value of 10 days is based on observed full hospital length of stay for ~2,000 Respiratory Failure patients at four Penn Medicine facilities over a 5 year period requiring ventilation support. We used internal data over COVID-19-treated patients from other countries due to lack of clarity over differing treatment protocols.

Display Parameters

Number of days to project

The number of days to show on the x-axis of the graphs. The max number of days is set to 30, as the model should be used to predict only a few weeks into the future.

Note: If the peak happens after the last projected day, the reported numbers for peak data will be inaccurate. In that case, increase the number of days to project in order to see the true peak.

Set the Y-axis on graphs to a static value (Checkbox)

Use this checkbox to set the y-axis of the graphs to a static value.

By default, the y-axis automatically scales based on the peak value of the projections.

Current date

The date in Year/Month/Day format to represent when projections are calculated.

A vertical line is displayed in the graphs at this date to provide context of time.

The default is today's date. Earlier dates can be used if the latest known data is not from today, or to re-run past reports with the current model.

Additional references

Content Experts

How CHIME can help you improve insights for your organization

The Model

How does the CHIME model work?

Compartmental Modeling

​Discrete-time SIR modeling of infections/recovery

The model consists of individuals who are either Susceptible (S), Infected (I), or Recovered (R).

The epidemic proceeds via a growth and decline process. This is the core model of infectious disease spread and has been in use in epidemiology for many years.

The dynamics are given by the following 3 equations.

To project the expected impact to Penn Medicine, we estimate the terms of the model.

To do this, we use a combination of estimates from other locations, informed estimates based on logical reasoning, and best guesses from the American Hospital Association.

Parameters

β can be interpreted as the effective contact rate: β=τ×c

which is the transmissibility τ multiplied by the average number of people exposed c. The transmissibility is the basic virulence of the pathogen. The number of people exposed c is the parameter that can be changed through social distancing.

γ is the inverse of the mean recovery time, in days. i.e.: if γ=1/14 then the average infection will clear in 14 days.

  • the pathogen is more infectious

  • people are infectious for longer periods of time

  • the number susceptible people is higher

Effect of social distancing

Using the model

We need to express the two parameters β and γ in terms of quantities we can estimate.

Initial Conditions

  • The default value for the total size of the susceptible population defaults to the entire catchment area for Penn Medicine entities (HUP, PAH, PMC, CCH)

    • Delaware = 564696

    • Chester = 519293

    • Montgomery = 826075

    • Bucks = 628341

    • Philly = 1581000

Additional references

PPE Calculator Tutorials

An introductory tutorial

After downloading the PPE Calculator Excel file and daily model projections, open the Excel file:

  • In the Input Data tab, paste your projected hospitalized/ICU/ventilated censuses and admissions

  • In the Interface tab, choose a Scenario (Standard, Contingency, Crisis, or Custom)

  • In the Output tab, see the daily and cumulative PPE forecasts

A tutorial for creating a customized scenario

For a walkthrough of the dash, please watch our .

Then, modify all other inputs depending on which scenarios you would like to model. See for detailed definitions of each input.

For complete descriptions of how to read and interpret the figures, see .

For advanced customization, including changes to the underlying model, you will need to fork the Github repository and host your own version. for instructions.

The (COVID-19 Hospital Impact Model for Epidemics) App is designed to assist hospitals and public health officials understand hospital capacity needs as they relate to the COVID-19 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 , a standard epidemiological modeling technique. Our model has been reviewed by several epidemiologists including Associate Professor of Epidemiology, Department of Biostatistics, Epidemiology and Informatics at the Perelman School of Medicine.

Please check the for updates on the app!

​​

​

CHIME allows decision makers in hospitals to project the potential burden of inpatient hospitalizations and patients requiring intensive care/mechanical ventilation. This information can be utilized to plan for increased resource needs before your hospital system is overwhelmed (e.g. beds, beds, ventilators, , etc). It also can be used as a tool to estimate the benefits of social distancing in reducing these burdens on health systems, which can be communicated to public health officials or the public at large.

See our for more information, and estimates of effects of social distancing in .

See . which suggests that around 5% of infected people need hospitalization, while also supplying an age adjustment methodology should you want to calibrate it to your own population.

Similarly referenced by and assumed to be about 30% of admissions. Note the uncertainty due to treatment variation between regions.

Similarly referenced by and assumed to be about 30% of admissions. Note the uncertainty due to treatment variation between regions.

For a listing of additional references to help select parameter inputs, see the excellent compilation

CHIME can be utilized by data scientists, analysts and epidemiologists to generate daily reports for public health officials and hospital administrators. Future versions of CHIME will streamline report generation. In its current form, content experts will have to manually enter parameters into the UI to generate each report daily. It may be helpful to enter these parameter into a spreadsheet to help organize this work. See , , and for guidance on how to set the model parameters.

The model's parameters, and , determine the severity of the epidemic.

An important descriptive parameter is the basic reproduction number, or . This represents the average number of people who will be infected by any given infected person. When is greater than 1, it means that a disease will grow. A higher implies more rapid transmission and a more rapid growth of the epidemic. It is defined as

is larger when

A doubling time of 6 days and a recovery time of 14.0 days imply an ​of 2.71.

After the beginning of the outbreak, actions to reduce social contact will lower the parameter . If this happens at time , then the effective reproduction rate is , which will be lower than .

For example, in the model, a 50% reduction in social contact would increase the time it takes for the outbreak to double, to 27.5 days from 6.00 days, with a of 1.36.

: the CDC recommends 14 days of self-quarantine, we'll use .

To estimate directly, we'd need to know transmissibility and social contact rates. Since we don't know these things, we can extract it from known doubling times. The AHA says to expect a doubling time ​ of 7-10 days. That means an early-phase rate of growth can be computed by using the doubling time formula:

Since the rate of new infections in the SIR model is and we've already computed , becomes a function of the initial population size of susceptible individuals .

For other default values, please consult the section.

Discrete-time SIR modeling:

video tutorial
Data Inputs
Interpreting the Results
See Making your own CHIME app
PPE use of an item on a particular day=(# of patients that day)(# of daily contacts per patient)# of patient contacts before discarding item{PPE\ use\ of\ an\ item\ on\ a\ particular\ day} = \frac{(\#\ of\ patients\ that\ day)(\#\ of\ daily\ contacts\ per\ patient)}{\#\ of\ patient\ contacts\ before\ discarding\ item}PPE use of an item on a particular day=# of patient contacts before discarding item(# of patients that day)(# of daily contacts per patient)​
Average # new PPE item per day=(# of patients that day)(# of shifts per day)(# of patients per provider)(# of shifts item is used){Average\ \#\ new\ PPE\ item\ per\ day} = \frac{(\#\ of\ patients\ that\ day)(\#\ of\ shifts\ per\ day)}{(\#\ of\ patients\ per\ provider)(\#\ of\ shifts\ item\ is\ used)}Average # new PPE item per day=(# of patients per provider)(# of shifts item is used)(# of patients that day)(# of shifts per day)​
St+1=St−βStItS_{t+1} = S_{t} −βS_{t}I_{t}St+1​=St​−βSt​It​
It+1​=It+βSt​It​−γIt​I_{t+1}​ = I_{t} + βS_{t}​I_{t}​−γI_{t}​It+1​​=It​+βSt​​It​​−γIt​​
Rt+1​=Rt+γIt​R_{t+1} ​= R_{t} + γI_{t}​Rt+1​​=Rt​+γIt​​
β\beta β
γ\gammaγ
R0R_{0}R0​
R0R_{0}R0​
R0R_{0}R0​
R0=β/γR_{0}=\beta / \gamma R0​=β/γ
R0R_{0}R0​
R0R_{0}R0​
ccc
ttt
RtR_{t}Rt​
R0R_{0}R0​
RtR_{t}Rt​
γ\gammaγ
γ=1/14\gamma = 1/14γ=1/14
β\betaβ
TdT_{d}Td​
g=21/Td​−1g=2^{1/T_{d}}​−1g=21/Td​​−1
g=βS−γg=\beta S - \gammag=βS−γ
γ\gammaγ
β\betaβ
β=(g+γ)\beta = (g+\gamma)β=(g+γ)
How To Get Started Using Penn-CHIME, the COVID-19 Hospital Capacity Planning Tool

Interpreting PPE Projections

Limitations

The biggest uncertainty of these projections comes from the epidemiological models that we use as our input. Projections are more accurate within a 2-3 week horizon than further into the future, given the inherent uncertainty of predicting the exact course of the epidemic in different geographic regions.

We collected data and triangulated our estimates on actual PPE utilization through discussions with many clinicians within a single institution (Hospital of the University of Pennsylvania, Philadelphia, PA). Actual utilization patterns may differ at other hospitals or among other clinicians.

Currently our model accounts for utilization in inpatient settings but does not include outpatient care or home health. Our model currently does not account for PPE use by non-clinical staff, such as cleaning staff. We also do not model needs for PPE in non-COVID patients since the PPE-use assumptions are focused exclusively on PPE-use for COVID patients. Health care systems using this tool should be careful to make sure that they account for regular utilization for non-COVID patients, for outpatient, and for other non-clinical roles that require PPE.

CHIME
SIR (Susceptible, Infected, Recovered) model
Michael Z. Levy, PhD,
Release Notes
Announcing CHIME, A tool for COVID-19 capacity planning
CHIME comparison with Imperial College COVID-19 Publication
CHIME 0.5.0 released with major updates
Updating CHIME Input Parameters Based on New COVID-19 Regional Observations
CHIME 1.1.0 released, mid-growth stage updates
Introducing a PPE Calculator for use with CHIME
ICU
PPE
blog post
Ferguson et al
Verity et al
Verity et al.
Verity et al.
MIDAS
Data Inputs
https://mathworld.wolfram.com/SIRModel.html
Dashboard Breakdown
Data Inputs
Quick Resources
How To Get Started Using the UPenn Personal Protective Equipment (PPE) Forecast Calculator
How To Customize Scenarios Using the UPenn Personal Protective Equipment (PPE) Forecast Calculator

Partners

CHIME was supported by Linode who has provided free compute resources through CodeForPhilly. If your team has provided support for CHIME please add them to this documentation!

What is Open Source?

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

In order to allow agencies and organizations that can leverage the CHIME app to make time sensitive decisions, Penn is open sourcing the code so it can be used and customized to these agencies' needs.

Interpreting the Results

New Admissions

This chart presents the projected number of new admissions for COVID-19 to the health system per day by patient category. The blue line represents patients hospitalized that day. The orange line represents patients beginning to be treated in the ICU that day. Some of the ICU patients receive ventilator care – the red line depicts the number of patients beginning to receive ventilator care that day. For example, on day thirty, we expect 50 new patients requiring hospitalization (blue line). Of all of the COVID-19 patients in the hospital at that time, 15 begin receiving intensive care (orange line), and 10 begin on a ventilator (red line), the total number of expected new admissions to the hospital is 50.

This chart only includes COVID-19 patients.

Admitted Patients

This chart presents the projected total patient census for COVID-19 at the health system per day by patient category. The blue line represents all hospitalized patients, including med/surg and ICU, whether ventilated or not. The ICU figures (orange line) include patients in the ICU not requiring a ventilator as well as ventilated patients (red line). As an example, on day thirty, we expect to have 280 patients hospitalized (blue line), including 110 patients in an ICU (orange line), with 80 of the ICU patients requiring ventilation. The total number of patients is 280.

This chart only includes COVID-19 patients.

Building the App Locally

Now that you have the code, how do you run it on your machine?

Running in Python

Create your python environment

Let's fast track you. In order to avoid installing every package used by the app, you can use pipenv.

Running in Docker

We have also "containerized" the app, which means the app can run with a tool called Docker without you needing to install anything (other than docker) on your machine.

Making your own CHIME app

This is an Open Source project, which allows you to access all the code that is used to build the app and perform the analysis.

Git

Maintaining the App

Sync your fork

software is software with source code that anyone can inspect, modify, and enhance.

The app requires python 3.6 or higher. Check what on your machine using your command prompt tool.

FYI, Macs come with python 2.7 installed. If you run python --version you may get 2.7 even if you have newer versions installed. .

First, pipenv.

's a guide to walking through that process.

The benefit of using Docker is keeping your python environment clean. Python is a on your local machine and most python-based applications require python packages. Docker installs these packages in the container and then builds and runs the container on your machine.

For guidance on running the app on your own machine please see .

We keep the code for this app in a . This allows folks to contribute, track work, and backtrack changes (if need be) without having to maintain everything ourselves. The repository is publically accessible so you don't need any permissions to access or download it.

If you plan on using the code itself, .

It is likely that we will be making changes to the app! If you want to keep your version in line with ours, you will need to .

Open source
version python you have
Here's how to manage python on your Mac
install
Here
tricky tool to manage
Here's a basic installation guide for docker.
Getting Started: Run Locally
Github repository
set up a github account
sync your fork

Hosting the App

Introduction to Personal Protective Equipment (PPE)

Why is forecasting PPE important?

Personal protective equipment (PPE) such as masks, gloves, gowns, or other gear that protect clinicians from infection when delivering their care is an essential input into any clinical operation. During normal hospital operations, PPE procurement is a routine exercise of obtaining supplies at the lowest possible price from reliable suppliers. Not much forecasting is needed – hospital administrators simply place replenishment orders for the materials they have consumed in the recent past. This creates a “pull system” in which the consumption of materials triggers orders for new ones.

Though such pull systems enable hospitals, many of which are operating under significant cost pressure, to be “lean” and to operate with low inventory levels, they are not adequately preparing them for exceptional situations such as a pandemic. COVID-19 caused a surge in patient volume in some clinics, while the CMS mandated shut-downs have triggered a reduced volume in other clinics. Moreover, the mix of patients has changed dramatically, most notably to include patient conditions that are highly contagious and thus require a much higher use of PPE. This has led to a PPE shortage throughout the country, making procurement of new PPE increasingly difficult. Knowing how much PPE will be needed in the near future is central for effective procurement decision making. It is also important to anticipate future shortages and mitigate them by adjusting consumption behavior.

An introduction to our PPE Forecast Calculator

Our tool uses forecasted patient admission and census information as its inputs and creates the predicted consumption of a set of PPE critical for the care of COVID-19 patients as its output. The underlying calculations are based on PPE consumption data that we collected at the University of Pennsylvania. Our tool also allows users to input their own custom scenarios, tailored to the specific situations relevant to their hospital or health system. The overall architecture of our tool is summarized in the following figure.

Moreover, our tool allows hospitals and health systems to make projections using three pre-populated scenarios. These scenarios—standard, contingency, and crisis-- correspond to projections for PPE use under increasingly strict PPE conservation policies. These scenarios were developed in consultation with providers across several different departments to ensure they capture realistic assumptions about how PPE materials are used in standard care within a hospital and what would constitute reasonable PPE conservation strategies in case of PPE shortages.

Download the PPE forecasting calculator

Contributors

In partnership with the Penn Medicine Predictive Healthcare team, this tool was developed by experts across a wide variety of domains at the University of Pennsylvania (Department of Computer and Information Science; Wharton School; Perelman School of Medicine; Center for Health Incentives and Behavioral Economics) and Penn Medicine (Hospital of the University of Pennsylvania).

Collaborators include: Kristian Lum, James Johndrow, April Cardone, Barry Fuchs, Cody E. Cotner, Olivia Jew, Richard Eden, Ravi B. Parikh, Gary E. Weissman, Christian Terwiesch, and Kevin G. Volpp

Additional resources

If you want to host your modified app somewhere, check out . This guide shows you how to deploy the app to a service called .

Download the PPE forecasting calculator at .

Quickly Build and Deploy a Dashboard
Heroku
https://penn-chime.phl.io
Opinion: Why we need a strategic national stockpile for PPE
CDC Strategies to Optimize the Supply of PPE and Equipment
Use the left pane to modify inputs for your region and scenario(s).

Making a Repo

Git is a tool for version control. Version Control is how developers track changes in a codebase over time.

Downloading the files

You can download the repo to your machine using the github UI :

or by running git clone https://github.com/CodeForPhilly/chime.git in your command prompt tool.

Keeping your changes

If you are making changes, fork the repository first and then download!

If you plan to make changes to the code, you will want to fork the repository into your own repo. is a quick guide on forking.

Here