Essa nova funcionalidade encontra-se em fase de piloto junto à operação de um cliente.
Quando do término do piloto, faremos um webinar para todos os clientes, formalizando a liberação dessa solução e fomentarmos sua utilização.
Os clientes que não participarem do piloto deverão aguardar a conclusão dessa etapa para implantação da nova funcionalidade em produção.
CONTEÚDO
- Visão Geral
- Rota
- Listagem de lotes de recurso de glosa - getBatchsByFilter
- Consulta detalhes do lote de recurso de glosa - getBatchById
- Listagem de movimentos do lote - getMovementsByBatch
- Listagem dos anexos de recurso de glosa TISS - getFileTiss
- Consulta de conteúdo de anexo de recurso de glosa TISS - getFileTissById
- Listagem dos anexos de recurso de glosa Foundation - getFileFoundation
- Atualização de análise do recurso e justificativa da operadora - updateMovements
- Finalizar análise do Recurso de Glosa - releaseAppeal
- Regras de Negócio Aplicadas
- Como Validar as Informações
- Central de Movimentação de Guias TISS
- Central de Movimentação de Guias TISS
- 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â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:
- healthInsurerProvider
- provider
- batchCode
- sequence
Os campos a seguir referem-se à chave primária do lote de guias que originou o recurso de glosa:
- healthInsurerProvider
- provider
- guideBatch
- sequenceGuideBatch
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:
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. |
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:
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
e. Listagem dos anexos do recurso de glosa TISS
A partir de dados do lote informado retorna o anexos relacionados. Possui as seguintes opções de consulta:
- Por lote: /file/tiss/batch
- Por guia/documento: /file/tiss/document
- Por movimento: /file/tiss/movement
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 |
f. Consulta de conteúdo de anexo de recurso de glosa TISS
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. |
g. 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:
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. |
h. Atualização de análise do recurso e justificativa da operadora
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.
i. Finalizar análise do Recurso de Glosa
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.
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.