FHM09062601IBL - update CLAUDE.md: tambah list migration PDP dan catatan DOB VARCHAR
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
27
CLAUDE.md
27
CLAUDE.md
@@ -26,13 +26,16 @@ di-mask di kolom plain, nilai asli ada di kolom `_enc` (AES-256-GCM).
|
||||
|
||||
### Pola kolom PDP di m_patient
|
||||
|
||||
| Kolom plain | Isi plain | `_enc` | `_bidx` | Sumber bidx |
|
||||
|---|---|---|---|---|
|
||||
| `M_PatientName` | masked (`A*** B***`) | ✓ | ✓ | `M_PatientName` |
|
||||
| `M_PatientHP` | masked | ✓ | ✓ | `M_PatientHP` |
|
||||
| `M_PatientDOB` | masked | ✓ | ✓ | `M_PatientDOB` |
|
||||
| `M_PatientIDNumber` | masked (`1234**...**09`) | ✓ | — | — |
|
||||
| `M_PatientNIK` | plain (kosong/lama) | ✓ | ✓ | **`M_PatientIDNumber`** ← penting |
|
||||
| Kolom plain | Tipe | Isi plain | `_enc` | `_bidx` | Sumber bidx |
|
||||
|---|---|---|---|---|---|
|
||||
| `M_PatientName` | VARCHAR | masked (`A*** B***`) | ✓ | ✓ | `M_PatientName` |
|
||||
| `M_PatientHP` | VARCHAR | masked | ✓ | ✓ | `M_PatientHP` |
|
||||
| `M_PatientDOB` | **VARCHAR(20)** | masked (`**-**-YYYY`) | ✓ | ✓ | `M_PatientDOB` (format d-m-Y) |
|
||||
| `M_PatientIDNumber` | VARCHAR | masked (`1234**...**09`) | ✓ | — | — |
|
||||
| `M_PatientNIK` | VARCHAR | plain (kosong/lama) | ✓ | ✓ | **`M_PatientIDNumber`** ← penting |
|
||||
|
||||
`M_PatientDOB` diubah ke `VARCHAR(20)` (dari DATE) agar nilai masked `**-**-YYYY` bisa tersimpan.
|
||||
`_mask_dob($v)` menerima format `d-m-Y` dan mengembalikan `**-**-YYYY`.
|
||||
|
||||
**`M_PatientNIK_bidx` diisi dari `M_PatientIDNumber`**, bukan dari kolom `M_PatientNIK`.
|
||||
Ini pola yang dipakai `ibl_registration/Patient.php` dan `Registrationv3.php`.
|
||||
@@ -41,6 +44,16 @@ Search e[3] (format `Nama+HP+DOB+NIK`) menggunakan `JSON_CONTAINS(M_PatientNIK_b
|
||||
Data lama yang disimpan sebelum pola ini diterapkan tidak akan punya `M_PatientNIK_bidx`
|
||||
— perlu di-save ulang atau backfill script untuk bisa dicari by IDNumber.
|
||||
|
||||
### Daftar migration PDP yang sudah diterapkan
|
||||
|
||||
| File | Keterangan |
|
||||
|---|---|
|
||||
| `sql/manual_changes/2026-05-31-pdp-encrypt-columns.sql` | Tambah kolom `_enc` dan `_bidx` di m_patient, m_patientaddress, log tables |
|
||||
| `sql/manual_changes/2026-05-31-pdp-update-triggers-enc.sql` | Update trigger untuk populate `_enc` |
|
||||
| `sql/manual_changes/2026-06-08-pdp-fo-birt-sp-patient-print-cache.sql` | SP cache untuk BIRT |
|
||||
| `sql/manual_changes/2026-06-11-alter-m-patient-dob-to-varchar.sql` | Ubah `M_PatientDOB` DATE → VARCHAR(20) |
|
||||
| `sql/manual_changes/2026-06-11-alter-mcu-preregister-dob-to-varchar.sql` | Ubah `Mcu_PreregisterPatientsDOB` DATE → VARCHAR(20) |
|
||||
|
||||
### Pola wajib: PHP Proxy Stream
|
||||
|
||||
BIRT membaca dari tabel `patient_print_cache`. Cache harus di-populate PHP sebelum BIRT
|
||||
|
||||
Reference in New Issue
Block a user