Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

TOTVS Saúde Planos

Solucoes_totvs
Solucao

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linha Protheus 

Linhas_totvs

Segmento:

Saude 

Segmentos_totvs
Segmento

Módulo:PLANO DE SAÚDE (SIGAPLS)
Função:Protocolo de Negativas (PLSA773)
API GPU (PLSGPURest)
Ticket:10771696
Requisito/Story/Issue (informe o requisito relacionado) :DSAUBE-13814


02. 
SITUAÇÃO/REQUISITO

Necessidade de implementar integração com o GPU - Gestão de Protocolos Unimed através de API REST, substituindo a integração via Web Service Soap.

03. SOLUÇÃO

Implementada melhoria no processo da RNº 395 para Operadoras Cooperativas Médicas Unimed, onde Foram criados serviços REST, para gerenciamento de protocolos de atendimento de beneficiários de intercâmbio. 

Totvs custom tabs box
tabsAmbiente, Autenticação, Api PLSGPUREST, Atualizações de Dicionário
idspasso1,passo2,passo3,passo4
Totvs custom tabs box items
defaultyes
referenciapasso1

Configuração REST

Para iniciar a instalação do processo, devemos configurar seu INI Protheus com a funcionalidade REST para habilitar o acesso as API´s.
Com o INI Protheus configurado, a nomenclatura das API´s ficará no formato: <url + Porta + Chave rest definidos no INI Protheus> +  PLSGPUREST/v1/ + <nome da API>
Exemplo:

Logo, a minha URL será: http://localhost:8080/rest/PLSGPUREST/v1/solicitarProtocolo



Endpoints do GPU - Gestão de Protocolos Unimed

Solicite para a Unimed do Brasil, os Endpoints em Produção do GPU, para que seja informado nos seguintes parâmetros (SX6):

MV_R395SOLSolicitar Protocolo de Atendimento - Beneficiário
MV_R395COMComplementar Protocolo de Atendimento
MV_R395RESResponder Atendimento
MV_R395STAConsulta Status de Protocolo
MV_R395HISConsultar Histórico do Protocolo
MV_R395CANCancelar Atendimento
MV_R395ENCEncaminhar Execução da Manifestação


Observação: Para habilitar a API de envio para os Endpoints do GPU, deverá ser ativado o parâmetro MV_PGPURES com o conteúdo igual a "1".

Totvs custom tabs box items
defaultno
referenciapasso2

Autenticação de Usuário para o GPU

Para que seja realizada uma requisição a API do GPU, deverá ser realizado a autenticação de uma Conta de Serviço ou Aplicação no GIU:

Operação: Obter Token a partir de login e senha


No Remote, os dados de Login, Senha e Enpoint deveram ser informados no Cadastro de Operadoras de Saúde, na Aba Integrações Unimed:



Login GIU: Login do usuário no GIU/Client ID
Senha GIU: Senha do usuário no GIU / Client Secret
EndPoint GIU: Endpoint Produção da Unimed Brasil
Bearer GIU: Token de autenticação
Cookie GIU: Cookie utilizado para Autenticação
Tempo Exper.: Tempo para expiração do Token. no Formato: Data|Segundos

Observação: Os campos de Bearer, Cookie e Tempo Exper. serão preenchidos automaticamente pelo sistema ao realizar alguma requisição ao GPU. Na questão de expiração do acesso, o sistema irá sempre verificar o campo Tempo Exper. para verificar se será solicitado um novo Token de acesso.


Totvs custom tabs box items
defaultno
referenciapasso3

Serviços disponíveis para Integração GPU:

Totvs custom tabs box
tabssolicitarProtocolo,complementaProtocolo,responderAtendimento,consultaStatusProtocolo,historicoProtocoloConsulta,cancelarAtendimento,encaminharExecucao
idspasso01,passo02,passo03,passo04,passo05,passo06,passo07
Totvs custom tabs box items
defaultyes
referenciapasso01

Serviço de Solicitação Protocolo de Atendimento - Beneficiário

Objetivo: Disponibilizar o serviço “Solicitar Protocolo de Atendimento - Beneficiário”.
Enviar uma mensagem para a Unimed referente à uma manifestação de seu beneficiário. O retorno da mensagem será um Protocolo conforme padrão ANS.

Operação: solicitarProtocolo
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/solicitarProtocolo
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "001",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0667",
        "nr_ans": "000667",
        "nr_transacao_prestadora": "0000046846",
        "dt_manifestacao": "2020-08-01 12:00:00",
        "id_usuario": "teste",
        "nr_versao_protocolo": "001"
    },
    "solicitar_protocolo": {
        "nome": "teste",
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "cd_cpf": "09520811990",
        "ddd": "11",
        "telefone": "964269563",
        "email": "[email protected]",
        "cd_uf": "SC",
        "cd_cidade": "4205407",
        "cd_uni_atendimento": "0025",
        "tp_manifestacao": "7",
        "tp_categoria_manifestacao": [18],
        "id_resposta": 3,
        "nr_transacao_intercambio": "0000054545",
        "nr_protocolo_anterior": null,
        "mensagem": "Nathali"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "002",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0999",
        "cd_uni_destino": "0666",
        "nr_ans": "999999",
        "nr_transacao_prestadora": "0000046846",
        "id_usuario": "fgdfgg",
        "nr_versao_protocolo": "001"
    },
    "resposta_solicitar_protocolo": {
        "cd_unimed": "0666",
        "id_benef": "0000000000005",
        "nr_protocolo": "12345678912345677777",
        "id_resposta": 3,
        "mensagem": "teste",
        "id_sistema": 2
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso02

Serviço Complementar Protocolo de Atendimento

Objetivo: Disponibilizar o serviço “Complementar Protocolo de Atendimento”.
Enviar uma mensagem para a Unimed referente à uma manifestação de seu beneficiário. Essa mensagem poderá ser vinculada à uma transação de Intercâmbio entre as Unimeds e/ou a um protocolo de atendimento existente.

Operação: complementaProtocolo
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/complementaProtocolo
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao":{
        "cd_transacao":"003",
        "tp_cliente":"UNIMED",
        "cd_uni_origem":"0001",
        "cd_uni_destino": "0667",
        "nr_ans": "000667",
        "nr_transacao_prestadora":"0000046846",
        "dt_manifestacao":"2020-08-01 12:00:00",
        "id_usuario":"teste",
        "nr_versao_protocolo":"001"
    },
    "pedido_complemento_protocolo":{
        "cd_unimed":"0667",
        "id_benef": "0000000000002",
        "nr_protocolo":"12345678912345679999",
        "mensagem":"teste",
        "nr_transacao_intercambio":"1234567891",
        "id_resposta":3
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "004",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0999",
        "cd_uni_destino": "0666",
        "nr_ans": "999999",
        "nr_transacao_prestadora": "0000046846",
        "id_usuario": "fgdfgg",
        "nr_versao_protocolo": "001"
    },
    "resposta_complemento": {
        "cd_unimed": "0666",
        "id_benef": "0000000000005",
        "id_origem_resposta": 2
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso03

Serviço Responder Atendimento

Objetivo: Disponibilizar o serviço “Responder Atendimento”.
Enviar uma mensagem para a Unimed referente à resposta de manifestação de seu beneficiário.

Operação: responderAtendimento
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/responderAtendimento
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
   "cabecalho_transacao": {
        "cd_transacao": "005",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0667",
        "nr_ans": "000667",
        "nr_transacao_prestadora":"0000046846",
        "dt_manifestacao": "2020-08-01 12:00:00",
        "id_usuario": "teste",
        "nr_versao_protocolo": "001"
    },
    "resposta_atendimento": {
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "nr_protocolo": "12345678912345679999",
        "id_resposta": 3,
        "nr_transacao_origem_benef": "1234567891",
        "nr_transacao_intercambio": "1234567891",
        "mensagem": "teste"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "006",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0999",
        "cd_uni_destino": "0666",
        "nr_ans": "999999",
        "nr_transacao_prestadora": "0000046846",
        "id_usuario": "fgdfgg",
        "nr_versao_protocolo": "001"
    },
    "resposta_atendimento": {
        "cd_unimed": "0666",
        "id_benef": "0000000000005",
        "id_origem_resposta": 1
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso04

Consultar Status do Protocolo

Objetivo: Disponibilizar o serviço “Consulta Status de Protocolo”.
Enviar uma mensagem para a Unimed referente à consulta de status de um protocolo existente.

Operação: consultaStatusProtocolo
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/consultaStatusProtocolo
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "007",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0032",
        "nr_ans": "304701",
        "nr_transacao_prestadora": "0000046846",
        "dt_manifestacao": "2020-08-01 12:00:00",
        "id_usuario": "teste",
        "nr_versao_protocolo": "001"
    },
    "consulta_status_protocolo": {
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "nr_protocolo": "12345678912345679997"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "008",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0032",
        "nr_ans": "304701",
        "nr_transacao_prestadora": "0000046846",
        "dt_sol_protocolo": "2020-08-01 12:00:00",
        "nr_versao_protocolo": "001"
    },
    "resposta_consulta_status_protocolo": {
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "nome": "teste",
        "tp_manifestacao": null,
        "tp_categoria_manifestacao": [
            18
        ],
        "nr_protocolo": "12345678912345679997",
        "id_resposta": 3,
        "num_trans_interc_prestadora": null,
        "num_trans_origem_beneficiario": null,
        "id_origem_resposta": 2,
        "id_usuario": "teste",
        "dt_solicitacao_protocolo": "2021-01-14 14:27:02",
        "mensagem": "Nathali"
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso05

Consultar Histórico do Protocolo

Objetivo: Disponibilizar o serviço “Consultar Historico do Protocolo”.
Enviar uma mensagem para a Unimed referente à consulta do histórico de protocolos do beneficiário

Operação: historicoProtocoloConsulta
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/historicoProtocoloConsulta
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "009",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0667",
        "nr_ans": "000667",
        "nr_transacao_prestadora": "0000046846",
        "dt_manifestacao": "2021-02-15 01:00:00",
        "id_usuario": "teste",
        "nr_versao_protocolo": "001"
    },
    "consulta_historico": {
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "dt_inicio_historico": "2021-01-01 12:00:00",
        "dt_fim_historico": "2021-02-18 12:00:00"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "010",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0999",
        "cd_uni_destino": "0666",
        "nr_ans": "999999",
        "nr_transacao_prestadora": "0000046846",
        "id_usuario": "fgdfgg",
        "nr_versao_protocolo": "001"
    },
    "resposta_consulta_historico": {
        "dt_manifestacao": "2020-08-01 12:00:00",
        "nr_protocolo": "12345678912345677777",
        "id_resposta": 4,
        "id_sistema": 2
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso06

Cancelar Atendimento

Objetivo: Disponibilizar o serviço “Cancelar Atendimento”.
Enviar uma mensagem de cancelamento para a Unimed.

Operação: cancelarAtendimento
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/cancelarAtendimento
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "011",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0667",
        "nr_ans": "000667",
        "nr_transacao_prestadora": 1234567891,
        "dt_cancelamento": "2020-01-01 14:14:00",
        "id_usuario": "GPU Teste local",
        "nr_versao_protocolo": "001"
    },
    "cancelamento": {
        "cd_unimed": "0971",
        "id_benef": "0000000000005",
        "nr_protocolo": "12345678912345679999",
        "motivo_cancelamento": "teste"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "012",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0618",
        "cd_uni_destino": "0971",
        "nr_ans": "367087",
        "nr_transacao_prestadora": "1234567891",
        "id_usuario": "GPU Teste local",
        "nr_versao_protocolo": "001"
    },
    "confirmacao": {
        "cd_unimed": "0971",
        "id_benef": "0000000000005",
        "id_resposta": 4,
        "nr_protocolo": "12345678912345678912",
        "id_sistema": 2
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso07

Encaminhar Execução

Objetivo: Disponibilizar o serviço “Encaminhar Execução da Manifestação”.
Enviar uma mensagem da Unimed Origem do Beneficiário para a Unimed Repasse resolver uma manifestação (conforme acordo prévio entre as Singulares). O retorno da mensagem será uma Confirmação de recebimento e uma posterior Resposta do Atendimento pela Unimed Repasse. Detalhes em: RN 395 – Fluxo REPASSE.
Premissa: No cenário descrito a Unimed Origem já enviou o número do Protocolo para a Unimed Solicitante e apenas está encaminhando a manifestação para resolução da Unimed Repasse.

Operação: encaminharExecucao
Endpoint
: https://<url>:<porta>/rest/PLSGPUREST/v1/encaminharExecucao
Tipo
: Rest Full
Método requisição: POST
Método resposta: GET

Bloco de código
titleJSON de Envio
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "013",
        "tp_cliente": "UNIMED",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0032",
        "nr_ans": "304701",
        "nr_transacao_prestadora": "0000046846",
        "dt_manifestacao": "2020-08-01 12:00:00",
        "id_usuario": "teste",
        "nr_versao_protocolo": "001"
    },
    "encaminhar_execucao": {
        "cd_unimed": "0666",
        "id_benef": "0000000000006",
        "nome": "teste",
        "cd_cpf": "09520811990",
        "ddd": "0048",
        "telefone": "96426956",
        "email": "[email protected]",
        "tp_manifestacao": "1",
        "tp_categoria_manifestacao": [1],   
        "nr_transacao_intercambio": "0000054545",
        "nr_protocolo_anterior": "30470120210119900003",
        "mensagem": "Nathali"
    }
}
Bloco de código
titleJSON de Resposta
linenumberstrue
collapsetrue
{
    "cabecalho_transacao": {
        "cd_transacao": "014",
        "tp_cliente": "PORTAL",
        "cd_uni_origem": "0001",
        "cd_uni_destino": "0032",
        "nr_ans": "304701",
        "nr_transacao_prestadora": "0000046846",
        "id_usuario": "Gestão de Protocolos - Contingência",
        "nr_versao_protocolo": "001"
    },
    "confirmacao": {
        "cd_unimed": "0032",
        "id_benef": "0000000000006",
        "id_resposta": 4,
        "nr_protocolo": "30470120210119900003",
        "id_sistema": 2
    }
}

Status Code: 
200 - Processado com sucesso!
400 - Dados com erro, verificar o manual de integração da Unimed o tipo de erro que foi retornado através do atributo "id_erro".

Totvs custom tabs box items
defaultno
referenciapasso4

Inclusão no Arquivo SX3 - Campos:

CampoTipoTamanhoDecimalTituloDescriçãoPictureUsadoExibe BrowserVisual?ContextoObrigatórioPasta SXA
BA0_USRGIUCaracter200Login GIULogin do usuario no GIU
SimNãoAlterarRealNão5
BA0_PASGIUCaracter500Senha GIUSenha do usuario no GIU
SimNãoAlterarRealNão5
BA0_ENDGIUCaracter600EndPoint GIUEndPoint GIU
SimNãoAlterarRealNão5
BA0_BEAGIUMemo100Bearer GIUBearer Retorno GIU
SimNãoVisualizarRealNão5
BA0_COOGIUMemo100Cookie GIUCookie de Retorno GIU
SimNãoVisualizarRealNão5
BA0_TMPGIUCaracter200Tempo Exper.Tempo de Expericao@!SimNãoVisualizarRealNão5


Inclusão no Arquivo SX6 - Parâmetros: 

Itens/Pastas

Descrição

Nome:

MV_PGPURES

Tipo:

Caracter
Descrição:Habilita Protocolos GPU via Rest

Cont. Por.:

0


Inclusão no Arquivo SXA - Pastas:

TabelaOrdemDescrição
BA05Integrações Unimed


Card documentos
InformacaoA 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.
TituloImportante

04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        Não se aplica



Templatedocumentos


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>