File size: 1,555 Bytes
957da96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f22d47
 
 
 
 
 
 
957da96
 
 
 
 
 
 
 
 
 
 
1f22d47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import pandas as pd
import plotly.graph_objects as go

def create_sunburst_plot(df):
    fig = go.Figure(go.Sunburst(
        labels=df['labels'],
        parents=df['parents'],
        values=df['values'],
        ids=df['ids'],
        text=df['text'],
        hoverinfo="label+value",
        branchvalues="total",
    ))

    fig.update_layout(margin=dict(t=0, l=0, r=0, b=0))
    return fig

data = [
    {'ids': 'Root', 'labels': 'πŸ“š Prior Authorization Requirements', 'parents': '', 'values': None, 'text': 'πŸ“š Prior Authorization Requirements'},
    {'ids': 'Hip Surgery', 'labels': 'πŸ’‰ Hip Surgery', 'parents': 'Root', 'values': 6500, 'text': 'πŸ’‰ Hip Surgery'},
    {'ids': 'Knee Surgery', 'labels': 'πŸ’‰ Knee Surgery', 'parents': 'Root', 'values': 8500, 'text': 'πŸ’‰ Knee Surgery'},
    {'ids': 'CPT1', 'labels': 'CPT 27130', 'parents': 'Hip Surgery', 'values': 5000, 'text': 'CPT 27130: Total Hip Arthroplasty'},
    {'ids': 'CPT2', 'labels': 'CPT 20610', 'parents': 'Hip Surgery', 'values': 150, 'text': 'CPT 20610: Joint Aspiration or Injection'},
    {'ids': 'CPT3', 'labels': 'CPT 73501', 'parents': 'Hip Surgery', 'values': 350, 'text': 'CPT 73501: Hip X-Ray, 1 view'},
    {'ids': 'CPT4', 'labels': 'CPT 76700', 'parents': 'Hip Surgery', 'values': 1000, 'text': 'CPT 76700: Abdominal Ultrasound'},
]

df = pd.DataFrame(data)

# Filter DataFrame using a query parameter
def filter_data(df, query):
    return df.query(query)

filtered_df = filter_data(df, "parents == 'Root'")

fig = create_sunburst_plot(filtered_df)
fig.show()