Diseases

STIsim includes the following disease modules:

Disease Class Alias Model type
HIV sti.HIV 'hiv' CD4-based progression
Syphilis sti.Syphilis 'syphilis' / 'syph' Staged (primary/secondary/latent/tertiary)
Chlamydia sti.Chlamydia 'ct' SEIS
Gonorrhea sti.Gonorrhea 'ng' SEIS
Trichomoniasis sti.Trichomoniasis 'tv' SEIS with persistence
Bacterial vaginosis sti.BV 'bv' CST-based microbiome
Genital ulcer disease sti.GUD 'gud' Simple SIS

Infected vs. infectious

The SEIS diseases (chlamydia, gonorrhea, trichomoniasis) follow starsim’s ss.SEIR naming: exposed and infectious are the literal E and I compartments, and infected is derived as E plus I. So n_infected and prevalence count everyone carrying the infection, including those still in the latent period, while transmission depends on infectious alone. Use n_infectious if you want the transmitting compartment on its own.

Correspondingly, ti_exposed is the time of acquisition and ti_infectious the time of becoming infectious; there is no ti_infected on an SEIS disease. Incidence (new_infections, incidence) is counted at acquisition, off ti_exposed.

HIV, syphilis and BV set infected at acquisition already, so the same reading applies to them: infected means “has the infection”, not “is transmitting”.

All diseases can be passed to sti.Sim by name (string alias) or as module instances. When passed as a string, default parameters are used. To customize, either pass parameters via sti_pars or create the module directly:

# By name with defaults
sim = sti.Sim(diseases='hiv')

# By name with custom parameters
sim = sti.Sim(diseases=['hiv', 'ng'], sti_pars=dict(hiv=dict(init_prev=0.1)))

# As module instances
sim = sti.Sim(diseases=[sti.HIV(init_prev=0.1), sti.Gonorrhea()])