|
|
import gradio as gr |
|
|
import pandas as pd |
|
|
|
|
|
def predict_benefit(plan_type, drug_tier, member_age): |
|
|
""" |
|
|
Simple demo logic: mock Drug Benefit Management score calculator. |
|
|
Replace this with your model or logic. |
|
|
""" |
|
|
base_cost = 100 |
|
|
tier_factor = {"Tier 1": 0.8, "Tier 2": 1.0, "Tier 3": 1.3}.get(drug_tier, 1.0) |
|
|
plan_factor = {"Basic": 1.1, "Standard": 1.0, "Premium": 0.9}.get(plan_type, 1.0) |
|
|
age_factor = 1.2 if member_age > 65 else 1.0 |
|
|
|
|
|
total_cost = base_cost * tier_factor * plan_factor * age_factor |
|
|
benefit_score = round(100 - total_cost / 2, 2) |
|
|
|
|
|
return f"Estimated Benefit Score: {benefit_score}" |
|
|
|
|
|
|
|
|
with gr.Blocks(title="Drug Benefit Management") as demo: |
|
|
gr.Markdown("## 💊 Drug Benefit Management Model") |
|
|
plan_type = gr.Dropdown(["Basic", "Standard", "Premium"], label="Plan Type") |
|
|
drug_tier = gr.Dropdown(["Tier 1", "Tier 2", "Tier 3"], label="Drug Tier") |
|
|
member_age = gr.Slider(18, 90, 45, label="Member Age") |
|
|
|
|
|
output = gr.Textbox(label="Predicted Benefit Score") |
|
|
submit = gr.Button("Calculate Benefit") |
|
|
|
|
|
submit.click(predict_benefit, [plan_type, drug_tier, member_age], output) |
|
|
|
|
|
demo.launch(share=True) |