Agendamentos
Introdução
Um agendamento entre um Paciente e um Profissional.
Principais informações:
- Paciente
- Profissional
- Data
Contexto NiloCare
Esse endpoint permite aos clientes Nilo Saúde manipular agendamentos de profissionais e pacientes na plataforma NiloCare.

Mapeamento de Campos
| # | Campo | Expressão de caminho no payload | |||||
|---|---|---|---|---|---|---|---|
| 1 | Data prevista para início | start | |||||
| 2 | Data prevista para fim | end | |||||
| 3 | Paciente | participant.where(actor.type='Patient').first() | |||||
| 4 | Profissional | participant.where(actor.type='Practitioner').first() | |||||
| 5 | Sala de vídeo | contained.where(resourceType='Endpoint').first().address | |||||
* Demais atributos nos payloads são armazenados, mas não afetados pelo sistema.
Especificações de comportamento FHIR - NiloCare
Definição dos participantes
O FHIR permite associar diversos atores a um agendamento, porém o NiloCare só permite associar um profissional e um paciente. Para definir qual o profissional e o paciente que compõe o agendamento no NiloCare, com base numa lista de participantes, adotamos como regra o primeiro participante do tipo "Practitioner" como o profissional e o primeiro participante do tipo "Patient" como o paciente.
Sala de vídeo
A funcionalidade de sala de vídeo permite a criação automática de links para videoconferência em agendamentos. Esta funcionalidade está disponível exclusivamente para clientes habilitados durante o processo de implantação.
Para verificar se possui esta funcionalidade habilitada ou solicitar a ativação, entre em contato com o suporte Nilo.
Pré-requisitos para criação
Para que uma sala de vídeo seja criada automaticamente, o agendamento deve atender aos seguintes critérios:
- Datas válidas: Possuir data de início e fim no futuro (agendamentos retroativos não geram sala)
- Status apropriado: Agendamentos com status
fulfilled,noshowoucancellednão terão sala criada
Como funciona o processo
1. Criação inicial do agendamento
Quando você cria um agendamento, a resposta inicial não conterá o link da sala de vídeo, pois sua criação ocorre de forma assíncrona:
{
"resourceType": "Appointment",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "booked",
"description": "Consulta de retorno",
"start": "2024-09-28T20:32:56.528762+00:00",
"end": "2024-09-28T21:02:56.528762+00:00",
"created": "2024-09-27T20:30:56.528762+00:00",
"comment": "Comentários sobre o agendamento",
"participant": [
{
"actor": {
"type": "Patient",
"identifier": {
"use": "usual",
"system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--patient-v2",
"value": "123"
},
"reference": "Patient/d77bd7b0-144d-4789-9e81-062a375addb8"
},
"status": "accepted"
},
{
"actor": {
"type": "Practitioner",
"identifier": {
"use": "usual",
"system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--professional",
"value": "456"
},
"reference": "Practitioner/1e8f3c9e-6f4b-4c3b-9d2e-1c2b3a4d5e6f"
},
"status": "accepted"
}
]
}
A criação da sala de vídeo é concluída normalmente em poucos segundos, mas pode levar até alguns minutos durante períodos de alta demanda.
3. Agendamento atualizado com sala
Após o processamento, o agendamento é atualizado com o campo contained contendo um recurso do tipo Endpoint com o link da videoconferência:
{
"resourceType": "Appointment",
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "booked",
"description": "Consulta de retorno",
"start": "2024-09-28T20:32:56.528762+00:00",
"end": "2024-09-28T21:02:56.528762+00:00",
"created": "2024-09-27T20:30:56.528762+00:00",
"comment": "Comentários sobre o agendamento",
"contained": [
{
"address": "https://nilovideo.app/f/51236",
"connectionType": {
"code": "https"
},
"payloadType": [
{
"text": "video"
}
],
"resourceType": "Endpoint",
"status": "active"
}
],
"participant": [
{
"actor": {
"type": "Patient",
"identifier": {
"use": "usual",
"system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/care-api--patient-v2",
"value": "123"
},
"reference": "Patient/d77bd7b0-144d-4789-9e81-062a375addb8"
},
"status": "accepted"
},
{
"actor": {
"type": "Practitioner",
"identifier": {
"use": "usual",
"system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--professional",
"value": "456"
},
"reference": "Practitioner/1e8f3c9e-6f4b-4c3b-9d2e-1c2b3a4d5e6f"
},
"status": "accepted"
}
]
}
Como verificar a criação da sala
Você pode acompanhar a criação da sala de vídeo através de duas abordagens:
| Método | Descrição | Recomendação |
|---|---|---|
| Consulta via API | Realizar requests periódicas para verificar se o campo contained está presente | Adequado para verificações pontuais |
| Webhook ⭐ | Receber notificações automáticas quando a sala for criada | Recomendado para automação |
Usando consulta via API
Consulte o agendamento e verifique a presença do campo contained. Veja mais detalhes em Consultar Agendamento.
Usando webhooks (recomendado)
Configure um webhook para receber notificações automáticas sobre atualizações nos agendamentos. Consulte nossa documentação completa sobre Webhooks de Agendamentos.