01. DADOS GERAIS

Produto:

TOTVS Saúde Planos

Linha de Produto:

Linha Protheus 

Segmento:

Saude 

Módulo:PLANO DE SAÚDE (SIGAPLS)
Função:
Ticket:10771696
Requisito/Story/Issue (informe o requisito relacionado) :DSAUBE-13814


02. 
SITUAÇÃO/REQUISITO


03. SOLUÇÃO


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".

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.


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

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

{
    "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"
    }
}
{
    "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
    }
}

1 - Criação de Tabelas no arquivo SX2 - Tabela

Tabela:

B6L

Nome:

PTU Online x Pacote

Modo:

Compartilhado

Modo Unidade:

Exclusivo

Modo Empresa:

Exclusivo

Chave Única:B6L_FILIAL+B6L_OPEMOV+B6L_ANOAUT+B6L_MESAUT+B6L_NUMAUT+B6L_SEQUEN+B6L_ALIAS+B6L_NRTROL


2 - Criação de Índices no arquivo SIX - Índices 

Ordem

Chave

1

B6L_FILIAL+B6L_OPEMOV+B6L_ANOAUT+B6L_MESAUT+B6L_NUMAUT

2

B6L_FILIAL+B6L_NRTROL


3 - Criação de Campos no arquivo SX3 - Campos

Campo:

B6L_FILIAL

Tipo:

C - Caractere

Tamanho:

8

Título:

Filial

Descrição:

Filial

Picture:
Usado:Não Usado
Contexto:Real
Propriedade:Visualizar

Campo:

B6L_OPEMOV

Tipo:

C - Caractere

Tamanho:4

Título:

Oper. Movto.

Descrição:

Operadora Movimento

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Operadora do Movimento da Guia

Campo:

B6L_ANOAUT

Tipo:

C - Caractere

Tamanho:4

Título:

Ano Autoriz.

Descrição:

Ano Autorização

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Ano da Autorização da Guia

Campo:

B6L_MESAUT

Tipo:

C - Caractere

Tamanho:2

Título:

Mes Autoriz.

Descrição:

Mes Autorização

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Mês da Autorização da Guia

Campo:

B6L_NUMAUT

Tipo:

C - Caractere

Tamanho:8

Título:

Num Autoriz.

Descrição:

No. Autorização

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Numero da Autorização da Guia

Campo:

B6L_SEQUEN

Tipo:

C - Caractere

Tamanho:3

Título:

Sequencia

Descrição:

Sequência do Item

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Sequência do Item na Guia

Campo:

B6L_ALIAS

Tipo:

C - Caractere

Tamanho:3

Título:

Alias Ref.

Descrição:

Alias de Referência

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Tabela de Referência da Guia

Campo:

B6L_UNIORI

Tipo:

C - Caractere

Tamanho:4

Título:

Unimed Orig.

Descrição:

Unimed Origem Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Código da Unimed Origem do Pacote

Campo:

B6L_CODRDA

Tipo:

C - Caractere

Tamanho:8

Título:

Cd.Prestador

Descrição:

Código do Prestador

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Codigo do Prestador vinculado ao Pacote

Campo:

B6L_DTATEN

Tipo:

D - Data

Tamanho:8

Título:

Dt. Referenc

Descrição:

Data de Referência

Picture:
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Data da referência do Pacote

Campo:

B6L_CODPAC

Tipo:

C - Caractere

Tamanho:8

Título:

Cd. Pacote

Descrição:

Código do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Código do Pacote

Campo:

B6L_COMUNI

Tipo:

C - Caractere

Tamanho:1

Título:

Comunicacao?

Descrição:

Comunicação WebService

Picture:@!
Usado:Usado
cBox0=Não;1=Sim
Contexto:Real
Propriedade:Visualizar
Help

Comunicação com o WebService de Pacotes

Campo:

B6L_NRTROL

Tipo:

C - Caractere

Tamanho:20

Título:

Tr.Prest.Exe

Descrição:

Trans. Unimed Prestadora

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Transação da Unimed Executora

3 - Criação de Campos no arquivo SX3 - Campos

Campo:

BR8_ROLUNI

Tipo:

C - Caractere

Tamanho:1

Título:

Rol Unimed

Descrição:

Rol Unimed

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Alterar
cBox1=Coberto sem Valor;2=Sem Cobertura
Help

Informa se o procedimento no Rol Unimed não possui cobertura ou possui cobertura sem valor, caso não seja informado, entende-se que o procedimento é totalmente coberto no Rol.

3 - Criação de Campos no arquivo SX3 - Campos

Campo:

BE2_CDPACO

Tipo:

C - Caractere

Tamanho:8

Título:

Cd Pacote

Descrição:

Codigo do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Código do Pacote Origem

Campo:

BE2_DESPAC

Tipo:

C - Caractere

Tamanho:211

Título:

Desc. Pacote

Descrição:

Descrição do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Descrição do Pacote Origem

3 - Criação de Campos no arquivo SX3 - Campos

Campo:

BQV_CDPACO

Tipo:

C - Caractere

Tamanho:8

Título:

Cd Pacote

Descrição:

Codigo do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Código do Pacote Origem

Campo:

BQV_DESPAC

Tipo:

C - Caractere

Tamanho:211

Título:

Desc. Pacote

Descrição:

Descrição do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Descrição do Pacote Origem

3 - Criação de Campos no arquivo SX3 - Campos

Campo:

BEJ_CDPACO

Tipo:

C - Caractere

Tamanho:8

Título:

Cd Pacote

Descrição:

Codigo do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Código do Pacote Origem

Campo:

BEJ_DESPAC

Tipo:

C - Caractere

Tamanho:211

Título:

Desc. Pacote

Descrição:

Descrição do Pacote

Picture:@!
Usado:Usado
Contexto:Real
Propriedade:Visualizar
Help

Descrição do Pacote Origem

3 - Criação de Campos no arquivo SX3 - Campos

Campo:

BA0_URLPAC

Tipo:

C - Caractere

Tamanho:128

Título:

UrlSisPacUni

Descrição:

URL SISPAC Unimed Bra

Picture:
Usado:Usado
Contexto:Real
Propriedade:Alterar

Campo:

BA0_STKPAC

Tipo:

C - Caractere

Tamanho:128

Título:

STkSisPacUni

Descrição:

STk SISPAC Unimed Bra

Picture:
Usado:Usado
Contexto:Real
Propriedade:Alterar

Campo:

BA0_USRPAC

Tipo:

C - Caractere

Tamanho:64

Título:

UsrSisPacUni

Descrição:

Usr SISPAC Unimed Bra

Picture:
Usado:Usado
Contexto:Real
Propriedade:Alterar

Campo:

BA0_PWDPAC

Tipo:

C - Caractere

Tamanho:64

Título:

PwdSisPacUni

Descrição:

Pwd SISPAC Unimed Bra

Picture:
Usado:Usado
Contexto:Real
Propriedade:Alterar

Campo:

BA0_TOKPAC

Tipo:

M - Memo

Tamanho:50

Título:

TokSisPacUni

Descrição:

Tok SISPAC Unimed Bra

Picture:
Usado:Usado
Contexto:Real
Propriedade:Alterar


Na nova versão do PTU foram alteradas as tabelas utilizadas para trafegar:

Na versão anterior o sistema utilizava o campo BR8_TPPROC para definir o tipo de tabela daquele serviço. Na nova versão o sistema utilizará o cadastrado de terminologia para vincular o serviço com a tabela.

Os pacotes a partir dessa versão serão enviados na transação, portanto também precisaram ser cadastrados no Cadastrado de Terminologia TISS com o Tipo de tabela 98 e realizado o vinculo. 

Para realizar o vinculo de um serviço é só acessar: Tabela Padrão > Outras Ações > Vinculo TISS. 


No versão atual do PTU Online, foram disponibilizadas novas tags no XML (tipoEtapaAutorizacao, dataSolicitacao, tipoGuiatpAcomodacao), essas tags passaram a ser gravadas em uma tabela separa (B6M), além disso será gravada as mensagens de resposta da auditoria (00404) em um campo memo:

 

Será possível consultar essa tela após realizar a comunicação e gravação da Guia.

Botão Outra Ações > PTU Online da tela principal.

Para visualizar as transações de Complemento ou Prorrogação (00605): Botão Outras Ações > PTU Online do Grid do Complemento.


Ao realizar a comunicação, esses campos serão preenchidos automaticamente, sendo que as tags:

  • tipoEtapaAutorização será 1 (Solicitação de autorização prévia) quando for informado o prestador genérico do sistema, definido pelo parâmetro MV_PLSRDAG e  2 (Solicitação de autorização pelo prestador executante) quando for informado o prestador na guia.
  • dataSolicitacao será a data em que foi incluída a guia no sistema.
  • tipoGuia será 1 para consulta, 2 para SADT e 3 para Internação.
  • tpAcomodacao será preenchido de acordo com a acomodação do beneficiário, sendo que para guias do tipo 1 (Consulta) ou 2 (SADT) utilizar a opção C - Não se aplica.


Para comunicação do sistema com o WebService do SISPAC, é necessário que os seguintes campos estejam configurados no cadastro da operadora saúde:

1 Campo: A url do EndPoint.
2 Campo: token da aplicação
3 Campo: Login
4 Campo: Senha

Todas essas informações deveram ser solicitas a Unimed Brasil.

Mudanças realizadas nas transações do PTU Online 8.0 contendo pacotes


Todas as transações que contiverem pacotes deverão trafegar o código do pacote e o seu procedimento principal, sendo que o procedimento principal não possuíra nenhuma tag no XML que indique a qual pacote pertence na transação.

Devido a estas validações, SIGAPLS irá processar estas transações da seguinte maneira:

  • Enviando Transação
    Para realizar o envio de uma transação, precisará ser informado no preenchimento da guia o código do pacote (tipo de tabela 98) + o código do procedimento principal, informando no campo (BE2_PACOTE, BEJ_PACOTE ou BQV_PACOTE) o conteúdo 1 - Sim, para identificar no sistema que aquele procedimento faz parte do pacote.

  • Recebendo Transação
    Para o recebimento de um transação, precisará que seja cadastrado um pacote genérico na tabela padrão e informa-lo no parâmetro MV_PLPACPT, esse pacote servira como De-para para o recebimento de pacotes de outras Unimeds. O Pacote genérico também precisa esta cadastrado é vinculado com a terminologia TISS com o tipo de tabela 98.

    O código do Pacote da Unimed origem será gravado nos novos campos do item da guia: BE2_CDPACO, BEJ_CDPACO e BQV_CDPACO.

    Após o recebimento de uma transação que contém pacote, o sistema irá se comunicar com o SISPAC para gravação da composição do pacote (B43).
    Todos os pacotes recebidos ficaram na tabela B6L.


Schedule SISPAC

Foi criado um schedule para comunicação com o SISPAC.
Todos os pacotes recebidos estão na tabela B6L, portanto esse schedule poderá ser agendado para o sistema consultar novamente o SISPAC, caso algum pacote não tenha gravado a composição no momento do recebimento, por erro de comunicação ou algo do tipo.

Configuração do Schedule:

Rotina: PLSSisPacSc
Parâmetro: Código da Operadora



04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        Não se aplica




<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>