This epidemic will decline at some point, we need to predict this decline to better prepare to go back to life. When will it happen? and what can be done to get there faster and safer? Those are questions we want to answer by prediction. This will allow us to better prepare. We need good modeling tools to predict this.

What it does

The MIcro Simulation Tool (MIST) is disease modeling software. The software allows advanced population modeling with a convenient user interface that allows easy, yet reliable modeling with the ability to use High Performance Computing and Evolutionary Computation. This is especially useful in cases where only summary data is available.

How I built it

Many years of work have been invested in this tool.

Challenges I ran into

The ability to reliably model populations from statistics, use of cloud computing.

Accomplishments that I'm proud of

MIST is already used as the engine behind the most validated diabetes cardiovascular model known worldwide.

What I learned

Our computational capabilities related to healthcare are still limited and need improvements.

What's next for Improved Disease Modeling Tools for Populations

The MIcro Simulation Tool is now being enhanced to better fit infectious disease modeling

Built With

+ 64 more
Share this project:


posted an update

One last thought for all who visit this page. Our goal is that countries that come out of this crisis in better shape will have an advantage globally in commerce and in other factors. We want the US to come out of this early and in good shape. With proper modeling, we can help.

There is light at the end of the tunnel, and we want to broadcast this to keep the mental health of our people, this is also important.

Log in or sign up for Devpost to join the conversation.

posted an update

Hack COVID-19 - Pandemic Response Hackathon Improved Disease Modeling Tools for Populations Submitted by Jacob Barhak & Team

MODEL 1: What may occur to 1,000 people (a representative sample from the US population) if one patient has contracted COVID-19?

Below is the first attempt at modeling COVID-19 -

This model shows what may occur to 1000 people (a representative sample of the US population) with one single patient having contracted COVID-19 disease.

Model assumes 1) no social distancing is in place and 2) no quarantining of infected individuals is in place i.e. undiagnosed and ill people would be walking around in society.

The model was quickly implemented with a new version of the MIcro Simulation Tool (MIST).

Model Assumptions: Recovered patients cannot be reinfected with COVID-19 (coronavirus/ SARS-CoV-2) Transitions are daily probabilities

Parameters: Transmission Prob = The probability of transmission if interacting with an infected person 0 = no infection, 1 = definite infection from meeting a person, Interactions = How many people a person sees in a day Age = Age of person in years Total Interactions = the sum of interactions by all people in the population Infected Interactions = The number of interactions by infected people Infected Interaction = The contribution of one person to Infected Interactions InfectionTime = Once infected, what was the time frame Time = Internal parameter counting time in days since inception Mortality Rate = The probability of death in one time step

Initial Population Composition:

Age - Use statistics from: Start with uniform distribution of (0,100) and use Evolutionary Computation to reach the median and the published distribution of ages: 0–14 years: 18.62% 15–24 years: 13.12% 25–54 years: 39.29% 55–64 years: 12.94% 65 years and over: 16.03% We also know that the median age is: 38.2

Interactions - We make a crude assumption that most of the population interacts on average with 20 people a day with a standard of 20. We will model this as an absolute of a gaussian distribution - it is is a crude assumption that we will change later to a better distribution: Ceil(Abs(Gaussian(20,20)))

Corona_Infected/No_Corona - We will assume one person infected from a total population of 1000 - we do this by assigning 1 to the first individual for Corona_Infected and 0 to the rest and the opposite to the complimentary No_Corona variable .

Phase 0 - Initialization - happens before the model is executed after loading population

TransmissionProb = 0.5 - this coefficient is unknown - so we will assume a number initially and explore other values later. InfectedInteractions = Interactions - for the first time step we assume the number of interactions is 20 - like the population average Total Interactions = 20000 - the total number of interactions initially is like the average population.

Phase 1 - Pre- Transitions Probability - calculate variables before transitions

MortalityRate - The source of data is a CDC publication: . We use the lower conservative number. We also transform it from probability of death anytime in the illness to daily probability assuming 14 days length using 1-(1-p)**14.

Age              Mortality %

–19 (123) 0 20–44 (705) 0.1–0.2 45–54 (429) 0.5–0.8 55–64 (429) 1.4–2.6 65–74 (409) 2.7–4.9 75–84 (210) 4.3–10.5 ≥85 (144) 10.4–27.3 Total (2,449) 1.8–3.4

Phase 2 -Transitions

P0 - This probability is first calculated by calculating the probability of one meeting with an infected person - Infected Interactions/Total Interactions. We then multiply that by the chance of the meeting to transmit the disease - Transmission Prob. Next, we calculate the chance not to be affected and raise it by the power of the number of interactions. This calculates the probability NOT to be infected by multiple interactions which we then take the complementary probability
The formula becomes: 1- (1-TransmissionProb * InfectedInteractions / Total Interactions)** Interactions P1 - For simplicity we assume that the length of disease is 2 weeks = 14 days. For now, we will use this assumption as a strict rule and move people that did not die to COVID-19 Recovered state after 14 days. The transition probability will therefore be: Gr (Time-InfectionTime,14) . P2 - We will use pre-calculated daily mortality rate. And make sure after 14 days probability is 0 by multiplying the probability with Le (Time-InfectionTime,14) .

Phase 3 - Post Transitions Probability - calculate variables before transitions

InfectionTime: update infection time once infected. The formula would be: if COVID-19 Infected_Entered InfectionTime = Time
Infected Interaction: update the interaction contribution of a single infected person. The formula would be InfectedInteraction = COVID-19_Infected*Interactions

Phase 4 - Aggregate number update - update population statistics before next time step

Infected Interactions: Update number of interactions counting only existing records. The Formula would be: Infected Interactions = sum Infected Interaction Total Interactions: Update the total interactions by counting the existing records and their interaction level. The Formula would be: Total Interactions = Sum Interaction

Log in or sign up for Devpost to join the conversation.