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

 

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
Linha-

Segmento:

Saude 

Segmentos_totvs
Segmento

Módulo:PLANO DE SAUDE SIGAPLS
Função:Não se aplica
Ticket:7361972
Requisito/Story/Issue (informe o requisito relacionado) :DSAUBE-10407


02. 
SITUAÇÃO/REQUISITO

Implementada melhoria que permite o processo de validação do Token Unimed, conforme Manual de Padronização do Cartão do Beneficiário MS.003 - REV.12 Versão 6.0a.Cartão virtual gerado por aplicativo.

O Token é uma senha numérica de 6 a 8 dígitos que deve ser gerada no por Aplicativo Unimed, que é informada pelo beneficiário no momento do atendimento e validada pelo sistema de Gestão ( PLS ), servindo como um segundo fator de autenticação, assegurando que quem está sendo atendido é mesmo o beneficiário portador da carteirinha informada.


03. SOLUÇÃO

Para que a validação seja possível, tanto o Aplicativo quanto o PLS devem ser capazes de gerar um mesmo Token para um mesmo usuário em um mesmo intervalo de tempo. Para isso, é necessário o compartilhamento, entre Aplicativo e PLS, de uma Chave (Seed) e alguns "parâmetros de alinhamento" para geração desse Token. Nesta implementação, esse compartilhamento é feito no momento do login.

04. DEMAIS INFORMAÇÕES

Criação de campo e do valid de alguns existentes.

...

O processo completo de Geração e Validação do Token Unimed , pode ser visualizado a seguir.


Image Added


Dessa forma, esta implementação abrange as seguintes funções e processos:

...

PLSTKSEEDG(cMatric, lAtualiza)

Parâmetros

NomeTipoDescriçãoObrigatório
cMatriccaractereMatrícula do Beneficiáriox
lAtualizabooleanoAtualiza BA1_TKSEEDx

                                       

...

Parâmetros de Sistema envolvidos

X6_VARX6_TIPOX6_DESCRICX6_DESCRIC 1X6_CONTEUD
MV_PLSTKSTNTipo de Seed Gerado1=Text;2=Base64;3=Hex1
MV_PLSTKSHNDefine o tamanho do Seed gerado.3=SHA1;5=SHA256;7=SHA5125


Pontos de Entrada

PTKSEEDG

Descrição: Retorna Seed customizado para ser utilizado na Geração do Token Unimed. O mesmo é gravado no registro do usuário (BA1_TKSEED):

Parâmetros:

NomeTipoDescriçãoObrigatório
cMatriccaractereMatrícula do Beneficiáriox


2 - Inclusão, no método de criação e login de usuário da api de integração PLS x Aplicativo, de parâmetros de alinhamento para gereção do Token. São eles: Seed, Tipo do Seed, Tipo do Algoritmo a ser utilizado na geração do Token, Número de Digitos do Token e Intervalo de validade do Token em segundos (30min = 1800seg, conforme Manual):

...

Parâmetros de Sistema envolvidos

X6_VARX6_TIPOX6_DESCRICX6_DESCRIC 1X6_CONTEUD
MV_PLSTKSTNTipo de Seed Gerado1=Text;2=Base64;3=Hex1
MV_PLSTKSHNDefine o tamanho do Seed gerado.3=SHA1;5=SHA256;7=SHA5125
MV_PLSTKDGNNúmero Dígitos Token6, 7 ou 86
MV_PLSTKTSNToken Time StepValor de tempo em segundos1800


Importante!!!

APIs customizadas para integração com APP

...

3 - Funções de Geração e Validação do Token utilizando algoritmo TOTP (RFC6238 - https://tools.ietf.org/html/rfc6238 ), seguindo a recomendação do Comitê Estratégico de Tecnologia da Informação da Unimed. Essas funções são responsáveis por gerar, no PLS, o mesmo Token do Aplicativo para um determinado intervalo de tempo, de acordo com os parâmetros de alinhamento, e compará-lo com o Token informado no atendimento:

...

PLSTOTPGEN(cK, nX, hashType, nKType, nXType, nDigits, cTTest)

Parâmetros

NomeTipoDescriçãoObrigatório
cKcaractereSeedx
nXinteger Time Stepx
hashTypeinteger

Função hash utilizada:

(3=SHA-1; 5=SHA-256; 7=SHA-512)

x
nKTypeinteger

Tipo do Seed:

(1=Text; 2=Base64; 3=Hex)

x
nXTypeinteger

Tipo do Input:

(1=Text; 2=Base64; 3=Hex)

x
nDigits integerNúmero de Dígitos x
cTTest caractere

Input específico que pode ser utilizado para gerar o TOTP para um intervalo de tempo (timestamp) específico

x

                                                

...

PLSTOKGENE(cMatric)

Parâmetros

NomeTipoDescriçãoObrigatório
cMatriccaractereMatrícula do Beneficiáriox


Retorno

aRet[1]                  boolean                 Status de Retorno da Função

...

PLSUTOKVLD(cMatric, cToken)

Parâmetros

NomeTipoDescriçãoObrigatório
cMatriccaractereMatrícula do Beneficiáriox
cTokencaractereToken a ser validadox

                                                                                   

...

  1. Seed Gerado para o Beneficiário 00010001000002006 = xOS8KQ9WPsTU23PjPbJD em formato texto, no momento do login;
  2. Utilizar site https://emn178.github.io/online-tools/base32_encode.html para transformar text em Base32. Resultado: PBHVGOCLKE4VOUDTKRKTEM2QNJIGESSE

Image Added

       3. Utilizar Base32 como input do site https://totp.danhersam.com/ para geração do Token TOTP. Resultado: 298014

Image Added

       4. Verificar durante atendimento que Token gerado no sistema é o mesmo que o gerado pelo site de verificação:

Image Added


4 - Inclusão de novo Motivo de Críticas do Sistema específico para a validação do Token;

Para funcionamento correto da melhoria, a seguinte Crítica de Sistema deve ser cadastrada:

Proprietário:Código Glosa:Descrição:Tipo: Ativa?: Justif.Obr.: Analisar: Glosa TISS: Desc. Glosa: 
BCT_PROPRI = 5BCT_CODGLO = 87BCT_DESCRI = Token InválidoBCT_TIPO = 1BCT_ATIVA = 1BCT_RESOBR = 0BCT_LOCANA = 1BCT_GLTISS = 1011BCT_DESTIS = IDENTIFICACAO DO BENEFICIARIO NAO CONSISTENTE

Obs.: Nova glosa disponível no arquivo bct-motivo_de_criticas.csv, para carregamento automático.

...

Caso não seja válido, o sistema exibirá críticas.

Image Removed


Caso o parâmetro MV_PLSCABC esteja ativado, o sistema permitirá a continuação do Atendiemento com status não autorizado e gravará as críticas. Caso contrário, o atendimento não poderá ser concluído.

...

Caso não seja válido, o sistema exibirá críticas.

Image Added

Image Added

Caso o parâmetro MV_PLSCABC esteja ativado, o sistema permitirá a continuação do Atendiemento com status não autorizado e gravará as críticas. Caso contrário, o atendimento não poderá ser concluído.

...

<respostaPedidoAutorizacaoWS xmlns="http://ptu.unimed.coop.br/schemas/V80_00">

...

                </ans:servicoAutorizado>

No sistema:

Image Added


X6_VARX6_TIPOX6_DESCRICX6_DESCRIC 1X6_CONTEUD
MV_PLSTKSTNTipo de Seed Gerado1=Text;2=Base64;3=Hex1
MV_PLSTKSHNDefine o tamanho do Seed gerado.3=SHA1;5=SHA256;7=SHA5125
MV_PLSTKDGNNúmero Dígitos Token6, 7 ou 86
MV_PLSTKTSNToken Time StepValor de tempo em segundos1800


Importante!!

Para funcionamento correto, deve-se, também, atualizar o binário do appserver com o disponibilizado no link a seguir: https://arquivos.totvs.com.br/TrocaArquivos/download.aspx?id=41096&key=YDZo8OTNECxr7Wy0rn9STo3hNWMPEMLPKy_UCQxHp3g1a versão 7.00.191205P-20201210

05. ASSUNTOS RELACIONADOS

        <Não se aplica>



Templatedocumentos

...