Commit Graph

26 Commits

Author SHA1 Message Date
sas.fajri
9d224ffabf FHM08062601IBL - update fo birt cache sp 2026-06-08 11:18:01 +07:00
sas.fajri
1830710859 FHM08062601IBL - add untracked artefact 2026-06-08 09:03:50 +07:00
sas.fajri
065e3ebb34 FHM31052601IBL - pdp masking & enkripsi patient di controller dan SP mcu
- mask_name nama satu kata: tampil 2 char + bintang sisanya
- masking + enkripsi insert/update m_patient di Registrationv3, ibl_registration/Patient, Patientv4, setupmcuoffline-ibl/Preregister, mcuoffline/Preregisterapp
- masking insert ke mcu_preregister_patients (PatientName, KTP, NIK, Email, Hp)
- search patient pakai bidx, decrypt setelah query di mcuoffline/Preregisterapp
- matching existing patient ganti LIKE ke bidx search
- SP sp_upsert_mcu_patient_by_preregister_id & sp_upsert_mcu_patient_by_mgm_mcuid JOIN m_patient ambil _enc, simpan ke one_lab_dashboard.mcu_patient
- ALTER mcu_patient.Mcu_PatientName dan Mcu_PatientDOB ke TEXT

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 20:10:15 +07:00
sas.fajri
d7930d5dbc FHM31052601IBL - BIRT proxy + 5 SP header decrypt via patient_print_cache
- Birt_proxy.php: decrypt PII sebelum call BIRT, cache 5 menit
- 5 SP (hasil_header, _2, _eng, fo_001, card_patient): tambah LEFT JOIN
  ke patient_print_cache dengan COALESCE fallback ke masked data
- SP signature tidak berubah, .rptdesign tidak perlu diupdate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 17:33:02 +07:00
sas.fajri
de7444d5d5 FHM31052601IBL - drop _enc hasil lab: nilai klinis bukan PII, trigger butuh plaintext
t_orderdetail, t_orderheader, so_resultentry*, member_eligible tidak dienkripsi.
Perlindungan via enkripsi identitas pasien (m_patient) + access control.
Hanya t_orderdelivery (email/HP delivery) yang tetap dienkripsi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:49:37 +07:00
sas.fajri
18501d07b8 FHM31052601IBL - batalkan enkripsi mcu_resume_results JSON
JSON tidak mengandung PII langsung (nama/NIK/DOB/alamat).
Enkripsi akan memberatkan global MCU report.
Data source (t_orderdetail) sudah dienkripsi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:26:57 +07:00
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
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
c63afddaa0 FHM31052601IBL - update trigger m_patient & m_patientaddress pakai _enc di log JSON
Ganti field PII plaintext (Name, HP, Email, DOB, NIK, IDNumber, dll)
dengan field _enc di JSON log_patient. Trigger m_patient_bu tetap
UPPER-kan M_PatientName untuk backward compat.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:20:23 +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
f2f1aed4b2 FHM29052601IBL - integrate merge gateway 2026-05-29 14:21:47 +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
fb9e718057 Show nat test names 2026-05-24 20:00:19 +07:00
sas.fajri
df8b8f5db3 Improve normal check response 2026-05-24 19:30:57 +07:00
sas.fajri
c8a3d27dfe Add sampling normal SQL tools 2026-05-24 19:00:18 +07:00
sas.fajri
c1fb8a8f61 Update QR report URLs 2026-05-24 18:14:52 +07:00
sas.fajri
626af7342e Add Kartu Kontrol Pelayanan FPDF report endpoint
Replaces BIRT rpt_fo_001 which had unresolvable image loading issues.
FPDF-based endpoint with 3.5cm top margin for pre-printed letterhead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 11:45:59 +07:00
sas.fajri
58e50dc498 Fix order location duplicates 2026-05-24 10:22:09 +07:00
sas.fajri
8c9ddf9755 Add inform consent template API 2026-05-18 13:37:55 +07:00
sas.fajri
189f804ec7 Fix kelainan lang mapping 2026-04-24 15:29:34 +07:00
sas.fajri
452eb5c6ea Add kelainan lang data 2026-04-24 15:11:16 +07:00
sas.fajri
a413c0e830 Add fisik result type 2026-04-24 09:42:25 +07:00
sas.fajri
afe791e8f9 Save group result repair notes 2026-04-23 16:24:17 +07:00
sas.fajri
6130ccfdb4 Record resultentry trigger fix 2026-04-23 14:27:55 +07:00
sas.fajri
e224e7f31a Batch 1: base project files 2026-04-15 15:12:37 +07:00