-- Migration v72: Triagem Manchester
-- Classificação de risco na admissão de emergência

CREATE TABLE IF NOT EXISTS `triagem_manchester` (
  `id`             int(11)      NOT NULL AUTO_INCREMENT,
  `clinica_id`     int(11)      NOT NULL,
  `paciente_id`    int(11)      NOT NULL,
  `usuario_id`     int(11)      DEFAULT NULL,
  `classificacao`  ENUM('vermelho','laranja','amarelo','verde','azul') NOT NULL,
  `queixa_principal` varchar(200) NOT NULL,
  `discriminador`  varchar(150) DEFAULT NULL COMMENT 'Discriminador Manchester que levou à classificação',
  `pressao_sistolica`  smallint DEFAULT NULL,
  `pressao_diastolica` smallint DEFAULT NULL,
  `frequencia_cardiaca` smallint DEFAULT NULL,
  `frequencia_respiratoria` smallint DEFAULT NULL,
  `temperatura`    decimal(4,1) DEFAULT NULL,
  `saturacao`      tinyint      DEFAULT NULL,
  `glicemia`       smallint     DEFAULT NULL,
  `escala_dor`     tinyint      DEFAULT NULL,
  `nivel_consciencia` ENUM('alerta','voz','dor','inconsciente') DEFAULT NULL,
  `observacoes`    text         DEFAULT NULL,
  `data_triagem`   datetime     NOT NULL,
  `atendido_em`    datetime     DEFAULT NULL COMMENT 'Quando o paciente foi chamado para atendimento',
  `status`         ENUM('aguardando','em_atendimento','atendido','desistiu') NOT NULL DEFAULT 'aguardando',
  `deleted_at`     datetime     DEFAULT NULL,
  `created_at`     datetime     DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_triagem_clinica`     (`clinica_id`, `status`),
  KEY `idx_triagem_paciente`    (`paciente_id`),
  KEY `idx_triagem_data`        (`data_triagem`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Permissões
INSERT IGNORE INTO `permissoes` (`chave`, `nome`, `descricao`) VALUES
('triagem_view',     'Triagem — Visualizar',  'Visualizar fila de triagem'),
('triagem_realizar', 'Triagem — Realizar',    'Realizar triagem de pacientes'),
('triagem_chamar',   'Triagem — Chamar',      'Chamar paciente para atendimento');

-- Conceder ao perfil administrador (1), médico (4), enfermagem (7), recepção (5)
INSERT IGNORE INTO `perfil_permissoes` (`perfil_id`, `permissao_id`)
SELECT p.id, pm.id FROM `perfis` p, `permissoes` pm
WHERE p.id IN (1,4,5,7) AND pm.chave IN ('triagem_view','triagem_realizar','triagem_chamar');
