Functions & Formulae

Each applied formula has its own function page, with a signature, implementations, and tests.

Economically justifiable price function solving the ICER for the unit price

e(lambda,Delta_E,Delta_C_other,U) = EJP

Maps a cost-effectiveness threshold, the incremental QALYs per patient, the incremental cost per patient other than the new medicine's acquisition cost and the discounted number of units per patient to the highest price per unit at which the incremental cost-effectiveness ratio equals the threshold. It solves the two-option ICER of HE-FM-ICER-001 with the medicine's price as the unknown, and the same price sets the incremental net monetary benefit of HE-FM-NMB-002 to zero. The algebra matches the break-even price HE-FM-BEA-001 and, per patient, the payer's maximum price HE-FM-BARG-002; this package adds the threshold range, the NICE severity weight and the probabilistic forms used in an EJP analysis. Notation follows the Economically Justifiable Price article.

  • Economically justifiable price per unit and per patient at one threshold

    EJP_patient = lambda * Delta_E - Delta_C_other; EJP = EJP_patient / U

    Splits the incremental cost per patient into the medicine's acquisition cost, U units at the price EJP, and every other cost difference, Delta_C_other. Setting the ICER, EJP times U plus Delta_C_other, all divided by Delta_E, equal to the threshold lambda and solving gives the per-patient EJP, lambda times Delta_E minus Delta_C_other: the most the payer could spend on the medicine for each patient. Dividing by U gives the EJP per unit, so with U equal to 1 the two results coincide. When Delta_C_other equals or exceeds lambda times Delta_E both are zero or negative, and no positive price makes the medicine cost-effective at that threshold.

  • Economically justifiable price range between a lower and an upper threshold

    EJP_L = (lambda_L * Delta_E - Delta_C_other) / U; EJP_U = (lambda_U * Delta_E - Delta_C_other) / U

    Applies HE-FM-EJP-001 at two thresholds to give the range of justifiable prices per unit that an EJP analysis reports, for example at the ends of NICE's GBP 25,000 to GBP 35,000 per QALY range (PMG36 sections 6.3.4 to 6.3.8). The range is the gap between the thresholds times Delta_E divided by U wide, so it widens with the QALY gain, and each extra 0.1 QALY raises each end by its threshold times 0.1 divided by U.

  • Severity-weighted economically justifiable price under NICE QALY weights

    EJP_w = (w * lambda * Delta_E - Delta_C_other) / U

    NICE's committee may apply a greater weight to QALYs for conditions with a high degree of severity, 1.2 or 1.7 depending on the absolute and proportional QALY shortfall (PMG36 sections 6.2.16 to 6.2.18). Multiplying Delta_E by the weight w in HE-FM-EJP-001 raises the EJP by w minus 1, times lambda times Delta_E, divided by U. With w equal to 1 the formula returns the unweighted EJP.