Track Services Per Member Per Year Across 50+ Care Categories—Detect Overutilization, Underutilization, and Mix-Shift
python# Utilization Trend Analysis utilization_categories = { 'emergency_room': { 'visits_pmpy': lambda claims: calculate_pmpy(claims, place_of_service='23'), 'benchmark': 2.8, 'target_range': (1.8, 3.2) }, 'inpatient_admits': { 'admits_pmpy': lambda claims: calculate_pmpy(claims, revenue_code='0100-0219'), 'benchmark': 0.065, 'target_range': (0.050, 0.080) }, 'mri_ct_scans': { 'scans_pmpy': lambda claims: calculate_pmpy(claims, cpt_prefix=['70', '71', '72', '73']), 'benchmark': 0.95, 'target_range': (0.70, 1.20) }, 'preventive_colonoscopy': { 'procedures_pmpy': lambda claims: calculate_pmpy(claims, cpt_code='G0121'), 'benchmark': 0.082, # Age 50+ eligible population 'target_range': (0.070, 0.095) } } def analyze_utilization_trends(current_claims, prior_claims, members): results = {} for category, config in utilization_categories.items(): # Current Period Utilization current_services = count_services(current_claims, config) current_member_months = members.current_period_member_months current_pmpy = (current_services / current_member_months) * 12 # Prior Period Utilization prior_services = count_services(prior_claims, config) prior_member_months = members.prior_period_member_months prior_pmpy = (prior_services / prior_member_months) * 12 # Trend Calculation utilization_trend = (current_pmpy / prior_pmpy) - 1 # Benchmark Variance benchmark_variance = (current_pmpy / config['benchmark']) - 1 # Flag Status if current_pmpy > config['target_range'][1]: flag = 'OVERUTILIZATION' elif current_pmpy < config['target_range'][0]: flag = 'UNDERUTILIZATION' else: flag = 'NORMAL' results[category] = { 'current_pmpy': current_pmpy, 'prior_pmpy': prior_pmpy, 'utilization_trend': utilization_trend, 'benchmark': config['benchmark'], 'benchmark_variance': benchmark_variance, 'flag': flag } return results # Example Output: # { # 'emergency_room': { # 'current_pmpy': 4.2, # 'prior_pmpy': 3.8, # 'utilization_trend': 0.105, # +10.5% # 'benchmark': 2.8, # 'benchmark_variance': 0.50, # 50% above benchmark # 'flag': 'OVERUTILIZATION' # }, # 'preventive_colonoscopy': { # 'current_pmpy': 0.058, # 'prior_pmpy': 0.062, # 'utilization_trend': -0.065, # -6.5% # 'benchmark': 0.082, # 'benchmark_variance': -0.293, # 29% below benchmark # 'flag': 'UNDERUTILIZATION' # } # }
Track services PMPY across 50+ categories. Detect overutilization waste, close preventive care gaps, and optimize site-of-service mix.
Analyze Utilization→