Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Configurações INI
  3. Verbos
  4. Exemplo de Chamada da API
  5. Atributos de Resposta
  6. Exemplos de JSON de Resposta


01. VISÃO GERAL

A API authorizations tem como objetivo, trabalhar com ações relacionadas as guias geradas no sistema de gestão Plano de Saúde.


VERBO GET

Retornar Dados de uma Guia

Através do verbo GET, a API pode retornar os dados de uma guia gerada no sistema. A API recebe um path param com a matrícula, e retorna todos os dados das tabelas:


Guias de Consulta, SADT, Tratamento Odontológico e Internação:

TabelaAtributo
BEA(raiz do json)
BE2procedures
BEGrejectionCauses


Guias de Prorrogação de Internação:

TabelaAtributo
B4Q(raiz do json)
BQVprocedures
BQZrejectionCauses


Pré-Análise de Execução de uma Liberação

Outra funcionalidade no verbo GET é a pré-análise de execução de uma Liberação através do queryparam action com o conteúdo validRelease. Para utilizar esta funcionalidade é necessário informar também os queryparams healthProviderCode com o código da Rede de Atendimento e locationCode com o código do Local de Atendimento. A API retorna os dados da guia e a indicação se a liberação pode ser executada no atributo actionReturn e uma mensagem impeditiva (caso necessário) no atributo actionMessage.



VERBO POST

Validação de Reenvio de Guias

Através do verbo POST, a API tem a opção de validar se uma guia está apta a ser realizada o reenvio da mesma pelo sistema Portal Autorizador HAT. Para realizar essa validação, é necessário informar o QueryParam resendBatch. Utilizando essa opção, a API tem três possíveis respostas:

  • Foi encontrada a guia informada, a API retorna dos dados da guia para o Portal Autorizador realizar a contingência.
  • A guia informada não foi encontrada, porém já existe uma guia na data de hoje para o Prestador, Rede de Atendimento e Beneficiário, com isso, o reenvio não será permitido.
  • A guia informada não foi encontrada e não existe uma guia na data de hoje para o Prestador, Rede de Atendimento e Beneficiário, com isso, o reenvio será permitido (será gerado uma nova solicitação TISS Online).


Validação de Liberação

Outra funcionalidade da API POST é realizar a validação da execução de uma Liberação. Para realizar esta validação é necessário informar o queryparam action com o conteúdo execute. A validação realizada é a mesma do Portal do Prestador do Produto Planos de Saúde SIGAPLS.


02. CONFIGURAÇÕES INI

Para iniciar a instalação do processo, devemos configurar seu INI Protheus com a funcionalidade REST para habilitar o acesso as API´s. Documentos auxiliares:

1. Configuração do REST do Protheus

Com o INI Protheus configurado, a nomenclatura das API´s ficará no formato: <url + Porta + chave rest definidos no INI Protheus> +  /totvsHealthPlans/v1/authorizations/<guia>. Exemplo:

image2020-12-17_15-28-30.png

Logo, a minha URL será: http://localhost:8080/rest/totvsHealthPlans/v1/authorizations/<guia>

03. VERBOS

Seguem os verbos disponíveis na API:

VerboPathPath ParamQuery ParamDescrição
GETauthorizationsidHealthIns (número da guia)
Guia realizada pelo beneficiário
POSTauthorizations
resendBatch=trueValida se é possível realizar o Reenvio da guia pelo HAT

04. EXEMPLO DE CHAMADA DA API

Chamada GET - Retorna dados de uma Guia

Exemplo de chamada para a guia 0001.2022.09.00000215:

http://localhost:8080/rest/totvsHealthPlans/v1/authorizations/000120220900000215


Chamada GET - Realiza uma pré-análise de execução de uma Liberação

Exemplo de chamada da pré-análise:

http://10.171.80.125:3269/rest/totvshealthplans/v1/authorizations/000120230800000064?action=validRelease&healthProviderCode=000004&locationCode=001


QueryParamsDescriçãoTipo
actionCódigo sequencial TISS OnlineCaracter
healthProviderCodeCódigo da Rede de AtendimentoCaracter
locationCodeCódigo da Rede de AtendimentoCaracter


Chamada POST - Valida se pode realizar o reenvio da guia no HAT

Exemplo de chamada para validação:

http://localhost:8080/rest/totvshealthplans/v1/authorizations?resendBatch=true

JSON de Solicitação:

JSON Solicitação POST
{
    "tissBatch": "900000008834", 
    "subscriberId": "00010003000003017",
    "healthProviderCode": "000004", 
    "authorizationType": "2"  
}
AtributoDescriçãoTipo
tissBatchCódigo sequencial TISS OnlineCaracter
subscriberIdMatrícula do BeneficiárioCaracter
healthProviderCodeCódigo da Rede de AtendimentoCaracter
authorizationTypeCódigo do tipo da guiaCaracter


Chamada POST - Valida a execução de uma liberação

Exemplo de chamada para validação da guia 000120230800000064:

http://10.171.80.125:3269/rest/totvshealthplans/v1/authorizations?action=execute

JSON de Solicitação:

JSON Solicitação POST
{
    "idOnHealthInsurer": "000120230800000064",
    "healthProviderCode": "000004",
    "locationCode": "001"
}
AtributoDescriçãoTipo
idOnHealthInsurerNúmero da GuiaCaracter
healthProviderCodeCódigo da Rede de AtendimentoCaracter
locationCodeCódigo do Local de AtendimentoCaracter


05. ATRIBUTOS DE RESPOSTA


CHAMADA GET

Cabeçalho

AtributoCampoTipo

subscriberId

BEA_OPEUSR+BEA_CODEMP+BEA_MATRIC+BEA_TIPREG+BEA_DIGITOCaracter
primaryICDBEA_CIDCaracter
attendanceLocationBEA_LOCALCaracter
passwordBEA_SENHACaracter
accidentIndicationBEA_INDACICaracter
attendanceModelBEA_TIPADMCaracter
attendanceProtocolBEA_PROATECaracter
attendanceTypeBEA_TIPATECaracter
authorizationDateBEA_DATPROData
authorizationStatusBEA_STATUSCaracter
authorizationTypeBEA_TIPGUICaracter
billingTypeBEA_TIPFATCaracter
clinicalConditionBEA_INDCLICaracter
closingReasonBEA_TIPSAICaracter
consultationTypeBEA_TIPCONCaracter
endTreatmentDateBEA_DPTETAData
healthProviderIdBEA_CODRDACaracter
idAuthOnHealthProviderBEA_GUIPRECaracter
locationCodeBEA_CODLOCCaracter
mainAuthorizationCodeBEA_GUIPRICaracter
newbornAttendanceBEA_ATERNACaracter
passwordExpireDateBEA_VALSENData
priorAuthorizationBEA_LIBERACaracter
priorAuthorizationStatusBEA_STALIBCaracter
professionalRequestorIdBEA_CDPFSOCaracter
professionalExecutorIdBEA_CDPFRECaracter
requestDateBEA_DATSOLData
attendanceTokenBEA_TOKEDICaracter
missingValidationCodeBEA_AUSVLDCaracter
specialtyCodeBEA_CODESPCaracter
professionalRequestorCouncilBEA_SIGLA Caracter
professionalRequestorStateBEA_ESTSOLCaracter
professionalRequestorCouncilNumberBEA_REGSOLCaracter
professionalRequestorSpecialtyCodeBEA_ESPSOLCaracter
professionalExecutorCouncilBEA_SIGEXECaracter
professionalExecutorStateBEA_ESTEXECaracter
professionalExecutorCouncilNumberBEA_REGEXECaracter
dischargedTypeBE4_TIPALTCaracter
dischargedDateBE4_DTALTAData
dischargedHourBE4_HRALTACaracter
expectedHospitalizationDateBE4_PRVINTData
hospTypeBE4_TIPINTCaracter


Atributo procedures

AtributoCampoTipo
authLevelBE2_NIVAUTCaracter
sequenceBE2_SEQUENCaracter
statusBE2_STATUSCaracter
requestedQuantityBE2_QTDSOLNumérico
authorizedQuantityBE2_QTDPRONumérico
balance BE2_SALDONumérico
unitaryWorthBD6_VLRPAG + BD6_VLRGLONumérico
executionDateBE2_DATPROData
startingTime BE2_HORPROCaracter
endingTimeBE2_HORFIMCaracter
accessWayBE2_VIACaracter
usedTechniqueBE2_TECUTICaracter
authLevelKeyBE2_CHVNIVCaracter
auditingBE2_AUDITOCaracter
priorAuthorizationBE2_LIBERACaracter
priorAuthorizationStatusBE2_STALIBCaracter
tableCodeBE2_CODPADCaracter
procedureCodeBE2_CODPROCaracter


Atributo rejectionCauses

AtributoCampoTipo
procedureSequenceBEG_SEQUEN/BEL_SEQUENCaracter
codeBEG_CODGLO/BEL_CODGLOCaracter
rejectionSequenceBEG_SEQCRI/BEL_SEQCRICaracter
descriptionBEG_DESGLO/BEL_DESGLOCaracter


CHAMADA POST

AtributoCampoTipo
code

Campo fixo que indica a ação encontrada: 0001 e 0002.

Caracter
message

Mensagem indicativa referente ao código acima:

0001 - Guia informada encontrada, apta para realizar a contingencia

0002 - Não foi encontrada guia, e possível realizar o reenvio

Caracter
idOnHealthInsurer

Número da guia (baseado no alias da guia informada)

BEA_OPEMOV+BEA_ANOAUT+BEA_MESAUT+BEA_NUMAUT

B4Q_OPEMOV+B4Q_ANOAUT+B4Q_MESAUT+B4Q_NUMAUT

Caracter
authorizationEstrutura JSON no modelo do verbo GET acima (será informado quando existir a guia)Caracter

06. EXEMPLOS DE JSON DE RESPOSTA


Solicitação GET:

Sucesso 202 - Guia encontrada
{
    "endTreatmentDate": null,
    "locationCode": "001",
    "professionalRequestorSpecialtyCode": "063",
    "professionalRequestorCouncil": "CRM",
    "professionalExecutorCouncil": "",
    "procedures": [
        {
            "status": "0",
            "sequence": "001",
            "endingTime": "1800",
            "auditing": "1",
            "requestedQuantity": 1,
            "startingTime": "1800",
            "tableCode": "22",
            "authorizedQuantity": 1,
            "accessWay": "",
            "priorAuthorization": "0",
            "priorAuthorizationStatus": "",
            "rejectionCauses": [
                {
                    "code": "",
                    "procedureSequence": "001",
                    "rejectionSequence": "002",
                    "description": "NÍVEL: BRV - PLANOS E GRUPOS DE COBERTURA ( 02 - ATUALIZACOES / PRODUTO SAUDE / PRODUTO SAUDE --> FOLDER COBERTURA/CAREN"
                },
                {
                    "code": "025",
                    "procedureSequence": "001",
                    "rejectionSequence": "001",
                    "description": "PARA ESTE PROCEDIMENTO NECESSITA AUDITORIA."
                }
            ],
            "executionDate": "2022-09-15",
            "procedureCode": "10101012",
            "unitaryWorth": 0,
            "authLevelKey": "00010001001022",
            "balance": 0,
            "usedTechnique": "",
            "authLevel": ""
        }
    ],
    "healthProviderId": "000004",
    "consultationType": "1",
    "requestDate": null,
    "dischargedDate": null,
    "hospType": "",
    "priorAuthorizationStatus": "",
    "newbornAttendance": "0",
    "professionalExecutorState": "",
    "attendanceLocation": "008",
    "specialtyCode": "002",
    "authorizationType": "01",
    "passwordExpireDate": "2022-10-15",
    "professionalRequestorId": "A01834",
    "missingValidationCode": "01",
    "attendanceModel": "1",
    "attendanceToken": "",
    "professionalRequestorCouncilNumber": "654321",
    "professionalExecutorCouncilNumber": "",
    "subscriberId": "00010101000007012",
    "billingType": "",
    "dischargedType": "",
    "professionalExecutorId": "",
    "accidentIndication": "9",
    "priorAuthorization": "0",
    "idAuthOnHealthProvider": "",
    "password": "",
    "attendanceType": "05",
    "attendanceProtocol": "88888820220915300033",
    "dischargedHour": null,
    "authorizationStatus": "6",
    "primaryICD": "",
    "professionalRequestorState": "SP",
    "authorizationDate": "2022-09-15",
    "mainAuthorizationCode": "",
    "expectedHospitalizationDate": null,
    "closingReason": "",
    "clinicalCondition": ""
}
Falha 400 - Guia não encontrada
{
    "code": 400,
    "message": "Guia informada nao encontrada",
    "detailedMessage": "Entre em contato com o Suporte",
    "helpUrl": "",
    "details": [
        {
            "code": "",
            "message": "",
            "detailedMessage": "",
            "helpUrl": ""
        }
    ]
}


Solicitação POST:

Sucesso 200 - Guia encontrada
{
    "code": "0001",
    "message": "Guia informada encontrada, apta para realizar a contingencia",
    "idOnHealthInsurer": "000120230500000019",
    "authorization": {
        "subscriberId": "00010003000003017",
        "primaryICD": "",
        "attendanceLocation": "008",
        "password": "1084179216633992",
        "accidentIndication": "",
        "attendanceModel": "2",
        "attendanceProtocol": "88888820220816300034",
        "attendanceType": "05",
        "authorizationDate": "2023-05-15",
        "authorizationStatus": "1",
        "authorizationType": "02",
        "billingType": "",
        "clinicalCondition": "",
        "closingReason": "",
        "consultationType": "1",
        "endTreatmentDate": null,
        "healthProviderId": "000004",
        "idAuthOnHealthProvider": "",
        "locationCode": "001",
        "mainAuthorizationCode": "100000000",
        "newbornAttendance": "0",
        "passwordExpireDate": "2297-02-26",
        "priorAuthorization": "0",
        "priorAuthorizationStatus": "",
        "professionalRequestorId": "000142",
        "professionalExecutorId": "",
        "requestDate": null,
        "attendanceToken": "",
        "missingValidationCode": "",
        "specialtyCode": "055",
        "professionalRequestorCouncil": "CRM",
        "professionalRequestorState": "RS",
        "professionalRequestorCouncilNumber": "334455",
        "professionalRequestorSpecialtyCode": "223",
        "professionalExecutorCouncil": "",
        "professionalExecutorState": "",
        "professionalExecutorCouncilNumber": "",
        "dischargedType": "",
        "dischargedDate": null,
        "dischargedHour": "",
        "expectedHospitalizationDate": null,
        "hospType": "",
        "procedures": [
            {
                "authLevel": "BRV",
                "sequence": "001",
                "status": "1",
                "requestedQuantity": 1,
                "authorizedQuantity": 1,
                "balance": 0,
                "unitaryWorth": 76.4,
                "executionDate": "2023-05-15",
                "startingTime": "1008",
                "endingTime": "1008",
                "accessWay": "",
                "usedTechnique": "",
                "authLevelKey": "00010001001007",
                "auditing": "0",
                "teethRegion": "",
                "surface": "",
                "priorAuthorization": "0",
                "priorAuthorizationStatus": "",
                "tableCode": "22",
                "procedureCode": "10101012",
                "rejectionCauses": []
            }
        ]
    }
}
Sucesso 200 - Reenvio permitido
{
    "code": "0002",
    "message": "Nao foi encontrada guia, e possivel realizar o reenvio"
}
Falha 400 - Reenvio não permitido
{
    "code": 400,
    "message": "Nao e possivel realizar o reenvio",
    "detailedMessage": "Ja foi encontrada uma guia no seu sistema de gestao para o beneficiario e prestador na data de hoje. Guia(s) encontrada(s): 000120230500000019, 000120230500000021",
    "helpUrl": "",
    "details": [
        {
            "code": "",
            "message": "",
            "detailedMessage": "",
            "helpUrl": ""
        }
    ]
}