Histórico da Página
Monitor de Inadimplência
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 -
Para o tipoTipo do título
, utilizado para buscar diretamente no(campo E1_TIPO
.)
MV_PLPFE11 -
Para o prefixoPrefixo do título
, utilizado para buscar diretamente no(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. Funcionalidades Disponíveis
Novo Filtro
Atualizar Dados
Enviar Notificação de Inadimplência
Filtros RN 593
Documentação
6. Passo a Passo das Funcionalidades
...
Novo Filtro
Clique no botão Novo Filtro.
Uma janela com um formulário será exibida.
Preencha os dados conforme a necessidade.
Clique em OK.
Observação: Quanto menos parâmetros informados, maior pode ser o tempo de processamento devido à quantidade de registros retornados.
...
Atualizar Dados
Clique no botão Atualizar Dados.
O sistema irá recarregar os dados , levando em consideração os últimos com base nos parâmetros preenchidos no formulário inicialanteriormente.
Importante: Use essa funcionalidade após registrar manualmente uma interação com o beneficiário, garantindo que manualmente para atualizar corretamente os filtros da RN 593 sejam atualizados corretamente.
...
Enviar Notificação de Inadimplência
O e-mail pode ser enviado para um ou mais beneficiários ao mesmo tempo.
Selecione uma ou mais linhas no canto esquerdo para indicar quais beneficiários receberão os e-mails.
Para marcar ou desmarcar todas aslinhas
, dê duplo clique na coluna de seleção.Observação: Pode ser exibida uma janela informando a quantidade de itens sendo processados, dependendo do volume.
Clique no botão Enviar Notificação de Inadimplência.
na tabela da esquerda.
O sistema enviará o e-mail para:
O e-mail do titular cadastrado no BA1, ou
O e-mail do cliente cadastrado no SA1.
Observação: A estrutura do e-mail e remetente são configurados na rotina:
Gerenciador de Contas de E-mail
7. Filtros RN 593
Filtros específicos para beneficiários que se enquadram na Resolução Normativa 593 da ANS.
Ao carregar o Monitor de Inadimplência, são exibidos todos os inadimplentes — tanto os que atendem quanto os que não atendem à RN 593.
O botão Filtros RN 593 permite refinar a visualização com base nos critérios da norma.
Premissas
...
:
Cobrança
...
no nível da família (BA3_COBNIV = '1')
...
Contrato com data base
...
>= 01/12/2024 (BA3_DATBAS)
...
Dois ou mais títulos em atraso, sendo
...
um com 50 dias ou mais
...
Tipos de Filtros Disponíveis:
Mais de 50 Dias de Atraso Sem Envio de Notificação
Atende as premissas citadas
Sem interações registradas
Não internado (BE4_DTDIGI)Mais de 50 Dias de Atraso Com Prazo de Retorno Expirado
Atende as premissas
Possui uma ou mais interações
Última interação há 10 dias ou MAISNão internado (BE4_DTDIGI)
Mais de 50 Dias de Atraso Dentro do Prazo de Retorno
Atende as premissas
Possui uma ou mais interações
Última interação há 10 dias ou MENOS
Não internado (BE4_DTDIGI)
Beneficiários Inadimplentes Internados
Retorna beneficiários internados com base em BE4_DTDIGI, independentemente de atenderem à RN 593.
Observação: A data de digitação é usada por conta da defasagem entre o início da internação e sua atualização no sistema, o que pode gerar envio indevido de cobrança.
Limpar Filtro
Restaura a lista para exibir todos os inadimplentes, independentemente da RN 593.
Mais informações sobre a RN 593 no link: Resolução Normativa 593 - ANS
8. Documentação
...
Beneficiários Inadimplentes Internados
Limpar Filtro
Restaura a lista para exibir todos os inadimplentes.
8. Documentação
Acesse o link da documentação oficial 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) eBENEFINA(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
...
.