Ano 14 Nº 5x/2026 – Um Sistema de Apoio à Decisão Baseado em Aprendizado de Máquina para Autoavaliação e Recomendação de Acompanhamento de Sintomas Respiratórios no Rio Grande do Sul
Alex Sander Dominguês1, Eliezer Presa Raulim2, Thales Dallasta3
1Engenharia de Computação – Universidade Federal do Pampa (Unipampa) Avenida Maria Anunciação Gomes de Godoy, 1650 – 96413-172 – Bagé – RS – Brazil

Abstract. This paper presents a proof of concept for a patient-centered Decision Support System aimed at the self-assessment of respiratory symptoms in Rio Grande do Sul, Brazil. The prototype uses Severe Acute Respiratory Syndrome data from DataSUS and supervised Machine Learning to stratify risk without replacing medical evaluation. Two Random Forest models are considered: one including oxygen saturation and another without this variable, improving accessibility for users without an oximeter. Based on age and respiratory symptoms, the system returns low urgency, urgent, or emergent classes. The implementation is computationally feasible, but its operational labels and recommendations require clinical validation before practical use.
Resumo. Este artigo apresenta uma prova de conceito de um Sistema de Apoio à Decisão centrado no paciente para autoavaliação de sintomas respiratórios no Rio Grande do Sul. O protótipo utiliza dados de Síndrome Respiratória Aguda Grave do DataSUS e Aprendizado de Máquina supervisionado para estratificar risco sem substituir a avaliação médica. São considerados dois modelos Random Forest: um com saturação de oxigênio e outro sem essa variável, ampliando o acesso de usuários sem oxímetro. A partir da idade e de sintomas respiratórios, o sistema retorna as classes pouco urgente, urgente ou emergente. A implementação mostrou-se computacionalmente viável, mas seus rótulos operacionais e recomendações ainda exigem validação clínica antes do uso prático.
1. Introdução
Doenças respiratórias, como asma, Doença Pulmonar Obstrutiva Crônica e infecções agudas, representam um desafio de saúde pública. No Rio Grande do Sul, orientar a população sobre quando procurar atendimento pode contribuir tanto para evitar o atraso em casos graves quanto para reduzir demandas desnecessárias nos serviços de urgência. Pessoas sem formação médica podem subestimar sinais como tosse persistente, dispneia e desconforto respiratório ou, no sentido oposto, procurar emergências por sintomas leves.
Nesse contexto, Sistemas de Apoio à Decisão (SAD) podem aproximar a percepção do paciente de uma recomendação inicial de acompanhamento. Este trabalho propõe um SAD com escopo regional e apresenta um protótipo treinado com dados de Síndrome Respiratória Aguda Grave (SRAG), disponibilizados pelo Ministério da Saúde [Ministério da Saúde 2026]. A solução compara dois modelos Random Forest, com e sem saturação de oxigênio, pois nem todos os usuários possuem oxímetro. Sua saída não corresponde a diagnóstico: indica apenas um nível preliminar de urgência, sujeito à validação profissional.
2. Metodologia
A prova de conceito compreende a preparação da base SRAG/DataSUS, a criação de uma variável operacional de gravidade, o treinamento offline de dois modelos e a simulação da triagem em Streamlit. O treinamento é separado da aplicação web: os classificadores são salvos em arquivos .pkl e carregados apenas no momento da inferência. Essa arquitetura reduz o tempo de resposta, embora não elimine a necessidade de validação clínica.
2.1. Coleta e Preparação dos Dados
A base é lida de um arquivo CSV separado por ponto e vírgula. Foram selecionadas as colunas NU_IDADE_N, FEBRE, TOSSE, DISPNEIA, DESC_RESP, SATURACAO e CLASSI_FIN. Registros sem classificação final ou sem sintomas considerados essenciais são removidos, os campos são convertidos para formato numérico e os sintomas são recodificados como presença (1) ou ausência (0).
A variável alvo gravidade deriva de uma regra implementada no protótipo: CLASSI_FIN = 5 corresponde a pouco urgente; valores 1, 2 ou 3, sem indicação de saturação baixa, correspondem a urgente; os demais casos são classificados como emergentes. Essa regra tem finalidade exclusivamente operacional e precisa ser revisada por profissionais da saúde.
2.2. Modelagem Preditiva
Foram treinados dois classificadores Random Forest. O primeiro utiliza todas as variáveis, incluindo saturação, e é salvo como modelo_com_sat.pkl. O segundo exclui essa medida e é salvo como modelo_sem_sat.pkl. O algoritmo combina várias árvores de decisão e permite representar relações não lineares entre os sinais informados. Entretanto, sua robustez computacional não comprova segurança clínica quando os rótulos ainda são experimentais.
2.3. Estratificação de Risco e Saída do Sistema
O modelo retorna três níveis: emergente, urgente e pouco urgente. Na prova de conceito, cada classe demonstra um fluxo possível de encaminhamento. Em uma aplicação real, os textos de orientação e os limiares de risco precisariam ser definidos por especialistas e avaliados segundo protocolos assistenciais. Portanto, a saída deve ser interpretada como apoio inicial, nunca como diagnóstico ou decisão médica definitiva.
2.4. Métricas de Avaliação
Não são apresentadas acurácia, F1-Score ou sensibilidade como evidências clínicas, pois a variável alvo foi produzida por uma regra do próprio projeto. A avaliação atual verifica somente o funcionamento do fluxo: preparação dos dados, treinamento, gravação e carregamento dos modelos, seleção conforme a disponibilidade da oximetria e emissão da classe com suas probabilidades.
Após a validação dos rótulos, deverão ser empregados conjunto de teste independente, validação cruzada, matriz de confusão, F1-Score e sensibilidade. Em triagem, a sensibilidade deve receber atenção especial para reduzir falsos negativos, sem ignorar o impacto de falsos positivos sobre os serviços de saúde.
3. Fundamentação Teórica e Trabalhos Relacionados 3.1. Sistemas de Apoio à Decisão
SAD são soluções computacionais que transformam dados em informações úteis para apoiar escolhas. Eles combinam coleta e organização de dados, regras ou modelos analíticos e apresentação de recomendações. Podem utilizar regras definidas por especialistas, mais interpretáveis, ou modelos orientados por dados, capazes de identificar padrões complexos. Neste trabalho, o SAD atua entre os sintomas percebidos e a decisão sobre buscar acompanhamento, sem substituir o julgamento clínico.
3.2. Sistemas de Apoio à Decisão na Saúde
Na saúde, SAD apoiam triagem, priorização, acompanhamento e prevenção de riscos. Quando voltados ao paciente, devem respeitar limites éticos e regulatórios, evitar diagnósticos definitivos e indicar claramente suas limitações. Em problemas respiratórios, esse cuidado é relevante porque sinais inicialmente leves podem evoluir, enquanto quadros de baixa gravidade podem provocar procura desnecessária por atendimento emergencial.
3.3. Sistemas de Apoio à Decisão Centrados no Paciente
Sistemas centrados no paciente integram a Consumer Health Informatics: o próprio usuário informa sintomas e outros dados para receber orientação fora do ambiente hospitalar. A autotriagem pode usar árvores de decisão, modelos probabilísticos ou algoritmos preditivos para indicar o fluxo de atendimento. No protótipo, a interface coleta informações simples e escolhe automaticamente o modelo com ou sem saturação, permitindo a participação de usuários com diferentes recursos domiciliares.
3.4. Random Forest
Random Forest é um algoritmo supervisionado de ensemble learning. Diversas árvores são treinadas com subconjuntos dos dados e das variáveis, e a classe final é obtida pela votação do conjunto. Essa estratégia tende a ser mais estável que uma árvore isolada e pode lidar com relações não lineares e variáveis heterogêneas. No cenário proposto, o método combina idade, sintomas e oximetria para estimar uma classe de risco; a qualidade dessa estimativa, contudo, depende diretamente da representatividade dos dados e da validade clínica dos rótulos.
3.5. Trabalhos Relacionados
Estudos recentes associam o aumento de casos respiratórios à sobrecarga de departamentos de emergência e investigam recursos digitais para organizar a demanda [Anonymous 2023]. Ahn et al. [Ahn et al. 2024] compararam ferramentas de autotriagem com triagem conduzida por enfermeiros, destacando o potencial dos sintomas relatados pelo próprio paciente. Na mesma direção, Stokes et al. [Stokes et al. 2021] aplicaram Aprendizado de Máquina ao encaminhamento de bronquite e pneumonia em ambientes com poucos recursos.
Ellertsson et al. [Ellertsson et al. 2023] desenvolveram um modelo para triagem de sintomas respiratórios na atenção primária, enquanto Patel et al. [Patel et al. 2025] compararam plataformas de Inteligência Artificial com um verificador governamental de sintomas. Killeen et al. [Killeen et al. 2026] investigaram dados gerados por pacientes para antecipar necessidades clínicas. Esses trabalhos sustentam três aspectos desta proposta: gerenciamento da demanda, viabilidade da autotriagem e uso de modelos preditivos. O diferencial aqui é o recorte do Rio Grande do Sul e a comparação entre fluxos com e sem oximetria.
4. Implementação do Projeto
A implementação possui dois componentes. Um programa em Python prepara os dados com pandas, treina classificadores da biblioteca scikit-learn e os serializa com joblib. A aplicação Streamlit carrega os modelos previamente treinados, recebe idade, febre, tosse, dispneia e desconforto respiratório e pergunta se há uma medida de saturação disponível.
Tabela 1. Variáveis da base SRAG utilizadas no protótipo
| Variável | Tipo | Função no protótipo |
| NU_IDADE_N | Numérica | Idade registrada. |
| FEBRE, TOSSE | Binária | Presença dos sintomas após recodificação. |
| DISPNEIA, DESC_RESP | Binária | Falta de ar e desconforto respiratório. |
| SATURACAO | Binária | Saturação abaixo de 95%, quando disponí vel. |
| CLASSI_FIN | Categórica | Campo usado para derivar a gravidade. |
| gravidade | Categórica | Classe alvo: pouco urgente, urgente ou emergente. |
Quando há oximetria, a aplicação monta a entrada completa e utiliza modelo_com_sat.pkl; caso contrário, remove a variável SATURACAO e utiliza modelo_sem_sat.pkl. A Listagem 1 resume essa seleção. O resultado inclui a classe estimada e a distribuição de probabilidades, apresentada de maneira compreensível ao usuário.
1 @st.cache_resource
2 def carregar_modelos():
3 com_sat = joblib.load(“modelo_com_sat.pkl”)
4 sem_sat = joblib.load(“modelo_sem_sat.pkl”)
5 return com_sat, sem_sat
6
7 modelo_com_sat, modelo_sem_sat = carregar_modelos()
8
9 if tem_oximetro == “Sim”:
10 paciente = pd.DataFrame(
11 [[idade, febre, tosse, dispneia,
12 desconforto, sat_input]],
13 columns=col_completo)
14 modelo = modelo_com_sat
15 else:
16 paciente = pd.DataFrame(
17 [[idade, febre, tosse, dispneia,
18 desconforto]], columns=col_sem_sat)
19 modelo = modelo_sem_sat
20
21 resultado = modelo.predict(paciente)[0]
22 probabilidades = modelo.predict_proba(paciente)[0]
Listing 1. Seleção do modelo conforme a disponibilidade da oximetria
A implementação confirma a separação entre treinamento e inferência e demonstra os dois fluxos de entrada. Para uso assistencial, porém, profissionais da saúde devem supervisionar a qualidade dos dados, a definição dos rótulos, a interpretação das métricas e as recomendações exibidas.
5. Resultados do Protótipo
O protótipo realizou a leitura e recodificação das variáveis, construiu a classe operacional e treinou os modelos com e sem saturação. Os arquivos .pkl permitiram que a aplicação executasse somente a inferência, reduzindo a espera no navegador. Nos testes funcionais, o formulário recebeu as informações previstas, selecionou o classificador compatível e apresentou uma das três classes acompanhada das probabilidades estimadas.
Os dois fluxos atendem a condições distintas. O modelo com saturação incorpora uma medida objetiva relevante em quadros respiratórios; o modelo sem saturação amplia a acessibilidade para quem não possui ou não sabe usar um oxímetro. Esses resultados validam preliminarmente a arquitetura e a integração entre os componentes, mas não demonstram desempenho clínico. Como a gravidade foi definida por uma regra operacional, as saídas não podem ser consideradas recomendações assistenciais validadas.
Além da classificação, a apresentação das probabilidades permite verificar se a decisão do conjunto de árvores foi concentrada em uma classe ou distribuída entre alternativas. Essa informação pode apoiar análises posteriores de incerteza, mas não deve ser descrita ao usuário como “certeza clínica”. Em uma avaliação futura, será necessário investigar calibração probabilística, desempenho separado por faixa etária e comportamento do modelo diante de dados ausentes. Também será importante comparar os dois fluxos sobre um mesmo conjunto de teste, quantificando o ganho efetivo associado à saturação e verificando se a alternativa sem oxímetro mantém sensibilidade aceitável para casos de maior risco.
6. Limitações
A principal limitação é a construção simplificada da variável de gravidade. Embora a base SRAG seja pública e real, suas classificações não foram originalmente produzidas para representar os três níveis de triagem definidos neste projeto. Consequentemente, as probabilidades do Random Forest expressam apenas o ajuste aos rótulos operacionais.
Também não houve validação com profissionais da saúde nem estudo prospectivo com usuários. Sintomas autorrelatados podem ser interpretados incorretamente, e a aplicação ainda não possui mecanismos completos de acessibilidade, integração automatizada com a fonte de dados ou controle abrangente de entradas inválidas. A contribuição deve, portanto, ser entendida como demonstração da arquitetura, e não como entrega de um sistema pronto para uso assistencial.
Por utilizar registros de SRAG, a amostra também representa pessoas que já ingressaram no sistema de vigilância de casos graves e pode não refletir adequadamente quadros respiratórios leves observados na população geral. Diferenças regionais, temporais e de preenchimento dos formulários podem introduzir vieses. Uma validação responsável deverá considerar dados externos, análise por subgrupos, proteção de dados pessoais, explicabilidade das recomendações e protocolos claros para sinais de alerta que exijam encaminhamento independente da predição do modelo.
7. Considerações Finais
Este trabalho apresentou um SAD baseado em Aprendizado de Máquina para autoavaliação de sintomas respiratórios no Rio Grande do Sul. A prova de conceito articula dados públicos, treinamento offline e uma interface de triagem que seleciona modelos Random Forest com ou sem saturação. A separação entre treinamento e inferência melhora o desempenho da aplicação, enquanto os dois fluxos reconhecem as diferentes condições de acesso à oximetria domiciliar.
O sistema não substitui diagnóstico nem avaliação profissional. Sua principal contribuição é demonstrar uma arquitetura flexível para orientação inicial de risco. Como trabalhos futuros, pretende-se aprimorar o recorte da base para o estado, ampliar as variáveis, validar a definição de gravidade com especialistas, comparar formalmente os dois classificadores e avaliar usabilidade, segurança e acessibilidade antes de qualquer aplicação prática.
Referências
Ahn, J. et al. (2024). A comparison of self-triage tools to nurse driven triage in the emergency department. Canadian Journal of Emergency Medicine. PMCID: PMC11356451.
Anonymous (2023). A digital twin for shortening waiting times in emergency departments during respiratory disease peaks. In Advances in Healthcare Simulation and Systems. Springer.
Ellertsson, S., Hlynsson, H. D., Loftsson, H., and Sigurdsson, E. L. (2023). Triaging patients with artificial intelligence for respiratory symptoms in primary care to improve patient outcomes: A retrospective diagnostic accuracy study. The Annals of Family Medicine, 21(3):240–248.
Killeen, M. et al. (2026). Predicting laboratory tests from patient generated health data could accelerate laboratory orders in the emergency department. TechRxiv.
Ministério da Saúde (2026). Banco de dados de síndrome respirató ria aguda grave (srag) 2019 a 2026. Portal Dados Abertos em Sa úde. Disponível em: https://dadosabertos.saude.gov.br/dataset/srag-2019-a 2026/resource/d96d6348-083a-4184-a39a-794b5e8ec337.
Patel, A. et al. (2025). Evaluation of artificial intelligence for patient self-triage: Comparison of general-purpose ai platforms with the nhs 111 online symptom checker in the united kingdom. Cureus. PMCID: PMC12741861.
Stokes, K., Castaldo, R., Franzese, M., Salvatore, M., Fico, G., Pokvic, L. G., Badnjevic, A., and Pecchia, L. (2021). A machine learning model for supporting symptom-based referral and diagnosis of bronchitis and pneumonia in limited resource settings. Biocybernetics and Biomedical Engineering, 41(4):1288– 1302.
────────────────────────
Alex Sander Domingues, Eliezer Presa Raulim e Thales Dallasta.
Graduandos do curso Engenharia de Computação, UNIPAMPA.
.jpeg)