Skip to content

voiage.schema.DecisionProblem

Represents a canonical Decision Problem (DecisionProblemV1).

decision_problem_id : str Stable identifier for the decision problem. title : str Short human-readable title for the problem. willingness_to_pay : float Decision threshold used to calculate net benefit. Must be strictly positive. interventions : list[Intervention] Candidate interventions compared by the problem. currency : str, default=“USD” Currency code or symbol used for cost outputs (min length 3). analysis_type : str, default=“net-benefit-first” Analysis framework (must be “net-benefit-first”). outcome_names : list[str], optional Ordered list of outcome labels used by the problem.

>>> from voiage.schema import DecisionProblem, Intervention >>> prob = DecisionProblem( … decision_problem_id=“prob_01”, … title=“Screening Decision”, … willingness_to_pay=50000.0, … interventions=[ … Intervention(intervention_id=“i1”, name=“No Screening”, is_reference=True), … Intervention(intervention_id=“i2”, name=“Annual Screening”), … ], … ) >>> prob.title ‘Screening Decision’

to_dict([positional or keyword] self: None = None) -> dict[str, object]

Serialize decision problem to dictionary conforming to DecisionProblemV1 schema.

Parameters:

  • self

Returns: dict[str, object]

from_dict([positional or keyword] cls: None = None, [positional or keyword] data: object = None) -> DecisionProblem

Deserialize decision problem from dictionary.

Parameters:

  • cls
  • data object

Returns: DecisionProblem