O projeto Unimed Data Intelligence foi desenvolvido durante o Hackathon Unimed Ponta Grossa com o objetivo de analisar dados de beneficiários, prever o risco de reinternação hospitalar e otimizar a rota de visitas domiciliares para pacientes de alto risco.
A solução utiliza técnicas de Machine Learning e integração com APIs do Google para apoiar equipes médicas e administrativas na priorização do atendimento.
💡 A base de dados utilizada neste projeto foi gerada artificialmente com auxílio de Inteligência Artificial para fins de demonstração, sem conter dados reais de pacientes.
- Visão Geral do Projeto
- Arquitetura e Fluxo de Dados
- Funcionalidades Principais
- Modelo Preditivo
- Dashboard e Filtros Interativos
- Otimização de Rotas com Google Maps
- Requisitos e Instalação
- Uso do Sistema
- Estrutura do Projeto
- Resultados de Exemplo
- Créditos e Autores
- Licença
O Unimed Data Intelligence permite prever o risco de reinternação de beneficiários e planejar visitas domiciliares com base em critérios de prioridade e eficiência logística.
A solução combina análise preditiva e geoprocessamento inteligente para aumentar a eficácia no acompanhamento de pacientes crônicos e de alto risco.
-
Entrada de Dados (Base Sintética):
- Geração artificial de pacientes e características clínicas (idade, gênero, custo mensal, CID, etc.).
- Armazenamento em planilha Google Sheets ou CSV.
-
Pré-processamento e Treinamento:
- Pipeline de Machine Learning com
scikit-learneGradientBoostingClassifier. - Normalização de variáveis e codificação categórica automática.
- Pipeline de Machine Learning com
-
Geração de Previsões:
- Cálculo do
ScoreRisco_Preditivo(probabilidade de reinternação em 30 dias). - Exportação dos resultados ordenados para CSV e Google Sheets.
- Cálculo do
-
Dashboard Interativo:
- Exibição de pacientes ordenados pelo score.
- Filtros por idade e gênero.
- Seleção de pacientes para geração de rota.
- Controle de visitas realizadas.
-
Otimização de Rotas:
- Uso da Google Maps API para cálculo de distâncias.
- Algoritmo Branch and Bound (TSP) para determinar a rota mais eficiente.
✅ Leitura direta da planilha Google Sheets
✅ Treinamento e avaliação de modelo preditivo
✅ Exportação automática de resultados
✅ Dashboard moderno com filtros combinados
✅ Seleção de pacientes e geração de rota otimizada
✅ Controle de visitas realizadas em tempo real
O Score de Risco é calculado com base em um modelo supervisionado de Machine Learning, treinado a partir de dados simulados com comportamento estatístico realista.
Critérios iniciais inspirados em políticas de saúde suplementar:
2 × ticket_médio ≤ custo_mensal < 10 × ticket_médio- E um dos seguintes:
- Internações > 0
- Diagnóstico CID crônico
- Consultas > 3
- Consultas de emergência > 1
O modelo de Gradient Boosting aprendeu padrões complexos e calculou a probabilidade de reinternação em 30 dias.
🧮 Exemplo:
ScoreRisco_Preditivo = 0.92→ 92% de chance de nova internação.
- Recall: ~72%
- AUC-ROC: ~0.84
O painel (frontend) exibe os pacientes de forma dinâmica e interativa:
| Função | Descrição |
|---|---|
| 🔍 Filtro por idade | Ordena pacientes de maior para menor (ou vice-versa). |
| 🚻 Filtro por gênero | Mostra Masculino, Feminino ou ambos. |
| ✅ Seleção de pacientes | Escolhe quais entrarão na rota de visitas. |
| 📊 Score de risco | Mostra a probabilidade preditiva individual. |
| 🗺️ Gerar rota | Cria rota otimizada via Google Maps. |
| 🏁 Visita realizada | Atualiza o status e move o paciente para “Visitados Hoje”. |
A função de rotas utiliza a Distance Matrix API do Google Maps e um algoritmo Branch and Bound (TSP) para definir a sequência de visitas mais eficiente.
🔑 Observação:
A chave da API (GOOGLE_MAPS_API_KEY) deve ser armazenada com segurança, nunca diretamente no código-fonte.
- Python 3.8+
- Conta Google com acesso a Google Sheets API
- Chave válida para Google Maps API
pip install pandas scikit-learn seaborn matplotlib gspread google-auth google-auth-oauthlibpython analiseunimed.pyImplementação em React/TypeScript, consumindo os dados diretamente da planilha Google Sheets publicada em formato CSV.
📂 UnimedDataIntelligence/
├── analiseunimed.py # Script de análise e exportação
├── unimed_corrigido.csv # Base sintética de pacientes
├── ResultadosUnimed.pdf # Relatório de saída com previsões
├── previsoes_finais.csv # Resultado gerado pelo modelo
└── README.md # Documentação do projeto
| Nome | Carteirinha | Idade | Gênero | Tipo Contrato | ScoreRisco_Preditivo |
|---|---|---|---|---|---|
| Sophia Martins | 69176732845 | 78 | Feminino | Familiar | 0.93 |
| Heitor Silva | 69402783162 | 80 | Masculino | Familiar | 0.92 |
| Alice Rodrigues | 69402404623 | 85 | Feminino | Coletivo | 0.90 |
| Gabriel Souza | 69352309595 | 78 | Masculino | Familiar | 0.91 |
O Score de Risco é uma probabilidade calculada por um modelo de Machine Learning que avalia:
⬇️ Principais Parâmetros Considerados:
- 🧓 Idade e histórico clínico
- 💰 Custo mensal e ticket médio
- 🏥 Número de internações e consultas
- 💉 Diagnósticos (CID)
- ⏱️ Recência de atendimentos e urgências
Este projeto foi desenvolvido durante o Hackathon Unimed Ponta Grossa
por:
- André Martins da Silva
- Fernanda Pacheco Bento
- Pedro Silveira Carvalho
Distribuído sob a Licença MIT.
Uso, modificação e redistribuição são permitidos, desde que mantidos os devidos créditos.
✨ Projeto criado com base em Inteligência Artificial aplicada à saúde suplementar, com foco em eficiência e cuidado personalizado.