A integração do produto TOTVS Saúde Planos Linha Protheus e o HealthMap tem como objetivo, enviar dados dos Beneficiários e Empresas para que possam ser tratados pelos serviços utilizados na plataforma HealthMap.
A comunicação entre as partes será realizada via comunicação API REST.
O processo de integração funcionará no seguinte panorama, que serão detalhados abaixo:
Tela em MVC da tabela BXX (Integrações HeathMap), onde será possível incluir, alterar e excluir registro.
(Imagem ilustrativa, alterar para imagem do produto quando desenvolvido)
Detalhes dos campos da tabela BXX:
Campo | Descrição | Validação |
---|---|---|
Operadora | Operadora do Sistema | Verifica se a Operadora existe no cadastro BA0 |
Cod. Integração | Código Incremental das Integrações | |
Descrição | Descrição da Integração | |
Alias Primário | Tabela que será usada como principal para buscar registros | Verifica se a tabela informada existe no dicionário de dados e se já não foi cadastrada na BXX |
EndPoint | Endereço de comunicação da API da HealthMap para a integração | |
Ativo | Se a integração está ativa ou não. | |
Tent. Envio | Tentativas de Envio, caso não consiga se comunicar com API. |
Através desse botão será visualizado os pedidos relacionados a integração posicionada na tabela BXX, a tela de pedidos será detalhada no próximo tópico.
Tela em MVC da tabela BZZ (Pedidos), que será acessada através do botão outras ações da tela de Integrações HealthMap. O Browser dos pedidos será filtrado de acordo com a integração posicionada, ou seja, se for acessado via Integração do cadastro de beneficiários, só será exibido os pedidos relacionados ao cadastro de beneficiários na tabela BZZ e assim também para o cadastro de Empresas.
Aberto o Browser dos pedidos, no menu terá a opção de Alterar, Visualizar, Excluir, Cancelar e Comunicar (Inclusão será feita somente via Classe de Coleta de Dados):
(Imagem ilustrativa, alterar para imagem do produto quando desenvolvido)
Detalhes dos Campos da tabela BZZ:
Campo | Descrição |
---|---|
Operadora | Operadora do Sistema |
Cod. Integração | Código de relacionamento com a tabela de Integrações |
Cod. Pedido | Código Incremental dos Pedidos |
Alias | Tabela chave do pedido para ser utilizado na busca de dados |
Chave | Chave de busca do Alias para posicionar nos registros |
Dt. Inclusão | Data de Inclusão do Pedido |
Dt. Comunicação | Data em que foi realizado a comunicação com a HealthMap |
Status | Status do Pedido: 0-Pendente de Envio; 1-Envio Realizado; 2-Erro de Envio; 3-Envio Cancelado |
Tent. Envio | Tentativas de Comunicação com o HealthMap |
Json Envio | JSON enviado para o HealthMap |
A classe PLMapGrvPed, irá verificar as integração da HealthMap (Tabela BXX) se os Alias relacionados ao Cadastro de Beneficiários ou Empresa tiveram alguma alteração de acordo com o campo S_T_A_M_P_ das tabelas. Se houver alteração, será feito uma busca na tabela de pedido (BZZ) pelos campos: Cod. Integração + Alias Primário + Chave (Corresponde os dados que identificam o Beneficiário ou Empresa), para saber se tem algum pedido daquele Beneficiário ou Empresa pendente para não haver duplicidade de envio de dados.
Essa Classe possuirá alguns métodos como:
Será criado um schedule, onde poderá ser configurado a quantidade de vezes em que a classe PLMapGrvPed, irá buscar e gravar os pedidos de acordo com as integrações.
Criado os pedidos, será feito a comunicação com a HealthMap pela Classe PLMapComPed, que herda métodos da classe PLSRest.
Mas antes de comunicar, será feito a montagem do json de cada pedido através da classe PLMapBenef para o Cadastro de Beneficiários e PLMapEmpre para o Cadastro de Empresas.
Essas classe de montagem do Json possuirá alguns métodos como:
Feito a montagem do Json, será instanciado a classe de comunicação para envio do Json para a HealthMap.
A Classe comunicação PLMapComPed possuirá alguns métodos como:
Será criado um schedule, onde poderá ser configurado a quantidade de vezes em que a classe PLMapComPed, irá realizar o envio dos pedidos pendentes para a HealthMap.