As agendas médicas permitem definir períodos de horário para um professional dado uma fila, sendo este mostrado ao paciente ou não, dependendo das diversas configurações disponíveis. É tambeḿ possível definir outras configurações como pagameto.
A listagem poderá ser filtrada por meio de params/query:
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição | Obrigatório |
---|---|---|---|---|
offset | Integer | offset/início de referência para a busca | ❌ | |
limit | Integer | limite de resultados, não é possível ser maior que 100 | ❌ | |
name | String | Nome da Agenda | ❌ | |
sorting | String | “asc” ou “desc” | Ordenar resultados por crescente ou decrescente, pela propriedade “name” | ❌ |
doctorId | String | Id do profissional da saúde pertencente à agenda | ❌ | |
queueId | String | Id da fila pertencente à agenda | ❌ |
GET /api/medicalSchedules HTTP/2
Host: telemedicina.example.com
accesskey: sua-chave-de-acesso
A listagem poderá ser feita por meio de um id na params/query:
Exemplo:
GET /api/medicalSchedules/:id HTTP/2
Host: telemedicina.example.com
accesskey: sua-chave-de-acesso
Para cadastrar:
POST /api/medicalSchedules HTTP/2
Accept: application/json
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição | Obrigatório |
---|---|---|---|---|
name | String | Título da agenda | ✅ | |
startDate | String | ISO 8601 | Data e horário do início da agenda | ✅ |
endDate | String | ISO 8601 | Data e horário do fim da agenda | ✅ |
queueId | String | Id da fila atribuída à agenda | ✅ | |
doctorId | String | Id do profissional da saúde atribuído à agenda | ✅ | |
doctor | Object | É necessário somente no caso do médico tenha mais que um documento médico, neste objeto você vai mandar o documento específico | 🟡 | |
doctor.classDocument | String | Número do documento | ✅ | |
doctor.classDocumentUf | String | “SP”, “MG”, “RJ” | Estado do conselho, ex: SP e MG | ✅ |
doctor.classDocumentType | String | Conselho do documento, ex: CRM e COREN | ✅ | |
attendanceDurationInMinutes | Integer | Número em minutos do período de atendimento para atendimento na agenda | ❌ | |
hiddenForPatient | Boolean | Boolean que indica se a agenda é visível na tela do paciente ou somente uso interno no /doctor | ❌ | |
exceptionDays | String | ISO 8601 | Datas das quais a agenda não funcionará | ❌ |
disableVideoConferencing | Boolean | Boolean que indica se deve desativar o vídeo quando o atendimento iniciar | ❌ | |
recurrentDays | Objeto | Dicionário que indica os horários de inicio e fim de cada dia da semana. Propriedades do dicionário em array objetos: mon: segunda-feira, tue: terça-feira, wed: quarta-feira, thu: quinta-feira, fry: sexta-feira, sat: sábado, sun: domingo | ❌ | |
recurrentDays.mon | Array of objects | ❌ | ||
recurrentDays.mon[0].from | String | “HH:MM” | Horário que a agenda iniciará, no caso segunda-feira | ❌ |
recurrentDays.mon[0].to | String | “HH:MM” | Horário que a agenda terminará, no caso segunda-feira | ❌ |
splitRules | Array of Objects | Matriz de objetos que contém a informação necessária para divisão de pagamentos | 🟡 | |
splitRules[0].percent | Float | 55.5 | Valor em decimal da porcentagem a ser repassada | ✅ |
splitRules[0].kind | String | “professional” ou “company” | Tipo do recebedor do pagamento | ✅ |
splitRules[0].id | String | Id dentro do nosso sistema de quem vai receber o pagamento, tem que estar adequado com o kind, “professional” é o usuário e “company” é a empresa | ✅ | |
price | Float | Preço a cobrar do paciente pelas consultas dessa agenda(verifique as taxas de cada serviço com a nossa equipe). | 🟡 | |
daysInAdvance | Integer | Dias de antecedência para agendamento na agenda no caso de pagamento | ❌ | |
isActive | Boolean | Boolean que indica se agenda será criada como ativa ou inativa | ❌ |
Exemplo agenda sem pagamento, que atende de segunda e sexta:
{
"name": "Agenda Médica",
"startDate": "2022-01-01T00:00:00.000Z",
"endDate": "2022-12-31T23:59:59.999Z",
"queueId": "sadadu2818a83asd3qx@",
"doctorId": "wcrOSBZHKOQXDc1xYGx4mVen1SC3",
"hiddenForPatient": false,
"recurrentDays": {
"mon": [
{
"from": "08:00",
"to": "18:00"
}
],
"fry": [
{
"from": "08:00",
"to": "18:00"
}
]
}
}
Exemplo agenda com cobrança de R$ 100,00 , que atende de quarta e quinta:
{
"name": "Agenda Médica",
"startDate": "2022-01-01T00:00:00.000Z",
"endDate": "2022-12-31T23:59:59.999Z",
"queueId": "sadadu2818a83asd3qx@",
"doctorId": "wcrOSBZHKOQXDc1xYGx4mVen1SC3",
"hiddenForPatient": false,
"recurrentDays": {
"wed": [
{
"from": "08:00",
"to": "18:00"
}
],
"thu": [
{
"from": "08:00",
"to": "18:00"
}
]
},
"splitRules": [
{
"id": "wcrOSBZHKOQXDc1xYGx4mVen1SC3",
"kind": "professional",
"percent": 50
},
{
"id": "M41CIsY39WORnn1vVbeo",
"kind": "company",
"percent": 50
}
],
"price": 100
}
Para atualizar é só seguir as mesmas especificações da criação, porém informando o id
na queryString no método PATCH
.
PATCH /api/medicalSchedules/:id HTTP/2
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso
Para deletar, basta informar o id
na queryString no método DELETE
:
DELETE /api/medicalSchedules/:id HTTP/2
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso