Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

1. O que é o Monitor de Inadimplência?

O Monitor de Inadimplência é uma ferramenta desenvolvida para permitir que usuários visualizem, acompanhem e registrem informações sobre beneficiários de planos de saúde que possuem faturas vencidas. O sistema também identifica aqueles que se enquadram na RN nº 593 da ANS, norma que regulamenta o cancelamento de contratos por inadimplência.

2. Funcionalidades do Sistema

  • Consulta de beneficiários inadimplentes.

  • Visualização de títulos em aberto.

  • Registro de interações realizadas com os beneficiários.

  • Envio de e-mail de notificação de inadimplência.

  • Filtros específicos da RN 593.

3. Parâmetros (SX6)

A rotina leva em consideração dois parâmetros para retornar os títulos:

  • MV_PLSTIT - Tipo do título (campo E1_TIPO)

  • MV_PLPFE11 - Prefixo do título (campo E1_PREFIXO)

4. Estrutura da Interface

> Parte Superior: Dados do Beneficiário

  • Matrícula

  • Nome do Beneficiário

  • Código do Cliente (SA1)

  • Código da Loja Relacionado ao Cliente (SA1)

  • Nome do Cliente (SA1)

  • Nome Social

  • Data de Internação

  • Matrícula Antiga

  • Operadora

  • Empresa

  • Contrato

  • Subcontrato

> Parte Inferior Esquerda: Títulos em Aberto

  • Prefixo

  • Número do Título

  • Vencimento

  • Dias em Atraso

  • Valor

  • Vencimento Real

  • Emissão

  • Mês Base

  • Ano Base

  • Parcela

  • Tipo

  • Número do Lote de Cobrança

  • Contrato

  • Subcontrato

  • Código do Cliente

  • Loja do Cliente

> Parte Inferior Direita: Interações Realizadas

  • Confirmação de recebimento do contato

  • Data do contato

  • Hora do contato

  • Origem do contato

  • Matrícula do beneficiário posicionado

  • Motivo do contato

  • Data da criação do registro no sistema

  • Hora da criação do registro no sistema

5. Passo a Passo das Funcionalidades

Novo Filtro

  1. Clique no botão Novo Filtro.

  2. Uma janela com um formulário será exibida.

  3. Preencha os dados conforme a necessidade.

  4. Clique em OK.

Importante: Quanto menos parâmetros informados, maior pode ser o tempo de processamento devido à quantidade de registros retornados.

Atualizar Dados

  1. Clique no botão Atualizar Dados.

  2. O sistema irá recarregar os dados com base nos parâmetros preenchidos anteriormente.

Nota

Importante: Use essa funcionalidade após registrar uma interação manualmente para atualizar corretamente os filtros da RN 593.

Enviar Notificação de Inadimplência

  1. Selecione uma ou mais linhas na tabela da esquerda.

  2. Clique no botão Enviar Notificação de Inadimplência.

O sistema enviará o e-mail para:

  • O e-mail do titular cadastrado no BA1, ou

  • O e-mail do cliente cadastrado no SA1.

Nota

Importante:  A estrutura do e-mail e remetente são configurados na rotina Gerenciador de Contas de E-mail, clique no link para acessar a documentação DT Gerenciador de Contas de E-mail.

6. Filtros RN 593

📝 Como funciona?

  • Ao abrir o Monitor, todos os beneficiários inadimplentes são exibidos, independentemente da RN 593.

  • Os filtros RN 593 refinam os dados carregados, mantendo apenas os que atendem à norma.

✅ Premissas para atender a RN 593:

  1. Cobrança no nível da família (BA3_COBNIV == '1)

  2. Data-base do contrato ≥ 01/12/2024 (BA3_DATBAS)

  3. Dois ou mais títulos em atraso, sendo um com 50 dias ou mais


🔽 Filtros Disponíveis

  • Mais de 50 Dias de Atraso Sem Envio de Notificação

    • Deve atender todas as premissas

    • Não possuir interações registradas

    • ❌ Não estar internado (BE4_DTDIGI)


  • Mais de 50 Dias de Atraso Com Prazo de Retorno Expirado

    • Atender todas as premissas

    • Possuir interações

    • A última interação ocorreu há 10 dias ou MAIS

    • ❌ Não estar internado (BE4_DTDIGI)


  • Mais de 50 Dias de Atraso Dentro do Prazo de Retorno

    • Atender todas as premissas

    • Possuir interações

    • A última interação ocorreu há 10 dias ou MENOS

    • ❌ Não estar internado (BE4_DTDIGI)


  • Beneficiários Inadimplentes Internados
    • Atender todas as premissas
    • Se enquadrar em uma das regras acima.
    • O beneficiário titular ou dependentes devem estar internados com base no campo BE4_DTDIGI.
Nota

Importante:  A estrutura do e-mail e remetente são configurados na rotina Gerenciador de Contas de E-mail, clique no link para acessar a documentação DT Gerenciador de Contas de E-mail.


  • Limpar Filtro

    • Restaura a exibição de todos os inadimplentes, com ou sem RN 593.

📚 Mais informações sobre a norma:
Resolução Normativa 593 - ANS

7. Documentação

Exibe a documentação do monitor de inadimplência.


Apêndice Técnico

Criação de Botões Customizados

Foi implementada a customização de botões na rotina, permitindo a criação de quantos botões forem necessários com as funcionalidades desejadas. O ponto de entrada responsável pela criação dos botões é o PLMON001.

  • Na primeira posição: descrição do botão

  • Na segunda posição: bloco de código com a função a ser executada

Exemplo de implementação:

function PLMON001()
     LOCAL aMenu := {}
     AADD(aMenu, {"Teste Botão 1", {||U_botao1()}})
     AADD(aMenu, {"Teste Botão 2", {||U_botao2()}})
return aMenu

Recuperar Seleção de Beneficiários

Para obter a relação dos beneficiários selecionados no mark da primeira coluna, não é possível passar como parâmetro na criação do botão. Por isso, foi disponibilizado um método estático que devolve um objeto JSON com a lista dos beneficiários selecionados:

totvs.protheus.health.delinquency.monitor.DelinquencyInterface():getSelecBeneficiaries()

Realizando a chamada desse método dessa forma, a lista dos beneficiários selecionados na tela estará disponível em qualquer fonte, função ou método customizado enquanto o monitor de inadimplência estiver aberto.

Ponto de Entrada do Status de Contato

Através do PE PLMON002, é possível criar status relacionados à tabela de contatos realizados (BRZ).

  • Primeira posição: condição do status

  • Segunda posição: cor

  • Terceira posição: descrição

Exemplo:

FUNCTION PLMON002()
   LOCAL aStatus := {}
   AADD(aStatus, {"BRZ_DATCON < dDataBase .AND. BRZ_CNFCON == '0'", "BLUE", "Data anterior a hoje"})
RETURN aStatus

Para mais informações sobre pontos de entrada no grid de contatos, consulte o documento MVC: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360017512652-Cross-Segmento-TOTVS-Backoffice-Linha-Protheus-ADVPL-Como-utilizar-MVC-Model-View-Controller

Inserção de Dados na Tabela BRZ

Utilize a classe FWBulk para inserção em massa com melhor performance:

// Instancia a classe de serviços
oMonitorService := totvs.protheus.health.delinquency.monitor.DelinquencyService():New()
// Cria o objeto bulk
oMonitorService:createBulkContact()

For nSendMail := 1 To 100
   self:oMonitorService:insertDataBulkContact("00010001123456011", "01", "E-mail enviado para o beneficiário")
Next

// Commit final
oMonitorService:flushBulkContact()

Ambos os métodos retornam true se bem-sucedidos, e false em caso de erro. Logs em monitorInadimplencia.log no diretório logpls.

Consulta a Tabelas Temporárias

Os dois grids (beneficiários e títulos) utilizam tabelas temporárias. Para acesso por:

  • ADVPL: Use aliases BENEINAD (beneficiários) e BENEFINA (títulos)

  • SQL: Utilize os nomes reais das tabelas obtidos por:

totvs.protheus.health.delinquency.monitor.DelinquencyService():realNameBeneficiaries()
totvs.protheus.health.delinquency.monitor.DelinquencyService():realNameInvoices()

Ambiente Com Banco de Dados Oracle

O monitor de inadimplência utiliza tabelas temporárias para armazenar tanto os dados dos beneficiários quanto os títulos em aberto. No entanto, o banco de dados Oracle possui uma particularidade: os dados inseridos em uma tabela temporária durante uma sessão não ficam visíveis em outras sessões.

Por esse motivo, quando for necessário acessar os dados para depuração ou implementar pontos de entrada, deve-se configurar o parâmetro MV_DEBMONT como true (.T.). Quando esse parâmetro está ativado — e somente no Oracle — são criadas duas tabelas físicas:

  • BENEFINA_COPY, com os dados dos beneficiários (grid superior), e

  • BENEINAD_COPY, com os títulos em aberto (grid inferior esquerdo).

Essas tabelas são recriadas sempre que a rotina é encerrada e reaberta. Além disso, qualquer novo filtro ou atualização também provoca a exclusão e recriação das tabelas com os dados atualizados.

Importante:

  • O uso dessa funcionalidade pode impactar negativamente a performance da rotina, portanto, deve ser utilizado com cautela.

  • Essas tabelas são cópias das tabelas temporárias geradas no momento da execução da rotina. Portanto, qualquer alteração feita diretamente nelas não será refletida nas tabelas temporárias utilizadas internamente pela sessão criada pelo programa para manipulação dos dados.