ATENÇÃO:
ESSA NOVA FUNCIONALIDADE ENCONTRA-SE EM FASE DE PILOTO, PARA VALIDAR A ADERÊNCIA JUNTO A OPERAÇÃO DE DETERMINADO CLIENTE.
QUANDO DO TÉRMINO DO PILOTO, FAREMOS UM WEBINAR PARA TODOS OS CLIENTES, PARA FORMALIZARMOS A LIBERAÇÃO DA SOLUÇÃO E FOMENTARMOS SUA UTILIZAÇÃO.
OS CLIENTES QUE NÃO PARTICIPARÃO DO PILOTO TERÃO QUE AGUARDAR A CONCLUSÃO DESSA ETAPA, QUE SERÁ COMUNICADA VIA WEBINAR, PARA IMPLANTAÇÃO DA NOVA FUNCIONALIDADE.
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.
/portprest/<versao>/restrictionsAppeal/
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âmetro | Descrição |
|---|---|
| page | Parâ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) |
| q | Utilizado 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" |
| healthInsurerProvider / healthInsurerProviderInitial / healthInsurerProviderFinal | Informar o código da unidade do prestador (healthInsurerProvider) ou um range de códigos de unidades (healthInsurerProviderInitial e healthInsurerProviderFinal). |
| provider / providerInitial / providerFinal | Informar o código do prestador (provider) ou um range de códigos de prestadores (providerInitial e providerFinal). |
| providerGroupInitial / providerGroupFinal | Informar um range de códigos de grupo de prestadores (providerGroupInitial e providerGroupFinal). |
| protocol / protocolInitial / protocolFinal | Informar o protocolo do recurso de glosa (protocol) ou um range de protocolos (protocolInitial e protocolFinal). |
| receiptDateInitial / receiptDateFinal | Informar um range de datas de recebimento (receiptDateInitial e receiptDateFinal). As datas devem ser informadas no format YYYY-MM-DD. |
| batchCode | Informar 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. |
| guideBatch | Informar o código do lote atribuído pelo prestador do lote de guias que gerou o recurso. |
| periodYear | Informar o ano do período do revisão de contas do lote de recurso. |
| periodCode | Informar o código do período do revisão de contas do lote de recurso. |
| healthInsurerCar | Informar o código da unidade da carteira do beneficiário. |
| beneficiaryCardNumber | Informar a carteira do beneficiário presente no lote de recurso de glosa. |
| guideNumberInitial / guideNumberFinal | Informar um range de guias presentes no lote de recurso de glosa (guideNumberInitial e guideNumberFinal). |
| providerGuideNumberInitial / providerGuideNumberFinal | Informar um range de guias do prestador presentes no lote de recurso de glosa (providerGuideNumberInitial e providerGuideNumberFinal). |
Exemplo:
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:
| Campo | Descrição |
|---|---|
| total | Total de registros retornados. |
| hasNext | Campo lógico para indicar se existem mais registros além dos retornados. |
| items | Array com a lista dos lotes encontrados. |
| batchCode | Código do lote de recurso de glosa. |
| sequence | Sequência do lote de recurso de glosa. |
| protocol | Protocolo 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. |
| yearPeriod | Número do ano do período do módulo revisão de contas. |
| periodCode | Número do período do módulo revisão de contas. |
| healthInsurerProvider | Código da unidade do prestador. |
| provider | Código do prestador. |
| receiptDate | Data de recebimento do lote. |
| guideBatch | Código do lote de guias que gerou o recurso. |
| sequenceGuideBatch | Sequência do lote de guias que gerou o recurso. |
| guideBatchProtocol | Protocolo 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 |
| status | Sigla 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:
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:
| Campo | Descrição |
|---|---|
| batchCode | Código do lote de recurso de glosa. |
| sequence | Sequência do lote de recurso de glosa. |
| protocol | Protocolo 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. |
| period | Período do contas médicas informado no lote. |
| healthInsurerProvider | Código da unidade do prestador. |
| provider | Código do prestador. |
| receiptDate | Data de recebimento do lote. |
| guideBatch | Código do lote de guias que gerou o recurso. |
| sequenceGuideBatch | Sequência do lote de guias que gerou o recurso. |
| guideBatchProtocol | Protocolo 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 |
| status | Sigla com a situação do lote de recurso de glosa. |
| totalValueGuideBatch | Valor total cobrado do lote de guias que originou o recurso de glosa. |
| totalValueRestricted | Valor total glosado do lote de guias que originou o recurso de glosa. |
| totalValueAppealed | Valor total recursado no lote. |
| totalValueAccepted | Valor total acatado no 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:
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:
| Campo | Descrição |
|---|---|
| total | Total de registros retornados. |
| hasNext | Campo lógico para indicar se existem mais registros além dos retornados. |
| items | Array com a lista dos movimentos do lote informado. |
| realizationDate | Data de realização do movimento. |
| chargedValue | Valor cobrado pelo movimento. |
| healthInsurerProvider | Código da unidade do prestador. |
| processNumber | Número do processo do movimento. |
| typingSequence | Número da sequência de digitação do movimento. |
| beneficiaryCardNumber | Carteira do beneficiário. |
| quantityCharged | Quantidade cobrada. |
| analysedMovement | Indicador de se o movimento já foi analisado. |
| movementType | Tipo do movimento. |
| appealedValue | Valor recursado. |
| acceptedValue | Valor acatado. |
| supplyType | Código do tipo de insumo. |
| mainHealthInsurer | Código da unidade principal. |
| mainProvider | Código do prestador principal. |
| id | Campo para controle interno. |
| providerJustification | Justificativa do prestador. Informada quando o prestador insere o recurso de glosa no sistema. |
| quantityRestricted | Quantidade glosada. |
| originalDocument | Número do documento original. |
| healthInsurer | Código da unidade. |
| healthInsurerJustification | Justificativa da operadora. Informada quando a operadora realiza a análise do movimento. |
| restrictions | Array com a lista de glosas do movimento, contendo:
|
| mainRestrictionCode | Código da classe de erro principal do movimento. |
| healthInsurerCard | Código da unidade da carteira do beneficiário. |
| periodCode | Número do período do módulo revisão de contas. |
| yearAttendanceGuide | Ano da guia de atendimento vinculada ao documento. |
| attendanceGuide | Número da guia de atendimento vinculada ao documento. |
| tussTableType | Código do tipo de tabela TUSS. |
| mainRestriction | Código da glosa principal. |
| service | Código do movimento. |
| serie | Série do documento. |
| systemDocument | Número do documento do sistema. |
| paidValue | Valor pago. |
| mainRestrictionDescription | Descrição da glosa principal. |
| restrictedValue | Valor glosado. |
| providerGuide | Número da guia do prestador. |
| transaction | Código da transação. |
Importante
Os campos a seguir referem-se à chave primária dos movimentos:
healthInsurer
healthInsurerProvider
transaction
serie
originalDocument
systemDocument
processNumber
typingSequence
A partir de dados do lote informado retorna o anexos relacionados. Possui as seguintes opções de consulta:
Após a URL são enviados os filtros desejados via queryParams de acordo com o tipo de consulta realizado, sendo eles:
Por lote:
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| provider | Informar o código do prestador. |
| batch | Informar o código do lote atribuído pelo prestador do lote de recurso de glosa. |
Por guia/documento:
Possui 3 opções de consulta:
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| healthInsurerProvider | Informar o código da unidade prestadora. |
| transaction | Informar o código da transação do documento. |
| serie | Informar a série do documento. |
| originalDocument | Informar o número do documento original. |
| systemDocument | Informar o número de documento no sistema. |
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| provider | Informar o código do prestador. |
| batch | Informar o código do lote atribuído pelo prestador do lote de recurso de glosa. |
| providerGuide | Informar o número da guia atribuído pelo prestador. |
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| provider | Informar o código do prestador. |
| batch | Informar o código do lote atribuído pelo prestador do lote de recurso de glosa. |
| healthInsurerGuide | Informar o número da guia atribuído pela operadora. |
Por movimento:
Possui 2 opções de consulta:
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| healthInsurerProvider | Informar o código da unidade prestadora. |
| transaction | Informar o código da transação do documento. |
| serie | Informar a série do documento. |
| originalDocument | Informar o número do documento original. |
| systemDocument | Informar o número de documento no sistema. |
| processNumber | Informar o número do processo do movimento. |
| typingSequence | Informar a sequência de digitação do movimento. |
| Parâmetro | Descrição |
|---|---|
| healthInsurer | Informar o código da unidade. |
| provider | Informar o código do prestador. |
| batch | Informar o código do lote atribuído pelo prestador do lote de recurso de glosa. |
| providerGuide | Informar o número da guia atribuído pelo prestador. |
| sequence | Informar a sequência do movimento. |
Retorno:
{
"total": 1,
"hasNext": false,
"items": [
{
"sequence": 0,
"fileName": "202429101704_Comprovante de elegibilidade.jpeg",
"protocol": "31929",
"healthInsurer": 120,
"provider": 110005,
"document": "202429101704",
"batch": "07102024005",
"attachmentId": 516,
"documentFormat": ".jpeg",
"healthInsurerGuide": "",
"providerGuide": ""
}
]
}
Campos do retorno:
| Campo | Descrição |
|---|---|
| sequence | Sequencia do movimento |
| fileName | Nome do arquivo |
| protocol | Conteúdo do arquivo codificado em base64 |
| healthInsurer | Unidade do prestador |
| provider | Prestador |
| document | Número do documento |
| batch | Número do lote |
| attachmentId | Id do anexo que deverá ser informado para o endpoint Consulta de conteúdo de anexo de recurso de glosa TISS para obter o conteúdo do anexo. |
| documentFormat | Formato do documento |
| healthInsurerGuide | Unidade do lote de guias |
| providerGuide | Prestador do lote de guias |
Permite buscar o conteúdo de um anexo de recurso de glosa TISS. Para esta funcionalidade o Json de entrada não é necessário, os dados são passados pela URL.
file/tiss/attachmentId
O campo attachmentId refere-se à chave primária do anexo de recurso de glosa. Esse dado é retornado na listagem dos anexos de recurso de glosa TISS descrita no item 'G' deste documento.
Retorno:
{
"fileName": "202411010958_Comprovante de elegibilidade.jpeg",
"content": "UEsDBBQACAgIAFtDA1cAAAAAAAAAAAAAAAAuAAAAMjAyMzAwMDAwMDAzX0NvbXByb3ZhbnRlIGRlIGVsZWdpYmlsaWRhZGUuanBlZ+y7d1RT7/cuGKWpgPQuRbpUlSZdVLqAAtKLCkiJIdIDBFCU3gQpCgLSO/c8..."
}
Campos do retorno:
| Campo | Descrição |
|---|---|
| fileName | Nome do arquivo. |
| content | Conteúdo do arquivo codificado em base64. |
A partir de dados do lote/guia/movimento retorna o anexo relacionado.
/file/foundation/unidade/unidadeprestadora/transacao/serie/documento/documentosistema/processo/seqdigitacao
Exemplo:
Retorno:
{
"fileName": "202300000003_Comprovante de elegibilidade.zip",
"content": "UEsDBBQACAgIAFtDA1cAAAAAAAAAAAAAAAAuAAAAMjAyMzAwMDAwMDAzX0NvbXByb3ZhbnRlIGRlIGVsZWdpYmlsaWRhZGUuanBlZ+y7d1RT7/cuGKWpgPQuRbpUlSZdVLqAAtKLCkiJIdIDBFCU3gQpCgLSO/kgJZSQKFVARAg11ITeE2qAkAyfu2burPne36w7Za35a/Y5e62sdd5z9vuc8+797CfJoUxSFgDMRnqGeoBLly4Bnl9sAMo04CGA6vLlf/cLo77Yaa7Q0FBT01yjo6O9wnCNgYH+Gj0943VWZsbrLNfp6Zk5mVnY2Dk4OBiYuLg52blZ2TnY/73IJaqLc6hprtLQXGVnpGdk/79tlB8AliuXHC6JUF0SBlxmuUTFconSBRAEAC7RXPpvBvhf7dLliznS0l25eo3+YkAjM+DyJSqqy9RU/8764mjYxXEANQsN6807OrRsT1/..."
}
Campos do retorno:
| Campo | Descrição |
|---|---|
| fileName | Nome do arquivo. |
| content | Conteúdo do arquivo codificado em base64. |
Permite que a operadora faça a análise de um ou mais movimentos do lote informado na URL.
update/movements/healthInsurerProvider/provider/batchCode/sequence
Exemplo:
No corpo da requisição é enviado um array na propriedade "movements" contendo os movimentos a serem atualizados.
O json do movimento enviado é semelhante ao retornado na propriedade "items" da API método Listagem de movimentos do lote - getMovementsByBatch.
Para a atualização do movimento, é obrigatório o envio dos campos a seguir:
| Campo | Descrição |
|---|---|
| movementType | Tipo do movimento. |
| healthInsurer | Código da unidade. |
| healthInsurerProvider | Código da unidade do prestador. |
| transaction | Código da transação. |
| serie | Série do documento. |
| originalDocument | Número do documento original. |
| systemDocument | Número do documento do sistema. |
| supplyType | Código do tipo de insumo. |
| service | Código do movimento. |
| processNumber | Número do processo do movimento. |
| typingSequence | Número da sequência de digitação do movimento. |
| acceptedValue | Valor acatado. |
| healthInsurerJustification | Justificativa da operadora. Informada quando a operadora realiza a análise do movimento. |
Importante
Os campos a seguir referem-se à chave primária dos movimentos:
healthInsurer
healthInsurerProvider
transaction
serie
originalDocument
systemDocument
processNumber
typingSequence
Exemplo:
{ |
Retorno:
Caso a atualização ocorra com sucesso, será retornado um json semelhante ao enviado no corpo da requisição.
Permite que a operadora finalize a análise do lote de Recurso de Glosa informado na URL.
releaseappeal/healthInsurerProvider/provider/batchCode/sequence
Exemplo:
No corpo da requisição é enviado um json contendo as seguintes configurações da liberação:
| Campo | Descrição |
|---|---|
| chargeParticipation | Campo lógico informando se irá cobrar participação. |
| yearPeriod | Número do ano do período do módulo revisão de contas. |
| numberPeriod | Número do período do módulo revisão de contas. |
Exemplo:
{ |
Retorno:
Caso a análise ocorra com sucesso, será retornado um payload vazio com status 200.
Os resultados apresentados pela API podem ser validados e visualizados nos seguintes programas/relatórios:
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>
|