Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import joblib | |
| modeldic = joblib.load("src/modelo_logreg_multi_new_weight-2.joblib") | |
| model = modeldic['model'] | |
| st.title("Classificação de Triagem") | |
| st.markdown( | |
| """ | |
| Esta aplicação classifica a cor de triagem do seu paciente, tendo em conta a informação recebida por ele. | |
| **:blue[Azul]** : Não Urgente | |
| **:green[Verde]** : Pouco Urgente | |
| **:yellow[Amarelo]** : Urgente | |
| **:orange[Laranja]** : Muito Urgente | |
| **:red[Vermelho]** : Emergência | |
| """ | |
| ) | |
| #Info do paciente | |
| #Código | |
| code = st.text_input("Código de ICD-10?: ") | |
| #Género | |
| pacientgender = st.radio( | |
| "Género?", | |
| ["Feminino", "Masculino"] | |
| ) | |
| if pacientgender == "Feminino": | |
| pacientgender = "Female" | |
| else: | |
| pacientgender = "Male" | |
| #Urgência | |
| urgency = st.radio( | |
| "É necessário execução rápida?: ", | |
| ["Sim", "Mais ou Menos", "Não"] | |
| ) | |
| if urgency == "Sim": | |
| urgency = 2 | |
| elif urgency == "Mais ou Menos": | |
| urgency = 1 | |
| else: | |
| urgency = 0 | |
| #Crítico? | |
| critical = st.radio( | |
| "O seu estado é crítico?: ", | |
| ["Sim","Mais ou Menos", "Não"] | |
| ) | |
| if critical == "Sim": | |
| critical = 2 | |
| elif critical == "Mais ou Menos": | |
| critical = 1 | |
| else: | |
| critical == 0 | |
| #Dor | |
| pain = st.select_slider( | |
| "De 0 a 10, qual é a dor relatada pelo paciente?", | |
| options=[ | |
| 0, 1, 2, 3 ,4 ,5 ,6 , 7, 8, 9, 10 | |
| ], | |
| ) | |
| #Consciência | |
| conscious = st.radio( | |
| "O paciente está consciente?: ", | |
| ["Sim","Mais ou Menos", "Não"] | |
| ) | |
| if conscious == "Sim": | |
| conscious = 2 | |
| elif conscious == "Mais ou Menos": | |
| conscious = 1 | |
| else: | |
| conscious = 0 | |
| #Idade | |
| pacientage = st.slider("Idade?", 0, 120, 0) | |
| if st.button("Estou pronto para fazer a previsão", type="primary"): | |
| z = pd.DataFrame(data=[[code,pacientgender, urgency, critical, pain, conscious, pacientage]], | |
| columns=['ChiefComplaint', 'gender', 'NeedFastExecute', 'CriticalStatus', 'PainGrade', 'StuporStatus', 'age'], | |
| index=['new pacient']) | |
| prediction = model.predict(z) | |
| if prediction[0] == 1: | |
| st.text("Azul") | |
| elif prediction[0] == 2: | |
| st.text("Verde") | |
| elif prediction[0] == 3: | |
| st.text("Amarelo") | |
| elif prediction[0] == 4: | |
| st.text("Laranja") | |
| elif prediction[0] == 5: | |
| st.text("Vermelho") | |