db_onedev = $this->load->database("onedev", true); $this->load->helper(array('form', 'url')); } function searchcompany(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $max_rst = 12; $tot_count =0; $q = [ 'search' => '%' ]; if ($prm['search'] != '') { $q['search'] = "%{$prm['search']}%"; } // QUERY TOTAL $sql = "SELECT count(*) as total FROM m_company JOIN m_mou ON M_MouM_CompanyID = M_CompanyID AND M_MouIsActive = 'Y' WHERE M_CompanyName like ? AND M_CompanyIsActive = 'Y'"; $query = $this->db_onedev->query($sql,$q['search']); //echo $query; //echo $this->db_onedev->last_query(); if ($query) { $tot_count = $query->result_array()[0]["total"]; } else { $this->sys_error_db("m_city count",$this->db_onedev); exit; } $sql = "SELECT 0 as id, 'Semua Kel. Pelanggan' as name, '' as mous UNION SELECT M_CompanyID as id, M_CompanyName as name, '' as mous FROM m_company JOIN m_mou ON M_MouM_CompanyID = M_CompanyID AND M_MouIsActive = 'Y' WHERE M_CompanyName like ? AND M_CompanyIsActive = 'Y' ORDER BY name DESC "; $query = $this->db_onedev->query($sql, array($q['search'])); if($query) { $rows = $query->result_array(); if($rows){ foreach($rows as $k => $v){ $sql = "SELECT '0' as id, 'Semua' as name UNION SELECT M_MouID as id, M_MouName as name FROM m_mou WHERE M_MouM_CompanyID = {$v['id']} AND M_MouIsActive = 'Y'"; $details = $this->db_onedev->query($sql)->result_array(); $rows[$k]['mous'] = $details; } } //echo $this->db_onedev->last_query(); $result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows)); $this->sys_ok($result); } else { $this->sys_error_db("m_company rows",$this->db_onedev); exit; } } public function search() { $prm = $this->sys_input; if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $company = $prm["company"]; $search = $prm["search"]; $startdate = $prm['startdate']; $enddate = $prm['enddate']; if(!isset($prm['current_page'])) $prm['current_page'] = 1; $number_limit = 10; $number_offset = ($prm['current_page'] - 1) * $number_limit ; //$sql_param = array(); $sql = " SELECT count(*) as total FROM t_orderheader JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID JOIN m_title ON M_PatientM_TitleID = M_TitleID JOIN m_sex ON M_PatientM_SexID = M_SexID JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID JOIN m_mou ON T_OrderHeaderM_MouID = M_MouID WHERE T_OrderHeaderIsActive = 'Y' AND DATE(T_OrderHeaderDate) BETWEEN '{$startdate}' AND '{$enddate}' AND ($company = 0 OR($company > 0 AND T_OrderHeaderM_CompanyID = $company)) AND (M_PatientName like concat('%','{$search}','%') OR T_OrderHeaderLabNumber like concat('%','{$search}','%')) AND CAST(SUBSTRING_INDEX(T_OrderHeaderM_PatientAge, ' ', 1) AS UNSIGNED) >= 20 "; //echo $sql; $query = $this->db_onedev->query($sql); $tot_count = 0; $tot_page = 0; if ($query) { $tot_count = $query->result_array()[0]["total"]; $tot_page = ceil($tot_count/$number_limit); } else { $this->sys_error_db("t_orderheader count", $this->db_onedev); exit; } $sql = "SELECT T_OrderHeaderID, T_OrderHeaderLabNumber as ordernumber, concat(M_TitleName,'. ',M_PatientName) as M_PatientName, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as orderdate, T_OrderHeaderM_PatientAge, CAST(SUBSTRING_INDEX(T_OrderHeaderM_PatientAge, ' ', 1) AS UNSIGNED) AS age, M_CompanyName, M_MouName, M_SexCode, IFNULL(Framingham_DataID,0) as Framingham_DataID FROM t_orderheader JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID JOIN m_title ON M_PatientM_TitleID = M_TitleID JOIN m_sex ON M_PatientM_SexID = M_SexID JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID JOIN m_mou ON T_OrderHeaderM_MouID = M_MouID LEFT JOIN framingham_data ON Framingham_DataT_OrderHeaderID = T_OrderHeaderID AND Framingham_DataIsActive = 'Y' WHERE T_OrderHeaderIsActive = 'Y' AND DATE(T_OrderHeaderDate) BETWEEN '{$startdate}' AND '{$enddate}' AND ($company = 0 OR($company > 0 AND T_OrderHeaderM_CompanyID = $company)) AND (M_PatientName like concat('%','{$search}','%') OR T_OrderHeaderLabNumber like concat('%','{$search}','%')) AND CAST(SUBSTRING_INDEX(T_OrderHeaderM_PatientAge, ' ', 1) AS UNSIGNED) >= 20 GROUP BY T_OrderHeaderID ORDER BY T_OrderHeaderID DESC limit $number_limit offset $number_offset"; //echo $sql; $query = $this->db_onedev->query($sql); $rows = $query->result_array(); //echo $this->db_onedev->last_query(); /* if($rows){ foreach($rows as $k => $v){ $rows[$k]['langs'] = $this->getlangs($v['trx_id']); $rows[$k]['doctors'] = $this->getdoctors(); } } */ //$this->_add_address($rows); $result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_onedev->last_query()); $this->sys_ok($result); exit; } function getdatadetails(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $id = $prm['T_OrderHeaderID']; // CHD & STROKE $gender = $prm['M_SexCode']; $age = $prm['age']; $systolic = 0; $smoking = ""; $riwayat_diabetes = ""; $glukosa_puasa = ""; $hba1c = ""; $diabetes = ""; // CHD $chol = 0; $hdl = 0; // STROKE $af = ""; $hypertension = ""; $history_chd = ""; $lvh = ""; $sql = "select count(*) tot from framingham_data where Framingham_DataT_OrderHeaderID=? AND Framingham_DataIsActive = 'Y'"; $c_total = $this->db_onedev->query($sql,array($id))->row(); $rows = array(); if ($c_total->tot > 0 ) { $sql = "SELECT Framingham_DataID, Framingham_DataT_OrderHeaderID, CONCAT(Framingham_DataSistolic,'/',Framingham_DataDiastolic) tekanandarah, Framingham_DataSistolic, Framingham_DataDiastolic, Framingham_DataChol, Framingham_DataHDL, Framingham_DataInAtrialFibrillation, IF(Framingham_DataInAtrialFibrillation = 'Y','Ya','Tidak') AtrialFibrillation, Framingham_DataOnAntiHypertensiveRx, IF(Framingham_DataOnAntiHypertensiveRx = 'Y','Ya','Tidak') AntiHypertensiveRx, Framingham_DataHistoryofSmoking, IF(Framingham_DataHistoryofSmoking = 'Y','Ya','Tidak') HistoryofSmoking, Framingham_DataHistoryofDiabetes, IF(Framingham_DataHistoryofDiabetes = 'Y','Ya','Tidak') HistoryofDiabetes, Framingham_DataHistoryofPeripheralVascular, IF(Framingham_DataHistoryofPeripheralVascular = 'Y','Ya','Tidak') HistoryofPeripheralVascular, Framingham_DataECGLVH, IF(Framingham_DataECGLVH = 'Y','Ya','Tidak') ECGLVH, Framingham_DataCalculated10RiskofCHD, Framingham_DataCalculated10RiskofStroke, Framingham_DataCalculated10RiskofCardiovascular, '' fisik_umum, Framingham_RiskOfChdFramingham_DataID, Framingham_RiskOfChdSystolic, Framingham_RiskOfChdSmooking, Framingham_RiskOfChdCholHdl, Framingham_RiskOfChdEcg, Framingham_RiskOfChdAge, Framingham_RiskOfChdDiabet, Framingham_RiskOfChdResult1, Framingham_RiskOfChdResult2, Framingham_RiskOfChdResult3, Framingham_RiskOfChdResult4, Framingham_RiskOfChdResultFinal, Framingham_RiskOfChdResultFinalPercent, Framingham_RiskOfChdCardiovascularRisk, Framingham_RiskOfChdCardiovascularRiskPercent, Framingham_RiskOfStrokeAge, Framingham_RiskOfStrokeSystolic, Framingham_RiskOfStrokeHipertensi, Framingham_RiskOfStrokeDiabet, Framingham_RiskOfStrokeSmooking, Framingham_RiskOfStrokeVascularDisease, Framingham_RiskOfStrokeAtrialFIB, Framingham_RiskOfStrokeEcg, Framingham_RiskOfStrokeHipertensi2, Framingham_RiskOfStrokeResult1, Framingham_RiskOfStrokeFinal, Framingham_RiskOfStrokeFinalPercent, '' chd, '' stroke FROM framingham_data JOIN framingham_riskofchd ON Framingham_RiskOfChdFramingham_DataID = Framingham_DataID AND Framingham_RiskOfChdIsActive = 'Y' JOIN framingham_riskofstroke ON Framingham_RiskOfStrokeFramingham_DataID = Framingham_DataID AND Framingham_RiskOfStrokeIsActive = 'Y' WHERE Framingham_DataT_OrderHeaderID = $id AND Framingham_DataIsActive = 'Y'"; $rows = $this->db_onedev->query($sql)->result_array(); foreach($rows as $k => $v){ // Check if gender is male ("L") if ($gender == "L") { $query ="SELECT 'SYSTOLIC' test, 'LN(SYSTOLIC)' rumus, '-0,9119' faktorkali, '{$v['Framingham_RiskOfChdSystolic']}' hasil UNION SELECT 'SMOOKING' test, 'IF(SMOOKING=Ya,1,0)' rumus, '-0,2767' faktorkali, '{$v['Framingham_RiskOfChdSmooking']}' hasil UNION SELECT 'CHOL TOT/HDL' test, 'LN(CHOL.TOT/HDL)' rumus, '-0,7181' faktorkali, '{$v['Framingham_RiskOfChdCholHdl']}' hasil UNION SELECT 'ECG' test, 'IF(ECG=Ya,1,0)' rumus, '-0,5865' faktorkali, '{$v['Framingham_RiskOfChdEcg']}' hasil UNION SELECT 'USIA' test, 'LN(UMUR)' rumus, '-1,4792' faktorkali, '{$v['Framingham_RiskOfChdAge']}' hasil UNION SELECT 'DIABET' test, 'IF(DIABET=Ya,1,0)' rumus, '-0,1759' faktorkali, '{$v['Framingham_RiskOfChdDiabet']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, '{$v['Framingham_RiskOfChdResult1']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 2' faktorkali, '{$v['Framingham_RiskOfChdResult2']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 3' faktorkali, '{$v['Framingham_RiskOfChdResult3']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 4' faktorkali, '{$v['Framingham_RiskOfChdResult4']}' hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, '{$v['Framingham_RiskOfChdResultFinalPercent']}' hasil UNION SELECT '' test, '' rumus, 'Cardiovascular Risk' faktorkali, '{$v['Framingham_RiskOfChdCardiovascularRiskPercent']}' hasil"; $chd = $this->db_onedev->query($query)->result_array(); //echo $this->db_onedev->last_query(); $rows[$k]['chd'] = $chd; $query ="SELECT 'USIA' test, 'USIA' rumus, '0,0505' faktorkali, '{$v['Framingham_RiskOfStrokeAge']}' hasil UNION SELECT 'SYSTOLIC' test, 'SYSTOLIC' rumus, '0,014' faktorkali, '{$v['Framingham_RiskOfStrokeSystolic']}' hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '0,3263' faktorkali, '{$v['Framingham_RiskOfStrokeHipertensi']}' hasil UNION SELECT 'DIABET' test, 'Ya=1, No=0' rumus, '0,3384' faktorkali, '{$v['Framingham_RiskOfStrokeDiabet']}' hasil UNION SELECT 'SMOKING' test, 'Ya=1, No=0' rumus, '0,5147' faktorkali, '{$v['Framingham_RiskOfStrokeSmooking']}' hasil UNION SELECT 'VASCULAR DISEASE' test, 'Ya=1, No=0' rumus, '0,5195' faktorkali, '{$v['Framingham_RiskOfStrokeVascularDisease']}' hasil UNION SELECT 'ATRIAL FIB' test, 'Ya=1, No=0' rumus, '0,6061' faktorkali, '{$v['Framingham_RiskOfStrokeAtrialFIB']}' hasil UNION SELECT 'ECG' test, 'Ya=1, No=0' rumus, '0,8415' faktorkali, '{$v['Framingham_RiskOfStrokeEcg']}' hasil UNION SELECT 'Faktor lain' test, '' rumus, '' faktorkali, '-5,677' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, '{$v['Framingham_RiskOfStrokeResult1']}' hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, '{$v['Framingham_RiskOfStrokeFinalPercent']}' hasil"; $stroke = $this->db_onedev->query($query)->result_array(); $rows[$k]['stroke'] = $stroke; } else { // Calculate the risk for female $query ="SELECT 'SYSTOLIC' test, 'LN(SYSTOLIC)' rumus, '-0,9119' faktorkali, '{$v['Framingham_RiskOfChdSystolic']}' hasil UNION SELECT 'SMOOKING' test, 'IF(SMOOKING=Ya,1,0)' rumus, '-0,2767' faktorkali, '{$v['Framingham_RiskOfChdSmooking']}' hasil UNION SELECT 'CHOL TOT/HDL' test, 'LN(CHOL.TOT/HDL)' rumus, '-0,7181' faktorkali, '{$v['Framingham_RiskOfChdCholHdl']}' hasil UNION SELECT 'ECG' test, 'IF(ECG=Ya,1,0)' rumus, '-0,5865' faktorkali, '{$v['Framingham_RiskOfChdEcg']}' hasil UNION SELECT 'USIA' test, 'LN(UMUR/74)^2' rumus, '1,8515' faktorkali, '{$v['Framingham_RiskOfChdAge']}' hasil UNION SELECT 'Faktor Lain' test, '' rumus, '' faktorkali, '-5,8549' hasil UNION SELECT 'DIABET' test, 'IF(DIABET=Ya,1,0)' rumus, '0,3758' faktorkali, '{$v['Framingham_RiskOfChdDiabet']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, '{$v['Framingham_RiskOfChdResult1']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 2' faktorkali, '{$v['Framingham_RiskOfChdResult2']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 3' faktorkali, '{$v['Framingham_RiskOfChdResult3']}' hasil UNION SELECT '' test, '' rumus, 'Hasil 4' faktorkali, '{$v['Framingham_RiskOfChdResult4']}' hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, '{$v['Framingham_RiskOfChdResultFinalPercent']}' hasil UNION SELECT '' test, '' rumus, 'Cardiovascular Risk' faktorkali, '{$v['Framingham_RiskOfChdCardiovascularRiskPercent']}' hasil"; $chd = $this->db_onedev->query($query)->result_array(); $rows[$k]['chd'] = $chd; $query ="SELECT 'USIA' test, 'USIA' rumus, '0,0505' faktorkali, '{$v['Framingham_RiskOfStrokeAge']}' hasil UNION SELECT 'SYSTOLIC' test, 'SYSTOLIC' rumus, '0,0197' faktorkali, '{$v['Framingham_RiskOfStrokeSystolic']}' hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '2,5432' faktorkali, '{$v['Framingham_RiskOfStrokeHipertensi']}' hasil UNION SELECT 'DIABET' test, 'Ya=1, No=0' rumus, '0,5442' faktorkali, '{$v['Framingham_RiskOfStrokeDiabet']}' hasil UNION SELECT 'SMOKING' test, 'Ya=1, No=0' rumus, '0,5294' faktorkali, '{$v['Framingham_RiskOfStrokeSmooking']}' hasil UNION SELECT 'VASCULAR DISEASE' test, 'Ya=1, No=0' rumus, '0,4326' faktorkali, '{$v['Framingham_RiskOfStrokeVascularDisease']}' hasil UNION SELECT 'ATRIAL FIB' test, 'Ya=1, No=0' rumus, '1,1497' faktorkali, '{$v['Framingham_RiskOfStrokeAtrialFIB']}' hasil UNION SELECT 'ECG' test, 'Ya=1, No=0' rumus, '0,8488' faktorkali, '{$v['Framingham_RiskOfStrokeEcg']}' hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '-0,0134' faktorkali, '{$v['Framingham_RiskOfStrokeHipertensi2']}' hasil UNION SELECT 'Faktor lain' test, '' rumus, '' faktorkali, '-7,5766' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, '{$v['Framingham_RiskOfStrokeResult1']}' hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, '{$v['Framingham_RiskOfStrokeFinalPercent']}' hasil"; $stroke = $this->db_onedev->query($query)->result_array(); $rows[$k]['stroke'] = $stroke; } } }else{ $sql = "SELECT 0 Framingham_DataID, T_OrderHeaderID Framingham_DataT_OrderHeaderID, '/' tekanandarah, '' Framingham_DataSistolic, '' Framingham_DataDiastolic, '' Framingham_DataChol, '' Framingham_DataHDL, '' Framingham_DataInAtrialFibrillation, '' AtrialFibrillation, '' Framingham_DataOnAntiHypertensiveRx, '' AntiHypertensiveRx, '' Framingham_DataHistoryofSmoking, '' HistoryofSmoking, '' Framingham_DataHistoryofDiabetes, '' HistoryofDiabetes, '' Framingham_DataHistoryofPeripheralVascular, '' HistoryofPeripheralVascular, '' Framingham_DataECGLVH, '' ECGLVH, '' Framingham_DataCalculated10RiskofCHD, '' Framingham_DataCalculated10RiskofStroke, '' Framingham_DataCalculated10RiskofCardiovascular, '' fisik_umum, 0 Framingham_RiskOfChdFramingham_DataID, '' Framingham_RiskOfChdSystolic, '' Framingham_RiskOfChdSmooking, '' Framingham_RiskOfChdCholHdl, '' Framingham_RiskOfChdEcg, '' Framingham_RiskOfChdAge, '' Framingham_RiskOfChdDiabet, '' Framingham_RiskOfChdResult1, '' Framingham_RiskOfChdResult2, '' Framingham_RiskOfChdResult3, '' Framingham_RiskOfChdResult4, '' Framingham_RiskOfChdResultFinal, '' Framingham_RiskOfChdResultFinalPercent, '' Framingham_RiskOfChdCardiovascularRisk, '' Framingham_RiskOfChdCardiovascularRiskPercent, '' Framingham_RiskOfStrokeAge, '' Framingham_RiskOfStrokeSystolic, '' Framingham_RiskOfStrokeHipertensi, '' Framingham_RiskOfStrokeDiabet, '' Framingham_RiskOfStrokeSmooking, '' Framingham_RiskOfStrokeVascularDisease, '' Framingham_RiskOfStrokeAtrialFIB, '' Framingham_RiskOfStrokeEcg, '' Framingham_RiskOfStrokeHipertensi2, '' Framingham_RiskOfStrokeResult1, '' Framingham_RiskOfStrokeFinal, '' Framingham_RiskOfStrokeFinalPercent, '' chd, '' stroke, '' riwayat_diabetes, '' glukosa_puasa, '' hba1c FROM t_orderheader WHERE T_OrderHeaderID = $id AND T_OrderHeaderIsActive = 'Y'"; $rows = $this->db_onedev->query($sql)->result_array(); foreach($rows as $k => $v){ $sql = "SELECT So_ResultEntryFisikUmumDetails FROM t_orderdetail JOIN so_resultentry ON T_OrderDetailT_OrderHeaderID = $id AND So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y' AND So_ResultEntrySo_TemplateName = 'FISIK UMUM' JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryFisikUmumM_LangID= 1 AND So_ResultEntryFisikUmumType = 'fisik'"; $f_details = $this->db_onedev->query($sql)->row(); if($f_details){ $f_data = json_decode($f_details->So_ResultEntryFisikUmumDetails,true); foreach ($f_data as $section) { // Loop through the details within each section foreach ($section['details'] as $detail) { // Check if the label is 'Tekanan Darah' if ($detail['label'] == 'Tekanan Darah') { // Extract the systolic and diastolic values list($systolic, $diastolic) = explode('/', $detail['value']); $rows[$k]['Framingham_DataSistolic'] = $systolic ; $rows[$k]['Framingham_DataDiastolic'] = $diastolic ; $rows[$k]['tekanandarah'] = $systolic."/".$diastolic; $systolic = $systolic ; } } } $sql = "SELECT T_OrderDetailResult FROM t_orderdetail WHERE T_OrderDetailT_OrderHeaderID = $id AND T_OrderDetailT_TestName = 'Cholesterol' AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $cholesterol = $this->db_onedev->query($sql)->row(); $rows[$k]['Framingham_DataChol'] = $cholesterol->T_OrderDetailResult; $chol = $cholesterol->T_OrderDetailResult; $sql = "SELECT T_OrderDetailResult FROM t_orderdetail WHERE T_OrderDetailT_OrderHeaderID = $id AND T_OrderDetailT_TestName = 'HDL Cholesterol' AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $hdl = $this->db_onedev->query($sql)->row(); $rows[$k]['Framingham_DataHDL'] = $hdl->T_OrderDetailResult; $hdl = $hdl->T_OrderDetailResult; $sql = "SELECT COUNT(*) is_ecg_treadmill FROM t_orderdetail JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID JOIN so_resultentry_category_result ON So_ResultEntryCategoryResultSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryCategoryResultValue = 'AF' AND So_ResultEntryCategoryResultIsActive = 'Y' WHERE T_OrderDetailT_OrderHeaderID = $id AND (T_OrderDetailT_TestName = 'ECG' OR T_OrderDetailT_TestName = 'Treadmill') AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $is_ecg_treadmill_af = $this->db_onedev->query($sql)->row(); if($is_ecg_treadmill_af->is_ecg_treadmill_af > 0){ $rows[$k]['Framingham_DataInAtrialFibrillation'] = 'Y'; $rows[$k]['AtrialFibrillation'] = 'Ya'; $af = 'Y'; }else{ $rows[$k]['Framingham_DataInAtrialFibrillation'] = 'N'; $rows[$k]['AtrialFibrillation'] = 'Tidak'; $af = 'N'; } $sql = "SELECT COUNT(*) is_ecg_treadmill FROM t_orderdetail JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID JOIN so_resultentry_category_result ON So_ResultEntryCategoryResultSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryCategoryResultValue = 'LVH' AND So_ResultEntryCategoryResultIsActive = 'Y' WHERE T_OrderDetailT_OrderHeaderID = $id AND (T_OrderDetailT_TestName = 'ECG' OR T_OrderDetailT_TestName = 'Treadmill') AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $is_ecg_treadmill_lv = $this->db_onedev->query($sql)->row(); if($is_ecg_treadmill_lvh->is_ecg_treadmill_lvh > 0){ $rows[$k]['Framingham_DataECGLVH'] = 'Y'; $rows[$k]['ECGLVH'] = 'Ya'; $lvh = 'Y'; }else{ $rows[$k]['Framingham_DataECGLVH'] = 'N'; $rows[$k]['ECGLVH'] = 'Tidak'; $lvh = 'N'; } $sql = "SELECT So_ResultEntryFisikUmumDetails FROM t_orderdetail JOIN so_resultentry ON T_OrderDetailT_OrderHeaderID = $id AND So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y' AND So_ResultEntrySo_TemplateName = 'FISIK UMUM' JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryFisikUmumM_LangID= 1 AND So_ResultEntryFisikUmumType = 'riwayat'"; $f_riwayats = $this->db_onedev->query($sql)->row(); $f_riwayat = json_decode($f_riwayats->So_ResultEntryFisikUmumDetails,true); foreach ($f_riwayat as $section) { // Loop through the details within each section foreach ($section['details'] as $detail) { // Check if the label is 'Obat anti hypertensi' if ($detail['label'] == 'Obat anti hypertensi') { if($detail['chx']){ $rows[$k]['Framingham_DataOnAntiHypertensiveRx'] = 'Y'; $rows[$k]['AntiHypertensiveRx'] = 'Ya'; $hypertension = 'Y'; }else{ $rows[$k]['Framingham_DataOnAntiHypertensiveRx'] = 'N'; $rows[$k]['AntiHypertensiveRx'] = 'Tidak'; $hypertension = 'N'; } } } } $sql = "SELECT So_ResultEntryFisikUmumDetails FROM t_orderdetail JOIN so_resultentry ON T_OrderDetailT_OrderHeaderID = $id AND So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y' AND So_ResultEntrySo_TemplateName = 'FISIK UMUM' JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryFisikUmumM_LangID= 1 AND So_ResultEntryFisikUmumType = 'riwayat'"; $rokok = $this->checkSmokingStatus($f_riwayat); if($rokok === 'Y'){ $rows[$k]['Framingham_DataHistoryofSmoking'] = $rokok; $rows[$k]['HistoryofSmoking'] = 'Ya'; }else{ $rows[$k]['Framingham_DataHistoryofSmoking'] = $rokok; $rows[$k]['HistoryofSmoking'] = 'Tidak'; } $smoking = $rokok; $rows[$k]['fisik_umum'] = $f_riwayat; foreach ($f_riwayat as $item) { if ($item['title'] === 'RIWAYAT PENYAKIT') { foreach ($item['details'] as $detail) { foreach ($detail['details'] as $subDetail) { if ($subDetail['label'] === 'Diabetes Militus (Kencing manis)') { $chxValue = $subDetail['chx']; if($chxValue){ $riwayat_diabetes = 'Y'; $rows[$k]['riwayat_diabetes'] = $riwayat_diabetes; }else{ $riwayat_diabetes = 'N'; $rows[$k]['riwayat_diabetes'] = $riwayat_diabetes; } } } } } } $sql = "SELECT T_OrderDetailResult FROM t_orderdetail WHERE T_OrderDetailT_OrderHeaderID = $id AND T_OrderDetailT_TestName = 'Glukosa Darah Puasa' AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $result_glukosa_puasa = $this->db_onedev->query($sql)->row(); $glukosa_puasa = $result_glukosa_puasa->T_OrderDetailResult; $rows[$k]['glukosa_puasa'] = $glukosa_puasa; $sql = "SELECT T_OrderDetailResult FROM t_orderdetail WHERE T_OrderDetailT_OrderHeaderID = $id AND T_OrderDetailT_TestName = 'HbA1c' AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y'"; $result_hba1c = $this->db_onedev->query($sql)->row(); $hba1c = $result_hba1c->T_OrderDetailResult; $rows[$k]['hba1c'] = $hba1c; if($riwayat_diabetes == 'Y' || $glukosa_puasa > 126 || $hba1c >= 6.5){ $diabetes = 'Y'; $rows[$k]['Framingham_DataHistoryofDiabetes'] = 'Y'; $rows[$k]['HistoryofDiabetes'] = 'Ya'; }else{ $diabetes = 'N'; $rows[$k]['Framingham_DataHistoryofDiabetes'] ='N'; $rows[$k]['HistoryofDiabetes'] = 'Tidak'; } $cardiovaskuler = $this->checkPeripheralVascular($f_riwayat); if($cardiovaskuler === 'Y'){ $rows[$k]['Framingham_DataHistoryofPeripheralVascular'] = $cardiovaskuler; $rows[$k]['HistoryofPeripheralVascular'] = 'Ya'; }else{ $rows[$k]['Framingham_DataHistoryofPeripheralVascular'] = $cardiovaskuler; $rows[$k]['HistoryofPeripheralVascular'] = 'Tidak'; } $history_chd = $cardiovaskuler; // Define helper function for IF conditions (returns 1 if condition met, else 0) // Check if gender is male ("L") if ($gender == "L") { // CHD $Framingham_RiskOfChdSystolic = log($systolic) * -0.9119; $rows[$k]['Framingham_RiskOfChdSystolic'] = $Framingham_RiskOfChdSystolic; $Framingham_RiskOfChdSmooking = $this->if_condition($smoking) * -0.2767; $rows[$k]['Framingham_RiskOfChdSmooking'] = $Framingham_RiskOfChdSmooking; $Framingham_RiskOfChdCholHdl = log($chol / $hdl) * -0.7181; $rows[$k]['Framingham_RiskOfChdCholHdl'] = $Framingham_RiskOfChdCholHdl; $Framingham_RiskOfChdEcg = $this->if_condition($lvh) * -0.5865; $rows[$k]['Framingham_RiskOfChdEcg'] = $Framingham_RiskOfChdEcg; $Framingham_RiskOfChdAge = log($age) * -1.4792; $rows[$k]['Framingham_RiskOfChdAge'] = $Framingham_RiskOfChdAge; $Framingham_RiskOfChdDiabet = $this->if_condition($diabetes) * - 0.1759; $rows[$k]['Framingham_RiskOfChdDiabet'] = $Framingham_RiskOfChdDiabet; $Framingham_RiskOfChdResult1 = $Framingham_RiskOfChdSystolic + $Framingham_RiskOfChdSmooking + $Framingham_RiskOfChdCholHdl + $Framingham_RiskOfChdEcg + $Framingham_RiskOfChdAge + $Framingham_RiskOfChdDiabet; $rows[$k]['Framingham_RiskOfChdResult1'] = $Framingham_RiskOfChdResult1; $Framingham_RiskOfChdResult2 = 11.1122 + $Framingham_RiskOfChdResult1; $rows[$k]['Framingham_RiskOfChdResult2'] = $Framingham_RiskOfChdResult2; $Framingham_RiskOfChdResult3 = log(10)-(4.4181 + $Framingham_RiskOfChdResult2); $rows[$k]['Framingham_RiskOfChdResult3'] = $Framingham_RiskOfChdResult3; $Framingham_RiskOfChdResult4 = exp(-0.3155-(0.2784 * $Framingham_RiskOfChdResult2)); $rows[$k]['Framingham_RiskOfChdResult4'] = $Framingham_RiskOfChdResult4; $Framingham_RiskOfChdResultFinal = 1-(EXP(-EXP($Framingham_RiskOfChdResult3/$Framingham_RiskOfChdResult4))); $rows[$k]['Framingham_RiskOfChdResultFinal'] = $Framingham_RiskOfChdResultFinal; $rows[$k]['Framingham_RiskOfChdResultFinalPercent'] = round($Framingham_RiskOfChdResultFinal * 100,2); //STROKE $Framingham_RiskOfStrokeAge = $age * 0.0505; $rows[$k]['Framingham_RiskOfStrokeAge'] = $Framingham_RiskOfStrokeAge; $Framingham_RiskOfStrokeSystolic = $systolic * 0.014; $rows[$k]['Framingham_RiskOfStrokeSystolic'] = $Framingham_RiskOfStrokeSystolic; $Framingham_RiskOfStrokeHipertensi = $this->if_condition($hypertension) * 0.3263; $rows[$k]['Framingham_RiskOfStrokeHipertensi'] = $Framingham_RiskOfStrokeHipertensi; $Framingham_RiskOfStrokeDiabet = $this->if_condition($diabetes) * 0.3384; $rows[$k]['Framingham_RiskOfStrokeDiabet'] = $Framingham_RiskOfStrokeDiabet; $Framingham_RiskOfStrokeSmooking = $this->if_condition($smoking) * 0.5147; $rows[$k]['Framingham_RiskOfStrokeSmooking'] = $Framingham_RiskOfStrokeSmooking; $Framingham_RiskOfStrokeVascularDisease = $this->if_condition($history_chd) * 0.5195; $rows[$k]['Framingham_RiskOfStrokeVascularDisease'] = $Framingham_RiskOfStrokeVascularDisease; $Framingham_RiskOfStrokeAtrialFIB = $this->if_condition($af) * 0.6061; $rows[$k]['Framingham_RiskOfStrokeAtrialFIB'] = $Framingham_RiskOfStrokeAtrialFIB; $Framingham_RiskOfStrokeEcg = $this->if_condition($lvh) * 0.8415; $rows[$k]['Framingham_RiskOfStrokeEcg'] = $Framingham_RiskOfStrokeEcg; $faktorlain = -5.677; $Framingham_RiskOfStrokeResult1 = $Framingham_RiskOfStrokeAge + $Framingham_RiskOfStrokeSystolic + $Framingham_RiskOfStrokeHipertensi + $Framingham_RiskOfStrokeDiabet + $Framingham_RiskOfStrokeSmooking + $Framingham_RiskOfStrokeVascularDisease + $Framingham_RiskOfStrokeAtrialFIB + $Framingham_RiskOfStrokeEcg + $faktorlain; $rows[$k]['Framingham_RiskOfStrokeResult1'] = $Framingham_RiskOfStrokeResult1; $Framingham_RiskOfStrokeFinal = 1 - pow(0.9044, exp($Framingham_RiskOfStrokeResult1)); $rows[$k]['Framingham_RiskOfStrokeFinal'] = $Framingham_RiskOfStrokeFinal; $rows[$k]['Framingham_RiskOfStrokeFinalPercent'] = round($Framingham_RiskOfStrokeFinal * 100,2); $rows[$k]['Framingham_RiskOfChdCardiovascularRisk'] = ($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100); $rows[$k]['Framingham_RiskOfChdCardiovascularRiskPercent'] = round(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2); $rows[$k]['Framingham_DataCalculated10RiskofCHD'] = round($Framingham_RiskOfChdResultFinal * 100,2); $rows[$k]['Framingham_DataCalculated10RiskofStroke'] = round($Framingham_RiskOfStrokeFinal * 100,2); $rows[$k]['Framingham_DataCalculated10RiskofCardiovascular'] = round(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2); $query ="SELECT 'SYSTOLIC' test, 'LN(SYSTOLIC)' rumus, '-0,9119' faktorkali, {$Framingham_RiskOfChdSystolic} hasil UNION SELECT 'SMOOKING' test, 'IF(SMOOKING=Ya,1,0)' rumus, '-0,2767' faktorkali, {$Framingham_RiskOfChdSmooking} hasil UNION SELECT 'CHOL TOT/HDL' test, 'LN(CHOL.TOT/HDL)' rumus, '-0,7181' faktorkali, {$Framingham_RiskOfChdCholHdl} hasil UNION SELECT 'ECG' test, 'IF(ECG=Ya,1,0)' rumus, '-0,5865' faktorkali, {$Framingham_RiskOfChdEcg} hasil UNION SELECT 'USIA' test, 'LN(UMUR)' rumus, '-1,4792' faktorkali, {$Framingham_RiskOfChdAge} hasil UNION SELECT 'DIABET' test, 'IF(DIABET=Ya,1,0)' rumus, '-0,1759' faktorkali, {$Framingham_RiskOfChdDiabet} hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, {$Framingham_RiskOfChdResult1} hasil UNION SELECT '' test, '' rumus, 'Hasil 2' faktorkali, {$Framingham_RiskOfChdResult2} hasil UNION SELECT '' test, '' rumus, 'Hasil 3' faktorkali, {$Framingham_RiskOfChdResult3} hasil UNION SELECT '' test, '' rumus, 'Hasil 4' faktorkali, {$Framingham_RiskOfChdResult4} hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, format({$Framingham_RiskOfChdResultFinal} * 100,2) hasil UNION SELECT '' test, '' rumus, 'Cardiovascular Risk' faktorkali, format(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2) hasil"; $chd = $this->db_onedev->query($query)->result_array(); $rows[$k]['chd'] = $chd; $query ="SELECT 'USIA' test, 'USIA' rumus, '0,0505' faktorkali, $Framingham_RiskOfStrokeAge hasil UNION SELECT 'SYSTOLIC' test, 'SYSTOLIC' rumus, '0,014' faktorkali, $Framingham_RiskOfStrokeSystolic hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '0,3263' faktorkali, $Framingham_RiskOfStrokeHipertensi hasil UNION SELECT 'DIABET' test, 'Ya=1, No=0' rumus, '0,3384' faktorkali, $Framingham_RiskOfStrokeDiabet hasil UNION SELECT 'SMOKING' test, 'Ya=1, No=0' rumus, '0,5147' faktorkali, $Framingham_RiskOfStrokeSmooking hasil UNION SELECT 'VASCULAR DISEASE' test, 'Ya=1, No=0' rumus, '0,5195' faktorkali, $Framingham_RiskOfStrokeVascularDisease hasil UNION SELECT 'ATRIAL FIB' test, 'Ya=1, No=0' rumus, '0,6061' faktorkali, $Framingham_RiskOfStrokeAtrialFIB hasil UNION SELECT 'ECG' test, 'Ya=1, No=0' rumus, '0,8415' faktorkali, $Framingham_RiskOfStrokeEcg hasil UNION SELECT 'Faktor lain' test, '' rumus, '' faktorkali, '-5,677' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, $Framingham_RiskOfStrokeResult1 hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, format($Framingham_RiskOfStrokeFinal * 100,2) hasil"; $stroke = $this->db_onedev->query($query)->result_array(); $rows[$k]['stroke'] = $stroke; } else { // Calculate the risk for female // CHD $Framingham_RiskOfChdSystolic = log($systolic) * -0.9119; $rows[$k]['Framingham_RiskOfChdSystolic'] = $Framingham_RiskOfChdSystolic; $Framingham_RiskOfChdSmooking = $this->if_condition($smoking) * -0.2767; $rows[$k]['Framingham_RiskOfChdSmooking'] = $Framingham_RiskOfChdSmooking; $Framingham_RiskOfChdCholHdl = log($chol / $hdl) * -0.7181; $rows[$k]['Framingham_RiskOfChdCholHdl'] = $Framingham_RiskOfChdCholHdl; $Framingham_RiskOfChdEcg = $this->if_condition($lvh) * -0.5865; $rows[$k]['Framingham_RiskOfChdEcg'] = $Framingham_RiskOfChdEcg; $Framingham_RiskOfChdAge = pow(log($age / 74), 2) * 1.8515; $rows[$k]['Framingham_RiskOfChdAge'] = $Framingham_RiskOfChdAge; $Framingham_RiskOfChdDiabet = $this->if_condition($diabetes) * - 0.3758; $rows[$k]['Framingham_RiskOfChdDiabet'] = $Framingham_RiskOfChdDiabet; $faktorlain = -5.8549; $Framingham_RiskOfChdResult1 = $Framingham_RiskOfChdSystolic + $Framingham_RiskOfChdSmooking + $Framingham_RiskOfChdCholHdl + $Framingham_RiskOfChdEcg + $Framingham_RiskOfChdAge + $Framingham_RiskOfChdDiabet + $faktorlain; $rows[$k]['Framingham_RiskOfChdResult1'] = $Framingham_RiskOfChdResult1; $Framingham_RiskOfChdResult2 = 11.1122 + $Framingham_RiskOfChdResult1; $rows[$k]['Framingham_RiskOfChdResult2'] = $Framingham_RiskOfChdResult2; $Framingham_RiskOfChdResult3 = log(10)-(4.4181 + $Framingham_RiskOfChdResult2); $rows[$k]['Framingham_RiskOfChdResult3'] = $Framingham_RiskOfChdResult3; $Framingham_RiskOfChdResult4 = exp(-0.3155-(0.2784 * $Framingham_RiskOfChdResult2)); $rows[$k]['Framingham_RiskOfChdResult4'] = $Framingham_RiskOfChdResult4; $Framingham_RiskOfChdResultFinal = 1-(EXP(-EXP($Framingham_RiskOfChdResult3/$Framingham_RiskOfChdResult4))); $rows[$k]['Framingham_RiskOfChdResultFinal'] = $Framingham_RiskOfChdResultFinal; $rows[$k]['Framingham_RiskOfChdResultFinalPercent'] = round($Framingham_RiskOfChdResultFinal * 100,2); //STROKE $Framingham_RiskOfStrokeAge = $age * 0.0657; $rows[$k]['Framingham_RiskOfStrokeAge'] = $Framingham_RiskOfStrokeAge; $Framingham_RiskOfStrokeSystolic = $systolic * 0.0197; $rows[$k]['Framingham_RiskOfStrokeSystolic'] = $Framingham_RiskOfStrokeSystolic; $Framingham_RiskOfStrokeHipertensi = $this->if_condition($hypertension) * 2.5432; $rows[$k]['Framingham_RiskOfStrokeHipertensi'] = $Framingham_RiskOfStrokeHipertensi; $Framingham_RiskOfStrokeDiabet = $this->if_condition($diabetes) * 0.5442; $rows[$k]['Framingham_RiskOfStrokeDiabet'] = $Framingham_RiskOfStrokeDiabet; $Framingham_RiskOfStrokeSmooking = $this->if_condition($smoking) * 0.5294; $rows[$k]['Framingham_RiskOfStrokeSmooking'] = $Framingham_RiskOfStrokeSmooking; $Framingham_RiskOfStrokeVascularDisease = $this->if_condition($history_chd) * 0.4326; $rows[$k]['Framingham_RiskOfStrokeVascularDisease'] = $Framingham_RiskOfStrokeVascularDisease; $Framingham_RiskOfStrokeAtrialFIB = $this->if_condition($af) * 1.1497; $rows[$k]['Framingham_RiskOfStrokeAtrialFIB'] = $Framingham_RiskOfStrokeAtrialFIB; $Framingham_RiskOfStrokeEcg = $this->if_condition($lvh) * 0.8488; $rows[$k]['Framingham_RiskOfStrokeEcg'] = $Framingham_RiskOfStrokeEcg; $Framingham_RiskOfStrokeHipertensi2 = $this->if_condition($hypertension) * -0.0134 * $systolic; $rows[$k]['Framingham_RiskOfStrokeHipertensi2'] = $Framingham_RiskOfStrokeHipertensi2; $faktorlain = -7.5766; $Framingham_RiskOfStrokeResult1 = $Framingham_RiskOfStrokeAge + $Framingham_RiskOfStrokeSystolic + $Framingham_RiskOfStrokeHipertensi + $Framingham_RiskOfStrokeDiabet + $Framingham_RiskOfStrokeSmooking + $Framingham_RiskOfStrokeVascularDisease + $Framingham_RiskOfStrokeAtrialFIB + $Framingham_RiskOfStrokeEcg + $Framingham_RiskOfStrokeHipertensi2 + $faktorlain; $rows[$k]['Framingham_RiskOfStrokeResult1'] = $Framingham_RiskOfStrokeResult1; $Framingham_RiskOfStrokeFinal = 1 - pow(0.9353, exp($Framingham_RiskOfStrokeResult1)); $rows[$k]['Framingham_RiskOfStrokeFinal'] = $Framingham_RiskOfStrokeFinal; $rows[$k]['Framingham_RiskOfStrokeFinalPercent'] = round($Framingham_RiskOfStrokeFinal * 100,2); $rows[$k]['Framingham_RiskOfChdCardiovascularRisk'] = ($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100); $rows[$k]['Framingham_RiskOfChdCardiovascularRiskPercent'] = round(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2); $rows[$k]['Framingham_DataCalculated10RiskofCHD'] = round($Framingham_RiskOfChdResultFinal * 100,2); $rows[$k]['Framingham_DataCalculated10RiskofStroke'] = round($Framingham_RiskOfStrokeFinal * 100,2); $rows[$k]['Framingham_DataCalculated10RiskofCardiovascular'] = round(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2); $query ="SELECT 'SYSTOLIC' test, 'LN(SYSTOLIC)' rumus, '-0,9119' faktorkali, $Framingham_RiskOfChdSystolic hasil UNION SELECT 'SMOOKING' test, 'IF(SMOOKING=Ya,1,0)' rumus, '-0,2767' faktorkali, $Framingham_RiskOfChdSmooking hasil UNION SELECT 'CHOL TOT/HDL' test, 'LN(CHOL.TOT/HDL)' rumus, '-0,7181' faktorkali, $Framingham_RiskOfChdCholHdl hasil UNION SELECT 'ECG' test, 'IF(ECG=Ya,1,0)' rumus, '-0,5865' faktorkali, $Framingham_RiskOfChdEcg hasil UNION SELECT 'USIA' test, 'LN(UMUR/74)^2' rumus, '1,8515' faktorkali, $Framingham_RiskOfChdAge hasil UNION SELECT 'Faktor Lain' test, '' rumus, '' faktorkali, '-5,8549' hasil UNION SELECT 'DIABET' test, 'IF(DIABET=Ya,1,0)' rumus, '0,3758' faktorkali, $Framingham_RiskOfChdDiabet hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, {$Framingham_RiskOfChdResult1} hasil UNION SELECT '' test, '' rumus, 'Hasil 2' faktorkali, {$Framingham_RiskOfChdResult2} hasil UNION SELECT '' test, '' rumus, 'Hasil 3' faktorkali, {$Framingham_RiskOfChdResult3} hasil UNION SELECT '' test, '' rumus, 'Hasil 4' faktorkali, {$Framingham_RiskOfChdResult4} hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, format({$Framingham_RiskOfChdResultFinal} * 100,2) hasil UNION SELECT '' test, '' rumus, 'Cardiovascular Risk' faktorkali, format(($Framingham_RiskOfChdResultFinal * 100) + ($Framingham_RiskOfStrokeFinal * 100),2) hasil"; $chd = $this->db_onedev->query($query)->result_array(); $rows[$k]['chd'] = $chd; $query ="SELECT 'USIA' test, 'USIA' rumus, '0,0505' faktorkali, $Framingham_RiskOfStrokeAge hasil UNION SELECT 'SYSTOLIC' test, 'SYSTOLIC' rumus, '0,0197' faktorkali, $Framingham_RiskOfStrokeSystolic hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '2,5432' faktorkali, $Framingham_RiskOfStrokeHipertensi hasil UNION SELECT 'DIABET' test, 'Ya=1, No=0' rumus, '0,5442' faktorkali, $Framingham_RiskOfStrokeDiabet hasil UNION SELECT 'SMOKING' test, 'Ya=1, No=0' rumus, '0,5294' faktorkali, $Framingham_RiskOfStrokeSmooking hasil UNION SELECT 'VASCULAR DISEASE' test, 'Ya=1, No=0' rumus, '0,4326' faktorkali, $Framingham_RiskOfStrokeVascularDisease hasil UNION SELECT 'ATRIAL FIB' test, 'Ya=1, No=0' rumus, '1,1497' faktorkali, $Framingham_RiskOfStrokeAtrialFIB hasil UNION SELECT 'ECG' test, 'Ya=1, No=0' rumus, '0,8488' faktorkali, $Framingham_RiskOfStrokeEcg hasil UNION SELECT 'HIPERTENSI' test, 'Ya=1, No=0' rumus, '-0,0134' faktorkali, $Framingham_RiskOfStrokeHipertensi2 hasil UNION SELECT 'Faktor lain' test, '' rumus, '' faktorkali, '-7,5766' hasil UNION SELECT '' test, '' rumus, 'Hasil 1' faktorkali, $Framingham_RiskOfStrokeResult1 hasil UNION SELECT '' test, '' rumus, 'Hasil Akhir' faktorkali, format($Framingham_RiskOfStrokeFinal * 100,2) hasil"; $stroke = $this->db_onedev->query($query)->result_array(); $rows[$k]['stroke'] = $stroke; } } } } $result = array( "total" => count($rows) , "records" => $rows, ); $this->sys_ok($result); exit; } function if_condition($condition) { return $condition === "Y" ? 1 : 0; } function checkSmokingStatus($data) { foreach ($data as $section) { if ($section['title'] === 'RIWAYAT KEBIASAAN HIDUP') { foreach ($section['details'] as $habit) { if ($habit['name'] === 'Merokok') { foreach ($habit['details'] as $smokeDetail) { if ($smokeDetail['segment_name'] === 'Merokok' && $smokeDetail['label'] !== 'Tidak merokok' && $smokeDetail['chx'] === true) { return "Y"; } } return "N"; } } } } return "N"; } function checkPeripheralVascular($data) { foreach ($data as $section) { if ($section['title'] === 'RIWAYAT PENYAKIT') { foreach ($section['details'] as $habit) { if ($habit['name'] === 'Merokok') { foreach ($habit['details'] as $vascularDetail) { if ($vascularDetail['segment_name'] === 'System cardiovaskuler' && $vascularDetail['label'] !== 'Anemia' && $vascularDetail['chx'] === true) { return "Y"; } } return "N"; } } } } return "N"; } function saveframingham(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $sql = "INSERT INTO framingham_data ( Framingham_DataT_OrderHeaderID, Framingham_DataSistolic, Framingham_DataDiastolic, Framingham_DataChol, Framingham_DataHDL, Framingham_DataInAtrialFibrillation, Framingham_DataOnAntiHypertensiveRx, Framingham_DataHistoryofSmoking, Framingham_DataHistoryofDiabetes, Framingham_DataHistoryofPeripheralVascular, Framingham_DataECGLVH, Framingham_DataCalculated10RiskofCHD, Framingham_DataCalculated10RiskofStroke, Framingham_DataCalculated10RiskofCardiovascular, Framingham_DataUserID) VALUE('{$prm['details']['Framingham_DataT_OrderHeaderID']}', '{$prm['details']['Framingham_DataSistolic']}', '{$prm['details']['Framingham_DataDiastolic']}', '{$prm['details']['Framingham_DataChol']}', '{$prm['details']['Framingham_DataHDL']}', '{$prm['details']['Framingham_DataInAtrialFibrillation']}', '{$prm['details']['Framingham_DataOnAntiHypertensiveRx']}', '{$prm['details']['Framingham_DataHistoryofSmoking']}', '{$prm['details']['Framingham_DataHistoryofDiabetes']}', '{$prm['details']['Framingham_DataHistoryofPeripheralVascular']}', '{$prm['details']['Framingham_DataECGLVH']}', '{$prm['details']['Framingham_DataCalculated10RiskofCHD']}', '{$prm['details']['Framingham_DataCalculated10RiskofStroke']}', '{$prm['details']['Framingham_DataCalculated10RiskofCardiovascular']}', $userid)"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_data insert"); exit; } $last_id = $this->db_onedev->insert_id(); $sql = "INSERT INTO framingham_riskofchd ( Framingham_RiskOfChdFramingham_DataID, Framingham_RiskOfChdSystolic, Framingham_RiskOfChdSmooking, Framingham_RiskOfChdCholHdl, Framingham_RiskOfChdEcg, Framingham_RiskOfChdAge, Framingham_RiskOfChdDiabet, Framingham_RiskOfChdResult1, Framingham_RiskOfChdResult2, Framingham_RiskOfChdResult3, Framingham_RiskOfChdResult4, Framingham_RiskOfChdResultFinal, Framingham_RiskOfChdResultFinalPercent, Framingham_RiskOfChdCardiovascularRisk, Framingham_RiskOfChdCardiovascularRiskPercent, Framingham_RiskOfChdUserID) VALUE($last_id, '{$prm['details']['Framingham_RiskOfChdSystolic']}', '{$prm['details']['Framingham_RiskOfChdSmooking']}', '{$prm['details']['Framingham_RiskOfChdCholHdl']}', '{$prm['details']['Framingham_RiskOfChdEcg']}', '{$prm['details']['Framingham_RiskOfChdAge']}', '{$prm['details']['Framingham_RiskOfChdDiabet']}', '{$prm['details']['Framingham_RiskOfChdResult1']}', '{$prm['details']['Framingham_RiskOfChdResult2']}', '{$prm['details']['Framingham_RiskOfChdResult3']}', '{$prm['details']['Framingham_RiskOfChdResult4']}', '{$prm['details']['Framingham_RiskOfChdResultFinal']}', '{$prm['details']['Framingham_RiskOfChdResultFinalPercent']}', '{$prm['details']['Framingham_RiskOfChdCardiovascularRisk']}', '{$prm['details']['Framingham_RiskOfChdCardiovascularRiskPercent']}', $userid)"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_riskofchd insert"); exit; } $sql = "INSERT INTO framingham_riskofstroke ( Framingham_RiskOfStrokeFramingham_DataID, Framingham_RiskOfStrokeAge, Framingham_RiskOfStrokeSystolic, Framingham_RiskOfStrokeHipertensi, Framingham_RiskOfStrokeDiabet, Framingham_RiskOfStrokeSmooking, Framingham_RiskOfStrokeVascularDisease, Framingham_RiskOfStrokeAtrialFIB, Framingham_RiskOfStrokeEcg, Framingham_RiskOfStrokeHipertensi2, Framingham_RiskOfStrokeResult1, Framingham_RiskOfStrokeFinal, Framingham_RiskOfStrokeFinalPercent, Framingham_RiskOfStrokeUserID) VALUE($last_id, '{$prm['details']['Framingham_RiskOfStrokeAge']}', '{$prm['details']['Framingham_RiskOfStrokeSystolic']}', '{$prm['details']['Framingham_RiskOfStrokeHipertensi']}', '{$prm['details']['Framingham_RiskOfStrokeDiabet']}', '{$prm['details']['Framingham_RiskOfStrokeSmooking']}', '{$prm['details']['Framingham_RiskOfStrokeVascularDisease']}', '{$prm['details']['Framingham_RiskOfStrokeAtrialFIB']}', '{$prm['details']['Framingham_RiskOfStrokeEcg']}', '{$prm['details']['Framingham_RiskOfStrokeHipertensi2']}', '{$prm['details']['Framingham_RiskOfStrokeResult1']}', '{$prm['details']['Framingham_RiskOfStrokeFinal']}', '{$prm['details']['Framingham_RiskOfStrokeFinalPercent']}', $userid)"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_riskofstroke insert"); exit; } $result = array ("total" => 1, "records" => array("id" => $prm['Framingham_DataT_OrderHeaderID'])); $this->sys_ok($result); } function resetframingham(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $sql = "UPDATE framingham_data SET Framingham_DataIsActive = 'N' WHERE Framingham_DataID = {$prm['Framingham_DataID']}"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_data delete"); exit; } $sql = "UPDATE framingham_riskofchd SET Framingham_RiskOfChdIsActive = 'N' WHERE Framingham_RiskOfChdFramingham_DataID = {$prm['Framingham_DataID']}"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_riskofchd delete"); exit; } $sql = "UPDATE framingham_riskofstroke SET Framingham_RiskOfStrokeIsActive = 'N' WHERE Framingham_RiskOfStrokeFramingham_DataID = {$prm['Framingham_DataID']}"; $query = $this->db_onedev->query($sql); // echo $query; if (!$query) { $this->sys_error_db("framingham_riskofstroke delete"); exit; } $result = array ("total" => 1, "records" => array("id" => $prm['Framingham_DataT_OrderHeaderID'])); $this->sys_ok($result); } }