Comece aqui

Introdução

A API da BlueAI permite que seus sistemas se conectem à nossa plataforma para realizar uploads de arquivos, buscar previsões de hospitalizações, despesas e diversos tipos de fraudes relacionadas à saúde. Abaixo estão as rotas disponíveis e como utilizá-las.

Autenticação

Todas as requisições devem incluir um token de autenticação no cabeçalho. Você pode criar seu token em https://app.blueai.com.br/api_tokens. Os tokens são únicos para cada empresa. Veja suas empresas em https://app.blueai.com.br/accountse confira o token de cada uma.

Exemplo de cabeçalho:


headers = {
    "Accept": "application/json",
    "Authorization": "Bearer cole_seu_token_aqui"
}

Carregar arquivos

A API da BlueAI permite que seus sistemas se conectem à nossa plataforma para realizar uploads de arquivos, buscar previsões de hospitalizações, despesas e diversos tipos de fraudes relacionadas à saúde. Abaixo estão as rotas disponíveis e como utilizá-las.

Parâmetros obrigatórios

data_file

Representa o arquivo no formato XLS ou CSV.

id_field

Campo que contém o identificador da pessoa.

birth_date_field

Campo que contém a data de nascimento.

gender_field

Campo que contém o gênero da pessoa.

procedure_code_field

Campo que contém o código do procedimento.

procedure_description_field

Campo que contém a descrição do procedimento.

procedure_date_field

Campo que contém a data do procedimento.

provider_code_field

Campo que contém o código do provedor.

provider_name_field

Campo que contém o nome do provedor.

paid_value_field

Campo que contém o valor pago pelo procedimento.

headers

Cabeçalhos do arquivo.

Exemplo de requisição:


import requests
import json

# Este é o endpoint para carregar arquivos
url = "https://app.blueai.com.br/api/v1/uploads"

# Cole seu token para a sua empresa aqui
headers = {
    "Accept": "application/json",
    "Authorization": "Bearer cole_seu_token_aqui"
}

# Troque 'seu_arquivo.csv' pelo caminho ao seu arquivo
files = {

    "upload[data_file]": open("seu_arquivo.csv", "rb"),
}

# Esccreva os nomes de cada coluna do seu arquivo entre as aspas destinadas
data = {
    "upload[id_field]": "ID do beneficiário aqui",
    "upload[birth_date_field]": "Data de nascimento aqui",
    "upload[gender_field]": "Sexo aqui",
    "upload[procedure_code_field]": "Código TUSS do procedimento aqui",
    "upload[procedure_description_field]": "Descrição do procedimento aqui",
    "upload[procedure_date_field]": "Data de utilização aqui",
    "upload[provider_code_field]": "Código do prestador aqui",
    "upload[provider_name_field]": "Nome do prestador aqui",
    "upload[paid_value_field]": "Valor total pago aqui",
    "upload[payment_date_field]": "Data do pagamento aqui",
    
    # Esccreva os nomes de todas as coluna do seu arquivo na lista a seguir
    "upload[headers]": json.dumps([
        "ID do Beneficiário", "Sexo", "Data de Nascimento", "Data de Utilização", 
        "Nome do Prestador", "Código do Prestador", "Código TUSS do Procedimento", 
        "Descrição do Procedimento", "Valor Total Pago", "Data do Pagamento", 
        "Operadora", "Base", "ano_utilizacao", "mes_utilizacao", 
        "ano_mes_utilizacao", "HashCliente"
    ])  # Convert the list to a JSON string
}

# Send the request
response = requests.post(url, files=files, data=data, headers=headers)

# Print the response
print("Status Code:", response.status_code)
print("Response Body:", response.json())

Buscar previsões

Previsões de hospitalização

A rota  GET /hospitalizations  retorna as previsões de hospitalizações de vidas de acordo com os dados históricos processados. Na própria url, você pode definir um  limit para retornar resultados de quantas pessoas quiser.

Exemplo de requisição:


import requests

url = "https://app.blueai.com.br/api/v1/hospitalizations?limit=90000"
headers = {
    "Accept": "application/json",
    "Authorization": "Bearer cole_seu_token_aqui"
}

response = requests.get(url, headers=headers)
print(response.json())

Exemplo de resposta:


{
  "hospitalizations": [
    {
      "id": 123,
      "identifier": "Your Identifier",
      "birth_date": "1999-12-31",
      "updated_at": "2024-09-23T16:38:22.417-03:00",
      "gender": "M", // M ou F
      "hospitalization_probability": 96,
      "risk_group": "Red",
      "probable_procedures": [
        {
          "description": "Procedimentos medicina transfusional",
          "probability_percentage": 6.98,
          "cost": 1684.66
        },
        {
          "description": "Avaliações de procedimentos hospitalares",
          "probability_percentage": 14.94,
          "cost": 196.91
        },
        {
          "description": "Reabilitações de procedimentos hospitalares",
          "probability_percentage": 34.36,
          "cost": 160.02
        },
        {
          "description": "Atendimento uti",
          "probability_percentage": 12.88,
          "cost": 8689.34
        }
      ]
    }
  ],
“pagination”: {
    "prev_url": "/route.json?page=",
    "next_url": "/route.json?page=2",
    "count": 479,
    "page": 1,
    "next": 2
  }
}

Buscar fraudes e abusos

A BlueAI permite buscar vários tipos de fraudes relacionadas a procedimentos de saúde. Abaixo estão as descrições de cada uma das fraudes disponíveis para consulta através de nossas rotas.

As respostas são semelhantes em todas as rotas, retornando o ano, uma lista de procedimentos identificados como possível fraude e informações sobre a paginação.

Lembre-se de que é obrigatório definir o ano que deseja buscar fraudes na própria url com o parâmentro  year .

Exemplo de requisição:


import requests

url = "https://app.blueai.com.br/api/v1/frauds/outlier_providers?year=2024"
headers = {
    "Accept": "application/json",
    "Authorization": "Bearer cole_seu_token_aqui"
}

response = requests.get(url, headers=headers)
print(response.json())

Exemplo de resposta:


{
  "year": 2024,
  "data": [
    {
      "id": 6251,
      "service_date": "2024-01-04",
      "description": "VITAMINA D 25 HIDROXI PESQUISA E/OU DOSAGEM (VITAM",
      "life_id": 65,
      "provider_name": "Laboratório Xyz",
      "provider_code": "789654123",
      "cost": 49.64,
      "procedure_code": "40302830"
    }
  ],
  “pagination”: {
    "prev_url": "/route.json?page=",
    "next_url": "/route.json?page=2",
    "count": 479,
    "page": 1,
    "next": 2
  }
}

Procedimentos acima do padrão

GET /out_of_pattern

Esta rota detecta procedimentos cujos valores ou quantidades fogem significativamente do padrão esperado, comparando com benchmarks de mercado ou práticas comuns.

Prestadores acima do padrão

GET /outlier_providers

Esta fraude detecta provedores cujos custos de procedimentos estão muito acima ou abaixo do valor médio praticado por outros provedores para o mesmo procedimento.

Análise de preço por prestador

GET /pattern_describers

Através desta rota, você pode detectar padrões de procedimentos que fogem da norma estabelecida. Ela utiliza análise estatística para descrever procedimentos com comportamentos atípicos.

Reembolso indevido ou cobrança de retorno

GET /duplicate_return_charges

Esta fraude ocorre quando um prestador cria uma cobrança de consulta em dois meses consecutivos, sendo a soma dos dois valores maior que o preço limite do valor pago que a Blue aprendeu que deveria ser cobrado pelo procedimento e pelo respectivo prestador.

Procedimentos repetidos

GET /repeated_procedures

Esta fraude ocorre quando o mesmo procedimento é registrado mais de uma vez para o mesmo beneficiário, dentro de um intervalo de tempo que seria considerado invulgar para a repetição de tal procedimento. A API detecta essas ocorrências analisando códigos de procedimento e datas.

Caso de uso: Detectar cobranças realizadas mais vezes que o padrão aprendido de cada procedimento.

Procedimentos repetidos por prestador

GET /repeated_procedures_provider

Similar à fraude de procedimentos repetidos, mas aqui a análise se concentra no provedor de saúde. Esta rota identifica quando um provedor está realizando o mesmo procedimento em múltiplos pacientes repetidamente de maneira suspeita.

Caso de uso: Identificar prestadores que possam ter cobrado repetidas vezes por um mesmo procedimento.

Procedimentos indevidos pelo sexo

GET /inconsistent_gender

Esta fraude é detectada quando o código do procedimento realizado é inconsistente com o gênero do beneficiário. Por exemplo, procedimentos exclusivos de um gênero (como uma mamografia para mulheres) sendo cobrados para um beneficiário de outro gênero.

Procedimentos não identificados

GET /unidentified_procedure_codes

Esta fraude detecta o uso de códigos de procedimento que não estão devidamente identificados ou que não constam no registro oficial de códigos permitidos.

Prestadores não identificados

GET /unidentified_providers

Esta rota detecta fraudes onde os códigos ou nomes de provedores não estão devidamente identificados ou são desconhecidos no sistema.

Beneficiário não identificados

GET /unidentified_beneficiaries

Detecta fraudes onde os beneficiários (pacientes) estão cadastrados de forma inconsistente ou são desconhecidos nos registros, sugerindo possível uso de identidades falsas ou dados incompletos.