In our previous model, we determined that Case Fatality Rates (CFR) across countries can be explained by the population size, the proportion of elderly in the country, the GDP per capita and the number of hospital beds. However, this model could approximatelt explain 50% of the CFR variance. Here, we propose a new model which takes into account the number of individuals that go to hospital and get tested for COVID-19, which can explain another portion of the CFR differences between countries. In a toy example where there are 500 infected people, we divide the infected population in two groups, mild symptoms (MS) and heavy symptoms (HS). The population with mild symptoms have a much lower probability (0.1%) of dying from COVID-19 compared to the heavy symptomatic individuals (10%). In an ideal scenario, all individuals go to the hospital and get tested. Thus, if half of the infected population (250) has mild symptoms (MS group) and the other half has heavy symptoms (HS group), then less than one MS (0.25) and 25 HS individuals will die. This brings the number of total deceased to approximately 25.25, and dividing this by the total number of individuals that went to the hospital and got tested (500), gives us a CFR of 5.05 % (25.25/500). On the other hand, if only 10% of individuals with mild symptoms go to the hospital, the number of deceased will be roughly similar (25.025), but the CFR will almost double given only 275 people got tested.
We generalized this scenario to account for different proportions of MS and HS groups, and different probabilities of a person going to the hospital and getting tested when developing mild symptoms.
#population
n= 1000
#infected
n_i= 500
#Probability of showing mild or heavy symptoms
P_MS= 0.8
P_HS= 1 - P_MS
#total of people with mild symptoms
n_MS= P_MS*n_i
#total of people with heavy symptoms
n_HS= P_HS*n_i
#Probability of mortality if showing mild symptoms
P_D_MS=0.001
#Probability of mortality if showing heavy symptoms
P_D_HS=0.1
#Probabilty of going to hospital if showing mild symptoms
P_H_MS=seq(0, 1, 0.1)
#Probabilty of going to hospital if showing heavy symptoms
P_H_HS=1
TotDeaths=P_MS*n_i*P_D_MS*P_H_MS+P_HS*n_i*P_D_HS*P_H_HS
#Observed CFR
calcCFR = function(n_MS,n_HS,P_H_MS,P_H_HS,P_D_MS,P_D_HS){
CFR=(n_MS*P_H_MS*P_D_MS + n_HS*P_H_HS*P_D_HS)/(n_MS*P_H_MS + n_HS*P_H_HS)
return(CFR)
}
df1<-calcCFR(n_MS,n_HS,P_H_MS,P_H_HS,P_D_MS,P_D_HS)
df1<-as.tibble(df1)
df1<- df1 %>% dplyr::mutate(Prob_H_MS=P_H_MS,Deaths=TotDeaths) %>% dplyr::rename(CFR="value")
#df1$MS<-as.factor(0.8)
pCFR1<-ggline(df1,x="Prob_H_MS",y = "CFR", xlab = "Proportion of Mild Symptomatic group that goes to hospital (Tested)")
pCFR1
df1 %>% dplyr::select(CFR,Deaths)
The figure shows the dependency on how likely is the person to go to the hospital when having mild symptoms and the calculated CFR. In this model we can observe that despite the number of deaths is similar across the whole range (between 10 and 11), the CFR is largely dependent on the total number of cases that actually go to hospital and get tested. If none of the people with mild symptoms get tested the CFR is the same as the probability of dying if developing heavy symptoms. We assume that all people developing heavy symptoms will go to hospital.
In addition, to understand the impact of the true fatality rate of the heavy symptomatic people that goes to hospital and the CFR, we plot the probability of dying if developing heavy symptoms versus CFR at three different proportion of people with symptoms.
##modify parameter fix prob H MS
P_H_MS=0.5
P_D_HS=seq(0.01,0.2,0.02)
df2<-calcCFR(n_MS,n_HS,P_H_MS,P_H_HS,P_D_MS,P_D_HS)
df2<-as.tibble(df2)
df2<-df2 %>% dplyr::mutate(Prob_D_HS=P_D_HS) %>% dplyr::rename(CFR="value")
df2$HMS<-as.factor(0.5)
##modify parameter fix prob H MS
P_H_MS=0.8
P_D_HS=seq(0.01,0.2,0.02)
df3<-calcCFR(n_MS,n_HS,P_H_MS,P_H_HS,P_D_MS,P_D_HS)
df3<-as.tibble(df3)
df3<-df3 %>% dplyr::mutate(Prob_D_HS=P_D_HS) %>% dplyr::rename(CFR="value")
df3$HMS<-as.factor(0.8)
##modify parameter fix prob H MS
P_H_MS=0.2
P_D_HS=seq(0.01,0.2,0.02)
df4<-calcCFR(n_MS,n_HS,P_H_MS,P_H_HS,P_D_MS,P_D_HS)
df4<-as.tibble(df4)
df4<-df4 %>% dplyr::mutate(Prob_D_HS=P_D_HS) %>% dplyr::rename(CFR="value")
df4$HMS<-as.factor(0.2)
df.many<-bind_rows(df2,df3,df4)
p1<-ggline(df.many,x="Prob_D_HS",y = "CFR", color="HMS", xlab = "Probability of dying if in the heavy symptomatic group")
p1
The figure demonstrates a linear dependency on the probabilty of dying and the CFR but with different slopes depending on the proportion of mild cases that get tested in the hospital.
To show an example of the extreme differences on CFR reported over time for some countries, we plot the CFR over time for a subset of countries.