AI for Health Economics and Value-Based Care
Module: Healthcare AI | Difficulty: Advanced
Quality-Adjusted Life Year (QALY)
Incremental Cost-Effectiveness Ratio (ICER)
Net Monetary Benefit
where is the willingness-to-pay threshold.
Health Economic AI Applications
| Application | Method | Accuracy | Impact | |------------|--------|----------|--------| | Cost Prediction | XGBoost | MAPE 12% | -15% costs | | Readmission Cost | Deep Learning | MAPE 10% | -20% costs | | Resource Utilization | LSTM | MAPE 8% | -10% waste | | Treatment Selection | RL | AUC 0.82 | +12% value | | Population Health | GNN | AUC 0.85 | Better targeting |
import torch
import torch.nn as nn
import numpy as np
class CostPredictor(nn.Module):
def __init__(self, input_dim=100, hidden_dim=64):
super().__init__()
self.encoder = nn.Sequential(
nn.Linear(input_dim, hidden_dim), nn.ReLU(),
nn.Dropout(0.3), nn.Linear(hidden_dim, hidden_dim), nn.ReLU())
self.cost_head = nn.Linear(hidden_dim, 1)
self.length_of_stay_head = nn.Linear(hidden_dim, 1)
def forward(self, features):
encoded = self.encoder(features)
cost = torch.relu(self.cost_head(encoded))
los = torch.relu(self.length_of_stay_head(encoded))
return cost, los
def compute_qaly(utilities, durations):
return np.sum(utilities * durations)
def compute_icer(cost_new, cost_old, effect_new, effect_old):
return (cost_new - cost_old) / (effect_new - effect_old + 1e-6)
def compute_nmb(effect, cost, willingness_to_pay=50000):
return willingness_to_pay * effect - cost
def markov_model(transition_matrix, initial_state, n_cycles, cycle_length=1):
states = [initial_state]
state = initial_state
for _ in range(n_cycles):
state = state @ transition_matrix
states.append(state)
return np.array(states)
model = CostPredictor(input_dim=100)
features = torch.randn(1, 100)
cost, los = model(features)
print(f'Predicted cost: ${cost.item():.0f}, LOS: {los.item():.1f} days')
qaly = compute_qaly(utilities=[0.7, 0.6, 0.5], durations=[5, 3, 2])
print(f'QALY: {qaly:.2f}')
transition = np.array([[0.8, 0.15, 0.05],
[0.0, 0.7, 0.3],
[0.0, 0.0, 1.0]])
states = markov_model(transition, np.array([1, 0, 0]), 20)
print(f'Markov states shape: {states.shape}')
Research Insight: AI-based cost prediction models can identify patients at risk for high healthcare costs, enabling proactive resource allocation. The challenge is that cost data is highly skewed and contains many zeros. Quantile regression and mixture density networks provide more accurate predictions for the long tail of high-cost patients than standard regression approaches.