This is a review inventory only. No R code has been refactored yet.
The companion CSV is
docs/hardcoded_assumption_candidates.csv. It is structured
so approved rows can become the starting point for a real
data/raw/helpers/model_assumptions.csv or similar input
file.
| Area | Candidate assumptions |
|---|---|
| Global comparison setup | Discount rate 0.03, base year 2023,
comparison scenarios IC vs CC_2022,
GC7/GC8/full-period year definitions |
| TGF weighting | Total investment $18B, disease shares
HIV 0.48, TB 0.21, Malaria 0.31,
weighting years 2027-2029, TGF percent-cost cap
1 |
| Productivity | Wage adjustment factors HIV 0.75, TB 0.5,
Malaria 0.5; work days per year 230; TB
duration 60; malaria regular/severe durations
3/10; HIV symptomatic relative productivity
0.85 |
| HIV DALYs | HIV disability weights, ART 50/50 mix, CD4/no-treatment indicator mapping into symptomatic and AIDS-not-in-care states |
| Life table and working life | PoD age mapping, 5-year/2.5-year RLE interval calculation, HIV/TB
terminal working age 65, child lag-to-work values, malaria
75% working-life shortcut, malaria 15+ proxy age 30 |
| VSL/VSLY | VSL income elasticity 1.5, US VSL 2023
$12.31M, VSLY denominator as 0.5 * LEB22, WEO
projection years and Eritrea backfill |
| TB-specific cost adjustment | Reverse inflation adjustment 0.02 for TB costs after
2022 |
These are hard-coded but probably belong in reporting or data-cleaning config rather than a model-assumptions CSV:
1,000,000,000 for reporting
billions.options(scipen = 999).For the actual input file, I would split assumptions into a few tidy tables rather than forcing everything into one wide row:
assumption_idscope: global, hiv,
tb, malaria, weo_vsl,
life_table, reportingparametervaluevalue_type: number, string,
year_list, mappingunitsdescriptionsource_or_noteSome rows are simple scalar assumptions, like
discount_rate = 0.03. Others are better as lookup/mapping
rows, especially period years, age mappings, disease shares, HIV
indicator mappings, and child lag-to-work values.