Introdução

As APIs de integraçao cadastral são processadas de maneira assíncrona. Ao realizar essa ação,
o servidor irá retornar um token de processamento (tokenId) que deve ser consultado posteriormente na api
/api/healthcare/hat/v1/integration/{tokenId} que retornara o status de processamento no seguinte formato:


{
"idTenant": "",
"code": 0,
"message": "",
"detailedMessage": []
}


Master Token

API: Master Token
Funcionalidade: API utilizada para gerar um token de autorização para autenticação nas API’s do HAT. É necessário apenas um token por cliente.
Tipo de transação: POST
Endpoint: {apiversion}/masterToken

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
"name": "Teste", // Nome do token
"idTenant": 5, // Id do tenant da operadora
"userId": 445 // Id do usuário que está solicitando o token. O valor dessa propriedade é o mesmo contido no campo IDAUTH da base de dados de administração do HAT na tabela usuários. 
}


Authorizations

API: authorizations (Autorizações)
Funcionalidade: API utilizada para a inclusão e alteração de vidas na base de dados
Tipo de transação: GET
Endpoint: {apiversion}/authorizations

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Parametros:

page: Quantidade de páginas
pageSize: Tamanho da página
expand: Informações a mais que precisa retornar (healthProvider,professional,procedures.rejectionCauses,beneficiary,medicalTeam,requestedHospitalInfo,authorizedHospitalInfo,cbos,sourceAuthorization,rejectionCauses,healthInsurance)
order: Ordenação (-authorizationId para decrescente/+authorizationId para crescente)
trackingStatus: Indica se o registro já foi ou não importado pelo software de gestão(0 para não importado, 1 para importado)


Persons

API: Persons (Vidas - Inclusão/Alteração)
Funcionalidade: API utilizada para a inclusão e alteração de vidas na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/persons

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "personId": "BTS_MATVID (Varchar(8)) Example: 98765432",
            "holderCPF": "BTS_CPFUSR (Varchar(14)) Example: 321654987",
            "name": "BTS_NOMUSR (Varchar(70)) Example: Usuario de exemplo",
            "birthdate": "BTS_DATNAS (Varchar(8)) Example: 19000101",
            "gender": "BTS_SEXO (Varchar(1)) Example: F",
            "nationalhealthcard": "BTS_NRCRNA (Varchar(15)) Example: 098765432109876",
            "phonenumber": "BTS_TELEFO (Varchar(15)) Example: 5511987654321",
            "zipcode": "BTS_CEPUSR (Varchar(8)) Example: 09876543",
            "citycode": "BTS_CODMUN (Varchar(7)) Example: 3550308",
            "email": "BTS_EMAIL (Varchar(60)) Example: [email protected]"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}


Beneficiaries

API: Beneficiaries (Beneficiários - Inclusão/Alteração)
Funcionalidade: API utilizada para a inclusão e alteração de beneficiarios na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/beneficiaries

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "subscriberId": "BA1_CODINT + BA1_CODEMP + BA1_MATRIC + BA1_TIPREG + BA1_DIGITO (Varchar(15)) Example: 00010002012345010",
            "contractNumber": "BA1_CONEMP (Varchar(12)) Example: 098765432109",
            "contractVersion": "BA1_VERCON (Varchar(3)) Example: 098",
            "subContractNumber": "BA1_SUBCON (Varchar(9)) Example: 098765432",
            "subContractVersion": "BA1_VERSUB (Varchar(3)) Example: 098",
            "holderCpf": "BA1_CPFUSR (Varchar(11)) Example: 098765432",
            "personId": "BA1_MATVID (Varchar(8)) Example: 98765432 - Deve ser o mesmo código do campo personId da API Persons",
            "name": "BA1_NOMUSR (Varchar(70)) Example: Usuario de exemplo",
            "birthdate": "BA1_DATNAS (Varchar(8)) Example: 19000101",
            "blockedDate": "BA1_DATBLO (Varchar(8)) Example: 19000101",
            "unblockDate": "BA1_DESBLO (Varchar(8)) Example: 19000101",
            "gender": "BA1_SEXO (Varchar(1)) Example: F",
            "effectiveDate": "BA1_DATINC (Varchar(8)) Example: 19000101",
            "healthInsuranceCode": "BA1_CODPLA (Varchar(8)) Example: 098765",
            "healthInsuranceVersion": "BA1_VERSAO (Varchar(3)) Example: 098",
            "zipCode": "BA1_CEPUSR (Varchar(8)) Example: 09876543",
            "cityCode": "BA1_CODMUN (Varchar(7)) Example: 3550308",
            "waitingPeriodDate": "BA1_DATCAR (Varchar(8)) Example: 19000101",
            "cardExpiration": "BA1_DTVLCR (Varchar(8)) Example: 19000101",
            "holderRelationship": "BA1_TIPUSU (Varchar(1)) Example: T - Indica se o usuário é Titular 'T' ou dependente 'D'",
            "cardMagneticField": "BA1_TARCAR (Varchar(254)) Example: 098765432109",
            "oldSubscriberId": "BA1_MATANT (Varchar(17)) Example: 00010002012345010",
            "habilitagrpcob": "BA1_INFGCB (Varchar(1)) Example: Informa se utiliza grupo de cobertura '1' para sim / '2' para não",
            "habilitaclacar": "BA1_INFCOB (Varchar(1)) Example: Informa se a cobrança é feita no nível do beneficiário '1' para sim / '2' para não"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}


BeneficiaryStatus

API: beneficiaryStatus (Beneficiários - Bloqueio/Desbloqueio)
Funcionalidade: API utilizada para a bloqueio e desbloqueio de beneficiários na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/beneficiaryStatus

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "eventDate": "Data do evento Example: 1900-01-01",
            "eventType": "Tipo de evento(Bloqueio/Desbloqueio)",
            "entry_hour": "Hora do registro Example: 00:01",
            "subscriberId": "Matricula do beneficiário Example: 00010002012345010",
            "entry_date": "Data do registro Example: 1900-01-01"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}


HealthProviders

API: healthProviders (Redes de Atendimento - Inclusão/Alteração)
Funcionalidade: API utilizada para a inclusão e alteração de redes de atendimento na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/healthProviders

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "healthProviderCode": "BAU_CODIGO (Varchar(8)) Example: 098765",
            "healthProviderDocument": "BAU_CPFCGC (Varchar(14)) Example: 0001098765000101",
            "name": "BAU_NOME (Varchar(60)) Example: Exemplo de prestador RDA",
            "healthProviderType": "BAU_TIPPE (Varchar(1)) Example: Use 'J' para juridica e 'F' para fisica",
            "healthProviderClass": "BAU_TIPPRE (Varchar(3)) Example: CLI",
            "email": "BAU_EMAIL (Varchar(60)) Example: [email protected]"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}


AttendanceLocations

API: attendanceLocations (Locais de atendimento - Inclusão/Alteração)
Funcionalidade: API utilizada para a inclusão e alteração de locais de atendimento na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/attendanceLocations

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "codint": "BB8_CODINT (Varchar(4)) Example: 0001",
            "healthProviderCode": "BB8_CODIGO (Varchar(8)) Example: 098765",
            "locationCode": "BB8_CODLOC (Varchar(3)) Example: 001",
            "locationTypeCode": "BB8_LOCAL (Varchar(3)) Example: 001",
            "locationDescription": "BB8_DESLOC (Varchar(30)) Example: CLINICAS",
            "zipCode": "BB8_CEP (Varchar(8)) Example: 09876543",
            "address": "BB8_END (Varchar(40)) Example: Exemplo de endereco",
            "addressNumber": "BB8_NR_END (Varchar(6)) Example: 123",
            "addressComplement": "BB8_COMEND (Varchar(30)) Example: Complemento de endereco",
            "cityName": "BB8_MUN (Varchar(30)) Example: Exemplo de municipio",
            "stateAbbreviation": "BB8_EST (Varchar(2)) Example: SP",
            "district": "BB8_BAIRRO (Varchar(30)) Example: Exemplo de bairro",
            "cnesCode": "BB8_CNES" (Varchar(7)) Example: 0987654,
            "region": "BB8_REGMUN (Varchar(3)) Example: 012"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}


HealthProviderSpecialties

API: healthProviderSpecialties (Especialidades para redes de atendimento - Inclusão/Alteração)
Funcionalidade: API utilizada para a inclusão e alteração de especialidades para redes de atendimento na base de dados
Tipo de transação: POST
Endpoint: {apiversion}/healthProviderSpecialties

Header:

Authorization: Token de autorização para comunicar com a API
idTenant: Id do tenant da operadora
tenantName: Nome do tenant da operadora

Body:

{
    "items": [
        {
            "codint": "BAX_CODINT (Varchar(4)) Example: 0001",
            "healthProviderCode": "BAX_CODIGO (Varchar(8)) Example: 098765",
            "specialtyCode": "BAX_CODESP (Varchar(3)) Example: 001",
            "subspecialtyCode": "BAX_CODSUB (Varchar(3)) Example: 002",
            "locationCode": "BAX_CODLOC (Varchar(3)) Example: 001",
            "blockDate": "BAX_DATBLO (Varchar(8)) Example: 19000101",
            "considerSpecialty": "BAX_CONESP (Varchar(1)) Example: '1' para sim e '0' para não",
            "allowsMaterial": "BAX_LIMATM (Varchar(1)) Example: 1",
            "searchOrder": "BAX_ORDPES (Varchar(1)) Example: 0"
        }
    ],
    "healthInsurerId": "Example: 0001",
    "ansRegistry": "Example: 321456"
}