# 🦷 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.