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

Wasting Module #543

Open
wants to merge 173 commits into
base: master
Choose a base branch
from
Open

Wasting Module #543

wants to merge 173 commits into from

Conversation

tbhallett
Copy link
Collaborator

Fixes #542

@tbhallett tbhallett mentioned this pull request Apr 6, 2022
6 tasks
mnjowe and others added 25 commits October 5, 2023 09:01
…running without errors. added wasting analysis file to get more understanding of the current outputs before applying some major changes. added wasting resource file
# Conflicts:
#	src/tlo/methods/hsi_generic_first_appts.py
called the function nutritional_oedema_present within the WastingNaturalRecoveryEvent to reset the values for the oedema status based on WHZ>=-2
Removed progression to severe following treatment failure for MAM, at initialise population. These individuals will be called at the next polling event (in 3 months) to determine their outcome - recovery, remain, or death.
…lett/wasting_module

# Conflicts:
#	src/tlo/methods/wasting.py
# Conflicts:
#	resources/healthsystem/priority_policies/ResourceFile_PriorityRanking_ALLPOLICIES.xlsx
…lett/wasting_module

# Conflicts:
#	resources/ResourceFile_Wasting.xlsx
#	src/scripts/wasting_analyses/analysis_wasting.py
#	src/tlo/methods/hsi_generic_first_appts.py
#	src/tlo/methods/wasting.py
#	tests/test_wasting.py
@EvaJanouskova
Copy link
Collaborator

EvaJanouskova commented Oct 24, 2024

Hi @timcolbourn, I'm working on adding the Growth Monitoring HSI event. Earlier, you mentioned:

Growth monitoring might happen for healthy children when they come in for 9 month measles vaccine or otherwise about once a year for a check-up.

But, I found in the Malawi Guidelines for Community-Based Management of Acute Malnutrition (page 9, section 1.4) that: "Currently, growth monitoring is done every month at designated growth monitoring clinics."

-> Should we schedule the growth monitoring for each month? What facility level are designated growth monitoring clinics, is it level '1a'?

A few more questions related to the growth monitoring:

  • @timcolbourn, Is it okay if diagnostic accuracy is considered as one general parameter that covers under-diagnosing due to:

    • not all children attending,
    • not every measurement being done correctly,
    • not all equipment being always available, reducing the chances of detection.

    Or do we want the diagnostic accuracy to be based on the availability of equipment to be able to assess the actual impacts of improved or worsened equipment availability?

  • @timcolbourn, Is it okay to have Height and Length Pole as one equipment item, or do we need to distinguish between them? Would you expect very different availability for these?

  • @tbhallett, @matt-graham, How will the logging of equipment use work when the HSI event is PopulationScopeEventMixin, i.e. when we need to log use for each of individual attending?

  • @timcolbourn, What priority should have the HSI_GrowthMonitoring? Are there any rules how we set the priorities?

@EvaJanouskova
Copy link
Collaborator

@timcolbourn, Is it okay if diagnostic accuracy is considered as one general parameter that covers under-diagnosing due to:

  • not all children attending,
  • not every measurement being done correctly,
  • not all equipment being always available, reducing the chances of detection.

Or do we want the diagnostic accuracy to be based on the availability of equipment to be able to assess the actual impacts of improved or worsened equipment availability?

@timcolbourn, Or, do we maybe assume that the parameters such as coverage_supplementary_feeding_program already cover the under-diagnosing, so I could only use that?

@EvaJanouskova
Copy link
Collaborator

@tbhallett, @marghe-molaro, @sakshimohan, I'm adding a new HSI event, HSI_Wasting_GrowthMonitoring, where the children are weighted and measured to potentially be diagnosed with MAM or SAM and send for treatment. I think TREATMENT_ID for that could be Undernutrition_GrowthMonitoring, what priorities should I assign in the ResourceFile_PriorityRanking_ALLPOLICIES?

@EvaJanouskova
Copy link
Collaborator

@tbhallett, @timcolbourn, What footprint should we assign? I would say smt like:
self.EXPECTED_APPT_FOOTPRINT = self.make_appt_footprint({'Under5OPD': #Under5 * prob_attend_growth_monitoring})

What do you think?

@marghe-molaro
Copy link
Collaborator

Hi @EvaJanouskova, I include below the values that should be assigned to HSI_Wasting_GrowthMonitoring in all policies except EHP_III and LCOA_EHP, on which @sakshimohan is better able to advise. Please let me know if anything is unclear!

Values of [Priority, FT_if_5orUnder, FT_if_pregnancy, FT_if_tbdiagnosed, FT_if_Hivdiagnosed] should be:

In default and test:
0, -1, -1, -1, -1

In Naive
2, -1, -1, -1, -1

In Test mode 1
4, -1, -,1 -1, -1

In Clinically Vulnerable
3, 2, 2, 2, 2

Vertical Programmes
3, -1, -1, -1, -1

RMNCH
5, 3, -1, -1, -1

CVD
3, -1, -1, -1, 1

@sakshimohan
Copy link
Collaborator

Undernutrition_GrowthMonitoring

Hi @EvaJanouskova. For the remaining policies, I would assign the following -
EHP_III
2,-1,-1,-1,-1

LCOA_EHP
3,-1,-1,-1,-1

@timcolbourn
Copy link
Collaborator

Hi @timcolbourn, I'm working on adding the Growth Monitoring HSI event. Earlier, you mentioned:

Growth monitoring might happen for healthy children when they come in for 9 month measles vaccine or otherwise about once a year for a check-up.

But, I found in the Malawi Guidelines for Community-Based Management of Acute Malnutrition (page 9, section 1.4) that: "Currently, growth monitoring is done every month at designated growth monitoring clinics."

-> Should we schedule the growth monitoring for each month? What facility level are designated growth monitoring clinics, is it level '1a'?

I think this means that growth monitoring clinics are held every month - probably in level 1a health centres, but also level 0 community clinics by HSAs. We'd need to estimate what proportion of all children aged 0-59 months go each month - I'd imagine that mothers don't necessarily bring their children each months, maybe only every few months or if they are worried about the child not growing enough. It'd be worth doing a quick search to see if there's any data on this e.g. from published papers, or from DHIS2 (could work out with knowledge of population denominators of number of children 0-59 months in the catchment population of the clinic)

@timcolbourn
Copy link
Collaborator

Hi @timcolbourn, I'm working on adding the Growth Monitoring HSI event. Earlier, you mentioned:

Growth monitoring might happen for healthy children when they come in for 9 month measles vaccine or otherwise about once a year for a check-up.

But, I found in the Malawi Guidelines for Community-Based Management of Acute Malnutrition (page 9, section 1.4) that: "Currently, growth monitoring is done every month at designated growth monitoring clinics."
-> Should we schedule the growth monitoring for each month? What facility level are designated growth monitoring clinics, is it level '1a'?

A few more questions related to the growth monitoring:

  • @timcolbourn, Is it okay if diagnostic accuracy is considered as one general parameter that covers under-diagnosing due to:

    • not all children attending,
    • not every measurement being done correctly,
    • not all equipment being always available, reducing the chances of detection.

    Or do we want the diagnostic accuracy to be based on the availability of equipment to be able to assess the actual impacts of improved or worsened equipment availability?

I think we need to link to it actual equipment availability. The children attending can also be based on care seeking, noting also my reply to the previous comment above about not all children attending the clinic every month.
Not sure about the measurement accuracy - we could maybe just assume it is accurate if done? to not overcomplicate it

  • @timcolbourn, Is it okay to have Height and Length Pole as one equipment item, or do we need to distinguish between them? Would you expect very different availability for these?

I think there are two different ones? a shorr board for equivalent for length for infants who can't yet stand or walk, and a height pole for older children who can stand?

  • @tbhallett, @matt-graham, How will the logging of equipment use work when the HSI event is PopulationScopeEventMixin, i.e. when we need to log use for each of individual attending?
  • @timcolbourn, What priority should have the HSI_GrowthMonitoring? Are there any rules how we set the priorities?

I think it would be low priority (priority 2?). Though I think if clinics are run every month health workers would be available. However if the health facility has emergencies or high priority things in the queue they should run first. So set to priority 2 I think

@timcolbourn
Copy link
Collaborator

@timcolbourn, Is it okay if diagnostic accuracy is considered as one general parameter that covers under-diagnosing due to:

  • not all children attending,
  • not every measurement being done correctly,
  • not all equipment being always available, reducing the chances of detection.

Or do we want the diagnostic accuracy to be based on the availability of equipment to be able to assess the actual impacts of improved or worsened equipment availability?

@timcolbourn, Or, do we maybe assume that the parameters such as coverage_supplementary_feeding_program already cover the under-diagnosing, so I could only use that?

please see my earlier reply above - I think this coverage_supplementary_feeding_program should be separate as it is only for those who are diagnosed in the routine growth monitoring, and then successfully referred (start the supplementary feeding programme)

@timcolbourn
Copy link
Collaborator

@tbhallett, @timcolbourn, What footprint should we assign? I would say smt like: self.EXPECTED_APPT_FOOTPRINT = self.make_appt_footprint({'Under5OPD': #Under5 * prob_attend_growth_monitoring})

What do you think?

Yes that looks good I think

@EvaJanouskova
Copy link
Collaborator

  • @tbhallett, @matt-graham, How will the logging of equipment use work when the HSI event is PopulationScopeEventMixin, i.e. when we need to log use for each of individual attending?

@tbhallett, @matt-graham, @tamuri. I think that within one event, we are only able to log one use of each equipment item, aren’t we? However, with PopulationScopeEventMixin, I would need to log multiple uses of the equipment.

@EvaJanouskova
Copy link
Collaborator

EvaJanouskova commented Oct 29, 2024

CVD
3, -1, -1, -1, 1

@marghe-molaro,Should this one have been 3, -1, -1, -1, -1 (rather than 3, -1, -1, -1, +1), or?

@EvaJanouskova
Copy link
Collaborator

Hi @timcolbourn, I'm working on adding the Growth Monitoring HSI event. Earlier, you mentioned:

Growth monitoring might happen for healthy children when they come in for 9 month measles vaccine or otherwise about once a year for a check-up.

But, I found in the Malawi Guidelines for Community-Based Management of Acute Malnutrition (page 9, section 1.4) that: "Currently, growth monitoring is done every month at designated growth monitoring clinics."
-> Should we schedule the growth monitoring for each month? What facility level are designated growth monitoring clinics, is it level '1a'?

A few more questions related to the growth monitoring:

  • @timcolbourn, Is it okay if diagnostic accuracy is considered as one general parameter that covers under-diagnosing due to:

    • not all children attending,
    • not every measurement being done correctly,
    • not all equipment being always available, reducing the chances of detection.

    Or do we want the diagnostic accuracy to be based on the availability of equipment to be able to assess the actual impacts of improved or worsened equipment availability?

I think we need to link to it actual equipment availability. The children attending can also be based on care seeking, noting also my reply to the previous comment above about not all children attending the clinic every month. Not sure about the measurement accuracy - we could maybe just assume it is accurate if done? to not overcomplicate it

  • @timcolbourn, Is it okay to have Height and Length Pole as one equipment item, or do we need to distinguish between them? Would you expect very different availability for these?

I think there are two different ones? a shorr board for equivalent for length for infants who can't yet stand or walk, and a height pole for older children who can stand?

  • @tbhallett, @matt-graham, How will the logging of equipment use work when the HSI event is PopulationScopeEventMixin, i.e. when we need to log use for each of individual attending?
  • @timcolbourn, What priority should have the HSI_GrowthMonitoring? Are there any rules how we set the priorities?

I think it would be low priority (priority 2?). Though I think if clinics are run every month health workers would be available. However if the health facility has emergencies or high priority things in the queue they should run first. So set to priority 2 I think

I’ve just found out from Margherita that the priority setting within the modules is somewhat outdated, so we don’t need to worry about it as those are overridden by the Naive priorities from RF as the status quo anyway.

@EvaJanouskova
Copy link
Collaborator

EvaJanouskova commented Oct 30, 2024

@tamuri, @matt-graham, When the tests ran after the wast: priority=2 for HSI_Wasting_GrowthMonitoring commit, there were two failures: test_healthsystem (I know the reason for that, so it’s fine) and test_continuous_and_interrupted_simulations_equal from test_simulation. However, when I reran test_simulation, it passed. It also passes when run on my computer. Is there any randomness within the test that causes it to sometimes fail and sometimes pass?

@EvaJanouskova
Copy link
Collaborator

@tamuri , @matt-graham, Is it okay to make these changes: hs: enforce_priority_policy() fnc updated to work for individual & po… to allow an hsi_event to be used as PopulationScopeEventMixin? If so, should I simplify the enforce_priority_policy fnc a bit, or rather leave it like this?

@tbhallett
Copy link
Collaborator Author

@tamuri , @matt-graham, Is it okay to make these changes: hs: enforce_priority_policy() fnc updated to work for individual & po… to allow an hsi_event to be used as PopulationScopeEventMixin? If so, should I simplify the enforce_priority_policy fnc a bit, or rather leave it like this?

Hi @EvaJanouskova -- I just spotted this. @marghe-molaro will want to comment on this. We had planned to deprecate the concept of population-wide HSI. #1336 Is this really needed?

@EvaJanouskova
Copy link
Collaborator

EvaJanouskova commented Oct 30, 2024

@tamuri , @matt-graham, Is it okay to make these changes: hs: enforce_priority_policy() fnc updated to work for individual & po… to allow an hsi_event to be used as PopulationScopeEventMixin? If so, should I simplify the enforce_priority_policy fnc a bit, or rather leave it like this?

Hi @EvaJanouskova -- I just spotted this. @marghe-molaro will want to comment on this. We had planned to deprecate the concept of population-wide HSI. #1336 Is this really needed?

@tbhallett, I think I could use a RegularEvent instead that would choose the individuals and send them for individual hsi_event. Would that be better?

@tbhallett
Copy link
Collaborator Author

Yes much better!! Thanks

@marghe-molaro
Copy link
Collaborator

marghe-molaro commented Oct 31, 2024

@tbhallett we could ensure an error is raised in the HealthSystem module whenever this tries to schedule/run a pop-level HSI event? This way disease module developers would be automatically warned not to include them.
The only risk is that this may occur during a full sim runtime if there's an old pop-level HSI event that hasn't been identified and removed yet.

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

Successfully merging this pull request may close these issues.

Wasting Outputs Complete the Wasting module