Skip to main content

POST Criar Consulta

Cria uma nova consulta para um paciente.

Autenticação necessária

Esta rota requer o header Authorization: Bearer {accessToken}


Endpoint

POST https://api-dev.imagemais.com.br/api/consultations

Corpo da Requisição

CampoTipoObrigatórioDescrição
patientIdnumberID do paciente
consultationTypestring (enum)"ONLINE" ou "PRESENCIAL"
preConsultationobjectDados da pré-consulta
preConsultation.bloodPressurestringPressão arterial
preConsultation.heartRatestringFrequência cardíaca
preConsultation.temperaturestringTemperatura
preConsultation.weightstringPeso
preConsultation.heightstringAltura
preConsultation.consultationReasonstringMotivo da consulta
preConsultation.glucosestringGlicose
preConsultation.consultationTypestring (enum)"ONLINE" ou "PRESENCIAL"
preConsultationIdnumberID de pré-consulta existente
mainComplaintstringQueixa principal
currentDiseaseHistorystringHistória da doença atual
personalHistorystringAntecedentes pessoais
physicalExamstringExame físico
medicalConductstringConduta médica
cardiovascularDiseasesstringDoenças cardiovasculares
otherRelevantDiseasesstringOutras doenças relevantes
previousSurgeriesstringCirurgias anteriores
familyHistorystringAntecedentes familiares
medicationsUsestringMedicamentos em uso
allergiesstringAlergias
lifestyleHabitsstringHábitos de vida
primaryAndSecondaryDiagnosisstringDiagnósticos (CID)
diagnosisReasoningstringRaciocínio da IA (achados confirmatórios e dados conflitantes)
urgencyLevelstringNível de urgência — Protocolo de Manchester
prescribedMedicationsstringMedicamentos prescritos
lifestyleAdvicestringOrientações de estilo de vida
followUpExamsstringExames de acompanhamento
referralsToSpecialistsstringEncaminhamentos
medicalCertificatestringAtestado médico
declarationstringDeclaração de comparecimento
specialControlPrescriptionstringReceituário controle especial
iaConclusionstringConclusão da IA
cardiologicalOpinionFileIdnumberID do arquivo de parecer cardiológico
specialControlPrescriptionFileIdnumberID do arquivo de receituário
appointmentIdnumberID do agendamento vinculado
assignedUserIdnumberID do usuário responsável

Requisição

curl -X 'POST' \
'https://api-dev.imagemais.com.br/api/consultations' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
-d '{
"patientId": 17529,
"consultationType": "ONLINE",
"preConsultation": {
"bloodPressure": "120/80",
"heartRate": "72",
"temperature": "36.5",
"weight": "70",
"height": "175",
"consultationReason": "Dor de cabeça frequente",
"glucose": "90"
},
"mainComplaint": "Dor de cabeça frequente há 3 dias",
"appointmentId": 5285,
"assignedUserId": 1
}'

Respostas

201 Criado

consultationTypeId e consultationStatusId não são fixos

Assim como em outros módulos, esses IDs são gerados via connectOrCreate na primeira vez que o valor é usado naquela conta — não são constantes entre ambientes.

{
"id": 325,
"patientId": 17529,
"preConsultationId": 325,
"mainComplaint": "Dor de cabeça frequente há 3 dias",
"currentDiseaseHistory": null,
"personalHistory": null,
"physicalExam": null,
"medicalConduct": null,
"cardiovascularDiseases": null,
"otherRelevantDiseases": null,
"previousSurgeries": null,
"familyHistory": null,
"medicationsUse": null,
"allergies": null,
"lifestyleHabits": null,
"primaryAndSecondaryDiagnosis": null,
"diagnosisReasoning": null,
"prescribedMedications": null,
"lifestyleAdvice": null,
"followUpExams": null,
"referralsToSpecialists": null,
"medicalCertificate": null,
"declaration": null,
"iaConclusion": null,
"urgencyLevel": null,
"specialControlPrescription": null,
"consultationTypeId": 2,
"consultationStatusId": 1,
"assignedUserId": 1,
"finalizedByUserId": null,
"finalizedAt": null,
"telemedicineTranscription": null,
"openaiThreadId": null,
"createdAt": "2026-05-18T19:20:17.761Z",
"updatedAt": "2026-05-18T19:20:17.761Z",
"deletedAt": null,
"preConsultation": {
"id": 325,
"bloodPressure": "120/80",
"heartRate": "72",
"temperature": "36.5",
"weight": "70",
"height": "175",
"consultationReason": "Dor de cabeça frequente",
"glucose": "90",
"updatedAt": "2026-05-18T19:20:17.682Z",
"deletedAt": null
},
"consultationFiles": [],
"cardiologicalOpinion": null,
"specialControlPrescriptionPdf": null,
"patient": {
"id": 17529,
"name": "LUCAS THIAGO COSTA BARRETO DE LIMA",
"cpf": "09974236402",
"dateBirth": "1999-11-23T00:00:00.000Z",
"gender": {
"name": "F"
},
"contact": {
"phone": "(81) 99743-8893",
"email": null
}
},
"assignedUser": {
"id": 1,
"name": "UserTeste"
}
}

400 Bad Request

Ocorre quando os campos obrigatórios têm valor inválido ou o tipo está errado.

Exemplos de causa:

  • patientId enviado como string ("abc")
  • consultationType com valor fora do enum ("HIBRIDO")
  • cardiologicalOpinionFileId: 0 (deve ser positivo)
{
"statusCode": 400,
"message": ["patientId must be a positive number"],
"error": "Bad Request"
}

403 Sem Permissão

Retornado quando o usuário autenticado não possui a permissão create_consultations.

{
"statusCode": 403,
"message": "Forbidden resource"
}