Documentação funcional

Escopo, atores, fluxos e regras de negócio do ICTUS CME.

Atores do sistema

PerfilEscopoPermissões principais
ADMINMatriz / FilialCRUD total, gestão de usuários, criação de filiais, troca de contexto.
SUPERVISORFilialLiberação paramétrica, recall, quarentena (release), CRUDs operacionais.
NURSE_RTFilialLiberação Bowie-Dick, leitura BI, manutenção preventiva.
NURSEFilialOperação completa do chão-de-CME exceto liberação.
TECHNICIANFilialExpurgo, lavagem, preparo, esterilização.
VIEWERFilialApenas leitura (dashboards e consultas).

Domínios de negócio

1. Cadastros mestres

2. Operação chão-de-CME

Expurgo / Conferência cega

Operador bipa o kit, depois bipa os itens individualmente. Reconciliação no submit: se um item esperado faltar ou se um item estranho aparecer, alerta vermelho com pulse + beep dissonante. Inclui modal OPME para balanço de consumíveis.

Lavagem

Sistema roteia kits para lavadora compatível (termodesinfectora vs. ultrassônica), bloqueando combinações incorretas (ex.: instrumento com mola sensível a calor não vai à termo).

Preparo (área limpa)

Mostra a receita do kit com fotos. Operador bipa cada peça; sistema bloqueia se peça vier de outra matriz, valida compatibilidade térmica e peso vs. ciclo planejado. Ao finalizar, emite ZPL ao Zebra ZD220.

Esterilização

Tela do equipamento com gate Bowie-Dick (autoclave vapor): RT precisa aprovar antes do primeiro ciclo do dia. Soma peso em tempo real (não estoura carga). Operador insere parâmetros observados ao final.

Liberação paramétrica

Supervisor / RT confere parâmetros do ciclo + indicador biológico (BI). Libera o lote para arsenal ou retém para reprocesso.

Arsenal (FIFO)

Lista ordenada por validade ASC; destaque amarelo nos kits próximos do vencimento; retirada por barcode.

Point-of-Care

PWA mobile para circulante de sala: vincula o kit ao prontuário do paciente. Esse vínculo é a chave para o recall biológico em cascata.

Quarentena

Itens / kits suspeitos são bloqueados; liberação exige re-autenticação de SUPERVISOR ou superior no momento da ação (não basta estar logado).

Recall biológico

Botão de pânico com confirmação dupla. Dispara job RECALL_CASCADE que percorre batch → kits → cirurgias → pacientes, marca todos como quarentenados, e dispara webhook ao ERP / CCIH com lista de pacientes potencialmente expostos.

Manutenção preventiva

Equipamento com manutenção vencida é interditado automaticamente. Itens com contagem de ciclos ≥ vida útil estimada são marcados para passivação obrigatória.

Regras de negócio críticas

  1. FSM rígida: toda transição de estado de Item / KitInstance / Batch passa pelo motor em worker/src/lib/fsm.ts. Tentativas inválidas retornam HTTP 409 e ficam no audit log.
  2. Idempotência: mutações sensíveis aceitam header Idempotency-Key. Replays retornam a resposta original.
  3. Bowie-Dick diário: cron 04:00 UTC marca todas autoclaves vapor como pendentes; primeira tentativa de ciclo do dia trava aguardando RT liberar.
  4. Indicador biológico: leitura final só permitida após decorrido o tempo de incubação informado pelo fabricante (cron a cada 6h varre BIs prontos).
  5. Recall em cascata: nenhum kit afetado pode ser "des-recalled" — só fechado com justificativa de RT.
  6. Re-autenticação supervisor: release de quarentena exige senha do supervisor no momento (não confia em sessão).

Hierarquia matriz + filiais

Uma única conta ICTUS pode hospedar várias unidades (HQ + N filiais). O ADMIN da matriz cadastra cada filial em Admin → Filiais; ao criar a primeira filial, a organização atual (que era STANDALONE) é promovida automaticamente a HQ. Para operar uma filial, o usuário usa o seletor de organização no canto superior direito — o JWT é re-emitido com o novo escopo, mantendo referência à matriz de origem.

Concessões cruzadas: o ADMIN da matriz pode conceder a um usuário operacional acesso explícito a uma filial específica via grant-access (ex.: enfermeira que cobre duas unidades). O perfil concedido pode ser diferente do perfil de origem.