O DoeChain é uma solução inovadora desenvolvida para a Secretaria de Estado da Saúde de Goiás (SES-GO) no âmbito do CPSI (Contrato Público de Solução Inovadora) nº 01/2025.
A solução visa resolver o desafio da baixa captação de córneas no estado de Goiás, automatizando e otimizando o processo de notificação de óbitos com potencial de doação, utilizando tecnologia blockchain para garantir rastreabilidade, transparência e imutabilidade dos registros.
- Janela crítica de 6 horas: A captação de córneas deve ocorrer em até 6 horas após o óbito
- Subnotificação: Muitos casos com potencial de doação não são notificados a tempo
- Falta de rastreabilidade: Dificuldade em auditar o processo de doação
- Integração fragmentada: Hospitais, IML, SVO e Banco de Olhos usam sistemas isolados
- Formulário completo com dados do paciente e óbito
- Avaliação automática de contraindicações médicas e oculares
- Cálculo em tempo real da elegibilidade para doação
- Timer visual da janela crítica de 6 horas
- Contraindicações Absolutas: HIV, Hepatites, Raiva, Doenças Priônicas, etc.
- Contraindicações Oculares: Cirurgia refrativa, Ceratocone, Glaucoma, etc.
- Condições para Avaliação: Neoplasia, Diabetes, Uso de drogas IV
- Status individual para cada córnea (esquerda/direita)
- Registro do responsável familiar
- Status do consentimento (Autorizado/Recusado/Aguardando)
- Rastreabilidade completa do processo
- Smart contracts na rede Ethereum (Sepolia/Mainnet)
- Transações gasless via meta-transactions (ERC-2771)
- Hash anonimizado do paciente (LGPD)
- Logs de auditoria imutáveis
- Papéis: Admin, Hospital, IML, SVO, Banco de Olhos, SES
- Cadastro de instituições (CNES, cidade, tipo)
- Controle de acesso baseado em perfis
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND (PWA) │
│ • HTML5 + CSS3 + JavaScript Vanilla │
│ • Interface responsiva e acessível │
│ • Service Worker para cache de assets │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ BACKEND (Node.js) │
│ • Express.js + JWT Auth │
│ • SQLite (sql.js - Pure JavaScript) │
│ • Relayer Service (Gasless Transactions) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ BLOCKCHAIN (Ethereum) │
│ • Smart Contract: DeathNotificationRegistry.sol │
│ • Forwarder: Meta-transactions ERC-2771 │
│ • Rede: Sepolia (Testnet) / Mainnet (Produção) │
└─────────────────────────────────────────────────────────────┘
- Node.js >= 18.0.0
- NPM ou Yarn
Basta executar o arquivo DoeChain.bat - ele fará todo o setup automaticamente:
- Verifica Node.js e npm
- Instala dependências
- Inicializa o banco de dados
- Cria usuário administrador
- Inicia o servidor
# Clone o repositório
git clone <repo-url>
cd doechain
# Instale as dependências
npm install
# Inicialize o banco de dados
npm run init-db
# Crie o usuário admin
npm run create-admin
# Inicie o servidor
npm start- URL: http://localhost:3001
- Login padrão: admin@doechain.gov.br / admin123456
doechain/
├── src/
│ ├── contracts/ # Smart contracts Solidity
│ │ ├── DeathNotificationRegistry.sol
│ │ └── Forwarder.sol
│ ├── pages/ # Frontend (PWA)
│ │ ├── assets/ # Ícones PWA
│ │ ├── css/ # Estilos
│ │ ├── js/ # JavaScript (api.js, app.js)
│ │ ├── index.html # Página principal
│ │ └── sw.js # Service Worker
│ ├── services/ # Backend Node.js
│ │ ├── abi/ # ABIs dos contratos
│ │ ├── config/ # Configurações (DB, networks)
│ │ ├── middleware/ # Autenticação JWT
│ │ ├── routes/ # Rotas da API
│ │ ├── scripts/ # Scripts de inicialização
│ │ ├── services/ # Services (Auth, Notification, Relayer)
│ │ └── server.js # Servidor Express
│ └── shared/ # Tipos compartilhados
│ ├── types.js
│ └── types.d.ts
├── data/ # Banco de dados SQLite
├── build/ # Scripts de build
├── dist/ # Executável gerado
├── DoeChain.bat # Launcher Windows
├── standalone.js # Entry point para executável
└── package.json
- Anonimização: CPF é hasheado (SHA-256) antes de ir para blockchain
- Criptografia: Dados sensíveis criptografados no banco local
- Autenticação: JWT com expiração configurável
- Auditoria: Todos os eventos são registrados com timestamp e usuário
- Controle de Acesso: RBAC (Role-Based Access Control)
| Critério | Peso | Atendimento |
|---|---|---|
| Potencial de resolução do problema | 35% | ✅ Resolve o desafio de subnotificação com janela crítica |
| Grau de desenvolvimento (TRL) | 30% | ✅ TRL 6-7 - Protótipo funcional testado |
| Viabilidade do modelo de negócio | 20% | ✅ Baixo custo de operação, sem dependências onerosas |
| Viabilidade econômica | 10% | ✅ Dentro do orçamento, custos mínimos de manutenção |
| Custo-benefício | 5% | ✅ Excelente relação vs soluções tradicionais |
- Sistema de Prontuário Eletrônico (PEP)
- Central de Transplantes de Goiás
- Sistema Nacional de Transplantes (SNT)
- e-SUS Notifica
A solução foi projetada para:
- Suportar múltiplas instituições simultaneamente
- Escalar horizontalmente (múltiplas instâncias do backend)
- Migrar para outras redes blockchain (Polygon, BSC, etc.)
- Adaptar-se a outros tipos de doação de órgãos
- Frontend: HTML5, CSS3, JavaScript ES6+, PWA
- Backend: Node.js, Express.js, sql.js
- Blockchain: Solidity, Ethers.js, OpenZeppelin
- Autenticação: JWT, bcrypt
- Database: SQLite (sql.js - Pure JavaScript)
- Email: contato@blockchaintechbrazil.com.br
- Empresa: Blockchaintech Brazil LTDA
- CNPJ: XX.XXX.XXX/0001-XX
Este projeto foi desenvolvido para a SES-GO no âmbito do CPSI nº 01/2025. A propriedade intelectual será definida conforme negociação prevista no edital.
DoeChain - Salvando vidas através da tecnologia 🏥💙