CONTEÚDO

  1. Visão Geral
    1. Rota
    2. Listagem de lotes de recurso de glosa - getBatchsByFilter
    3. Consulta detalhes do lote de recurso de glosa - getBatchById
    4. Listagem de movimentos do lote - getMovementsByBatch
    5. Listagem dos anexos de recurso de glosa TISS - getFileTiss
    6. Listagem dos anexos de recurso de glosa Foundation - getFileFou
  2. Regras de Negócio Aplicadas
  3. Como Validar as Informações
    1. Central de Movimentação de Guias TISS
  4. Exemplo de Como Validar as Informações

01. VISÃO GERAL

O TOTVS Saúde Planos (Linha Datasul) oferece uma série de APIs para integração.

A  API de Recursos de Glosa tem o objetivo de gerenciar os Recursos de glosa solicitados pelo prestador.

a. Rota

/portprest/<versao>/restrictionsAppeal/

b. Listagem de lotes de recurso de glosa

Retorna um Json contendo todos os lotes de recurso de glosa de acordo com o filtro informado. Para esta funcionalidade não temos Json de entrada, os filtros são passados via queryParams.

Após a URL são enviados os filtros desejados via queryParams, sendo eles:

ParâmetroDescrição
pageParâmetro utilizado para a paginação do retorno da API. Informar o número da página que se deseja obter. Por padrão, o tamanho da página é de 20 registros. É possível alterar o tamanho da página enviando o parâmetro pageSize (importante levar em consideração que a alteração deste parâmetro pode causar impacto no desempenho da API)
qUtilizado para uma busca rápida, podendo ser informado o número do lote do recurso de glosa, o protocolo do recurso de glosa ou o número do lote de guias que gerou o recurso.
status

Informar uma lista de status separada por ',' (vírgula). Ex: 'CL,AN,RE'.

Os status disponíveis são:

"RE" = "Recebido"
"AN" = "Em Analise"
"AL" = "Analisado e Aguardando Liberacao para Pagamento"
"EP" = "Encerrado sem pagamento"
"LP" = "Liberado para Pagamento"
"CL" = "Cancelado"

healthInsurerProvider / healthInsurerProviderInitial / healthInsurerProviderFinalInformar o código da unidade do prestador (healthInsurerProvider) ou um range de códigos de unidades (healthInsurerProviderInitial e healthInsurerProviderFinal).
provider / providerInitial / providerFinalInformar o código do prestador (provider) ou um range de códigos de prestadores (providerInitial e providerFinal).
providerGroupInitial / providerGroupFinalInformar um range de códigos de grupo de prestadores (providerGroupInitial e providerGroupFinal).
protocol / protocolInitial / protocolFinalInformar o protocolo do recurso de glosa (protocol) ou um range de protocolos (protocolInitial e protocolFinal).
receiptDateInitial / receiptDateFinalInformar um range de datas de recebimento (receiptDateInitial e receiptDateFinal). As datas devem ser informadas no format YYYY-MM-DD.
batchCodeInformar o código do lote atribuído pelo prestador do lote de recurso de glosa. Esse campo só é preenchido quando o lote for criado através do WEB Service TISS.
guideBatchInformar o código do lote atribuído pelo prestador do lote de guias que gerou o recurso.
periodYearInformar o ano do período do revisão de contas do lote de recurso.
periodCodeInformar o código do período do revisão de contas do lote de recurso.
healthInsurerCarInformar o código da unidade da carteira do beneficiário.
beneficiaryCardNumberInformar a carteira do beneficiário presente no lote de recurso de glosa.
guideNumberInitial / guideNumberFinalInformar um range de guias presentes no lote de recurso de glosa (guideNumberInitial e guideNumberFinal).
providerGuideNumberInitial / providerGuideNumberFinalInformar um range de guias do prestador presentes no lote de recurso de glosa (providerGuideNumberInitial e providerGuideNumberFinal).


Exemplo:

http://es-datasul.sp01.local:8080/api/portprest/v1/restrictionsAppeal/?status=AL,RE&healthInsurerProviderInitial=120&healthInsurerProviderFinal=120&providerInitial=110005&providerFinal=110005&providerGroupInitial=0&providerGroupFinal=99&protocolInitial=00&protocolFinal=99999999999&receiptDateInitial=2024-10-01&receiptDateFinal=2024-10-11

Retorno:

{
    "total": 1,
    "hasNext": false,
    "items": [
        {     

          "batchCode": 31,
          "healthInsurerProvider": 120,
          "receiptDate": "2024-10-14",
          "periodCode": 9,
          "sequence": 916,
          "protocol": "31916",
          "sequenceGuideBatch": 910,
          "periodYear": 2024,
          "provider": 110005,
          "providerGuideBatchCode": "07102024002",
          "guideBatch": 31,
          "guideBatchProtocol": "31910",
          "providerBatchCode": "",
          "status": "AL"
        }

    ]
}

Campos do retorno:

CampoDescrição
totalTotal de registros retornados.
hasNextCampo lógico para indicar se existem mais registros além dos retornados.
itemsArray com a lista dos lotes encontrados.
batchCodeCódigo do lote de recurso de glosa.
sequenceSequência do lote de recurso de glosa.
protocolProtocolo do lote de recurso de glosa.

providerBatchCode

Código do lote atribuído pelo prestador do lote de recurso de glosa. Preenchido quando o lote de recurso for incluído através do WEB Service TISS.
yearPeriodNúmero do ano do período do módulo revisão de contas.
periodCodeNúmero do período do módulo revisão de contas.
healthInsurerProviderCódigo da unidade do prestador.
providerCódigo do prestador.
receiptDateData de recebimento do lote.
guideBatchCódigo do lote de guias que gerou o recurso.
sequenceGuideBatchSequência do lote de guias que gerou o recurso.
guideBatchProtocolProtocolo gerado na importação do lote de guias que gerou o recurso.

providerGuideBatchCode

Código do lote atribuído pelo prestador do lote de guias que gerou o recurso
statusSigla com a situação do lote de recurso de glosa.


Importante:

Os campos descritos seguir, que são devolvidos na resposta à consulta de lotes, referem-se à chave primária do lote de recurso de glosa. Esses campos serão referenciados em outros endpoints descritos neste documento:

Os campos a seguir referem-se à chave primária do lote de guias que originou o recurso de glosa:

c. Consulta detalhes do lote de recurso de glosa

Permite buscar mais detalhes de um lote de recurso de glosa, como os valores totais do lote. Para esta funcionalidade o Json de entrada não é necessário, os dados são passados pela URL.

detail/healthInsurerProvider/provider/batchCode/sequence

Os campos healthInsurerProvider, provider, batchCode e sequence referem-se à chave primária do lote de recurso de glosa. Esses dados são retornados na listagem dos lotes, descritos no item 'B' deste documento.

Exemplo:

http://es-datasul.sp01.local:8080/api/portprest/v1/restrictionsAppeal/detail/120/110005/31/826

Retorno:

{
    "period": "2018/006",
    "totalValueAccepted": 80.0,
    "batchCode": 31,
    "healthInsurerProvider": 120,
    "receiptDate": "2021-02-19",
    "totalValueGuideBatch": 400.0,
    "totalValueAppealed": 100.0,
    "totalValueRestricted": 200.0,
    "sequence": 826,
    "protocol": "00000031826",
    "sequenceGuideBatch": 682,
    "provider": 110005,
    "guideBatch": 10,
    "guideBatchProtocol": "00000010682",
    "status": "AL"
}

Campos do retorno:

CampoDescrição
batchCodeCódigo do lote de recurso de glosa.
sequenceSequência do lote de recurso de glosa.
protocolProtocolo do lote de recurso de glosa.

providerBatchCode

Código do lote atribuído pelo prestador do lote de recurso de glosa. Preenchido quando o lote de recurso for incluído através do WEB Service TISS.
periodPeríodo do contas médicas informado no lote.
healthInsurerProviderCódigo da unidade do prestador.
providerCódigo do prestador.
receiptDateData de recebimento do lote.
guideBatchCódigo do lote de guias que gerou o recurso.
sequenceGuideBatchSequência do lote de guias que gerou o recurso.
guideBatchProtocolProtocolo gerado na importação do lote de guias que gerou o recurso.

providerGuideBatchCode

Código do lote atribuído pelo prestador do lote de guias que gerou o recurso
statusSigla com a situação do lote de recurso de glosa.
totalValueGuideBatchValor total cobrado do lote de guias que originou o recurso de glosa.
totalValueRestrictedValor total glosado do lote de guias que originou o recurso de glosa.
totalValueAppealedValor total recursado no lote.
totalValueAcceptedValor total acatado no lote.

d. Listagem de movimentos do lote

Retorna um Json contendo todos os movimentos de recurso de glosa do lote informado. Para esta funcionalidade não temos Json de entrada, os filtros são passados pela URL.

movements/healthInsurerProvider/provider/batchCode/sequence

Os campos healthInsurerProvider, provider, batchCode e sequence referem-se à chave primária do lote de recurso de glosa. Esses dados são retornados na listagem dos lotes, descritos no item 'B' deste documento.

Após a chave do lote, pode ser informando o expandable 'restrictions' caso desejado, com ele serão retornadas as glosas inseridas em cada movimento.

Exemplo:

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/portprest/v1/restrictionsAppeal/movements/120/110005/31/826?expand=restrictions

Retorno:

{
    "total": 1,
    "hasNext": false,
    "items": [
        {

         "realizationDate": "2018-07-23",
         "chargedValue": 189.0,
         "healthInsurerProvider": 120,
         "processNumber": 1,
         "typingSequence": 1,
         "beneficiaryCardNumber": 1000000084,
         "quantityCharged": 1,
         "analysedMovement": true,
         "movementType": "P",
         "appealedValue": 99.1,
         "acceptedValue": 85.0,
         "supplyType": 0,
         "mainHealthInsurer": 120,
         "mainProvider": 110005,
         "id": 1,
         "providerJustification": "teste",
         "quantityRestricted": 1,
         "originalDocument": 46006,
         "healthInsurer": 120,
         "healthInsurerJustification": "justificativa",
         "restrictions": [
           {
             "codeTiss": 1014,
             "code": 6,
             "restrictionCode": 6,
             "mainRestriction": true,
             "description": "BENEFICIARIO COM DATA DE EXCLUSAO "
           }
         ],
         "mainRestrictionCode": 6,
         "healthInsurerCard": 120,
         "periodCode": 9,
         "yearAttendanceGuide": 0,
         "attendanceGuide": 0,
         "tussTableType": "22",
         "periodYear": 2024,
         "mainRestriction": 1014,
         "service": "10101039",
         "serie": "XML",
         "systemDocument": 0,
         "paidValue": 0.0,
         "mainRestrictionDescription": "BENEFICIARIO COM DATA DE EXCLUSAO ",
         "restrictedValue": 99.1,
         "providerGuide": "201900000474",
         "transaction": 3002
        },
    ]
}

Campos do retorno:

CampoDescrição
totalTotal de registros retornados.
hasNextCampo lógico para indicar se existem mais registros além dos retornados.
itemsArray com a lista dos movimentos do lote informado.
realizationDateData de realização do movimento.
chargedValueValor cobrado pelo movimento.
healthInsurerProviderCódigo da unidade do prestador.
processNumberNúmero do processo do movimento.
typingSequenceNúmero da sequência de digitação do movimento.
beneficiaryCardNumberCarteira do beneficiário.
quantityChargedQuantidade cobrada.
analysedMovementIndicador de se o movimento já foi analisado.
movementType

Tipo do movimento.
P - Procedimento
I - Insumo

appealedValueValor recursado.
acceptedValueValor acatado.
supplyTypeCódigo do tipo de insumo.
mainHealthInsurerCódigo da unidade principal.
mainProviderCódigo do prestador principal.
idCampo para controle interno.
providerJustificationJustificativa do prestador. Informada quando o prestador insere o recurso de glosa no sistema.
quantityRestrictedQuantidade glosada.
originalDocumentNúmero do documento original.
healthInsurerCódigo da unidade.
healthInsurerJustificationJustificativa da operadora. Informada quando a operadora realiza a análise do movimento.
restrictions

Array com a lista de glosas do movimento, contendo:

  • codeTiss: Código TISS da glosa;
  • code: Código da glosa;
  • description: Descrição da glosa aplicada;
  • restrictionCode: Código da classe de erro;
  • mainRestriction: Indica se a glosa é a principal do movimento.
mainRestrictionCodeCódigo da classe de erro principal do movimento.
healthInsurerCardCódigo da unidade da carteira do beneficiário.
periodCodeNúmero do período do módulo revisão de contas.
yearAttendanceGuideAno da guia de atendimento vinculada ao documento.
attendanceGuideNúmero da guia de atendimento vinculada ao documento.
tussTableTypeCódigo do tipo de tabela TUSS.
mainRestrictionCódigo da glosa principal.
serviceCódigo do movimento.
serieSérie do documento.
systemDocumentNúmero do documento do sistema.
paidValueValor pago.
mainRestrictionDescriptionDescrição da glosa principal.
restrictedValueValor glosado.
providerGuideNúmero da guia do prestador.
transactionCódigo da transação.

e. Listagem dos anexos do recurso de glosa TISS

A partir de dados do lote/guia/movimento retorna o anexo relacionado.

/file/tiss/unidade/prestador/lote/protocolo/guiaoperadora/guiaprestadora/item

Exemplo:

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/portprest/v1/restrictionsAppeal/file/tiss/120/31921/MH019376001/11123880517/

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/portprest/v1/restrictionsAppeal/file/tiss/120/31921/MH019376001/11123880517/202412131/202400000001

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/portprest/v1/restrictionsAppeal/file/tiss/120/31921/MH019376001/11123880517/202412131/202400000001/1

Retorno:

{
    "fileName""202300000003_Comprovante de elegibilidade.zip",
    "content""UEsDBBQACAgIAFtDA1cAAAAAAAAAAAAAAAAuAAAAMjAyMzAwMDAwMDAzX0NvbXByb3ZhbnRlIGRlIGVsZWdpYmlsaWRhZGUuanBlZ+y7d1RT7/cuGKWpgPQuRbpUlSZdVLqAAtKLCkiJIdIDBFCU3gQpCgLSO/kgJZSQKFVARAg11ITeE2qAkAyfu2burPne36w7Za35a/Y5e62sdd5z9vuc8+797CfJoUxSFgDMRnqGeoBLly4Bnl9sAMo04CGA6vLlf/cLo77Yaa7Q0FBT01yjo6O9wnCNgYH+Gj0943VWZsbrLNfp6Zk5mVnY2Dk4OBiYuLg52blZ2TnY/73IJaqLc6hprtLQXGVnpGdk/79tlB8AliuXHC6JUF0SBlxmuUTFconSBRAEAC7RXPpvBvhf7dLliznS0l25eo3+YkAjM+DyJSqqy9RU/8764mjYxXEANQsN6807OrRsT1/..."

}

Campos do retorno:

CampoDescrição
fileNameNome do arquivo.
contentConteúdo do arquivo codificado em base64.

f. Listagem dos anexos do recurso de glosa Foundation

A partir de dados do lote/guia/movimento retorna o anexo relacionado.

/file/foundation/unidade/unidadeprestadora/transacao/serie/documento/documentosistema/processo/seqdigitacao

Exemplo:

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/portprest/v1/restrictionsAppeal/file/foundation/120/120/1/1/1/34/1/1

Retorno:

{
    "fileName""202300000003_Comprovante de elegibilidade.zip",
    "content""UEsDBBQACAgIAFtDA1cAAAAAAAAAAAAAAAAuAAAAMjAyMzAwMDAwMDAzX0NvbXByb3ZhbnRlIGRlIGVsZWdpYmlsaWRhZGUuanBlZ+y7d1RT7/cuGKWpgPQuRbpUlSZdVLqAAtKLCkiJIdIDBFCU3gQpCgLSO/kgJZSQKFVARAg11ITeE2qAkAyfu2burPne36w7Za35a/Y5e62sdd5z9vuc8+797CfJoUxSFgDMRnqGeoBLly4Bnl9sAMo04CGA6vLlf/cLo77Yaa7Q0FBT01yjo6O9wnCNgYH+Gj0943VWZsbrLNfp6Zk5mVnY2Dk4OBiYuLg52blZ2TnY/73IJaqLc6hprtLQXGVnpGdk/79tlB8AliuXHC6JUF0SBlxmuUTFconSBRAEAC7RXPpvBvhf7dLliznS0l25eo3+YkAjM+DyJSqqy9RU/8764mjYxXEANQsN6807OrRsT1/..."

}

Campos do retorno:

CampoDescrição
fileNameNome do arquivo.
contentConteúdo do arquivo codificado em base64.

02. REGRAS DE NEGÓCIO APLICADAS 


03. COMO VALIDAR AS INFORMAÇÕES

Os resultados apresentados pela API podem ser validados e visualizados nos seguintes programas/relatórios:

Central de Movimentação de Guias Tiss (hrc.document)

Localize o lote de recurso de glosa que deseja consultar. 

Ao acessar o programa na tela inicial está disponível a opção de Busca Avançada:


Através da Busca Avançada, ao informar o prestador, é possível pesquisar o lote de importação:


Ao informar alguns campos e clicar em buscar serão retornados os documentos/movimentos encontrados para o lote informado.


<!-- esconder o menu --> 


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