-- Migration v74: AIH SUS — Autorização de Internação Hospitalar

CREATE TABLE IF NOT EXISTS `aih_sus` (
  `id`               int(11)      NOT NULL AUTO_INCREMENT,
  `clinica_id`       int(11)      NOT NULL,
  `internacao_id`    int(11)      DEFAULT NULL,
  `paciente_id`      int(11)      NOT NULL,
  `numero_aih`       varchar(20)  DEFAULT NULL,
  `tipo_aih`         ENUM('1','5') NOT NULL DEFAULT '1' COMMENT '1=Normal, 5=Longa Permanência',
  `cns_paciente`     varchar(20)  DEFAULT NULL COMMENT 'Cartão Nacional de Saúde',
  `cns_medico`       varchar(20)  DEFAULT NULL,
  `cid_principal`    varchar(10)  DEFAULT NULL,
  `cid_secundario`   varchar(10)  DEFAULT NULL,
  `cid_causas`       varchar(10)  DEFAULT NULL,
  `carater_internacao` ENUM('01','02','03','04','05') DEFAULT '01' COMMENT '01=Eletivo,02=Urgência',
  `procedimento_principal` varchar(20) DEFAULT NULL COMMENT 'Código SIGTAP',
  `data_internacao`  date         NOT NULL,
  `data_saida`       date         DEFAULT NULL,
  `motivo_saida`     ENUM('11','12','21','22','28','41','42','43','51','61','62') DEFAULT NULL,
  `valor_total`      decimal(10,2) DEFAULT NULL,
  `status`           ENUM('rascunho','enviada','autorizada','negada','cancelada') NOT NULL DEFAULT 'rascunho',
  `observacoes`      text         DEFAULT NULL,
  `usuario_id`       int(11)      DEFAULT NULL,
  `deleted_at`       datetime     DEFAULT NULL,
  `created_at`       datetime     DEFAULT current_timestamp(),
  `updated_at`       datetime     DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_aih_clinica`   (`clinica_id`, `status`),
  KEY `idx_aih_paciente`  (`paciente_id`),
  KEY `idx_aih_internacao`(`internacao_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT IGNORE INTO `permissoes` (`chave`, `nome`, `descricao`) VALUES
('aih_view',    'AIH SUS — Visualizar', 'Visualizar AIHs geradas'),
('aih_create',  'AIH SUS — Criar',      'Criar e editar AIH'),
('aih_enviar',  'AIH SUS — Enviar',     'Enviar AIH para faturamento');

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) AND pm.chave IN ('aih_view','aih_create','aih_enviar');
