-- UU PDP: tambah kolom enkripsi PII pasien dan data medis hasil lab -- Kolom lama TIDAK dihapus (backward compat selama masa transisi) -- Enkripsi: AES-256-GCM, key dari .env -- ============================================================ -- one_lab.m_patient: PII pasien (trigram bidx untuk search) -- ============================================================ ALTER TABLE one_lab.m_patient ADD COLUMN M_PatientName_enc TEXT NULL AFTER M_PatientName, ADD COLUMN M_PatientName_bidx MEDIUMTEXT NULL AFTER M_PatientName_enc, ADD COLUMN M_PatientHP_enc TEXT NULL AFTER M_PatientHP, ADD COLUMN M_PatientHP_bidx MEDIUMTEXT NULL AFTER M_PatientHP_enc, ADD COLUMN M_PatientDOB_enc TEXT NULL AFTER M_PatientDOB, ADD COLUMN M_PatientDOB_bidx MEDIUMTEXT NULL AFTER M_PatientDOB_enc, ADD COLUMN M_PatientEmail_enc TEXT NULL AFTER M_PatientEmail, ADD COLUMN M_PatientPhone_enc TEXT NULL AFTER M_PatientPhone, ADD COLUMN M_PatientPOB_enc TEXT NULL AFTER M_PatientPOB, ADD COLUMN M_PatientIDNumber_enc TEXT NULL AFTER M_PatientIDNumber, ADD COLUMN M_PatientNIK_enc TEXT NULL AFTER M_PatientNIK, ADD COLUMN M_PatientNIP_enc TEXT NULL AFTER M_PatientNIP; -- ============================================================ -- one_lab.m_patientaddress: alamat pasien -- ============================================================ ALTER TABLE one_lab.m_patientaddress ADD COLUMN M_PatientAddressDescription_enc TEXT NULL AFTER M_PatientAddressDescription, ADD COLUMN M_PatientAddressDescription_bidx MEDIUMTEXT NULL AFTER M_PatientAddressDescription_enc, ADD COLUMN M_PatientAddressEmail_enc TEXT NULL AFTER M_PatientAddressEmail, ADD COLUMN M_PatientAddressPhone_enc TEXT NULL AFTER M_PatientAddressPhone; -- ============================================================ -- one_lab.t_orderdetail: nilai hasil lab utama -- ============================================================ ALTER TABLE one_lab.t_orderdetail ADD COLUMN T_OrderDetailResult_enc TEXT NULL AFTER T_OrderDetailResult, ADD COLUMN T_OrderDetailNote_enc TEXT NULL AFTER T_OrderDetailNote; -- ============================================================ -- one_lab.t_orderheader: diagnosa dokter -- ============================================================ ALTER TABLE one_lab.t_orderheader ADD COLUMN T_OrderHeaderDiagnose_enc TEXT NULL AFTER T_OrderHeaderDiagnose; -- ============================================================ -- one_lab.so_resultentrydetail: hasil lab standar -- ============================================================ ALTER TABLE one_lab.so_resultentrydetail ADD COLUMN So_ResultEntryDetailResult_enc TEXT NULL AFTER So_ResultEntryDetailResult; -- ============================================================ -- one_lab.so_resultentrydetail_other: hasil lab nonstandar -- ============================================================ ALTER TABLE one_lab.so_resultentrydetail_other ADD COLUMN So_ResultEntryDetailOtherResult_enc TEXT NULL AFTER So_ResultEntryDetailOtherResult, ADD COLUMN So_ResultEntryDetailOtherResultBefore_enc TEXT NULL AFTER So_ResultEntryDetailOtherResultBefore; -- ============================================================ -- one_lab.so_resultentry_fisik_umum: JSON pemeriksaan fisik -- ============================================================ ALTER TABLE one_lab.so_resultentry_fisik_umum ADD COLUMN So_ResultEntryFisikUmumDetails_enc TEXT NULL AFTER So_ResultEntryFisikUmumDetails; -- ============================================================ -- one_lab.so_resultentry_fisik_summary: ringkasan fisik -- ============================================================ ALTER TABLE one_lab.so_resultentry_fisik_summary ADD COLUMN So_ResultEntryFisikSummaryValue_enc TEXT NULL AFTER So_ResultEntryFisikSummaryValue, ADD COLUMN So_ResultEntryFisikSummaryValue2_enc TEXT NULL AFTER So_ResultEntryFisikSummaryValue2; -- ============================================================ -- one_lab.so_resultentry_other: catatan hasil -- ============================================================ ALTER TABLE one_lab.so_resultentry_other ADD COLUMN So_ResultEntryOtherNote_enc TEXT NULL AFTER So_ResultEntryOtherNote; -- ============================================================ -- one_lab.so_resultentry_fisioterapi -- ============================================================ ALTER TABLE one_lab.so_resultentry_fisioterapi ADD COLUMN So_ResultEntdyFisioterapiDetails_enc TEXT NULL AFTER So_ResultEntdyFisioterapiDetails; -- ============================================================ -- one_lab.so_resultentry_smwt: hasil 6MWT -- ============================================================ ALTER TABLE one_lab.so_resultentry_smwt ADD COLUMN So_ResultentrySmwtWeight_enc TEXT NULL AFTER So_ResultentrySmwtWeight, ADD COLUMN So_ResultentrySmwtHeight_enc TEXT NULL AFTER So_ResultentrySmwtHeight, ADD COLUMN So_ResultentrySmwtBMI_enc TEXT NULL AFTER So_ResultentrySmwtBMI, ADD COLUMN So_ResultentrySmwtPreTensi_enc TEXT NULL AFTER So_ResultentrySmwtPreTensi, ADD COLUMN So_ResultentrySmwtPreSPO2_enc TEXT NULL AFTER So_ResultentrySmwtPreSPO2, ADD COLUMN So_ResultentrySmwtPreNadi_enc TEXT NULL AFTER So_ResultentrySmwtPreNadi, ADD COLUMN So_ResultentrySmwtPostTensi_enc TEXT NULL AFTER So_ResultentrySmwtPostTensi, ADD COLUMN So_ResultentrySmwtPostSPO2_enc TEXT NULL AFTER So_ResultentrySmwtPostSPO2, ADD COLUMN So_ResultentrySmwtPostNadi_enc TEXT NULL AFTER So_ResultentrySmwtPostNadi, ADD COLUMN So_ResultentrySmwtVOMax_enc TEXT NULL AFTER So_ResultentrySmwtVOMax, ADD COLUMN So_ResultentrySmwtKategoriKebugaran_enc TEXT NULL AFTER So_ResultentrySmwtKategoriKebugaran; -- ============================================================ -- one_lab.so_resultentry_srq29_conclusion: hasil SRQ-29 -- ============================================================ ALTER TABLE one_lab.so_resultentry_srq29_conclusion ADD COLUMN So_ResultentrySrq29ConclusionResult_enc TEXT NULL AFTER So_ResultentrySrq29ConclusionResult; -- ============================================================ -- one_lab.so_resultentrysdsinterpretation: interpretasi SDS -- ============================================================ ALTER TABLE one_lab.so_resultentrysdsinterpretation ADD COLUMN So_ResultEntrySDSInterpretationDisplay_enc TEXT NULL AFTER So_ResultEntrySDSInterpretationDisplay; -- ============================================================ -- one_lab.member_eligible: data BPJS / asuransi -- ============================================================ ALTER TABLE one_lab.member_eligible ADD COLUMN Member_EligibleDescription_enc TEXT NULL AFTER Member_EligibleDescription; -- ============================================================ -- one_lab_log.log_patient: audit log perubahan data pasien -- Fix charset ke utf8mb4 (default latin1 tidak support JSON UTF-8 dari trigger) -- ============================================================ ALTER TABLE one_lab_log.log_patient ADD COLUMN Log_PatientJsonBefore_enc MEDIUMTEXT NULL AFTER Log_PatientJsonBefore, ADD COLUMN Log_PatientJsonAfter_enc MEDIUMTEXT NULL AFTER Log_PatientJsonAfter; ALTER TABLE one_lab_log.log_patient MODIFY Log_PatientJsonBefore MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, MODIFY Log_PatientJsonAfter MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, MODIFY Log_PatientJsonBefore_enc MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, MODIFY Log_PatientJsonAfter_enc MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- ============================================================ -- one_lab_log.log_fo: audit log order FO -- ============================================================ ALTER TABLE one_lab_log.log_fo ADD COLUMN Log_FoJson_enc MEDIUMTEXT NULL AFTER Log_FoJson; -- ============================================================ -- one_lab_log.log_resultentry: audit log hasil lab -- ============================================================ ALTER TABLE one_lab_log.log_resultentry ADD COLUMN Log_ResultEntryJSONBefore_enc MEDIUMTEXT NULL AFTER Log_ResultEntryJSONBefore, ADD COLUMN Log_ResultEntryJSONAfter_enc MEDIUMTEXT NULL AFTER Log_ResultEntryJSONAfter;