Á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

 Protheus ®

Módulo

 SIGAGPE

Segmento Executor

 Serviços

Projeto

M_SER_RH003

IRM

PCREQ-9083

Requisito

PCREQ-9087

Subtarefa

PDR_SER_RH003-231

País

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

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros


   

   


Objetivo

 Esse requisito tem por objetivo o desenvolvimento de melhorias solicitadas por clientes que estão migrando do Logix para o Protheus.

 

Migrador - Importação Cadastro Plano de Saúde

Definição da Regra de Negócio

Em continuação ao projeto de migração de produto do RH Logix para o RH Protheus 11.80, será adicionada a opção Plano de Saúde no programa RHIMP01 - Importação Logix X Protheus a fim de importar os dados referentes aos cadastros de fornecedores de plano de saúdeconfiguração do planoplanos ativos dos funcionários e dependentes.

Este requisito trabalha em conjunto à implementação realizada no Logix, Export_Vale_Alimentacao_e_Refeicao_e_Plano_de_Saude, que trata o processo de exportação de dados do Logix gerando o arquivo plano_saude_logix.unl a ser utilizado na importação de dados no Protheus.

Atenção: necessário estar com as tabelas da rotina Manutenção de Tabelas criadas (entrar pelo menos uma vez na rotina para criá-las automaticamente – SIGAGPE / Atualizações / Definições de Cálculo / Manutenção de Tabelas).

   

   

Para os itens Fornecedores e Cadastro de Planos será realizada a gravação dos dados nas tabelas auxiliares presentes na rotina Manutenção de Tabelas (GPEA320) que são gravadas fisicamente na tabela RCC - Parâmetros.

A estrutura das tabelas auxiliares são definidas através da rotina Manutenção de Tabelas (GPEA310) que grava os dados fisicamente na tabela RCB - Configuração de Parâmetros.

Para realizar a gravação dos registros do arquivo, será necessário verificar a estrutura presente na tabela RCB antes de gravar os dados na RCC.

As informações apresentadas nesta especificação serão baseadas na configuração padrão das tabelas a fim de facilitar o entendimento do processo de gravação. Porém, no momento da gravação será necessário verificar a estrutura na RCB. Os campos presentes na RCB referem-se aos campos da tabela auxiliar e o conteúdo desses 'campos' deverão ser gravados todos no campo RCC_CONTEU, obedecendo o tamanho e ordem apresentada na RCB.

Tabelas utilizadas e suas estruturas:

S016
S017
RCB_CAMPOSRCB_TAMAN
RCB_CAMPOSRCB_TAMAN
CODIGO3
CODIGO3
NOME150
NOME150
CNPJ14
CNPJ14
REGANS9
REGANS9
S028
S030
RCB_CAMPOSRCB_TAMANRCB_DECIMA
RCB_CAMPOSRCB_TAMANRCB_DECIMA
CODIGO2

CODIGO2
DESCRICAO20

DESCRICAO20
VALTIT122
VALTIT122
VALDEP122
VALDEP122
VALAGR122
VALAGR122
VLRDSCTIT122
VLRDSCTIT122
VLRDSCDEP122
VLRDSCDEP122
VLRDSCAGRD122
VLRDSCAGRD122
CODFOR3

CODFOR3
S009
S014
RCB_CAMPOSRCB_TAMANRCB_DECIMA
RCB_CAMPOSRCB_TAMANRCB_DECIMA
CODIGO2

CODIGO2
DESCRICAO20

DESCRICAO20
IDADEATE3

IDADEATE3
VALTIT122
VALTIT122
VALDEP122
VALDEP122
VALAGR122
VALAGR122
PERCTIT73
PERCTIT73
PERCDEP73
PERCDEP73
PERCAGR73
PERCAGR73
CODFOR3

CODFOR3


   

    

O arquivo plano_saude_logix.unl possui uma estrutura dividida em três partes abrangendo os seguintes cadastros:

  • Fornecedor de Plano de Saúde Médico e Odontológico

LOGIXPROTHEUS
Cadastro De Entidades de Saúde (RHU0080)

Fornecedor Plano de Assistência Médica/Odontológica (GPEA320 - Tabelas S016 e S017)

AtributoTipoAtributoTipo

Fixo 1

  • Identifica o registro de Informações de Fornecedores
char (01)

cod_entid_saude

  • Código da Entidade de Saúde (Fornecedor do Plano)
number (02)

codigo

  • Código identificador do Fornecedor

char (03)

picture: 999

den_entid_saude

  • Descrição da Entidade
  • Será enviado sem máscaras
char (30)

nome

  • Nome do Fornecedor

char (150)

picture: @!

cnpj

  • Número do CNPJ
  • Será enviado sem máscaras
char (14)

cnpj

  • CNPJ do Fornecedor

char (14)

picture: @R 99.999.999/9999-99

num_registro_ans

  • Número do Registro da ANS
char (20)

regans

  • Número do Registro da ANS

char (09)

picture: 999999999



*Todos os registros são de preenchimento obrigatório e deverão estar presentes no arquivo de importação.

  • Os registros do tipo '1' presentes no arquivo de importação plano_saude_logix.unl serão gravados na tabela RCC - Parâmetros referente à rotina Manutenção de Tabelas do SIGAPGE.
  • Os dados de cada registro serão guardados em um array de arrays aFornec, sendo a primeira dimensão cada fornecedor e a segunda os dados de cada fornecedor. Para facilitar a gravação, os campos serão guardados no array já realizando os tratamentos de tamanho e valor necessários.
  • A posição do array aFornec[x][1] guardará o código do Fornecedor. Como no Protheus o campo possui uma posição a mais, adicionar um 0 (zero) à esquerda do código enviado no arquivo: 0 + codigo.
  • A posição do array aFornec[x][2] guardará o nome do Fornecedor. Guardar o nome do Fornecedor completando os 150 caracteres com espaços: PadR(nome + Space(150),150)
  • A posição do array aFornec[x][3] guardará o código de cnpj do Fornecedor. 
  • A posição do array aFornec[x][4] guardará o Registro da ANS do Fornecedor.
  • A posição do array aFornec[x][5] guardará o código da tabela a qual pertence o Fornecedor. A princípio o campo ficará vazio e depois será preenchido durante a validação dos registros do tipo '2'.
    • No Protheus, utiliza-se duas tabelas auxiliares para gravar os dados de Fornecedores de Planos Assistenciais: 
      • S016 - Fornecedor de Plano Assistencial Médico
      • S017 - Fornecedor de Plano Assistencial Odontológico
      • Como no arquivo, os registros do tipo '1' não possuem a identificação de ou O, será necessário realizar essa identificação no momento da leitura dos registros do tipo '2' presente no arquivo.
      • Definir o Tipo de Fornecedor através da posição 5 dos registros tipo '2' do arquivo a fim de definir a tabela auxiliar onde será gravado o registro:
        • Se M, gravar o campo RCC_CODIGO com conteúdo S016.
        • Se O, gravar o campo RCC_CODIGO com conteúdo S017
  • O campo RCC_SEQUEN será preenchido de forma sequencial no momento da gravação. Verificar a última sequencia presente na RCC, para a chave RCC_FILIAL + RCC_CODIGO
  • O campo RCC_CONTEU receberá em forma de string todos os dados do registro gravado na seguinte ordem: aFornec[x][1]+aFornec[x][2]+aFornec[x][3]+aFornec[x][4]
  • Os campo RCC_FILIAL, RCC_FIL e RCC_CHAVE ficarão em branco.
  • Antes de realizar a gravação dos dados, verificar:
    • Se já existir o código de Fornecedor cadastrado: aFornec[x][1] == Substr(RCC_CODIGO,1,3) – não efetuar gravação, gerar log.


Exemplo do registro no arquivo:

1|99|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|99999999999999|99999999

   

    

  • Faixas Plano de Saúde

Para facilitar o desenvolvimento e entendimento das regras, será separada a análise da Faixa de Plano de Saúde por Valor Fixo e a Faixa de Plano de Saúde por Idade.

    • Por Valor Fixo
LOGIXPROTHEUS
Cadastro De Planos de Saúde (RHU0090)

Faixas Plano de Assistência Médica/Odontológica (GPEA320 - Tabelas S028 e S030)

AtributoTipoAtributoTipo

Fixo 2

  • Identifica o Registro de Informações de Plano de Saúde
char (01)

plano_saude.cod_entid_saude

  • Código da Entidade de Saúde (Fornecedor do Plano)
number (02)

codfor

  • código de identificação do fornecedor do Plano

char (03)

picture: 999

plano_saude.cod_plano_saude

  • Código do Plano de Saúde

number (04)

codigo

  • código de identificação do Plano cadastrado
  • O tamanho do campo no arquivo poderá vir com até 04 caracteres. No Protheus, o campo Código do Plano de Saúde possui 02 caracteres. Exibir uma tela para configuração do De/Para de Códigos de Plano de Saúde.

char (02)

plano_saude.des_plano_saude

  • Descrição do Plano de Saúde
char (30)

descricao

  • Descrição do Plano cadastrado
  • Exibir Mensagem! O tamanho do campo no arquivo poderá vir com até 30 caracteres. No Protheus, o campo Descrição do Plano possui até 20 caracteres. Perguntar ao usuário, antes de inicializar a importação, se deseja cortar os nomes com mais de 20 caracteres ou se deseja ajustar o documento antes de prosseguir (opção Cancelar).
char (20)

Tipo de Plano

  • Indica se o Plano de Saúde será O - Odontológico ou M - Médico
  • Será necessário prever DE/PARA de códigos através do programa VDP10141 de acordo com os códigos de Entidade de Saúde e Plano de Saúde, cadastrados no RHU0090 - Plano de Saúde da seguinte forma:
    • Tabela: PLANO_SAUDE
    • Sistema Integração: Protheus
    • De Campo: cod_plano_saude
    • De Valor: Código do Plano de Saúde informado no RHU0090
    • De Campo:cod_entid_saude
    • De Valor: Código da Entidade de Saúde informado no RHU0090
    • Para Valor: Deve ser informado os seguintes Valores O - Odontológico ou M - Médico
  • Se não for cadastrado o DE/PARA das informações contidas no RHU0090 ou houver o cadastramento incorreto do valor no DE/PARA, será emitida mensagem de Alerta e será atribuído nos registros exportados o valor M - Médico
char (01)

Utilizado para identificar a tabela auxiliar de destino da gravação.

Se conteúdo = M - Médico, gravar conteúdo na tabela S028 - Assistência Médica Valor Fixo (RCC_CODIGO = 'S028')


Se conteúdo = O - Odontológico, gravar conteúdo na tabela S030 - Assistência Odontológica Valor Fixo (RCC_CODIGO = 'S030')


plano_saude.val_plano

  • Valor do Plano de Saúde
  • Esta coluna será preenchida somente quando as opções Base_Calculo e Val_pl_idade do programa RHU0090 não tiverem valores preenchidos
number (11,2)

As tabelas S028 - Assistência Médica Valor Fixo e S030 - Assistência Odontológica Valor Fixo possuem os campos Valor Titular, Valor Dependente, Valor Agregado.

O valor presente nessa posição irá ser utilizado para preencher os 3 campos citados acima.

Para realizar gravação é necessário possuir valor maior que zero nesse campo.

Numerico (12,2)

pciture: @E 9,999,999.99

Forma de Cálculo

  • Forma de Cálculo do Plano
  • As opções que serão preenchidas serão:
    • V - Valor : Quando não houver parametrização na opção Val_pl_idade do programa RHU0090
    • I - Idade : Quando houver houver parametrização na opção Val_pl_idade do programa RHU0090
    • B - Base de Cálculo: Quando houver parametrização na opção Base_cálculo do programa RHU0090
      • Se o plano de saúde for por Base de Cálculo será enviado somente as informações de códigos do plano e entidade, devido as regras e forma de parametrização de base de cálculo entre o Logix e Protheus serem totalmente divergentes. Será mostrado no relatório de erros no Logix para o usuário parametrizar  no Protheus a base de cálculo do respectivo plano.
char (01)

Utilizado para identificar a tabela auxiliar de destino da gravação.

Para as tabelas S028 e S030, a posição deverá possuir conteúdo 'V'.


Tipo de Beneficiário do Plano

  • Para a Forma de Cálculo dos planos de saúde por idade, será atribuído os seguintes valores nesta coluna:
    • T - Titular - Irá englobar a opção T - Titular, definido para o Tipo de Beneficiário do Plano
    • D - Dependente : Irá englobar as opções D - Dependente
      Observação: 
      • No Protheus, não existe o conceito da opção DT - Dependente Titular
      • Desta forma, os Tipos de Beneficiários que tiverem esta opção (DT) não serão exportados para o arquivo, sendo informada inconsistência no relatórios de erros.
    • A - Agregado : Irá englobar as opções A - Agregado 
      Observação:
        • No Protheus, não existe o conceito da opção AT - Agregado Titular
        • Desta forma, os Tipos de Beneficiários que tiverem esta opção (AT) não serão exportados para o arquivo, sendo informada inconsistência no relatórios de erros.
char (01)*Não utilizado no Tipo de Plano com Valor Fixo

rhu_pl_saude_idade.idade_faixa

  • Para a Forma de Cálculo dos planos de saúde por idade, será atribuída nesta coluna o limite da faixa de idade
  • Esta informação irá se repetir de acordo com a quantidade de faixas definidas
number (03)*Não utilizado no Tipo de Plano com Valor Fixo

rhu_pl_saude_idade.val_plano_saude

  •  Para a Forma de Cálculo dos planos de saúde por idade, será atribuída nesta coluna o valor do plano de saúde, conforme a faixa de idade
  • Esta informação irá se repetir de acordo com a quantidade de faixas definidas
number (17,2)*Não utilizado no Tipo de Plano com Valor Fixo




  • Os registros do tipo '2' presentes no arquivo de importação plano_saude_logix.unl serão gravados na tabela RCC - Parâmetros referente à rotina Manutenção de Tabelas do SIGAGPE.
  • Os dados de cada registro serão guardados em um array de arrays aConfPlan1, sendo a primeira dimensão cada configuração e a segunda os dados de cada plano. Para facilitar a gravação, os campos serão guardados no array já realizando os tratamentos de tamanho e valor necessários.
  • A posição do array aConfPlan1[x][1] guardará o código do Fornecedor. Como no Protheus o campo possui uma posição a mais, adicionar um 0 (zero) à esquerda do código enviado no arquivo: 0 + código.
  • A posição do array aConfPlan1[x][2] guardará o código Plano a ser cadastrado.
    • Verificar o tamanho do campo (RCB_TAMAN onde RCB_CAMPOS = 'CODIGO' e RCB_CODIGO = 'S028'/'S030').
    • Caso o tamanho seja menor, emitir mensagem ao usuário perguntando se deseja prosseguir com o processo de nova numeração ou abortar a importação para ajustar a tabela.
      • Caso a resposta seja positiva, no momento da gravação utilizar um novo código, seguindo a sequencia presente na tabela.
      • Obs.: A pergunta pode ser feita antes do início do processamento, como forma de configuração, a fim de facilitar e agilizar o processo.
    • Será necessário possuir um De/Para interno para quando realizar a leitura dos registros do tipo '3' se identifique a qual plano o funcionário está atrelado.
  • A posição do array aConfPlan1[x][3] guardará a descrição do Plano a ser cadastrado.
    • Verificar o tamanho do campo (RCB_TAMAN onde RCB_CAMPOS = 'DESCRICAO' e RCB_CODIGO='S028'/'S030').
    • Caso o tamanho seja menor, emitir mensagem ao usuário perguntando se deseja prosseguir com o processo, cortando os caracteres a mais ou abortar a importação para ajustar a tabela.
      • Obs.: A pergunta pode ser fieta antes do início do processamento, como forma de configuração, a fim de facilitar e agilizar o processo.
  • A posição do array aConfPlan1[x][4] guardará o valor do Plano a ser cadastrado.
  • A posição do array aConfPlan1[x][5] guardará a tabela onde o registro será gravado. 
    • No Protheus, utiliza-se diversas tabelas para gravar as faixas dos diversos tipos de Plano Assistencial, sempre diferindo o tipo médico do tipo odontológico. Para o tipo valor fixo, são utilizadas as tabelas:
      • S028 - Assistência Médica Valor Fixo
      • S030 - Assistência Odontológica Valor Fixo
      • Ao verificar o conteúdo a posição 5 do registro:
        • Se M, preencher o array aConfPlan1[x][5] com conteúdo S028.
        • Se O, preencher o array aConfPlan1[x][5] com conteúdo S030.
      • Sendo a posição aConfPlan1[x][1] == aFornec[x][1], então aFornec[x][5] := aConfPlan1[x][5]
    • O conteúdo da posição aConfPlan1[x][5] será gravado no campo RCC_CODIGO.
  • O campo RCC_SEQUEN será preenchido de forma sequencial no momento da gravação. Verificar a última sequencia presente na RCC, para a chave RCC_FILIAL + RCC_CODIGO.
  • O campo RCC_CONTEU receberá em forma de string todos os dados do registro gravado na seguinte ordem: aConfPlan1[x][2]+aConfPlan1[x][3]+aConfPlan1[x][4]+aConfPlan1[x][4]+aConfPlan1[x][4]+Space(08)+0.00+Space(08)+0.00+Space(08)+0.00+aConfPlan1[x][1]
  • Os campo RCC_FILIAL, RCC_FIL e RCC_CHAVE ficarão em branco.
  • Verificações necessárias para gravação:
    • Assim como nas rotinas de migração dos outros itens, indicar mensagem sobre a divergência no tamanho dos campos e se o usuário confirmar, realizar o corte da informação para gravação dos dados. (Lembrando de realizar a verificação antes de carregar a informação no array)
    • Realizar gravação dos Planos apenas se houver Fornecedor cadastrado nas tabelas S016 (quando plano médico) ou S017 (quando plano odontológico).


  • Devido o campo código de identificação do Plano cadastrado possuir tamanho diferente no Protheus, será necessário desenvolver uma tela de De/Para para que no momento da importação seja feita a troca dos códigos para 2 algarismos.
    • O programa irá ler e listar os códigos presentes no arquivo de importação plano_saude_logix.unl e indicar uma sugestão de código para ser utilizado no Protheus
    • A configuração do De/Para será gravada em um arquivo com nome CODPLALOGIXPROTHEUS.UNL localizado no mesmo diretório que o arquivo de importação. 
    • Toda vez que realizar a importação de Planos de Saúde será verificada a existência do arquivo. 
      • Caso o arquivo já exista será utilizada as informações presentes nele. 
      • Caso não haja arquivo, será apresentada uma tela para configuração do De/Para baseado nos dados presentes no arquivo de importação.


Exemplo do registro no arquivo:

2|99|99|XXXXXXXXXXXXXXXXXXXX|X|9999.99|V||||||||

2|99|99|XXXXXXXXXXXXXXXXXXXX|X|9999.99|V||


          


    • Por Idade
LOGIXPROTHEUS
Cadastro De Planos de Saúde (RHU0090)

Faixas Plano de Assistência Médica/Odontológica (GPEA320 - Tabelas S009 e S014)

AtributoTipoAtributoTipo

Fixo 2

  • Identifica o Registro de Informações de Plano de Saúde
char (01)

plano_saude.cod_entid_saude

  • Código da Entidade de Saúde (Fornecedor do Plano)
number (02)

codfor

  • código de identificação do fornecedor do plano.
char (03)

plano_saude.cod_plano_saude

  • Código do Plano de Saúde

number (04)

codigo

  • código de identificação do Plano cadastrado
  • O tamanho do campo no arquivo poderá vir com até 04 caracteres. No Protheus, o campo Código do Plano de Saúde possui 02 caracteres. Exibir uma tela para configuração do De/Para de Códigos de Plano de Saúde.
char (02)

plano_saude.des_plano_saude

  • Descrição do Plano de Saúde
char (30)

descrição

  • Descrição do plano cadastrado
  • Exibir Mensagem! O tamanho do campo no arquivo poderá vir com até 30 caracteres. No Protheus, o campo Descrição do Plano possui até 20 caracteres. Perguntar ao usuário, antes de inicializar a importação, se deseja cortar os nomes com mais de 20 caracteres ou se deseja ajustar o documento antes de prosseguir (opção Cancelar).
char (20)

Tipo de Plano

  • Indica se o Plano de Saúde será O - Odontológico ou M - Médico
  • Será necessário prever DE/PARA de códigos através do programa VDP10141 de acordo com os códigos de Entidade de Saúde e Plano de Saúde, cadastrados no RHU0090 - Plano de Saúde da seguinte forma:
    • Tabela: PLANO_SAUDE
    • Sistema Integração: Protheus
    • De Campo: cod_plano_saude
    • De Valor: Código do Plano de Saúde informado no RHU0090
    • De Campo:cod_entid_saude
    • De Valor: Código da Entidade de Saúde informado no RHU0090
    • Para Valor: Deve ser informado os seguintes Valores O - Odontológico ou M - Médico
  • Se não for cadastrado o DE/PARA das informações contidas no RHU0090 ou houver o cadastramento incorreto do valor no DE/PARA, será emitida mensagem de Alerta e será atribuído nos registros exportados o valor M - Médico
char (01)

Utilizado para identificar a tabela auxiliar de destino da gravação.

Se conteúdo = M - Médico, gravar conteúdo na tabela S009 - Assistência Médica Faixa Etária (RCC_CODIGO = 'S009')


Se conteúdo = O - Odontológico, gravar conteúdo na tabela S014 - Assistência Odontológica Faixa Etária (RCC_CODIGO = 'S014')


plano_saude.val_plano

  • Valor do Plano de Saúde
  • Esta coluna será preenchida somente quando as opções Base_Calculo e Val_pl_idade do programa RHU0090 não tiverem valores preenchidos
number (11,2)*Não utilizado no Tipo de Plano com Faixa Etária

Forma de Cálculo

  • Forma de Cálculo do Plano
  • As opções que serão preenchidas serão:
    • V - Valor : Quando não houver parametrização na opção Val_pl_idade do programa RHU0090
    • I - Idade : Quando houver houver parametrização na opção Val_pl_idade do programa RHU0090B 
    • Base de Cálculo: Quando houver parametrização na opção Base_cálculo do programa RHU0090
      • Se o plano de saúde for por Base de Cálculo será enviado somente as informações de códigos do plano e entidade, devido as regras e forma de parametrização de base de cálculo entre o Logix e Protheus serem totalmente divergentes. Será mostrado no relatório de erros no Logix para o usuário parametrizar  no Protheus a base de cálculo do respectivo plano.
char (01)

Utilizado para identificar a tabela auxiliar de destino da gravação.

Para as tabelas S009 e S014, a posição deverá possuir conteúdo 'I'.


Tipo de Beneficiário do Plano

  • Para a Forma de Cálculo dos planos de saúde por idade, será atribuído os seguintes valores nesta coluna:
    • T - Titular - Irá englobar a opção T - Titular, definido para o Tipo de Beneficiário do Plano
    • D - Dependente : Irá englobar as opções D - Dependente 
      Observação: 
      • No Protheus, não existe o conceito da opção DT - Dependente Titular
      • Desta forma, os Tipos de Beneficiários que tiverem esta opção (DT) não serão exportados para o arquivo, sendo informada inconsistência no relatórios de erros.
    • A - Agregado : Irá englobar as opções A - Agregado 
      Observação:
      • No Protheus, não existe o conceito da opção AT - Agregado Titular
      • Desta forma, os Tipos de Beneficiários que tiverem esta opção (AT) não serão exportados para o arquivo, sendo informada inconsistência no relatórios de erros.
char (01)

Utilizado para identificar o tipo de beneficiário a qual os campos faixa e valor se referem.

Apenas os valores T, D, A serão válidos para importação.

Caso os valores DT e AT sejam encontrados no arquivo, estes não serão importados e será indicado no log de erros.

Atenção! Esse campo repete-se na linha juntamente com os campos faixa e valor de forma indeterminada.

Para realizar a importação, é necessário que os três campos estejam com valores válidos.


rhu_pl_saude_idade.idade_faixa

  • Para a Forma de Cálculo dos planos de saúde por idade, será atribuída nesta coluna o limite da faixa de idade
  • Esta informação irá se repetir de acordo com a quantidade de faixas definidas
number (03)

idadeate

  • Idade limite da faixa do plano.
  • No Protheus é realizado o cadastro dos valores por faixa, indicando o valor para cada tipo referente àquela faixa.

number (03)

picture: 999

rhu_pl_saude_idade.val_plano_saude

  •  Para a Forma de Cálculo dos planos de saúde por idade, será atribuída nesta coluna o valor do plano de saúde, conforme a faixa de idade
  • Esta informação irá se repetir de acordo com a quantidade de faixas definidas
number (17,2)

vlrtit / vlrdep / vlragr

  • Valor do plano referente à faixa informada.
  • A diferença dos entre os tipos do beneficiário é realizada através dos três campos: Valor Titular, Valor Dependente e Valor Agregado.

number (12,2)

picture: @E 9,999,999.99





  • Os registros do tipo '2' presentes no arquivo de importação plano_saude_logix.unl  serão gravados na tabela RCC - Parâmetros referente à rotina Manutenção de Tabelas do SIGAGPE.
  • Os dados de cada registro serão guardados em um array de arrays aConfPlan2, sendo a primeira dimensão cada configuração e a segunda os dados de cada plano. Para facilitar a gravação, os campos serão guardados no array já realizando os tratamentos de tamanho e valor necessários.
  • A posição do array aConfPlan2[x][1] guardará o código do Fonecedor. Como no Protheus o campo possui uma posição a mais, adicionar um 0 (zero) à esquerda do código enviado no arquivo: 0 + código.
  • A posição do array aConfPlan2[x][2] guardará o código do Plano a ser cadastrado.
    • Verificar o tamanho do campo (RCB_TAMAN onde RCB_CAMPOS = 'CODIGO' e RCB_CODIGO = 'S009'/'S014').
    • Caso o tamanho seja menor, emitir mensagem ao usuário perguntando se deseja prosseguir com o processo de nova numeração ou abortar a importação para ajustar a tabela.
      • Caso a resposta seja positiva, no momento da gravação utilizar um novo código, seguindo a sequencia presente na tabela.
      • Obs.: A pergunta pode ser feita antes do início do processamento, como forma de configuração, a fim de facilitar e agilizar o processo.
    • Será necessário possuir um De/Para interno para quando realizar a leitura dos registros do tipo '3' se identifique a qual plano o funcionário está atrelado
  • A posição do array aConfPlan2[x][3] guardará a descrição do Plano a ser cadastrado.
    • Verificar o tamanho do campo (RCB_TAMAN onde RCB_CAMPOS = 'DESCRICAO' e RCB_CODIGO='S028'/'S030').
    • Caso o tamanho seja menor, emitir mensagem ao usuário perguntando se deseja prosseguir com o processo, cortando os caracteres a mais ou abortar a importação para ajustar a tabela.
      • Obs.: A pergunta pode ser fieta antes do início do processamento, como forma de configuração, a fim de facilitar e agilizar o processo.
  • A fim de facilitar a gravação dos dados, a posição no array aConfPlan2 para cada tipo de beneficiário será fixa.
    • Possíveis tipos de beneficiários: TDA.
    • Os valores DT e AT não serão tratados no Protheus. Se houver algum registro com este conteúdo, emitir inconsistência no relatório de erros.
    • Se 'T', o valor da faixa será gravado na posição aConfPlan2[x][5]
    • Se 'D', o valor da faixa será gravado na posição aConfPlan2[x][6]
    • Se 'A', o valor da faixa será gravado na posição aConfPlan2[x][7]
    • Caso não haja valor para algum(ns) dos tipos, manter a posição com conteúdo em branco.
  • A posição do array aConfPlan2[x][4] guardará a idade limite da faixa etária do plano.
    • Atenção!!
      • No arquivo, o registro com a configuração de plano por faixa etária pode vir com várias faixas na mesma linha, indicando os valores para um mesmo tipo de beneficiário de acordo com a faixa.
      • No Protheus, as configurações de faixa etária são feitas por faixa, indicando os valores de cada tipo (titular, beneficiário, agregado).
      • Nesses casos, será necessário incluir diferentes linhas do array aConfPlan2, uma linha para cada faixa. E, quando a faixa dos outros tipos for igual a uma já existente, adicionar o valor à linha já adicionada. Seguir o exemplo:
        • 2|99|9999|XXXXXXXXXXXXXXX|M||I|D|007|100.00|D|018|120.00|D|024|160.00|D|040|180.00|D|999|250.00|T|018|120.00|T|050|250.00|T|999|300.00|  
        • aConfPlan2[1][4] := '007'
          • Como tipo 'D', então aConfPlan2[1][6] := 100.00
        • aConfPlan2[2][4] := '018'
          • Como tipo 'D', então aConfPlan2[2][6] := 120.00
          • Como tipo 'T', então aConfPlan2[2][5] := 120.00
        • aConfPlan2[3][4] := '024'
          • Como tipo 'D', então aConfPlan2[3][6] := 160.00
        • aConfPlan2[4][4] := '040'
          • Como tipo 'D', então aConfPlan2[4][6] := 180.00
        • aConfPlan2[5][4] := '999'
          • Como tipo 'D', então aConfPlan2[5][6] := 250.00
          • Como tipo 'T', então aConfPlan2[5][5] := 300.00
        • aConfPlan2[6][4] := '050'
          • Como tipo 'T', então aConfPlan2[6][5] := 250.00
  • O campo RCC_SEQUEN será preenchido de forma sequencial no momento da gravação. Verificar a última presente na RCC, para a chave RCC_FILIAL + RCC_CODIGO.
  • O campo RCC_CONTEU receberá em forma de string todos os dados do registro gravado na seguinte ordem: aConfPlan2[x][2]+aConfPlan2[x][3]+aConfPlan2[x][4]+aConfPlan2[x][5]+aConfPlan2[6]+aConfPlan2[x][7]+Space(02)+'0.000'+Space(02)+'0.000'+Space(02)+'0.000'+aConfPlan2[x][1]
  • Os campos RCC_FILIAL, RCC_FIL e RCC_CHAVE ficarão em branco.
  • Verificações necessárias antes da gravação:
    • Assim como nas rotinas de migração dos outros itens, indicar mensagem sobre a divergência no tamanho dos campos e se o usuário confirmar, realizar o corte da informação para gravação dos dados. (Lembrando de realizar a verificação antes de carregar a informação no array)
    • Realizar gravação dos Planos apenas se houver Fornecedor cadastrado nas tabelas S016 (quando plano médico) ou S017 (quando plano odontológico).


Exemplo do registro no arquivo:

2|99|9999|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|X||X|X|999|99999999999999.99|

2|99|9999|XXXXXXXXXXXXXX|M||I|A|020|300.00|A|999|900.00|D|018|180.00|D|999|250.00|T|050|200.00|T|999|300.00|

2|99|9999|XXXXXXXXXXXXXXX|M||I|D|007|100.00|D|018|120.00|D|024|160.00|D|040|180.00|D|999|250.00|T|018|120.00|T|050|250.00|T|999|300.00|

              

Atenção!

Caso o campo tipo de cálculo esteja com valor B, este será ignorado e não gravado no Protheus. Gerar aviso no log sobre a inconsistência na linha.



  • Planos Ativos 

    • Funcionários
    • Dependentes
    • Agregados
LOGIXPROTHEUS
Planos de Saúde (RHU3470)

Planos de Saúde Ativos (GPEA001)

AtributoTipoAtributoTipo

Fixo 3

  • Identifica o Registro de Informações de Funcionários
char (01)

Empresa Protheus

  • Enviar o código da Empresa Protheus, de acordo com a Empresa Logix Vinculada a Empresa Protheus no LOG00083 - Cadastro de Empresas
char (02)

Código da empresa no Protheus.

  • Necessário para identificar a tabela no banco de dados para realização a gravação dos dados e também realizar as devidas validações.

Filial Protheus

  • Enviar o código da Filial Protheus, de acordo com a Empresa Logix Vinculada a Empresa/Filial Protheus no LOG00083 - Cadastro de Empresas
char (08)

filial

  • Código da filial do Protheus.
  • RHK_FILIAL - para titular
  • RHL_FILIAL - para dependente
  • RHM_FILIAL - para agregado

char (02)

fun_plano_saude.num_matricula

  • Número da Matrícula do Funcionário
  • Será previso o DE/PARA de matrículas para o Protheus, se na exportação de funcionários houve esta necessidade
number (06)

matricula

  • Código de matrícula do funcionário
  • RHK_MAT - para titular
  • RHL_MAT - para dependente
  • RHM_MAT - para agragado
char (06)

Tipo de Plano

  • Indica se o Plano de Saúde será O - Odontológico ou M - Médico
  • Será necessário prever DE/PARA de códigos através do programa VDP10141 de acordo com os códigos de Entidade de Saúde e Plano de Saúde, cadastrados no RHU0090 - Plano de Saúde da seguinte forma:
    • Tabela: PLANO_SAUDE
    • Sistema Integração: Protheus
    • De Campo: cod_plano_saude
    • De Valor: Código do Plano de Saúde informado no RHU0090
    • De Campo:cod_entid_saude
    • De Valor: Código da Entidade de Saúde informado no RHU0090
    • Para Valor: Deve ser informado os seguintes Valores O - Odontológico ou M - Médico
  • Se não for cadastrado o DE/PARA das informações contidas no RHU0090 ou houver o cadastramento incorreto do valor no DE/PARA, será emitida mensagem de Alerta e será atribuído nos registros exportados o valor M - Médico
char (01)

tipo fornecedor

  • Tipo do Plano: médico (1) ou odontológico (2)
  • RHK_TPFORN - para titular
  • RHL_TPFORN - para dependente
  • RHM_TPFORN - para agregado
char (01)

fun_plano_saude.cod_entid_saude

  • Código da Entidade de Saúde (Fornecedor do Plano)
number (02)

código do fornecedor

  • RHK_CODFOR - para titular
  • RHL_CODFOR - para dependente
  • RHM_CODFOR - para agregado
char (03)

fun_plano_saude.cod_plano_saude

  • Código do Plano de Saúde
number (04)

código do plano

  • RHK_PLANO - para titular
  • RHL_PLANO - para dependente
  • RHM_PLANO - para agregado
char (02)

entid_saude_evento.cod_evento_desc

  • Código do Evento, verba Protheus, que será realizado o desconto do funcionário
  • A informação será considerada do programa RHU0080 - Entidades de Saúde, campo Evento Desconto
  • Será utilizado DE/PARA de códigos de Eventos, definidos no Logix.
number (04)

verba Protheus

  • código da verba para o cálculo do plano.
  • Se titular, RHK_PD
  • Se dependente ou agregado, RHK_PDDAGR
char (03)

fun_plano_saude.num_depend

  • Código do Dependente, caso o plano de saúde se refira a dependente
  • Se o Tipo de Beneficiário for para Agregado, esta informação não será preenchida
number (02)

sequencia

  • Código de identificação do dependente
  • Este campo vem preenchido apenas quando o registro refere-se a um dependente.
  • Pré-requisito: possuir dependente cadastrado na SRB.
  • RHL_CODIGO
char (02)

dependente.nom_depend

  • Nome do Dependente
  • Esta informação será preenchida somente se o Tipo de Beneficiário do Plano for A - Agregado
char (70)

nome

  • Nome do agregado
  • Este campo somente virá preenchido quando tipo beneficiário for Agregado.
  • RHM_NOME
  • Exibir Mensagem! O tamanho do campo no arquivo poderá vir com até 70 caracteres. No Protheus, o campo Nome do Agregado possui até 30 caracteres. Perguntar ao usuário, antes de inicializar a importação, se deseja cortar os nomes com mais de 30 caracteres ou se deseja ajustar o documento antes de prosseguir (opção Cancelar).
char (30)

 dependente.dat_nasc

  • Data de Nascimento do Dependente
  • Esta informação será preenchida somente se o Tipo de Beneficiário do Plano for A - Agregado
date

dt nasci

  • Data de nascimento do agregado
  • Este campo somente virá preenchido quando tipo beneficiário for Agregado.
  • RHM_DTNASC

date

(08)

 rhu_depend_docum.cpf

  • Número do CPF do Dependente
  • Esta informação será preenchida somente se o Tipo de Beneficiário do Plano for A - Agregado
  • Esta informação não será obrigatória e caso tenha, será enviado sem máscaras.
char (14)

CPF Agregado

  • Número de CPF do agregado
  • Este campo somente virá preenchido quando tipo beneficiário for Agregado.
  • RHM_CPF
char (11)


Observação:

  • O período será colocado como sendo o MV_FOLMES do Protheus.
  • Os registros de tipo '3' presentes no arquivo de importação plano_saude_logix.unl serão gravados nas tabelas RHK - Planos Ativos do TitularRHL - Planos Ativos do DependenteRHM - Planos Ativos do Agregado dependendo do tipo de beneficiário do registro.
  • É possível acessar o cadastro de Planos de Saúde do funcionário e seus dependentes/agregados através da rotina Planos Saúde Ativos (GPEA001) no módulo SIGAGPE.
  • Os dados de cada registro serão guardados em um array de arrays aPlanAtiv, sendo a primeira dimensão o funcionário e a segunda os dados de cada plano. Para facilitar a gravação, os campos serão guardados no array já realizando os tratamentos de tamanho e valor necessários.
  • A posição do array aPlanAtiv[x][1] guardará o código da empresa.
    • Realizar mesmas validações existentes nas outras opções de migração.
  • A posição do array aPlanAtiv[x][2] guardará o código da filial.
    • Realizar mesmas validações existentes nas outras opções de migração.
  • A posição do array aPlanAtiv[x][3] guardará o código de matrícula do funcionário.
    • Realizar mesmas validações existentes nas outras opções de migração.
  • A posição do array aPlanAtiv[x][4] guardará o tipo de plano do registro.
    • Se Médico, então será guardado o valor 1
    • Se Odontológico, então será guardado o valor 2.
  • A posição do array aPlanAtiv[x][5] guardará o código do Fornecedor. Como no Protheus o campo possui uma posição a mais, adicionar um 0 (zero) à esquerda do código enviado no arquivo: 0 + código.
    • Verificar a existência do Fornecedor na tabela RCC, verificando a tabela auxiliar S016 se for plano médico ou a tabela auxiliar S017 se for plano odontológico.
    • Caso não haja Fornecedor cadastrado, não será realizada a importação do registro e uma mensagem deverá ser adicionada ao log de inconsistências.
  • A posição do array aPlanAtiv[x][6] guardará o código do Plano.
    • O código de identificação do Plano presente no arquivo de importação possui um tamanho maior (Char 04) que o campo equivalente nas tabelas do Protheus (Char 02).
    • Antes de realizar a gravação dos itens no Protheus deverá ser exibida uma tela ao usuário para configurar um De/Para dos códigos Logix(Arquivo) para Protheus.
    • No array deve-se guardar o código equivalente no Protheus, consultando o De/Para feito pelo usuário  no momento da importação.
    • Realizar verificação se já possui o código cadastrado na respectiva tabela auxiliar (S009 ou S028 - Plano Médico, S014 ou S030 - Plano Odontológico) que possuem os planos a serem importados.
    • Caso não haja em nenhum lugar cadastrado o código do Plano, não deverá ser realizada a importação do registro e adicionar uma mensagem ao log de inconsistências.
  • A posição do array aPlanAtiv[x][7] guardará o código da verba para cálculo do plano.
    • Realizar mesmas validações existentes nas outras opções de migração.
  • A posição do array a PlanAtiv[x][8] guardará o código de identificação do dependente, caso a informação seja passada.
    • O preenchimento desta posição define se o registro refere-se a um dependente ou não.
    • Caso essa posição esteja preenchida, as últimas 3 posições do arquivo (referente à agregados) serão desconsideradas.
    • Verificar existência do dependente na tabela SRB.
  • A posição do array aPlanAtiv[x][9] guardará o nome do agregado, caso a informação seja passada.
    • O preenchimento desta posição define se o registro refere-se a um dependente ou não.
    • Para realizar a leitura desse campo, o campo anterior (código do dependente) deverá estar em branco.
    • O tamanho do campo no arquivo poderá vir com até 70 caracteres. No Protheus, o campo Nome do Agregado possui até 30 caracteres. Perguntar ao usuário, antes de inicializar a importação, se deseja cortar os nomes com mais de 30 caracteres ou se deseja ajustar o documento antes de prosseguir (opção Cancelar).
  • A posição do array aPlanAtiv[x][10] guardará a data de nascimento do agregado, caso a informação seja passada.
    • Verificar se data informada é válida.
    • O nome do agregado juntamente com a data de nascimento são informações obrigatórias para gravação.
    • Caso um dos dois dados não seja informado, ou possui valor inconsistente, não será realizada a importação e será adicionada mensagem ao log de inconsistências.
  • A posição do array aPlanAtiv[x][11] guardará o CPF do agregado, caso a informação seja passada.
    • Realizar validação do número de CPF informado. 
    • O campo não é obrigatório no Protheus, porém, se informado, será feita validação e, se encontrada inconsistência, o registro não será importado. Adicionar mensagem no log final.


Gravação das tabelas

  • No Protheus, cada tipo de beneficiário de plano de saúde é gravado em tabela específica:
    • RHK - Planos Ativos do Titular
    • RHL - Planos Ativos do Dependente
    • RHM - Planos Ativos do Agregado.
  • Para realizar gravações nas tabelas RHL e RHM deve-se possuir registro na RHK.
  • Em teoria, no arquivo, a ordem dos registros será: titular + dependentes/agregados. Sendo assim, possuindo o dado do titular gravado, é possível realizar a gravação do dependente/agregado.
  • Para gravação dos dados do titular:
    • Utilizar o código da empresa presente na posição aPlanAtiv[x][1] para definir a tabela de gravação (RHKEE)
    • RHK_FILIAL := aPlanAtiv[x][2]
    • RHK_MAT := aPlanAtiv[x][3]
    • RHK_TPFORN := aPlanAtiv[x][4] --conteúdo '1' ou '2' - campo caracter
    • RHK_CODFOR := aPlanAtiv[x][5]
    • RHK_TPPLAN recebe o tipo de plano: '2' Faixa Etária ou '3' Valor Fixo. Será definido através da identificação do código do Fornecedor + código do Plano. Identificando a tabela auxiliar onde se encontra o plano (S009 e S014 - Faixa Etária, S028 e S030 - Valor Fixo)
    • RHK_PLANO := aPlanAtiv[x][6]
    • RHK_PD := aPlanAtiv[x][7]
    • RHK_PERINI recebe conteúdo do MV_FOLMES no formato mesAnoLembre-se: MV_FOLMES utiliza o formato anoMes.
  • Para gravação dos dados do dependente:
    • Utilizar o código da empresa presente na posição aPlanAtiv[x][1] para definir a tabela de gravação (RHLEE)
    • RHL_FILIAL := aPlanAtiv[x][2]
    • RHL_MAT := aPlanAtiv[x][3]
    • RHL_TPFORN := aPlanAtiv[x][4] --conteúdo '1' ou '2' - campo caracter
    • RHL_CODFOR := aPlanAtiv[x][5]
    • RHL_CODIGO := aPlanAtiv[x][8]
    • RHL_TPPLAN  recebe o tipo de plano: '2' Faixa Etária ou '3' Valor Fixo. Será definido através da identificação do código do Fornecedor + código do Plano. Identificando a tabela auxiliar onde se encontra o plano (S009 e S014 - Faixa Etária, S028 e S030 - Valor Fixo) 
    • RHL_PLANO := aPlanAtiv[x][6]
    • RHL_PERINI recebe conteúdo do MV_FOLMES no formato mesAnoLembre-se: MV_FOLMES utiliza o formato anoMes.
    • RHK_PDDAGR recebe o código da verba de cálculo para o dependente (aPlanAtiv[x][7])
    • Para conseguir visualizar e manipular os dados via Protheus é necessário que a tabela RHK e RHL possuam algumas informações iguais. Válido também para a gravação do campo RHK_PDDAGR.
      • RHK_FILIAL = RHL_FILIAL
      • RHK_MAT = RHL_MAT
      • RHK_TPFORN := RHL_TPFORN
      • RHK_CODFOR := RHL_CODFOR
  • Para gravação dos dados do agregado:
    • Utilizar o código da empresa presente na posição aPlanAtiv[x][1] para definir a tabela de gravação (RHMEE)
    • RHM_FILIAL := aPlanAtiv[x][2]
    • RHM_MAT := aPlanAtiv[x][3]
    • RHM_TPFORN := aPlanAtiv[x][4] --conteúdo '1' ou '2' - campo caracter
    • RHM_CODFOR := aPlanAtiv[x][5]
    • RHM_CODIGO recebe um número sequencial, criado conforme inserido agregados para o funcionário - Char (02)
    • RHM_TPPLAN  recebe o tipo de plano: '2' Faixa Etária ou '3' Valor Fixo. Será definido através da identificação do código do Fornecedor + código do Plano. Identificando a tabela auxiliar onde se encontra o plano (S009 e S014 - Faixa Etária, S028 e S030 - Valor Fixo) 
    • RHM_PLANO := aPlanAtiv[x][6]
    • RHM_PERINI recebe conteúdo do MV_FOLMES no formato mesAnoLembre-se: MV_FOLMES utiliza o formato anoMes.
    • RHM_NOME := aPlanAtiv[x][9]
    • RHM_DTNASC := aPlanAtiv[x][10]
    • RHM_CPF := aPlanAtiv[x][11]
    • RHK_PDDAGR recebe o código da verba de cálculo para o dependente (aPlanAtiv[x][7])
    • Para conseguir visualizar e manipular os dados via Protheus é necessário que a tabela RHK e RHM possuam algumas informações iguais. Válido também para a gravação do campo RHK_PDDAGR.
      • RHK_FILIAL = RHM_FILIAL
      • RHK_MAT = RHM_MAT
      • RHK_TPFORN := RHM_TPFORN
      • RHK_CODFOR := RHM_CODFOR

Exemplo do registro no arquivo:

3|99|99|999999|X|99|99|999|||||

3|99|99|999999|X|99|99|999|99||||

3|99|99|999999|X|99|99|999||XXXXXXXXXXXXXXX|99/99/9999|99999999999|

      

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