| import streamlit as st | |
| import pandas as pd | |
| #st.title("📘SBS mapper") | |
| st.header("Map internal descriptions to SBS codes V2.0") | |
| st.write("Work in progress; Demo currently limited to Chapter 20: Imaging services") | |
| #st.image("images/SBS_Chapter_Index.png", use_container_width=True) | |
| st.subheader("Select specific Chapter for quicker results") | |
| df_chapters = pd.read_csv("SBS_V2_Chapter_Index.csv") | |
| df_chapters.iloc[25] = {"Chapter": "ALL", "Chapter title": "ALL CHAPTERS (will take more time)", "Blocks": "Total", "No. Codes": 10081} | |
| #st.dataframe(df_chapters, hide_index=True) # redundant, as dataframe will be displayed by below function | |
| 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) | |
| selection = dataframe_with_selections(df_chapters) | |
| st.write("Your selection:") | |
| st.write(selection) | |
| #'Procedures on nervous system' | |
| #'Procedures on endocrine system' | |
| #'Procedures on eye and adnexa' | |
| #'Procedures on ear and mastoid process' | |
| #'Procedures on nose, mouth and pharynx' | |
| #'Dental services' | |
| #'Procedures on respiratory system' | |
| #'Procedures on cardiovascular system' | |
| #'Procedures on blood and blood-forming organs' | |
| #'Procedures on digestive system' | |
| #'Procedures on urinary system' | |
| #'Procedures on male genital organs' | |
| #'Gynaecological procedures' | |
| #'Obstetric procedures' | |
| #'Procedures on musculoskeletal system' | |
| #'Dermatological and plastic procedures' | |
| #'Procedures on breast' | |
| #'Radiation oncology procedures' | |
| #'Non-invasive, cognitive and other interventions, not elsewhere classified' | |
| #'Imaging services' | |
| #'Laboratory and Pathology Services' | |
| #'Ambulance and Transport Services' | |
| #'KSA Service Codes' | |
| #'Emergency Medical Services (EMS)' | |
| #'Mortuary Services' |