64 lines
3.0 KiB
Markdown
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.
|