epiverse-trace / epidemics

A library of published compartmental epidemic models, and classes to represent demographic structure, non-pharmaceutical interventions, and vaccination regimes, to compose epidemic scenarios.
https://epiverse-trace.github.io/epidemics/
Other
8 stars 2 forks source link

Calculate expected vaccinations and check model correctness #125

Open pratikunterwegs opened 11 months ago

pratikunterwegs commented 11 months ago

This issue was raised by @BlackEdder in comments on issue #33.

It should be possible to calculate the number of individuals of each age group expected to be vaccinated for a single-dose vaccination regime, given enough susceptibles ($S$) in each group, as $\nu \times S \times$ vaccination interval (in days).

This issue is to request a function f(vaccination, population) that takes a <vaccination> and <population>, and calculates the expected number of vaccinated individuals. This should be used to check the correctness of epidemic model runs (of the 'default' model) that implement vaccination. This would only hold when assuming that the population has enough individuals to be vaccinated (i.e., not everyone is infected and thus considered ineligible for vaccination).

BlackEdder commented 11 months ago

Generally, we can't target Susceptibles specifically, and vaccination calendars are defined as the fraction of individuals in the full cohort vaccinated. That would lead to a rescaling to the effective vaccination rate: $\hat{\nu} = \nu (S_i +E_i + I_i + R_i + V_i) / (S_i + E_i + I_i + R_I)$ * interval, where $i$ represents the cohort in the population. $\hat{\nu}$ is then the rate of vaccinating $S_i$, while $\nu$ is the rate of vaccinating cohort $i$.

Note that the above can be rewritten to the slightly simpler to understand form: $\nu N_i/(N_i - V_i)$

pratikunterwegs commented 11 months ago

Thanks @BlackEdder - I don't think I've understood. Are you suggesting that we should be able to calculate the effective vaccination rate? My understanding was that given a model structure, initial conditions, and a <vaccination>, we want to be able to calculate the expected number of vaccinated individuals. Should I re-focus this issue on vaccination rate instead?

BlackEdder commented 11 months ago

You are right, that this is a somewhat separate issue. It would be great to have an easy way to number of to calculate the expected number of individuals at time $t$ given a vaccination calendar and population.

But I do think we should be expecting the user to only provide the fraction of individuals in the cohort to be vaccinated at each time step and then we can internally calculate the effective vaccination rate. Maybe we should split that discussion into a separate issue though?