Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Cadastro da Integração
  3. Classe PLMapStpBenef 
  4. Classe PLMapJsBenef
  5. Tabelas utilizadas
  6. Dicionário de Dados


01. VISÃO GERAL

Essa API tem por objetivo receber dados dos beneficiários para inclusão, alteração e exclusão, e enviar dados do beneficiários utilizando as  tabelas (BA1/BA3).

Para uma boa funcionalidade do REST Protheus segue um passo a passo de como configura Documentação API TOTVS.


02. API DE INCLUSÃO/ALTERAÇÃO/EXCLUSÃO DE BENEFICIÁRIOS

A inclusão de beneficiários seguira as regras estabelecidas pela API reference TOTVS , segue a estrutura de requisição, com o preenchimento dos seguintes campos:


2.a) Inclusão.

2.b) Corpo.


A classe PLMapJsBenef, será responsável pela montagem do JSON para comunicar com a API da HealthMap. O JSON será enviado com os seguintes dados:

Atributo HealthMap

Campo Protheus

Tipo

codigoExternoBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
codigoExternoEmpresaBA1_CODEMPCaracter
codigoExternoGestor(Vazio)Caracter
codigoExternoTitularPara o Titular será Vazio, para o dependente será a chave do titular: BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
codigoParentescoPara o Titular será Vazio, para o dependente será BA1_GRAUPACaracter
codigosProfSaudeRef(Vazio)Array
dataNascimentoBA1_DATNASCaracter - Formato DD/MM/AAAA
docIdentificacao(Vazio)Caracter
emailBA1_EMAILCaracter
enderecoBairroBA1_BAIRROCaracter
enderecoCepBA1_CEPUSRCaracter
enderecoCodigoIbgeCidadeBA1_CODMUNCaracter
enderecoDescricaoBA1_ENDERE+","+BA1_NR_END+","+BA1_COMENDCaracter
enderecoNomeCidadeBA1_MUNICICaracter
enderecoUfBA1_ESTADOCaracter
listaCarteirinhasRegistros da Tabela BED do BeneficiárioArray
codigoConvenioBA3_CODPLA+BA3_VERSAOCaracter
dataValidadeBED_DATVALCaracter - Formato DD/MM/AAAA
numeroCarteiraBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
listaContratante
Array
codigoContratante

Para Pessoa Jurídica:
BQC_CODINT+BQC_CODEMP+BQC_NUMCON+BQC_VERCON+BQC_SUBCON+BQC_VERSUB
Para Pessoa Física:
BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO (Matricula do Titular)

Caracter
codigoModalidadePagamentoBA3_MODPAGCaracter
nomeContratantePara Pessoa Jurídica:
BQC_DESCRI
Para Pessoa Física:
BA1_NOMUSR (Nome do Titular)
Caracter
loginBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
modalidade"H"Caracter
nomeBA1_NOMUSRCaracter
nomeParentescoPara o Titular será Vazio, para o dependente será BRP_DESCRI de acordo com o BA1_GRAUPACaracter
senha(Vazio)Caracter
sexoBA1_SEXO, sendo 1 para "M" e 2 para "F"Caracter
status"A" para Ativo e  "I" para Inativo, de acordo com o BA1_DATBLOCaracter
telCelularBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for vazio ou 3Caracter
telComercialBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for 2Caracter
telResidencialBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for 1Caracter
titularidadeBA1_TIPUSUCaracter
listaDocumentosLista de Documentos ObrigatóriosArray
codigoDocumento"1", para CPFCaracter
numeroDocumentoBA1_CPFUSRCaracter
codigoDocumento"2", para RGCaracter
numeroDocumentoBA1_DRGUSRCaracter
codigoDocumento"3", para CNSCaracter
numeroDocumentoBA1_NRCRNACaracter
codigoDocumento"4", para IdentificadorCaracter
numeroDocumentoBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter





Campo

Ação

Alias Prima.Preencher BA1
EndPointSolicitar pra HealthMap o Endpoint da Api de Beneficiarios
Classe STAMPPreencher PLMapStpBenef
Classe Comu.Preencher PLMapJsBenef
Login Auten.Login de acesso da HealthMap
Senha Auten.

Senha de acesso da HealthMap

EndPoint Aut.Solicitar pra HealthMap o Endpoint da Api de Token
Perg. GerarPreencher PLRMPEMP

03. CLASSE PLMAPSTPBENEF

A Classe PLMapStpBenef será responsável por buscar alterações, inclusões e exclusões dos beneficiários nas tabelas BA3, BA1 e BTS pela coluna STAMP, para gravação dos pedidos na tela de Integrações, para posteriormente comunicar com a HealthMap. A periocidade da busca é configurada de acordo com o schedule.

Na questão do bloqueio do beneficiário, o sistema irá gravar o pedido com data em que o beneficiário será realmente bloqueado (Considerando também o parâmetro MV_PLDIABL), e esse pedido será enviado para a HealthMap somente após essa data.
Caso seja gerado pelo botão Gerar Pedidos, além de gerar o pedido programado para o bloqueio, também será gerado um outro pedido do beneficiário como ativo, ou seja, a HealthMap irá receber um pedido como ativo, e na data do bloqueio irá receber um pedido como Inativo.

Diagrama de Classes



04. CLASSE PLMAPJSBENEF

A classe PLMapJsBenef, será responsável pela montagem do JSON para comunicar com a API da HealthMap. O JSON será enviado com os seguintes dados:

Atributo HealthMap

Campo Protheus

Tipo

codigoExternoBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
codigoExternoEmpresaBA1_CODEMPCaracter
codigoExternoGestor(Vazio)Caracter
codigoExternoTitularPara o Titular será Vazio, para o dependente será a chave do titular: BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
codigoParentescoPara o Titular será Vazio, para o dependente será BA1_GRAUPACaracter
codigosProfSaudeRef(Vazio)Array
dataNascimentoBA1_DATNASCaracter - Formato DD/MM/AAAA
docIdentificacao(Vazio)Caracter
emailBA1_EMAILCaracter
enderecoBairroBA1_BAIRROCaracter
enderecoCepBA1_CEPUSRCaracter
enderecoCodigoIbgeCidadeBA1_CODMUNCaracter
enderecoDescricaoBA1_ENDERE+","+BA1_NR_END+","+BA1_COMENDCaracter
enderecoNomeCidadeBA1_MUNICICaracter
enderecoUfBA1_ESTADOCaracter
listaCarteirinhasRegistros da Tabela BED do BeneficiárioArray
codigoConvenioBA3_CODPLA+BA3_VERSAOCaracter
dataValidadeBED_DATVALCaracter - Formato DD/MM/AAAA
numeroCarteiraBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
listaContratante
Array
codigoContratante

Para Pessoa Jurídica:
BQC_CODINT+BQC_CODEMP+BQC_NUMCON+BQC_VERCON+BQC_SUBCON+BQC_VERSUB
Para Pessoa Física:
BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO (Matricula do Titular)

Caracter
codigoModalidadePagamentoBA3_MODPAGCaracter
nomeContratantePara Pessoa Jurídica:
BQC_DESCRI
Para Pessoa Física:
BA1_NOMUSR (Nome do Titular)
Caracter
loginBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter
modalidade"H"Caracter
nomeBA1_NOMUSRCaracter
nomeParentescoPara o Titular será Vazio, para o dependente será BRP_DESCRI de acordo com o BA1_GRAUPACaracter
senha(Vazio)Caracter
sexoBA1_SEXO, sendo 1 para "M" e 2 para "F"Caracter
status"A" para Ativo e  "I" para Inativo, de acordo com o BA1_DATBLOCaracter
telCelularBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for vazio ou 3Caracter
telComercialBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for 2Caracter
telResidencialBA1_DDD+BA1_TELEFO, se o campo BA1_TIPTEL for 1Caracter
titularidadeBA1_TIPUSUCaracter
listaDocumentosLista de Documentos ObrigatóriosArray
codigoDocumento"1", para CPFCaracter
numeroDocumentoBA1_CPFUSRCaracter
codigoDocumento"2", para RGCaracter
numeroDocumentoBA1_DRGUSRCaracter
codigoDocumento"3", para CNSCaracter
numeroDocumentoBA1_NRCRNACaracter
codigoDocumento"4", para IdentificadorCaracter
numeroDocumentoBA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITOCaracter

Exemplo:

JSON de Envio
{
  "enderecoCep": "",
  "codigoExternoEmpresa": "1008",
  "codigoExternoGestor": "",
  "status": "A",
  "listaDocumentos": [
    {
      "codigoDocumento": "1",
      "numeroDocumento": "74827314233"
    },
	{
      "codigoDocumento": "2",
      "numeroDocumento": "489494262"
    },
    {
      "codigoDocumento": "3",
      "numeroDocumento": "287611986630008"
    },
    {
      "codigoDocumento": "4",
      "numeroDocumento": "00011008000019017"
    }
  ],
  "modalidade": "H",
  "titularidade": "T",
  "telCelular": "",
  "docIdentificacao": "",
  "codigoParentesco": "",
  "nomeParentesco": "",
  "enderecoCodigoIbgeCidade": "",
  "enderecoNomeCidade": "",
  "enderecoUf": "",
  "telComercial": "",
  "dataNascimento": "03/09/1988",
  "codigoExterno": "00011008000019017",
  "senha": "",
  "codigoExternoTitular": "",
  "listaCarteirinhas": [
    {
      "numeroCarteira": "00011008000019017",
      "dataValidade": "25/10/2023",
      "codigoConvenio": "0001001"
    }
  ],
  "codigosProfSaudeRef": [],
  "telResidencial": "",
  "enderecoBairro": "",
  "sexo": "M",
  "listaContratante": [
    {
      "codigoContratante": "00011008000000000001001000000003001",
      "codigoModalidadePagamento": "1",
      "nomeContratante": "SUBCONTRATO USO GERAL"
    }
  ],
  "nome": "PAULO VINICIUS BARBOSA",
  "email": "",
  "login": "00011008000019017",
  "enderecoDescricao": ""
}

Para alterar o JSON, poderá ser utilizado o Ponto de Entrada PLMPJSBE (DT PE Manipular JSON de Envio de Beneficiários para a HealthMap).

Diagrama de Classes


05. TABELAS UTILIZADAS

  • BA1 (Cadastro dos Beneficiários)
  • BA3 (Cadastro das Famílias)
  • BTS (Cadastro de Vidas)
  • BQC (Cadastro Subcontratos da Empresa)


05. DICIONÁRIO DE DADOS

Atualização do Arquivo SX1 (Pergunte): 

GrupoOrdemPerguntaVariávelTipoTamanhoDecimalObjetoConsulta Padrão
PLRMPEMP01Grupo/Empresa De ?MV_PAR01C401 - EditB7APLS
PLRMPEMP02Grupo/Empresa Ate ?MV_PAR02C401 - EditB7APLS

Atualização do Arquivo SX6 (Parâmetros): 

VarTipoDescriçãoConteúdo (Default)
MV_PLDTVIRC - CaracterData de Validade da Carteirinha Virtual no Json de Beneficiários na Integração do TOTVS Saúde Planos "01/01/2100"
MV_PLCTVIRL - LógicoHabilita o Envio da Validade da Carteira Virtual para os Beneficiários no Json de Integrações.  .F.


Importante

A alteração de dicionário referente a essa implementação estará disponível no próximo pacote de Expedição Contínua do módulo SIGAPLS.