Pular para o conteúdo principal

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.

Calendário do profissional

Mapeamento de Campos​

#CampoExpressão de caminho no payload
1Data prevista para iníciostart
2Data prevista para fimend
3Pacienteparticipant.where(actor.type='Patient').first()
4Profissionalparticipant.where(actor.type='Practitioner').first()
5Sala de vídeocontained.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.

Habilitaçã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, noshow ou cancelled nã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.stg.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.stg.nilo.services/fhir/resources/NamingSystem/almanac-api--professional",
"value": "456"
},
"reference": "Practitioner/1e8f3c9e-6f4b-4c3b-9d2e-1c2b3a4d5e6f"
},
"status": "accepted"
}
]
}
Tempo de processamento

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.stg.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.stg.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étodoDescriçãoRecomendação
Consulta via APIRealizar requests periódicas para verificar se o campo contained está presenteAdequado para verificações pontuais
Webhook ⭐Receber notificações automáticas quando a sala for criadaRecomendado 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.