Files
clube67_newwhats.local/base-scoreodonto/README_AUTOMACAO.md
T
VPS 4 Deploy Agent 5ec6bd6354
continuous-integration/webhook Falha no deploy de clube67_newwhats.local (VPS 4)
chore(ops): migrate clube67 to newwhats.clube67.com directory
2026-05-18 03:26:41 +02:00

64 lines
3.0 KiB
Markdown

# 🦷 Projeto de Automação: Portal Viventeris (Cassems)
Este documento resume a estrutura e a lógica da automação desenvolvida para o lançamento de guias odontológicas no portal Viventeris.
## 🚀 Visão Geral
A automação utiliza **Node.js** e **Playwright** para simular a interação humana com o portal, superando desafios de interface (UX) e automação de processos repetitivos.
---
## 🛠️ Tecnologias Utilizadas
- **Linguagem**: JavaScript (Node.js)
- **Engine**: Playwright (Chromium)
- **Estratégia**: Interação via Seletores de ID, XPath e Filtros de Visibilidade.
---
## 🧠 Fluxo de Automação Compreendido
### 1. Acesso e Segurança
- **Login**: Autenticação automática com User/Senha.
- **User-Agent**: Configurado para evitar o bloqueio de "Navegador Incompatível".
### 2. Identificação do Beneficiário
- Navega até o menu **Tratamento Odontológico**.
- Realiza a busca via **CPF** (formato: `000.000.000-00`).
- Seleciona o beneficiário clicando no link do cartão retornado na tabela.
### 3. Configuração do Atendimento
- **Novo Registro**: Clica no botão `+` (`#btnNovoRegistro`).
- **Endereço**: Seleciona automaticamente o primeiro endereço disponível se houver um select.
- **Tipo de Atendimento**:
- `Valor 1`: Tratamento Odontológico (Normal).
- `Valor 4`: Urgência / Emergência.
- **Regra de Justificativa**:
- O campo `Observação/Justificativa` (`#observacaoJustificativa`) só é preenchido se o tipo for **Urgência (4)**. Caso contrário, permanece vazio.
### 4. Seleção de Profissionais
- **Executante**: Utiliza o botão de busca (`#btnBuscaPrestadorExecutante`) ao lado do input.
- **Solicitante**: Preenchimento fixo/variável do campo de texto (ex: "Murilo").
### 5. Lançamento de Procedimentos (Modal)
- **Autocomplete**: Após digitar o código (ex: `85100196`), o script aguarda e clica obrigatoriamente no item da lista jQuery UI (`.ui-menu-item-wrapper`) para que o sistema valide a seleção.
- **Dente**: Seleção via ID `#cmbDente`.
- **Face**: Clique forçado no checkbox `#codFaceV` para evitar interceptação pela label de estilo.
- **Inclusão**: Clica em `#btnIncluirProcedimento` dentro do modal.
### 6. Finalização e Captura
- Avança as etapas de confirmação ("Próximo").
- Extrai o número da **GTO** gerada e o **Status** (Autorizado/Negado).
- Salva o resultado no arquivo `guias_geradas.txt`.
---
## 📁 Estrutura de Arquivos
- `login-test.js`: Validação inicial de acesso.
- `lancar-guia-odonto.js`: Script principal de produção.
- `guias_geradas.txt`: Log histórico de GTOs geradas.
- `procedimentos_encontrados.txt`: Dicionário de códigos capturados durante a exploração.
---
## 📝 Observação Importante sobre Erros
Conforme alinhado, o script possui **breakpoints de segurança**. Caso um elemento (como o nome de um profissional específico ou um campo novo) não seja encontrado, o script **PARA IMEDIATAMENTE** e aguarda intervenção manual, evitando o preenchimento de dados incorretos no portal oficial.