Trauma-Team-International / Home

Trauma Team International || Autonomio's Coronavirus Task Force
MIT License
4 stars 1 forks source link

ICU Burden Simulation Inputs #11

Open mikkokotila opened 4 years ago

mikkokotila commented 4 years ago

data / parameter range sourcing

EnergyGuy3 commented 4 years ago

Summary


Number of ICU beds per 100k population

Below 50

Number of ventilators per 100k population

In Canada, there were 10 ICU beds capable of providing mechanical ventilation per 100,000 population, and 15 invasive mechanical ventilators, placing Canada above the U.K. but well below the U.S., Germany, and Belgium. SOURCE

According to figures shared with The Moscow Times by the Moscow-based Headway Group, which monitors government tenders, Russia has a total of around 42,000-43,000 ventilators in its state hospitals around the country — an average of about 29 ventilators per 100,000 residents and significantly higher than Italy’s 8 ventilators per 100,000 residents. SOURCE

Number of staff required to operate ventilators

We recommend the following team (see figure 1 from the ref):

  1. Airway Operator. Most experienced/skilled airway clinician to perform upper airway interventions. This may require calling for assistance of another clinician (e.g. a senior anaesthetist) within your hospital.
  2. Airway Assistant. This should be an experienced clinician, to pass airway equipment to the Airway Operator, and help with bougie use and in bag-valve-mask (BVM) ventilation.
  3. Team Leader. A second senior airway clinician to coordinate team, manage drugs, observe monitoring and provide airway help if emergency front-of-neck airway (eFONA) is required.
  4. In-Room Runner. This team member is optional, depending on staff availability and stability of the patient.
  5. Door Runner (in ante room or just outside patient room) to pass in any further equipment that may be needed in an emergency. This team member can also act as the PPE ‘Spotter’ (see below)
  6. Outside Room Runner. To pass equipment into ante room (dirty side), or directly to Door Runner if no ante room.

SOURCE

Number of ventilators a single operator can operate

Kallstrom notes that on average a single respiratory therapist can manage ten patients at once. But that’s in normal times. “If we have to ventilate 750,000 people, we will have a situation we can’t handle,” Kallstrom observes. SOURCE

"I work 12-hour shifts. Right now, we are running about four times the number of ventilators than we normally have going. We have such a large volume of patients, but it’s really hard to find enough people to fill all the shifts. The caregiver-to-patient ratio has gone down, and you can’t spend as much time with each patient, you can’t adjust the vent settings as aggressively because you’re not going into the room as often. And we’re also trying to avoid going into the room as much as possible to reduce infection risk of staff and to conserve personal protective equipment.”SOURCE

Number of patients a single ventilator can accommodate

Depending on the source, maybe up to 10, but this is a controversial topic.

Number of hours in ventilation per patient

The duration of non-invasive ventilation was 4–22 d [median 9 d] and mechanical ventilation for 3–20 d [median 17 d].

Singhal, T., 2020. A Review of Coronavirus Disease-2019 (COVID-19). The Indian Journal of Pediatrics, pp.1-6.

Disease progression

1

SOURCE

mikkokotila commented 4 years ago

Sequential simulation of n rounds where each round represents a single day.

Different Pathways

Maybe we might first create two different simulations - one which is described above, and then this one - and combine them later?

Progression ranges

Stage progressions can take place in two ways; either downstream or to death or recovery.

stage reference value range distribution
mild ranges 350
severe ranges
hospitalisation ranges
icu ranges
ventilation ranges
recovery ranges
death ranges

NOTE: we probably want to first do this without any parameters per progression. But in the next, we would want to test parameter value ranges (e.g. factors that help to avoid the progression from hospitalisation to ICU)

Resources

Inputs

Outputs

Pipeline

mikkokotila commented 4 years ago

It's actually not meaningful to use ICU stay rate from literature, because it is from tested, and not infected. To fix this, we must have input "test_rate" before "hospitalization_rate"

EDIT: here is a clearer version of the problem:

We are using SEIR model as base to get the number of infected, because it is widely used, and then add hospitalized, icu, and ventilation steps to the model based on available literature. The issue is the step between infected and hospitalized, which I think should be called "tested_positive" but at the moment we don't have a good way to approximate what the difference between infected and "tested_positive" is. Any ideas or inputs?

mikkokotila commented 4 years ago

QUESTION: how do you handle this problem of the jump from infected to hospitalized in your model?

ANSWER: We model the time series of infected to generate symptomatic using Weibell distribution assuming 18.9% are asymptomatic (JP study nr). Then from infected we model using gaus distribution 10-15% getting to hospital with a time delay (smeared with gaussian again). Same for ICU and deaths.

mikkokotila commented 4 years ago

Status Update

So far we've spent few days with SEIR model to understand how to extend it, and what limitations it may have. A person familiar with the field said "public policy will not be made unless its based on SEIR" as well as "usually, staying very close to standard SEIR is most practical" and "adding things to SEIR tends to quickly become unpractical". It looks like, the funnel we are interested in is as follows:

To achieve this, we must either a) extend SEIR model to incorporate these or b) create a separate function that handles from Sy onwards. It seems latter is more appropriate, because SyCHIV part of the progression funnel is capacity/queue problem.

Notes:

About handling fatality

In the SEIR model, R refers to "removed" which means that they are no longer in the system. In our case we must ignore it, and instead follow an approach where death can only result from two different reasons:

samoojas commented 4 years ago

I think I could make a simulation using just the Disease progression table from @EnergyGuy3 's entry above. From those we don't get the mild> severe steps and icu/respirator needs.

As first outputs (without setting restrictions) we get the number of beds (and bodybags) needed. If we can estimate progression to icu then we can start to estimate respirator needs and staff needed to operate them (or set limits to them or beds and so on)

But the input from a population model is definitely needed - thoughts how we could get that as an input - maybe there is a model code that could used to generate that..

mikkokotila commented 4 years ago

@samoojas two things to keep in mind here:

A person familiar with the field said "public policy will not be made unless its based on SEIR" as well as "usually, staying very close to standard SEIR is most practical" and "adding things to SEIR tends to quickly become unpractical".

So the idea is that if we use the gold standard way (SEIR) up until infected and work from there as a queue management problem up to ICU admission. We now have two versions of SEIR, with different equations.

Whatever comes next, would output two numbers (icu_stay and ventilation) and the capacity of those two somehow affects mortality. Once the ICU capacity is exceeded, it follows that those needing ICU treatment, either for COVID-19 or something else, will die.

As first outputs (without setting restrictions) we get the number of beds (and bodybags) needed. If we can estimate progression to icu then we can start to estimate respirator needs and staff needed to operate them (or set limits to them or beds and so on)

Makes sense. I think @EnergyGuy3 has a good hold on the literature where those numbers are already available.

samoojas commented 4 years ago

Sounds very good. I will take a look at the SEIR codes and start fiddling towards a python code on the queuing part.

mikkokotila commented 4 years ago

UPDATE: ICU model logic

After having spent the weekend dedicated with this matter, I have been able to confirm the below logic as robust for our problem: