FHM09062601IBL - fix Preregister: masking M_PatientDOB dan Mcu_PreregisterPatientsDOB

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sas.fajri
2026-06-11 13:40:35 +07:00
parent a90b0f96c7
commit 16316aaa31

View File

@@ -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_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_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_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() public function index()
{ {
@@ -337,6 +338,7 @@ class Preregister extends MY_Controller
$m_nip = $this->_mask_id($v['NIP']); $m_nip = $this->_mask_id($v['NIP']);
$m_email = $this->_mask_email($v['EMAIL']); $m_email = $this->_mask_email($v['EMAIL']);
$m_hp = $this->_mask_phone($v['HP']); $m_hp = $this->_mask_phone($v['HP']);
$m_dob = $this->_mask_dob(date('d-m-Y', strtotime($pdob)));
$query = " INSERT INTO mcu_preregister_patients ( $query = " INSERT INTO mcu_preregister_patients (
Mcu_PreregisterPatientsMgm_McuID, Mcu_PreregisterPatientsMgm_McuID,
Mcu_PreregisterPatientsCompanyNumber, Mcu_PreregisterPatientsCompanyNumber,
@@ -368,7 +370,7 @@ class Preregister extends MY_Controller
'{$title_id}', '{$title_id}',
'{$m_nama}', '{$m_nama}',
{$sex_id}, {$sex_id},
'{$pdob}', '{$m_dob}',
'{$v['JOB']}', '{$v['JOB']}',
'{$m_email}', '{$m_email}',
'{$m_hp}', '{$m_hp}',
@@ -471,7 +473,7 @@ class Preregister extends MY_Controller
'M_PatientName_bidx' => $enc_csv->search_bidx($v["NAMA"]), 'M_PatientName_bidx' => $enc_csv->search_bidx($v["NAMA"]),
'M_PatientM_SexID' => $sex_id, 'M_PatientM_SexID' => $sex_id,
'M_PatientM_TitleID' => $title_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_enc' => $enc_csv->encrypt($dob_str_csv),
'M_PatientDOB_bidx' => $enc_csv->search_bidx($dob_str_csv), 'M_PatientDOB_bidx' => $enc_csv->search_bidx($dob_str_csv),
'M_PatientM_IdTypeID' => $v['KTP'] ? 1 : 0, 'M_PatientM_IdTypeID' => $v['KTP'] ? 1 : 0,