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 | ||
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
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, 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.
- Criar novo fonte PLSDINTER cuja funcionalidade é gerar o arquivo CSV resultante desta especificação.
- Criar novo grupo de perguntas PLSDINTER contendo as seguintes opções:
- Data Referência
- Tipo: A Receber, A Pagar ou Ambos
- Através das informações dos parâmetros e das contas contábeis, é possível buscar os dados realizando a seguinte busca:
Caso seja informado no parâmetro Contas a Receber ou Ambos:
- Deve-se realizar a busca inicial na tabela CT2 - Lançamentos Contábeis utilizando o
campo - campo CT2_CREDIT, para filtrar os registros de acordo com as
contas e - contas (124119022 e 124129022) 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- contas (124119022 e 124129022) 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:
- 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.- 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.
Filtrar os registros de acordo com as datas informadas e que estejam - 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.
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.
- 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 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.
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.
- Ao localizar os títulos, os mesmos devem estar em aberto, ou seja, não foram baixados
(E1_SALDO ou E2_SALDO - , deve considerar o retorno da função SALDOTIT, caso o retorno seja maior que zero
)- . Considerar todos os registros que já foram contabilizados (E1_LA
ou E2_LA - = "S").
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- 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_CODPLA e BA1_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".
- 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.
- 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:
- 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 (211119033 e 211129033) 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.- Lembre-se: podemos ter várias registros da BD7 relacionados a um único título.
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.
- 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 FI8, por meio de um While, para encontrar os títulos filhos gerados.
- 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.
- 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).
- 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
_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.De acordo com a opção selecionada no parâmetro, deve-se realizar a busca inicial nas tabelas SE1, SE2 ou ambas. Filtrar os registros de acordo com as datas informadas e que estejam em aberto, ou seja, não foram baixados (E1_SALDO ou E2_SALDO maior que zero). Considerar - 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 (211119033 e 211129033) 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:
- todos os registros que já foram contabilizados (
E1_LA ou - E2_LA = "S").
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.- 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.
- Para identificar o tipo de Cobertura ("H" ou "O"), 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_CODPLA e BA1_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".
- 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.
- 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
- Para identificar o tipo de Cobertura ("H" ou "O"), 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 Verificar a Reciprocidade (Assumida ou Cedida) para gravar o código da operadora do intercâmbio:
- 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.
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 - 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
- BEHBA0
- 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_ORDEM | 02 | ||
X1_PERGUNT | Data Final | ||
X1_TIPO | 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_ | ORDEM03 | 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. |
---|