UCL/hivpy

Outputs for early epidemic tests

mmcleod89 opened this issue · 4 comments

Outputs for checking the behaviour of the simulation in the early epidemic (pre-treatment & testing)

See example outputs given by Jenny, but this will mostly focus on things like:

  • Number of people in each age bracket
  • Number of deaths
  • Number of sexual partners w/demographics
  • Number of people with HIV w/demographics
  • Number of births

Won't include things like testing as we're focusing on the early era.

  • Output module should write these outputs for each timestep into an output file.
  • Also want to be able to make graphs. (May be post processing or automatic.)
  • List desired outputs in config file.
  • Python script for creating comparison plots of single runs with SAS data. (Extended by #171 to allow data aggregation and averages across multiple runs.)

Current list of outputs to include (from 21/11/23 meeting):

  • proportion of people aged 15-64 with a long-term partner (p_ep)
  • proportion of people aged 15-64 with at least one short-term partner (p_newp_ge1)
  • proportion of people aged 15-64 with at least five short-term partners (p_newp_ge5)
  • proportion of women giving birth
  • of women with HIV giving birth, proportion of children infected
  • proportion of circumcised men aged 15-49
  • proportion of female sex workers
  • proportion of female sex workers with HIV
  • proportion of people aged 15-49 with HIV (prevalence)
  • measure of new HIV cases in women and men aged 15-24 (incidence)
  • measure of new HIV cases in people aged 15-49 and 15-64 (incidence)
  • of the infections in a given time-step, proportion of people that have been infected by a long-term partner (p_inf_ep) (relies on #162)
  • of the infections in a given time-step, proportion of people that have been infected by someone in the primary infection phase (p_inf_primary)
  • number of women and men aged 15+ and 20-59 dead (n_death_2059_w, n_death_2059_m)
  • number of people with CD4 counts <200, 200-500, and >500 (n_cd4_lt200)
  • number of people aged 15+ alive (n_alive)
  • number of people with HIV (n_hiv)
  • number of live births
  • number of births to infected women

Additional outputs for validation:

  • short-term partner gender balance (log_gender_r_newp)
  • short-term partner gender balance divided by age groups (logm15r, logm25r, logm35r, logm45r, logm55r, logw15r, logw25r, logw35r, logw45r, logw55r)
  • of the infections in a given time-step, proportion of people that have been infected by a short-term partner (p_inf_newp)

As an example for the log gender balance variables, I think the calculation is as follows:
for logm15r this is for men with 15 <= age < 25

  • The numerator is: sum of short term partners over all men in this age bracket
  • The denominator is: looking at all sexually active women, add up the short term partners who are men 15-25. (For us this is made a bit more complicated by the fact that each short term partner is allowed to have their own age.)
  • Take the log of this ratio

@UCL/hiv-modelling does this calculation look right to you?

Hi Michael @mmcleod89 - Thanks - this looks right to me, yes.

Considering #171 as a separate rather than sub-issue going forward