Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Health Impact of Realistic Consumable Availability Scenarios #1367

Draft
wants to merge 90 commits into
base: master
Choose a base branch
from

Conversation

sakshimohan
Copy link
Collaborator

@sakshimohan sakshimohan commented May 22, 2024

This PR estimates the health impact of increasing consumable availability to realistic levels. Realistic levels lie somewhere between default and all as predicted by the regression model or by assuming that all facilities perform as well as the facility at the nth percentile in terms of consumable availability.

Changes:

  1. Add scripts to prepare HHFA data and run regression analysis to determine factors associated with consumable availability
  2. Update ResourceFile_consumables_matched.csv to include a crosswalk between names of consumables in the TLO model and that under HHFA
  3. Predict change in consumable availability under various scenarios
  4. Change healthsystem.py and consumables.py to accommodate specification of which consumable availability estimates to use
  5. Introduce a scenario which runs the model with a different set of availability estimates from the original estimates.

Pending tasks:

  • rename the scenarios for the cons_availability argument with an informative name

@sakshimohan sakshimohan self-assigned this May 22, 2024
sm2511 added 16 commits May 22, 2024 19:29
- some CMD and Reproductive health consumables were classified as "not relevant to regression analysis" and therefore assume not change to availability. This has been removed. We now assume that their availability changes in proportion to the average increase in the odds of availability across all consuamables.
- this equates the probability of availability to be equal to that of the 75th, 90th and 99th percentile facility (in terms of the mean vale of `available_prop` within the corresponding level; only availability of facilities in levels 1a and 1b are updated
- {'Facility_ID', 'month', 'item_code', 'available_prop'} only need to be a subset of all the columns because there may be additional scenario columns
- previously for each level of care, one best performing facility was chosen based on the average consumable availability across all item_codes; Now a different best performing facility is chosen for each level for each item_code, giving a greater improvement in available_prop
@sakshimohan
Copy link
Collaborator Author

sakshimohan commented Jun 6, 2024

Final set of consumable availability under various scenarios. All scenarios only affect levels 1a and 1b:

  1. Non-therapeutic consumables (scenario1): All items perform as well as consumables other than therapeutics
  2. Vital medicines (scenario2): 1 + All items perform as well as consumables classified as 'Vital' in the Essential Medicines List
    3.Pharmacist-managed (scenario3(: 2 + All facilities perform as well as those in which consumables stock is managed by pharmacists
  3. Level 1b (scenario4(: 3 + Level 1a facilities perform as well as level 1b
  4. CHAM (scenario5): 4 + All facilities perform as well as CHAM facilities
  5. 75th percentile facility (scenario6):: All facilities have the same probability of consumable availability as the 75th percentile best performing facility for each individual consumable
  6. 90th percentile facility (scenario7): All facilities have the same probability of consumable availability as the 90th percentile best performing facility for each individual consumable
  7. Best facility (scenario8): All facilities have the same probability of consumable availability as the 99th percentile best performing facility for each individual consumable
  8. Best facility (including DHO) (scenario9): All facilities have the same probability of consumable availability as the 99th percentile best performing facility for each individual item (including level 2)
  9. HIV-supply chain (scenario10): Availability of all consumables increased to match Maximum(original availability, average availability of HIV consumables (at the corresponding Facility_Level))
  10. EPI-supply chain (scenario11): Availability of all consumables increased to match Maximum(original availability, average availability of EPI consumables (at the corresponding Facility_Level))
  11. HIV moved to Govt. supply chain (scenario12): Availability of HIV consumables reduced to match Minimum(original availability, average availability of consumables other than HIV, EPI and Cancer* (at the corresponding Facility_Level))
  • Cancer removed because it brings the average down significantly due to low availability at these levels.

The following figures summarise:

  1. Average availability by program and scenario (Level 1a)
    consumable_availability_heatmap_1a

  2. Average availability by program and scenario (Level 1b)
    consumable_availability_heatmap_1b

  3. Average availability by scenario (ALL LEVELS)
    scenarios_average_availability

sakshimohan added 25 commits September 6, 2024 16:44
 + update column names and script for clarity
- scenario 10 - availability increased to that of HIV
- scenario 11 - availability increased to that of EPI
- scenario 12 - availability of HIV decreased to that of other
+ update check format to accommodate versions of the RF without all availability columns

This makes sure that the `check_format_of_consumables_file` function works for the dataframe created by consumable_availability_estimation.py and not just generate_consumable_availability_scenarios_for_impact_analysis.py
..and avoid instances of consumable availability falling below govt. supply chain levels when updating the constraint.
@sakshimohan
Copy link
Collaborator Author

Hi @tbhallett. Following our discussion of whether to add any scenarios for the FCDO analysis, this branch contains the consumable availability scenarios which I used to run the analysis I presented at the Think Tank. The list of scenarios and their description is provided here - #1367 (comment)

One change I have made since last week is updating scenarios 10-12 so that the final probability of availability is the maximum or minimum of the original value and the average of the relevant high- (or low) performing supply chain, as opposed to simply the latter regardless of the original probability.

@sakshimohan
Copy link
Collaborator Author

Hi @marghe-molaro. Responding to your question on slack here.

Can I double check what the assumptions for other consumables are (non-HIV) in scenario_12? I'm concerned in > particular about TB consumables, because these might have spill-over effects into HIV/AIDS DALYs. If we are assuming that all vertical programmes are transitioning from vertical to govt funding then it would be more consistent to assume that TB consumables are also similarly affected (and maybe also malaria + epi)? We could also consider them in combination (e.g. all of them govt funded availability, HIV/AIDS govt funded but TB/malaria/epi vertically funded availability, etc)

As you'll see Figure 1 in the comment here (#1367 (comment)), I have only updated the availability of HIV consumables to be equal to Minimum(original availability, average availability of consumables other than HIV, EPI and Cancer* (at the corresponding Facility_Level)).
The availability of TB, malaria and EPI consumables is assumed to be the same (See Actual and HIV moved to Govt. Supply Chain columns in the heatmap).

I see your point about updating TB and malaria consumables as well. But the challenge is that it is unclear to me whether the distribution supply chain for these is actually parallel. The supply chain can be parallel either for procurement or distribution. Parallel procurement exists across several programs - for eg. UNICEF procures IMCI and nutrition drugs. Parallel distribution is more limited. I have only been able to confirm parallel distribution (including maintenance of stock records) for HIV and EPI consumables and, hence, I had limited the scenario only to HIV (considering the perspective of Global Fund) - EPI consumables are managed by UNICEF as I understand it.
Happy to take your advice here if you think the scenario needs updating.

References - https://www.theglobalfund.org/media/9060/oig_gf-oig-19-024_report_en.pdf;
https://www.refworld.org/reference/countryrep/odi/2013/en/93985

@tbhallett
Copy link
Collaborator

Hi @tbhallett. Following our discussion of whether to add any scenarios for the FCDO analysis, this branch contains the consumable availability scenarios which I used to run the analysis I presented at the Think Tank. The list of scenarios and their description is provided here - #1367 (comment)

One change I have made since last week is updating scenarios 10-12 so that the final probability of availability is the maximum or minimum of the original value and the average of the relevant high- (or low) performing supply chain, as opposed to simply the latter regardless of the original probability.

Thnaks VERY much @sakshimohan. Tagging in @tdm32 as she will incorporate these scenarios into her analyses.

@tdm32
Copy link
Collaborator

tdm32 commented Oct 8, 2024

Hi @sakshimohan , thanks so much for producing these. For the PR, would it be possible to rename the scenarios for the cons_availability argument with an informative name, such that they can be called from a script without needing to reference a list of definitions somewhere?

@sakshimohan
Copy link
Collaborator Author

Hi @sakshimohan , thanks so much for producing these. For the PR, would it be possible to rename the scenarios for the cons_availability argument with an informative name, such that they can be called from a script without needing to reference a list of definitions somewhere?

Hi @tdm32. That's definitely what I plan to do. Would it be helpful if I make this change soon or should I prioritise it after I have made more progress with costing in the coming week?
It seems like a quick fix but because of the way the scenarios are generated and coded across different scripts, I might need an afternoon to implement and test the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

3 participants