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:
...
04. EXEMPLO DE CHAMADA DA API
Exemplo de chamada para a guia 0001.2022.09.00000215:
http://localhost:8080/rest/totvsHealthPlans/v1/authorizations/000120220900000215
05. ATRIBUTOS DE RESPOSTA
Cabeçalho
...
subscriberId
...
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 |
Atributo procedures
...
Atributo rejectionCauses
...
06. EXEMPLOS DE JSON DE RESPOSTA
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": "", "rejectionCausesmainAuthorizationCode": ["100000000", "newbornAttendance": "0", {"passwordExpireDate": "2297-02-26", "priorAuthorization": "0", "codepriorAuthorizationStatus": "", "professionalRequestorId": "000142", "procedureSequenceprofessionalExecutorId": "001", "requestDate": null, "rejectionSequenceattendanceToken": "002", "missingValidationCode": "", "descriptionspecialtyCode": "NÍVEL: BRV - PLANOS E GRUPOS DE COBERTURA ( 02 - ATUALIZACOES / PRODUTO SAUDE / PRODUTO SAUDE --> FOLDER COBERTURA/CAREN" "055", "professionalRequestorCouncil": "CRM", "professionalRequestorState": "RS", "professionalRequestorCouncilNumber": "334455", }"professionalRequestorSpecialtyCode": "223", "professionalExecutorCouncil": "", { "professionalExecutorState": "", "professionalExecutorCouncilNumber": "", "codedischargedType": "025", "dischargedDate": null, "procedureSequencedischargedHour": "001", "expectedHospitalizationDate": null, "rejectionSequencehospType": "001", "procedures": [ { "description": "PARA ESTE PROCEDIMENTO NECESSITA AUDITORIA." "authLevel": "BRV", } ]"sequence": "001", "executionDatestatus": "2022-09-151", "procedureCoderequestedQuantity": "10101012"1, "unitaryWorthauthorizedQuantity": 01, "authLevelKeybalance": "00010001001022"0, "balanceunitaryWorth": 076.4, "usedTechniqueexecutionDate": "2023-05-15", "authLevelstartingTime": "1008", } ], "healthProviderId": "000004", "consultationTypeendingTime": "11008", "requestDate": null, "dischargedDate": null, "hospTypeaccessWay": "", "priorAuthorizationStatus": "", "newbornAttendance": "0", "professionalExecutorStateusedTechnique": "", "attendanceLocation": "008", "specialtyCode": "002", "authorizationTypeauthLevelKey": "0100010001001007", "passwordExpireDate": "2022-10-15", "professionalRequestorId": "A01834", "missingValidationCodeauditing": "010", "attendanceModel": "1", "attendanceToken": "", "professionalRequestorCouncilNumberteethRegion": "654321", "professionalExecutorCouncilNumber": "", "subscriberIdsurface": "00010101000007012", "billingType": "", "dischargedType": "", "professionalExecutorIdpriorAuthorization": "0", "accidentIndication": "9", "priorAuthorization": "0", "idAuthOnHealthProviderpriorAuthorizationStatus": "", "passwordtableCode": "22", "attendanceType": "05", "attendanceProtocolprocedureCode": "8888882022091530003310101012", "dischargedHour": null, "authorizationStatus": "6", "primaryICDrejectionCauses": "", [] "professionalRequestorState": "SP", "authorizationDate": "2022-09-15", } "mainAuthorizationCode": "", ] "expectedHospitalizationDate": null,} } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "closingReasoncode": "0002", "clinicalConditionmessage": "Nao foi encontrada guia, e possivel realizar o reenvio" } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "code": 400, "message": 400 "Nao e possivel realizar o reenvio", "messagedetailedMessage": "GuiaJa informada naofoi encontrada", uma guia no "detailedMessage": "Entre em contato com o Suporteseu sistema de gestao para o beneficiario e prestador na data de hoje. Guia(s) encontrada(s): 000120230500000019, 000120230500000021", "helpUrl": "", "details": [ { "code": "", "message": "", "detailedMessage": "", "helpUrl": "" } ] } |