Esta documentação visa explanar sobre as API's desenvolvidas para verificar regras específicas (customizadas) da operadora de saúde em determinados pontos da autorização construída no HAT. Isto é, a Operadora de Saúde deverá desenvolver uma API em seu software de gestão que validará regras específicas na verificação de elegibilidade do beneficiário, na validação dos procedimentos e na gravação do atendimento. A padronização de como o HAT enviará as informações para esta API e o que esperará de retorno será documentada neste espaço.
Para configurar os endpoints da customização, é necessário acessar o painel de administração do HAT.
Em seguida, acessar, no menu Configurações, Configurações de Integração.
Serão três EndPoints, e podem ter suas informações editadas.
Abaixo é o corpo da requisição que o HAT enviará para o seu endpoint customizado
Nome | Tipo | Descrição |
beneficiary | Object | Dados do beneficiário |
beneficiary.phoneNumber | String | Telefone do beneficiário |
beneficiary.newbornAttendance | String | S para atendimento RN e N para atendimento normal |
beneficiary.holderCPF | String | CPF do beneficiário ou responsável |
beneficiary.whenToCharge | String | 1 para Coparticipação com pagamento no ato e 0 Sem coparticipação |
beneficiary.birthdate | String | Data de nascimento |
Beneficiary.owner | Object | Dados do titular |
beneficiary.isOwner | Boolean | Se o beneficiário é titular |
beneficiary.CNS | String | Código do Cartão Nacional de saúde |
beneficiary.subscriberId | String | Matrícula |
String | Nome | |
beneficiary.companyName | String | Nome da empresa do plano |
beneficiary.oldSubscriberId | String | Matricula antiga (matant) |
beneficiary.healthInsurance | Object | Dados do plano |
beneficiary.healthInsurance.code | String | Código do plano |
beneficiary.healthInsurance.roomType | String | Tipo de acomodação |
beneficiary.healthInsurance.description | String | Descrição do plano |
beneficiary.cardExpiration | String | Data de expiração da carteirinha |
rejectionCauses | Array of Object | Críticas já validadas pelo HAT |
rejectionCauses[n].code | String | Código da Crítica |
rejectionCauses[n].alert | String | Se é alerta “1” ou não “0” |
rejectionCauses[n].description | String | Descrição da crítica |
Abaixo a resposta que o seu endpoint deve retornar:
O HAT sobrescreverá o resultado da elegibilidade e as críticas.
Nome | Tipo | Descrição |
elegibilityResponse | String | S (autorizado) ou N (não autorizado) – Será substituído na decisão do HAT. Exemplo: o HAT não autorizou mas a customização sim, prevalece a customização. |
rejectionCauses | Array of Object | Críticas no mesmo padrão do envio. Pode-se manter as críticas validadas pelo HAT, substituir as críticas ou apenas adicionar novas. |
Em construção
O HAT vai enviar para o seu endpoint de customização, um corpo diferente para cada tipo de atendimento pois as informações variam de acordo com a guia. Por exemplo: Data de internação: Informado somente na guia de internação.
Nome | Tipo | Descrição |
accidentIndication | String | Indicação de acidente |
ansRegistry | String | Registro ANS |
attendanceLocation | String | Local de atendimento = BB8_LOCAL |
attendanceModel | String | Caráter de atendimento – Terminologia |
attendanceNote | String | Observação do atendimento |
attendanceProtocol | String | Protocolo de atendimento |
attendanceType | String | Tipo de atendimento – Terminologia |
authorizationDate | String | Data da autorização |
authorizationStatus | String | Status da autorização 1 – Autorizado 2 – Parcialmente autorizado 3 – Negado 6 – Auditoria |
authorizationType | String | 1 – Consulta 2 – Exame 3 – Execução 4 – Internação 9 – Tratamento odontológico 10 – Pronto Socorro 11 – Tratamento Seriado |
authorizedHospital | String | Código do hospital autorizado = BAU_CODIGO |
beneficiary | Object | Dados do beneficiário |
beneficiary.birthdate | String | Data de nascimento |
beneficiary.cardExpiration | String | Data de expiração da carteirinha |
beneficiary.CNS | String | Número do CNS |
beneficiary.phoneNumber | String | Telefone |
beneficiary.holderCPF | String | CPF do beneficiário ou responsável |
beneficiary.healthInsurance | Object | Dados do plano |
beneficiary.healthInsurance.code | String | Código do plano |
beneficiary.healthInsurance.description | String | Descrição do plano |
beneficiary.healthInsurance.roomType | String | Tipo de acomodação |
beneficiary.isOwner | Boolean | Se o beneficiário é o titular |
String | Nome | |
beneficiary.oldSubscriberId | String | Matrícula antiga |
beneficiary.owner | Object | Dados do titular |
beneficiary.owner.birthdate | String | Data de nascimento |
beneficiary.owner.cardExpiration | String | Data de expiração da carteirinha |
beneficiary.owner.CNS | String | Número do CNS |
beneficiary.owner.phoneNumber | String | Telefone |
beneficiary.owner.holderCPF | String | CPF do beneficiário ou responsável |
beneficiary.owner.healthInsurance | Object | Dados do plano |
beneficiary.owner.healthInsurance.code | String | Código do plano |
beneficiary.owner.healthInsurance.description | String | Descrição do plano |
beneficiary.owner.healthInsurance.roomType | String | Tipo de acomodação |
String | Nome | |
beneficiary.owner.oldSubscriberId | String | Matrícula antiga |
beneficiary.owner.subscriberId | String | Matrícula |
beneficiary.owner.companyName | String | Nome da empresa |
beneficiary.subscriberId | String | Matrícula |
beneficiary.companyName | String | Nome da empresa |
beneficiary.whenToCharge | String | Coparticipação no ato 1 = Sim e 0 = Não |
beneficiary.rejectionCauses | Array of Object | Críticas |
beneficiary.rejectionCauses[n].code | String | Código da crítica |
beneficiary.rejectionCauses[n].description | String | Descrição da crítica |
beneficiary.rejectionCauses[n].alert | String | 1 = Alerta 0 = Crítica |
billingType | String | Tipo de faturamento – Terminologia |
clinicalCondition | String | Indicação Clínica |
closingReason | String | Motivo de encerramento – Terminologia |
consultationType | String | Tipo de Consulta – Terminologia |
copaymentValue | Number | Valor de coparticipação |
copaymentError | Number | Erro de coparticipação 1 = Sim 0 = Não |
dailyAuthorizedQuantity | Number | Quantidade de diárias autorizadas |
dailyRequestedQuantity | Number | Quantidade de diárias solicitadas |
dischargedDate | String | Data de alta |
dischargedHour | String | Hora de alta |
endTreatmentDate | String | Data prevista de final do tratamento |
expectedAdmissionDate | String | Data prevista de internação |
expectedDischargedDate | String | Data prevista de alta |
expectedHospitalizationDate | String | Data prevista de internação |
healthProvider | Object | Dados do prestador |
healthProvider.healthProviderId | String | Código do prestador |
String | Nome do prestador | |
healthProvider.officialRecord | String | CPF/CNPJ do prestador |
hospitalizationDate | String | Data de internação |
hospitalizationHour | String | Hora de internação |
primaryICD | String | Código do CID Primário |
journey | String | 1 – Consulta 2 – Exame 3 – Execução 4 – Internação 9 – Tratamento odontológico 10 – Pronto Socorro 11 – Tratamento Seriado |
locationCode | String | Código do local = BB8_CODLOC |
mainAuthorizationCode | String | Número da guia principal |
newbornAttendance | Boolean | Atendimento a RN – true = Sim e false = Não |
password | String | Senha |
passwordExpireDate | String | Data de expiração da senha |
priorAuthorization | Boolean | Se é a guia principal |
procedures | Array of Object | Procedimentos |
procedures[n].auditing | Boolean | Se está em auditoria |
procedures[n].accessWay | String | Via de acesso – Terminologia |
procedures[n].authorizedQuantity | Number | Quantidade autorizada |
procedures[n].balance | Number | Saldo |
procedures[n].endingTime | String | Hora final |
procedures[n].executionDate | String | Data de execução |
procedures[n].increaseDecrease | Number | Percentual de redução/acréscimo |
procedures[n].inSerie | Boolean | Se o procedimento é seriado |
procedures[n].justification | String | Justificativa de reconsulta |
procedures[n].medicalTeam | Array of Object | Participação médica |
procedures[n].medicalTeam[n].participationDegree | String | Grau de participação |
procedures[n].medicalTeam[n].professional | String | Profissional |
procedures[n].medicalTeam[n].professional.cbos | Object | CBOS do profissional |
procedures[n].medicalTeam[n].professional.cbos.code | String | Código do CBOS – Terminologia |
procedures[n].medicalTeam[n].professional.cbos.description | String | Descrição do CBOS |
procedures[n].medicalTeam[n].professional.stateAbbreviation | String | UF do Estado |
procedures[n].medicalTeam[n].professional.idOnHealthInsurer | String | Código do profissional |
procedures[n].medicalTeam[n].professional.name | String | Nome do profissional |
procedures[n].medicalTeam[n].professional.professionalCouncil | String | Conselho do profissional |
procedures[n].medicalTeam[n].professional.professionalCouncilNumber | String | Número do conselho do profissional |
procedures[n].medicalTeam[n].professional.professionalIdentifier | String | CPF/CNPJ do profissional |
procedures[n].medicalTeam[n].sequence | String | Sequencial de referência do procedimento |
procedures[n].procedureCode | String | Código do procedimento |
procedures[n].procedureDescription | String | Descrição do procedimento |
procedures[n].procedureType | String | Tipo do procedimento 0 - Procedimento 1 - Material 2 - Medicamento 3 - Taxas 4 - Diarias 5 - OrteseProtese 6 - Pacote 7 - GasesMedicinais 8 - Alugueis 9 - Outros |
procedures[n].rejectionCauses | Array of object | Críticas do procedimento |
procedures[n].rejectionCauses[n].code | String | Código da crítica |
procedures[n].rejectionCauses[n].description | String | Descrição da crítica |
procedures[n].rejectionCauses[n].alert | String | 0 – Crítica 1 – Alerta |
procedures[n].requestedQuantity | Number | Quantidade Solicitada |
procedures[n].startingTime | String | Hora inicial |
procedures[n].status | Number | Status do procedimento 1 – Autorizado 0 – Negado |
procedures[n].tableCode | String | Código da Tabela |
procedures[n].totalWorth | Number | Valor total |
procedures[n].unitaryWorth | Number | Valor Unitário |
procedures[n].usedTechnique | String | Técnica Utilizada – Terminologia |
procedures[n].usQuantity | Number | Quantidade US |
procedures[n].toothRegion | String | Dente/Região – Terminologia |
procedures[n].surfaces | String | Faces – Separadas por “,” Terminologia |
procedures[n].franchise | String | Franquia |
professional | Object | Profissional Solicitante |
professional.cbos | Object | CBOS do profissional |
professional.cbos.code | String | Código do CBOS – Terminologia |
professional.cbos.description | String | Descrição do CBOS |
professional.stateAbbreviation | String | UF do Estado |
professional.idOnHealthInsurer | String | Código do profissional |
String | Nome do profissional | |
professional.professionalCouncil | String | Conselho do profissional |
professional.professionalCouncilNumber | String | Número do conselho do profissional |
professional.professionalIdentifier | String | CPF/CNPJ do profissional |
requestDate | String | Data da solicitação |
requestHospital | String | Hospital Solicitado |
roomType | String | Tipo de acomodação autorizada |
sourceAuthorization | Object | Dados da guia principal (mesmas propriedades do atendimento da autorização corrente - beneficiario, profissional, prestador, data de autorização, etc.) |
hospType | String | Tipo de internação – Terminologia |
hospRegime | String | Regime de internação – Terminologia |
opmePrev | Boolean | Previsão de OPME |
quimiPrev | Boolean | Previsão de Quimio |
Abaixo a resposta que o seu endpoint deve retornar:
O HAT apenas considerará o status atribuído para gravar o atendimento.
Nome | Tipo | Descrição |
authorizationStatus | String | 1 - Autorizado 2 - Parcialmente Autorizado 3 - Negado 6 - Auditoria Será substituído na decisão do HAT. Exemplo: o HAT não autorizou mas a customização sim, prevalece a customização. |