Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAPLS |
Segmento Executor | Saúde | ||
Chamado | TUTGMQ | ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
O DIOPS é o Documento de Informações Periódicas das Operadoras de Planos de Saúde, que devem ser enviados trimestralmente à ANS. As informações que compõem este documento são: quadros cadastrais, quadros financeiros, quadros gerenciais e informações gerais. O documento tem por objetivo fornecer condições para que a DIOPS (ANS) possa efetuar o controle, o monitoramento e o acompanhamento das operadoras.
A ANS verifica e valida o conteúdo desses arquivos através do seu site, no entanto, alguns softwares de terceiros estão disponíveis para execução dessas tarefas de validação antes do envio do XML para a ANS, permitindo redução de custos e tempos envolvidos no processo
Essa especificação contempla todas as informações necessárias para o desenvolvimento do relatório para preenchimento do quadro financeiro - Idade de Saldos, conforme estabelecido pela ANS.
Definição da Regra de Negócio
Lançamentos Utilizados para Tabela BM1: 9A0 e 9A1. Deverá ser cadastrado no arquivo CTBA090 o rastreamento para esses lançamentos.
Lançamentos Utilizados para Reciprocidade assumida: 9CN e 9CM. Os rastreamentos já foram configurados na especificação.
- Criar Pergunte com o campo Data de Referência, para que seja possível localizar os títulos a partir desta data para trás, rastreando os títulos em abertos para sua classificação. O nome do Pergunte deve ser PLSRDIPR.
- Criar o menu de acesso ao relatório no ATUSX da seguinte maneira: Plano de Saúde / Miscelânea / ANS / DIOPS / Idade de Saldos a Receber, para que fique disponível no sigapls.xnu.
O relatório de Idade de Saldos deverá ser gerado em PDF seguindo o modelo abaixo:
Figura 1 - Quadro de Idade de Saldos de Contas a Receber
Figura 2 - Contas que compõem cada coluna e linha do relatório, ou seja, cruzamento das informações.
Para confecção desse relatório, utilizar o componente FWMSPRINTER ou equivalente, por causa da facilidade em diagramar as colunas, linhas e demais itens conforme necessidade. Criar o relatório em fonte diferente da lógica de negócio, com o nome PLSRDIRELT. Em caso de dúvidas sobre a utilização desse componente, utilizar como exemplos os relatórios PLSR998, PLS956, PLSGUIBCO e outros.
Regras:
- Os lançamentos Padrões - LP's do sistema - mencionadas acima deverão estar corretamente configuradas e com as informações de conta de crédito conforme Plano de Contas da ANS, para o correto rastreio.
- Os títulos a receber já deverão estar contabilizados no sistema.
- Como se trata de títulos a receber, todos os itens da cobrança deverão possuir sua fonte na tabela BM1 - Composição da Cobrança.
- Criar query para localizar os registros de títulos a receber, da seguinte maneira:
- Localizar na tabela CT2 - Lançamentos Contábeis - pela coluna CT2_CREDIT os lançamentos que se encaixam nas contas definidas em cada coluna conforme figuras 1 e 2 deste documento. Ou seja, se desejamos localizar os títulos referentes aos valores de mensalidades de Planos de pessoas físicas de Preço pré-estabelecido (Coluna A), devemos localizar os títulos que se encaixam nas contas 123111011 + 123121011, ou seja, pelo campo CT2_CREDIT localizar os títulos que possuem estas contas.
- Com o resultado da query na CT2, localizar na tabela CV3 - Rastreamento Lançamento, se a origem desse lançamento foi feito pela é a tabela BM1. Logo:
- Relacionar a tabela CT2 com a CV3 pelo campo de relacionamento CV3_RECDES, que armazena o valor do RECNO da tabela CT2. Ou seja, rastreamos a CT2 na CV3 pelo RECNO CT2 que fica armazenado no campo CV3_RECDES.
- Caso encontre o RECNO da CT2 na CV3, verificar se a tabela de origem - CV3_TABORI - é igual a BM1 e recuperar a informação do campo CV3_RECORI, pois fica armazenado o RECNO da BM1 relacionada.
- Filtrar na CV3 os registros que se encaixam também a partir da data de referência informada no pergunte PLSRDIPR, pelo campo CV3_DTSEQ. Logo, filtrar os registros a partir desta data para trás, de forma a retornar os registros passados.
- Em seguida, posicionar na BM1, para recuperar as informações do título gerado na tabela SE1 - Contas a Receber. Para localizar o título, necessitamos das informações dos seguintes campos: BM1_PREFIX,BM1_NUMTIT,BM1_PARCEL,BM1_TIPTIT e o campo BM1_VALOR.
- Lembre-se: podemos ter várias vários registros da BM1 relacionados a um único título, pois temos cobrança de mensalidade, de segunda via de carteira e outros lançamentos. Por isso, devemos recuperar o valor na BM1, pois o valor do título é o total daquela cobrança e precisamos apenas do valor referente a BM1 que se encaixa nas contas da ANS.
Antes de verificar na SE1, verificar se o número do título não está na tabela FI7 - Rastreamento CR, pelo número do título nos campos FI7_FILIAL+FI7_PRFORI+FI7_NUMORI+FI7_PARORI+FI7_TIPORI.
- Caso seja localizado o número do título nesta tabela, significa que o título original foi negociado e o original já foi baixado, sendo necessário então classificar a data de vencimento dos títulos pelos novos títulos gerados pela negociação.
- Como podemos parcelar um título em várias parcelas, verificar todas as ocorrências do título original na tabela FI7, por meio de um While, para encontrar os títulos filhos gerados.
- Logo, se localizarmos o título na FI7, para localizar os novos títulos filhos gerados dessa negociação na SE1, usar os valores dos campos FI7_PRFDES + FI7_NUMDES + FI7_PARDES + FI7_TIPDES.
Com a informação do título, localizar na SE1 o título e recuperar a informação do campo E1_VENCREA, campo que armazena o vencimento real do título, considerando dias úteis, feriados e outros.
- Atenção: Os títulos deverão estar em aberto. Por isso, para fazer essa checagem devemos:
- Utilizar a função SaldoTit (fonte FINXFIN), responsável por verificar e retornar se na data de referência informada no Pergunte se os títulos estavam em aberto, pesquisando pela tabela SE5 - Movimentações Bancárias.
- Desta forma, usar função Saldotit para todos os títulos encontrados, passando as informações do título em questão e a data de referência informada no Pergunte para a função, para que retorne se o título estava em aberto ou não. Caso o título esteja baixado, a função retornará 0. Caso esteja em aberto, irá retornar o saldo restante do título.
- Importante: a função utiliza procedures. Ao realizar os testes no ambiente, verificar se as procedures envolvidas estão instaladas no sistema.
- Utilizar a função SaldoTit (fonte FINXFIN), responsável por verificar e retornar se na data de referência informada no Pergunte se os títulos estavam em aberto, pesquisando pela tabela SE5 - Movimentações Bancárias.
Desta forma, classificar os títulos conforme quadro de Idade de Saldos pela data de vencimento do campo E1_VENCREA, sendo o valor a ser considerado conforme BM1_VALOR.
Importante: Caso o título original tenha sido negociado e tenha gerado títulos filhos, será necessário além de verificar a data de vencimento, o proporcional do registro da BM1 nestes novos títulos, utilizando a função PLRETVLRBM1, que está no fonte PLSCTB.
Exemplo: o Título original tinha o valor de 500,00 e o valor considerado encontrado na BM1 era de 100,00, sendo negociado em 5 vezes - cinco títulos filhos. Logo, devemos saber o proporcional desse valor da BM1 em cada um dos títulos renegociados, através da função PLRETVLRBM1, onde no nosso exemplo, retornaria 20,00 em cada um dos títulos renegociados.
- Além disso, para que a função funcione de forma correta, é necessário que a BM1 de origem esteja posicionada, caso contrário, irá ocorrer erros de valoração. Desta forma, antes de utilizar a função PLRETVLRBM1, posicionar na BM1 correspondente.
- Devido as movimentações de ponteiro nos alias durante as funções de posicionamento com DbSeek(), MsSeek() ou DbGoTo(), guardar os dados das áreas com a função GetArea e restaurar com RestArea.
- Armazenar estas informações num array, para que seja possível sua utilização no relatório ou em outras rotinas do PLS.
- Sugestão: criar arrays para cada grupo (equivalente a cada coluna no relatório), com seis posições, onde da 1ª posição para a 5ª seriam os valores de acordo com a classificação dos vencimentos e a 6ª posição seria o total deste grupo, de modo a facilitar a transposição para o relatório ou outros usos sistêmicos.
- O relatório deve exibir as informações conforme quadro, sendo a orientação em papel A4 e no sentido horizontal - paisagem.
Títulos PPSC
Títulos em PPSC - Provisão para Perdas Sobre Créditos são os títulos considerados como duvidosos no Protheus. Existem rotinas especificas no Contábil para a provisão destes títulos, com lançamentos padrões e demais rotinas de apoio para a contabilização destes itens.
Desta forma, será necessário encontrar esses títulos provisionados, para que sejam exibidos no relatório, conforme contas definidas pela ANS. Para o correto funcionamento, é necessário que toda a rotina de Provisão de PDD esteja corretamente configurada, como os lançamentos padrões envolvidos para a correta contabilização destas informações. Até o presente momento, para a contabilização da BM1 para títulos PDD considerar a especificação ER_PCREQ-5942_Provisao_PDD, que está em fase de testes. Apesar disto, o funcionamento será similar ao existente, onde teremos a informação da conta na CT2 e podemos recuperar se o PDD é proveniente de uma BM1 pelo campo CV3_TABORI.
Desenvolver query para retornar os dados, conforme abaixo:
- Localizar na tabela CT2 - Lançamentos Contábeis - pela coluna CT2_CREDIT os lançamentos que se encaixam nas contas definidas em PPSC.
- Com o resultado da query na CT2, localizar na tabela CV3 - Rastreamento Lançamento, se a origem desse lançamento é a tabela BM1. Logo:
- Relacionar a tabela CT2 com a CV3 pelo campo de relacionamento CV3_RECDES, que armazena o valor do RECNO da tabela CT2. Ou seja, rastreamos a CT2 na CV3 pelo RECNO CT2 que fica armazenado no campo CV3_RECDES.
- Caso encontre o RECNO da CT2 na CV3, verificar se a tabela de origem - CV3_TABORI - é igual a BM1 e recuperar a informação do campo CV3_RECORI, pois fica armazenado o RECNO da BM1 relacionada.
- Filtrar na CV3 os registros que se encaixam também a partir da data de referência informada no pergunte PLSRDIPR, pelo campo CV3_DTSEQ. Logo, filtrar os registros a partir desta data para trás, de forma a retornar os registros passados.
- Como não precisamos da informação de vencimento do título, pegar o valor equivalente da BM1 no campo CT2_VALOR, de forma que podemos simplificar a query, encontrando os lançamentos que se encaixam nas contas de PPSC (CT2) e verificar se a origem é BM1 (CV3).
- Para facilitar o desenvolvimento da query, pode-se localizar no CT2_CREDIT todas as contas envolvidas no PPSC e após, utilizar o comando GROUP BY para classificar os resultados de forma ordenada e os valores somados conforme conta, facilitando o trabalho de classificação posterior, para que fique agrupada em cada coluna do relatório.
- No relatório, na linha Saldo, devemos realizar a subtração do subtotal de cada coluna com o PPSC equivalente a coluna, para temos a informação.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
PLSRDIR | Inclusão | Miscelânea -> DIOPS -> Idade e Saldos | 1 a 2 |
Protótipo de Relatório
Formato do Relatório que deve ser gerado ao acessar a rotina
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|