Árvore de páginas

Versões comparadas

Chave

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


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Saúde
Módulo:SIGAPLS
Função:

PLSA790V

Story:

DSAUBE-1032511033


02. SITUAÇÃO/REQUISITO

Necessidade de criar a integração Auditoria PLS x Carol.

03. SOLUÇÃO

Implementada melhoria com a criação da integração Auditoria PLS x Carol. Quando o Schedule de configuração estiver parametrizado, o PLS realiza a integração com a Carol e atualiza as guias que estão em estudo de acordo com a o resultado da Auditoria realizada na Carol.

03. PASSOS INICIAIS

  • Passo 1 - Configurações Plano de Saúde (SIGAPLS)
  • Passo 2 - Configurador (SIGACFG)

...

Totvs custom tabs box
tabsPasso 01, Passo 02, Passo 03, Passo 04
idspasso1,passo2
Totvs custom tabs box items
defaultyes
referenciapasso1
  • Execute o dicionário de dados que acompanha esta ISSUE. Serão criados campos de configuração da integração na tabela BA0 (Operadoras de Saúde) e uma nova aba (Integração Carol)Crie os campos e aba descritos na sessão 07-ALTERAÇÕES DICIONÁRIO DE DADOS.
  • Acesse Plano de Saúde/Operadora/Operadora de Saúde (PLSA010). Selecione a Operadora que será parametrizada e clique em Alterar
  • Acesse a Aba Integração Carol, preencha os campos:


Exemplo de Cadastro:

Image RemovedImage Added

CampoDescrição Conteúdo
BA0_CARDOMSubDomainInforme o subdomain de acesso a Carol
BA0_CARORGOrgSubDomainInforme o orgSubdomain de acesso a Carol
BA0_CARURLURL CarolInforme a URL da API da Carol
BA0_CARCIDConnector IDInforme o connector ID de acesso a Carol
BA0_CARSISUsuar. Sist.Informe o usuário de sistema que realizará as transferência de Departamento na integração da Auditoria com a Carol
BA0_DEPRETDep. RetornoInforme o departamento que a guia será transferida quando a Carol retornar que uma guia deve ser auditada no SIGAPLS

 Obs: Para saber os dados de acesso de sua Operadora, por gentileza entrar em contato com a equipe responsável pela Carol.

  • Confirme a alteração.

TOKEN DE ACESSO

  • Para realizar a comunicação com a Carol, é necessário solicitar o Token de Acesso. Clique em Outras Ações/Acesso Carol.

Exemplo de preenchimento:

Image Removed

  • Informe o usuário e senha de acesso a Carol, clique em Salvar. O sistema comunica com a Carol solicitando o token de acesso da integração. O mesmo é gravado criptografado no campo Token Acesso (BA0_CARTOK).


Apoio para o preenchimento:

Tela de acesso a plataforma:

Image Added,


Connector ID (BA0_CARCID) - Informar protheus

Para buscar a URL:

  • Acesse o menu no canto esquerdo, opção Explore/Named Queries.
  • Selecione uma Named Querie (getDenyReasons por exemplo) e pressione o botão Open in Editor.
  • Pressione F12 para abrir o modo Dev Tools de seu navegador, selecione a coluna Network.
  • Clique em Run e confirme os parâmetros.
  • Na coluna Network, selecione a transação criada getDenyReasons nesse exemplo. Clique na opção Header. A URL utilizada é apresentada na opção Request URL.
  • Copie o caminho até a versão (v1). No exemplo abaixo, a URL é https://solutions.carol.ai/api/v1
  • Copie essa URL no campo URL Carol (BA0_CARURL).

Image Added


 Obs: Caso surjam dúvidas para saber os dados de acesso de sua Operadora, por gentileza entrar em contato com a equipe responsável pela Carol.

  • Confirme a alteração.



TOKEN DE ACESSO

  • Para realizar a comunicação com a Carol, é necessário solicitar o Token de Acesso. Clique em Outras Ações/Acesso Carol.

Exemplo de preenchimento:

Image Added

  • Informe o usuário e senha de acesso a Carol, clique em Salvar. O sistema comunica com a Carol solicitando o token de acesso da integração. O mesmo é gravado criptografado no campo Token Acesso (BA0_CARTOK).
Totvs custom tabs box items
defaultno
referenciapasso2
  • Acesse o Configurador (SIGACFG), Ambiente/Cadastros/Parâmetros:
  • Crie/Configure os parâmetros abaixo:
ParâmetroMV_SETORAT
TipoCaracter
ConteúdoIndique
Totvs custom tabs box items
defaultno
referenciapasso2
  • Acesse o Configurador (SIGACFG), Ambiente/Cadastros/Parâmetros:
  • Crie/Configure os parâmetros abaixo:
ParâmetroMV_SETORAT
TipoCaracter
ConteúdoIndique o departamento parametrizado para análise da Carol
DescriçãoIndique o codigo do setor que ira receber primeiro as guias que serao analisadas e/ou auditadas.  



ParâmetroMV_PCARLOG
TipoCaracter
Conteúdo0 ou 1
DescriçãoIndica se ativa o log de informações no processo de integração Auditoria PLS x Carol



ParâmetroMV_PLCRCAR
TipoCaracter
ConteúdoInforme uma crítica da tabela BCT (BCT_PROPRI+BCT_CODGLO)
DescriçãoMotivo de crítica padrão para eventos negados na integração Auditoria PLS x Carol


  • Acesse Ambiente/Schedule/Schedule.
  • Na opção Agendamentos/Cadastro selecione a opção para incluir um novo Schedule.
  • Na opção Recorrência, o prazo que quer será executado a integração.
  • Realize o cadastro de acordo com a sua necessidade, indicando:
Rotina PLAUDCARSC()
ParâmetrosOperadora - Indique a código da Operadora parametrizada
AmbienteAmbiente utilizado
Empresa/FilialEmpresa/Filial utilizados 
Módulo33 (Plano de Saúde)



Exemplo de Cadastro:



05. FUNCIONAMENTO DA INTEGRAÇÃO

No Plano de Saúde (SIGAPLS), ao criar uma guia que deva ser analisada pela Auditoria, o registro de análise (B53) é encaminhado para o Departamento de Análise da Carol definido no parâmetro MV_SETORAT (as guias serão encaminhadas de todas as fontes: solicitações Remote e Portal do Prestador).

...

Card documentos
InformacaoQuando um evento for negado, o motivo TISS utilizado (B72_MOTIVO) será o definido no parâmetro MV_PLCRCAR.
TituloIMPORTANTE!


06. LOG DO PROCESSO


Caso o cliente deseje realizar um rastreamento de toda a comunicação, é possível ativando o parâmetro MV_PCARLOG no configurador (0=Desativa/1=Ativa). O arquivo será gerado no ProtheusData/logpls/ pasta com a data da execução do processo. O arquivo gerado é o plaudcarol.log

...

O primeiro bloco do log traz a comunicação realizada e o Jsons enviados e recebidos. O segundo e terceiro blocos trazem a atualização das guias e transferências entre departamentos respectivamente.


07. ALTERAÇÕES DICIONÁRIOS DE DADOS


  • Campos SX3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARDOM
X3_TIPOCaracter
X3_TAMANHO50
X3_DECIMAL0
X3_TITULOSubDomain
X3_DESCRICarol SubDomain
X3_PICTURE
X3_F3
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARORG
X3_TIPOCaracter
X3_TAMANHO50
X3_DECIMAL0
X3_TITULOOrgSubDomain
X3_DESCRICarol OrgSubDomain
X3_PICTURE
X3_F3
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARURL
X3_TIPOCaracter
X3_TAMANHO100
X3_DECIMAL0
X3_TITULOURL Carol
X3_DESCRIURL Carol
X3_PICTURE
X3_F3
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARCID
X3_TIPOCaracter
X3_TAMANHO50
X3_DECIMAL0
X3_TITULOConnector ID
X3_DESCRICarol Connect ID
X3_PICTURE
X3_F3
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARSIS
X3_TIPOCaracter
X3_TAMANHO6
X3_DECIMAL0
X3_TITULOUsuar. Sist.
X3_DESCRIUsuario Sistema
X3_PICTURE@!
X3_F3BBCPLS
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_DEPRET
X3_TIPOCaracter
X3_TAMANHO3
X3_DECIMAL0
X3_TITULODep. Retorno
X3_DESCRIDepartamento Retorno
X3_PICTURE@!
X3_F3BL
X3_BROWSENão
X3_VISUALAlterar
X3_CONTEXTReal
X3_FOLDER3
CampoConteúdo
X3_ARQUIVBA0
X3_CAMPOBA0_CARTOK
X3_TIPOCaracter
X3_TAMANHO80
X3_DECIMAL0
X3_TITULOToken Acesso
X3_DESCRIToken Acesso
X3_PICTURE
X3_F3
X3_BROWSENão
X3_VISUALVisual
X3_CONTEXTReal
X3_FOLDER

3


  • Folders SXA
CampoConteúdo
XA_ALIASBA0
XA_ORDEM3
XA_DESCRICIntegracao Carol


08. PONTOS DE ENTRADA


O Ponto de entrada PCARAUD1 permite manipular o retorno de um evento auditado pela Carol. O ponto pode receber 3 modelos de retorno:

  • Retornando o array aRet vazio, o sistema assume as condições já analisadas pela Carol/PLS.
  • Retornando .T. na primeira posição do Array, o sistema vai gravar o evento utilizando o modelo padrão e nas posições posteriores, é possível manipular os dados desejados.
  • Retornando .F. na primeira posição do Array, o sistema não vai gravar o evento utilizando o modelo padrão, sendo necessário realizar toda a gravação de dados no ponto de entrada.
Ponto de Entrada PCARAUD1
FontePLAudCarol.PRW
Parâmetrosparamixb[01] - cRequestID - Chave da Guia + Sequen
paramixb[02] - lFind - Se o evento foi encontrado pelo PLS
paramixb[03] - cAlias - Alias do cabeçalho da guia
paramixb[04] - cAliasIte - Alias do evento
paramixb[05] - cCodPad - Tabela Padrão
paramixb[06] - cCodPro - Código do Evento
paramixb[07] - cSeqPro - Sequen do Evento
paramixb[08] - cCodGlo - Código da glosa encontrada no evento
paramixb[09] - cParecer - Parecer da Guia 0=Autorizado / 1=Negado / 2=Encaminha para Auditor
paramixb[10] - nQtdSol - Quantidade solicitada
paramixb[11] - nQtdAut - Quantidade autorizada
paramixb[12] - cMotivo - Motivo da critica
paramixb[13] - cObsAna - Observação da análise
Retorno

Array de dados contendo:

aRet[01] - Boolean - Indica utiliza a gravação padrão do sistema
aRet[02] - lFind - Indica que o evento foi encontrado
aRet[03] - cCodPad - Tabela Padrão
aRet[04] - cCodPro - Código do Evento
aRet[05] - cSeqPro - Sequen do Evento
aRet[06] - cCodGlo - Código da glosa encontrada no evento
aRet[07] - cParecer - Parecer da Guia 0=Autorizado / 1=Negado / 2=Encaminha para Auditor
aRet[08] - nQtdSol - Quantidade solicitada
aRet[09] - nQtdAut - Quantidade autorizada
aRet[10] - cMotivo - Motivo da critica
aRet[11] - cObsAna - Observação da analise



Bloco de código
titleExemplo do Ponto de Entrada
linenumberstrue
#INCLUDE "PROTHEUS.CH"

User Function PCARAUD1()

Local cRequestID := paramixb[01] //Chave da Guia + Sequen
Local lFind := paramixb[02] //Se o evento foi encontrado pelo PLS
Local cAlias := paramixb[03] //Alias do cabecalho da guia
Local cAliasIte := paramixb[04] //Alias do evento
Local cCodPad := paramixb[05] //Tabela Padrao
Local cCodPro := paramixb[06] //Codigo do Evento
Local cSeqPro := paramixb[07] //Sequen
Local cCodGlo := paramixb[08] //Codigo da glosa encontrada no evento
Local cParecer := paramixb[09] //Parecer da Guia 0=Autorizado / 1=Negado / 2=Encaminha para Auditor
Local nQtdSol := paramixb[10] //Quantidade solicitada
Local nQtdAut := paramixb[11] //Quantidade autorizada
Local cMotivo := paramixb[12] //Motivo da critica
Local cObsAna := paramixb[13] //Observacao da analise
Local aRet := {}

/* ---------------------------
Array de Retorno

Posicao 01 - lGrvPadrao
Posicao 02 - lFind
Posicao 03 - cCodPad
Posicao 04 - cCodPro
Posicao 05 - cSeqPro
Posicao 06 - cCodGlo
Posicao 07 - cParecer
Posicao 08 - nQtdSol
Posicao 09 - nQtdAut
Posicao 10 - cMotivo
Posicao 11 - cObsAna
--------------------------- */

//Utiliza a gravacao padrao do PLS, alterar os dados desejados alterando as variaveis abaixo
Aadd(aRet,.T.)
Aadd(aRet,lFind)
Aadd(aRet,cCodPad)
Aadd(aRet,cCodPro)
Aadd(aRet,cSeqPro)
Aadd(aRet,cCodGlo)
Aadd(aRet,cParecer)
Aadd(aRet,nQtdSol)
Aadd(aRet,nQtdAut)
Aadd(aRet,cMotivo)
Aadd(aRet,cObsAna)

//Retornando aRet vazio, o PLS ignora o resultado do PE e realiza a gravacao padrao
aRet := {}

//Indica que vai realizar a gravacao manual do Registro (Importante: toda a gravacao referente ao evento informado deve ser realizado neste ponto)
Aadd(aRet,.F.)

Return aRet



O Ponto de entrada PCARAUD2 permite manipular a transferência de uma guia para um departamento quanto todos os eventos foram respondidos pela Carol. O ponto pode receber 3 modelos de retorno:

  • Retornando o array aRet vazio, o sistema assume as condições já analisadas pela Carol/PLS.
  • Retornando .T. na primeira posição do Array, o sistema realiza a transferência para o departamento definido na segunda posição do array.
  • Retornando .F. na primeira posição do Array, a guia não é transferida.
Ponto de EntradaPCARAUD2
FontePLAudCarol.PRW
Parâmetrosparamixb[1] - cGuia - Número da Guia
paramixb[2] - cAliCab - Alias do cabeçãlho
paramixb[3] - cAliEve - Alias dos eventos
paramixb[4] - lTransfere - Indica o sistema iria transferir a guia
paramixb[5] - cDepartRet - Departamento para qual o sistema realizaria a transferência
paramixb[6] - nQtdEncam - Quantidade de eventos indicados no JSON que devem ser transferidos
paramixb[7] - nQtdAudit - Quantidade de eventos pendentes em auditoria na guia
Retorno

Array de dados contendo:

aRet[01] - Boolean - Indica se o sistema deve transferir a guia.
aRet[02] - cDepartRet - Indica que o departamento que deve ser realizada a transferência.


Importante: este ponto será acionado somente se pelo menos um dos eventos da guia estiver indicado como Análise do Auditor do PLS no Json de resposta.



Bloco de código
titleExemplo do Ponto de Entrada
linenumberstrue
#INCLUDE "PROTHEUS.CH"

User Function PCARAUD2()

Local cGuia := paramixb[1] 
Local cAliCab := paramixb[2]
Local cAliEve := paramixb[3]
Local lTransfere := paramixb[4]
Local cDepartRet := paramixb[5]
Local nQtdEncam := paramixb[6]
Local nQtdAudit := paramixb[7]
Local aRet := {}

/* 
---------------------------
Array de Retorno

Posicao 1 - lTransfere
Posicao 2 - cDepartRet
---------------------------
*/

//Utiliza a gravacao padrao do PLS, e possivel indicar se a guia vai ser transferida e para qual departamento
Aadd(aRet,lTransfere)
Aadd(aRet,cDepartRet)

//Retornando aRet vazio, o PLS ignora o resultado do PE e realiza a gravacao padrao
aRet := {}

Return aRet



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

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>