Sistema web para apoio à triagem clínica da Síndrome do X Frágil (SXF) e ao acompanhamento da jornada do paciente no contexto do Instituto IBK.
O Sistema-X permite cadastrar pacientes, registrar familiares, anexar documentos anteriores, conduzir pré-avaliação, calcular score clínico, registrar encaminhamento para exame genético, acompanhar o recebimento do resultado e documentar o suporte pós-diagnóstico.
Apoiar profissionais da saúde e equipes técnicas na organização da jornada do paciente com suspeita de SXF, reduzindo perda de informações entre cadastro, triagem, exame, resultado e suporte familiar.
O sistema também busca manter registros compatíveis com boas práticas de proteção de dados, com campos para consentimento e documentação de finalidade assistencial.
O fluxo implementado segue a jornada levantada para o Instituto:
- Cadastro do paciente.
- Recepção pela equipe técnica.
- Avaliação da requisição médica.
- Triagem clínica e socioeconômica.
- Encaminhamento para realização do exame.
- Recebimento do resultado.
- Suporte pós-diagnóstico.
Para resultados positivos, o sistema permite registrar:
- Acolhimento familiar.
- Aconselhamento genético.
- Inserção em atividades do Programa Eu Digo X.
Para resultados negativos, o sistema permite registrar:
- Orientações sobre outras possibilidades diagnósticas.
- Encaminhamento para grupos de apoio ou assessoramento.
- Login de profissionais.
- Cadastro de usuários.
- Senhas armazenadas com hash.
- Controle de acesso às áreas internas.
- Dados cadastrais e de contato.
- Nome social.
- Origem do encaminhamento.
- Endereço.
- Status atual na jornada.
- Avaliação da requisição médica.
- Triagem clínica.
- Triagem socioeconômica.
- Características físicas.
- Fotos de rosto, perfil e lado.
- Registro de conformidade LGPD.
- Cadastro de familiares vinculados ao paciente.
- Indicação de cadastro antes ou após avaliação.
- Contato telefônico e e-mail.
- Observações por familiar.
- Registro de avaliações anteriores.
- Requisições médicas.
- Resultados de exames.
- Outros documentos relevantes.
- Upload de arquivos associados ao paciente.
- Checklist de sintomas associados à SXF.
- Registro de sintomas cognitivos, físicos e comportamentais.
- Cálculo automático do score clínico.
- Aplicação de pesos por sintoma e por sexo.
- Comparação automática com limiar de decisão.
- Registro do resultado do exame.
- Classificação do tipo do resultado.
- Registro de encaminhamento para exame.
- Plano pós-diagnóstico.
- Suporte pós-diagnóstico.
- Geração de documento textual da jornada do paciente.
- Dashboard com métricas gerais.
- Histórico de avaliações.
- Relatórios analíticos com gráficos Plotly.
- Exportação de pacientes para Excel.
- Exportação de avaliações para Excel.
O score é calculado pela soma ponderada dos sintomas presentes:
Score = soma(peso do sintoma presente)
Limiares padrão:
| Sexo | Limiar |
|---|---|
| Masculino | 0.56 |
| Feminino | 0.55 |
Quando o score é maior ou igual ao limiar, o sistema recomenda encaminhamento para teste genético confirmatório.
- Python
- Flask
- SQLAlchemy
- MySQL
- PyMySQL
- Pandas
- Plotly
- OpenPyXL
- HTML
- CSS
- JavaScript
Sistema-X/
├── app/
│ ├── __init__.py
│ ├── database.py
│ ├── models.py
│ ├── assessments/
│ ├── auth/
│ ├── dashboard/
│ ├── patients/
│ ├── reports/
│ ├── settings/
│ ├── services/
│ │ ├── exports.py
│ │ ├── reports.py
│ │ └── seed_data.py
│ ├── shared/
│ ├── static/
│ ├── templates/
│ └── uploads/
├── config.py
├── requirements.txt
├── run.py
├── seed.py
└── .env.example
Crie e ative o ambiente virtual:
python -m venv venv
.\venv\Scripts\activateInstale as dependências:
pip install -r requirements.txtCopie o arquivo de exemplo:
copy .env.example .envConfigure o .env com os dados do MySQL:
MYSQL_USER=root
MYSQL_PASSWORD=sua_senha
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DATABASE=sistema-x
SECRET_KEY=sua_chave_secretaTambém é possível informar a URL completa:
DATABASE_URL=mysql+pymysql://usuario:senha@localhost:3306/sistema-xAo iniciar a aplicação, o sistema cria o banco se ele não existir, cria as tabelas necessárias e aplica migrações simples para colunas novas.
Por padrão, arquivos enviados ficam em:
app/uploads/
É possível alterar o diretório com:
UPLOAD_FOLDER=C:\caminho\para\uploadsO limite padrão de upload é 16 MB e pode ser alterado com:
MAX_CONTENT_LENGTH=16777216Inicie a aplicação:
python run.pyAcesse:
http://127.0.0.1:5000
Use o seed Python para popular o MySQL configurado no .env:
python seed.pyO seed cria ou atualiza:
- usuários demonstrativos por perfil;
- sintomas;
- pesos por sexo;
- limiares de decisão;
- pacientes demonstrativos;
- avaliações e encaminhamentos demonstrativos;
- familiares;
- documentos anteriores.
Usuários demonstrativos:
Administrador: contato@sxf.com / 123456
Profissional: triagem@sxf.com / 123456
Visualizador: relatorios@sxf.com / 123456
Principais entidades:
profissionalpacientefamiliar_pacientedocumento_pacientesintomapeso_sintomalimiar_decisaoavaliacaoavaliacao_sintoma
Consultas úteis:
SELECT * FROM profissional;
SELECT * FROM paciente;
SELECT * FROM familiar_paciente;
SELECT * FROM documento_paciente;
SELECT * FROM avaliacao;
SELECT * FROM sintoma;O Sistema-X trabalha com dados pessoais e dados sensíveis de saúde. Por isso, o projeto inclui registros de:
- consentimento para tratamento de dados sensíveis;
- observações sobre finalidade e contexto do tratamento;
- controle de acesso por login;
- senhas com hash;
- documentação da jornada do paciente.
Em ambiente real, recomenda-se complementar a aplicação com políticas institucionais de retenção, backup, auditoria, revisão de acessos e descarte seguro de dados.
Com o ambiente virtual ativo:
python -m compileall appTambém é recomendado executar o seed e abrir as principais telas:
- Dashboard.
- Pacientes.
- Cadastro de paciente.
- Nova triagem.
- Histórico.
- Relatórios.
Fluxo sugerido:
git checkout develop
git pull
git checkout -b nome-da-branch
git add .
git commit -m "Descrição da alteração"
git push origin nome-da-branchDepois, abrir Pull Request para revisão.
| Integrante | GitHub |
|---|---|
| Gabriel Schwerdt | https://github.com/StringSchwerdt |
| Millena Gurczakovski | https://github.com/MillenaGur |
| Sérgio Calazans | https://github.com/sergiocalazans |
Projeto acadêmico desenvolvido para a disciplina Experiência Criativa: Criando Soluções Computacionais, PUCPR.