voiage.cli.calculate_evsi
calculate_evsi
Section titled “calculate_evsi”calculate_evsi([positional or keyword] parameter_file: Path = typer.Argument(..., metavar='PARAMETER_FILE', exists=True, file_okay=True, dir_okay=False, readable=True, help='Path to CSV containing PSA parameters (samples x parameters)'), [positional or keyword] trial_design_file: Path = typer.Argument(..., metavar='TRIAL_DESIGN_FILE', exists=True, file_okay=True, dir_okay=False, readable=True, help="Path to JSON trial design with an 'arms' array"), [positional or keyword] net_benefit_file: Path | None = typer.Option(None, '--net-benefit-file', '-n', exists=True, file_okay=True, dir_okay=False, readable=True, help='CSV net benefits used by the default static model'), [positional or keyword] model: str | None = typer.Option(None, '--model', '-m', help='Dotted path to a callable accepting ParameterSet and returning ValueArray'), [positional or keyword] method: str = typer.Option('two_loop', '--method', help='EVSI method: two_loop, regression, efficient, or moment_based'), [positional or keyword] metamodel: str = typer.Option('linear', '--metamodel', help='Metamodel for efficient EVSI: linear or random_forest'), [positional or keyword] n_outer_loops: int = typer.Option(100, '--n-outer-loops', help='Outer simulations for two_loop/regression EVSI'), [positional or keyword] n_inner_loops: int = typer.Option(1000, '--n-inner-loops', help='Inner simulations for two_loop EVSI'), [positional or keyword] population: float | None = typer.Option(None, '--population', help='Population size for population-adjusted EVSI'), [positional or keyword] discount_rate: float | None = typer.Option(None, '--discount-rate', help='Annual discount rate (e.g., 0.03)'), [positional or keyword] time_horizon: float | None = typer.Option(None, '--time-horizon', help='Time horizon in years'), [positional or keyword] output_file: Path | None = typer.Option(None, '--output', '-o', help='File to save EVSI result')) -> NoneCalculate Expected Value of Sample Information (EVSI).
Examples
Section titled “Examples”Calculate EVSI from a PSA parameter CSV and a trial design JSON file:
.. code-block:: bash
voiage calculate-evsi parameters.csv trial_design.json
Parameters:
parameter_filePath(default:typer.Argument(..., metavar='PARAMETER_FILE', exists=True, file_okay=True, dir_okay=False, readable=True, help='Path to CSV containing PSA parameters (samples x parameters)'))trial_design_filePath(default:typer.Argument(..., metavar='TRIAL_DESIGN_FILE', exists=True, file_okay=True, dir_okay=False, readable=True, help="Path to JSON trial design with an 'arms' array"))net_benefit_filePath | None(default:typer.Option(None, '--net-benefit-file', '-n', exists=True, file_okay=True, dir_okay=False, readable=True, help='CSV net benefits used by the default static model'))modelstr | None(default:typer.Option(None, '--model', '-m', help='Dotted path to a callable accepting ParameterSet and returning ValueArray'))methodstr(default:typer.Option('two_loop', '--method', help='EVSI method: two_loop, regression, efficient, or moment_based'))metamodelstr(default:typer.Option('linear', '--metamodel', help='Metamodel for efficient EVSI: linear or random_forest'))n_outer_loopsint(default:typer.Option(100, '--n-outer-loops', help='Outer simulations for two_loop/regression EVSI'))n_inner_loopsint(default:typer.Option(1000, '--n-inner-loops', help='Inner simulations for two_loop EVSI'))populationfloat | None(default:typer.Option(None, '--population', help='Population size for population-adjusted EVSI'))discount_ratefloat | None(default:typer.Option(None, '--discount-rate', help='Annual discount rate (e.g., 0.03)'))time_horizonfloat | None(default:typer.Option(None, '--time-horizon', help='Time horizon in years'))output_filePath | None(default:typer.Option(None, '--output', '-o', help='File to save EVSI result'))
Returns: None