Identify Members Likely to Exceed $250K Before They Cross $50K — 6-18 Month Lead Time for Proactive Intervention
python# Three-Stage ML Pipeline for Large Claim Prediction # Stage 1: Multi-Modal Feature Engineering (1,847 features) def engineer_features(member): # Medical Claims Features (840) medical_features = { 'diagnosis_ngrams': extract_icd10_sequences(member.claims), 'procedure_velocity': rolling_count(member.claims, windows=[90, 180, 365]), 'specialty_visits': count_by_specialty(member.claims, ['oncology', 'cardiology']), 'er_frequency': count_er_visits(member.claims, period='6mo'), 'inpatient_admits': count_admits(member.claims) } # Pharmacy Features (520) pharmacy_features = { 'drug_classes': unique_drug_classes(member.rx_claims), 'mpr_trends': calculate_mpr_trajectory(member.rx_claims), 'dose_escalation': detect_dose_changes(member.rx_claims), 'prior_auth_denials': count_pa_denials(member.rx_claims), 'specialty_drugs': count_specialty_fills(member.rx_claims) } # Biometric Features (310) biometric_features = { 'hba1c_trend': calculate_trend(member.labs, 'HbA1c'), 'bmi_trajectory': calculate_trend(member.vitals, 'BMI'), 'creatinine_trend': calculate_trend(member.labs, 'creatinine'), 'missing_labs': count_missing_values(member.labs) } # Social Determinants (177) sdoh_features = { 'svi_score': lookup_social_vulnerability_index(member.zip_code), 'distance_to_oncology': calculate_distance(member.zip_code, 'oncology_center'), 'food_desert': check_food_desert_proximity(member.zip_code), 'transit_access': check_transit_to_dialysis(member.zip_code) } return combine_features(medical_features, pharmacy_features, biometric_features, sdoh_features) # Stage 2: Gradient Boosting Ensemble def train_prediction_model(training_data): # XGBoost Configuration xgb_model = XGBClassifier( max_depth=8, learning_rate=0.03, n_estimators=1500, subsample=0.8, colsample_bytree=0.8, objective='binary:logistic' ) # LightGBM Configuration lgb_model = LGBMClassifier( num_leaves=127, learning_rate=0.03, n_estimators=1500, feature_fraction=0.8 ) # Train both models xgb_model.fit(training_data.X, training_data.y) lgb_model.fit(training_data.X, training_data.y) # Ensemble weights (optimized for precision at top 1%) def predict(member_features): xgb_score = xgb_model.predict_proba(member_features)[1] lgb_score = lgb_model.predict_proba(member_features)[1] return 0.55 * xgb_score + 0.45 * lgb_score # Stage 3: SHAP Explainability def explain_prediction(member, risk_score): shap_values = calculate_shap(member) top_drivers = sorted(shap_values, key=lambda x: abs(x.value), reverse=True)[:7] interventions = recommend_interventions(top_drivers) return { 'risk_score': risk_score, 'predicted_cost_range': estimate_cost_range(risk_score), 'top_risk_drivers': top_drivers, 'recommended_interventions': interventions, 'expected_savings': calculate_intervention_impact(interventions) } # Model Performance Metrics: # AUC-ROC: 0.84 # Precision @ Top 1%: 68% (68 out of 100 flagged will cross $100K) # Precision @ Top 5%: 42% (actionable for care management) # False Positive Rate: 3.2%
textMonday 3 AM: 1. Ingest updated claims data (medical + Rx) from prior week 2. Refresh biometric data from health portal integrations 3. Re-score all active members (5-20 minutes for 5K lives) 4. Rank by risk score descending Monday 8 AM: 5. Care management team reviews Top 50 list: - New entrants (jumped into Top 50 this week) - Score accelerations (moved up 20+ positions) - Deceleration (dropped out — intervention working?) 6. Automated outreach triggers: - SMS to member: "Your care team wants to connect about your health goals" - Email to PCP: "Member X flagged for care coordination — attached clinical summary" - Alert to HR benefits team (if member shows benefit non-utilization) 7. Care manager assigns cases: - Tier 1 (Score > 0.80): Immediate phone outreach + home visit if needed - Tier 2 (Score 0.60-0.80): Telephonic case management - Tier 3 (Score 0.40-0.60): Digital nudges + educational materials Thursday Review: 8. Track intervention outcomes: - Did member engage with care manager? - Was specialist appointment scheduled? - Did clinical indicators improve? Monthly Retrospective: 9. Validate model performance: - Of members predicted to cross $100K, how many actually did? - Of interventions deployed, what was cost impact? - Retrain model if drift detected (AUC drops below 0.80)
Deploy AI-powered large claimant prediction with 6-18 month lead time. Proactive care management, Centers of Excellence steering, and dynamic stop-loss optimization—all driven by real-time ML scoring.
Request Model Demo→