Pular para o conteúdo
⬇ Baixar .md

Conformidade regulatória

Plano de conformidade regulatória

Mapeamento entre as normas relevantes para um sistema de chamados de emergência hospitalar e os controles concretos implementados neste projeto. Este documento é um ponto de partida técnico, não um parecer jurídico — validar com o setor de compliance/jurídico da Unimed Norte Fluminense antes de operar com pacientes reais.

ANS (Agência Nacional de Saúde Suplementar)

Correção em relação à especificação original: a ANS regula operadoras de planos de saúde (registro de ocorrências e auditoria no contexto de prestação de serviço ao beneficiário/plano), não infraestrutura predial ou sistemas internos de sinalização hospitalar. Não há uma norma ANS específica que este sistema precise cumprir diretamente. O que se aplica é indireto: se a Unimed NF, como operadora, precisar demonstrar à ANS processos de qualidade assistencial, os relatórios de SLA/tempo de resposta deste sistema (/dashboard/supervisor/relatorios) podem servir como evidência operacional — mas isso é benefício, não obrigação regulatória direta deste sistema.

ANVISA — RDC 50/2002

Norma: trata "sinalização de enfermagem" como sistema predial obrigatório em estabelecimentos de saúde.

Controle implementado:

  • QR Code por quarto (/chamar/[numeroQuarto]) + botão físico de emergência cobrem os dois modos de acionamento exigidos em espírito pela norma (visual/manual e automático).
  • Alarme visual e sonoro nos dashboards (useAlarmeSonoro, ChamadoCard com destaque visual para chamados urgentes/escalados).
  • Registro de hora de chamada, hora de atendimento e hora de finalização (Chamado.criadoEm/atendidoEm/finalizadoEm) para auditoria de resposta.

Pendência: o hardware IoT (firmware ESP32 em firmware/esp32-botao-emergencia/) é um protótipo, não um dispositivo médico/predial certificado — ver "Homologação ANATEL" abaixo antes de qualquer instalação real.

NBR 9050 (Acessibilidade)

Norma: exige alarme audiovisual acionável em banheiros/quartos acessíveis.

Controle implementado:

  • Botão físico de emergência com feedback local (LED + buzzer) além do alarme no dashboard central.
  • Interface (/chamar/[numeroQuarto]) com alvos de toque grandes (≥44px), alto contraste, textos claros — ver docs/documentacao-tecnica.md seção de acessibilidade (WCAG 2.1) para os detalhes técnicos.

Pendência: a instalação física do botão/cordão (altura, alcance, localização) em banheiros/quartos acessíveis é responsabilidade da equipe de infraestrutura predial no momento da instalação, não algo que o software controla.

CFM — Resolução 1.821/2007 (Guarda e auditoria de prontuário eletrônico)

Norma: exige guarda permanente e log de acesso para prontuário eletrônico.

Controle implementado: este sistema não é um prontuário eletrônico (não armazena dados clínicos), mas aplica o mesmo padrão de auditoria imutável por analogia, já que registra atendimento a pacientes:

  • EventoAuditoria é a trilha de auditoria: toda transição de um chamado (criado, atendido, finalizado, escalado, de-escalado, cancelado) gera um registro, escrito exclusivamente por src/lib/chamados/auditoria.ts#registrarEvento (único ponto de escrita, sempre INSERT).
  • Aplicado a nível de banco, não só de convenção de código: a migração prisma/migrations/20260813000001_lockdown_auditoria/migration.sql revoga UPDATE/DELETE em EventoAuditoria da role de runtime do app (chamados_app). Mesmo um bug ou comprometimento da aplicação não consegue alterar/apagar um evento já gravado — só a role de migração (chamados_migrate, usada apenas por humanos rodando prisma migrate, nunca pelo processo do app em produção) tem esse privilégio.
  • Nenhuma expiração/limpeza automática de EventoAuditoria.

LGPD (Lei Geral de Proteção de Dados)

Papéis: a Unimed Norte Fluminense é controladora dos dados tratados por este sistema; a equipe/fornecedor que opera a infraestrutura (se terceirizada) seria operadora.

Dados pessoais tratados: apenas o necessário para o fluxo de atendimento — número do quarto (não identifica o paciente por si só), nome de usuário e papel dos funcionários que atendem os chamados. Não há coleta de nome, CPF, prontuário ou qualquer outro dado pessoal do paciente.

Controles implementados:

  • Minimização de dados: só o número do quarto identifica a origem do chamado, nunca o paciente.
  • Controle de acesso por papel (RBAC): middleware.ts garante que cada setor (ENFERMARIA/COPA/ROUPARIA) só acessa o próprio dashboard; SUPERVISOR vê todos. Reforçado nas rotas de API por src/lib/chamados/acesso.ts#papelPodeAgirNoTipo.
  • Senhas com hash (bcryptjs, nunca texto puro), nunca logadas.
  • Criptografia em trânsito: HTTPS obrigatório em produção via proxy reverso Caddy (deploy/Caddyfile), com HSTS habilitado.
  • Criptografia em repouso: depende da configuração de disco do servidor/volume do Postgres (responsabilidade de infraestrutura — ver docs/arquitetura.md); recomenda-se disco criptografado na VM/host de produção.
  • Direito de acesso/retificação: como não há dados pessoais de pacientes armazenados, não há prontuário de paciente para acesso/portabilidade dentro deste sistema. Dados de funcionários (Usuario) podem ser consultados/corrigidos via acesso direto ao banco pela equipe de TI (não há tela de autoatendimento — volume de usuários é pequeno o suficiente para não justificar isso agora).

Boas práticas de auditoria hospitalar

  • Relatórios gerenciais (/dashboard/supervisor/relatorios): chamados por setor, tempo médio de resposta, pendentes, % dentro do SLA configurado.
  • Escalonamento automático (src/lib/escalonamento/job.ts): chamados que ultrapassam o limite do próprio tipo são sinalizados ao supervisor automaticamente — nenhum chamado "morre" por estação vazia.
  • Ver docs/plano-de-backup-e-recuperacao.md para a política de backup que protege a integridade histórica dos dados de auditoria.

Resumo de pendências antes de operar com pacientes reais

  1. Homologação ANATEL de qualquer hardware IoT de rádio instalado fisicamente (o firmware atual é protótipo — ver firmware/esp32-botao-emergencia/README.md).
  2. Validação jurídica/compliance formal deste documento pela Unimed NF.
  3. Teste de carga e revisão de segurança formais (não incluídos nesta reconstrução — ver docs/documentacao-tecnica.md).
  4. Confirmar criptografia em repouso do volume do banco de dados em produção (depende do provedor/infra escolhido).