Description
Whereas, the test script and the initial scenario run showed that the HTM scale-up was working as expected, it appears that the in practice they do not (see here).
The test script and the scenario both examine scale-up occurring instantly in year 2012, whereas the scale-up scenarios we want for the final analysis is for scale-up instantly in 2019.
Looking at this, I can see a few reasons why this might be occurring:
-
We write to a parameter that does not exist:
TLOmodel/src/tlo/methods/hiv.py
Lines 1131 to 1132 in e926380
-
Updating of the rates of testing does not work as expected, as the values for years after 2020 are set to nan, and note that future years are never read due to this logic.
TLOmodel/src/tlo/methods/hiv.py
Lines 1124 to 1125 in e926380
(I don't think this section suffers from the same issue - but it looks a bit fragile, for similar reasons).
- We write new values for parameter values, but we do not rebuild the
LinearModels
that use them (the linear model stores the value of parameter when it is built, and does not update when those parameters are updated later)
https://github.com/UCL/TLOmodel/blob/e9263803787825168955b0e24ed15c383a2ba0dd/src/tlo/methods/hiv.py#L1113C13-L1113C52
TLOmodel/src/tlo/methods/hiv.py
Line 1121 in e926380
There may be other issues in the Tb and malaria codes of a similar nature.
I would propose doing the following:
- Update the scenario file so that it reflects a scale-up in 2019, running at scale, and confirming that this also shows there being no epidemiological impact. (If this doesn't confirm it, then I have had some mistakes in my Scenario file and in these observations)
- Searching for possible issues in hiv.py, tb.py and malaria.py and fixing
- Re-running the scenario
- Raising PR with fixes
Activity