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