From c205da871937d3afdbcb2a8813fb70074c344f3a Mon Sep 17 00:00:00 2001 From: nnoori-IDM <42287387+nnoori-IDM@users.noreply.github.com> Date: Mon, 9 Mar 2026 13:49:32 -0700 Subject: [PATCH] use subtraction instead of ~ on uids --- hiud_acceptance.py | 13 ++++++++++--- interventions.py | 2 +- run_care_hiud_sensitivity.py | 11 +++++++++-- run_care_rate_sensitivity.py | 11 +++++++++-- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/hiud_acceptance.py b/hiud_acceptance.py index 764b2e1..d325ccd 100644 --- a/hiud_acceptance.py +++ b/hiud_acceptance.py @@ -24,11 +24,18 @@ INTV_YEAR = 2026 N_SEEDS = 5 -# Three care-seeking scenarios +# Care-seeking scenarios +# CARE_SCENARIOS = { +# '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), +# '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), +# '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), +# } + +# anemic and pain coefficients held fixed; only base rate varies CARE_SCENARIOS = { - '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), + '10%': sc.objdict(base=0.10, anemic=0.86, pain=0.37), '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), - '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), + '35%': sc.objdict(base=0.35, anemic=0.86, pain=0.37), } CARE_COLORS = { diff --git a/interventions.py b/interventions.py index ed37c23..054f6b7 100644 --- a/interventions.py +++ b/interventions.py @@ -386,7 +386,7 @@ def check_continuation(self): self._p_continue.set(p_continue) continuers = self._p_continue.filter(on_treatment_uids) - stops = on_treatment_uids & ~continuers + stops = on_treatment_uids - continuers # Update last cycle tracking: 1.0 = resolved, 0.0 = persisted self.hmb_last_cycle[on_treatment_uids] = (~hmb_this_cycle).astype(float) diff --git a/run_care_hiud_sensitivity.py b/run_care_hiud_sensitivity.py index 4889049..94bb20a 100644 --- a/run_care_hiud_sensitivity.py +++ b/run_care_hiud_sensitivity.py @@ -44,10 +44,17 @@ FIXED_ACCEPT = 0.50 # Care-seeking scenarios +# CARE_SCENARIOS = { +# '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), +# '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), +# '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), +# } + +# anemic and pain coefficients held fixed; only base rate varies CARE_SCENARIOS = { - '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), + '10%': sc.objdict(base=0.10, anemic=0.86, pain=0.37), '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), - '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), + '35%': sc.objdict(base=0.35, anemic=0.86, pain=0.37), } # hIUD uptake scenarios (acceptance probabilities from calibration with 50% fixed accept) diff --git a/run_care_rate_sensitivity.py b/run_care_rate_sensitivity.py index 32a8aa4..582390c 100644 --- a/run_care_rate_sensitivity.py +++ b/run_care_rate_sensitivity.py @@ -40,10 +40,17 @@ INTV_YEAR = 2026 # Care-seeking scenarios: combined (anemia + pain) reaches 46% for all +# CARE_SCENARIOS = { +# '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), +# '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), +# '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), +# } + +# anemic and pain coefficients held fixed; only base rate varies CARE_SCENARIOS = { - '10%': sc.objdict(base=0.10, anemic=1.43, pain=0.61), + '10%': sc.objdict(base=0.10, anemic=0.86, pain=0.37), '20%': sc.objdict(base=0.20, anemic=0.86, pain=0.37), - '35%': sc.objdict(base=0.35, anemic=0.32, pain=0.14), + '35%': sc.objdict(base=0.35, anemic=0.86, pain=0.37), } SCENARIO_LABELS = {