def report_CEA_CBA(simOutputs_nodrug, simOutputs_drugtx): """ performs cost-effectiveness and cost-benefit analysis""" # strategies strategy_no_drug = Econ.Strategy( name='No drug', cost_obs=simOutputs_nodrug.get_costs(), effect_obs=simOutputs_nodrug.get_utilities() ) strategy_drug = Econ.Strategy( name='Drug Treatment', cost_obs=simOutputs_drugtx.get_costs(), effect_obs=simOutputs_drugtx.get_utilities() ) # CEA CEA = Econ.CEA( strategies=[strategy_no_drug, strategy_drug], if_paired=False ) # CE plane CEA.show_CE_plane( title='Cost Effectiveness Analysis', x_label='Additional Discounted Utility', y_label='Additional Discounted Cost', show_names=True, show_legend=True, show_clouds=True, figure_size=6, transparency=0.3 ) # report CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=Settings.ALPHA, cost_digits=0, effect_digits=2, icer_digits=2 ) # CBA NBA = Econ.CBA( strategies=[strategy_no_drug,strategy_drug], if_paired=False ) # net monetary benefit figure NBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=100000, title='Cost Benefit Analysis', x_label='WTP for one addn QALY ($)', y_label='Incremental Net Monetary Benefit ($)', interval=Econ.Interval.CONFIDENCE, show_legend=True, figure_size=6 )
def report_CBA(simOutputs_mono, simOutputs_combo): """ performs cost-effectiveness analysis :param simOutputs_mono: output of a cohort simulated under mono therapy :param simOutputs_combo: output of a cohort simulated under combination therapy """ # define two strategies mono_therapy_strategy = Econ.Strategy( name='WITHOUT anticoagulation', cost_obs=simOutputs_mono.get_costs(), effect_obs=simOutputs_mono.get_utilities() ) combo_therapy_strategy = Econ.Strategy( name='WITH anticoagulation', cost_obs=simOutputs_combo.get_costs(), effect_obs=simOutputs_combo.get_utilities() ) # CBA NBA = Econ.CBA( strategies=[mono_therapy_strategy, combo_therapy_strategy], if_paired=False ) # show the net monetary benefit figure NBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=50000, title='Problem 4: Cost-Benefit Analysis', x_label='Willingness-to-pay for one additional QALY ($)', y_label='Incremental Net Monetary Benefit ($)', interval=Econ.Interval.CONFIDENCE, show_legend=True, figure_size=6 )
def report_CEA_CBA(simOutputs_none, simOutputs_anticoag): """ performs cost-effectiveness analysis :param simOutputs_none: output of a cohort simulated under mono therapy :param simOutputs_anticoag: output of a cohort simulated under combination therapy """ # define two strategies no_therapy_strategy = Econ.Strategy( name='No Therapy', cost_obs=simOutputs_none.get_costs(), effect_obs=simOutputs_none.get_utilities() ) anticoag_therapy_strategy = Econ.Strategy( name='Combination Therapy', cost_obs=simOutputs_anticoag.get_costs(), effect_obs=simOutputs_anticoag.get_utilities() ) # CEA CEA = Econ.CEA( strategies=[no_therapy_strategy, anticoag_therapy_strategy], if_paired=False ) # show the CE plane CEA.show_CE_plane( title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3 ) # report the CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=Settings.ALPHA, cost_digits=0, effect_digits=2, icer_digits=2, ) # CBA NBA = Econ.CBA( strategies=[no_therapy_strategy, anticoag_therapy_strategy], if_paired=False ) # show the net monetary benefit figure NBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=50000, title='Cost-Benefit Analysis', x_label='Willingness-to-pay for one additional QALY ($)', y_label='Incremental Net Monetary Benefit ($)', interval=Econ.Interval.CONFIDENCE, show_legend=True, figure_size=6 )
def report_CEA_CBA(simOutputs_ANNUAL, simOutputs_SEMI): annual_MDA = Econ.Strategy(name="Annual MDA", cost_obs=simOutputs_ANNUAL.get_costs(), effect_obs=simOutputs_ANNUAL.get_utilities()) semiannual_MDA = Econ.Strategy(name="Semi-Annual MDA", cost_obs=simOutputs_SEMI.get_costs(), effect_obs=simOutputs_SEMI.get_utilities()) listofStrategies = [annual_MDA, semiannual_MDA] CEA = Econ.CEA(listofStrategies, if_paired=False) CEA.show_CE_plane(title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3) # report the CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=Settings.ALPHA, cost_digits=2, effect_digits=2, icer_digits=2, ) CBA = Econ.CBA(listofStrategies, if_paired=False) NBA = Econ.CBA(strategies=[annual_MDA, semiannual_MDA], if_paired=False) NBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=900, x_label="Willingness-to-pay for one unit reduction in DALY ($)", y_label="Incremental Net Monetary Benefit ($)", interval=Econ.Interval.CONFIDENCE, transparency=0.4, show_legend=True, figure_size=6, title='Cost Benefit Analysis')
def report_CEA_CBA(simOutputs_standard, simOutputs_population): """ performs cost-effectiveness analysis :param simOutputs_standard: output of a cohort simulated under standard testing :param simOutputs_population: output of a cohort simulated under population testing """ # define two strategies standard_testing_strategy = Econ.Strategy( name='Standard Testing', cost_obs=simOutputs_standard.get_costs(), effect_obs=simOutputs_standard.get_utilities()) population_testing_strategy = Econ.Strategy( name='Population Testing', cost_obs=simOutputs_population.get_costs(), effect_obs=simOutputs_population.get_utilities()) # CEA CEA = Econ.CEA( strategies=[standard_testing_strategy, population_testing_strategy], if_paired=False) # show the CE plane CEA.show_CE_plane(title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3) # report the CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=ALPHA, cost_digits=0, effect_digits=2, icer_digits=0, ) # CBA NBA = Econ.CBA( strategies=[standard_testing_strategy, population_testing_strategy], if_paired=False) # show the net monetary benefit figure NBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=150000, title='Cost-Benefit Analysis', x_label='Willingness-to-pay for one additional QALY ($)', y_label='Incremental Net Monetary Benefit ($)', interval=Econ.Interval.CONFIDENCE, show_legend=True, figure_size=6)
def report_CEA_CBA(simOutputs_warfarin, simOutputs_dabigatran_110, simOutputs_dabigatran_150): warfarin_strategy = Econ.Strategy( name="Warfarin", cost_obs=simOutputs_warfarin.get_costs(), effect_obs=simOutputs_warfarin.get_utilities()) dabigatran_110_strategy = Econ.Strategy( name="Dabigatran 110mg", cost_obs=simOutputs_dabigatran_110.get_costs(), effect_obs=simOutputs_dabigatran_110.get_utilities()) dabigatran_150_strategy = Econ.Strategy( name="Dabigatran 150mg", cost_obs=simOutputs_dabigatran_150.get_costs(), effect_obs=simOutputs_dabigatran_150.get_utilities()) listofStrategies = [ warfarin_strategy, dabigatran_110_strategy, dabigatran_150_strategy ] CEA = Econ.CEA(listofStrategies, if_paired=False) # create cost effectiveness analysis plane CEA.show_CE_plane(title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3) # report the CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=Settings.ALPHA, cost_digits=0, effect_digits=2, icer_digits=3, ) CBA = Econ.CBA(listofStrategies, if_paired=False) # Create Cost benefit analysis figure CBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=50000, x_label="Willingness-to-pay for one additional QALY ($)", y_label="Incremental Net Monetary Benefit ($)", interval=Econ.Interval.CONFIDENCE, transparency=0.4, show_legend=True, figure_size=6, title='Cost Benefit Analysis')
def report_CEA_CBA(simOutputs_none, simOutputs2, simOutputs3, simOutputs4): no_change = Econ.Strategy(name="No change", cost_obs=simOutputs_none.get_costs(), effect_obs=simOutputs_none.get_utilities()) supplies = Econ.Strategy(name="Additional Supplies", cost_obs=simOutputs2.get_costs(), effect_obs=simOutputs2.get_utilities()) training = Econ.Strategy(name="Additional Training", cost_obs=simOutputs3.get_costs(), effect_obs=simOutputs3.get_utilities()) supplies_and_training = Econ.Strategy( name="Adding Supplies and Training", cost_obs=simOutputs4.get_costs(), effect_obs=simOutputs4.get_utilities()) listofStrategies = [no_change, supplies, training, supplies_and_training] CEA = Econ.CEA(listofStrategies, if_paired=False) CEA.show_CE_plane(title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3) # report the CE table CEA.build_CE_table( interval=Econ.Interval.CONFIDENCE, alpha=Settings.ALPHA, cost_digits=0, effect_digits=2, icer_digits=2, ) CBA = Econ.CBA(listofStrategies, if_paired=False) CBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=50000, x_label="Willingness-to-pay for one additional QALY ($)", y_label="Incremental Net Monetary Benefit ($)", interval=Econ.Interval.CONFIDENCE, transparency=0.4, show_legend=True, figure_size=6, title='cost benefit analysis')
def report_CEA_CBA(simOutputs_none, simOutputs_anticoag): no_therapy_strategy = EconCls.Strategy( name="without vaccination", cost_obs=simOutputs_none.get_total_cost(), effect_obs=simOutputs_none.get_total_utility()) anticoag_therapy_strategy = EconCls.Strategy( name="With vaccination", cost_obs=simOutputs_anticoag.get_total_cost(), effect_obs=simOutputs_anticoag.get_total_utility()) listofStrategies = [no_therapy_strategy, anticoag_therapy_strategy] CEA = EconCls.CEA(listofStrategies, if_paired=False) CEA.show_CE_plane(title='Cost-Effectiveness Analysis', x_label='Additional discounted utility', y_label='Additional discounted cost', show_names=True, show_clouds=True, show_legend=True, figure_size=6, transparency=0.3) # report the CE table CEA.build_CE_table( interval=EconCls.Interval.CONFIDENCE, alpha=0.05, cost_digits=0, effect_digits=2, icer_digits=2, ) CBA = EconCls.CBA(listofStrategies, if_paired=False) CBA.graph_deltaNMB_lines( min_wtp=0, max_wtp=50000, x_label="Willingness-to-pay for one additional QALY ($)", y_label="Incremental Net Monetary Benefit ($)", interval=EconCls.Interval.CONFIDENCE, transparency=0.4, show_legend=True, figure_size=6, title='cost benefit analysis')