DEV Community

Gabriel Leite
Gabriel Leite

Posted on

Criando um Sistema de Triagem Digital para a Síndrome do X Frágil com TypeScript, Zod e Supabase

Fala pessoal! Tudo bem?

Gostaria de compartilhar com a comunidade a arquitetura e as decisões técnicas por trás do projeto de fechamento de ciclo que desenvolvi com o meu grupo de Ciência da Computação na PUCPR.

Nós criamos um Sistema de Triagem Digital para a Síndrome do X Frágil (uma condição genética que causa deficiência intelectual e é altamente subdiagnosticada no Brasil). O sistema auxilia profissionais de saúde a identificar de forma rápida se um paciente deve ser encaminhado para o exame genético definitivo no SUS.


A Stack Tecnológica e Decisões de Engenharia

Para garantir que o sistema fosse rápido, seguro e estivesse em total conformidade com a LGPD, estruturamos a seguinte arquitetura:

  • Frontend: SPA desenvolvida com TypeScript e Vite.
  • Validação de Schemas: Uso massivo do Zod para garantir a consistência e o type-safety de 100% dos dados de entrada antes de qualquer processamento no backend.
  • Banco de Dados & Infra: PostgreSQL rodando sobre a infraestrutura do Supabase.
  • Segurança e LGPD (Row Level Security): Por lidarmos com dados médicos altamente sensíveis, implementamos políticas de RLS nativas no banco do Supabase. Isso garante, direto na camada de dados, que um médico ou profissional de saúde só consiga visualizar e alterar os pacientes cadastrados por ele mesmo.
  • Modelagem Relacional: Modelagem estritamente normalizada em 3FN e uso de IDs universais (UUID) em todas as tabelas para mitigar falhas de IDOR (evitando que IDs sequenciais fiquem expostos na URL e permitam varredura maliciosa de dados).

Como funciona a lógica de Triagem?

O sistema automatiza o cálculo de sintomas baseado em dados clínicos reais de mais de 1.200 registros coletados pelo Instituto Puko. Como o peso dos sintomas varia dependendo do gênero biológico do paciente, o algoritmo processa essas pontuações de forma dinâmica e alcança 95% de precisão na indicação do encaminhamento genético.


Nos ajude em uma premiação universitária!

Esse projeto ficou no Top 3 de uma premiação interna da nossa universidade! Estamos muito perto do primeiro lugar, mas a reta final depende do engajamento do público no nosso vídeo de apresentação.

Se você achou a arquitetura bacana, a implementação do RLS válida ou quer dar uma força para estudantes de computação vencerem essa etapa, assista ao nosso pitch e deixe um LIKE no YouTube:

Assista ao Vídeo e Deixe seu Like Aqui!

Feedbacks sobre a modelagem, as regras de segurança ou melhorias na stack são extremamente bem-vindos aqui nos comentários!

Top comments (0)