voiage.health_economics.HealthEconomicsAnalysis
Comprehensive health economics analysis class.
Integrates with voiage’s VOI analysis to provide specialized health economic evaluations including cost-effectiveness, QALY analysis, and decision making under uncertainty.
Methods
Section titled “Methods”add_health_state
Section titled “add_health_state”add_health_state([positional or keyword] self: None = None, [positional or keyword] health_state: HealthState = None) -> NoneAdd a health state to the analysis.
Parameters:
selfhealth_stateHealthState
Returns: None
add_treatment
Section titled “add_treatment”add_treatment([positional or keyword] self: None = None, [positional or keyword] treatment: Treatment = None) -> NoneAdd a treatment option to the analysis.
Parameters:
selftreatmentTreatment
Returns: None
calculate_qaly
Section titled “calculate_qaly”calculate_qaly([positional or keyword] self: None = None, [positional or keyword] health_state: HealthState = None, [positional or keyword] discount_rate: float = 0.03, [positional or keyword] time_horizon: float = 10.0) -> floatCalculate Quality-Adjusted Life Years (QALY) for a health state.
Args: health_state: The health state to analyze discount_rate: Annual discount rate for future health benefits time_horizon: Time horizon for analysis in years
Returns
Section titled “Returns”QALY value
Parameters:
selfhealth_stateHealthStatediscount_ratefloat(default:0.03)time_horizonfloat(default:10.0)
Returns: float
calculate_cost
Section titled “calculate_cost”calculate_cost([positional or keyword] self: None = None, [positional or keyword] health_state: HealthState = None, [positional or keyword] discount_rate: float = 0.03, [positional or keyword] time_horizon: float = 10.0) -> floatCalculate discounted costs for a health state.
Args: health_state: The health state to analyze discount_rate: Annual discount rate for costs time_horizon: Time horizon for analysis in years
Returns
Section titled “Returns”Total discounted cost
Parameters:
selfhealth_stateHealthStatediscount_ratefloat(default:0.03)time_horizonfloat(default:10.0)
Returns: float
calculate_icer
Section titled “calculate_icer”calculate_icer([positional or keyword] self: None = None, [positional or keyword] treatment1: Treatment = None, [positional or keyword] treatment2: Treatment | None = None, [positional or keyword] health_states1: list[HealthState] | None = None, [positional or keyword] health_states2: list[HealthState] | None = None) -> floatCalculate Incremental Cost-Effectiveness Ratio (ICER).
Args: treatment1: First treatment to compare treatment2: Second treatment (comparator), defaults to standard care health_states1: Health states for treatment1 health_states2: Health states for treatment2
Returns
Section titled “Returns”ICER value (cost per QALY gained)
Parameters:
selftreatment1Treatmenttreatment2Treatment | None(default:None)health_states1list[HealthState] | None(default:None)health_states2list[HealthState] | None(default:None)
Returns: float
calculate_net_monetary_benefit
Section titled “calculate_net_monetary_benefit”calculate_net_monetary_benefit([positional or keyword] self: None = None, [positional or keyword] treatment: Treatment = None, [positional or keyword] health_states: list[HealthState] | None = None) -> floatCalculate Net Monetary Benefit (NMB) for a treatment.
Args: treatment: Treatment to analyze health_states: Health states for the treatment
Returns
Section titled “Returns”Net Monetary Benefit value
Parameters:
selftreatmentTreatmenthealth_stateslist[HealthState] | None(default:None)
Returns: float
create_cost_effectiveness_acceptability_curve
Section titled “create_cost_effectiveness_acceptability_curve”create_cost_effectiveness_acceptability_curve([positional or keyword] self: None = None, [positional or keyword] treatment: Treatment = None, [positional or keyword] health_states: list[HealthState] | None = None, [positional or keyword] wtp_range: tuple[float, float] = (0, 200000), [positional or keyword] num_points: int = 100) -> tuple[jnp.ndarray, jnp.ndarray]Create Cost-Effectiveness Acceptability Curve (CEAC).
Args: treatment: Treatment to analyze health_states: Health states for the treatment wtp_range: Range of willingness-to-pay values to evaluate num_points: Number of evaluation points
Returns
Section titled “Returns”Tuple of (wtp_values, ceac_probabilities)
Parameters:
selftreatmentTreatmenthealth_stateslist[HealthState] | None(default:None)wtp_rangetuple[float, float](default:(0, 200000))num_pointsint(default:100)
Returns: tuple[jnp.ndarray, jnp.ndarray]
budget_impact_analysis
Section titled “budget_impact_analysis”budget_impact_analysis([positional or keyword] self: None = None, [positional or keyword] treatment: Treatment = None, [positional or keyword] population_size: int = 100000, [positional or keyword] adoption_rate: float = 0.5, [positional or keyword] time_horizon: int = 5, [positional or keyword] annual_budget: float = 10000000) -> dict[str, float]Perform budget impact analysis.
Args: treatment: Treatment to analyze population_size: Total target population adoption_rate: Expected adoption rate of new treatment time_horizon: Analysis time horizon in years annual_budget: Available annual budget
Returns
Section titled “Returns”Dictionary with budget impact metrics
Parameters:
selftreatmentTreatmentpopulation_sizeint(default:100000)adoption_ratefloat(default:0.5)time_horizonint(default:5)annual_budgetfloat(default:10000000)
Returns: dict[str, float]
probabilistic_sensitivity_analysis
Section titled “probabilistic_sensitivity_analysis”probabilistic_sensitivity_analysis([positional or keyword] self: None = None, [positional or keyword] treatment: Treatment = None, [positional or keyword] num_simulations: int = 1000, [positional or keyword] utility_uncertainty: float = 0.1, [positional or keyword] cost_uncertainty: float = 0.2) -> dict[str, object]Perform probabilistic sensitivity analysis (PSA).
Args: treatment: Treatment to analyze num_simulations: Number of Monte Carlo simulations utility_uncertainty: Relative uncertainty in utility values (±%) cost_uncertainty: Relative uncertainty in cost values (±%)
Returns
Section titled “Returns”Dictionary with PSA results including distributions and summary statistics
Parameters:
selftreatmentTreatmentnum_simulationsint(default:1000)utility_uncertaintyfloat(default:0.1)cost_uncertaintyfloat(default:0.2)
Returns: dict[str, object]
create_voi_analysis_for_health_decisions
Section titled “create_voi_analysis_for_health_decisions”create_voi_analysis_for_health_decisions([positional or keyword] self: None = None, [positional or keyword] treatments: list[Treatment] = None, [positional or keyword] decision_outcome_function: Callable[..., object] = None, [positional or keyword] additional_parameters: dict[str, object] | None = None) -> DecisionAnalysisCreate VOI analysis specifically for health economic decisions.
Args: treatments: List of treatment options to compare decision_outcome_function: Function that returns outcomes for each treatment additional_parameters: Additional parameters for the analysis
Returns
Section titled “Returns”DecisionAnalysis object configured for health economics
Parameters:
selftreatmentslist[Treatment]decision_outcome_functionCallable[..., object]additional_parametersdict[str, object] | None(default:None)
Returns: DecisionAnalysis