Árvore de páginas

 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

TULEM8

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 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 do quadro financeiro - Lucros ou Prejuízos no DIOPS X-Press.

Definição da Regra de Negócio

Os dados do Lucros ou Prejuízos 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.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

PLSDLCRPRJ

Inclusão

Miscelânea -> DIOPS -> Lucros ou Prejuízos

1 a 4

 

  1. Criar novo fonte PLSDLCRPRJ cuja funcionalidade é gerar o arquivo CSV resultante desta especificação.
  2. Criar novo grupo de perguntas PLSDLCRPRJ contendo as seguintes opções:
    1. Data Inicial
    2. Data Final
    3. Cód. Config. Livros
       
  3. Criar novas funções no fonte para montar arquivo temporário com os valores de recebimentos e pagamentos, seguindo exemplo do relatório CTBR510 (Contabilidade Gerencial - Relatórios - Demonstrativos - Dem. Resultados):
    1. Seguindo o exemplo CTBR510, criar função PLSDLCRPRJ() similar a CtbR560(), modificando os parâmetros utilizando o pergunte criado anteriormente (PLSDLCRPRJ), além de alterar o cTitulo para "Lucros ou Prejuízos";
    2. Criar nova função similar a função CTBR510R3() para verificação se os parâmetros Data Inicial e Data Final estão dentro do calendário cadastrado na CTG.

      1. Criar arquivo temporário com dados resultantes da query:

        Query calendário
        "SELECT CTG_CALEND, CTG_DTINI, CTG_DTFIM FROM " + PLSSQLNAME("CTG") + " WHERE " + MV_PAR01 + " >= CTG_DTINI AND " + MV_PAR02 + " <= CTG_DTFIM"
      2. Caso o arquivo temporário tenha registros (isto é, a data esteja contida no intervalo de um calendário cadastrado), prossegue com a rotina.

    3. Criar nova função similar a função Ctr510Det() para criação dos detalhes do relatório, utilizar a função CTGerPlan para obter os valores do relatório.

    4. Criar laço while para percorrer todos os registros localizados pela query e somar os valores de acordo com o mês ou dia (de acordo com o preenchimento do parâmetro), seguindo o exemplo existente na função Ctr510Det:
       

      Repetição query
      If IDENTIFI < "5"
          			If mv_par06 == 1 .Or. (mv_par06 == 2 .And. nPosCol == 1)
      					If !lMovPeriodo
      						nSaldo := If(nPosCol = 1, SALDOATU, SALDOANT)
      					Else
      						nSaldo := If(nPosCol = 1, SALDOATU-SALDOANT,MOVPERANT)
      					EndIf
      				       
      		            ValorCTB(nSaldo,lin+15,aPosCol[nPosCol],15,nDecimais,.T.,cPicture,;
      					NORMAL,CONTA,.T.,oPrint,cTpValor,IIf(IDENTIFI $ "4","1",IDENTIFI))
      				EndIf					 
      			Endif 

       

  4. Criar função para gerar o arquivo CSV com o seguinte layout:



    • Descrição
    • 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):

       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"+CRLF)
          For nI := 1 TO Len(aFluxo)
              FWrite(nFileCSV,aFluxo[nI,1]+";"+aFluxo[nI,2]+CRLF)
          Next nI
          FClose(nFileCSV)
      Else
          MsgInfo("Não foi possível criar o arquivo " + cDirCsv+cFileRPX,"TOTVS")
      EndIf


Tabelas Utilizadas

  • CTN
  • CTS
  • CT1
  • CT2
  • CVN
  • CVD

Grupo de Perguntas

 

Nome: PLSDLCRPRJ

X1_ORDEM

01

X1_PERGUNT

Data Inicial

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

 

X1_HELP

Data inicial do intervalo para emissão do DIOPS de Lucros ou Prejuízos

 

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 Lucros ou Prejuízos

X1_ORDEM

03

X1_PERGUNT

Cód. Conf. Livros

X1_TIPO

D

X1_TAMANHO

3

X1_GSC

G

X1_VAR01

MV_PAR03

X1_HELP

Código da configuração do livro que será considerado na busca de lucros ou prejuízos para o DIOPS.

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