Á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

Chamado

TULEJM

País

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

(  ) USA  (  ) Colombia   (  ) Outro _____________.

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.

 

 Um novo padrão foi estabelecido pela ANS para recebimento dessas informações. O padrão definido segue os conceitos da Troca de Informação em Saúde Suplementar (TISS), cujos dados são enviados pelas operadoras para a ANS em arquivos XML.

 

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, como o DIOPS X-Press. Com esta ferramenta, não é necessário submeter o XML ao site da ANS, permitindo que erros sejam corrigidos antes do envio à ANS.

 

Além disso, a ferramente 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 preenchimento do quadro financeiro - Fluxo Caixa Trimestral no DIOPS X-Press.

 

 

Definição da Regra de Negócio

Os dados do do Fluxo de Caixa Trimestral devem ser exportados através do Protheus em formato CSV e, posteriormente, incluídos manualmente no DIOPS X-Press, pois não existe a importação automática do arquivo para essa modalidade na ferramenta.

Premissa: para emissão do arquivo deverá ser criada uma Visão Gerencial com o Plano de Contas da ANS e uma configuração de Livro vinculando esta visão.

de acordo com o layout abaixo:

Descrição da conta;valor

Exemplo:

Recebimentos de Plano Saúde;22664.00 

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

PLSDFLCXTR

Inclusão

Miscelânea -> DIOPS -> Fluxo Trimestral

-

 

  1. Criar novo fonte PLSDFLCXTR cuja funcionalidade é gerar o arquivo CSV resultante desta especificação.
  2. Criar novo grupo de perguntas PLSDFLCXTR contendo as seguintes opções:
    1. Data Inicial
    2. Data Final
    3. Cód. Config. Livros
    4. Período: 1 - Diário; 2 - Mensal
    5. Período anterior: 1 - Sim; 2 - Não
       
  3. Criar nova função novas funções no fonte para buscar todos os , vinculados à ANS, até a data de referência informada. Para busca dos registros, a query deve:
    1. Considerar o parâmetro "Cód. Config. Livros" para buscar a tabela CTN, em seguida será verificada a visão do quadro da DIOPS associada à configuração do livro, sendo possível encontrar as visões gerenciais e as contas contábeis (tabela CTS).
    2. Através da visão gerencial(CTS) serão localizadas as movimentações contábeis (Tabela CT2) das contas definidas e a partir destas movimentações deverá localizar os ativos e verificar quais são Ativos Vinculados (Tabela SN1 e SN3).
    3. A query de busca dos registros deve ser alterada de acordo com o conteúdo do parâmetro "Tipo Bem?", de acordo com as regras abaixo:
      1. Se o parâmetro "Tipo Bem?" for igual a 1 - Investimento:
        1. Localizar os registros cujo conteúdo do campo N1_TPCUSTD seja diferente de vazio.
      2. Se o parâmetro "Tipo Bem?" for igual a 2 - Imóvel:
        1. Localizar os registros cujo conteúdo do campo N1_TPCUSTD seja vazio e o conteúdo do campo N1_TPBEM possua algum valor.
    4. Para a "Data de Avaliação" considerar o Max do campo N3_AQUISIC, ou seja, a maior data, com N3_TIPO (Tipo Ativo) somente com conteúdo = "02" (Avaliação positiva).

    5. Considerar apenas os N3_TIPO (Tipo Ativo) que sejam: "01" (Depreciação Fiscal); ou "10" (Depreciação Gerencial/Contábil).

    6. Utilizar como exemplo a query da função ATFDIOPS localizada no fonte ATFXFUN.PRX. Essa função tem como objetivo localizar os investimentos e imóveis, no entanto, será necessário realizar as alterações acima citadas, além de incluir os seguintes campos no retorno:
      1. Código do Ativo - N1_CBASE
      2. Data Venda - N4_DATA (incluir JOIN com a tabela SN4 - objetivo: encontrar movimentação de venda de imóvel).
      3. Data Vencimento - N1_DTBLOQ
    7. Exemplo: função ATFDIOPS localizada em ATFXFUN.PRX:

      Query Busca Ativos

       

  4. Criar função para gerar o arquivo CSV com o seguinte layout:
    • Descrição da Conta
    • Valor

      Exemplo de função para montagem do CSV (adaptar a função para que o cabeçalho respeite a ordem acima citada, de acordo com o tipo do ativo):

Bloco de código
languagedelphi
titleMontar CSV
cDirCsv := cGetFile("TOTVS","Selecione o diretorio",,"",.T.,GETF_OVERWRITEPROMPT + GETF_NETWORKDRIVE + GETF_LOCALHARD + GETF_RETDIRECTORY)
nFileCsv := FCreate(cDirCsv+"NOME_ARQUIVO.csv",0,,.F.)
If nFileCsv > 0
    FWrite(nFileCSV,"Coluna 1;Coluna 2;Coluna 3;Coluna 4;Coluna 5;"+CRLF)
    For nI := 1 TO Len(aAtivos)
        FWrite(nFileCSV,aAtivos[nI,1]+";"+aAtivos[nI,2]+";"+aAtivos[nI,3]+";"+aAtivos[nI,4]+";"+aAtivos[nI,5]+CRLF)
    Next nI
    FClose(nFileCSV)
Else
    MsgInfo("Não foi possível criar o arquivo " + cDirCsv+cFileRPX,"TOTVS")
EndIf

 

Tabelas Utilizadas

  1. montar arquivo temporário com os valores de recebimentos e pagamentos, seguindo exemplo do relatório CTBR560(Contabilidade Gerencial - Relatórios - Demonstrativos - Dem. Fluxo Caixa):
    1. Utilizar a função CTBSetOf, passando como parâmetro o código do livro. O retorno é um array que contém as informações necessárias para serem usadas na função CtGerPlan.
    2. Utilizar a mesma função do relatório (CTBR560) - CtGerPlan. Essa função gera um alias temporário com todas as informações contábeis informadas na visão gerencial.  Usar a CTGerPlan com a função MsgMeter, como no exemplo: 
      1. MsgMeter({| oMeter, oText, oDlg, lEnd | ;
        CTGerPlan( oMeter, oText, oDlg, @lEnd, @cArqTmp, dFinalA+1, dFinal;
        , "", "", "", Repl( "Z", Len( CT1->CT1_CONTA )), ""; 
        , Repl( "Z", Len(CTT->CTT_CUSTO)), "", Repl("Z", Len(CTD->CTD_ITEM));
        , "", Repl("Z", Len(CTH->CTH_CLVL)), mv_par03, /*MV_PAR15*/cSaldos, aSetOfBook, Space(2);
        , Space(20), Repl("Z", 20), Space(30),,,,, mv_par04=1, mv_par05;
        , ,lVlrZerado,,,,,,,,,,,,,,,,,,,,,,,,,cMoedaDesc,lMovPeriodo,aSelFil,,.T.,MV_PAR17==1)};
        ,STR0006, STR0001)

      2. Para usar a função CTGerPlan é necessário passar como parâmetros alguns dados como:

        oMeter: Controle da régua 

         

        oText: Controle da régua 

         

        oDlg: Janela                                              

         

        lEnd = .T.

         

        cArqtmp: pode passar em branco

         

        dDataIni: MV_PAR01

         

        dDataFim: MV_PAR02

         

        cAlias: "CT7"

         

        cIdent: ""

         

        cContaIni: ""

         

        cContaFim: Repl( "Z", Len( CT1->CT1_CONTA ))

         

        cCCIni: ""

         

        cCCFim: Repl( "Z", Len(CTT->CTT_CUSTO))

         

        cItemIni: ""

         

        cItemFim: Repl("Z", Len(CTD->CTD_ITEM))

         

        cClvlIni: ""

         

        cClVlFim: Repl("Z", Len(CTH->CTH_CLVL))

         

        cMoeda: "01"

         

        cSaldos: CT510TRTSL()

         

        aSetOfBook: CTBSetOf(mv_par03)

         

        cSegmento: pode passar em branco
        cSegIni: ""

         

        cSegFim: Repl("Z", 20)

         

        cFiltSegm: Space(30)

         

        lNImpMov: pode passar em branco

         

        lImpConta: pode passar em branco

         

        nGrupo:pode passar em branco

         

        cHeader: pode passar em branco

         

        lImpAntLP: .F. 

         

        dDataLP: pode passar em branco 
        nDivide: pode passar em branco

         

        lVlrZerado: .T.

         

        cFiltroEnt: pode passar em branco

         

        cCodFilEnt: pode passar em branco

         

        cSegmentoG: pode passar em branco

         

        cSegIniG: pode passar em branco

         

        cSegFimG: pode passar em branco

         

        cFiltSegmG: pode passar em branco
        lUsGaap: pode passar em branco

         

        cMoedConv: pode passar em branco

         

        cConsCrit: pode passar em branco

         

        dDataConv: pode passar em branco

         

        nTaxaConv: pode passar em branco

         

        aGeren: pode passar em branco

         

        lImpMov: pode passar em branco

         

        lImpSint: pode passar em branco

         

        cFilUSU: pode passar em branco

         

        lRecDesp0: pode passar em branco
        cRecDesp: pode passar em branco

         

        dDtZeraRD: pode passar em branco

         

        lImp3Ent: pode passar em branco

         

        lImp4Ent: pode passar em branco

         

        lImpEntGer: pode passar em branco

         

        lFiltraCC: pode passar em branco

         

        lFiltraIt: pode passar em branco

         

        lFiltraCV: pode passar em branco

         

        cMoedaDsc: pode passar em branco

         

        lMovPeriodo: pode passar em branco

         

        aSelFil: pode passar em branco

         

        dDtCorte: pode passar em branco

         

        lPlGerSint: pode passar em branco

         

        lConsSaldo: .T.

         

        lCompEnt: pode passar em branco

         

        cArqAux: pode passar em branco

         

        lUsaNmVis: pode passar em branco

         

        cNomeVis: pode passar em branco

         

        lCttSint: pode passar em branco
        lTodasFil: pode passar em branco

         

        cQuadroCTB: pode passar em branco

         

        aEntidades: pode passar em branco

         

        cCodEntidade: pode passar em branco

    3. Com o resultado da função CtGerPlan, percorrer todos os registros do alias temporário e gravar no array as informações da DIOPS: Descrição da conta e o saldo atual respectivo.
    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: {Recebimentos de Plano Saúde;22664.00 }

      Exemplo da DIOPS de Fluxo Trimestral:

      Image Added

Tabelas Utilizadas

  • CTN
  • CTS
  • CT1
  • CT2
  • CVN
  • CVD
  • SN1
  • SN3
  • CTS
  • CTN
  • CT2

Grupo de Perguntas

 

Nome: FINSRF2PLSDFLCXTR 

X1_ORDEM

01

X1_PERGUNT

Emissão De

Data Inicial

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'


X1_HELP

Data inicial do intervalo

de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

para emissão do DIOPS de fluxo de caixa trimestral

 

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 fluxo de caixa trimestral

X1_ORDEM

03

X1_PERGUNT

Cód. Config. Livros

X1_TIPO

C

X1_TAMANHO

3

X1_GSC

C

X1_VAR01

MV_PAR03

X1_HELP

Código do livro para considerar na busca.

 

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