Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 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

Chamado2

TUTGB8 

País

(x) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

 

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, algumas ferramentas estão disponíveis para execução dessa tarefa antes do envio, permitindo que erros sejam corrigidos antes do envio à ANS.

Além disso, a ferramenta permite a importação de arquivos com layouts pré-definidos ou digitação das informações manualmente em todos os quadros. Essa especificação contempla todas as informações necessárias para o desenvolvimento do relatório para preenchimento da Intercâmbio Eventual.

 

Definição da Regra de Negócio

 

Intercâmbio Eventual corresponde à troca de atendimentos, aos beneficiários, realizados entre operadoras. A ANS, desde 2013, exige a identificação dos totais dos intercâmbios eventuais a receber e a pagar (Médico Hospitalar e Odontológica).

Deverá ser criado um arquivo em formato CSV de acordo com Layout abaixo:

Código Operadora/CNPJ;Tipo Cobertura;Saldo;Data Vencimento;Tipo 

Exemplo:

000583;H;200,27;31/03/2013;AP 

Onde:

  • Código Operadora /CNPJ= Código da Operadora ou CNPJ
  • Tipo Cobertura = Tipo de Cobertura (H Hospitalar ou O Odontológica)
  • Saldo = Valor do Saldo
  • Data Vencimento = Data de Vencimento Real
  • Tipo = "AR" para a Receber, e "AP" para a Pagar 

 Os campos deverão ser separados por ";", os campos numéricos não deverão ter caracter separador de milhar e a parte decimal deverá ser separada por ",".

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

PLSDINTER

Inclusão

Miscelânea -> ANS -> Relatórios DIOPS -> Intercâmbio Eventual

 

 Premissa: Todas as informações devem estar contabilizadas, independentes se gerou título ou não.

  1. Criar novo fonte PLSDINTER cuja funcionalidade é gerar o arquivo CSV resultante desta especificação.
  2. Criar novo grupo de perguntas PLSDINTER contendo as seguintes opções:
    1. Data Inicial (vencimento do título)Data Final (vencimento do título)Referência
    2. Tipo: A Receber, A Pagar ou Ambos

  3. Através das informações dos parâmetros e das contas contábeis, é possível buscar os dados seguindo realizando a seguinte busca:

    Caso seja informado no parâmetro Contas a Receber ou Ambos:

      1. Deve
    1. De acordo com a opção selecionada no parâmetro, deve
      1. -se realizar a busca inicial
    2. nas tabelas SE1, SE2 ou ambas. Filtrar os registros de acordo com as datas informadas e que estejam
      1. na tabela CT2 - Lançamentos Contábeis utilizando o campo CT2_CREDIT, para filtrar os registros de acordo com as contas (124119022124129022) e realizar um relacionamento com a CV3 - Rastreamento Lançamento. Para fazer o relacionamento da tabela CT2 com a CV3, deve-se seguir a seguinte regra: 
        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 da 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.
        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.
        1. Lembre-se: podemos ter várias registros da BM1 relacionados a um único título, pois temos cobrança de mensalidade, de segunda via de carteira e outros lançamentos.
      2. 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_PRFORI+FI7_NUMORI+FI7_PARORI+FI7_TIPORI.

        1. 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.
        2. 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.
        3. Logo, se encontrar o título na FI7, para localizar os novos títulos gerados dessa negociação na SE1, usar os valores dos campos FI7_PRFDES + FI7_NUMDES + FI7_PARDES + FI7_TIPDES para localizar os títulos.
      3. 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.

      4. Ao localizar os títulos, os mesmos devem estar em aberto, ou seja, não foram baixados
    3. (E1_SALDO ou E2_SALDO
      1. , deve considerar o retorno da função SALDOTIT, caso o retorno seja maior que zero
    4. )
      1. . Considerar todos os registros que já foram contabilizados (E1_LA
    5. ou E2_LA
      1.  = "S").
    6. Para títulos que foram negociados (Receber ou Pagar), verificar se o título foi negociado, ou seja, é um título "filho". Para isso, deve realizar a busca na tabela "FI7" ou "FI8".(FI7_FILIAL+FI7_PRFDES+FI7_NUMDES+FI7_PARDES+FI7_TIPDES+FI7_CLIDES+FI7_LOJDES) ou (FI8_FILIAL+FI8_PRFDES+FI8_NUMDES+FI8_PARDES+FI8_TIPDES+FI8_FORDES+FI8_LOJDES). Caso encontre, o título é de negociação, então deve pegar as informações do título original, para que dessa forma possa localizar as informações relacionadas ao PLS
      1. Para identificar o tipo de Cobertura ("H" ou "O"), através das Informações da tabela BM1 (BM1_CODINT+BM1_CODEMP+BM1_MATRIC+BM1_TIPUSU+BM1_TIPREG+BM1_DIGITO) localizar na tabela BA1 - Usuarios e verificar se os campos BA1_CODPLABA1_VERSAO estão preenchidos. Caso estejam preenchidos, localizar na tabela BI3 - Produtos de Saude (BA1_CODINT+BA1_CODPLA+BA1_VERSAO), caso o campo BI3->BI3_TPFORN == "1", a cobertura é "H", se o conteúdo for "0" a cobertura é "O".
      2. Caso os campos da tabela BA1 estejam em branco, buscar na tabela BA3 (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_CONEMP+BA1_VERCON+BA1_SUBCON+BA1_VERSUB), fazer a mesma verificação na tabela BI3.
      3. Para identificar o código da operadora, através das informações da tabela BM1 localizar na tabela BT5 - Grupo de Empresa Contrato (BT5_CODINT+BT5_CODIGO+BT5_NUMCON+BT5_VERSAO), verificar o campo BT5_TIPOIN == "1" e utilizar o campo BT5_CODOPE.

    Caso seja informado no parâmetro Contas a Pagar ou Ambos:

      1. Deve-se realizar a busca inicial na tabela CT2 - Lançamentos Contábeis utilizando o campo CT2_DEBITO, para filtrar os registros de acordo com as contas (211119033211129033) e realizar um relacionamento com a CV3 - Rastreamento Lançamento. Para fazer o relacionamento da tabela CT2 com a CV3, deve-se seguir a seguinte regra: 
        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 da 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 BD7 e recuperar a informação do campo CV3_RECORI, pois fica armazenado o RECNO da BD7 relacionada.
        Posicionar na BD7, para recuperar as informações do título gerado na tabela SE2 - Contas a Pagar. Para localizar o título, necessitamos das informações dos seguintes campos: BD7_OPELOT+BD7_NUMLOTE.
        1. Lembre-se: podemos ter várias registros da BD7 relacionados a um único título.
      2. Verificar se o número do título não está na tabela FI8 - Rastreamento CP, pelo número do título nos campos FI8_FILIAL+FI8_PRFORI+FI8_NUMORI+FI8_PARORI+FI8_TIPORI.

        1. 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.
        2. Como podemos parcelar um título em várias parcelas, verificar todas as ocorrências do título original na tabela FI8, por meio de um While, para encontrar os títulos filhos gerados.
        3. Logo, se encontrar o título na FI8, para localizar os novos títulos gerados dessa negociação na SE2, usar os valores dos campos FI8_PRFDES + FI8_NUMDES + FI8_PARDES + FI8_TIPDES para localizar os títulos.
      3. Com a informação do título, localizar na SE2 o título e recuperar a informação do campo E2_VENCREA, campo que armazena o vencimento real do título, considerando dias úteis, feriados e outros. Na ausência do título, será usada a data cadastrada no calendário de pagamento. Para retornar a data correta, é necessário utilizar a função PLSXVLDCAL, passando como parâmetros: data de referência, código da operadora, exibe help (true ou false), código da tabela padrão (MV_PLSCDCO),  código do procedimento (MV_PLSCDCO), executa em RPC (true ou false), código RDA, considera reembolso (true ou false) e se executa em job (true ou false).
      4. Ao localizar os títulos, os mesmos devem estar em aberto, ou seja,  não foram baixados, deve considerar o retorno da função SALDOTIT, caso o retorno seja maior que zero. Considerar todos os registros que já foram contabilizados (E2_LA  = "S"). 
      5. Caso não encontre o título, deve-se usar os campos BD7_DTDIG1 para vencimento e BD7_VLRAPR (caso seja maior que zero) ou BD7_VLRPAG para Saldo.
      6. Para identificar o tipo de Cobertura ("H" ou "O"),
    1. será necessário pesquisar nas tabelas BD6 () ou BD7 (BD7_OPELOT+BD7_NUMLOT) e após isso posicionar na tabela BR8 (BR8_FILIAL+BR8_CODPAD+BR8_CODPSA+BR8_ANASIN ) e verificar o campo BR8_ODONTO, caso esteja igual a "1" significa que é odontologia caso contrário é Hospitalar. Somar os valores de acordo com o tipo de cobertura e considerar os campos
      1.  através das Informações da tabela BD7 (BD7_CODOPE+BD7_CODLDP+BD7_CODPEG+BD7_NUMERO) localizar na tabela BD5 - (BD5_CODOPE+BD5_CODEMP+BD5_MATRIC+BD5_TIPREG+BD5_DIGITO) e ai buscar na tabela BA1 (BD5_CODOPE+BD5_CODEMP+BD5_MATRIC+BD5_TIPREG+BD5_DIGITO) e verificar se os campos BA1_CODPLABA1_VERSAO estão preenchidos. Caso estejam preenchidos, localizar na tabela BI3 - Produtos de Saude (BA1_CODINT+BA1_CODPLA+BA1_VERSAO), caso o campo BI3->BI3_TPFORN == "1", a cobertura é "H", se o conteúdo for "0" a cobertura é "O".
      2. Caso os campos da tabela BA1 estejam em branco, buscar na tabela BA3 (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_CONEMP+BA1_VERCON+BA1_SUBCON+BA1_VERSUB), fazer a mesma verificação na tabela BI3.
      3. Para identificar o código da operadora, é necessário através do código da RDA (BD7_CODRDA), localizar seu cadastro na tabela BAU - (BAU_CODIGO), verificar o conteúdo do campo BAU_TIPPRE for
    2. Verificar a Reciprocidade (Assumida ou Cedida) para gravar o código da operadora do intercâmbio:
      Assumida: Com base nas informações da Guia (beneficiário), buscar no contrato se é intercâmbio (BT5_TIPOIN = "1"). Em caso afirmativo, considerar o código da operadora no campo BT5_CODOPE (campo novo que armazena o código da operadora junto a ANS). 
      Cedida: Com base nas informações da Guia (beneficiário), buscar no contrato se não é intercâmbio (BT5_TIPOIN = "0"). Em caso afirmativo, considerar o código do prestador. Se a classe do prestador (BAU_TIPPRE) for
      1. igual ao conteúdo do parâmetro (MV_PLSTPIN), buscar no cadastro de Operadoras ("BA0" - BA0_CODIDE+BA0_CODINT) com o código do campo BAU_CODOPE e gravar no arquivo o campo BA0_SUSEP.

    3.  
  4. Utilizar a função (PLSGerCSV) para geração do arquivo CSV, passando os seguintes parâmetros:
    - Nome do arquivo
    - cabeçalho do arquivo
    - array com os dados. Ex: {000583,H,200.27,31/03/2013,AP}

Tabelas Utilizadas

    • SE1
    • SE2
    • BD7
    • BAU
    • BA0BEH
    • BT5CT2
    • BAUBI3
    • BA0
    • FI7
    • FI8
    • CV3
    • BM1

 

Dicionário de Dados

 

Arquivo ou Código do Script: BT5– Grupo de Empresa Contrato

 

Campo

BT5_CODANSCODOPE

Tipo

Caracter

Tamanho

46

Valor Inicial

 

Mandatório

Sim (  ) Não ( X )

Descrição

Codigo ANS - Reciprocidade Assumida

Título

ANS Assumida

Picture

9999999999

Help de Campo

Codigo ANS para operadora de reciprocidade Assumida.

 

Grupo de Perguntas

 Nome: PLSDINTER 

X1_ORDEM

01

X1_PERGUNT

Data Inicialde Referência

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_HELP

Data Inicial do intervalo para emissão do DIOPS de Intercâmbio Eventual
X1_TIPO

X1_ORDEM

02

X1_PERGUNT

Data Final

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR02

X1_HELP

Data final do intervalo para emissão do DIOPS de Intercâmbio Eventual

X1_ORDEM

03

X1_PERGUNT

Tipo

X1_TIPO

C

X1_TAMANHO

1

X1_GSC

C

X1_VAR01

MV_PAR04PAR02

X1_HELP

Informa o tipo de arquivo que será gerado: A Receber(1) ou A Pagar(2) ou Ambos(3)

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.