From 620c8b051d1c2c13cf670a47adfd56cd782a7cc7 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Sun, 31 May 2026 18:16:29 +0700 Subject: [PATCH] FHM31052601IBL - update runbook: disk space warning, patient_print_cache, sp_rpt_t_002_eng Co-Authored-By: Claude Sonnet 4.6 --- docs/pdp-encryption-runbook.md | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/docs/pdp-encryption-runbook.md b/docs/pdp-encryption-runbook.md index 481d4e8a..10900b9e 100644 --- a/docs/pdp-encryption-runbook.md +++ b/docs/pdp-encryption-runbook.md @@ -135,6 +135,18 @@ mysql -e "SELECT COUNT(*) total, COUNT(M_PatientAddressDescription_enc) done --- +### Step 6b — Encrypt Address (m_patientaddress) + +```bash +# 357 baris tersisa di dev — jalankan sampai selesai di prod +php scripts/migrate_address_enc.php + +# Verifikasi +mysql -e "SELECT COUNT(*) total, COUNT(M_PatientAddressDescription_enc) done FROM one_lab.m_patientaddress;" +``` + +--- + ### Step 7 — Encrypt Tujuan Pengiriman Hasil (t_orderdelivery) ```bash @@ -168,6 +180,46 @@ mysql -e "SELECT M_PatientID, M_PatientName, M_PatientHP, M_PatientEmail --- +### Step 8b — Buat patient_print_cache (untuk BIRT decrypt) + +```bash +mysql one_lab < sql/manual_changes/2026-05-31-pdp-birt-sp-cache-join.sql +``` + +Tabel ini dibutuhkan oleh: +- 6 SP header BIRT (sp_rpt_hasil_header, _2, _eng, sp_rpt_fo_001, sp_rpt_card_patient, sp_rpt_t_002) +- Birt_proxy.php controller +- Ibl_patient_decrypt library +- Qr_report_uploader, Ibl_merge_report_gateway, send_email.php + +--- + +### Step 8c — Update sp_rpt_t_002_eng (jika dipakai) + +```bash +# Cek apakah sp_rpt_t_002_eng ada +mysql -e "SHOW PROCEDURE STATUS WHERE Db='one_lab' AND Name='sp_rpt_t_002_eng'\G" +# Jika ada, update manual dengan LEFT JOIN ke patient_print_cache +# (sama seperti sp_rpt_t_002 di 2026-05-31-pdp-birt-sp-cache-join.sql) +``` + +--- + +### Catatan Disk Space untuk Production + +> ⚠️ **Sangat penting**: Pastikan disk minimal **10GB free** sebelum mulai. +> Trigger m_patient + m_patientaddress nulis ke log_patient setiap UPDATE. +> Untuk migration + masking 178K+133K rows → log bisa 2-3GB. +> +> **Strategi aman**: +> 1. DROP trigger dulu (`vm_patient_ai`, `vm_patient_bu`, `m_patientaddress_ai`, `m_patientaddress_bu`) +> 2. Jalankan semua migration + masking scripts +> 3. Recreate trigger: `mysql one_lab < sql/manual_changes/2026-05-31-pdp-update-triggers-enc.sql` +> +> File trigger SQL ada di: `sql/manual_changes/2026-05-31-pdp-update-triggers-enc.sql` + +--- + ### Step 9 — Truncate Log Lama (Opsional tapi Direkomendasikan) ```bash