-
Notifications
You must be signed in to change notification settings - Fork 0
Diagrama de Sequência
Lucas Christian edited this page Jun 4, 2026
·
1 revision
sequenceDiagram
autonumber
%% =========================
%% Participantes
%% =========================
actor U as Usuário Comum
participant UI as Interface Web
participant KC as Keycloak
participant MF as Medflow
participant BD as Base de Dados
%% =========================
%% Autenticação e autorização funcional
%% =========================
U->>UI: Acessa a área de agendamento
UI->>KC: Solicita autenticação do usuário
KC-->>UI: Retorna usuário autenticado e token de acesso
UI->>MF: Solicita acesso ao agendamento
MF->>KC: Valida token e permissão funcional para criar consulta
KC-->>MF: Confirma permissão funcional
MF->>BD: Verifica vínculo local do usuário com a organização
BD-->>MF: Confirma usuário ativo na organização
MF-->>UI: Libera acesso à área de agendamento
%% =========================
%% Consulta de opções
%% =========================
UI->>MF: Solicita opções disponíveis para agendamento
MF->>BD: Verifica organização, unidades, especialidades e médicos ativos
BD-->>MF: Retorna opções disponíveis
MF-->>UI: Apresenta especialidades, unidades e médicos
U->>UI: Seleciona especialidade, unidade e médico
UI->>MF: Solicita horários disponíveis
MF->>BD: Verifica alocação do médico, agenda configurada, bloqueios e consultas existentes
BD-->>MF: Retorna horários livres
MF-->>UI: Apresenta calendário com horários disponíveis
%% =========================
%% Confirmação do agendamento
%% =========================
U->>UI: Escolhe data e horário
UI->>MF: Solicita resumo da consulta
MF->>BD: Verifica se o horário continua disponível
BD-->>MF: Confirma disponibilidade
MF-->>UI: Apresenta resumo da consulta
U->>UI: Confirma o agendamento
UI->>MF: Solicita criação da consulta
%% =========================
%% Transação crítica
%% =========================
Note over MF,BD: Transação crítica: revalidar regra de negócio e registrar consulta
MF->>KC: Confirma permissão funcional para criar consulta
KC-->>MF: Permissão funcional confirmada
MF->>BD: Revalida usuário, organização, médico, consultório, agenda e bloqueios
BD-->>MF: Dados contextuais confirmados
MF->>BD: Revalida ausência de conflito no horário
BD-->>MF: Nenhum conflito encontrado
MF->>BD: Registra consulta com status agendada
BD-->>MF: Confirma criação da consulta
MF-->>UI: Retorna confirmação do agendamento
UI-->>U: Exibe mensagem de sucesso e detalhes da consulta