# Manual de uso

Guia rápido para quem usa o sistema no dia a dia. Para instalação/deploy,
veja `deploy/LEIA-ME.md`.

## Para o paciente (via QR Code do quarto)

1. Escaneie o QR Code fixado no quarto (ou acesse o link
   `/chamar/<número-do-quarto>` diretamente). Para imprimir/gerar o QR
   Code de um quarto, veja "Para a Administração" abaixo.
2. A tela mostra o número do quarto e três botões grandes: **Enfermagem**,
   **Copa**, **Rouparia**. Toque no que precisar.
3. Se precisar de atenção rápida mas não for uma emergência, toque em
   **⚠️ Urgente** — vai pra Enfermagem com prioridade intermediária
   (aparece em amarelo pra equipe, distinto de um chamado normal).
4. Em caso de emergência real, toque no botão vermelho **EMERGÊNCIA** no
   fim da tela — vai com prioridade máxima direto para o posto de
   enfermagem responsável pelo quarto, igual ao botão/cordão físico (se
   instalado), sem precisar de celular.
5. Uma confirmação aparece na tela com um número de protocolo — a equipe
   já foi avisada, não é preciso fazer mais nada. Nesse mesmo cartão tem
   um **chat de texto** pra conversar com quem for atender — some
   automaticamente quando o chamado for concluído.
6. Para falar diretamente com a Enfermagem por voz (sem abrir um
   chamado), toque em **📞 Falar com a Enfermagem** — o navegador vai
   pedir permissão do microfone. A chamada toca pra equipe do posto; se
   ninguém atender em 30 segundos, tente de novo ou use os botões de
   chamado acima.

## Duas telas por setor

Cada setor (Enfermagem, Copa, Rouparia) tem duas telas diferentes:

- **Tela de parede** (`/dashboard/...`) — fica no monitor fixo em frente
  ao posto/setor, só para visualização (sem botões). Som e notificações
  tentam ligar sozinhos ao carregar a página. Na tela de Enfermagem, um
  aviso de medicação (💊 quarto + remédio + horário) aparece automático 5
  minutos antes de cada horário agendado.
- **Tela de atendimento** (`/atendimento/...`) — para o celular ou
  computador da equipe, com os botões de ação. É para onde o login leva
  por padrão.

## Para as equipes (Enfermagem, Copa, Rouparia)

1. Acesse o endereço do sistema fornecido pela TI do hospital — a própria
   tela inicial já é a de login (usuário e senha). Depois de entrar, você
   cai na tela **Início**, com os atalhos do seu papel; o principal é a
   tela de atendimento do seu setor (só os chamados do seu posto). A logo
   da Unimed no canto superior esquerdo de qualquer tela também volta pra
   **Início** a qualquer momento.
2. Você verá os chamados ativos, ordenados por prioridade (emergência
   primeiro) e depois por ordem de chegada.
3. Som e notificações push tentam ligar sozinhos ao carregar a tela; se o
   navegador bloquear (alguns exigem um toque na tela primeiro), aparece
   um aviso com um botão para ativar manualmente. No iPhone, push só
   funciona se o site for instalado como app via "Adicionar à Tela de
   Início" no Safari — limitação da Apple, não do sistema.
4. Quando for atender um chamado, toque em **Estamos a caminho** — isso
   avisa que alguém já está indo, sem tirar o chamado da tela.
5. Ao concluir, toque em **Finalizar atendimento**.
6. Se um chamado foi aberto por engano ou não é mais necessário, toque em
   **Cancelar** (você pode informar o motivo, opcional).
7. Botão **💬 Chat** em cada chamado abre uma conversa de texto com o
   paciente daquele quarto — um número ao lado do botão avisa quantas
   mensagens novas chegaram enquanto estava fechado (sem som extra).
   Fecha sozinho quando o chamado é finalizado ou cancelado.
8. Chamados que demoram demais mudam de cor e aparecem também para a
   Supervisão automaticamente — não é preciso fazer nada além de atender
   normalmente assim que possível.

## Postos (Enfermagem, Copa e Rouparia)

O hospital pode ter mais de um posto por setor (ex.: Enfermagem Ala A/Ala
B, Copa Ala A...). Seu login já vem vinculado a um posto — você só vê e
atende os chamados do seu próprio posto, do seu setor. Se um quarto ainda
não tiver sido cadastrado em nenhum posto daquele setor (pendência da
administração), o chamado dele aparece para **todos** os postos daquele
setor, para nunca ficar sem resposta.

## Para a Enfermagem especificamente

Além dos botões de atender/finalizar/cancelar, a tela de atendimento da
Enfermagem tem painéis colapsáveis no topo (clique para abrir) —
exclusivos da Enfermagem, não existem em Copa/Rouparia:

- **🚪 Quartos:** um botão por quarto, só com o número (num leito de
  enfermaria com vários leitos, o número já vem com o leito junto, ex.:
  "E101 Leito 01"). Toque num pra abrir uma **tela própria** só daquele
  quarto: acuidade, status de ocupação, rondas (se estiver Ocupado) e a
  medicação agendada, já ordenada com a **próxima dose no topo**
  (atualiza sozinha ao agendar uma nova medicação ou marcar alguma como
  administrada). Use o botão **← Voltar** do cabeçalho pra retornar à
  lista. É a forma mais rápida de ver a situação completa de um quarto
  sem abrir os painéis abaixo um por um — que continuam existindo, pra
  quem prefere ver todos os quartos de um tipo de informação de uma vez
  (ex.: todas as medicações agendadas juntas).
- **🩹 Acuidade dos pacientes por quarto:** marque cada quarto como
  Estável, Atenção ou Crítico — ajuda a priorizar visualmente numa
  ronda, mesmo sem chamado aberto.
- **🛏️ Status de ocupação por quarto:** marque cada quarto como
  Ocupado, Alta hospitalar ou Liberado. Quarto recém-cadastrado nasce
  **Liberado** (o admin ainda não colocou ninguém ali). **Atenção:**
  marcar como Liberado limpa a agenda de medicação daquele quarto (pede
  confirmação antes) — o sistema pede confirmação porque isso não pode
  ser desfeito pela tela; use quando o quarto ficar vazio de verdade,
  pro próximo paciente não herdar a agenda do anterior.
- **📋 Checklist de rondas:** só lista quartos marcados como **Ocupado**
  — sem paciente, não tem o que rondar. Toque em **✓ Registrar ronda**
  ao passar em cada quarto. O card fica verde enquanto estiver dentro do
  intervalo esperado (configurável pela Administração, inclusive com
  intervalo diferente por horário — ex.: mais frequente à noite) e vira
  amarelo/vermelho conforme atrasa. Se a Administração exigir QR Code
  pra esse posto, o botão abre a câmera primeiro — aponte pro QR Code já
  colado no quarto (o mesmo do paciente) pra confirmar a ronda; se a
  câmera não for suportada nesse aparelho, dá pra continuar sem QR (o
  registro nunca fica bloqueado por isso).
- **💊 Medicação agendada:** cadastre o horário para cada quarto — o
  nome do medicamento é sempre opcional (útil pra lembrete de horário
  sem remédio específico); se a Administração desligar o campo pro
  posto, ele nem aparece no formulário. Escolha a **Recorrência**:
  **Fixo** (repete todo dia no mesmo horário), **Recorrente** (repete
  de N em N horas — ex.: de 6 em 6h — a partir do horário da primeira
  dose) ou **Uma vez** (administração única — some da lista assim que
  administrada, não repete). 5 minutos antes de cada horário, um aviso
  aparece nesta tela e também na tela de parede, com quarto e nome do
  remédio. Toque em **Preparando medicação** ao começar a preparar e em
  **Medicação administrada** ao aplicar — se a Administração habilitar
  o **nº de registro do enfermeiro** (ex.: COREN) pro posto, um campo
  opcional pra digitar esse número aparece antes de confirmar. No modo
  Fixo o ciclo reseta sozinho pro dia seguinte, no Recorrente pro
  horário atual + intervalo, e no Uma vez não reseta (a linha só some
  da lista).
- **Chamada de áudio:** quando um paciente tocar **📞 Falar com a
  Enfermagem**, um aviso "📞 Quarto X está chamando" aparece no topo da
  tela — toque em **Atender** (o navegador pede o microfone) ou
  **Recusar**. Durante a chamada dá pra silenciar o microfone ou
  encerrar.

## Para a Supervisão

1. Antes de tudo, configure em **⚙️ Meus setores**
   (`/atendimento/supervisor/escopo`) quais postos você acompanha — de
   qualquer setor (Enfermagem, Copa ou Rouparia). Sem nada marcado ali,
   você não vê fila nem relatório nenhum: o padrão é não mostrar nada até
   você escolher.
2. A tela principal (`/dashboard/supervisor`) mostra uma **coluna por
   posto** que você escolheu acompanhar, com a quantidade de chamados em
   espera em cada uma. Dá pra ver de relance qual fila está sobrecarregada.
3. Clique em **📊 Relatórios e SLA** para abrir uma tela com um botão pra
   cada relatório:
   - **Relatórios e SLA**: quantidade de chamados por posto, tempo médio
     de resposta, **% dentro do SLA de atendimento e % dentro do SLA de
     finalização** (dois números independentes, lado a lado), volume e
     espera média por turno (Manhã/Tarde/Noite), carga de atendimento
     por funcionário, e a lista de chamados pendentes agora.
   - **🛏️ Taxa de ocupação de quartos**: números de % Ocupado/Alta
     hospitalar/Liberado, gráfico com a curva de ocupação ao longo do
     tempo + linha de tendência, e % de ocupação por quarto individual.

   Cada um tem seu próprio filtro de período (não é compartilhado entre
   os dois) — o botão **🕐** no canto da tela mostra o período atual; ao
   clicar, abre um painel com atalhos rápidos agrupados (Recentes,
   Período atual, Período anterior: 24h, 48h, 72h, 15 dias, último
   trimestre, esta semana/mês/ano, semana/mês/ano anterior) e, do lado
   esquerdo, campos **De**/**Até** pra escolher um período personalizado
   à mão.
4. Chamados escalados (que passaram do limite de tempo até serem
   atendidos) aparecem destacados em vermelho. Se continuarem sem
   atendimento por mais um limite inteiro, sobem automaticamente pra
   Administração (selo "🔺 Escalado à Administração"). Um chamado já
   atendido que está demorando demais pra ser **finalizado** ganha um
   selo diferente, "⏱️ Demorando para finalizar" — nesse caso não sobe
   pra Administração, é só um aviso pra Supervisão mesmo.
5. A Supervisão pode atender, finalizar ou cancelar qualquer chamado dos
   postos do seu escopo diretamente, se necessário.

## Para a Administração (cadastro)

Acesso em `/admin`, só para logins com papel Administração. Não opera
chamados — só cadastro:

1. **Postos** (`/admin/postos`): criar postos de Enfermagem, Copa ou
   Rouparia (escolha o setor na hora de criar), com **andar** opcional
   (só texto livre, pra facilitar localizar o posto — não afeta
   roteamento de chamados). Botão **Editar** permite corrigir o nome e o
   andar a qualquer momento (útil se o local mudar — não muda o setor,
   só o nome/andar).
2. **Quartos** (`/admin/quartos`): criar quartos e definir, pra cada um,
   qual posto de cada setor (Enfermagem, Copa, Rouparia) recebe os
   chamados dele — três seletores independentes por quarto, mudam na
   hora — além de **ala** e **andar** opcionais. Botão **Editar** corrige
   número, ala e andar (⚠️ mudar o número troca o link do QR Code —
   qualquer cartaz já impresso com o número antigo para de funcionar,
   então gere um novo QR Code depois). Botão **🔗 QR Code** abre um
   cartaz pronto pra imprimir (ou salvar como PDF, pelo diálogo de
   impressão do navegador) e colar na parede do quarto. A seção **🛏️
   Cadastrar quartos em lote** cria uma faixa inteira de uma vez —
   informe o **número inicial** e o **número final** (ex.: 101 a 110 cria
   os quartos "101" a "110"); pra enfermarias com vários leitos por
   quarto físico, preencha também o **prefixo** (ex.: prefixo "E101" +
   números "01" a "03" cria "E101 Leito 01", "E101 Leito 02", "E101 Leito
   03") — cada quarto/leito criado tem QR Code e fila próprios. Acima da
   tabela, uma barra de **filtro** (busca por número, ala, andar, status)
   ajuda a achar um quarto específico conforme a lista cresce.
3. **Usuários** (`/admin/usuarios`): criar login para cada permissão —
   Enfermagem, Copa e Rouparia (escolhendo o posto do setor
   correspondente), Supervisão, Administração —, ativar/desativar e
   trocar senha. Botão **Editar** corrige nome, login, a **Permissão**
   (trocar de Enfermagem/Copa/Rouparia/Supervisão/Administração — se a
   nova permissão exigir posto, escolha o posto na hora) e o posto
   atribuído. Toda senha (na criação e em "Trocar senha") precisa ter
   pelo menos 12 caracteres, com letra maiúscula, minúscula, número e
   caractere especial, e não pode conter o nome da pessoa, o setor
   (Enfermagem/Copa/Rouparia/Supervisão/Administração) nem "Unimed" — o
   formulário mostra o que ainda falta enquanto você digita.
4. **Dispositivos de emergência** (`/admin/dispositivos`): cadastrar os
   botões/cordões IoT físicos, vinculando cada um a um quarto. A chave de
   acesso do dispositivo é gerada automaticamente e mostrada **uma única
   vez** num aviso destacado — copie e grave no dispositivo físico na
   hora, ela não pode ser recuperada depois (só gerar uma nova, em "Gerar
   nova chave", se for perdida). Botão **Editar** corrige a descrição ou
   reatribui o dispositivo pra outro quarto (ex.: se ele for fisicamente
   remanejado).
5. **Limites de SLA** (`/admin/sla`): dois tempos (minutos) independentes
   por setor — **Atendimento** (até alguém dar ciência do chamado) e
   **Finalização** (entre dar ciência e finalizar). Um valor padrão vale
   pra todo mundo em cada fase; dá pra cadastrar uma substituição só pra
   um posto específico (de qualquer um dos três setores), numa fase de
   cada vez.
6. **Rondas** (`/admin/rondas`): por posto de Enfermagem (ou um padrão
   global pra quem não tem substituição própria), liga/desliga a
   checagem de ronda, exige (ou não) leitura de QR Code pra confirmar, e
   define o intervalo esperado entre rondas — que pode ter valores
   diferentes por faixa de horário (ex.: 30min à noite, 60min de dia).
7. **Medicação** (`/admin/medicacao`): por posto de Enfermagem (ou um
   padrão global), liga/desliga a Agenda de Medicação inteira, e define
   se o campo "Medicamento" aparece no agendamento (desligado, some do
   formulário — a equipe agenda só um lembrete de horário, sem remédio
   específico; quando aparece, é sempre opcional, nunca obrigatório).
   Também define se o campo "nº de registro do enfermeiro" (ex.: COREN)
   aparece ao marcar uma medicação como administrada — desligado por
   padrão; quando ligado, é sempre opcional, nunca obrigatório.
8. **Escalonamento** (`/admin/escalonamento`): mostra todo chamado
   `ESCALADO` do hospital inteiro, de qualquer posto/setor — é o
   backstop final, útil principalmente se algum posto ainda não tiver
   supervisor configurado pra ele em "Meus setores".
9. **Relatórios** (`/admin/relatorios`): os mesmos números gerenciais e
   gráficos da tela "Relatórios e SLA" da Supervisão (item 3 acima,
   incluindo a taxa de ocupação de quartos e o filtro de período), mas
   sem restrição de escopo — mostra todos os postos do hospital de uma
   vez, mesmo os que nenhum supervisor acompanha ainda.
10. **Visualizar como** (`/admin/visualizar`): abre a tela de qualquer
   posto/setor, da Supervisão, ou de qualquer quarto (tela do paciente),
   sem precisar logar com outra conta — útil pra conferir rapidamente se
   um cadastro novo está funcionando.

## Modo escuro

O botão 🌙/☀️ no topo de qualquer tela alterna entre modo claro e escuro —
útil para uso noturno. A escolha fica salva no navegador.

## Central de Ajuda

O botão **❓ Ajuda**, no canto superior direito de qualquer tela
(inclusive a de login), abre a documentação completa do sistema,
organizada por público (equipe, gestão, comercial, TI). Dá pra ler
direto no navegador ou baixar o arquivo. Tem também um tópico
**Treinamento em vídeo**, com um vídeo curto por área do sistema
(Paciente, Login, Enfermagem, Copa/Rouparia, Supervisão e
Administração) — bom pra capacitar rápido alguém que está começando.

## Problemas comuns

- **"Reconectando..." não sai da tela:** verifique a conexão de rede do
  dispositivo; o sistema reconecta sozinho assim que a rede voltar, os
  chamados não se perdem (ficam salvos no servidor independente da
  conexão do navegador).
- **Esqueci minha senha:** peça para um Administrador trocar em
  `/admin/usuarios` (não há autoatendimento).
- **QR Code não abre / "Página não encontrada":** o quarto pode estar
  marcado como inativo no sistema, ou o QR Code é de outro ambiente
  (teste vs. produção). Avise a TI.
- **Chamado de um setor não aparece pra ninguém:** confira em
  `/admin/quartos` se o quarto tem um posto atribuído para aquele setor
  (Enfermagem, Copa ou Rouparia) — sem posto, o chamado só aparece na
  fila "sem posto" daquele setor (visível por todos os postos do setor,
  mas fácil de passar despercebido se ninguém souber que ela existe).
- **"Falar com a Enfermagem" não conecta:** confirme que o navegador tem
  permissão de microfone pro site (ícone de cadeado na barra de
  endereço). Em redes com firewall muito restritivo (algumas redes
  corporativas), a chamada pode não conseguir se conectar diretamente —
  é uma limitação de infraestrutura (sem servidor de retransmissão
  configurado), não do aplicativo em si; nesse caso use os botões de
  chamado normais.
