hiv
HIV–HPV co-infection.
Two ways to drive HIV, both sharing the same CD4-stratified HIV->HPV effects and HIV-stratified results (all owned by the shared HIV base class): - HIV_transmit: network-transmitted, via beta_m2f/rel_beta_f2m onto hpv.SexualNetwork. - HIV_incidence: a per-(year, sex, age) incidence curve imposed directly, no network transmission.
Classes
| Name | Description |
|---|---|
| HIV_incidence | HIV driven by an imposed incidence curve, with no network transmission. |
| HIV_transmit | Network-transmitted HIV – see HIV for the CD4-effect/results machinery |
HIV_incidence
hiv.HIV_incidence(
incidence=None,
pars=None,
init_prev_data=None,
name='hiv',
**kwargs,
)HIV driven by an imposed incidence curve, with no network transmission.
New infections are diagnosed and ART-scheduled immediately, so plain sti.ART(coverage=...) works without a testing cascade.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| incidence | DataFrame [age, sex, year, incidence]; sex ‘f’/‘m’, incidence the annual acquisition rate among susceptibles. age is a band lower bound, of any width (5-year UNAIDS/Spectrum bands or single years) and not necessarily even; the first and last bands extend past the data range, as do the first and last years. |
None |
Methods
| Name | Description |
|---|---|
| infect | Full override – no super().infect() call, no network transmission. |
| step | Full override of BaseSTI.step(): infect() already calls |
infect
hiv.HIV_incidence.infect()Full override – no super().infect() call, no network transmission.
step
hiv.HIV_incidence.step()Full override of BaseSTI.step(): infect() already calls set_prognoses() directly, so there’s no 3-tuple/set_outcomes() flow.
HIV_transmit
hiv.HIV_transmit(init_prev_data=None, pars=None, name='hiv', **kwargs)Network-transmitted HIV – see HIV for the CD4-effect/results machinery this inherits. Adds beta_m2f/rel_beta_f2m + validate_beta() targeting hpv.SexualNetwork.
Use this when HIV prevalence should emerge from network transmission dynamics; use HIV_incidence instead to impose a known incidence curve directly.
Methods
| Name | Description |
|---|---|
| validate_beta | Route beta_m2f/rel_beta_f2m onto every SexualNetwork’s betamap entry. |
validate_beta
hiv.HIV_transmit.validate_beta()Route beta_m2f/rel_beta_f2m onto every SexualNetwork’s betamap entry.
hpv.SexualNetwork puts females in p1, males in p2, so betamap[net][0] = f2m (smaller), betamap[net][1] = m2f = beta_m2f (larger).