Simpact is a tool for developing, running and analysing so-called individual-based or agent-based models for HIV transmission, prevention and treatment. In contrast to deterministic models – often implemented with the use of systems of differential equations – an individual-based model can keep track of the history of events that happen to the individuals. Thus, it becomes possible to see exactly how many times an HIV infected individual transmitted the virus by the end of his life, who was orphaned and at what age, due to AIDS-related death of their parents, or how many lifetime sex partners the average thirty-five year-old man had.
The models that are built by Simpact are event-driven, which means that the characteristics of individuals, such as their HIV status and relationship status, are not updated at fixed time intervals, but rather each time a relevant event occurs. This makes Simpact models “continuous time” simulation models.
Typically, most events occur as a result of stochastic (random) processes. For instance, there is a hazard for HIV transmission within a serodiscordant couple, which is evaluated throughout the duration of the relationship. Simpact is therefore a tool to design and run stochastic simulations. To find the timing of a particular event, a modified next reaction method algorithm is used to sample from the probability distribution of times till event, according to the hazard function of the event.
The appropriate level of complexity and detail of an epidemiological model primarily depends on the research question to be addressed and the data that are available to inform the model parameters. As a result, hundreds of different models for HIV transmission, prevention and treatment have been developed over the past 25 years. To optimise efficiency and avoid having to build ad-hoc models de novo for each new research question, Simpact was developed as a modelling platform, rather than a single, purpose-specific model.
In Simpact, the complexity of HIV transmission and any prevention and treatment interventions that may be simulated, is easily adjusted. In addition to defining the composition of the population in which the epidemic will take place, the user can specify which events are possible in the simulation. Possible events include HIV transmission, relationship formation and dissolution, pregnancy and birth, and AIDS- and non-AIDS-related mortality, antiretroviral treatment (ART) initiation, and ART discontinuation. For each event, the hazard function can be modified to reflect which variables influence the likelihood of the occurrence of the event, and how exactly the hazard to the event is a function of these influencing variables.
Detailed documentation and source code
Detailed documentation and source code for Simpact Cyan, the C++ version, and most recent member of the Simpact family of programs, can be found here.
The data from Figure 1 in the paper “Connecting the dots: network data and models in HIV epidemiology” (Delva et al., 2016) were generated using Simpact Cyan 0.19.4.