Como plataformas de saúde mental online podem validar CPF de pacientes

Saiba como plataformas de saúde mental online podem validar CPF de pacientes via API para segurança, ética e conformidade regulatória.

Redação CPFHub.io
Redação CPFHub.io
··9 min de leitura
Como plataformas de saúde mental online podem validar CPF de pacientes

Plataformas de saúde mental online validam CPF de pacientes para cumprir as exigências do CFP e do CFM, que determinam identificação completa do paciente antes de qualquer atendimento por telemedicina. A validação via API confirma nome e data de nascimento em tempo real, vinculando o paciente ao prontuário eletrônico com segurança e dentro dos limites da LGPD.

A saúde mental online experimentou um crescimento exponencial nos últimos anos. Plataformas como Zenklub, Vittude, Psicologia Viva e outras conectam pacientes a psicólogos e psiquiatras por meio de teleconsultas. Esse modelo democratizou o acesso à terapia, mas também trouxe desafios relacionados à identificação e segurança dos pacientes.

O Conselho Federal de Psicologia (CFP) e o Conselho Federal de Medicina (CFM) estabelecem normas rígidas para o atendimento online, incluindo a necessidade de identificação correta do paciente. O CPF é o documento base para essa identificação, e sua validação via API garante que a plataforma atende às exigências regulatórias enquanto protege pacientes e profissionais.


Regulamentação da saúde mental online

Resolução CFP 11/2018

O Conselho Federal de Psicologia regulamenta a prestação de serviços psicológicos por meios de tecnologias da informação e comunicação, exigindo cadastro do paciente com identificação completa.

Resolução CFM 2.314/2022

O Conselho Federal de Medicina regula a telemedicina no Brasil, estabelecendo requisitos de identificação do paciente para teleconsultas, incluindo as psiquiátricas.

LGPD e dados de saúde

Dados de saúde são classificados como dados sensíveis pela LGPD (Lei 13.709/2018), exigindo tratamento diferenciado e proteção reforçada. O CPF, como dado pessoal, deve ser tratado com a mesma cautela.

ANS e planos de saúde

Quando o atendimento é coberto por plano de saúde, a ANS (Agência Nacional de Saúde Suplementar) exige a identificação do beneficiário por CPF para autorização e faturamento.


Por que validar CPF em saúde mental online

Prontuário eletrônico

O prontuário do paciente deve estar vinculado a uma identidade verificada. Um CPF incorreto pode levar a erros de identificação e comprometer o histórico clínico.

Prescrição de medicamentos

Psiquiatras que realizam teleconsultas e prescrevem medicamentos controlados precisam confirmar a identidade do paciente para evitar desvios de receitas.

Cobrança e reembolso

A emissão de recibos para fins de imposto de renda ou reembolso de plano de saúde exige CPF válido do paciente.

Segurança do profissional

O psicólogo ou psiquiatra precisa saber que está atendendo a pessoa correta, especialmente em situações de risco como ideação suicida, onde pode ser necessário acionar emergências.

Prevenção de fraudes

Pessoas podem tentar obter consultas usando CPFs de terceiros para acessar benefícios de planos de saúde ou programas de subsídio.


Implementação com Python

A implementação deve priorizar a privacidade e o mínimo de dados necessários.

import requests
from datetime import datetime

CPFHUB_API_KEY = "sua_api_key_aqui"
CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf"
TIMEOUT_SECONDS = 10

def cadastrar_paciente(cpf: str, nome: str,
    data_nascimento: str = None) -> dict:
    """
    Cadastra um paciente na plataforma de saúde mental
    após validação do CPF.
    Os dados são tratados conforme a LGPD (dados sensíveis).
    """
    cpf_limpo = cpf.replace(".", "").replace("-", "")

    if len(cpf_limpo) != 11 or not cpf_limpo.isdigit():
    return {"cadastrado": False, "motivo": "CPF com formato inválido"}

    headers = {
    "x-api-key": CPFHUB_API_KEY,
    "Accept": "application/json"
    }

    try:
    response = requests.get(
    f"{CPFHUB_BASE_URL}/{cpf_limpo}",
    headers=headers,
    timeout=TIMEOUT_SECONDS
    )
    response.raise_for_status()
    resultado = response.json()
    except requests.exceptions.Timeout:
    return {"cadastrado": False, "motivo": "Timeout na consulta"}
    except requests.exceptions.RequestException as e:
    return {"cadastrado": False, "motivo": f"Erro na validação: {str(e)}"}

    if not resultado.get("success"):
    return {"cadastrado": False, "motivo": "CPF não localizado"}

    dados = resultado["data"]
    nome_api = dados.get("nameUpper", "").strip()
    nome_paciente = nome.strip().upper()

    if nome_api != nome_paciente:
    return {
    "cadastrado": False,
    "motivo": "Nome diverge do CPF informado",
    "acao": "Verifique se o nome foi digitado corretamente"
    }

    # Validar data de nascimento se informada
    if data_nascimento and dados.get("birthDate") != data_nascimento:
    return {
    "cadastrado": False,
    "motivo": "Data de nascimento divergente",
    "acao": "Verifique a data de nascimento informada"
    }

    paciente = {
    "id_paciente": f"PAC-{datetime.now().strftime('%Y%m%d%H%M%S')}",
    "cpf": dados["cpf"],
    "nome": dados["name"],
    "data_nascimento": dados["birthDate"],
    "cadastrado_em": datetime.now().isoformat(),
    "consentimento_lgpd": True,
    "status": "ativo"
    }

    return {"cadastrado": True, "paciente": paciente}

# Exemplo de uso
resultado = cadastrar_paciente(
    cpf="123.456.789-09",
    nome="Juliana Aparecida Moreira",
    data_nascimento="15/08/1995"
)

if resultado["cadastrado"]:
    p = resultado["paciente"]
    print(f"Paciente cadastrado: {p['nome']}")
    print(f"ID: {p['id_paciente']}")
else:
    print(f"Cadastro não realizado: {resultado['motivo']}")

Consulta via cURL

curl -X GET "https://api.cpfhub.io/cpf/12345678909" \
    -H "x-api-key: sua_api_key_aqui" \
    -H "Accept: application/json" \
    --max-time 10

Resposta:

{
    "success": true,
    "data": {
    "cpf": "123.456.789-09",
    "name": "Juliana Aparecida Moreira",
    "nameUpper": "JULIANA APARECIDA MOREIRA",
    "gender": "F",
    "birthDate": "15/08/1995",
    "day": "15",
    "month": "08",
    "year": "1995"
    }
}

Validação antes da teleconsulta

A validação de CPF pode ser integrada ao fluxo de agendamento para confirmar a identidade do paciente antes da sessão.

const axios = require("axios");

const CPFHUB_API_KEY = "sua_api_key_aqui";
const CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf";

async function agendarConsulta(cpfPaciente, nomePaciente,
    profissionalId, dataHora) {
    const cpfLimpo = cpfPaciente.replace(/\D/g, "");

    if (cpfLimpo.length !== 11) {
    return { agendado: false, motivo: "CPF com formato inválido" };
    }

    try {
    const response = await axios.get(`${CPFHUB_BASE_URL}/${cpfLimpo}`, {
    headers: {
    "x-api-key": CPFHUB_API_KEY,
    Accept: "application/json"
    },
    timeout: 10000
    });

    const resultado = response.data;

    if (!resultado.success) {
    return { agendado: false, motivo: "CPF não encontrado" };
    }

    const dados = resultado.data;
    const nomeApi = dados.nameUpper;
    const nomeComparacao = nomePaciente.toUpperCase().trim();

    if (nomeApi !== nomeComparacao) {
    return {
    agendado: false,
    motivo: "Nome diverge do CPF informado"
    };
    }

    return {
    agendado: true,
    consulta: {
    protocolo: `CSM-${Date.now()}`,
    paciente: {
    cpf: dados.cpf,
    nome: dados.name,
    dataNascimento: dados.birthDate
    },
    profissionalId: profissionalId,
    dataHora: dataHora,
    tipo: "teleconsulta",
    status: "agendada"
    }
    };
    } catch (error) {
    return {
    agendado: false,
    motivo: error.code === "ECONNABORTED"
    ? "Timeout na validação"
    : `Erro: ${error.message}`
    };
    }
}

// Exemplo de uso
(async () => {
    const resultado = await agendarConsulta(
    "123.456.789-09",
    "Juliana Aparecida Moreira",
    "PSI-001",
    "2026-03-20T14:00:00.000Z"
    );

    if (resultado.agendado) {
    const c = resultado.consulta;
    console.log(`Protocolo: ${c.protocolo}`);
    console.log(`Paciente: ${c.paciente.nome}`);
    console.log(`Data/Hora: ${c.dataHora}`);
    console.log(`Status: ${c.status}`);
    } else {
    console.log(`Agendamento falhou: ${resultado.motivo}`);
    }
})();

Considerações éticas específicas

Minimização de dados

Na saúde mental, o princípio de minimização de dados da LGPD é especialmente relevante. A API do CPFHub.io retorna apenas dados cadastrais básicos (nome, gênero, data de nascimento) — nenhuma informação clínica ou de saúde é envolvida na validação.

Consentimento informado

O paciente deve ser informado de forma clara sobre a consulta ao CPF, seu propósito e os dados que serão obtidos. Esse consentimento deve ser registrado antes da validação.

Sigilo profissional

Os dados obtidos na validação de CPF não devem ser compartilhados com terceiros sem autorização do paciente, respeitando o sigilo profissional inerente à relação terapêutica.

Pacientes menores de idade

Para pacientes menores de 18 anos, a validação deve ser feita no CPF do responsável legal, que deve consentir com o atendimento.

Situações de emergência

Em casos de risco iminente (como ideação suicida), a identificação correta do paciente por CPF pode ser essencial para acionar serviços de emergência e salvar vidas.


Boas práticas para plataformas de saúde mental

  • Validação no cadastro — Valide o CPF durante o cadastro, antes da primeira consulta.
  • Consentimento explícito — Obtenha consentimento do paciente para a validação de CPF, explicando a finalidade.
  • Criptografia — Armazene os dados pessoais de forma criptografada, com controle de acesso restrito.
  • Retenção limitada — Defina prazos claros de retenção dos dados, conforme a LGPD e as normas do CFP/CFM.
  • Integração com prontuário — Vincule os dados validados ao prontuário eletrônico para garantir consistência.

Perguntas frequentes

Plataformas de saúde mental são obrigadas a validar o CPF do paciente?

O CFP (Resolução 11/2018) e o CFM (Resolução 2.314/2022) exigem identificação completa do paciente para atendimento online. Embora não citem explicitamente o CPF como documento obrigatório, ele é o identificador padrão adotado pelo setor para vincular o paciente ao prontuário e para faturamento junto a planos de saúde. Plataformas que operam sem validação de identidade ficam expostas a riscos regulatórios e éticos sérios.

A validação de CPF é compatível com o sigilo psicoterápico?

Sim. A validação via API consulta apenas dados cadastrais básicos — nome, CPF e data de nascimento. Nenhuma informação clínica, diagnóstico ou conteúdo de sessão é enviado à API. O sigilo psicoterápico, previsto no Código de Ética do CFP, permanece intacto: o CPF é usado exclusivamente para confirmar a identidade do paciente antes do cadastro, não para registrar dados de saúde.

Como tratar a validação de CPF para pacientes menores de idade?

Para menores de 18 anos, a validação deve ser feita no CPF do responsável legal. O código deve verificar a data de nascimento retornada pela API e, ao identificar um menor, redirecionar o fluxo para coletar os dados do responsável, registrar o consentimento dele e vinculá-lo ao prontuário do paciente. A plataforma deve manter esse vínculo para fins de auditoria regulatória.

O que acontece se o nome informado pelo paciente não bater com o CPF?

A API retorna o nome cadastrado na Receita Federal. Se houver divergência, o sistema deve solicitar ao paciente que revise os dados antes de prosseguir. Divergências menores — como abreviações ou ausência de nome do meio — podem ser tratadas com comparação parcial. Divergências significativas devem bloquear o cadastro e orientar o paciente a verificar o documento de identidade.


Conclusão

A validação de CPF em plataformas de saúde mental online é uma necessidade que concilia segurança, conformidade regulatória e ética profissional. Com a API da CPFHub.io, o cadastro do paciente passa a ter uma camada de verificação de identidade robusta — sem adicionar atrito desnecessário ao fluxo de agendamento. A resposta chega em cerca de 900ms, suficiente para validar nome e data de nascimento em tempo real antes da primeira sessão.

O plano gratuito (50 consultas/mês, sem cartão) permite validar toda a implementação antes de escalar. Quando o volume crescer, o plano Pro mantém a operação contínua — e se o limite for excedido, a API segue respondendo normalmente. Cadastre-se em cpfhub.io e proteja seus pacientes e profissionais desde o primeiro acesso.

CPFHub.io

Pronto para integrar a API?

50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.

Redação CPFHub.io

Sobre a redação

Redação CPFHub.io

Time editorial especializado em APIs de CPF, identidade digital e compliance no mercado brasileiro. Produzimos guias técnicos, análises regulatórias e tutoriais sobre LGPD e KYC para desenvolvedores e líderes de produto.

WhatsAppFale conosco via WhatsApp