id do paciente certo antes de criar um agendamento. Você procura o paciente pelo CPF ou pelo telefone e, se ele não existir, cria o cadastro.
Nenhuma rota tem barra final. Não existem
PUT nem DELETE: inativar um paciente é feito no aplicativo.
O id do paciente é numérico. É o mesmo patient.id que aparece nos agendamentos, o valor do filtro patient_id e o campo patient_id de POST /appointments.
O objeto paciente
O que a API não devolve
CPF, e-mail, data de nascimento e sexo são aceitos na criação e na alteração, mas nunca voltam nas respostas. Isso é deliberado. O cadastro de um paciente em uma clínica é dado de saúde (LGPD, art. 5º, II), e a identificação do paciente faz parte do prontuário (Resolução CFM 1.638/2002). Pelo princípio da necessidade (LGPD, art. 6º, III), a API devolve apenas o necessário para agendar. Você não precisa desses dados de volta para integrar:- o seu sistema já tem o que enviou;
- para achar um paciente pelo CPF ou pelo telefone, use os filtros
cpfephone, que comparam o valor enviado sem nunca devolvê-lo.
Encontrar ou criar um paciente
Esta é a receita recomendada para não duplicar cadastros:1
Procure pelo CPF
results trouxer um paciente, use o id dele. Sem CPF, procure por phone.2
Se não existir, crie
3
Agende com o id
Envie o
id devolvido como patient_id em POST /appointments, junto com professional_id e appointment_type_id das listas de profissionais e tipos de atendimento.Listar pacientes
next, previous e results. A ordem é crescente por updated_at, então a receita de sincronização com updated_since funciona igual para pacientes.
Filtros
cpf e phone só encontram correspondência exata, nunca parcial.
Buscar um paciente
id inexistente ou de outra clínica responde 404 Not Found.
Criar um paciente
Requer o escopopatients:write. Responde 201 Created com o objeto paciente.
Se outro paciente da sua clínica já tem o mesmo CPF, a API responde
409 com code: "patient_cpf_exists" e não cria nada. Busque o cadastro existente com GET /patients?cpf=. Um CPF cadastrado em outra clínica não interfere e nunca é revelado.
O cabeçalho Idempotency-Key funciona como na criação de agendamentos: repetir a mesma requisição com a mesma chave em até 24 horas devolve o paciente já criado, com Idempotent-Replayed: true.
Alterar um paciente
Requer o escopopatients:write. Envie apenas os campos que mudam. O corpo vazio responde 400.
null apaga phone, email, cpf ou birth_date; name e gender não podem ser apagados. Trocar o CPF para um que já pertence a outro paciente da clínica responde 409 patient_cpf_exists.
Responde 200 OK com o objeto atualizado.
Webhooks
Não há eventos de webhook de pacientes. Para acompanhar mudanças, useupdated_since.