Surveillance Model¶
Source:
examples/07-surveillance
This example runs the built-in ModelSURV (Surveillance) model, which
integrates vaccination, latency, symptomatic vs. asymptomatic infection,
detection, and mortality into a single framework.
Source Code¶
#include "epiworld.hpp"
using namespace epiworld;
int main(int argc, char* argv[]) {
epiworld_fast_uint ndays = 100;
epiworld_fast_uint popsize = 10000;
epiworld_fast_uint preval = 10;
epiworld_double sur_prob = 0.001;
epimodels::ModelSURV<> model(
"a virus", // Name of the virus
preval, // prevalence
0.9, // efficacy_vax
3u, // latent_period
12u, // infect_period
.7, // prob_symptoms
.25, // prop_vaccinated
.5, // prop_vax_redux_transm
.5, // prop_vax_redux_infect
sur_prob, // surveillance_prob
1.0, // prob_transmission
0.001, // Prob death
0.1 // Prob re-infect
);
// Adding a small-world graph
model.agents_from_adjlist(
epiworld::rgraph_smallworld(popsize, 5, .01, false, model)
);
// Running and checking the results
model.run(ndays, 123);
model.print();
return 0;
}
Key Takeaways¶
ModelSURVcombines vaccination, infection, detection, and death in a surveillance-oriented framework.- It tracks detected vs. undetected infections and includes reinfection probability.
- The model also collects user data internally for surveillance analysis.