Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.
How CHIME helps you estimate needs
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, ICU beds, ventilators, PPE, 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.
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.
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.
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.
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 at https://penn-chime.phl.io.
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
The CHIME (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 SIR (Susceptible, Infected, Recovered) model, a standard epidemiological modeling technique. Our model has been reviewed by several epidemiologists including Michael Z. Levy, PhD, Associate Professor of Epidemiology, Department of Biostatistics, Epidemiology and Informatics at the Perelman School of Medicine.
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.
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!
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.
Please check the Release Notes for updates on the app!
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:
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.
How CHIME can help you improve insights for your organization
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 Dashboard Breakdown, Data Inputs, and Quick Resources for guidance on how to set the model parameters.
How does the CHIME model work?
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.
β 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.
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
For other default values, please consult the Data Inputs section.
Discrete-time SIR modeling: https://mathworld.wolfram.com/SIRModel.html
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 .
What does the model need to run?
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.
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.
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.
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.
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).
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.
See our blog post for more information, and estimates of effects of social distancing in Ferguson et al.
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.
See Verity et al. 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.
Note: There is a large amount of uncertainty surrounding this figure as hospitalization requirements might vary between regions.
The percentage of all infected cases which will need to be treated in an ICU.
Similarly referenced by Verity et al. and assumed to be about 30% of admissions. Note the uncertainty due to treatment variation between regions.
The percentage of all infected cases which will need mechanical ventilation.
Similarly referenced by Verity et al. and assumed to be about 30% of admissions. Note the uncertainty due to treatment variation between regions.
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.
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.
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.
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.
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.
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.
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.
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.
For a listing of additional references to help select parameter inputs, see the excellent MIDAS compilation
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.
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.
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.
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.
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!
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.
For a walkthrough of the dash, please watch our video tutorial.
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:
Then, modify all other inputs depending on which scenarios you would like to model. See Data Inputs for detailed definitions of each input.
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.
For complete descriptions of how to read and interpret the figures, see Interpreting the Results.
For advanced customization, including changes to the underlying model, you will need to fork the Github repository and host your own version. See Making your own CHIME app for instructions.
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
Git is a tool for version control. Version Control is how developers track changes in a codebase over time.
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.
If you plan to make changes to the code, you will want to fork the repository into your own repo. Here is a quick guide on forking.
If you are making changes, fork the repository first and then download!
software is software with source code that anyone can inspect, modify, and enhance.
"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.
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.
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, .
Now that you have the code, how do you run it on your machine?
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. .
Let's fast track you. In order to avoid installing every package used by the app, you can use pipenv
.
First, pipenv.
's a guide to walking through that process.
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.
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 .
If you want to host your modified app somewhere, check out . This guide shows you how to deploy the app to a service called .