Core TBsim Package¶
This page documents the core package and main modules of the TBsim framework.
Main Package¶
Package Overview¶
TBsim is a comprehensive tuberculosis modeling framework built on the Starsim platform. It provides:
Core TB Disease Model: Complete tuberculosis simulation with state transitions
Comorbidity Modeling: HIV and malnutrition integration with TB dynamics
Intervention Framework: DOTS, BCG, diagnostics, and treatment protocols
Network Structures: Household and social network modeling
Analysis Tools: Dwell time analysis, visualization, and post-processing
Data Utilities: Demographics, plotting, and probability calculations
Key Components¶
- TB Disease Model (tbsim.tb)
Main tuberculosis simulation class that handles disease dynamics, transmission, and state transitions.
- TBS State Enumeration (tbsim.tb.TBS)
Comprehensive state definitions for TB progression including latent, active, and treatment states.
- Network Structures (tbsim.networks)
Social network implementations for modeling transmission patterns and household structures.
- Comorbidity Connectors
tbsim.comorbidities.hiv.tb_hiv_cnn.TB_HIV_Connector: TB-HIV interaction modeling
tbsim.comorbidities.malnutrition.tb_malnut_cnn.TB_Nutrition_Connector: TB-malnutrition interactions
- Analysis Framework (tbsim.analyzers)
Comprehensive tools for analyzing simulation results including dwell time analysis and visualization.
- Intervention Modules (tbsim.interventions.*)
Complete intervention framework for TB control including DOTS implementation, enhanced diagnostics, and treatment protocols.
Usage Examples¶
Basic TB simulation:
from tbsim import TB
import starsim as ss
sim = ss.Sim(diseases=TB())
sim.run()
With comorbidities:
from tbsim import TB, HIV, Malnutrition
from tbsim.comorbidities.hiv.tb_hiv_cnn import TB_HIV_Connector
from tbsim.comorbidities.malnutrition.tb_malnut_cnn import TB_Nutrition_Connector
sim = ss.Sim(
diseases=[TB(), HIV(), Malnutrition()],
connectors=[TB_HIV_Connector(), TB_Nutrition_Connector()]
)
sim.run()
With interventions:
from tbsim.interventions.enhanced_tb_treatment import create_dots_treatment
from tbsim.interventions.bcg import BCGProtection
# Add DOTS treatment and BCG vaccination
dots = create_dots_treatment()
bcg = BCGProtection()
sim = ss.Sim(
diseases=TB(),
interventions=[dots, bcg]
)
sim.run()
Analysis and visualization:
from tbsim.analyzers import DwtAnalyzer
# Add analyzer to simulation
sim = ss.Sim(diseases=mtb.TB(), analyzers=DwtAnalyzer(scenario_name="Baseline"), pars=dict(dt = ss.days(7), start = ss.date('1940'), stop = ss.date('2010')))
sim.run()
# Access results and create visualizations
analyzer.sankey_agents()
analyzer.histogram_with_kde()
analyzer.graph_state_transitions_enhanced()