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

co: distinguish essential and optional consumables #1384

Open
EvaJanouskova opened this issue May 30, 2024 · 10 comments
Open

co: distinguish essential and optional consumables #1384

EvaJanouskova opened this issue May 30, 2024 · 10 comments
Assignees
Labels

Comments

@EvaJanouskova
Copy link
Collaborator

EvaJanouskova commented May 30, 2024

Currently we don't distinguish essential and optional consumables for contraception methods, we assume all consumables are essential now. This needs to be updated!

@EvaJanouskova
Copy link
Collaborator Author

@tbhallett, is this necessary to be done soon-ish, or could this wait?

@tbhallett
Copy link
Collaborator

tbhallett commented May 30, 2024

It depends. The most important thing is that we don't want these changes to affect the calibration of the contraception module. (Or if they do, and they are going to be permanent, then the contraption module would need to be recalibrated).

@EvaJanouskova
Copy link
Collaborator Author

It might change the calibration but we should do it sometime but I think we could put it off until later.?

@tbhallett
Copy link
Collaborator

We can't put anything into master that changes the calibration as people need that to be stable for their analysis. The contraception module is especially critical, as it affects the demography and so influence all the other model results.

So, we have to be sure that the change being made by your current PRs are invisible from the point-of-view of the calibration plots. The changes to consumables (the number of items) will be fine, as will adding of Equipment definitions. But - any changes to consumables items (changing codes, or adding non-optional items), we will have to carefully check by running the simulation and looking at the results.

@EvaJanouskova
Copy link
Collaborator Author

If the calibration is based on default availability (Is it?), we made already a few changes which may slightly alternate the calibration within the PR #1298:

master

  • one item for both type of pills (item code 1: Ethinylestradiol 0.03mg + levonorgestrel 0.15mg_Each_FP000800_CMST, cycle //80% patients//; or Microlut (Levonorgestrel 0.03mg)_Each_FP004200_CMST, cycle //20% patients//), hence availability based on item 1
  • one item for both type of implants (item code 12: Jadelle(implant)_Each_FP003700_CMST, 2 rods //50% patients//; or Implanon (Etonogestrel 68mg)_Each_FP004100_CMST, 1 rod //50% patients//), hence availability based on item 12
  • item 307: Atropine sulphate 600 micrograms/ml, 1ml_Each_BB006600_CMST //1 unit 50% patients → 0.5 units per case// - 0.5 units used, hence the availability always checked
  • new items 2676: Polyamide monofilament suture sterile 1, on 40mm 3/8 circle reverse cutting needle_12_GG005100_CMST and 2677: Catgut chromic suture sterile 0, 75cm, round bodied ½ circle 40mm needle_12_GG000600_CMST used for female sterilisation

#1298

  • two different items, one for each type of pills (item 0: Levonorgestrel 0.0375 mg, cycle, item 1: Levonorgestrel 0.15 mg + Ethinyl estradiol 30 mcg (Microgynon), cycle), hence the availability based on item 0 or item 1 according to which item is chosen by probability 20% : 80%
  • two different items, one for each type of implant (item 12: Jadelle (implant), box of 2_CMST, item 13: Implanon (Etonogestrel 68 mg), hence the availability based on item 12 or item 13 according to which item is chosen by probability 50% : 50%
  • item 307: Atropine sulphate 600 micrograms/ml, 1ml_each_CMST - used in 50% cases based on probability, hence the availability checked only in 50% cases of female sterilisation
  • existing items 19: Needle, suture, assorted sizes, round body and 20: Suture, catgut, chromic, 0, 150 cm used for female sterilisation

So maybe we should add the TODO to check the calibration in the #1298?

@EvaJanouskova
Copy link
Collaborator Author

If the calibration is based on default availability (Is it?), we made already a few changes which may slightly alternate the calibration within the PR #1298:

master

  • one item for both type of pills (item code 1: Ethinylestradiol 0.03mg + levonorgestrel 0.15mg_Each_FP000800_CMST, cycle //80% patients//; or Microlut (Levonorgestrel 0.03mg)_Each_FP004200_CMST, cycle //20% patients//), hence availability based on item 1
  • one item for both type of implants (item code 12: Jadelle(implant)_Each_FP003700_CMST, 2 rods //50% patients//; or Implanon (Etonogestrel 68mg)_Each_FP004100_CMST, 1 rod //50% patients//), hence availability based on item 12
  • item 307: Atropine sulphate 600 micrograms/ml, 1ml_Each_BB006600_CMST //1 unit 50% patients → 0.5 units per case// - 0.5 units used, hence the availability always checked
  • new items 2676: Polyamide monofilament suture sterile 1, on 40mm 3/8 circle reverse cutting needle_12_GG005100_CMST and 2677: Catgut chromic suture sterile 0, 75cm, round bodied ½ circle 40mm needle_12_GG000600_CMST used for female sterilisation

#1298

  • two different items, one for each type of pills (item 0: Levonorgestrel 0.0375 mg, cycle, item 1: Levonorgestrel 0.15 mg + Ethinyl estradiol 30 mcg (Microgynon), cycle), hence the availability based on item 0 or item 1 according to which item is chosen by probability 20% : 80%
  • two different items, one for each type of implant (item 12: Jadelle (implant), box of 2_CMST, item 13: Implanon (Etonogestrel 68 mg), hence the availability based on item 12 or item 13 according to which item is chosen by probability 50% : 50%
  • item 307: Atropine sulphate 600 micrograms/ml, 1ml_each_CMST - used in 50% cases based on probability, hence the availability checked only in 50% cases of female sterilisation
  • existing items 19: Needle, suture, assorted sizes, round body and 20: Suture, catgut, chromic, 0, 150 cm used for female sterilisation

So maybe we should add the TODO to check the calibration in the #1298?

This is rolled back now in #1298.

@tbhallett
Copy link
Collaborator

@EvaJanouskova can we close this?

@EvaJanouskova
Copy link
Collaborator Author

Don't you think the consumables for contraceptives should be distinguished as essential X optional in future along with calibration check/update? If not we can close this issue. However, if you agree that it should be done once, we may keep the issue open as a reminder this needs to be addressed.

@tbhallett
Copy link
Collaborator

Yes if you still think it's relevant (it will be indeed, if there are consumables currently labelled as being essential that are not actually essential), then please do keep it open and assign it to yourself.

@EvaJanouskova
Copy link
Collaborator Author

Yes if you still think it's relevant (it will be indeed, if there are consumables currently labelled as being essential that are not actually essential), then please do keep it open and assign it to yourself.

Certainly, some items should be optional but were coded as essential.

@tbhallett tbhallett added the epi label Jun 4, 2024
tbhallett added a commit that referenced this issue Jun 6, 2024
* add latest version of costing resource file

* add latest version of costing resource file

- with updated units for cost of consumables

* update Gentamycin (units)

* update item quantities for HIV prep and infant prep

* update 1g to 1mg for Albendazole (Item code 52)

* update units for gloves from 1 glove to "1 pair of gloves"

* update item quantities for TB drugs
add 3HP as new consumable for IPT

* add conditions for each IPT recommendation

* add prices for ARVs
- and create placeholder for Isoniazid/Rifapentine

* add Isoniazid/Rifapentine to `ResourceFile_Consumables_Items_and_Packages.csv`

* add Isoniazid/Rifapentine to all relevant RFs
- 1. `ResourceFile_Consumables_Items_and_Packages.csv` - list of item codes and names
- 2. `ResourceFile_consumabes_matched.csv` - crosswalk between consumables in the TLO model and the OpenLMIS dataset to extract availability (used proxy 'Isoniazid, 100mg' OR 'Isoniazid, 300mg')
- 3. `ResourceFile_Consumables_availability_small.csv` - Final availability estimates - updated by running `consumables_availability_estimation.py`
- 4 `ResourceFile_Costing.xlsx` - cost of tablet based on external web report

* Update to the functionality for requesting consumables across the MNH modules to allow for clearer requesting of units of consumables for costing (correct number of units not yet implemented for all consumables)

* fixes to failing tests

* linting

* linting

* change cotrimoxazole units to mg

* merge in updated unit costs
3hp added and linked to consumables dataset

* added dosage for amitriptyline antidepressant treatment

* added dosage for epilepsy treatment

* fix error in postnatal_supervisor.py leading to failing test

* units added for care_of_women_during_pregnancy.py

* units added for care_of_women_during_pregnancy.py

* units added for labour.py

* fix failing test. initial doses for newborn outcomes/postnatal supervisor

* fix failing test. initial doses for newborn outcomes/postnatal supervisor

* delete temporary ~ file created

* update units of safety box to "1 disposed syringe (100 syringes per box)"

* fix failing test. initial doses for newborn outcomes/postnatal supervisor

* fixed error in labour. COPD consumable unites

* remove consumable packages from diarrhoea.py

* diarrhoea.py consumable units

* cmd.py consumable units

* rti.py consumable units

* alri.py consumable units plus fixed error in diarrhoea.py

* co: get item codes of consumables from item names and define number of units per case in the module (using new chosen units)

* Add cystoscope, endoscope and prostate specific antigen test
- add three consumables to `ResourceFile_Consumables_Items_and_Packages.csv` using the `generate_consumables_item_codes_and_packages.py` script
- This is a replication of commit ff4d072 from PR #1341

* co: alternative consumables chosen by probs

* co: 21 tablets per packet for both types of pills (informed by Emi)

* co: update TODOs

* cancer_cons: consumables updated and required units per case defined (as nmbs of chosen units)

* [no ci] cancer_cons: rm outdated TODOs

* [no ci] co: rm resolved TODOs

* co: rm TODOs as opened an issue to resolve them (#1384)

* cancers: missing arguments added

* add availability data cancer consumables
- Biopsy needle and Specimen container
(This is based on assumptions made in `"05 - Resources/Module-healthsystem/consumables raw files/ResourceFile_hhfa_consumables.xlsx`

* Revert "cancers: missing arguments added"

This reverts commit 5e3d5c0.

* cancer_cons: rm get_consumable_item_codes_cancers() argument

* cancer_cons: names corrections -- item & consumables set

* add depn to health system to copd

* remove packing with dict

* refactoring and adding todo

* fix misnamed tb consumable

* roll back file added by accident

* test_co & co: alternatives rolled back

* roll back second output

* simplify _get_cons_group as no longer changing dose by age

* remove todo, now resolved

* linting and removed completed todo

* linting

---------

Co-authored-by: sm2511 <sakshi.mohan@york.ac.uk>
Co-authored-by: tdm32 <t.mangal@imperial.ac.uk>
Co-authored-by: joehcollins <joseph.h.collins@ucl.ac.uk>
Co-authored-by: Tim Hallett <39991060+tbhallett@users.noreply.github.com>
Co-authored-by: Eva Janouskova <janouskova.eva.012@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants