UCL / UCL/TLOmodel

Alri Module - the specific effect of oxygen and pulse oximetry among persons with non-severe forms of pneumonia

Open
#680 0 comments 0 reactions 1 assignee View on GitHub

@inesll is already working on this.

Since Aug 5, 2022.

epi wontfix
Dominant language
Python
Stars
35
Forks
17
PR merge metrics
No merged PRs in 30d

Description

In the Alri module, the parameters do suggest a weak effect on the reduction in the number of deaths due to Alri when there is treatment using oxygen and the pulse-oximeter, compared to when these are not available, especially when there is imperfect diagnosis (even when oxygen is only given to those with oxygen saturation < 90% and oxygen is indicated for all person with the imci definition of danger_signs). See below, which is obtained by running analysis_effect_of_treatment.py.

image

However, the same result is not obtained when the model simulation is actually run. See below, which is obtained by running analysis_pulse_oximeter_vs_none.py.

Screenshot 2022-08-01 at 13 44 07 githubusercontent.com/39991060/182860543-5ec4fbcc-3a17-4d7b-b521-e96c3ca4cfa1.png">

Even though the effect is expected to be small in reality, it is concerning that the model does not reproduce the effect, even when running on very large numbers of children.

There are several issues would could explain this, which merit further investigation. I have not explored these in the branch that will go to master (#676) and which Ines is working on (#677) as they are more "invasive" and the first requires a change in the assumptions about antibiotic treatment effects.

  1. Mis-diagnosis and the effect of antibiotics
    The chance of failure if someone has an IV antibiotic can be much higher than if they had oral antibiotics. This seems wrong (to me, TimH) because oral antibiotics would be the wrong treatment. So, in this branch, we introduce some logic to correct for that and new test to check that misdiagnosis is never advantageous for the patient's risk of treatment failure. This seems an important change, but it doesn't seem to help very much so far. I think there could be more to do here though, as there are very small difference in effect size between different version of amoxicillin, which may not be necessary and certainly confused me a bit. Maybe we could simplify the antibiotics into ORAL / IV / None, to make this bit easier?

  2. Mis-diagnosis and patterns of upward referral [Tim's hunch!]
    The analysis based on the parameters in analysis_treatment_effects is based on assuming diagnosis and treatment happens at level '2'. In the model, there is a pattern of referral upwards according to need. Issues here may lead to weird effects of some people not getting any treatment !(!?) Worth investigating!

  3. Size of the beneficiary population How many persons that truly have (danger_signs_pneumonia/oxygen_saturation < 90%) are classified correctly as such (actually in the model, allowing for all the referral etc.). Is it indeed 100% when diagnosis is perfect, and always lesser without the pulse oximetry, irrespective of the probability of correct diagnosis. This would be a good test. And how much lesser? This is the population upon which the effect is predicated so getting to the bottom of this seems important.

Suggestions for how to investigate this further would be....

  1. Work in this branch that includes the new logic about the effect of antibiotics, which seems important and useful.

  2. Fix the tests and simplify the antibiotic regime to oral / iv none.

  3. Create all possible cases... record the care they get in a "real" simulation.... and the treatment efficacy received eventually when using the oximeter versus not*
    - Check that the diagnosis changes and care received for all those persons for whom it should when using pulse oximetry, and that it in each case treatment improves
    - Check that the diagnosis does not change for all those persons for whom it should not when pulse oximetry is used, and that treatment efficacy is not affected.

  4. Count, in a normal simulation of the model running, the number of people for whom the diagnosis would be expected to change due to the oximeter.

  5. If still having problems, re-run the analysis in a manner that separates out the availability of oxygen and the pulse oximeter, to see which component (if any) has an expected effect.

*This may mean..... for each person, log the case-history of each person. For example, at the start of the simulation have a Dict held in module, with keys unique to each case, e.g. f"{person_id}_{episode_start_date}", and values of a list, which is appended-to, an each and every event for that case (e.g. presentation, each HSI, each attempt at treatment). This may reveal why things seem to not improve in the simulation despite oxygen and the pulse oximeter.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.