-- ============================================================
--  MIGRATION – Tabel Peningkatan Mutu (Koleksi Data & Action Plan)
--  Database  : mutu_rskhjt
--  Dibuat    : 2026-09-11
-- ============================================================

USE mutu_rskhjt;

-- 1. TABEL DEFINISI INDIKATOR MUTU
CREATE TABLE IF NOT EXISTS `indikator_mutu_master` (
    `id`                   INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `judul_indikator`      VARCHAR(255) NOT NULL,
    `definisi_operasional` TEXT         NOT NULL,
    `target_persen`        DECIMAL(5,2) NOT NULL DEFAULT 85.00,
    `unit`                 VARCHAR(100) NOT NULL DEFAULT 'Keperawatan',
    `created_at`           DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. TABEL TRANSAKSI / INPUTAN MUTU BULANAN
CREATE TABLE IF NOT EXISTS `indikator_transaksi` (
    `id`                   INT UNSIGNED NOT NULL AUTO_INCREMENT,
    `indikator_id`         INT UNSIGNED NOT NULL,
    `numerator`            INT UNSIGNED NOT NULL DEFAULT 0,
    `denominator`          INT UNSIGNED NOT NULL DEFAULT 0,
    `hasil_formula`        DECIMAL(5,2) NOT NULL DEFAULT 0.00,
    `status_ketercapaian`  ENUM('Tercapai', 'Tidak Tercapai') NOT NULL DEFAULT 'Tercapai',
    `action_plan`          TEXT         NULL,
    `deadline`             DATE         NULL,
    `pic_penanggung_jawab` VARCHAR(150) NULL,
    `bulan`                TINYINT UNSIGNED NOT NULL DEFAULT 5, -- 1-12
    `tahun`                YEAR NOT NULL DEFAULT 2024,
    `created_at`           DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `idx_indikator_id` (`indikator_id`),
    CONSTRAINT `fk_trans_indikator`
        FOREIGN KEY (`indikator_id`) REFERENCES `indikator_mutu_master` (`id`)
        ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ============================================================
-- SEEDER DATA AWAL
-- ============================================================

INSERT IGNORE INTO `indikator_mutu_master` (`id`, `judul_indikator`, `definisi_operasional`, `target_persen`, `unit`) VALUES
(1, 'Kepatuhan Kebersihan Tangan (Hand Hygiene) Perawat Terhadap 5 Momen WHO', 'Persentase tindakan pembersihan tangan yang benar oleh tenaga keperawatan yang diobservasi secara acak selama periode pelayanan medis per 5 momen kebersihan tangan WHO.', 85.00, 'Keperawatan & Rawat Inap'),
(2, 'Kepatuhan Penggunaan Alat Pelindung Diri (APD) Tenaga Medis', 'Persentase kepatuhan penggunaan APD sesuai standar oleh tenaga medis di area pelayanan berisiko tinggi.', 100.00, 'IGD & ICU'),
(3, 'Kepatuhan Identifikasi Pasien Pada Saat Pemberian Obat', 'Persentase verifikasi minimal 2 identitas pasien sebelum tindakan pemberian obat di unit pelayanan.', 100.00, 'Farmasi & Rawat Inap');

-- Seed Tren Bulanan (Mei, Jun, Jul, Agt, Sep, Okt) untuk Indikator ID 1
INSERT IGNORE INTO `indikator_transaksi` 
(`id`, `indikator_id`, `numerator`, `denominator`, `hasil_formula`, `status_ketercapaian`, `action_plan`, `deadline`, `pic_penanggung_jawab`, `bulan`, `tahun`) VALUES
(1, 1, 156, 200, 78.00, 'Tidak Tercapai', 'Sosialisasi ulang pentingnya hand hygiene di ruang perawatan.', '2024-06-15', 'Ns. Budi Santoso, S.Kep', 5, 2024),
(2, 1, 162, 200, 81.00, 'Tidak Tercapai', 'Pemasangan poster 5 momen di setiap westafel.', '2024-07-15', 'Ns. Sri Wahyuni, S.Kep', 6, 2024),
(3, 1, 168, 200, 84.00, 'Tidak Tercapai', 'Penyediaan handrub otomatis di setiap pintu kamar pasien.', '2024-08-15', 'Ns. Sri Wahyuni, S.Kep', 7, 2024),
(4, 1, 176, 200, 88.00, 'Tercapai', 'Monitoring rutin oleh Karu Rawat Inap.', '2024-09-15', 'Ns. Sri Wahyuni, S.Kep', 8, 2024),
(5, 1, 172, 200, 86.00, 'Tercapai', 'Pertahankan capaian dan evaluasi berkala.', '2024-10-15', 'Ns. Sri Wahyuni, S.Kep', 9, 2024),
(6, 1, 174, 200, 87.00, 'Tercapai', 'Melakukan re-edukasi perawat ruangan mengenai pentingnya Five Moments Hand Hygiene di ruang Melati, menyediakan handrub cadangan di setiap troli medis.', '2024-11-01', 'Ns. Sri Wahyuni, S.Kep', 10, 2024);

