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.
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.



