sas.fajri
04591d6c32
FHM08062601IBL - rapikan separator detail hasil
2026-06-09 13:52:36 +07:00
sas.fajri
48c61fcfd7
FHM08062601IBL - kembalikan lab result ke birt
2026-06-09 11:52:46 +07:00
sas.fajri
e37512624c
FHM08062601IBL - rapikan layout lab result fpdf
2026-06-09 11:31:13 +07:00
sas.fajri
de1fb927de
FHM08062601IBL - alihkan lab result ke fpdf
2026-06-09 11:27:26 +07:00
sas.fajri
e3f51591a6
FHM08062601IBL - hotfix print report blank
2026-06-09 11:14:52 +07:00
sas.fajri
085a2dc14a
FHM08062601IBL - perbaiki header birt proxy
2026-06-09 11:10:44 +07:00
sas.fajri
686db5ed43
FHM08062601IBL - fix table border: pakai Rect() untuk outer border, row separator via 'B' only
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 09:19:25 +07:00
sas.fajri
6c7aaf0dd0
FHM08062601IBL - fix font Helvetica 10pt (match BIRT Calibri), 3cm kop gap, form_rev pojok kanan atas, fix cell indent
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 09:13:11 +07:00
sas.fajri
934a779770
FHM08062601IBL - tambah footer (Validasi Oleh, Printed by, page number), fix table outer border, QR absolute di atas footer
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 09:05:24 +07:00
sas.fajri
fcd125a252
FHM08062601IBL - tambah section sampling (sp_rpt_hasil_lab_sampling) dan Catatan di Rpt_lab_result
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 09:00:26 +07:00
sas.fajri
24c5d2d94f
FHM08062601IBL - refactor Rpt_lab_result: pakai sp_rpt_hasil_lab, sesuaikan layout header & grouping 3 level dengan referensi BIRT
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 08:57:07 +07:00
sas.fajri
910e1cd08a
FHM08062601IBL - fix nama tabel s_systems ke conf_systems di Rpt_lab_result
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 08:42:23 +07:00
Hanan Askarim
1cce2b52dc
Merge branch 'main' of https://devone.aplikasi.web.id/gitea/fajri/BE_IBL
2026-06-09 08:41:39 +07:00
Hanan Askarim
bff1943054
fix generate qr report di lab
2026-06-09 08:41:31 +07:00
sas.fajri
77c00e0dd0
FHM08062601IBL - fix access level db_onedev jadi public di Rpt_lab_result
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 08:40:39 +07:00
sas.fajri
c4e590d153
FHM08062601IBL - tambah Rpt_lab_result FPDF controller untuk generate lab result PDF tanpa BIRT
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 08:39:21 +07:00
sas.fajri
212e27ff72
FHM08062601IBL - fix get_report_codes_by_group pakai kode print_transaction yg benar, tambah rpt_code/e_rpt_code di groups output untuk stream_by_code
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 16:43:14 +07:00
sas.fajri
7e3cd75ce5
FHM08062601IBL - ganti pre_cache/delete_cache dengan proxy stream pattern: Reporturl semua kode lewat stream_by_code, tambah stream_report di Rv_patient untuk resultprintadm-v7
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 16:34:40 +07:00
sas.fajri
edf60f5574
FHM08062601IBL - tambah endpoint delete_cache di Rv_patient untuk hapus patient_print_cache setelah BIRT selesai load
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 16:31:34 +07:00
sas.fajri
3138c7f508
FHM08062601IBL - tambah endpoint pre_cache di Rv_patient untuk populate patient_print_cache sebelum BIRT dipanggil dari Vue
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 16:28:15 +07:00
sas.fajri
0e408f2cf4
FHM08062601IBL - populate patient_print_cache di get_report_url_by_code agar BIRT baca DOB terenkripsi
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 15:56:59 +07:00
sas.fajri
1863697315
FHM08062601IBL - fix orphaned return 0 setelah replace get_normal_value di Re_px files
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 15:46:03 +07:00
sas.fajri
2f162c3613
FHM08062601IBL - ganti fn_sampling_get_normal dan sp_sampling_check/fix_normal dengan PHP library Ibl_sampling_normal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 15:43:49 +07:00
sas.fajri
dcdfb0e7cc
FHM08062601IBL - fallback resolve payment id dari order id di birt_proxy stream_by_code
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 14:50:47 +07:00
sas.fajri
d5b358003f
FHM08062601IBL - fix access level db_onedev di Birt_proxy jadi public
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 14:46:15 +07:00
sas.fajri
943f037ad9
FHM08062601IBL - tanda tangan inform consent tampilkan prefix nama suffix tanpa title
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 13:33:25 +07:00
sas.fajri
9eba521e2f
FHM08062601IBL - fix concat nama pasien dengan title prefix suffix di inform consent
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 13:29:40 +07:00
sas.fajri
ca1327a6c2
FHM08062601IBL - update print invoice url dinamis dan nama pasien di inform consent
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-08 13:22:58 +07:00
sas.fajri
33fe960269
FHM08062601IBL - fix cashier print proxy url handling
2026-06-08 13:15:25 +07:00
sas.fajri
23c5c7c67c
FHM08062601IBL - add fo patient print name
2026-06-08 12:05:16 +07:00
sas.fajri
bd0790b768
FHM08062601IBL - fix birt proxy params
2026-06-08 11:35:32 +07:00
sas.fajri
c2c9def40d
FHM08062601IBL - fix proxy report token
2026-06-08 11:33:23 +07:00
sas.fajri
87c621a5fc
FHM08062601IBL - secure fo print cache lifecycle
2026-06-08 11:30:35 +07:00
sas.fajri
6e0a706b34
FHM08062601IBL - add cashier report url endpoint
2026-06-08 10:33:14 +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
6ec3f338ee
FHM31052601IBL - Report.php: auto populate cache + fetch_birt_pdf saat show=Y
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 18:18:52 +07:00
sas.fajri
d4ecd7f06d
FHM31052601IBL - populate decrypt cache sebelum semua BIRT/PDF fetch
...
- Ibl_patient_decrypt: tambah fetch_birt_pdf() + pre_cache_and_get_url()
- Reporturl.php: auto pre-cache sebelum return URL atau fetch PDF
- Rv_patient.php: pre_cache sebelum return URL ke frontend
- tgram/Hasil.php: fetch_birt_pdf() via dl_report()
- Qr_report_uploader.php: populate/delete cache wrapping download_file()
- Ibl_merge_report_gateway.php: populate/delete cache wrapping Go merge service call
- send_email.php: populate_birt_cache() + delete_birt_cache() untuk email attachment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 18:04:36 +07:00
sas.fajri
5c9daffb38
FHM31052601IBL - FPDF controllers: decrypt PII via Ibl_patient_decrypt library
...
- Ibl_patient_decrypt: helper populate/delete patient_print_cache + decrypt_row
- Inform_consent, Medical_checkup_report: decrypt langsung dari _enc (direct SQL)
- Kartu_kontrol, Rpt_t_002, Rpt_t_002_eng: populate cache sebelum call SP,
delete cache setelah SP selesai
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 17:49:45 +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
34d90c95b6
FHM31052601IBL - sampling & klinik controllers: decrypt PII pasien untuk pengambilan sampel
...
- samplinglab-v15, samplingradiodiagnostic-v5, samplingelectromedis-v5,
doctorclinicv2: search via bidx, nolab search tanpa nama, decrypt di hasil
- sampling-lab-mobile-cpone-v10: decrypt nama/HP/email/DOB/NIP
- klinik/Registrationv3: search bidx (nama/HP/DOB/NIK), hapus address search, decrypt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 17:04:20 +07:00
sas.fajri
90c156e51a
FHM31052601IBL - strip PII (patient_name/address/phone/email) dari order_log sebelum INSERT
...
Data pasien tidak perlu masuk log — identitas sudah terenkripsi di m_patient
dan bisa di-trace via T_OrderHeaderID → M_PatientID.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 16:52:58 +07:00
sas.fajri
f667050200
FHM31052601IBL - update format masking nama: kata pertama penuh + inisial kata berikutnya
...
"FAJRI HARDHITA" → "FAJRI H*******" lebih readable untuk operasional.
Script remask_patient_name.php untuk re-apply ke data yang sudah dimasking.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 15:23:19 +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
5350ab51cc
FHM31052601IBL - Patientv4: masterdata pasien tampil data lengkap (decrypt _enc)
...
- search() pakai trigram bidx, return data terdekripsi
- save()/newpatient(): enkripsi + masking plaintext
- getaddress(): dekripsi alamat
- savenewaddress()/saveeditaddress(): enkripsi + masking alamat
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 14:55:43 +07:00
sas.fajri
82640c3d3b
FHM31052601IBL - Patient add_new/edit: tulis masked value ke kolom plaintext lama
...
Kolom lama (M_PatientName, HP, Email, dll) kini menyimpan nilai masked.
Data asli tetap aman di _enc. Konsisten dengan bulk masking script.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-31 14:49:09 +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
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
cf8ef0e590
FHM29052601IBL - add GET /report/qr/{id} preview endpoint dari qr_printout
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 16:33:00 +07:00
sas.fajri
a3f9e04787
FHM29052601IBL - simplify stream_from_qr_printout tanpa get_order_header
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 16:02:46 +07:00
sas.fajri
84e0d60d23
FHM29052601IBL - add merge_from_qr endpoint via qr_printout URLs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 15:54:16 +07:00