db_onedev = $this->load->database("onedev", true); $this->db_oneklinik = $this->load->database("onedev", true); $one_db = "one_aditya"; } function search() { $prm = $this->sys_input; $max_rst = 100; $tot_count =0; $number_limit = 10; $number_offset = (!isset($prm['current_page'])?1:$prm['current_page'] - 1) * $number_limit ; $q = [ 'noreg' => "", 'name' => '', 'hp' => '', 'dob' => '', 'address' => '', 'nik' =>'' ]; $q_pid = ""; if ($prm['noreg'] != '') $q['noreg'] = "AND M_PatientNoReg like '%{$prm['noreg']}%'"; if($prm['snorm'] == ''){ if ($prm['search'] != '') { $e = explode('+', $prm['search']); if (isset($e[0])){ $e[0] = str_replace("'", "\\'", $e[0]); $q['name'] = "AND M_PatientName LIKE '%{$e[0]}%'"; } if (isset($e[1])) $q['hp'] = "AND ((M_PatientHP LIKE '%{$e[1]}%' and M_PatientHP IS NOT NULL) OR (M_PatientHP IS NULL AND '{$e[1]}' = ''))"; if (isset($e[2])) $q['dob'] = "AND ((DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') LIKE '%{$e[2]}%' and M_PatientDOB IS NOT NULL) OR (M_PatientDOB IS NULL AND '{$e[2]}' = ''))"; if (isset($e[3])) $q['address'] = "AND M_PatientAddressDescription LIKE '%{$e[3]}%'"; if (isset($e[4])) $q['nik'] = "AND M_PatientIDNumber = '{$e[4]}'"; } }else{ $q_pid = "AND M_PatientNoReg = '{$prm['snorm']}'"; } $sql = "SELECT 'N' divider,M_PatientID, M_PatientNoReg, M_PatientPrefix, M_PatientName, M_PatientSuffix, M_PatientHP, M_PatientEmail, M_PatientPOB, M_PatientPhone, M_PatientIDNumber, DATE_FORMAT(M_PatientDOB,'%d-%m-%Y') as M_PatientDOB, M_PatientNote, M_PatientNIK, M_PatientJabatan, M_PatientKedudukan, M_PatientPJ, M_PatientLocation, M_PatientJob, M_PatientM_SexID, M_SexName, M_PatientM_TitleID, M_TitleName, M_PatientM_ReligionID, M_PatientM_IdTypeID, M_IdTypeName, M_PatientIDNumber, M_PatientPhoto, M_PatientAddressM_KelurahanID M_KelurahanID, 0 M_DistrictID, 0 M_CityID, 0 M_ProvinceID FROM m_patient JOIN one_klinik.`order` ON orderM_PatientID = M_PatientID JOIN m_title ON M_PatientM_TitleID = M_TitleID JOIN m_sex ON M_PatientM_SexID = M_SexID JOIN m_branch ON M_BranchIsActive = 'Y' AND M_BranchIsDefault = 'Y' JOIN m_patientaddress ON M_PatientAddressM_PatientID = M_PatientID AND M_PatientAddressIsActive = 'Y' LEFT JOIN m_idtype ON M_IdTypeID = M_PatientM_IdTypeID AND M_IdTypeIsActive = 'Y' WHERE M_PatientIsActive = 'Y' {$q['address']} {$q['noreg']} {$q['name']} {$q['hp']} {$q['dob']} {$q['nik']} {$q_pid} GROUP BY M_PatientID LIMIT $number_limit offset $number_offset"; //echo $sql; $query = $this->db_onedev->query($sql); if ($query) { $rows = $query->result_array(); foreach ($rows as $k => $v) { $rows[$k]['M_PatientName'] = stripslashes($rows[$k]['M_PatientName']); $rows[$k]['M_PatientAddressDescription'] = stripslashes($v['M_PatientAddressDescription']); $patient_name = str_replace("'", "\\'", $prm['M_PatientName']); $sql = "SELECT *, concat('{$rows[$k]['M_PatientAddressDescription'] }', '\n\n', m_kelurahanname, ', ', m_districtname,'\n', m_cityname, ', ', m_provincename) as xaddress FROM m_kelurahan JOIN m_district ON M_KelurahanM_DistrictID = M_DistrictID JOIN m_city ON M_DistrictM_CityID = M_CityID JOIN m_province ON M_CityM_ProvinceID = M_ProvinceID WHERE M_KelurahanID = {$v['M_KelurahanID']} "; //echo $sql; $row_address = $this->db_onedev->query($sql)->row_array(); $rows[$k]['M_PatientAddress'] = stripslashes($row_address['xaddress']); $rows[$k]['M_DistrictID'] = $row_address['M_DistrictID']; $rows[$k]['M_CityID'] = $row_address['M_CityID']; $rows[$k]['M_ProvinceID'] = $row_address['M_ProvinceID']; $info = $this->db_onedev->query("SELECT fn_fo_patient_visit(?) info", [$v['M_PatientID']])->row(); $rows[$k]['info'] = json_decode($info->info); } $result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_onedev->last_query()); $this->sys_ok($result); } else { $this->sys_error_db("m_patient rows",$this->db_onedev); exit; } } function get_resume_medics() { $prm = $this->sys_input; $sql = "SELECT one_klinik.`order`.*, date_format(orderDate,'%d-%m-%Y %H:%i') as order_date FROM one_klinik.`order` WHERE orderIsActive = 'Y' AND orderM_PatientID = ? ORDER BY orderDate DESC"; //echo $sql; $query = $this->db_oneklinik->query($sql,array($prm['id'])); if ($query) { $rows = $query->result_array(); $result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_oneklinik->last_query()); $this->sys_ok($result); } else { $this->sys_error_db("resume medic rows",$this->db_oneklinik); exit; } } }