telemed-support

Agendas médicas

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.

Listar agendas médicas

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

Listar agenda médica por id

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

Criação de agenda médica

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
}

Atualização de agenda médica

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

Deletar de agenda médica

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