Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
796 commits
Select commit Hold shift + click to select a range
d740f1d
RF_Wast/pars: add parameter labels
EvaJanouskova Sep 26, 2025
2cb491b
wast: equipment for measurements logged at tx admission, conditionall…
EvaJanouskova Sep 26, 2025
e27a6e3
wast: add additional equipment identified in #1431
EvaJanouskova Sep 26, 2025
c48c715
RF_Wast/pars, Wast write-up: min_days_duration_of_wasting set to 31 (…
EvaJanouskova Sep 28, 2025
f4e5964
wast: reset progression date to sev wast for cases destined to die if…
EvaJanouskova Sep 28, 2025
e22e8a4
wast, RF_Wast/pars, & Wast write-up: growth monitoring updated accord…
EvaJanouskova Sep 29, 2025
9572e42
scenario_wast_min_model: 30K pop
EvaJanouskova May 19, 2025
e5e3a3b
calib_scenario_wast_min_mod: pars around previously calibrated values
EvaJanouskova May 19, 2025
57fb143
scenario_wast_min_mod: Scaling up
EvaJanouskova May 19, 2025
77b947d
wast, RF_Wast/params, test_wast: interv scaling up growth monitoring …
EvaJanouskova May 20, 2025
e00ba1d
scenario_wast_min_model: 4K pop; 4 draws--scaling up growth monitorin…
EvaJanouskova May 20, 2025
7cc6c4d
calib_scenario_wast_min_model: nicer values around previously calibra…
EvaJanouskova May 20, 2025
df4b4c3
new scenario_analysis_wasting: starting with calib_analysis_wast scri…
EvaJanouskova May 20, 2025
8b71c41
scenario_analysis_wast: 1) each draw and each run generating an outco…
EvaJanouskova May 20, 2025
c1fa69b
scenario_analysis_wast: 2) runs added into the draw analysis
EvaJanouskova May 20, 2025
9f478d5
analysis_utility_function: utility function script prepared by Joe sa…
EvaJanouskova May 21, 2025
ee0dc8c
scenario_wast_min_model: 30K pop; 4 draws (GM scenarios); 10 runs
EvaJanouskova May 21, 2025
1ee72a9
scenario_analysis_wasting renamed to -> intervention_analysis_wasting
EvaJanouskova May 26, 2025
8bb2266
run_interventions_analysis_wasting (to run analysis of multiple inter…
EvaJanouskova May 26, 2025
b3fa1ae
interv_analysis_wast: runs anlayses nested in draw analysis (to prepa…
EvaJanouskova May 26, 2025
ee0666f
interv_analysis_wast: leaving this as preliminary results plotting se…
EvaJanouskova May 26, 2025
a5a4c31
run_interv_analysis_wast & analysis_utility_fncs_wast: define folders…
EvaJanouskova May 27, 2025
6ba13e1
run_interv_analysis_wast & analysis_utility_fncs_wast: extract births…
EvaJanouskova May 30, 2025
d36cfea
run_interv_analysis_wast & analysis_utility_fncs_wast: plot Neonatal …
EvaJanouskova May 30, 2025
db191ee
wast: log wasting episodes lengths only at debug level
EvaJanouskova Jun 4, 2025
b90f66e
scenario_wast_full_model(SQ|GM): new (to log deaths from all modules)
EvaJanouskova Jun 4, 2025
5b05ada
analysis_utility_fncs_wast: Fix slicing of data by year indexes
EvaJanouskova Jun 8, 2025
8e12e3c
run_interv_analysis_wast: use input par not outer scope var within th…
EvaJanouskova Jun 8, 2025
6bd34d9
scenario_wast_full_model_(SQ|GM): 30K pop
EvaJanouskova Jun 8, 2025
247fa7a
analysis_utility_fncs_wast: fix data extraction (years taken from dat…
EvaJanouskova Jun 8, 2025
7c123a5
run_interv_analysis_wast & analysis_utility_fncs_wast: fix SQ plottin…
EvaJanouskova Jun 8, 2025
2bec02e
rm old analysis script
EvaJanouskova Jun 9, 2025
7e1894d
run_interv_analysis_wast & analysis_utility_fncs_wast: PEP8
EvaJanouskova Jun 9, 2025
7f61007
scenario_wast_full_model_(SQ|GM): update name for local output
EvaJanouskova Jun 9, 2025
c95ff60
wast, test_wast, pars: add care-seeking for MAM cases intervention
EvaJanouskova Jun 9, 2025
5ef30df
scenario_wast_full_model_(SQ|GM): 4K pop;
EvaJanouskova Jun 9, 2025
e4e5541
scenario_wast_full_model_(SQ|GM|CS): 30K pop
EvaJanouskova Jun 10, 2025
339481a
def test_symptoms_with_MAM() -- before interventions being activated,…
EvaJanouskova Jun 10, 2025
04edd2d
run_intervs_analysis_wast & analysis_utility_fncs_wast: minor (update…
EvaJanouskova Jun 10, 2025
807540f
scen_wast_full_model_GM: 7 runs of draw '0', 4K pop
EvaJanouskova Jun 10, 2025
3a500b8
scen_wast_full_model_CS: 100% MAM cases seeking care; 4K pop
EvaJanouskova Jun 10, 2025
a847555
scen_wast_full_model_CS: 100% MAM cases seeking care; 4K pop (a hack …
EvaJanouskova Jun 11, 2025
d77847f
scen_wast_full_model_CS: 100% MAM cases seeking care; 30K pop
EvaJanouskova Jun 11, 2025
df50bec
wast_analysis: add CS_100 scenario
EvaJanouskova Jun 11, 2025
8a22ee6
scenario_wast_full_model_GM: 5 runs of draw '0', 30K pop
EvaJanouskova Jun 11, 2025
148f2e9
scenario_wast_full_model_CS: short, small pop - to test submission sc…
EvaJanouskova Jun 12, 2025
b46017c
scenario_wast_full_model_CS: 4K pop, 2 draws, 3 runs - to test submis…
EvaJanouskova Jun 16, 2025
55fa472
wast_analyses/submission_scripts: creating submission scripts with pars
EvaJanouskova Jun 16, 2025
28c2007
wast_analyses/submission_scripts: save the working version (note: 1h …
EvaJanouskova Jun 17, 2025
cb3363c
scenario_wasting_full_model_CS: 2 draws, 10 runs 4K pop to the new su…
EvaJanouskova Jun 17, 2025
31583ef
wast_analyses/submission_scripts: job_script updated to run the actua…
EvaJanouskova Jun 17, 2025
372b423
wast_analyses/submission_scripts: create a submit_job script which wo…
EvaJanouskova Jun 17, 2025
8bd7f37
wast, test_wast, pars: add food supplements intervention assigning to…
EvaJanouskova Jun 17, 2025
bea023c
scenario_wasting_full_model_FS: new scenario
EvaJanouskova Jun 17, 2025
c4bf6d3
run_interv_analysis_wast: plot also SQ alone
EvaJanouskova Jun 17, 2025
3c5d1e1
run_interv_analysis_wast: combine both outcomes Neonatal & Under-5 of…
EvaJanouskova Jun 17, 2025
fcf8aee
run_interv_analysis_wast & analysis_utility_fncs_wast: all outcomes o…
EvaJanouskova Jun 18, 2025
f926f78
analysis_utility_fncs_wast: plot_avalability_heatmap (pre-Alpha versi…
EvaJanouskova Jun 19, 2025
b1517d3
analysis_utility_fncs_wast: heatmap working only for consumable items…
EvaJanouskova Jun 19, 2025
e12bdd5
analysis_utility_fncs_wast: minor (PEP8, rm unused vars, rename var, …
EvaJanouskova Jun 20, 2025
d5a0286
[tmp commit] generate_RF_Consumables_availability_all: new script to …
EvaJanouskova Jun 20, 2025
ee6ae1a
[tmp commit] RF_Consumables_availability_all: newly generated RF [wil…
EvaJanouskova Jun 20, 2025
c658d19
scenario_wast_full_model_FS: 30K pop, probs 70% and 100%
EvaJanouskova Jun 20, 2025
2221c27
wast: added person ids to a debug log
EvaJanouskova Jun 23, 2025
92b0ab3
scenarios wast_full_model: wasting logging.DEBUG
EvaJanouskova Jun 23, 2025
94f0a6a
analysis_utility_functions_wast: heatmap of availability of essential…
EvaJanouskova Jun 23, 2025
391fd35
heatmaps_cons_wast: new (mv here heatmaps from run_intervs_analysis_w…
EvaJanouskova Jun 23, 2025
4918451
analysis_utility_fncs_wast & heatmaps_cons_wast: heatmap of treatment…
EvaJanouskova Jun 23, 2025
b85a7d8
wast: updated cause of death name to follow the convention
EvaJanouskova Jun 27, 2025
e52bcdb
analysis_utility_fcns_wast & run_intervs_analysis_wast: add plot of m…
EvaJanouskova Jun 27, 2025
b77069c
wast: updated and added debug loggers
EvaJanouskova Jun 27, 2025
22bd94b
analysis_utility_fcns_wast & run_intervs_analysis_wast: deaths by cau…
EvaJanouskova Jun 27, 2025
704924e
generate_RF_Cons_avail_all & RF_Cons_avail_all: ensure Facility_ID an…
EvaJanouskova Jul 1, 2025
1e8f54e
[tmp commit] cons: override_availability also for items with missing …
EvaJanouskova Jun 19, 2025
75884ba
wast: description of logs with same key united
EvaJanouskova Jul 1, 2025
f4b249d
wast: add progression and recovery logs
EvaJanouskova Jul 1, 2025
23ee11c
[tmp commit] cons_avail_estimation: move the code generating RF_Cons_…
EvaJanouskova Jul 14, 2025
3951086
run_intervs_analysis_wast: update the script to plot and save either …
EvaJanouskova Jul 2, 2025
fa601ef
analysis_utility_fncs_wast & run_intervs_analysis_wast: add plots of …
EvaJanouskova Jul 2, 2025
6b517e7
run_intervs_analysis_wast: save the birth|death outcomes data to avoi…
EvaJanouskova Jul 2, 2025
084a5f5
scenario_wast_full_model(SQ|GM|CS|FS): add healthburden logging of DA…
EvaJanouskova Jul 3, 2025
09cc781
analysis_utility_fncs_wast: update plots of sum of deaths -- low and …
EvaJanouskova Jul 3, 2025
8f19bc6
analysis_utility_fncs_wast & run_intervs_analysis_wast: compare SQ mo…
EvaJanouskova Jul 3, 2025
576a36b
analysis_utility_fncs_wast & run_intervs_analysis_wast: compare SQ mo…
EvaJanouskova Jul 7, 2025
8a7e922
analysis_utility_fncs_wast: load UNICEF data from CSV file
EvaJanouskova Jul 7, 2025
04f8803
scenario_wast_full_model_(SQ|GM|CS|FS): call get_parameters_for_statu…
EvaJanouskova Jul 8, 2025
d4cc6d5
wast: bug fixed (age_grps defined for module not sim)
EvaJanouskova Jul 8, 2025
2da9e7b
analysis_utility_fncs_wast & scenario_wast_full_model_(SQ|GM|CS|FS): …
EvaJanouskova Jul 8, 2025
5722d81
scenario_wast_full_model_(SQ|GM|CS|FS): 30K pop
EvaJanouskova Jul 8, 2025
4d68058
analysis_utility_fncs_wast: add the sums to 'Sum of deaths' plots
EvaJanouskova Jul 9, 2025
08c65df
analysis_utility_fncs_wast: update the cause_of_death as changed in w…
EvaJanouskova Jul 9, 2025
6f3c657
analysis_utility_fncs_wast: declare more specifically what the extrac…
EvaJanouskova Jul 9, 2025
5a6562c
run_intervs_analysis_wast: add option to force recalculation (e.g., w…
EvaJanouskova Jul 9, 2025
effb101
analysis_utility_fncs_wast: descriptions for fncs extracting the outc…
EvaJanouskova Jul 9, 2025
2d8e1c9
run_intervs_analysis_wast: force_calculations not needed as it checks…
EvaJanouskova Jul 9, 2025
b975485
run_intervs_analysis_wast: fixed usage of input par
EvaJanouskova Jul 9, 2025
72d007b
analysis_utility_fncs_wast: shorten too long lines
EvaJanouskova Jul 10, 2025
41fbdea
analysis_utility_fncs_wast & run_intervs_analysis_wast: extract DALYs…
EvaJanouskova Jul 10, 2025
0ddd274
analysis_utility_fncs_wast: format input pars on separate lines for r…
EvaJanouskova Jul 10, 2025
7e6c008
analysis_utility_fncs_wast & run_intervs_analysis_wast: plot mean DALYs
EvaJanouskova Jul 10, 2025
a66b594
analysis_utility_fncs_wast & run_intervs_analysis_wast: plot sum of D…
EvaJanouskova Jul 10, 2025
b26b8ae
analysis_utility_fncs_wast & run_intervs_analysis_wast: plot mean dea…
EvaJanouskova Jul 12, 2025
4787eb7
analysis_utility_fncs_wast: update extract_daly.. fnc description
EvaJanouskova Jul 15, 2025
ea0f25e
scenario_wast_full_model_(SQ|GM|CS|FS): add healthsystem.summary logging
EvaJanouskova Jul 15, 2025
e25fd6f
scenario_wast_full_model_(SQ|GM|CS|FS): 4K pop
EvaJanouskova Jul 15, 2025
be1ad5d
scenario_wast_full_model_(SQ|GM|CS|FS): 30K pop (hs.summary logging)
EvaJanouskova Jul 15, 2025
e8f6c67
scenario_wast_full_model_(SQ|GM|CS|FS): 4K pop & resourcefilepath not…
EvaJanouskova Jul 15, 2025
310748d
scenario_wast_full_model_(SQ|GM|CS|FS): 30K pop (hs.summary logging &…
EvaJanouskova Jul 15, 2025
4542be4
analysis_utility_fncs_wast: update var name (sum over interv years, n…
EvaJanouskova Jul 15, 2025
e70c325
analysis_utility_fncs_wast: plot averted outcome_type
EvaJanouskova Jul 16, 2025
35bed22
run_costing_analysis_wast: raw costing_analysis script to be adapted …
EvaJanouskova Jul 16, 2025
5ab6e61
analysis_utility_fncs_wast: correct text high for averted_sum
EvaJanouskova Jul 16, 2025
a4e3969
new scenario: combination of GM & CS; 4K pop
EvaJanouskova Jul 16, 2025
aba59b8
scenario_wast_full_model_FS: comment updated
EvaJanouskova Jul 16, 2025
3d7ce46
new scenario: combination of GM & FS; 4K pop
EvaJanouskova Jul 16, 2025
8358adc
new scenario: combination of CS & FS; 4K pop
EvaJanouskova Jul 16, 2025
4633de3
new scenario: combination of GM & CS & FS; 4K pop
EvaJanouskova Jul 16, 2025
625b48e
analysis_utility_fncs_wast: minor updates in plots of averted outcome…
EvaJanouskova Jul 16, 2025
76e578a
run_costing_analysis_wast: rm unused imports; update results_folder; …
EvaJanouskova Jul 16, 2025
47af016
scenario_wast_full_model combinations: 30K pop
EvaJanouskova Jul 16, 2025
6b5f605
analysis_utility_fncs_wast: hard coded cost-effectiveness plot (TODO:…
EvaJanouskova Jul 17, 2025
9c9e671
analysis_utility_fncs_wast: correct calculation of mean sum over runs…
EvaJanouskova Jul 23, 2025
2f90c83
run_intervs_analysis_wast: averted deaths and DALYs and cost-effectiv…
EvaJanouskova Jul 23, 2025
87c8b13
run_costing_analysis_wast: update costing running script for wasting …
EvaJanouskova Jul 23, 2025
e6bd594
analysis_utility_fncs_wast & run_intervs_analysis_wast: 3% DALY disco…
EvaJanouskova Aug 4, 2025
be87ade
test_wast: refine and correct test_symptoms_with_MAM description
EvaJanouskova Aug 18, 2025
a68067c
run_costing_analysis_wast: rm unused imports
EvaJanouskova Aug 25, 2025
fe2c930
wast, test_wast, Wast write-up: re-design tx outcomes to be continuous
EvaJanouskova Aug 25, 2025
1592706
wast: specify age categories in par name
EvaJanouskova Aug 26, 2025
67b72b7
wast: did_not_run() needs to be called without input pars
EvaJanouskova Aug 26, 2025
a9bdc08
scenario_wast: reorganise scenario files
EvaJanouskova Aug 26, 2025
403edda
utils: create_pickles_locally()---add level as input par (default: lo…
EvaJanouskova Aug 27, 2025
049714c
wast: rm redundant "date" loggings; fix par name in read_parameters()…
EvaJanouskova Aug 27, 2025
52b9ff4
run_intervs_analysis_wast & analysis_utility_fncs_wast: regenerate pi…
EvaJanouskova Aug 27, 2025
693ad8f
calib_analysis_wast: update for latest sims
EvaJanouskova Aug 30, 2025
01fed46
analysis_utility_fncs_wast, run_costing_analysis_wast, run_intervs_an…
EvaJanouskova Aug 31, 2025
768234d
[skip ci] [tmp] scen_wast_full_model_SQ: 4 runs
EvaJanouskova Aug 31, 2025
ab8e20b
Revert "[tmp] scen_wast_full_model_SQ: 4 runs"
EvaJanouskova Aug 31, 2025
7f00fa1
run_interv_analysis_wast: minor (typo in a print)
EvaJanouskova Aug 31, 2025
1344c36
run_interv_analysis_wast: add logic to check and regenerate log pickles
EvaJanouskova Sep 1, 2025
88a5a1e
analysis_utility_fncs_wast: plot_availability_heatmaps--add heatmaps …
EvaJanouskova Sep 2, 2025
da38e6a
analysis_utility_fncs_wast: plot_availability_heatmaps--x-axis labels…
EvaJanouskova Sep 2, 2025
eb57427
analysis_utility_fncs_wast: plot_availability_heatmaps--all heatmaps …
EvaJanouskova Sep 2, 2025
70bb8f8
analysis_utility_fncs_wast: plot_availability_heatmaps--2a) add avera…
EvaJanouskova Sep 3, 2025
de08270
run_interv_analysis_wast: minor (update prints)
EvaJanouskova Sep 3, 2025
5f8099a
calib_analysis_wast: model_gbd_deaths--update plot labels and title
EvaJanouskova Sep 4, 2025
6e3c05a
calib_analysis_wast: model_gbd_deaths--rm footnote
EvaJanouskova Sep 4, 2025
84a7d02
wast: minor (update a par description)
EvaJanouskova Sep 4, 2025
7c12c3a
heatmaps_cons_wast: update outcomes folder
EvaJanouskova Sep 5, 2025
0b0ee30
heatmaps_cons_wast: add A3 & B3 heatmaps of ess cons & tx at requeste…
EvaJanouskova Sep 5, 2025
a5881cf
wast & RF_Wast/pars: adjust tx length and distinguish prob of death f…
EvaJanouskova Sep 8, 2025
5950db1
wast, RF_Wast/pars & test_wast: adjust tx length and prob of death fo…
EvaJanouskova Sep 8, 2025
f150be3
test_wast: unite the way to check presence/absence of acute malnutrit…
EvaJanouskova Sep 9, 2025
02c48bc
wast: clear symptoms only for some cases when recovered to MAM
EvaJanouskova Sep 9, 2025
79bef9b
[skip ci] scenario_wast_full_model: since logs are now recorded on 1s…
EvaJanouskova Sep 9, 2025
ce97d54
[skip ci] 4K/scenario_wast_full_model_SQ: correction--end year 2031, …
EvaJanouskova Sep 9, 2025
20b2955
RF_Wast/wast_prev_and_sample_size: update years to reflect logs are n…
EvaJanouskova Sep 9, 2025
84fccfd
calib_analysis_wast: updated for logs moved to 1st Jan (ie calib year…
EvaJanouskova Sep 10, 2025
e8b7384
[skip ci] wast_analyses/scenarios: update the commands for job submis…
EvaJanouskova Sep 10, 2025
a56a4b4
calib_analysis_wast: rm footnotes from plots; update GBD label to inc…
EvaJanouskova Sep 11, 2025
4f7bee6
analysis_utility_fncs_wast & run_interv_analysis_wast: use interventi…
EvaJanouskova Sep 12, 2025
a839703
[tmp] test_wast: tmp fix for non-determinism in health-care seeking
EvaJanouskova Sep 14, 2025
42455aa
calib_analysis_wast: rm footnotes and/or reserved space; comment out …
EvaJanouskova Sep 14, 2025
83033aa
wast, test_wast, RF_Wast/pars: rename seeking_care_MAM_prob to awaren…
EvaJanouskova Sep 15, 2025
4b45e51
analysis_utility_fncs_wast: few more fig titles commented out
EvaJanouskova Sep 15, 2025
0f67ff6
[skip ci] scen_wast: add 250K scenarios
EvaJanouskova Sep 16, 2025
0ceb548
[skip ci] scen_wast: update changed par name interv_awareness_MAM_pro…
EvaJanouskova Sep 17, 2025
97c4d69
[skip ci] scen_wast: add 100K scenarios
EvaJanouskova Sep 17, 2025
8d8e0b6
[skip ci] wast: minor (rm old commented code; update a comment)
EvaJanouskova Sep 17, 2025
98e97af
[skip_ci] analysis_utility_fncs_wast: add prints of net health benefi…
EvaJanouskova Sep 19, 2025
85dc955
wast: return event to activate intervs (accidentally removed during r…
EvaJanouskova Sep 19, 2025
88e2bf7
wast: fix alignment (log length and reset recovery tracker only if no…
EvaJanouskova Sep 19, 2025
d016f55
wast: PEP8; comment updated
EvaJanouskova Sep 19, 2025
308b7ec
Revert "[tmp] test_wast: tmp fix for non-determinism in health-care s…
EvaJanouskova Sep 23, 2025
b8dc733
test_wast: make non-emergency care event assertions order-independent…
EvaJanouskova Sep 23, 2025
72f175c
test_wast: rm unused variable
EvaJanouskova Sep 23, 2025
4b8eed4
wast: fix tx bug (if complications not resolved -> another round of I…
EvaJanouskova Sep 26, 2025
98d4226
RF_Wast/pars: fix rebase error (interv pars defaulted to original val…
EvaJanouskova Sep 26, 2025
03b395d
RFwast/pars: fix mistakes from rebase (some notes in multiple columns…
EvaJanouskova Sep 28, 2025
7cd8b10
wast: PEP8
EvaJanouskova Sep 28, 2025
0dd3f94
RF_Wast/pars: fix rebase error (interv pars defaulted to original val…
EvaJanouskova Sep 29, 2025
fb0c868
create_RF_cons_avail_small_FSinterv & RF_Cons_avail_small_FSinterv.cs…
EvaJanouskova Sep 29, 2025
9b110f3
2K/scen_wast_full_model_SQ_2ys: correct nmb of ys simulated
EvaJanouskova Sep 29, 2025
a534627
2K/scen_wast_full_model_FS_2ys: add new scen (interv from 2011)
EvaJanouskova Sep 29, 2025
b00a752
Revert "[tmp commit] cons: override_availability also for items with …
EvaJanouskova Sep 29, 2025
9f514aa
[tmp hack] cons, hsi_event, wast, & test_hs: return true/false based …
EvaJanouskova Sep 30, 2025
7663bf6
Revert "create_RF_cons_avail_small_FSinterv & RF_Cons_avail_small_FSi…
EvaJanouskova Sep 30, 2025
be77268
scen_wast_full_model: add 100K scenarios with combined interventions
EvaJanouskova Sep 30, 2025
bc0450c
scen_wast_full_model: set 10 runs per draw for 2K scenarios
EvaJanouskova Sep 30, 2025
4256af5
[skip_ci] scen_wast_full_model_SQ_1y: 4 runs per draw
EvaJanouskova Sep 30, 2025
73ff4ae
[skip_ci] scen_wast_full_model: 100 runs per draw for all 100K jobs
EvaJanouskova Oct 1, 2025
fd5ecd8
analysis_utility_fncs_wast: minor (comments noting the sums are means…
EvaJanouskova Oct 1, 2025
817ee61
analysis_utility_fncs_wast: CET value defined and applied across all …
EvaJanouskova Oct 2, 2025
0245222
[tmp hack] hsi_event, test_hs: access Wasting parameters only if Wast…
EvaJanouskova Oct 2, 2025
9322617
wast & Wast write-up: TODOs moved to the Issue #1481 with leftovers f…
EvaJanouskova Oct 4, 2025
6a55175
run_intervs_analysis_wast & analysis_utility_fncs_wast: add implement…
EvaJanouskova Oct 6, 2025
871f0e4
run_intervs_analysis_wast & analysis_utility_fncs_wast: fix interv ye…
EvaJanouskova Oct 6, 2025
b4fc0e5
analysis_utility_fncs_wast: calculate FS implementation costs same as…
EvaJanouskova Oct 6, 2025
9b59b19
analysis_utility_fncs_wast: updated implementation costs table
EvaJanouskova Oct 6, 2025
60de6f0
analysis_utility_fncs_wast, run_intervs_analysis_wast, run_costing_an…
EvaJanouskova Oct 10, 2025
73be210
analysis_utility_fncs_wast, run_intervs_analysis_wast, run_costing_an…
EvaJanouskova Oct 10, 2025
c1d88eb
calib_analysis_wast: comment unused plots, updated as init prev and p…
EvaJanouskova Oct 10, 2025
678ff53
analysis_utility_funcs_wast & run_intervs_analysis_wast: calculate av…
EvaJanouskova Oct 11, 2025
4484d3f
analysis_utility_funcs_wast: CE plane -updated with full 20 runs and …
EvaJanouskova Oct 13, 2025
485ddd0
wast submission_scripts: rm old scripts
EvaJanouskova Nov 1, 2025
b5ff08c
wast submission_scripts: added script to submit jobs & script to down…
EvaJanouskova Nov 1, 2025
1177929
analysis_utility_fncs_wast: add timestamp suffix to CE tables
EvaJanouskova Nov 1, 2025
9fe48eb
calib_analysis_wast: add data names, and make the labels consistent
EvaJanouskova Nov 1, 2025
815b6a9
wast: update properties descriptions
EvaJanouskova Nov 5, 2025
c194942
analysis_utility_fncs_wast & run_intervs_analysis_wast: extract direc…
EvaJanouskova Nov 5, 2025
926442a
run_costing_analysis_wast: if this script called, if input and output…
EvaJanouskova Nov 5, 2025
6fd839b
analysis_utility_fncs_wast: use abbreviations for Months (Jan, Feb, .…
EvaJanouskova Nov 6, 2025
2e0f485
analysis_utility_fncs_wast & run_intervs_analysis_wast: separate forc…
EvaJanouskova Nov 12, 2025
90d7226
implem_cost: script to print some statistics from nutritional data
EvaJanouskova Nov 27, 2025
c36c8c1
implem_cost: print statistics only considering projects with positive…
EvaJanouskova Nov 27, 2025
ed086a0
implem_cost: print statistics only considering projects with positive…
EvaJanouskova Nov 27, 2025
a1e5e7f
implem_cost: do not print decimals
EvaJanouskova Nov 27, 2025
922d866
implem_cost: separate lowest/highest 5 values with semicolon
EvaJanouskova Nov 27, 2025
3c19620
implem_cost: add medians
EvaJanouskova Nov 27, 2025
4e95eca
implem_cost: update print
EvaJanouskova Nov 27, 2025
0f9197d
analysis_utility_fncs_wast: sensitivity to impl costs; unit costs & C…
EvaJanouskova Nov 28, 2025
aad2e24
analysis_utility_fncs_wast: sensitivity ce planes as one plot
EvaJanouskova Nov 28, 2025
a08233e
run_intervs_analysis_wast: CE sensitivity plot instead of CE plane
EvaJanouskova Nov 28, 2025
0b2e74d
analysis_utility_fncs_wast: adjust labels and fig name for CE sensiti…
EvaJanouskova Nov 28, 2025
a54def2
analysis_utility_fncs_wast: preserve proportion of individual CE plan…
EvaJanouskova Nov 28, 2025
7b6291f
analysis_utility_fncs_wast: reduce spaces between columns
EvaJanouskova Nov 28, 2025
da6558d
analysis_utility_fncs_wast: update domination for all sensitivity CE …
EvaJanouskova Nov 28, 2025
4e5963b
analysis_utility_fncs_wast: total cost sensitivity table
EvaJanouskova Dec 2, 2025
aa22966
analysis_utility_fncs_wast: correct ICERs (calculated compared to pre…
EvaJanouskova Dec 2, 2025
e43caa2
analysis_utility_fncs_wast: scenarios full names in CE plane
EvaJanouskova Dec 2, 2025
962e230
analysis_utility_fncs_wast: averted DALYs and costs in millions in CE…
EvaJanouskova Dec 3, 2025
8c15d94
analysis_utility_fncs_wast: scenario_label_map & apply_millions_forma…
EvaJanouskova Dec 4, 2025
906e70c
calib_analysis_wast: plot incidence only up to 2030
EvaJanouskova Dec 4, 2025
2d17c25
analysis_utility_fncs_wast: use always only the simple apply_millions…
EvaJanouskova Dec 4, 2025
e326b15
analysis_utility_fncs_wast: averted deaths difference betw. scenario …
EvaJanouskova Dec 10, 2025
4181608
run_intervs_analysis_wast & analysis_utility_fncs_wast: plot averted …
EvaJanouskova Dec 18, 2025
3f9091f
calib_mean_CI_analysis_wast: new script - to be rewritten to use all …
EvaJanouskova Jan 13, 2026
6fb6499
analysis_utility_fncs_wast: no truncation to zero; medical consumable…
EvaJanouskova Jan 19, 2026
263d8be
analysis_utility_fncs_wast: introduce standard rounding; CET without …
EvaJanouskova Jan 19, 2026
0f84763
analysis_utility_fncs_wast: total_cost_sensitivity_table renamed to .…
EvaJanouskova Jan 20, 2026
aee5ff6
analysis_utility_fncs_wast: mapping total cost also per 1 year per in…
EvaJanouskova Jan 20, 2026
259575b
analysis_utility_fncs_wast: (1) FS unit cost shifted from 'per parent…
EvaJanouskova Jan 30, 2026
fd55da5
RF_Costing_Consumables: SAM medicines price per unit updated (after c…
EvaJanouskova Jan 30, 2026
c22a75c
calib_mean_CI_analysis_wast: rm code not intending to use
EvaJanouskova Jan 30, 2026
dd89aba
analysis_utility_fncs_wast: typo
EvaJanouskova Feb 2, 2026
45e39f2
analysis_utility_fncs_wast: rm unused code; start working on plot_cal…
EvaJanouskova Feb 3, 2026
4bd31b0
new: plot_calib_outputs__using_analysis_utility_fncs_wast.py
EvaJanouskova Feb 3, 2026
b9acdff
run_intervs_analysis_wast: load/save pop_size_data & call them for pl…
EvaJanouskova Feb 9, 2026
64e472a
plot_calib_outputs & analysis_utility_fncs_wast: the plot script prin…
EvaJanouskova Feb 10, 2026
ae08e24
calib_analysis_wast: plot_model_gbd_deaths_excl_burnin_period updated…
EvaJanouskova Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
resources/** filter=lfs diff=lfs merge=lfs -text
resources/**/*.md !filter !diff !merge !text
3 changes: 0 additions & 3 deletions docs/write-ups/ChildhoodUndernutrition.docx

This file was deleted.

3 changes: 3 additions & 0 deletions docs/write-ups/Stunting.docx
Git LFS file not shown
3 changes: 3 additions & 0 deletions docs/write-ups/Wasting.docx
Git LFS file not shown
2 changes: 1 addition & 1 deletion docs/writeups.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Conditions of Early Childhood

* **Diarrhoea**: Childhood diarrhoea caused by virus or bacteria resulting in dehydration, and the treatments associated. :download:`.docx <./write-ups/Diarrhoea.docx>`

* **Childhood Undernutrition**: Acute and chronic undernutrition and its effects of Wasting and Stunting. :download:`.docx <./write-ups/ChildhoodUndernutrition.docx>`
* **Childhood Undernutrition**: Acute and chronic undernutrition and its effects of Wasting :download:`.docx <./write-ups/Wasting.doc>` and Stunting :download:`.docx <./write-ups/Stunting.docx>`.


Communicable Diseases
Expand Down
3 changes: 0 additions & 3 deletions resources/ResourceFile_Stunting/Cover Sheet.csv

This file was deleted.

3 changes: 3 additions & 0 deletions resources/ResourceFile_Wasting/parameters.csv
Git LFS file not shown
Git LFS file not shown
4 changes: 2 additions & 2 deletions resources/costing/ResourceFile_Costing_Consumables.csv
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
"""
This script generates estimates of availability of consumables used by disease modules:

* ResourceFile_Consumables_availability_small.csv (estimate of consumable available - file for use in the
simulation).
* ResourceFile_Consumables_availability_small.csv (estimate of consumable availability for items with availability data
- smaller file).
* ResourceFile_Consumables_availability_all.csv (use estimates of consumable availability for items with availability
data from the RF..._small, and approximate availability for items without availability data, approximation by
average availability at the Facility_ID and month - smaller file).
* ResourceFile_Consumables_Inflow_Outflow_Ratio.csv (a file that gives the ratio of inflow of consumables to outflow to
* capture the extent of wastage as a proportion of use for each consumable by month, district and level.


N.B. The file uses `ResourceFile_Consumables_matched.csv` as an input.
N.B.
The script uses `ResourceFile_LMIS_2018.csv`, `ResourceFile_Consumables_matched.csv`,
`ResourceFile_hhfa_consumables.xlsx`, `ResourceFile_Master_Facilities_List.csv`,
`ResourceFile_Population_2010.csv`, and 'ResourceFile_Consumables_Items_and_Packages.csv' as inputs.

It creates one row for each consumable for availability at a specific facility and month when the data is extracted from
the OpenLMIS dataset and one row for each consumable for availability aggregated across all facilities when the data is
Expand Down Expand Up @@ -705,7 +711,7 @@ def get_inflow_to_outflow_ratio_by_item_and_facilitylevel(_df):
print(stkout_df.loc[(~(stkout_df.available_prop >= 0.0)) | (~(stkout_df.available_prop <= 1.0))].available_prop)
assert not stkout_df.duplicated(['fac_type_tlo', 'fac_name', 'district', 'month', 'item_code']).any(), "No duplicates"

# --- 6.7 Generate file for use in model run --- #
# --- 6.7 Generate file including only item_codes with availability data --- #
# 1) Smaller file size
# 2) Indexed by the 'Facility_ID' used in the model (which is an amalgmation of district and facility_level, defined in
# the Master Facilities List.
Expand Down Expand Up @@ -888,6 +894,61 @@ def interpolate_missing_with_mean(_ser):
index=False
)

# --- 6.8 Generate file including both item_codes with and without availability data --- #
# - for use in model run
# 1) Smaller file size
# 2) Indexed by the 'Facility_ID' used in the model (which is an amalgmation of district and facility_level, defined in
# the Master Facilities List.
# 3) if item_code in ResourceFile_Consumables_availability_small.csv, use those availability estimates,
# if item_code in ResourceFile_Consumables_Items_and_Packages.csv, but not in
# ResourceFile_Consumables_availability_small.csv, approximate the availability by average availability at the
# 'Facility_ID' and 'month'

# Load the CSV files
items_and_packages = pd.read_csv(path_for_new_resourcefiles /'ResourceFile_Consumables_Items_and_Packages.csv')
availability_small = pd.read_csv(path_for_new_resourcefiles /'ResourceFile_Consumables_availability_small.csv')

# Extract all item codes from the RF Items_and_Packages
all_item_codes = set(items_and_packages['Item_Code'])

# Extract item codes with availability data from RF availability_small
available_item_codes = set(availability_small['item_code'])

# Find missing item codes
missing_item_codes = all_item_codes - available_item_codes

# Calculate average availability for each combination of 'Facility_ID' and 'month'
avg_availability = (
availability_small.groupby(['Facility_ID', 'month'])['available_prop']
.mean()
.reset_index()
.rename(columns={'available_prop': 'avg_available_prop'})
)

# Create rows for missing item codes
missing_rows = []
for item_code in missing_item_codes:
for _, row in avg_availability.iterrows():
missing_rows.append({
'Facility_ID': row['Facility_ID'],
'month': row['month'],
'item_code': item_code,
'available_prop': row['avg_available_prop']
})

# Convert missing rows to a DataFrame
missing_df = pd.DataFrame(missing_rows)

# Combine the original availability data with the missing rows
availability_all = pd.concat([availability_small, missing_df], ignore_index=True)

# Ensure Facility_ID and month columns are integers before saving
availability_all['Facility_ID'] = availability_all['Facility_ID'].astype(int)
availability_all['month'] = availability_all['month'].astype(int)

# Save the new file
availability_all.to_csv(path_for_new_resourcefiles / 'ResourceFile_Consumables_availability_all.csv', index=False)

# %%
# 7. COMPARISON WITH HHFA DATA, 2018/19 ##
#########################################################################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
HealthSystem availability - including the effects of Diarrhoea and Alri and all the Labour modules.

Run on the batch system using:
```tlo batch-submit src/scripts/undernutrition_analyses/stunting/stunting_analysis_scenario.py```
```tlo batch-submit src/scripts/stunting_analyses/stunting/stunting_analysis_scenario.py```

Or locally using:
```tlo scenario-run src/scripts/undernutrition_analyses/stunting/stunting_analysis_scenario.py```
```tlo scenario-run src/scripts/stunting_analyses/stunting/stunting_analysis_scenario.py```
"""

from pathlib import Path
Expand Down
94 changes: 94 additions & 0 deletions src/scripts/wasting_analyses/add_pars_page_ToAllPDFs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
import itertools
import re
import sys
from io import BytesIO
from pathlib import Path

from PyPDF2 import PdfReader, PdfWriter
from reportlab.pdfgen import canvas

# Define the parameter values in a dictionary
parameters = {
"base_death_rate_untreated_sam": [0.01, 0.03, 0.05, 0.08, 0.1],
"mod_wast_incidence__coef": [0.1, 0.3, 0.5, 0.7, 0.9],
"progression_to_sev_wast__coef": [1, 5, 10, 15, 20],
"prob_death_after_SAMcare__as_prop_of_death_rate_untreated_sam": [0.85, 0.7, 0.55, 0.4]
}

# Create the parameter combinations
param_names = list(parameters.keys())
param_values = list(parameters.values())
pars_combinations = list(itertools.product(*param_values))

# Function to create a PDF with parameter values
def create_parameter_page(params):
buffer = BytesIO()
c = canvas.Canvas(buffer, pagesize=(200, 45)) # Smaller page size
c.setFont("Helvetica", 5) # Set font and size
y_position = 35
for name, value in zip(param_names, params):
c.drawString(10, y_position, f"{name} = {value}")
y_position -= 10 # Move down for the next parameter
c.showPage()
c.save()
buffer.seek(0)
return buffer

# Base directory path
BASE_PATH = Path("/home/eva/PycharmProjects/TLOmodel/outputs/sejjej5@ucl.ac.uk/wasting/")

# Function to extract the indices from the file name
def extract_indices(file_name):
match = re.search(r'_(\d+)_(\d+)\.pdf$', file_name)
return (int(match.group(1)), int(match.group(2))) if match else (-1, -1)

# Process each PDF
def process_pdfs(in_folder_name):
pdf_dir = BASE_PATH / in_folder_name / "_outcome_figures"
output_dir = BASE_PATH / in_folder_name / "_outputs_with_pars"
output_dir.mkdir(exist_ok=True)
print(f"Processing PDFs in directory: {pdf_dir}")

pdf_files = list(pdf_dir.glob("*.pdf"))
if not pdf_files:
print("No PDF files found in the directory.")
return

# Sort the PDF files by the extracted indices
pdf_files.sort(key=lambda x: extract_indices(x.name))

# Extract the draw indices from the file names
existing_draws = {extract_indices(pdf_file.name)[0] for pdf_file in pdf_files}

# Filter out the parameter combinations for the missing draws
filtered_pars_combinations = [params for i, params in enumerate(pars_combinations) if i in existing_draws]

for pdf_file, params in zip(pdf_files, filtered_pars_combinations):
print(f"Processing file: {pdf_file}")
reader = PdfReader(str(pdf_file))
writer = PdfWriter()

# Create the parameter page
parameter_page = create_parameter_page(params)
parameter_reader = PdfReader(parameter_page)
writer.add_page(parameter_reader.pages[0])

# Add the original pages
for page in reader.pages:
writer.add_page(page)

# Save the new PDF with _pars added to the original name
output_pdf = output_dir / f"{pdf_file.stem}_pars.pdf"
with open(output_pdf, "wb") as f:
writer.write(f)
print(f"Saved updated PDF: {output_pdf}")

print("PDFs have been updated with parameter pages.")

if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python add_pars_page_ToAllPDFs.py <folder_name>")
else:
folder_name = sys.argv[1]
process_pdfs(folder_name)

Loading
Loading