From 16316aaa31feccdff7101a6ca0e557dfa5538f26 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Thu, 11 Jun 2026 13:40:35 +0700 Subject: [PATCH] FHM09062601IBL - fix Preregister: masking M_PatientDOB dan Mcu_PreregisterPatientsDOB Co-Authored-By: Claude Sonnet 4.6 --- .../controllers/mockup/setupmcuoffline-ibl/Preregister.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/application/controllers/mockup/setupmcuoffline-ibl/Preregister.php b/application/controllers/mockup/setupmcuoffline-ibl/Preregister.php index 90e7c63a..ba6e7a43 100644 --- a/application/controllers/mockup/setupmcuoffline-ibl/Preregister.php +++ b/application/controllers/mockup/setupmcuoffline-ibl/Preregister.php @@ -35,6 +35,7 @@ class Preregister extends MY_Controller private function _mask_short($v) { if (!$v) return $v; $v=trim($v); $l=mb_strlen($v,'UTF-8'); if($l<=2) return '***'; return mb_substr($v,0,2,'UTF-8').'***'; } private function _mask_id($v) { if (!$v) return $v; $v=trim($v); $l=strlen($v); if($l<=4) return '****'; return substr($v,0,4).str_repeat('*',max(3,$l-6)).($l>6?substr($v,-2):''); } private function _mask_address($v) { if (!$v) return $v; $v=trim($v); $l=mb_strlen($v,'UTF-8'); if($l<=5) return '***'; return mb_substr($v,0,5,'UTF-8').'***'; } + private function _mask_dob($v) { if (!$v) return $v; $p=explode('-',$v); return (count($p)===3) ? '**-**-'.$p[2] : '****-**-**'; } public function index() { @@ -337,6 +338,7 @@ class Preregister extends MY_Controller $m_nip = $this->_mask_id($v['NIP']); $m_email = $this->_mask_email($v['EMAIL']); $m_hp = $this->_mask_phone($v['HP']); + $m_dob = $this->_mask_dob(date('d-m-Y', strtotime($pdob))); $query = " INSERT INTO mcu_preregister_patients ( Mcu_PreregisterPatientsMgm_McuID, Mcu_PreregisterPatientsCompanyNumber, @@ -368,7 +370,7 @@ class Preregister extends MY_Controller '{$title_id}', '{$m_nama}', {$sex_id}, - '{$pdob}', + '{$m_dob}', '{$v['JOB']}', '{$m_email}', '{$m_hp}', @@ -471,7 +473,7 @@ class Preregister extends MY_Controller 'M_PatientName_bidx' => $enc_csv->search_bidx($v["NAMA"]), 'M_PatientM_SexID' => $sex_id, 'M_PatientM_TitleID' => $title_id, - 'M_PatientDOB' => $pdob, + 'M_PatientDOB' => $this->_mask_dob($dob_str_csv), 'M_PatientDOB_enc' => $enc_csv->encrypt($dob_str_csv), 'M_PatientDOB_bidx' => $enc_csv->search_bidx($dob_str_csv), 'M_PatientM_IdTypeID' => $v['KTP'] ? 1 : 0,