def report_CEA(simOutputs_NONE, simOutputs_ANTICOAG):
    """ 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
    no_therapy_strategy = Econ.Strategy(
        name='Mono 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()
    )

    # do CEA
    if Settings.PSA_ON:
        CEA = Econ.CEA(
            strategies=[no_therapy_strategy, anticoag_therapy_strategy],
            if_paired=True
        )
    else:
        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=8,
        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,
    )
예제 #2
0
def report_CEA():
    """ performs cost-effectiveness and cost-benefit analyses
    :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
    without_therapy = EconCls.Strategy(
        name='Without Therapy',
        cost_obs=cohort_ONE.get_total_cost(),
        effect_obs=cohort_ONE.get_total_utility())
    with_therapy = EconCls.Strategy(name='With Therapy',
                                    cost_obs=cohort_TWO.get_total_cost(),
                                    effect_obs=cohort_TWO.get_total_utility())

    # do CEA
    CEA = EconCls.CEA(strategies=[without_therapy, with_therapy],
                      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=EconCls.Interval.CONFIDENCE,
        alpha=0.05,
        cost_digits=0,
        effect_digits=2,
        icer_digits=2,
    )
def report_CEA_CBA(simOutputs_US, simOutputs_CT):

    # strategies
    strategy_US = Econ.Strategy(name='Ultrasound',
                                cost_obs=simOutputs_US.get_costs(),
                                effect_obs=simOutputs_US.get_utilities())

    strategy_CT = Econ.Strategy(name='Computed Tomography',
                                cost_obs=simOutputs_CT.get_costs(),
                                effect_obs=simOutputs_CT.get_utilities())

    # CEA
    CEA = Econ.CEA(strategies=[strategy_US, strategy_CT], if_paired=False)

    # report CE table
    CEA.build_CE_table(interval=Econ.Interval.CONFIDENCE,
                       alpha=Data.ALPHA,
                       cost_digits=0,
                       effect_digits=2,
                       icer_digits=2)

    # 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)
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
    )
예제 #5
0
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_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')
예제 #8
0
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_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')
예제 #10
0
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')
예제 #11
0
def report_CEA(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()
    )

    # CEA
    CEA = Econ.CEA(
            strategies=[mono_therapy_strategy, combo_therapy_strategy],
            if_paired=False
    )
    # show the CE plane
    CEA.show_CE_plane(
        title='Problem 4: 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=2,
    )
def report_CEA_CBA_single(cohort_no_treat, cohort_acu, cohort_cran, cohort_abx,
                          cohort_estro):
    no_treatment_strategy = Econ.Strategy(
        name="No treatment",
        cost_obs=cohort_no_treat.get_ave_total_cost(),
        effect_obs=cohort_no_treat.get_ave_number_utis())

    acu_strategy = Econ.Strategy(name="Acupunture",
                                 cost_obs=cohort_acu.get_ave_total_cost(),
                                 effect_obs=cohort_acu.get_ave_number_utis())

    cran_strategy = Econ.Strategy(name="Cranberry",
                                  cost_obs=cohort_cran.get_ave_total_cost(),
                                  effect_obs=cohort_cran.get_ave_number_utis())

    abx_strategy = Econ.Strategy(name="Antibiotics",
                                 cost_obs=cohort_abx.get_ave_total_cost(),
                                 effect_obs=cohort_abx.get_ave_number_utis())

    estro_strategy = Econ.Strategy(
        name="Estrogen",
        cost_obs=cohort_estro.get_ave_total_cost(),
        effect_obs=cohort_estro.get_ave_number_utis())

    CEA = Econ.CEA(strategies=[
        no_treatment_strategy, acu_strategy, cran_strategy, abx_strategy,
        estro_strategy
    ],
                   if_paired=False)
    CEA.show_CE_plane(title='Cost-Effectiveness Analysis',
                      x_label='Difference in total number of UTIs',
                      y_label='Difference in total cost',
                      show_names=True,
                      show_clouds=True,
                      show_legend=True,
                      figure_size=6,
                      transparency=0.3)
예제 #13
0
SA2_baseline_strat = Econ.Strategy(name="4% Baseline",
                                   cost_obs=[137.54],
                                   effect_obs=[.986])
SA2_training_strat = Econ.Strategy(name="4% Training Only",
                                   cost_obs=[144.33],
                                   effect_obs=[.9872])
SA2_supplies_strat = Econ.Strategy(name="4% Supplies Only",
                                   cost_obs=[136.29],
                                   effect_obs=[.9874])
SA2_both_strat = Econ.Strategy(name="4% Both Training and Supplies",
                               cost_obs=[144.11],
                               effect_obs=[.989])

econ_eval = Econ.CEA(
    strategies=[baseline_strat, training_strat, supplies_strat, both_strat],
    if_paired=False)
Econ.CEA.show_CE_plane(econ_eval, title='Cost Effectiveness Analysis with 10% Hypertension',\
                       y_label='Cost',\
                       x_label='Utility',\
                       show_names=True,\
                       figure_size=6)

SA1_econ_eval = Econ.CEA(strategies=[
    SA1_baseline_strat, SA1_training_strat, SA1_supplies_strat, SA1_both_strat
],
                         if_paired=False)
Econ.CEA.show_CE_plane(SA1_econ_eval, title='Cost Effectiveness Analysis with 18% Hypertension',\
                       y_label='Cost',\
                       x_label='Utility',\
                       show_names=True,\
예제 #14
0
import scr.EconEvalClasses as Econ
import Decision_Tree as Inputs
import RunTree as run

baseline_strat = Econ.Strategy(name="Baseline", cost_obs=1.44, effect_obs=.966)
training_strat = Econ.Strategy("Training Only", cost_obs=8.81, effect_obs=.9661)
supplies_strat = Econ.Strategy("Supplies Only", cost_obs=1.17, effect_obs=.968)
both_strat = Econ.Strategy("Both Training and Supplies", cost_obs=12.432, effect_obs=.915)

econ_eval=Econ.CEA(strategies=[baseline_strat, training_strat, supplies_strat, both_strat], if_paired=False)
Econ.CEA.show_CE_plane(econ_eval, title='Cost Effectiveness Analysis',\
                       y_label='Cost',\
                       x_label='Utility')
예제 #15
0
                 s_center[3, 1] + np.random.normal(0, 0.5, 10))
s4 = ce.Strategy("s5", s_center[4, 0] + np.random.normal(0, 0.5, 10),
                 s_center[4, 1] + np.random.normal(0, 0.5, 10))
s5 = ce.Strategy("s6", s_center[5, 0] + np.random.normal(0, 0.5, 10),
                 s_center[5, 1] + np.random.normal(0, 0.5, 10))
s6 = ce.Strategy("s7", s_center[6, 0] + np.random.normal(0, 0.5, 10),
                 s_center[6, 1] + np.random.normal(0, 0.5, 10))
s7 = ce.Strategy("s8", s_center[7, 0] + np.random.normal(0, 0.5, 10),
                 s_center[7, 1] + np.random.normal(0, 0.5, 10))
s8 = ce.Strategy("s9", s_center[8, 0] + np.random.normal(0, 0.5, 10),
                 s_center[8, 1] + np.random.normal(0, 0.5, 10))
s9 = ce.Strategy("s10", s_center[9, 0] + np.random.normal(0, 0.5, 10),
                 s_center[9, 1] + np.random.normal(0, 0.5, 10))

# create a CEA object -- unpaired
myCEA = ce.CEA([s0, s1, s2, s3, s4, s5, s6, s7, s8, s9], if_paired=True)

# plot with label and sample cloud
myCEA.show_CE_plane('CE plane with unpaired observations and showing labels',
                    'E[Effect]',
                    'E[Cost]',
                    show_names=True,
                    show_clouds=True,
                    figure_size=6)

# plot with sample cloud and legend
myCEA.show_CE_plane('CE Plane with unpaired observations and showing legend',
                    'E[Effect]',
                    'E[Cost]',
                    show_legend=True,
                    show_clouds=True,