-- Migration v99: Integração Orthanc — DICOM Worklist + Storage SCP
-- Adiciona colunas em pacs_laudos e tabela de modalidades


-- ─────────────────────────────────────────────────────────────────────────────
-- 1. Colunas Orthanc em pacs_laudos
-- ─────────────────────────────────────────────────────────────────────────────
ALTER TABLE `pacs_laudos`
    ADD COLUMN IF NOT EXISTS `orthanc_study_uid`    VARCHAR(64)  DEFAULT NULL COMMENT 'ID interno do Orthanc (recurso /studies/{id})',
    ADD COLUMN IF NOT EXISTS `dicom_study_uid`      VARCHAR(64)  DEFAULT NULL COMMENT 'DICOM Study Instance UID (0020,000D)',
    ADD COLUMN IF NOT EXISTS `orthanc_sincronizado` TINYINT(1)   NOT NULL DEFAULT 0 COMMENT '0=aguardando imagens, 1=imagens recebidas via C-STORE';

ALTER TABLE `pacs_laudos`
    ADD INDEX IF NOT EXISTS `idx_pacs_orthanc_uid` (`orthanc_study_uid`),
    ADD INDEX IF NOT EXISTS `idx_pacs_dicom_uid`   (`dicom_study_uid`);

-- ─────────────────────────────────────────────────────────────────────────────
-- 2. Tabela de modalidades DICOM (CT, RX, MRI, US...)
-- ─────────────────────────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `pacs_modalidades` (
    `id`          INT AUTO_INCREMENT PRIMARY KEY,
    `clinica_id`  INT NOT NULL DEFAULT 1,
    `nome`        VARCHAR(80)  NOT NULL COMMENT 'Nome amigável (ex: TC Sala 1)',
    `aetitle`     VARCHAR(16)  NOT NULL COMMENT 'AE Title da modalidade (ex: CT_SALA1)',
    `ip`          VARCHAR(45)  NOT NULL COMMENT 'IP da modalidade',
    `porta`       SMALLINT UNSIGNED NOT NULL DEFAULT 104 COMMENT 'Porta DICOM',
    `tipo`        ENUM('rx','tc','rm','us','eco','mamografia','outros') NOT NULL DEFAULT 'outros',
    `status`      TINYINT(1) NOT NULL DEFAULT 1,
    `created_at`  DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at`  DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX `idx_modalidade_clinica` (`clinica_id`),
    UNIQUE KEY `uq_aetitle_clinica` (`clinica_id`, `aetitle`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ─────────────────────────────────────────────────────────────────────────────
-- 3. Permissão para gerenciar modalidades e configuração Orthanc
-- ─────────────────────────────────────────────────────────────────────────────
INSERT IGNORE INTO `permissoes` (`nome`, `chave`, `descricao`) VALUES
('PACS — Gerenciar Modalidades', 'pacs_modalidades', 'Cadastrar e editar modalidades DICOM (CT, RX, MRI...)');

INSERT IGNORE INTO `perfil_permissoes` (`perfil_id`, `permissao_id`)
SELECT 1, id FROM `permissoes` WHERE `chave` = 'pacs_modalidades';

SELECT 'Migration v99 aplicada com sucesso.' AS resultado;
