graph TD
subgraph Receive
F[Feegow emit a webhook <br><small>POST /webhooks/feegow</small>]
F-->F1[(fa:fa-list-check Store in a webhooks queue)]
--o W0
end
subgraph Webhooks Processing
W0[end]
.-> P1[fa:fa-spinner Worker 1<br><small>read the queue in batch</small>]
sequenceDiagram
autonumber
title Medical Files - Data Flows
actor C as Doctoralia App User
participant B as DP Backend
participant S as Feegow SSO
participant M as Feegow Medical Records
participant D as Feegow DWH
flowchart TD
A(Feegow) -->|eventEmitter| B[MS Events API]
B --> C[(fa:fa-list<br>Events<br>queue)]
D[MS Events Worker] <--> C
D -->|get subscribers| E{Have subscribers?<br><small>Feegow API</small>} -->|yes| D
D --> F[(fa:fa-list<br>Webhooks<br>queue)] <--> G[MS Events Sender]
G --> H[fa:fa-server App A]
G --> I[fa:fa-calendar App B]
C4Context
title Modelo C4 de Contexto do Sistema Feegow
Person(usuario, "Usuário da Clínica", "Profissionais, Funcionários e Colaboradores")
System_Ext(externo1, "Parceiros Externos", "NFe, TEF, Gateways de Pagamento,<br>Memed, Autorizadores")
Person_Ext(paciente, "Paciente", "Paciente da clínica")
System_Ext(externo2, "Sites/Sistemas Externos", "Clínicas")