tlo.methods.bladder_cancer module
Bladder Cancer Disease Module
Limitations to note: * Needs to represent the DxTest ‘cystoscopy_blood_urine_bladder_cancer’ requires use of a cystoscope * Footprints of HSI – pending input from expert on resources required.
- class BladderCancer(name=None, resourcefilepath=None)
Bladder Cancer Disease Module
Construct a new disease module ready to be included in a simulation.
Initialises an empty parameters dictionary and module-specific random number generator.
- Parameters:
name – the name to use for this module. Defaults to the concrete subclass’ name.
Bases:
tlo.core.Module
,tlo.methods.hsi_generic_first_appts.GenericFirstAppointmentsMixin
PARAMETERS:
Item
Type
Description
init_prop_bladder_cancer_stage
LIST
initial proportions in bladder cancer categories for person aged 15-19 and no tobacco and no schisto_h
init_prop_blood_urine_bladder_cancer_by_stage
LIST
initial proportions of those with bladder cancer categories that have the symptom blood urine
init_prop_pelvic_pain_bladder_cancer_by_stage
LIST
initial proportions of those with bladder cancer categories that have pelvic pain
init_prop_with_blood_urine_diagnosed_bladder_cancer_by_stage
LIST
initial proportions of people that have symptom of blood urine that have been diagnosed
init_prop_with_pelvic_pain_diagnosed_bladder_cancer_by_stage
LIST
initial proportions of people that have symptom of pelvic pain that have been diagnosed
init_prop_treatment_status_bladder_cancer
LIST
initial proportions of people with bladder cancer that had initiated treatment
init_prob_palliative_care
REAL
initial probability of being under palliative care if in metastatic
r_tis_t1_bladder_cancer_none
REAL
probability per 3 months of incident tis_t1 bladder cancer, amongst people with no bladder cancer(for person aged 15-19 and no tobacco and no schisto_h)
rr_tis_t1_bladder_cancer_none_age3049
REAL
rate ratio for tis_t1 bladder cancer for age 30-49
rr_tis_t1_bladder_cancer_none_age5069
REAL
rate ratio for tis_t1 bladder cancer for age 50-69
rr_tis_t1_bladder_cancer_none_agege70
REAL
rate ratio for tis_t1 bladder cancer for age 70+
rr_tis_t1_bladder_cancer_none_tobacco
REAL
rate ratio for tis_t1 bladder cancer for tobacco smokers
rr_tis_t1_bladder_cancer_none_schisto_h
REAL
rate ratio for tis_t1 bladder cancer for schisto_h
r_t2p_bladder_cancer_tis_t1
REAL
probability per 3 months of t2+ bladder cancer, amongst people with tis_t1 bladder cancer
rr_t2p_bladder_cancer_undergone_curative_treatment
REAL
rate ratio for t2+ bladder cancer for people with tis_t1 bladder cancer if had curative treatment at tis_t1 bladder cancer stage
r_metastatic_t2p_bladder_cancer
REAL
probability per 3 months of metastatic bladder cancer amongst people with t2+ bladder cancer
rr_metastatic_undergone_curative_treatment
REAL
rate ratio for metastatic bladder cancer for people with t2+ bladder cancer if had curative treatment at t2+ bladder cancer stage
rate_palliative_care_metastatic
REAL
prob palliative care this 3 month period if metastatic bladder cancer
r_death_bladder_cancer
REAL
probability per 3 months of death from bladder cancer amongst people with metastatic bladder cancer
r_blood_urine_tis_t1_bladder_cancer
REAL
probability per 3 months of blood_urine in a person with tis_t1 bladder cancer
rr_blood_urine_t2p_bladder_cancer
REAL
rate ratio for blood_urine if have t2p bladder cancer
rr_blood_urine_metastatic_bladder_cancer
REAL
rate ratio for blood_urine if have metastatic bladder cancer
r_pelvic_pain_tis_t1_bladder_cancer
REAL
probability per 3 months of pelvic_pain in a person with tis_t1 bladder cancer
rr_pelvic_pain_t2p_bladder_cancer
REAL
rate ratio for pelvic_pain if have t2p bladder cancer
rr_pelvic_pain_metastatic_bladder_cancer
REAL
rate ratio for pelvic_pain if have metastatic bladder cancer
rp_bladder_cancer_age3049
REAL
relative prevalence at baseline of bladder cancer/cancer age 30-49
rp_bladder_cancer_age5069
REAL
relative prevalence at baseline of bladder cancer/cancer age 50-69
rp_bladder_cancer_agege70
REAL
relative prevalence at baseline of bladder cancer/cancer age 70+
rp_bladder_cancer_tobacco
REAL
relative prevalence at baseline of bladder cancer if tobacco
rp_bladder_cancer_schisto_h
REAL
relative prevalence at baseline of bladder cancer if schisto_h
sensitivity_of_cystoscopy_for_bladder_cancer_blood_urine
REAL
sensitivity of cystoscopy_for diagnosis of bladder cancer given blood urine
sensitivity_of_cystoscopy_for_bladder_cancer_pelvic_pain
REAL
sensitivity of cystoscopy_for diagnosis of bladder cancer given pelvic pain
PROPERTIES:
Item
Type
Description
bc_status
CATEGORICAL
Current status of the health condition, bladder cancer. Possible values are: [none, tis_t1, t2p, metastatic, ]
bc_date_diagnosis
DATE
the date of diagnosis of the bladder cancer (pd.NaT if never diagnosed)
bc_date_treatment
DATE
date of first receiving attempted curative treatment (pd.NaT if never started treatment)
bc_stage_at_which_treatment_given
CATEGORICAL
the cancer stage at which treatment is given (because the treatment only has an effect during the stageat which it is given . Possible values are: [none, tis_t1, t2p, metastatic, ]
bc_date_palliative_care
DATE
date of first receiving palliative care (pd.NaT is never had palliative care)
bc_date_death
DATE
date bc death
Class attributes:
CAUSES_OF_DEATH : {‘BladderCancer’: <tlo.methods.causes.Cause object at 0x30d8678d0>}
CAUSES_OF_DISABILITY : {‘BladderCancer’: <tlo.methods.causes.Cause object at 0x30d866ed0>}
INIT_DEPENDENCIES : {‘SymptomManager’, ‘HealthSystem’, ‘Lifestyle’, ‘Demography’}
METADATA : {<Metadata.USES_HEALTHBURDEN: 4>, <Metadata.DISEASE_MODULE: 1>, <Metadata.USES_SYMPTOMMANAGER: 2>, <Metadata.USES_HEALTHSYSTEM: 3>}
OPTIONAL_INIT_DEPENDENCIES : {‘HealthBurden’, ‘Schisto’}
__annotations__ : {}
Functions (defined or overridden in class BladderCancer):
- __init__(name=None, resourcefilepath=None)
Construct a new disease module ready to be included in a simulation.
Initialises an empty parameters dictionary and module-specific random number generator.
- Parameters:
name – the name to use for this module. Defaults to the concrete subclass’ name.
- read_parameters(data_folder)
Setup parameters used by the module, now including disability weights
- initialise_population(population)
Set property values for the initial population.
- initialise_simulation(sim)
Schedule the main polling event
Schedule the main logging event
Define the LinearModels
Define the Diagnostic used
Define the Disability-weights
Schedule the palliative care appointments for those that are on palliative care at initiation
- on_birth(mother_id, child_id)
Initialise properties for a newborn individual. :param mother_id: the mother for this child :param child_id: the new child
- on_hsi_alert(person_id, treatment_id)
- report_daly_values()
- do_at_generic_first_appt(person_id: int, individual_properties: IndividualProperties, symptoms: List[str], schedule_hsi_event: HSIEventScheduler, **kwargs) None
Actions to take during a non-emergency generic health system interaction (HSI).
Derived classes should overwrite this method so that they are compatible with the
HealthSystem
module, and can schedule HSI events when a individual presents symptoms indicative of the corresponding illness or condition.When overwriting, arguments that are not required can be left out of the definition. If done so, the method must take a
**kwargs
input to avoid errors when looping over all disease modules and running their generic HSI methods.HSI events should be scheduled by the
Module
subclass implementing this method using theschedule_hsi_event
argument.Implementations of this method should not make any updates to the population dataframe directly - if the target individuals properties need to be updated this should be performed by updating the
individual_properties
argument.- Parameters:
person_id – Row index (ID) of the individual target of the HSI event in the population dataframe.
individual_properties – Properties of individual target as provided in the population dataframe. Updates to individual properties may be written to this object.
symptoms – List of symptoms the patient is experiencing.
schedule_hsi_event – A function that can schedule subsequent HSI events.
diagnosis_function – A function that can run diagnosis tests based on the patient’s symptoms.
consumables_checker – A function that can query the health system to check for available consumables.
facility_level – The level of the facility that the patient presented at.
treatment_id – The treatment id of the HSI event triggering the generic appointment.
- class BladderCancerMainPollingEvent(module)
Regular event that updates all bladder cancer properties for population: * Acquisition and progression of bladder Cancer * Symptom Development according to stage of bladder Cancer * Deaths from bladder Cancer for those in metastatic
Create a new regular event.
- Parameters:
module – the module that created this event
frequency (pandas.tseries.offsets.DateOffset) – the interval from one occurrence to the next (must be supplied as a keyword argument)
Bases:
tlo.events.RegularEvent
,tlo.events.Event
,tlo.events.PopulationScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class BladderCancerMainPollingEvent):
- __init__(module)
Create a new regular event.
- Parameters:
module – the module that created this event
frequency (pandas.tseries.offsets.DateOffset) – the interval from one occurrence to the next (must be supplied as a keyword argument)
- apply(population)
Apply this event to the given target.
This is a no-op; subclasses should override this method.
- Parameters:
target – the target of the event
- class HSI_BladderCancer_Investigation_Following_Blood_Urine(module, person_id)
This event is scheduled by HSI_GenericFirstApptAtFacilityLevel1 following presentation for care with the symptom blood_urine. This event begins the investigation that may result in diagnosis of Bladder Cancer and the scheduling of treatment or palliative care. It is for people with the symptom blood_urine.
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
Bases:
tlo.methods.hsi_event.HSI_Event
,tlo.events.IndividualScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class HSI_BladderCancer_Investigation_Following_Blood_Urine):
- __init__(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
- apply(person_id, squeeze_factor)
Apply this event to the population.
Must be implemented by subclasses.
- class HSI_BladderCancer_Investigation_Following_pelvic_pain(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
Bases:
tlo.methods.hsi_event.HSI_Event
,tlo.events.IndividualScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class HSI_BladderCancer_Investigation_Following_pelvic_pain):
- __init__(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
- apply(person_id, squeeze_factor)
Apply this event to the population.
Must be implemented by subclasses.
- class HSI_BladderCancer_StartTreatment(module, person_id)
Scheduled by HSI_bladderCancer_Investigation_Following_blood_urine or pelvic pain following a diagnosis of bladder Cancer using cystoscopy. It initiates the treatment of bladder Cancer. It is only for persons with a cancer that is not in metastatic and who have been diagnosed.
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
Bases:
tlo.methods.hsi_event.HSI_Event
,tlo.events.IndividualScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class HSI_BladderCancer_StartTreatment):
- __init__(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
- apply(person_id, squeeze_factor)
Apply this event to the population.
Must be implemented by subclasses.
- class HSI_BladderCancer_PostTreatmentCheck(module, person_id)
Scheduled by HSI_BladderCancer_StartTreatment and itself. It is only for those who have undergone treatment for Bladder Cancer. If the person has developed cancer to metastatic, the patient is initiated on palliative care; otherwise a further appointment is scheduled for one year.
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
Bases:
tlo.methods.hsi_event.HSI_Event
,tlo.events.IndividualScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class HSI_BladderCancer_PostTreatmentCheck):
- __init__(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
- apply(person_id, squeeze_factor)
Apply this event to the population.
Must be implemented by subclasses.
- class HSI_BladderCancer_PalliativeCare(module, person_id)
- This is the event for palliative care. It does not affect the patients progress but does affect the disability
weight and takes resources from the healthsystem.
This event is scheduled by either: * HSI_bladderCancer_Investigation_Following_blood_urine following a diagnosis of bladder Cancer at metastatic. * HSI_bladderCancer_PostTreatmentCheck following progression to metastatic during treatment. * Itself for the continuance of care. It is only for persons with a cancer in metastatic.
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
Bases:
tlo.methods.hsi_event.HSI_Event
,tlo.events.IndividualScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class HSI_BladderCancer_PalliativeCare):
- __init__(module, person_id)
Create a new event.
Note that just creating an event does not schedule it to happen; that must be done by calling Simulation.schedule_event.
- Parameters:
module – the module that created this event. All subclasses of Event take this as the first argument in their constructor, but may also take further keyword arguments.
- apply(person_id, squeeze_factor)
Apply this event to the population.
Must be implemented by subclasses.
- class BladderCancerLoggingEvent(module)
The only logging event for this module
schedule logging to repeat every 1 month
Bases:
tlo.events.RegularEvent
,tlo.events.Event
,tlo.events.PopulationScopeEventMixin
Class attributes:
__annotations__ : {}
Functions (defined or overridden in class BladderCancerLoggingEvent):
- __init__(module)
schedule logging to repeat every 1 month
- apply(population)
Compute statistics regarding the current status of persons and output to the logger