Histórico da Página
CONTEÚDO
- Visão Geral
- Configurações INI
- Verbos
- Exemplo de Chamada da API
- Atributos de Resposta
- 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 SIGAPLS. A API recebe um path param com a matrícula, e retorna todos os dados das tabelas BEA, BE2 e BEG dessa guia:
Guias de Consulta, SADT, Tratamento Odontológico e Internação:
Tabela | Atributo |
---|---|
BEA | (raiz do json) |
BE2 | procedures |
BEG | rejectionCauses |
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:
Logo, a minha URL será: http://localhost:8080/rest/totvsHealthPlans/v1/authorizations/<guia>
03. VERBOS
Seguem os verbos disponíveis na API:
...
Guias de Prorrogação de Internação:
Tabela | Atributo |
---|---|
B4Q | (raiz do json) |
BQV | procedures |
BQZ | rejectionCauses |
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:
Logo, a minha URL será: http://localhost:8080/rest/totvsHealthPlans/v1/authorizations/<guia>
03. VERBOS
Seguem os verbos disponíveis na API:
Verbo | Path | Path Param | Query Param | Descrição |
---|---|---|---|---|
GET | authorizations | idHealthIns (número da guia) | Guia realizada pelo beneficiário | |
POST | authorizations | resendBatch=true | Valida 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:
QueryParams | Descrição | Tipo |
---|---|---|
action | Código sequencial TISS Online | Caracter |
healthProviderCode | Código da Rede de Atendimento | Caracter |
locationCode | Código da Rede de Atendimento | Caracter |
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:
Bloco de código | ||
---|---|---|
| ||
{
"tissBatch": "900000008834",
"subscriberId": "00010003000003017",
"healthProviderCode": "000004",
"authorizationType": "2"
} |
Atributo | Descrição | Tipo |
---|---|---|
tissBatch | Código sequencial TISS Online | Caracter |
subscriberId | Matrícula do Beneficiário | Caracter |
healthProviderCode | Código da Rede de Atendimento | Caracter |
authorizationType | Código do tipo da guia | Caracter |
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:
Bloco de código | ||
---|---|---|
| ||
{
"idOnHealthInsurer": "000120230800000064",
"healthProviderCode": "000004",
"locationCode": "001"
} |
Atributo | Descrição | Tipo |
---|---|---|
idOnHealthInsurer | Número da Guia | Caracter |
healthProviderCode | Código da Rede de Atendimento | Caracter |
locationCode | Código do Local de Atendimento | Caracter |
05. ATRIBUTOS DE RESPOSTA
CHAMADA GET
Cabeçalho
Atributo | Campo | Tipo |
---|---|---|
subscriberId | BEA_OPEUSR+BEA_CODEMP+BEA_MATRIC+BEA_TIPREG+BEA_DIGITO | Caracter |
primaryICD | BEA_CID | Caracter |
attendanceLocation | BEA_LOCAL | Caracter |
password | BEA_SENHA | Caracter |
accidentIndication | BEA_INDACI | Caracter |
attendanceModel | BEA_TIPADM | Caracter |
attendanceProtocol | BEA_PROATE | Caracter |
attendanceType | BEA_TIPATE | Caracter |
authorizationDate | BEA_DATPRO | Data |
authorizationStatus | BEA_STATUS | Caracter |
authorizationType | BEA_TIPGUI | Caracter |
billingType | BEA_TIPFAT | Caracter |
clinicalCondition | BEA_INDCLI | Caracter |
closingReason | BEA_TIPSAI | Caracter |
consultationType | BEA_TIPCON | Caracter |
endTreatmentDate | BEA_DPTETA | Data |
healthProviderId | BEA_CODRDA | Caracter |
idAuthOnHealthProvider | BEA_GUIPRE | Caracter |
locationCode | BEA_CODLOC | Caracter |
mainAuthorizationCode | BEA_GUIPRI | Caracter |
newbornAttendance | BEA_ATERNA | Caracter |
passwordExpireDate | BEA_VALSEN | Data |
priorAuthorization | BEA_LIBERA | Caracter |
priorAuthorizationStatus | BEA_STALIB | Caracter |
professionalRequestorId | BEA_CDPFSO | Caracter |
professionalExecutorId | BEA_CDPFRE | Caracter |
requestDate | BEA_DATSOL | Data |
attendanceToken | BEA_TOKEDI | Caracter |
missingValidationCode | BEA_AUSVLD | Caracter |
specialtyCode | BEA_CODESP | Caracter |
professionalRequestorCouncil | BEA_SIGLA | Caracter |
professionalRequestorState | BEA_ESTSOL | Caracter |
professionalRequestorCouncilNumber | BEA_REGSOL | Caracter |
professionalRequestorSpecialtyCode | BEA_ESPSOL | Caracter |
professionalExecutorCouncil | BEA_SIGEXE | Caracter |
professionalExecutorState | BEA_ESTEXE | Caracter |
professionalExecutorCouncilNumber | BEA_REGEXE | Caracter |
dischargedType | BE4_TIPALT | Caracter |
dischargedDate | BE4_DTALTA | Data |
dischargedHour | BE4_HRALTA | Caracter |
expectedHospitalizationDate | BE4_PRVINT | Data |
hospType | BE4_TIPINT | Caracter |
Atributo procedures
Atributo | Campo | Tipo |
---|---|---|
authLevel | BE2_NIVAUT | Caracter |
sequence | BE2_SEQUEN | Caracter |
status | BE2_STATUS | Caracter |
requestedQuantity | BE2_QTDSOL | Numérico |
authorizedQuantity | BE2_QTDPRO | Numérico |
balance | BE2_SALDO | Numérico |
unitaryWorth | BD6_VLRPAG + BD6_VLRGLO | Numérico |
executionDate | BE2_DATPRO | Data |
startingTime | BE2_HORPRO | Caracter |
endingTime | BE2_HORFIM | Caracter |
accessWay | BE2_VIA | Caracter |
usedTechnique | BE2_TECUTI | Caracter |
authLevelKey | BE2_CHVNIV | Caracter |
auditing | BE2_AUDITO | Caracter |
priorAuthorization | BE2_LIBERA | Caracter |
priorAuthorizationStatus | BE2_STALIB | Caracter |
tableCode | BE2_CODPAD | Caracter |
procedureCode | BE2_CODPRO | Caracter |
Atributo rejectionCauses
Atributo | Campo | Tipo |
---|---|---|
procedureSequence | BEG_SEQUEN/BEL_SEQUEN | Caracter |
code | BEG_CODGLO/BEL_CODGLO | Caracter |
rejectionSequence | BEG_SEQCRI/BEL_SEQCRI | Caracter |
description | BEG_DESGLO/BEL_DESGLO | Caracter |
CHAMADA POST
Atributo | Campo | Tipo |
---|---|---|
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 |
authorization | Estrutura JSON no modelo do verbo GET acima (será informado quando existir a guia) | Caracter |
06. EXEMPLOS DE JSON DE RESPOSTA
Solicitação GET:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{
"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": ""
} |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{
"code": 400,
"message": "Guia informada nao encontrada",
"detailedMessage": "Entre em contato com o Suporte",
"helpUrl": "",
"details": [
{
"code": "",
"message": "",
"detailedMessage": "",
"helpUrl": ""
}
]
} |
Solicitação POST:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{
"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 |
...
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 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
05. ATRIBUTOS DE RESPOSTA
Cabeçalho
...
subscriberId
...
Atributo procedures
...
Atributo rejectionCauses
...
06. EXEMPLOS DE JSON DE RESPOSTA
Solicitação GET:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "endTreatmentDate": null, "locationCode": "001", "professionalRequestorSpecialtyCode": "063", "professionalRequestorCouncil": "CRM", "professionalExecutorCouncil": "", "procedures": [ { "status": "0", "sequence": "001", "endingTime": "1800", "auditing": "1", "requestedQuantity": 1, "startingTime": "1800", "tableCode": "22", "authorizedQuantitynewbornAttendance": 1"0", "accessWaypasswordExpireDate": "2297-02-26", "priorAuthorization": "0", "priorAuthorizationStatus": "", "rejectionCausesprofessionalRequestorId": [ "000142", {"professionalExecutorId": "", "requestDate": null, "codeattendanceToken": "", "missingValidationCode": "", "procedureSequencespecialtyCode": "001055", "professionalRequestorCouncil": "CRM", "rejectionSequenceprofessionalRequestorState": "002RS", "professionalRequestorCouncilNumber": "334455", "descriptionprofessionalRequestorSpecialtyCode": "223"NÍVEL:, BRV - PLANOS E GRUPOS DE COBERTURA ( 02 - ATUALIZACOES / PRODUTO SAUDE / PRODUTO SAUDE --> FOLDER COBERTURA/CAREN" "professionalExecutorCouncil": "", "professionalExecutorState": "", "professionalExecutorCouncilNumber": "", }"dischargedType": "", "dischargedDate": null, { "dischargedHour": "", "expectedHospitalizationDate": null, "codehospType": "025", "procedures": [ "procedureSequence": "001", { "rejectionSequenceauthLevel": "001BRV", "descriptionsequence": "001"PARA, ESTE PROCEDIMENTO NECESSITA AUDITORIA." "status": "1", } "requestedQuantity": ]1, "executionDateauthorizedQuantity": "2022-09-15"1, "procedureCodebalance": "10101012", 0, "unitaryWorth": 076.4, "authLevelKeyexecutionDate": "000100010010222023-05-15", "balancestartingTime": 0"1008", "usedTechniqueendingTime": "1008", "authLevelaccessWay": "", } ], "healthProviderId": "000004", "consultationTypeusedTechnique": "1", "requestDate": null, "dischargedDate": null, "hospTypeauthLevelKey": "00010001001007", "priorAuthorizationStatus": "", "newbornAttendanceauditing": "0", "professionalExecutorState": "", "attendanceLocation": "008", "specialtyCodeteethRegion": "002", "authorizationTypesurface": "01", "passwordExpireDate": "2022-10-15", "professionalRequestorIdpriorAuthorization": "A018340", "missingValidationCode": "01", "attendanceModel": "1", "attendanceTokenpriorAuthorizationStatus": "", "professionalRequestorCouncilNumber": "654321", "professionalExecutorCouncilNumber": "", "subscriberIdtableCode": "0001010100000701222", "billingType": "", "dischargedType": "", "professionalExecutorIdprocedureCode": "10101012", "accidentIndication": "9", "priorAuthorization": "0", "idAuthOnHealthProviderrejectionCauses": "", [] "password": "", "attendanceType": "05", } "attendanceProtocol": "88888820220915300033", ] "dischargedHour": null,} } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "authorizationStatuscode": "60002", "primaryICDmessage": "", Nao foi encontrada guia, e possivel realizar o reenvio" } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "professionalRequestorState": "SP", "authorizationDate": "2022-09-15", "mainAuthorizationCodecode": ""400, "expectedHospitalizationDatemessage": null, "Nao e possivel realizar "closingReason": "o reenvio", "clinicalConditiondetailedMessage": "" } | ||||
Bloco de código | ||||
| ||||
{ "code": 400, "message": "Guia informada nao encontrada", "detailedMessage": "Entre em contato com o SuporteJa 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": "", "messagecode": "", "detailedMessagemessage": "", "helpUrldetailedMessage": "", } ] } |
Solicitação POST:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "codehelpUrl": "0002", "message": "Nao foi encontrada guia,} e possivel realizar o reenvio"] } |