Commit Graph

22 Commits

Author SHA1 Message Date
sas.fajri
a2d69d1618 FHM31052601IBL - search patient by nama/HP/DOB/NIK, hapus address bidx, tambah NIK bidx
- Search sekarang: nama, HP, DOB, NIK (alamat dihapus - boros disk)
- Tambah M_PatientNIK_bidx untuk search by NIK
- Migration script: NIK bidx + hapus address bidx dari m_patientaddress

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:15:33 +07:00
sas.fajri
e990609523 FHM31052601IBL - script masking kolom plaintext PII m_patient & m_patientaddress
Semua 300+ controller otomatis tampilkan data termasking tanpa perlu
diupdate satu-satu. Data asli tetap aman di kolom _enc.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:47:29 +07:00
sas.fajri
6c0394aea3 FHM31052601IBL - migration script enkripsi t_orderdelivery destination
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:32:54 +07:00
sas.fajri
17a788baac FHM31052601IBL - update FO registration controllers: decrypt PII sebelum return response
- Payment, History, Delivery: load ibl_encryptor, decrypt Name/Email/HP
- Order, Order copy: decrypt patient_name di get_header & get_order_header
- Order: pre-fetch decrypt email/HP sebelum UNION delivery query
- Order: enkripsi T_OrderDeliveryDestination saat INSERT, decrypt saat SELECT
- SQL: tambah kolom T_OrderDeliveryDestination_enc
- migrate_encrypt_results: tambah migrasi t_orderdelivery

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:31:54 +07:00
sas.fajri
2d7151b154 FHM31052601IBL - fix syntax migrate_encrypt_results.php compat PHP 7.2
Ganti arrow function fn() ke closure biasa karena server pakai PHP 7.2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:12:58 +07:00
sas.fajri
c410d7bbd9 FHM31052601IBL - implementasi enkripsi PII pasien dan data medis (UU PDP)
- Tambah .env loader di index.php untuk IBL_ENCRYPT_KEY dan IBL_ENCRYPT_SEARCH_KEY
- Library Ibl_encryptor: AES-256-GCM encrypt/decrypt + trigram blind index untuk partial search
- SQL migration: tambah kolom _enc dan _bidx di 16 tabel (m_patient, m_patientaddress, hasil lab, log)
- Script backup_pdp_tables.sh: backup tabel terdampak sebelum migrasi
- Script migrate_encrypt_patient.php: enkripsi batch 178K data PII pasien
- Script migrate_encrypt_results.php: enkripsi data medis hasil lab dan log
- Patient.php: search via trigram blind index, add_new/edit enkripsi sebelum save

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:07:42 +07:00
sas.fajri
fd9511171b FHM29052601IBL - implement ibl_merge_report_service Go service
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 15:39:51 +07:00
sas.fajri
6dec35217f Align status flow: D=Draft S=Sending P=Process R=Received E=Error C=Cancel
Script picks S, locks to P, sets R on success.
On failure: back to S for retry; after max retry (3) sets E and logs to one_lab_log.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 22:07:51 +07:00
sas.fajri
409c156310 Set status P (processing) before send, revert to S on failure
Prevents UI re-trigger while email is in flight. Status flow:
S (scheduled) → P (processing) → D (delivered) / S (failed, retryable)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 22:04:06 +07:00
sas.fajri
d83f0f303b Insert send log to one_lab_log.t_send_email_log with correct schema
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:59:42 +07:00
sas.fajri
1c588f1d7d Build T_SendEmailReports from qr_printout with id/url/result format
Done.php send_email_v2: query qr_printout to build structured reports
array [{"id","url","result"}] using QR_PrintOutGroup_ResultName instead
of relying on client-supplied reports param.

send_email.php: parse both old (URL string) and new (object) formats;
use result field as PDF attachment filename.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:52:31 +07:00
sas.fajri
69772125b5 Insert delivery record to t_send_email_log on successful send
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:48:06 +07:00
sas.fajri
81b699db01 Add PDF validation in email script; add Nat_SubSubGroupSequence column
- Skip attachment if downloaded content is not a valid PDF (HTML error response)
- Add Nat_SubSubGroupSequence to nat_subsubgroup table (missing column
  referenced by sp_rpt_hasil_lab in SELECT and ORDER BY)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:37:50 +07:00
sas.fajri
1be2531f82 Fix PHP 7.4 compatibility: remove union return types
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:29:09 +07:00
sas.fajri
96a245322d Add PHP email queue processor script
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 21:28:01 +07:00
sas.fajri
f0c0bfc4f3 Fix dashboard search and IBL upload 2026-05-24 08:14:16 +07:00
sas.fajri
a88a5c9892 Add repo tooling updates 2026-04-24 15:41:34 +07:00
sas.fajri
394cc95b71 Prevent devone delete sync 2026-04-23 13:53:46 +07:00
sas.fajri
cca7c2287c Make sync hook portable on macOS 2026-04-15 15:42:03 +07:00
sas.fajri
03c8360dfc Fix sync hook for new files 2026-04-15 15:38:33 +07:00
sas.fajri
e090b55a55 Add main branch sync automation 2026-04-15 15:36:54 +07:00
sas.fajri
e224e7f31a Batch 1: base project files 2026-04-15 15:12:37 +07:00