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
  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
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.
statusInformar uma lista de status separada por ',' (vírgula). Ex: 'CL,AN,RE'.
healthInsurerProvider / healthInsurerProviderInitial / healthInsurerProviderFinalInformar o código da unidade do prestador buscada (healthInsurerProvider) ou um range de códigos de unidades (healthInsurerProviderInitial e healthInsurerProviderFinal).
provider / providerInitial / providerFinalInformar o código do prestador buscado (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 buscado (protocol) ou um range de protocolos (protocolInitial e protocolFinal).
receiptDateInitial / receiptDateFinalInformar um range de datas de recebimento (receiptDateInitial e receiptDateFinal).
batchCodeInformar o número do lote a ser buscado.
guideBatchInformar o número do lote de guias que gerou o recurso a ser buscado.
periodInformar o período do revisão de contas do lote de recurso a ser buscado.
beneficiaryCardNumberInformar a carteira do beneficiário presente no lote de recurso de glosa a ser buscado.
guideNumberInitial / guideNumberFinalInformar um range de guias presentes no lote de recurso de glosa a ser buscado (guideNumberInitial e guideNumberFinal).
providerGuideNumberInitial / providerGuideNumberFinalInformar um range de guias do prestador presentes no lote de recurso de glosa a ser buscado (providerGuideNumberInitial e providerGuideNumberFinal).


Exemplo:

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/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": [
        {
            "sequence": 912,
            "protocol": "00000031912",
            "period": "2024/009",
            "sequenceGuideBatch": 910,
            "provider": 110005,
            "batchCode": 31,
            "healthInsurerProvider": 120,
            "receiptDate": "2024-10-11",
            "guideBatch": 31,
            "guideBatchProtocol": "00000031910",
            "status": "RE"
        }
    ]
}

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.
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.
statusSigla com a situação do lote de 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/UnidadeDoPrestador/Prestador/NumeroDoLote/SequenciaDoLote

Exemplo:

http://es-datasul.sp01.local:8080/dts/datasul-rest/resources/prg/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
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.
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.
statusSigla com a situação do lote de recurso de glosa.
totalValueGuideBatchValor total do lote de guias importado .
totalValueRestrictedValor total glosado no lote.
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/UnidadeDoPrestador/Prestador/NumeroDoLote/SequenciaDoLote

Após a chave do documento pode ser informando o expandable 'restrictions' caso desejado, com ele será 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": "0001000000084",
            "quantityCharged": 1,
            "analysedMovement": false,
            "movementType": "P",
            "appealedValue": 99.1,
            "acceptedValue": 0.0,
            "supplyType": 0,
            "mainHealthInsurer": 120,
            "mainProvider": 110005,
            "id": 1,
            "providerJustification": "teste 2",
            "quantityRestricted": 1,
            "period": "2024/009",
            "originalDocument": 46006,
            "healthInsurer": 120,
            "healthInsurerJustification": "",
            "restrictions": [
                {
                    "code": 1014,
                    "description": "BENEFICIARIO COM DATA DE EXCLUSAO "
                }
            ],
            "attendanceGuide": 0,
            "tussTableType": "22",
            "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.
quantityRestrictedQuantidade glosada.
periodPeríodo do contas médicas.
originalDocumentNúmero do documento original.
healthInsurerCódigo da unidade.
healthInsurerJustificationJustificativa da operadora.
restrictions

Array com a lista de glosas do movimento, contendo:

  • code: Código da glosa.
  • description: Descrição da glosa aplicada.
attendanceGuideNúmero da guia de atendimento.
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.

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>