File size: 1,524 Bytes
8e844df
8b893c4
8e844df
11bd726
 
 
fe8d957
4468aa8
01dd0c9
8b53881
37259df
2f6133f
 
8b893c4
 
 
 
 
 
 
1ba86d2
8b893c4
 
 
 
093c97f
8b893c4
dda69c9
5c68510
 
 
8ea4a62
8b893c4
cd0701a
11b6b26
14681cf
bb8fcd0
d993188
f2657bd
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
39
import streamlit as st
import pandas as pd 

for k, v in st.session_state.items():
    st.session_state[k] = v

st.title("📘Map internal description to SBS codes V2.0")
st.subheader("Select specific Chapter for quicker results")
st.subheader("Demo currently limited to Chapter 20: Imaging services; (Work in progress)")
df_chapters = pd.read_csv("SBS/SBS_V2_Chapter_Index_Rows.csv")

def dataframe_with_selections(df_chapters: pd.DataFrame, init_value: bool = False) -> pd.DataFrame:
    df_with_selections = df_chapters.copy()
    df_with_selections.insert(0, "Select", init_value)

    # Get dataframe row-selections from user with st.data_editor
    edited_df = st.data_editor(
        df_with_selections,
        hide_index=True,
        column_config={"Select": st.column_config.CheckboxColumn(required=True)},
        disabled=df_chapters.columns,
    )

    # Filter the dataframe using the temporary column, then drop the column
    selected_rows = edited_df[edited_df.Select]
    return selected_rows.drop('Select', axis=1)

if "selected_chapters" not in st.session_state:
    st.session_state['selected_chapters'] = []
selected_chapters_list = st.session_state.selected_chapters

selected_chapters = dataframe_with_selections(df_chapters)
st.write("Your selection:")
st.write(selected_chapters)
selected_chapters_list = selected_chapters.iloc[:,0].tolist()
#st.write("SELECTED CHAPTERS: ", selected_chapters_list)

if selected_chapters is not None:
    st.session_state.selected_chapters = selected_chapters_list