db_smartone = $this->load->database("onedev", true); $this->hostname = $_SERVER['HTTP_HOST'];; } public function post($url, $data) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/text", "Content-Length: " . strlen($data), ]); $result = curl_exec($ch); if (curl_error($ch) != "") { echo json_encode([ "status" => "ERR", "message" => "Http Error : " . curl_error($ch), ]); curl_close($ch); exit(); } curl_close($ch); return $result; } function convertobjtoarr($data) { if (is_object($data)) { $data = get_object_vars($data); } if (is_array($data)) { return array_map(__FUNCTION__, $data); } else { return $data; } } function keluhan_saat_ini($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = ""; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'KELUHAN SAAT INI' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ""; } $rows = $qry->result_array(); if (count($rows) == 0) { return ""; } $keluhan_saat_ini = ""; if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); // print_r($d); //keluhan saat ini $arr_keluhan = []; //echo $d["title"]; if ($d["title"] == "KELUHAN SAAT INI") { if ($d["flag_normal"] == "Y") { $keluhan_saat_ini = ""; } else { foreach ($d["details"] as $xd) { if ($xd["chx"] == "1") { $arr_keluhan[] = $xd["label"] . " " . $xd["value"]; if ($keluhan_saat_ini != "") $keluhan_saat_ini .= ", "; $keluhan_saat_ini .= $xd["label"]; } } } } // print_r($keluhan_saat_ini); $string_keluhan = count($arr_keluhan) > 0 ? join(", ", $arr_keluhan) : "-"; if ($keluhan_saat_ini == '') { $keluhan_saat_ini = '-'; } $ret_array = $keluhan_saat_ini == '' ? $keluhan_saat_ini : "-"; $rst_xc[] = $keluhan_saat_ini == '' ? $keluhan_saat_ini : "-"; // print_r($rst_xc); // return $rst; // print_r($keluhan_saat_ini); } else { return ''; } if ($isApi) { echo json_encode($string_keluhan); } else { return $string_keluhan; } } function riwayat_phobia($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT POBIA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_phobia = array(); if ($d["title"] == "RIWAYAT POBIA") { if ($d["flag_normal"] == "Y") { $riwayat_phobia = array(); } else { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $riwayat_phobia[] = $gp["label"]; } } } } $rst = array(); $rst['a1'] = "-"; if (count($riwayat_phobia) == 0) $rst['a2'] = "-"; else $rst['a2'] = join(", ", $riwayat_phobia); } else { $rst['a1'] = ''; $rst['a2'] = ''; } if ($isApi) { echo json_encode($rst); } else { return $rst['a2']; } } function riwayat_penyakit($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT PENYAKIT' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_penyakit = array(); if ($d["title"] == "RIWAYAT PENYAKIT") { if ($d["flag_normal"] == "Y") { $riwayat_penyakit = array(); //$d["label_flag_normal"]; // exit; } else { foreach ($d["details"] as $gp) { if ($gp['name'] != "Allergi") { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { //print_r($xd); $hasil = str_replace("Militus", "Melitus", $xd["label"]); if ($xd["value"] != '') $hasil = ($xd["label"] == "Lain-lain ( Penyakit lainnya )") ? $xd["value"] : $xd["label"] . " (" . $xd["value"] . ")"; $arr_result[] = array($xd["label"], $xd["value"], $xd["segment_name"], $xd["id"]); if ( $xd["label"] !== "Lain-lain ( Sistem Pencernaan )" && $xd["label"] !== "Lain-lain ( Sistem Pernafasan )" && $xd["label"] !== "Lain-lain ( Sistem Cardiovaskuler )*" && $xd["label"] !== "Lain-lain ( Sistem Syaraf )" && $xd["label"] !== "Lain-lain ( Sistem Penglihatan )" && $xd["label"] !== "Lain-lain ( Sistem Pendengaran/THT )" && $xd["label"] !== "Lain-lain ( Ginjal & Saluran Kemih )" && $xd["label"] !== "Lain-lain ( Tulang, Sendi & Otot )" && $xd["label"] !== "Lain-lain ( Kulit & Sistem Reproduksi )" && $xd["label"] !== "Lain-lain ( Sistem Endokrin )" && $xd["label"] !== "Lain-lain ( Penyakit daerah tropis )" && $xd["label"] !== "Lain-lain ( Penyakit lainnya )" ) { $riwayat_penyakit[] = $hasil; } else { $riwayat_penyakit[] = $hasil; } } } } } } } if (count($riwayat_penyakit) > 0) $ret_array['b2'] = join("\r\n", str_replace("*", "", $riwayat_penyakit)); else $ret_array['b2'] = "-"; } else { $ret_array['b1'] = ''; $ret_array['b2'] = ''; } // print_r('Coba'); if ($isApi) { echo json_encode($ret_array); } else { return $ret_array['b2']; } // return $ret_array; } function alergi($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT PENYAKIT' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ""; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_penyakit = array(); if ($d["title"] == "RIWAYAT PENYAKIT") { if ($d["flag_normal"] == "Y") { $riwayat_penyakit = array(); //$d["label_flag_normal"]; // exit; } else { foreach ($d["details"] as $gp) { if ($gp['name'] == "Allergi") { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd['id_code'] != 'fisik_penyakit_64') { $arr_result[] = array($xd["label"], $xd["value"], $xd["segment_name"], $xd["id"]); $hasil = $xd["label"]; if ($xd['value'] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $riwayat_penyakit[] = $hasil; } if ($xd["chx"] == 1 && $xd['id_code'] == 'fisik_penyakit_64') { //echo $xd['id_code']; $arr_result[] = array($xd["label"], $xd["value"], $xd["segment_name"], $xd["id"]); $hasil = $xd["label"]; if ($xd['value'] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $riwayat_penyakit[] = $hasil; } } } } } } if (count($riwayat_penyakit) > 0) $ret_array['a2'] = join(", ", $riwayat_penyakit); else $ret_array['a2'] = "-"; } else { $ret_array['a1'] = ''; $ret_array['a2'] = ''; } if ($isApi) { echo json_encode($ret_array); } else { return $ret_array['a2']; } } function riwayat_keluarga($id, $type) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = ""; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT PENYAKIT KELUARGA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_keluarga = array(); $ayah = []; $ibu = []; if ($d["title"] == "RIWAYAT PENYAKIT KELUARGA") { if ($d["flag_normal"] == "Y") { // $ret_array = "-"; $string_ayah = count($ayah) > 0 ? join(", ", $ayah) : "-"; $string_ibu = count($ibu) > 0 ? join(", ", $ibu) : "-"; if ($string_ibu == '') $string_ibu = "-"; if ($string_ayah == '') $string_ayah = "-"; //echo $string_ibu; if ($type == 'ayah') $ret_array = $string_ayah; else $ret_array = $string_ibu; //$d["label_flag_normal"]; //exit; } else { //print_r($d["details"]); // $ayah = []; // $ibu = []; foreach ($d["details"] as $gp) { if (true || $gp["chx"] == 1) { //print_r($gp["options"]); $arr_result[] = array($gp["label"], $gp["value"], $gp["id"]); foreach ($gp["options"] as $k => $gpd) { if ($gpd["selected"] == 1) { $label = $gp["label"]; if ($label == "Diabetes Millitus") { $label = "Diabetes Melitus"; } if ($label == "Hypertensi") { $label = "Hipertensi"; } if ($k == 0) { $ayah[] = $label; } else { $ibu[] = $label; } } } } } $string_ayah = count($ayah) > 0 ? join(", ", $ayah) : "-"; $string_ibu = count($ibu) > 0 ? join(", ", $ibu) : "-"; if ($type == 'ayah') $ret_array = $string_ayah; else $ret_array = $string_ibu; } } if ($isApi) { echo json_encode($ret_array); } else { return $ret_array; } } function merokok($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT KEBIASAAN HIDUP' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_hidup = array(); if ($d["title"] == "RIWAYAT KEBIASAAN HIDUP") { if ($d["flag_normal"] == "Y") { $riwayat_hidup = array(); //$d["label_flag_normal"]; //exit; } else { foreach ($d["details"] as $gp) { if ($gp['name'] == 'Merokok') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { $arr_result[] = array($xd["segment_name"], $xd["label"], $xd["value"]); if ($xd['id_code'] != 'fisik_kebiasaanhidup_4') { $riwayat_hidup[] = $xd['label'] . ' ' . $xd["value"]; } else { $riwayat_hidup[] = $xd["label"] . ' ' . $xd["value"] . ' ' . $xd['suffix']; } } } } } } } if (count($riwayat_hidup) > 0) { $ret_array['a2'] = join(", ", $riwayat_hidup); } else { $ret_array['a2'] = "-"; } if ($isApi) { echo json_encode($ret_array); } else { return $ret_array['a2']; } } function alkohol($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT KEBIASAAN HIDUP' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_hidup = array(); if ($d["title"] == "RIWAYAT KEBIASAAN HIDUP") { if ($d["flag_normal"] == "Y") { $riwayat_hidup = array(); //$d["label_flag_normal"]; //exit; } else { foreach ($d["details"] as $gp) { if ($gp['name'] == 'Minum alkohol') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { $arr_result[] = array($xd["segment_name"], $xd["label"], $xd["value"]); if ($xd['id_code'] != 'fisik_kebiasaanhidup_4') { $riwayat_hidup[] = $xd['label'] . ' ' . $xd["value"]; } else { $riwayat_hidup[] = $xd["label"] . ' ' . $xd["value"] . ' ' . $xd['suffix']; } } } } } } } if (count($riwayat_hidup) > 0) { $ret_array['a2'] = join(", ", $riwayat_hidup); } else { $ret_array['a2'] = "-"; } if ($isApi) { echo json_encode($ret_array); } else { return $ret_array['a2']; } } function olahraga($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT KEBIASAAN HIDUP' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_hidup = array(); if ($d["title"] == "RIWAYAT KEBIASAAN HIDUP") { if ($d["flag_normal"] == "Y") { $riwayat_hidup = array(); //$d["label_flag_normal"]; //exit; } else { foreach ($d["details"] as $gp) { if ($gp['name'] == 'Olahraga') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { $arr_result[] = array($xd["segment_name"], $xd["label"], $xd["value"]); if ($xd['id_code'] != 'fisik_kebiasaanhidup_4') { $riwayat_hidup[] = $xd['label'] . ' ' . $xd["value"]; } else { $jumlah_olahraga = ""; if ($xd["value"] != '') $jumlah_olahraga = $xd["value"] . ' ' . $xd['suffix']; $riwayat_hidup[] = $xd["label"] . ' ' . $jumlah_olahraga; } } } } } } } if (count($riwayat_hidup) > 0) { $ret_array['a2'] = join(", ", $riwayat_hidup); } else { $ret_array['a2'] = "-"; } if ($isApi) { echo json_encode($ret_array); } else { return $ret_array['a2']; } } function riwayat_obat($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $ret_array['a1'] = "-"; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT KONSUMSI OBAT TERATUR' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_obat = array(); if ($d["title"] == "RIWAYAT KONSUMSI OBAT TERATUR") { if ($d["flag_normal"] == "Y") { $riwayat_obat = array(); //$d["label_flag_normal"]; // exit; } else { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $riwayat_obat[] = $hasil; } } } } $string_obat = count($riwayat_obat) > 0 ? join(", ", $riwayat_obat) : "-"; $ret_array['a2'] = $string_obat; if ($isApi) { echo json_encode($string_obat); } else { return $string_obat; } } function riwayat_imunisasi($id) { $prm = $this->sys_input; $isApi = false; if ($prm['api'] == 'Y') { $isApi = true; } $ret_array = []; $ret_array['a1'] = "-"; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'RIWAYAT IMUNISASI' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $riwayat_imunisasi = array(); if ($d["title"] == "RIWAYAT IMUNISASI") { if ($d["flag_normal"] == "Y") { $riwayat_imunisasi = array(); //$d["label_flag_normal"]; } else { foreach ($d["details"] as $gp) { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { if ($xd["label"] == 'Pernah') $riwayat_imunisasi[] = str_replace(",", " ", $xd["segment_name"]) . ' ' . $xd["value"]; } } } } } $string_obat = count($riwayat_imunisasi) > 0 ? join(", ", $riwayat_imunisasi) : "-"; $ret_array['a2'] = $string_obat; if ($isApi) { echo $string_obat; } else { return $string_obat; } // return [$ret_array]; } //pemeriksaan Fisik function tbbbbodyfat($id, $type, $debug = "N") { $OhID = -1; $sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID FROM t_orderheader JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND So_ResultEntryID = {$id} JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID"; // echo $sql; $data_patient = $this->db_smartone->query($sql)->row_array(); if ($data_patient) { $OhID = $data_patient['T_OrderHeaderID']; } $ret_array = []; $sql = "SELECT * FROM so_resultentry JOIN t_samplingso_additional_fisik_bbtb ON So_ResultEntryT_OrderHeaderID = T_SamplingAdditionalFisikBBTBT_OrderHeaderID AND T_SamplingAdditionalFisikBBTBIsActive = 'Y' JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN mgm_mcu ON T_OrderHeaderMgm_McuID = Mgm_McuID WHERE So_ResultEntryID = $id LIMIT 1"; //echo $sql; $qry = $this->db_smartone->query($sql); if (!$qry) { return ''; } //echo $this->db_smartone->last_query(); $row_result = $qry->row_array(); $status_gizi = array(); $bb = $row_result["T_SamplingAdditionalFisikBBTBValueBB"]; $tb = $row_result["T_SamplingAdditionalFisikBBTBValueTB"]; $bodyfat = $row_result["T_SamplingAdditionalFisikBBTBBodyFat"] == -1 ? "Tidak dilakukan" : $row_result["T_SamplingAdditionalFisikBBTBBodyFat"]; $standart_bmi = $row_result["T_SamplingAdditionalFisikBBTBStandart"]; $standart_text = "Standart " . ucwords(str_replace("_", " ", $standart_bmi)); $show_standart = $row_result["Mgm_McuShowStandartBMI"]; $get_bmi = $this->hitung_bmi($bb, $tb, $standart_bmi); $bmi = $get_bmi['bmi'] == 'nan' ? '' : $get_bmi['bmi']; $classification = $get_bmi['class']; if ($type == "TB") $ret_array['a2'] = $tb . ' cm'; else if ($type == "BB") $ret_array['a2'] = $bb . ' kg'; else if ($type == "BMI") { $ret_array['a2'] = $bmi . " " . $classification ?? ''; if ($show_standart == 'Y') $ret_array['a2'] = $bmi . " " . $classification . " (" . $standart_text . ")"; } else { if ($OhID != -1) { $sql = "SELECT * FROM t_orderdetail WHERE T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestCode = '40110902' AND T_OrderDetailT_OrderHeaderID = {$OhID}"; $qry = $this->db_smartone->query($sql); if (! $qry) { return ''; } //echo $this->db_smartone->last_query(); $exist_result = $qry->result_array(); if (count($exist_result) == 0) $ret_array['a2'] = ''; else $ret_array['a2'] = $bodyfat . '%'; } } if ($debug == 'Y') { # code... $this->sys_ok($ret_array['a2']); } else { return $ret_array['a2']; } } function pengukuran($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND ( FisikTemplateTitle = 'PERUT / ABDOMEN' ) WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $pengukuran = array(); if ($d["title"] == "PERUT / ABDOMEN") { foreach ($d["details"] as $gp) { if($gp['name'] == 'Pengukuran'){ foreach($gp['details'] as $xd){ if($xd['id_code'] == 'perut_18'){ $pengukuran['lingkar_perut'] = $xd['value']." ".$xd['unit']; } if($xd['id_code'] == 'perut_19'){ $pengukuran['lingkar_pinggang'] = $xd['value']." ".$xd['unit']; } } } } } //echo json_encode($ret_array['a2']); return $pengukuran; } function tekanan_darah($id, $type) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND ( FisikTemplateTitle = 'TANDA VITAL' OR FisikTemplateTitle = 'TEKANAN DARAH' ) WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $tanda_vital = array(); if ($d["title"] == "TANDA VITAL" || $d["title"] == "TEKANAN DARAH") { foreach ($d["details"] as $gp) { if ($gp['id_code'] == 'tanda_vital_5') { if ($type == 'sistolik') $ret_array['a2'] = $gp['value_x'] . " mmHg"; else $ret_array['a2'] = $gp['value_y'] . " mmHg"; //$ret_array['a2'] = array("Sistolik" => $gp['value_x']." mmHg","Diastolik" => $gp['value_y']." mmHg"); } } } //echo json_encode($ret_array['a2']); return $ret_array['a2']; } function klasifikasi_bmi($bmi) { $standart_bmi = 'asia_pacific'; $bmi_valuex = number_format($bmi, 2); $classs = "Undefined"; if ($standart_bmi === 'asia_pacific') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 23) $classs = 'Normal'; if ($bmi_valuex >= 23 && $bmi_valuex < 25) $classs = 'Overweight'; if ($bmi_valuex >= 25 && $bmi_valuex < 30) $classs = 'Obese I'; if ($bmi_valuex >= 30) $classs = 'Obese II'; } if ($standart_bmi === 'who') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 25) { $classs = 'Normal'; } if ($bmi_valuex >= 25 && $bmi_valuex < 30) { $classs = 'Overweight'; } if ($bmi_valuex >= 30) $classs = 'Obese'; } if ($standart_bmi === 'kemenkes') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 25.1) $classs = 'Normal'; if ($bmi_valuex >= 25.1 && $bmi_valuex < 27) $classs = 'Overweight'; if ($bmi_valuex >= 27) $classs = 'Obese'; } return $classs; } function hitung_bmi($bb, $tb, $standart_bmi) { $tb = $tb / 100; $bmi = ''; $bmi = $bb / ($tb * $tb); $bmi_valuex = number_format($bmi, 2); $classs = "Undefined"; if ($standart_bmi === 'asia_pacific') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 23) $classs = 'Normal'; if ($bmi_valuex >= 23 && $bmi_valuex < 25) $classs = 'Overweight'; if ($bmi_valuex >= 25 && $bmi_valuex < 30) $classs = 'Obese I'; if ($bmi_valuex >= 30) $classs = 'Obese II'; } if ($standart_bmi === 'who') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 25) { $classs = 'Normal'; } if ($bmi_valuex >= 25 && $bmi_valuex < 30) { $classs = 'Overweight'; } if ($bmi_valuex >= 30) $classs = 'Obese'; } if ($standart_bmi === 'kemenkes') { if ($bmi_valuex < 18.5) $classs = 'Underweight'; if ($bmi_valuex >= 18.5 && $bmi_valuex < 25.1) $classs = 'Normal'; if ($bmi_valuex >= 25.1 && $bmi_valuex < 27) $classs = 'Overweight'; if ($bmi_valuex >= 27) $classs = 'Obese'; } return array( 'bmi' => $bmi_valuex, 'class' => $classs ); } function frekuensi_nafas($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'TANDA VITAL' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $tanda_vital = array(); if ($d["title"] == "TANDA VITAL") { foreach ($d["details"] as $gp) { if ($gp['id_code'] == 'tanda_vital_3') { $ret_array['a2'] = $gp['value'] . " " . $gp['unit']; //$ret_array['a2'] = array("Sistolik" => $gp['value_x']." mmHg","Diastolik" => $gp['value_y']." mmHg"); } } } } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function frekuensi_nadi($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'TANDA VITAL' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $tanda_vital = array(); if ($d["title"] == "TANDA VITAL") { foreach ($d["details"] as $gp) { if ($gp['id_code'] == 'tanda_vital_1') { $ret_array['a2'] = $gp['value'] . " x/menit"; } } } } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function suhu($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'TANDA VITAL' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $tanda_vital = array(); if ($d["title"] == "TANDA VITAL") { foreach ($d["details"] as $gp) { if ($gp['id_code'] == 'tanda_vital_6') { if ($gp['chx_x'] == 1) $ret_array['a2'] = $gp['label_x']; if ($gp['chx_y'] == 1) $ret_array['a2'] = $gp['label_y']; } } } } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2'] != null ? $ret_array['a2'] : ''; } function lapang_pandang($id) { $OhID = -1; $sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID FROM t_orderheader JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND So_ResultEntryID = {$id} JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID"; // echo $sql; $data_patient = $this->db_smartone->query($sql)->row_array(); if ($data_patient) { $OhID = $data_patient['T_OrderHeaderID']; } $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'LAPANG PANDANG' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $lapang_pandang = array(); if ($d["title"] == "LAPANG PANDANG") { foreach ($d["details"] as $gp) { if ($gp["chx_y"] == "1") $value = $gp["label_y"]; if ($gp["chx_x"] == "1") $value = $gp["label_x"]; $ret_array['a2'] = $value; } } if ($OhID != -1) { $sql = "SELECT * FROM t_orderdetail WHERE T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestCode = '40210307' AND T_OrderDetailT_OrderHeaderID = {$OhID}"; $qry = $this->db_smartone->query($sql); if (! $qry) { return ""; } //echo $this->db_smartone->last_query(); $exist_result = $qry->result_array(); if (count($exist_result) == 0) $ret_array['a2'] = ''; } return $ret_array['a2'] != null ? $ret_array['a2'] : ''; } function keadaan_umum($id) { $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'KEADAAN UMUM' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $keadaan_umum = array(); if ($d["title"] == "KEADAAN UMUM") { foreach ($d["details"] as $gp) { $value = $gp["value"]; if ($gp["chx_x"] == "1") $value = $gp["label_x"]; if ($gp["chx_y"] == "1") $value = $gp["label_y"]; $keadaan_umum[] = array( "rr1" => $gp["label"], "rr2" => $value, "rr3" => $gp["unit"], ); } } $rstKeadaanUmum = ""; if (count($keadaan_umum) > 0) { for ($i = 0; $i < count($keadaan_umum); $i++) { $rstKeadaanUmum .= $keadaan_umum[$i]['rr1'] . " :" . $keadaan_umum[$i]['rr2'] . " " . $keadaan_umum[$i]['rr3'] . "\n"; } } return $rstKeadaanUmum; } function persepsi_warna($id) { $ret_array = []; $sql = "SELECT IFNULL(T_SamplingAdditionalFisikBWPWValue,'') as result, IFNULL(T_SamplingAdditionalFisikBWPWVAngka,'') as angka FROM so_resultentry LEFT JOIN t_samplingso_additional_fisik_bw ON T_SamplingAdditionalFisikBWT_OrderHeaderID = So_ResultEntryT_OrderHeaderID AND T_SamplingAdditionalFisikBWIsActive = 'Y' WHERE So_ResultEntryID = ? LIMIT 1 "; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $row_result = $qry->row_array(); //keluhan saat ini $persepsi_warna = array(); $result = "Bahan Belum"; if ($row_result) { if ($row_result['result'] == 'BW') $result = "Red Green Deficiency"; if ($row_result['result'] == 'N') $result = "Normal"; if ($row_result['result'] == 'X') $result = "Tidak dilakukan"; } $ret_array['a2'] = $result; return $ret_array['a2']; } function tulang_belakang($id) { $ret_array['a2'] = "-"; return $ret_array['a2']; } function doctor($id) { $ret_array = []; $sql = "SELECT concat(if(M_DoctorPrefix is null, '',CONCAT(M_DoctorPrefix,' ')),if(M_DoctorPrefix2 is null, '',CONCAT(M_DoctorPrefix2,' ')),M_DoctorName) as doctor FROM so_resultentry_fisik_umum JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN m_doctor ON M_DOctorID = So_ResultEntryM_DoctorID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y' LIMIT 1"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } //$d = json_decode($rows[0]["doctor"],true); //keluhan saat ini //if($ret_array['a1'] == '-' || $ret_array['a1'] == '') //$ret_array['a1'] = $rows[0]["doctor"]; $ret_array['a2'] = $rows[0]["doctor"]; return $ret_array['a2']; } function konjuktiva_sklera($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'MATA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $mata = array(); if ($d["title"] == "MATA") { foreach ($d["details"] as $gp) { //echo $gp["chx"]; //echo $gp["label"]; if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $mata[] = $hasil; } } } $string_mata = count($mata) > 0 ? join(", ", $mata) : "-"; $ret_array['a2'] = $string_mata; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function telinga($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'TELINGA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $telinga = array(); if ($d["title"] == "TELINGA") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $telinga[] = $hasil; } } } $string_telinga = count($telinga) > 0 ? join(", ", $telinga) : "-"; $ret_array['a2'] = $string_telinga; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function visus($id, $type, $isDebug = 'N') { $ret_array = []; $sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID FROM t_orderheader JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderID = {$id} JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID"; // echo $sql; $data_patient = $this->db_smartone->query($sql)->row_array(); if ($data_patient) { $patient_name = addslashes($data_patient['M_PatientName']); $sql = "SELECT * FROM x_adm_rekap_patient patient JOIN x_adm_rekap_fisik_vital vital ON vital.REG_NO = patient.REG_NO WHERE patient.PATIENT_ID = '{$data_patient['M_PatientOldPID']}' AND patient.DOB = '{$data_patient['M_PatientDOB']}' AND patient.PATIENT_NAME = '{$patient_name}'"; //echo $sql; $data_tahun_lalu = $this->db_smartone->query($sql)->row_array(); if ($type == 'left') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kiri']) ? $data_tahun_lalu['Visus_Kiri'] : "-"; if ($type == 'right') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kanan']) ? $data_tahun_lalu['Visus_Kanan'] : "-"; } else { $ret_array['a1'] = "-"; $ret_array['a2'] = "-"; } // $sql = " SELECT * , IFNULL(T_SamplingAdditionalFisikVisusID,0) as visus_id // FROM so_resultentry // LEFT JOIN t_samplingso_additional_fisik_visus ON T_SamplingAdditionalFisikVisusT_OrderHeaderID = So_ResultEntryT_OrderHeaderID // WHERE // So_ResultEntryID = ? LIMIT 1"; $sql = " SELECT * , IFNULL(T_SamplingAdditionalFisikVisusID,0) as visus_id FROM so_resultentry LEFT JOIN t_samplingso_additional_fisik_visus ON T_SamplingAdditionalFisikVisusT_OrderHeaderID = So_ResultEntryT_OrderHeaderID AND T_SamplingAdditionalFisikVisusIsActive = 'Y' WHERE T_SamplingAdditionalFisikVisusT_OrderHeaderID = ? LIMIT 1"; $qry = $this->db_smartone->query($sql, array($id)); if (! $qry) { return ""; } $row_result = $qry->row_array(); //echo $this->db_smartone->last_query(); if ($row_result && intval($row_result['visus_id']) > 0) { $visus = array(); $visus_kiri = ""; $visus_kanan = ""; $visus_kesimpulan = ""; $normal = array("20/20", "20/25", "6/6", "6/7.5", "6/7,5"); $value_visus_od = "20/20"; $value_visus_os = "20/20"; $status_kcmt = "tanpa kacamata"; $normal_kanan = ""; if (in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal) || in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal)) $normal_kanan = "(Normal)"; $normal_kiri = ""; if (in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal) || in_array($row_result['T_SamplingAdditionalFisikVisusDKOSV'], $normal)) $normal_kiri = "(Normal)"; if ($row_result['T_SamplingAdditionalFisikVisusTKODV'] == '6/7,5' || $row_result['T_SamplingAdditionalFisikVisusTKODV'] == '6/6' || $row_result['T_SamplingAdditionalFisikVisusTKODV'] == '6/7.5') $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusTKODV']; if ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] == '6/7,5' || $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == '6/6' || $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == '6/7.5') $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusTKOSV']; if ((strtolower($row_result['T_SamplingAdditionalFisikVisusTKODV']) != "normal" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "-")) { $visus[] = array( "xx1" => $row_result['T_SamplingAdditionalFisikVisusTKODV'] == 'OFF' ? '' : "Tanpa Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKODV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusTKODV'] ); $visus[] = array( "xx1" => $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == 'OFF' ? '' : "Tanpa Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusTKOSV'] ); $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusTKODV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusTKODV']; $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusTKOSV']; $status_kcmt = $row_result['T_SamplingAdditionalFisikVisusTKODV'] == 'OFF' ? '' : "tanpa kacamata"; if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal)) { $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && $od_sph != "--" && $od_sph != "/-" && $od_sph != "/" && $od_sph != "-/" && strtolower(trim($od_sph)) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; //$od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; //echo $od_x; if ($od_x != "" && $od_x != "-" && $od_x != "--" && $od_x != "/-" && $od_x != "/" && $od_x != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $od_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal)) { $value_koreksi_os = ""; $os_sph = trim($row_result['T_SamplingAdditionalFisikVisusOSSPH']); //echo $os_sph; if (trim($os_sph) != " " && strtolower(trim($os_sph)) != "tidak terkoreksi" && strtolower(trim($os_sph)) != "tidak dapat dinilai" && $os_sph != "" && $os_sph != "-" && $os_sph != "--" && $os_sph != "/-" && $os_sph != "/" && $os_sph != "-/" && strtolower(trim($os_sph)) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if (strtolower(trim($os_cyl)) != "tidak terkoreksi" && strtolower(trim($os_cyl)) != "tidak dapat dinilai" && $os_cyl != "" && $os_cyl != "-" && $os_cyl != "--" && $os_cyl != "/-" && $os_cyl != "/" && $os_cyl != "-/") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; if (strtolower(trim($os_x)) != "tidak terkoreksi" && strtolower(trim($os_x)) != "tidak dapat dinilai" && $os_x != "" && $os_x != "-" && $os_x != "--" && $os_x != "/-" && $os_x != "/" && $os_x != "-/") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } } } if (($row_result['T_SamplingAdditionalFisikVisusDKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "-")) { $visus_kiri = ""; $visus_kanan = ""; $visus[] = array( "xx1" => $row_result['T_SamplingAdditionalFisikVisusDKODV'] == 'OFF' ? '' : "Dengan Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKODV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusDKODV'] ); $visus[] = array( "xx1" => $row_result['T_SamplingAdditionalFisikVisusDKOSV'] == 'OFF' ? '' : "Dengan Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKOSV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusDKOSV'] ); $rst['kelainan'] = "Kelainan refraksi (dengan kacamata)"; $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusDKODV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusDKODV']; $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusDKOSV'] == 'OFF' ? '' : $row_result['T_SamplingAdditionalFisikVisusDKOSV']; $status_kcmt = $row_result['T_SamplingAdditionalFisikVisusDKODV'] == 'OFF' ? '' : "dengan kacamata"; //if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal)){ $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && $od_sph != "--" && $od_sph != "/-" && $od_sph != "/" && $od_sph != "-/" && strtolower(trim($od_sph)) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; //$od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; //echo $od_x; if ($od_x != "" && $od_x != "-" && $od_x != "--" && $od_x != "/-" && $od_x != "/" && $od_x != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $od_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; // } //if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKOSV'], $normal)){ $value_koreksi_os = ""; $os_sph = trim($row_result['T_SamplingAdditionalFisikVisusOSSPH']); //echo $os_sph; if (trim($os_sph) != " " && strtolower(trim($os_sph)) != "tidak terkoreksi" && strtolower(trim($os_sph)) != "tidak dapat dinilai" && $os_sph != "" && $os_sph != "-" && $os_sph != "--" && $os_sph != "/-" && $os_sph != "/" && $os_sph != "-/" && strtolower(trim($os_sph)) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if (strtolower(trim($os_cyl)) != "tidak terkoreksi" && strtolower(trim($os_cyl)) != "tidak dapat dinilai" && $os_cyl != "" && $os_cyl != "-" && $os_cyl != "--" && $os_cyl != "/-" && $os_cyl != "/" && $os_cyl != "-/") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; if (strtolower(trim($os_x)) != "tidak terkoreksi" && strtolower(trim($os_x)) != "tidak dapat dinilai" && $os_x != "" && $os_x != "-" && $os_x != "--" && $os_x != "/-" && $os_x != "/" && $os_x != "-/") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } //} } if (($row_result['T_SamplingAdditionalFisikVisusTKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "-")) { if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal) && $visus_kanan == '') { $visus_kanan = "Miopia"; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal) && $visus_kiri == '') { $visus_kiri = "Miopia"; } } if (($row_result['T_SamplingAdditionalFisikVisusDKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "-")) { if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal) && $visus_kanan == '') { $visus_kanan = "Miopia"; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKOSV'], $normal) && $visus_kiri == '') { $visus_kiri = "Miopia"; } } $od_add = $row_result['T_SamplingAdditionalFisikVisusADD']; if ($od_add != "" && $od_add != "-" && $od_add != "--" && $od_add != "/-" && $od_add != "/" && $od_add != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_add . " (Presbiopia)"; if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $od_add . " (Presbiopia)"; } if ( $row_result['T_SamplingAdditionalFisikVisusTKODV'] != 'OFF' && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != 'OFF' && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != 'OFF' && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != 'OFF' ) { $pre_result_od = $value_visus_od . " " . strtolower($status_kcmt) . " " . $normal_kanan; $pre_result_os = $value_visus_os . " " . strtolower($status_kcmt) . " " . $normal_kiri; if ($type == 'left') $ret_array['a2'] = $visus_kiri == "" ? $pre_result_os : $pre_result_os . ";" . $visus_kiri; if ($type == 'right') $ret_array['a2'] = $visus_kanan == "" ? $pre_result_od : $pre_result_od . ";" . $visus_kanan; } if ( $row_result['T_SamplingAdditionalFisikVisusTKODV'] == 'OFF' && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == 'OFF' && $row_result['T_SamplingAdditionalFisikVisusDKODV'] == 'OFF' && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] == 'OFF' ) { if ($type == 'left') $ret_array['a2'] = $visus_kiri == "" ? "Normal" : $visus_kiri; if ($type == 'right') $ret_array['a2'] = $visus_kanan == "" ? "Normal" : $visus_kanan; } if ($type == 'left') $ret_array['a2'] = $visus_kiri == "" ? $pre_result_os : $pre_result_os . ";" . $visus_kiri; if ($type == 'right') $ret_array['a2'] = $visus_kanan == "" ? $pre_result_od : $pre_result_od . ";" . $visus_kanan; } else { $ret_array['a2'] = "Bahan belum"; } if ($isDebug == 'Y') { echo json_encode($ret_array['a2']); // echo json_encode([$ret_array]); } else { return $ret_array['a2']; } } function visus_old($id, $type, $isDebug = 'N') { $ret_array = []; $sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID FROM t_orderheader JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND So_ResultEntryID = {$id} JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID"; // echo $sql; // $rst = $this->db_smartone->query($sql); // if (!$rst) { // $this->sys_error_db('Error visus'); // exit; // } $data_patient = $this->db_smartone->query($sql)->row_array(); if ($data_patient) { $patient_name = addslashes($data_patient['M_PatientName']); $sql = "SELECT * FROM x_adm_rekap_patient patient JOIN x_adm_rekap_fisik_vital vital ON vital.REG_NO = patient.REG_NO WHERE patient.PATIENT_ID = '{$data_patient['M_PatientOldPID']}' AND patient.DOB = '{$data_patient['M_PatientDOB']}' AND patient.PATIENT_NAME = '{$patient_name}'"; //echo $sql; $data_tahun_lalu = $this->db_smartone->query($sql)->row_array(); if ($type == 'left') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kiri']) ? $data_tahun_lalu['Visus_Kiri'] : "-"; if ($type == 'right') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kanan']) ? $data_tahun_lalu['Visus_Kanan'] : "-"; } else { $ret_array['a1'] = "-"; $ret_array['a2'] = "NaN"; } $sql = " SELECT * , IFNULL(T_SamplingAdditionalFisikVisusID,0) as visus_id FROM so_resultentry LEFT JOIN t_samplingso_additional_fisik_visus ON T_SamplingAdditionalFisikVisusT_OrderHeaderID = So_ResultEntryT_OrderHeaderID AND T_SamplingAdditionalFisikVisusIsActive = 'Y' WHERE T_SamplingAdditionalFisikVisusT_OrderHeaderID = ? LIMIT 1"; $qry = $this->db_smartone->query($sql, array($id)); if (! $qry) { return ""; } $row_result = $qry->row_array(); //echo $this->db_smartone->last_query(); if ($row_result && intval($row_result['visus_id']) > 0) { $visus = array(); $visus_kiri = ""; $visus_kanan = ""; $visus_kesimpulan = ""; $normal = array("20/20", "20/25", "6/6", "6/7.5"); $value_visus_od = "20/20"; $value_visus_os = "20/20"; $status_kcmt = "tanpa kacamata"; if ($row_result['T_SamplingAdditionalFisikVisusTKODV'] == '6/6' || $row_result['T_SamplingAdditionalFisikVisusTKODV'] == '6/7.5') $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusTKODV']; if ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] == '6/6' || $row_result['T_SamplingAdditionalFisikVisusTKOSV'] == '6/7.5') $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusTKOSV']; if (($row_result['T_SamplingAdditionalFisikVisusTKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "-")) { $visus[] = array( "xx1" => "Tanpa Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKODV'] ); $visus[] = array( "xx1" => "Tanpa Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKOSV'] ); $rst['kelainan'] = "Kelainan refraksi (tanpa kacamata)"; $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusTKODV']; $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusTKOSV']; $status_kcmt = "tanpa kacamata"; if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal)) { $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && $od_sph != "--" && $od_sph != "/-" && $od_sph != "/" && $od_sph != "-/" && strtolower(trim($od_sph)) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; //$od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; //echo $od_x; if ($od_x != "" && $od_x != "-" && $od_x != "--" && $od_x != "/-" && $od_x != "/" && $od_x != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $od_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal)) { $value_koreksi_os = ""; $os_sph = $row_result['T_SamplingAdditionalFisikVisusOSSPH']; if (strtolower(trim($os_sph)) != "tidak terkoreksi" && strtolower(trim($os_sph)) != "tidak dapat dinilai" && $os_sph != "" && $os_sph != "-" && $os_sph != "--" && $os_sph != "/-" && $os_sph != "/" && $os_sph != "-/" && strtolower(trim($os_sph)) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if (strtolower(trim($os_cyl)) != "tidak terkoreksi" && strtolower(trim($os_cyl)) != "tidak dapat dinilai" && $os_cyl != "" && $os_cyl != "-" && $os_cyl != "--" && $os_cyl != "/-" && $os_cyl != "/" && $os_cyl != "-/") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; if (strtolower(trim($os_x)) != "tidak terkoreksi" && strtolower(trim($os_x)) != "tidak dapat dinilai" && $os_x != "" && $os_x != "-" && $os_x != "--" && $os_x != "/-" && $os_x != "/" && $os_x != "-/") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } } } if (($row_result['T_SamplingAdditionalFisikVisusDKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "-")) { $visus[] = array( "xx1" => "Dengan Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKODV'] ); $visus[] = array( "xx1" => "Dengan Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKOSV'] ); $rst['kelainan'] = "Kelainan refraksi (dengan kacamata)"; $value_visus_od = $row_result['T_SamplingAdditionalFisikVisusDKODV']; $value_visus_os = $row_result['T_SamplingAdditionalFisikVisusDKOSV']; $status_kcmt = "dengan kacamata"; if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal)) { $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && $od_sph != "--" && $od_sph != "/-" && $od_sph != "/" && $od_sph != "-/" && strtolower(trim($od_sph)) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; //$od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; //echo $od_x; if ($od_x != "" && $od_x != "-" && $od_x != "--" && $od_x != "/-" && $od_x != "/" && $od_x != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $od_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-" && $od_cyl != "--" && $od_cyl != "/-" && $od_cyl != "/" && $od_cyl != "-/") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; } //$value_koreksi_od .= "X (".$od_x.") "; if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKOSV'], $normal)) { $value_koreksi_os = ""; $os_sph = trim($row_result['T_SamplingAdditionalFisikVisusOSSPH']); //echo $os_sph; if (trim($os_sph) != " " && strtolower(trim($os_sph)) != "tidak terkoreksi" && strtolower(trim($os_sph)) != "tidak dapat dinilai" && $os_sph != "" && $os_sph != "-" && $os_sph != "--" && $os_sph != "/-" && $os_sph != "/" && $os_sph != "-/" && strtolower(trim($os_sph)) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if (strtolower(trim($os_cyl)) != "tidak terkoreksi" && strtolower(trim($os_cyl)) != "tidak dapat dinilai" && $os_cyl != "" && $os_cyl != "-" && $os_cyl != "--" && $os_cyl != "/-" && $os_cyl != "/" && $os_cyl != "-/") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; if (strtolower(trim($os_x)) != "tidak terkoreksi" && strtolower(trim($os_x)) != "tidak dapat dinilai" && $os_x != "" && $os_x != "-" && $os_x != "--" && $os_x != "/-" && $os_x != "/" && $os_x != "-/") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } } } if (($row_result['T_SamplingAdditionalFisikVisusTKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "-")) { if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal) && $visus_kanan == '') { $visus_kanan = "Miopia"; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal) && $visus_kiri == '') { $visus_kiri = "Miopia"; } } if (($row_result['T_SamplingAdditionalFisikVisusDKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "-")) { if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal) && $visus_kanan == '') { $visus_kanan = "Miopia"; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKOSV'], $normal) && $visus_kiri == '') { $visus_kiri = "Miopia"; } } $od_add = $row_result['T_SamplingAdditionalFisikVisusADD']; if ($od_add != "" && $od_add != "-" && $od_add != "--" && $od_add != "/-" && $od_add != "/" && $od_add != "-/") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_add . " (Presbiopia)"; if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $od_add . " (Presbiopia)"; } $pre_result_od = $value_visus_od . " " . $status_kcmt; $pre_result_os = $value_visus_os . " " . $status_kcmt; if ($type == 'left') $ret_array['a2'] = $visus_kiri == "" ? $pre_result_os . " (Normal)" : $pre_result_os . ";" . $visus_kiri; if ($type == 'right') $ret_array['a2'] = $visus_kanan == "" ? $pre_result_od . " (Normal)" : $pre_result_od . ";" . $visus_kanan; } else { $ret_array['a2'] = "Bahan belum"; } // echo json_encode([$ret_array]); if ($isDebug == 'Y') { echo json_encode([$ret_array]); } else { return $ret_array['a2']; } } function visusOld($id, $type) { $ret_array = []; $sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID FROM t_orderheader JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID WHERE T_OrderHeaderID = ?;"; // echo $sql; $data_patient = $this->db_smartone->query($sql, [$id]); if (!$data_patient) { $message = $this->db_smartone->error(); $message['qry'] = $this->db_smartone->last_query(); $this->sys_error($message); exit; } if ($data_patient) { $data_patient = $data_patient->row_array(); $sql = "SELECT * FROM x_adm_rekap_patient patient JOIN x_adm_rekap_fisik_vital vital ON vital.REG_NO = patient.REG_NO WHERE patient.PATIENT_ID = ? AND patient.DOB = ? AND patient.PATIENT_NAME = ?"; //echo $sql; $data_tahun_lalu = $this->db_smartone->query($sql, [ $data_patient['M_PatientOldPID'], $data_patient['M_PatientDOB'], $data_patient['M_PatientName'] ])->row_array(); if ($type == 'left') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kiri']) ? $data_tahun_lalu['Visus_Kiri'] : "-"; if ($type == 'right') $ret_array['a1'] = isset($data_tahun_lalu['Visus_Kanan']) ? $data_tahun_lalu['Visus_Kanan'] : "-"; } else { $ret_array['a1'] = "-"; } $sql = " SELECT * , IFNULL(T_SamplingAdditionalFisikVisusID,0) as visus_id FROM so_resultentry LEFT JOIN t_samplingso_additional_fisik_visus ON T_SamplingAdditionalFisikVisusT_OrderHeaderID = So_ResultEntryT_OrderHeaderID AND T_SamplingAdditionalFisikVisusIsActive = 'Y' WHERE So_ResultEntryID = ? LIMIT 1"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $row_result = $qry->row_array(); if ($row_result && intval($row_result['visus_id']) > 0) { $visus = array(); $visus_kiri = ""; $visus_kanan = ""; $visus_kesimpulan = ""; $normal = array("20/20", "20/25"); if (($row_result['T_SamplingAdditionalFisikVisusTKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusTKOSV'] != "-")) { $visus[] = array( "xx1" => "Tanpa Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKODV'] ); $visus[] = array( "xx1" => "Tanpa Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusTKOSV'] ); $rst['kelainan'] = "Kelainan refraksi (tanpa kacamata)"; if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKODV'], $normal)) { //$visus_kanan .= "Miopia"; $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && strtolower($od_sph) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; $od_x = str_replace("/", "", $od_x); $od_x = trim(str_replace("-", "", $od_x)); if ($od_x != "" && $od_x != "-" && $od_x != "--" && $od_x != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $od_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; if ($visus_kanan == "") $visus_kanan .= "Miopia"; } if (!in_array($row_result['T_SamplingAdditionalFisikVisusTKOSV'], $normal)) { //$visus_kiri .= "Miopia"; $value_koreksi_os = ""; $os_sph = $row_result['T_SamplingAdditionalFisikVisusOSSPH']; if ($os_sph != "" && $os_sph != "-" && strtolower($od_sph) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if ($os_cyl != "" && $os_cyl != "-") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; $os_x = str_replace("/", "", $os_x); $os_x = trim(str_replace("-", "", $os_x)); if ($os_x != "" && $os_x != "-" && $os_x != "--") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } if ($visus_kiri == "") $visus_kiri .= "Miopia"; } } if (($row_result['T_SamplingAdditionalFisikVisusDKODV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKODV'] != "-") && ($row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "" && $row_result['T_SamplingAdditionalFisikVisusDKOSV'] != "-")) { $visus[] = array( "xx1" => "Dengan Kacamata", "xx2" => "OD : ", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKODV'] ); $visus[] = array( "xx1" => "Dengan Kacamata", "xx2" => "OS", "xx3" => $row_result['T_SamplingAdditionalFisikVisusDKOSV'] ); $rst['kelainan'] = "Kelainan refraksi (dengan kacamata)"; if (!in_array($row_result['T_SamplingAdditionalFisikVisusDKODV'], $normal)) { $value_koreksi_od = ""; $od_sph = $row_result['T_SamplingAdditionalFisikVisusODSPH']; if ($od_sph != "" && $od_sph != "-" && strtolower($od_sph) != 'plano') { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_sph . " (Miopia)"; } $od_cyl = $row_result['T_SamplingAdditionalFisikVisusODCYL']; if ($od_cyl != "" && $od_cyl != "-") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= "Cyl " . $od_cyl; } $od_x = $row_result['T_SamplingAdditionalFisikVisusODX']; $od_x = str_replace("/", "", $od_x); $od_x = trim(str_replace("-", "", $od_x)); if ($od_x != "" && $od_x != "-" && $od_x != "--" && trim($od_x) != "-/") { //if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($od_cyl != "" && $od_cyl != "-") $visus_kanan .= " (Astigmatismus)"; } //$value_koreksi_od .= "X (".$od_x.") "; $od_add = $row_result['T_SamplingAdditionalFisikVisusADD']; if ($od_add != "" && $od_add != "-") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_add . " (Presbiopia)"; } } $value_koreksi_os = ""; $os_sph = $row_result['T_SamplingAdditionalFisikVisusOSSPH']; if ($os_sph != "" && $os_sph != "-" && strtolower($od_sph) != 'plano') { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $os_sph . " (Miopia)"; } $os_cyl = $row_result['T_SamplingAdditionalFisikVisusOSCYL']; if ($os_cyl != "" && $os_cyl != "-") { if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= "Cyl " . $os_cyl; } $os_x = $row_result['T_SamplingAdditionalFisikVisusOSX']; $os_x = str_replace("/", "", $os_x); $os_x = trim(str_replace("-", "", $os_x)); //echo $os_x; if ($os_x != "" && $os_x != "-" && $os_x != "--" && trim($os_x) != "-/") { //if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= " axis " . $os_x . " (Astigmatismus)"; } else { if ($os_cyl != "" && $os_cyl != "-") $visus_kiri .= " (Astigmatismus)"; } //$value_koreksi_os .= "X (".$os_x.") "; } $od_add = $row_result['T_SamplingAdditionalFisikVisusADD']; if ($od_add != "" && $od_add != "-") { if ($visus_kanan != "") $visus_kanan .= ", "; $visus_kanan .= $od_add . " (Presbiopia)"; if ($visus_kiri != "") $visus_kiri .= ", "; $visus_kiri .= $od_add . " (Presbiopia)"; } if ($type == 'left') $ret_array['a2'] = $visus_kiri == "" ? "Normal" : $visus_kiri; if ($type == 'right') $ret_array['a2'] = $visus_kanan == "" ? "Normal" : $visus_kanan; } else { $ret_array['a2'] = "Bahan belum"; } return $ret_array['a2']; } function hidung($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'HIDUNG' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $hidung = array(); if ($d["title"] == "HIDUNG") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $hidung[] = $hasil; } } } $string_hidung = count($hidung) > 0 ? join(", ", $hidung) : "-"; $ret_array['a2'] = $string_hidung; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function leher($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'LEHER' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $leher = array(); if ($d["title"] == "LEHER") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $leher[] = $hasil; } } } $string_leher = count($leher) > 0 ? join(", ", $leher) : "Normal"; $ret_array['a2'] = $string_leher; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function thorax($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'THORAX / DADA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $leher = array(); if ($d["title"] == "THORAX / DADA") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $leher[] = $hasil; } } } $string_leher = count($leher) > 0 ? join(", ", $leher) : "Normal"; $ret_array['a2'] = $string_leher; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function mulut_gigi($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'MULUT' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $mulut = array(); if ($d["title"] == "MULUT") { foreach ($d["details"] as $gp) { if ($gp['name'] == "Mukosa rongga mulut") { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Normal') { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; //echo $hasil; $mulut[] = $hasil; } } } } } $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'GIGI' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $gigi = array(); if ($d["title"] == "GIGI") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1 && $xd["label"] != 'Normal') { $arr_result[] = array($gp["label"], $gp["value"]); $gigi[] = $gp["label"]; } } } if (count($mulut) == 0 && count($gigi) == 0) { $ret_array['a2'] = "Normal"; } else { // echo "XX"; $string_mulut = count($mulut) > 0 ? join(", ", $mulut) : ""; $string_gigi = count($gigi) > 0 ? join(", ", $gigi) : ""; if ($string_gigi == "Normal") $string_gigi = ''; if ($string_mulut == 'Normal') $string_mulut = ''; if ($string_mulut != '' && $string_gigi != '') $string_mulut = $string_mulut . ', '; if ($string_mulut == '' && $string_gigi == '') $string_mulut = "Normal"; $ret_array['a2'] = $string_mulut . $string_gigi; } } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function tenggorokan($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'MULUT' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $mulut = array(); if ($d["title"] == "MULUT") { foreach ($d["details"] as $gp) { if ($gp['name'] == "Tenggorokan") { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Normal') { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $mulut[] = $hasil; } } } } } $string_mulut = count($mulut) > 0 ? join(", ", $mulut) : "Normal"; $ret_array['a2'] = $string_mulut; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function paru($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'PARU-PARU' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $paru = array(); if ($d["title"] == "PARU-PARU") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $hasil = $gp["label"]; if ($gp["value"] != '') $hasil = $gp["label"] . " (" . $gp["value"] . ")"; $paru[] = $hasil; } } } $string_paru = count($paru) > 0 ? join(", ", $paru) : "-"; $ret_array['a2'] = $string_paru; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function jantung($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'JANTUNG' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $jantung = array(); if ($d["title"] == "JANTUNG") { foreach ($d["details"] as $gp) { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Normal') { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $jantung[] = $hasil; } } } } $string_jantung = count($jantung) > 0 ? join(", ", $jantung) : "Normal"; $ret_array['a2'] = $string_jantung; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $$ret_array['a2'];; } function ginjal($id,$langid=1) { $ret_array = []; $table_fisik_umum = "so_resultentry_fisik_umum"; if($langid == 2){ $table_fisik_umum = "so_resultentry_fisik_umum_eng"; } $sql = "SELECT * FROM {$table_fisik_umum} JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'PERUT / ABDOMEN' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql,array($id)); //echo $this->db_smartone->last_query(); if (! $qry) { return json_encode(array()); } $rows = $qry->result_array(); if (count($rows) > 0 ) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"],true); //keluhan saat ini $perut = []; if ($d["title"] == "PERUT / ABDOMEN") { foreach($d["details"] as $gp) { if($gp["name"] == 'Abdomen') { foreach($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["id_code"] == 'perut_3' ){ //$arr_result[] = array($gp["name"],$xd["label"],$xd["value"]) ; $hasil = $xd["label"]; if($xd["value"] != '') $hasil = $xd["label"]." (".$xd["value"].")"; $perut[] = $hasil; } } } } } $string_perut = count($perut) > 0?join(", ",$perut):"Normal"; if( $string_perut == "") $string_perut = "Normal"; $ret_array['a2'] = $string_perut; }else{ $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function anogenital($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'PERUT / ABDOMEN' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $perut = array(); if ($d["title"] == "PERUT / ABDOMEN") { foreach ($d["details"] as $gp) { if ($gp["name"] == 'Hemorroid') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $perut[] = $hasil; } } } } } $string_perut = count($perut) > 0 ? join(", ", $perut) : "-"; $ret_array['a2'] = $string_perut; } else { $ret_array['a2'] = ''; } return $ret_array['a2']; } function perut($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'PERUT / ABDOMEN' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ""; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $perut = array(); if ($d["title"] == "PERUT / ABDOMEN") { foreach ($d["details"] as $gp) { if ($gp["name"] != 'Hernia' && $gp["name"] != 'Pengukuran' && $gp["name"] != 'Hemorroid') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Normal' && $xd["id_code"] !== 'perut_3') { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $gp["name"] . " : " . $xd["label"]; if ($xd["value"] != '') $hasil = $gp["name"] . " : " . $xd["label"] . " (" . $xd["value"] . ")"; $perut[] = $hasil; } } } } } $string_perut = count($perut) > 0 ? join(", ", $perut) : "Normal"; $ret_array['a2'] = $string_perut; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function hernia($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'PERUT / ABDOMEN' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $perut = ""; if ($d["title"] == "PERUT / ABDOMEN") { foreach ($d["details"] as $gp) { if ($gp["name"] == 'Hernia') { //print_r($gp["details"][1]); if ($gp["details"][1]["chx"] == "1") { $perut = $gp["details"][1]["label"]; if ($gp["details"][1]["details"][0]["chx_value"] == 1) { if ($perut != "") $perut .= " : "; $perut .= " " . $gp["details"][1]["details"][0]["label"]; } //print_r($gp["details"][1]["details"][1]); if ($gp["details"][1]["details"][1]["chx_a_value"] == 1 || $gp["details"][1]["details"][1]["chx_b_value"] == 1) { $ds_hasil = ""; if ($gp["details"][1]["details"][1]["chx_a_value"] == 1) { if ($ds_hasil != "") $ds_hasil .= ", "; $ds_hasil .= $gp["details"][1]["details"][1]["chx_a_label"]; } if ($gp["details"][1]["details"][1]["chx_b_value"] == 1) { if ($ds_hasil != "") $ds_hasil .= ", "; $ds_hasil .= $gp["details"][1]["details"][1]["chx_b_label"]; } if ($perut != "") $perut .= " : "; $perut .= " " . $gp["details"][1]["details"][1]["label"] . " (" . $ds_hasil . ")"; } if ($gp["details"][1]["details"][2]["chx_a_value"] == 1 || $gp["details"][1]["details"][2]["chx_b_value"] == 1) { $ds_hasil = ""; if ($gp["details"][1]["details"][2]["chx_a_value"] == 1) { if ($ds_hasil != "") $ds_hasil .= ", "; $ds_hasil .= $gp["details"][1]["details"][1]["chx_a_label"]; } if ($gp["details"][1]["details"][2]["chx_b_value"] == 1) { if ($ds_hasil != "") $ds_hasil .= ", "; $ds_hasil .= $gp["details"][1]["details"][2]["chx_b_label"]; } if ($perut != "") $perut .= " : "; $perut .= " " . $gp["details"][1]["details"][2]["label"] . " (" . $ds_hasil . ")"; } } if ($gp["details"][0]["chx"] == "1") { $perut = $gp["details"][0]["label"]; } } } } $ret_array['a2'] = $perut; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function kulit($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'SISTEM INTEGUMEN' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $perut = array(); if ($d["title"] == "SISTEM INTEGUMEN") { foreach ($d["details"] as $gp) { if ($gp["name"] == 'Kulit') { //echo "kulit"; foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Lain-lain') { // echo "IN"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $perut[] = $hasil; } if ($xd["chx"] == 1 && $xd["label"] == 'Lain-lain') { // echo "lain"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $perut[] = $hasil; } } } } } $string_perut = count($perut) > 0 ? join(", ", $perut) : "-"; $ret_array['a2'] = $string_perut; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function extremitas($id) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'ANGGOTA GERAK' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $perut = array(); if ($d["title"] == "ANGGOTA GERAK") { foreach ($d["details"] as $gp) { //echo "kulit"; foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Lain-lain' && $xd["label"] != 'Normal') { // echo "IN"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $perut[] = $xd["label"]; } if ($xd["chx"] == 1 && $xd["label"] == 'Lain-lain') { // echo "lain"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $perut[] = $hasil; } } } } $string_perut = count($perut) > 0 ? join(", ", $perut) : "Normal"; $ret_array['a2'] = $string_perut; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function reflek($id, $type) { $ret_array = []; $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'SISTEM PERSYARAFAN' JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN mgm_mcu ON T_OrderHeaderMgm_McuID = Mgm_McuID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) > 0) { $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $fisiologis = array(); $patologis = array(); if ($d["title"] == "SISTEM PERSYARAFAN") { foreach ($d["details"] as $gp) { if ($gp['name'] == 'Refleks Fisiologis') { foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Lain-lain' && $xd["label"] != 'Normal') { // echo "IN"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $fisiologis[] = $hasil; } if ($xd["chx"] == 1 && $xd["label"] == 'Lain-lain') { // echo "lain"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $fisiologis[] = $hasil; } } //echo "kulit"; } if ($gp['name'] == 'Refleks Pathologis' && $rows[0]["Mgm_McuLowBackPainTampilSemua"] == 'N') { $hasil_rst_lbp = []; $low_back_pain_inspected = false; foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1 && $xd["label"] != 'Lain-lain' && $xd["label"] != 'Normal' && $xd["is_normal"] == 'N') { $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'LOW BACK PAIN SCREENING TEST' JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN mgm_mcu ON T_OrderHeaderMgm_McuID = Mgm_McuID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); $rows_lbp = $qry->result_array(); if (count($rows_lbp) > 0) { $d_lbp = json_decode($rows_lbp[0]["So_ResultEntryFisikUmumDetails"], true); $patologis = array(); if ($d_lbp["title"] == "LOW BACK PAIN SCREENING TEST" && $d_lbp["is_inspected"] == 'Y') { $low_back_pain_inspected = true; foreach ($d_lbp["details"] as $gp_lbp) { foreach ($gp_lbp["details"] as $xd_lbp) { if ($xd_lbp["chx"] == 1 && $xd_lbp['is_normal'] == 'N') { $gp_name = str_replace("Patrict", "Patrick", $gp_lbp["name"]); $gp_lbp["name"] = $gp_name; $arr_result[] = array($gp_lbp["name"], $xd["label"], $xd_lbp["value"]); $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"]; if ($xd_lbp["value"] != '') $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"] . " (" . $xd_lbp['value'] . ")"; $patologis[] = $hasil; } } } } else { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $patologis[] = $hasil; } } } if ($xd["chx"] == 1 && $xd["label"] == 'Lain-lain') { // echo "lain"; $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $patologis[] = $hasil; } } } if ($gp['name'] == 'Refleks Pathologis' && $rows[0]["Mgm_McuLowBackPainTampilSemua"] == 'Y') { $hasil_rst_lbp = []; $low_back_pain_inspected = false; foreach ($gp["details"] as $xd) { if ($xd["chx"] == 1) { $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'LOW BACK PAIN SCREENING TEST' JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN mgm_mcu ON T_OrderHeaderMgm_McuID = Mgm_McuID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); $rows_lbp = $qry->result_array(); if (count($rows_lbp) > 0) { $d_lbp = json_decode($rows_lbp[0]["So_ResultEntryFisikUmumDetails"], true); $patologis = array(); if ($d_lbp["title"] == "LOW BACK PAIN SCREENING TEST") { $low_back_pain_inspected = true; foreach ($d_lbp["details"] as $gp_lbp) { foreach ($gp_lbp["details"] as $xd_lbp) { if ($xd_lbp["chx"] == 1 && $xd_lbp['is_normal'] == 'N' && $rows_lbp[0]["Mgm_McuLowBackPainTampilSemua"] == 'N') { $gp_name = str_replace("Patrict", "Patrick", $gp_lbp["name"]); $gp_lbp["name"] = $gp_name; $arr_result[] = array($gp_lbp["name"], $xd["label"], $xd_lbp["value"]); $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"]; if ($xd_lbp["value"] != '') $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"] . " (" . $xd_lbp['value'] . ")"; $patologis[] = $hasil; } if ($xd_lbp["chx"] == 1 && $rows_lbp[0]["Mgm_McuLowBackPainTampilSemua"] == 'Y') { $gp_name = str_replace("Patrict", "Patrick", $gp_lbp["name"]); $gp_lbp["name"] = $gp_name; $arr_result[] = array($gp_lbp["name"], $xd["label"], $xd_lbp["value"]); $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"]; if ($xd_lbp["value"] != '') $hasil = $gp_lbp["name"] . " : " . $xd_lbp["label"] . " (" . $xd_lbp['value'] . ")"; $patologis[] = $hasil; } } } } else { $arr_result[] = array($gp["name"], $xd["label"], $xd["value"]); $hasil = $xd["label"]; if ($xd["value"] != '') $hasil = $xd["label"] . " (" . $xd["value"] . ")"; $patologis[] = $hasil; } } } } } } } $string_hasil = ''; if ($type == 'fisiologis') { $string_hasil = count($fisiologis) > 0 ? join(", ", $fisiologis) : "Normal"; } if ($type == 'patologis') { $string_hasil = count($patologis) > 0 ? join(", ", $patologis) : "Normal"; } $ret_array['a2'] = $string_hasil; } else { $ret_array['a2'] = ''; $ret_array['a1'] = ""; } return $ret_array['a2']; } function genitourinaria($id) { $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'GENITOURINARIA' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $genitourinaria = array(); if ($d["title"] == "GENITOURINARIA") { foreach ($d["details"] as $gp) { if ($gp["chx"] == 1) { $arr_result[] = array($gp["label"], $gp["value"]); $genitourinaria[] = array( "nn1" => $gp["label"], "nn2" => $gp["value"], ); } } } if (empty($genitourinaria)) { $genitourinaria[] = array( "nn1" => "Tidak diperiksa", "nn2" => "" ); } // $rstGenitourinaria = ""; // if (count($genitourinaria) > 0) { // for ($i = 0; $i < count($genitourinaria); $i++) { // if ($genitourinaria[$i]['nn1'] != "") { // $rstGenitourinaria .= $genitourinaria[$i]['nn1']; // } // if ($genitourinaria[$i]['nn2'] != "") { // $rstGenitourinaria .= " : " . $genitourinaria[$i]['nn2']; // } // if ($genitourinaria[$i]['nn3'] != "") { // $rstGenitourinaria .= $genitourinaria[$i]['nn3'] . "\n"; // } else { // $rstGenitourinaria .= "\n"; // } // } // } else { // $rstGenitourinaria = 'Tidak Periksa'; // } return $genitourinaria['nn2']; } function anggota($id) { $sql = "SELECT * FROM so_resultentry_fisik_umum JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'ANGGOTA GERAK' WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; $qry = $this->db_smartone->query($sql, array($id)); if (!$qry) { return ''; } $rows = $qry->result_array(); if (count($rows) == 0) { return ''; } $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); //keluhan saat ini $anggota = array(); if ($d["title"] == "ANGGOTA GERAK") { //WIP //echo "
"; print_r($d["details"]);
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"]);
$anggota[] = array(
"oo1" => $gp["name"],
"oo2" => $xd["label"],
"oo3" => $xd["value"]
);
}
}
}
}
if (empty($anggota)) {
$anggota[] = array(
"oo1" => "Tidak diperiksa",
"oo2" => "",
"oo3" => ""
);
}
$rstAnggota = "";
if (count($anggota) > 0) {
for ($i = 0; $i < count($anggota); $i++) {
if ($anggota[$i]['oo1'] != "") {
$rstAnggota .= $anggota[$i]['oo1'];
}
if ($anggota[$i]['oo2'] != "") {
$rstAnggota .= " : " . $anggota[$i]['oo2'];
}
if ($anggota[$i]['oo3'] != "") {
$rstAnggota .= $anggota[$i]['oo3'] . "\n";
} else {
$rstAnggota .= "\n";
}
}
} else {
$rstAnggota = 'Tidak periksa';
}
return $rstAnggota;
}
function sistem($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'SISTEM PERSYARAFAN'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$sistem = array();
if ($d["title"] == "SISTEM PERSYARAFAN") {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"]);
$sistem[] = array(
"pp1" => $gp["name"],
"pp2" => $xd["label"],
"pp3" => $xd["value"]
);
}
}
}
}
if (empty($sistem)) {
$sistem[] = array(
"pp1" => "Tidak diperiksa",
"pp2" => "",
"pp3" => ""
);
}
$rstSistem = "";
if (count($sistem) > 0) {
for ($i = 0; $i < count($sistem); $i++) {
if ($sistem[$i]['pp1'] != "") {
$rstSistem .= $sistem[$i]['pp1'];
}
if ($sistem[$i]['pp2'] != "") {
$rstSistem .= " : " . $sistem[$i]['pp2'];
}
if ($sistem[$i]['pp3'] != "") {
$rstSistem .= $sistem[$i]['pp3'] . "\n";
} else {
$rstSistem .= "\n";
}
}
} else {
$rstSistem = "Tidak periksa";
}
return $rstSistem;
}
function smell($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'SMELL TEST'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$smell = array();
if ($d["title"] == "SMELL TEST") {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"], $d["inspected"]);
$smell[] = array(
"xx1" => $gp["name"],
"xx2" => $xd["label"],
"xx3" => $xd["value"],
"xx4" => $d["is_inspected"]
);
}
}
}
}
if (empty($smell)) {
$smell[] = array(
"xx1" => "Tidak periksa",
"xx2" => "",
"xx3" => ""
);
}
$rstSmell = "";
if (count($smell) > 0) {
for ($i = 0; $i < count($smell); $i++) {
if ($smell[$i]['xx1'] != "") {
$rstSmell .= $smell[$i]['xx1'];
}
if ($smell[$i]['xx2'] != "") {
$rstSmell .= " : " . $smell[$i]['xx2'];
}
if ($smell[$i]['xx3'] != "") {
$rstSmell .= $smell[$i]['xx3'] . "\n";
} else {
$rstSmell .= "\n";
}
}
} else {
$rstSmell = 'Tidak periksa';
}
return $rstSmell;
}
function low($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'LOW BACK PAIN SCREENING TEST'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$low = array();
if ($d["title"] == "LOW BACK PAIN SCREENING TEST") {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"], $d["is_inspected"]);
$low[] = array(
"yy1" => $gp["name"],
"yy2" => $xd["label"],
"yy3" => $xd["value"],
"yy4" => $d["is_inspected"]
);
}
}
}
}
// label negatif
$rstLow = "";
if (count($low) > 0) {
for ($i = 0; $i < count($low); $i++) {
if ($low[$i]['label'] != 'Negatif') {
$rstLow .= $low[$i]['name'] . " : " . $low[$i]['label'] . "\n";
}
}
} else {
$rstlow = "Tidak periksa";
}
return $rstlow;
}
function low_back_pain($id)
{
//echo "IN";
$prm = $this->sys_input;
$isApi = false;
if ($prm['api'] == 'Y') {
$isApi = true;
}
$ret_array = [];
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND
FisikTemplateTitle = 'LOW BACK PAIN SCREENING TEST'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (! $qry) {
return "";
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return "";
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$hasil_rst = array();
$tidakperiksa = false;
if ($d["title"] == "LOW BACK PAIN SCREENING TEST" && $d["is_inspected"] == 'Y') {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$gp_name = str_replace("Patrict", "Patrick", $gp["name"]);
$gp["name"] = $gp_name;
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"]);
$hasil = $gp["name"] . " : " . $xd["label"];
if ($xd["value"] != '')
$hasil = $gp["name"] . " : " . $xd["label"];
$hasil_rst[] = $hasil;
}
}
}
}
if ($d["title"] == "LOW BACK PAIN SCREENING TEST" && $d["is_inspected"] == 'N') {
$tidakperiksa = true;
}
$string_hasil = count($hasil_rst) > 0 ? join(", ", $hasil_rst) : "-";
$ret_array['a2'] = $string_hasil;
if ($tidakperiksa) {
$ret_array['a1'] = "";
$ret_array['a2'] = "";
}
// echo json_encode([$ret_array]);
if ($isApi) {
echo json_encode($ret_array);
}
return $ret_array['a2'];
}
function integumen($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'SISTEM INTEGUMEN'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$integumen = array();
if ($d["title"] == "SISTEM INTEGUMEN") {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["chx"] == 1) {
$arr_result[] = array($gp["name"], $xd["label"], $xd["value"]);
$integumen[] = array(
"pp1" => $gp["name"],
"pp2" => $xd["label"],
"pp3" => $xd["value"]
);
}
}
}
}
if (empty($integumen)) {
$integumen[] = array(
"pp1" => "Tidak periksa",
"pp2" => "",
"pp3" => ""
);
}
$rstIntegument = "";
if (count($integumen) > 0) {
for ($i = 0; $i < count($integumen); $i++) {
if ($integumen[$i]['pp1'] != "") {
$rstIntegument .= $integumen[$i]['pp1'];
}
if ($integumen[$i]['pp2'] != "") {
$rstIntegument .= " : " . $integumen[$i]['pp2'];
}
if ($integumen[$i]['pp3'] != "") {
$rstIntegument .= $integumen[$i]['pp3'] . "\n";
} else {
$rstIntegument .= "\n";
}
}
} else {
$rstIntegument = "Tidak periksa";
}
return $rstIntegument;
}
function faktor_fisik($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'FAKTOR FISIK'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$faktor_fisik = array();
if ($d["title"] == "FAKTOR FISIK") {
foreach ($d["details"] as $gp) {
// if ($gp["chx"] == 1 ) {
$arr_result[] = array($gp["label"], $gp["value_sumber"], $gp["value_lama"], $gp["chx"]);
$faktor_fisik[] = array(
"aaa1" => $gp["label"],
"aaa2" => $gp["value_sumber"],
"aaa3" => $gp["value_lama"],
"aaa4" => $gp["chx"]
);
// }
}
}
$rstFaktorFisik = "";
if (count($faktor_fisik) > 0) {
for ($i = 0; $i < count($faktor_fisik); $i++) {
if ($faktor_fisik[$i]['aaa4']) {
$rstFaktorFisik .= $faktor_fisik[$i]['aaa1'] . ', ';
}
}
}
return $rstFaktorFisik;
}
function faktor_kimia($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'FAKTOR KIMIA'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$faktor_kimia = array();
if ($d["title"] == "FAKTOR KIMIA") {
foreach ($d["details"] as $gp) {
// if ($gp["chx"] == 1 ) {
$arr_result[] = array($gp["label"], $gp["value_sumber"], $gp["value_lama"], $gp["chx"]);
$faktor_kimia[] = array(
"bbb1" => $gp["label"],
"bbb2" => $gp["value_sumber"],
"bbb3" => $gp["value_lama"],
"bbb4" => $gp["chx"]
);
// }
}
}
$rstFaktorKimia = "";
if (count($faktor_kimia) > 0) {
for ($i = 0; $i < count($faktor_kimia); $i++) {
if ($faktor_kimia[$i]['bbb4']) {
$rstFaktorKimia .= $faktor_kimia[$i]['bbb1'] . ', ';
}
}
}
return $rstFaktorKimia;
}
function faktor_biologi($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'FAKTOR BIOLOGI'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$faktor_biologi = array();
if ($d["title"] == "FAKTOR BIOLOGI") {
foreach ($d["details"] as $gp) {
// if ($gp["chx"] == 1 ) {
$arr_result[] = array($gp["label"], $gp["value_sumber"], $gp["value_lama"], $gp["chx"]);
$faktor_biologi[] = array(
"ccc1" => $gp["label"],
"ccc2" => $gp["value_sumber"],
"ccc3" => $gp["value_lama"],
"ccc4" => $gp["chx"]
);
// }
}
}
$rstFaktorbiologi = "";
if (count($faktor_biologi) > 0) {
for ($i = 0; $i < count($faktor_biologi); $i++) {
if ($faktor_biologi[$i]['ccc4']) {
$rstFaktorbiologi .= $faktor_biologi[$i]['ccc1'] . ', ';
}
}
}
return $rstFaktorbiologi;
}
function faktor_ergonomi($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'FAKTOR ERGONOMI'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$faktor_ergonomi = array();
if ($d["title"] == "FAKTOR ERGONOMI") {
foreach ($d["details"] as $gp) {
// if ($gp["chx"] == 1 ) {
$arr_result[] = array($gp["label"], $gp["value_sumber"], $gp["value_lama"], $gp["chx"]);
$faktor_ergonomi[] = array(
"ddd1" => $gp["label"],
"ddd2" => $gp["value_sumber"],
"ddd3" => $gp["value_lama"],
"ddd4" => $gp["chx"]
);
// }
}
}
$rstFaktoergonomi = "";
if (count($faktor_ergonomi) > 0) {
for ($i = 0; $i < count($faktor_ergonomi); $i++) {
if ($faktor_ergonomi[$i]['ddd4']) {
$rstFaktoergonomi .= $faktor_ergonomi[$i]['ddd1'] . ', ';
}
}
}
return $rstFaktoergonomi;
}
function faktor_psikologi($id)
{
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'FAKTOR PSIKOLOGI'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (!$qry) {
return '';
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return '';
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$faktor_psikologi = array();
if ($d["title"] == "FAKTOR PSIKOLOGI") {
foreach ($d["details"] as $gp) {
$arr_result[] = array($gp["label"], $gp["value_sumber"], $gp["value_lama"], $gp["chx"]);
$faktor_psikologi[] = array(
"eee1" => $gp["label"],
"eee2" => $gp["value_sumber"],
"eee3" => $gp["value_lama"],
"eee4" => $gp["chx"]
);
}
}
$rstFaktorPsikologi = "";
if (count($faktor_psikologi) > 0) {
for ($i = 0; $i < count($faktor_psikologi); $i++) {
if ($faktor_psikologi[$i]['eee4']) {
$rstFaktorPsikologi .= $faktor_psikologi[$i]['eee1'] . ', ';
}
}
}
return $rstFaktorPsikologi;
}
function tonometri($id, $debug = 'N')
{
$ret_array = [];
$sql = "SELECT *, IFNULL(M_PatientOldPID,'') as M_PatientOldPID
FROM t_orderheader
JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND So_ResultEntryID = {$id}
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID";
// echo $sql;
$data_patient = $this->db_smartone->query($sql)->row_array();
if ($data_patient) {
$patient_name = addslashes($data_patient['M_PatientName']);
$sql = "SELECT *
FROM x_adm_rekap_patient patient
JOIN x_adm_rekap_fisik_organ organ ON organ.REG_NO = patient.REG_NO
WHERE
patient.PATIENT_ID = '{$data_patient['M_PatientOldPID']}' AND
patient.DOB = '{$data_patient['M_PatientDOB']}' AND
patient.PATIENT_NAME = '{$patient_name}'";
//echo $sql;
$data_tahun_lalu = $this->db_smartone->query($sql)->row_array();
$ret_array['a1'] = isset($data_tahun_lalu['Tonometri']) ? $data_tahun_lalu['Tonometri'] : "-";
} else {
$ret_array['a1'] = "-";
}
$sql = "SELECT *
FROM so_resultentry_fisik_umum
JOIN fisik_template ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND FisikTemplateIsActive = 'Y' AND FisikTemplateTitle = 'TONOMETRI'
WHERE
So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'";
$qry = $this->db_smartone->query($sql, array($id));
if (! $qry) {
return "";
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return "";
}
$d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true);
//keluhan saat ini
$od = "OD : - mmHg";
$os = "OS : - mmHg";
if ($d["title"] == "TONOMETRI") {
foreach ($d["details"] as $gp) {
foreach ($gp["details"] as $xd) {
if ($xd["id_code"] == 'tonometri_od') {
$od = "OD : " . $xd["value"] . " " . $xd["unit"];
}
if ($xd["id_code"] == 'tonometri_os') {
$os = "OS : " . $xd["value"] . " " . $xd["unit"];
}
}
}
}
$ret_array['a2'] = $od . " ; " . $os;
if ($debug == 'Y') {
echo json_encode([$ret_array]);
// $this->sys_ok($ret_array);
} else {
return $ret_array['a2'];
}
}
function cekDataByLabNum($labnumb)
{
$prm = $this->sys_input;
if (!$labnumb) {
$this->sys_error("Prm id is required");
exit;
}
$sql = "SELECT * FROM ( SELECT
T_OrderHeaderID,
So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'FISIK' as type
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND So_ResultEntryStatus = 'VAL1'
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND T_OrderHeaderLabNumber = ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
-- AND T_OrderHeaderID = 7275
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
-- AND So_ResultEntryID = 15884
UNION
SELECT
T_OrderHeaderID,
0 as So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'ORDER' as type
FROM t_orderheader
JOIN mcu_resume
ON T_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND T_OrderHeaderLabNumber = ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
JOIN so_resultentry
ON T_OrderHeaderID = So_ResultEntryT_OrderHeaderID
JOIN t_orderdetail
ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
AND T_OrderDetailIsActive = 'Y'
AND So_ResultEntryT_OrderDetailID = T_OrderDetailID
AND So_ResultEntryIsActive = 'Y'
-- AND T_OrderHeaderID = 7275
AND T_OrderDetailT_TestID IN (2571)) x
GROUP BY So_ResultEntryID, T_OrderHeaderID";
// $sql = "SELECT
// So_ResultEntryID,
// Mcu_ResumeID,
// T_OrderHeaderDate,
// Mcu_ResumeValidationDateTime
// FROM so_resultentry
// JOIN mcu_resume
// ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
// JOIN t_orderheader
// ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
// AND T_OrderHeaderLabNumber = ?
// AND T_OrderHeaderIsActive = 'Y'
// AND Mcu_ResumeIsActive = 'Y'
// AND Mcu_ResumeValidation = 'Y'
// WHERE So_ResultEntryNonlab_TemplateID = '27'
// AND So_ResultEntryIsActive = 'Y'
// ";
$qry = $this->db_smartone->query($sql, [$labnumb, $labnumb]);
if (!$qry) {
$message = $this->db_smartone->error();
$this->sys_error_db($message);
exit;
}
$dataPeriode = $qry->result_array();
if (count($dataPeriode) == 0) {
$this->sys_error("Data belum di validasi");
exit;
}
$idx_counter = 1;
$result = array();
for ($k = 0; $k < count($dataPeriode); $k++) {
$id = $dataPeriode[$k]["So_ResultEntryID"];
$orderID = $dataPeriode[$k]["T_OrderHeaderID"];
if ($dataPeriode[$k]["type"] == 'FISIK') {
$orderID = 0;
}
$ohID = $dataPeriode[$k]["T_OrderHeaderID"];
$sql = "SELECT * FROM (SELECT Ss_FisikID,Ss_FisikT_OrderHeaderID, Ss_FisikSo_ResultEntryID FROM ss_fisik
WHERE Ss_FisikSo_ResultEntryID = ?
AND Ss_FisikT_OrderHeaderID = 0
AND Ss_FisikIsActive = 'Y'
AND '{$dataPeriode[$k]["type"]}' = 'FISIK'
UNION
SELECT Ss_FisikID,Ss_FisikT_OrderHeaderID, Ss_FisikSo_ResultEntryID FROM ss_fisik
WHERE Ss_FisikSo_ResultEntryID = 0
AND Ss_FisikT_OrderHeaderID = ?
AND Ss_FisikIsActive = 'Y'
AND '{$dataPeriode[$k]["type"]}' = 'ORDER') x
";
// WHERE Ss_FisikT_OrderHeaderID <> 0 AND Ss_FisikSo_ResultEntryID <> 0
$qry = $this->db_smartone->query($sql, array($id, $orderID));
if (!$qry) {
$message = $this->db_smartone->error();
$this->sys_error($message);
exit;
}
// echo $this->db_smartone->last_query();
// echo "\n;";
$rstCek = $qry->result_array();
$idCek = $rstCek[0]['Ss_FisikID'];
// print_r($rstCek);
// echo json_encode($qry->result_array());
// echo "\n";
$getKeluhanSaatIni = $this->keluhan_saat_ini($id);
$keluhanSaatIni = $getKeluhanSaatIni;
$getRiwayatPenyakit = $this->riwayat_penyakit($id);
$riwayatPenyakit = $getRiwayatPenyakit;
$getRiwayatKeluargaAyah = $this->riwayat_keluarga($id, 'ayah');
$riwayatKeluargaAyah = $getRiwayatKeluargaAyah;
$getRiwayatKeluargaIbu = $this->riwayat_keluarga($id, 'ibu');
$riwayatKeluargaIbu = $getRiwayatKeluargaIbu;
$getMerokok = $this->merokok($id);
$merokok = $getMerokok;
$getAlergi = $this->alergi($id);
$alergi = $getAlergi;
$getDoctor = $this->doctor($id);
$doctor = $getDoctor;
$getKonjuktivaSklera = $this->konjuktiva_sklera($id);
$konjuktivaSklera = $getKonjuktivaSklera;
$getLowBackPain = $this->low_back_pain($id);
$lowBackPain = $getLowBackPain;
$getAnoGenital = $this->anogenital($id);
$anoGenital = $getAnoGenital;
$getFrekuensiNafas = $this->frekuensi_nafas($id);
$frekuensiNafas = $getFrekuensiNafas;
$getTulangBelakang = $this->tulang_belakang($id);
$tulangBelakang = $getTulangBelakang;
$getExtremitas = $this->extremitas($id);
$extremitas = $getExtremitas;
$getKulit = $this->kulit($id);
$kulit = $getKulit;
$getHernia = $this->hernia($id);
$hernia = $getHernia;
$getPerut = $this->perut($id);
$perut = $getPerut;
$getThorax = $this->thorax($id);
$thorax = $getThorax;
$getGinjal = $this->ginjal($id);
$ginjal = $getGinjal;
$getMulutGigi = $this->mulut_gigi($id);
$mulutGigi = $getMulutGigi;
$getJantung = $this->jantung($id);
$jantung = $getJantung;
$getParu = $this->paru($id);
$paru = $getParu;
$getTenggorokan = $this->tenggorokan($id);
$tenggorokan = $getTenggorokan;
$getHidung = $this->hidung($id);
$hidung = $getHidung;
$getTelinga = $this->telinga($id);
$telinga = $getTelinga;
$getLapangPandang = $this->lapang_pandang($id);
$lapangPandang = $getLapangPandang;
$getPresepsiWarna = $this->persepsi_warna($id);
$presepsiWarna = $getPresepsiWarna;
$getFrekuensiNadi = $this->frekuensi_nadi($id);
$frekuensiNadi = $getFrekuensiNadi;
$getSuhu = $this->suhu($id);
$suhu = $getSuhu;
$getTekananDarahSistolik = $this->tekanan_darah($id, 'sistolik');
$TekananDarahSistolik = $getTekananDarahSistolik;
$getVisusLeft = $this->visus($ohID, 'left');
$visusLeft = $getVisusLeft;
$getVisusRight = $this->visus($ohID, 'right');
$visusRight = $getVisusRight;
$getReflekFisiologis = $this->reflek($id, 'fisiologis');
$reflekFisiologis = $getReflekFisiologis;
$getReflekPatologis = $this->reflek($id, 'patologis');
$reflekPatologis = $getReflekPatologis;
$getTekananDarahDiastolik = $this->tekanan_darah($id, 'diastolik');
$tekananDarahDiastolik = $getTekananDarahDiastolik;
$getTB = $this->tbbbbodyfat($id, 'TB');
$tb = $getTB;
$getBMI = $this->tbbbbodyfat($id, 'BMI');
$bmi = $getBMI;
$getBodyFat = $this->tbbbbodyfat($id, 'BODY');
$bodyFat = $getBodyFat;
$getBB = $this->tbbbbodyfat($id, 'BB');
$bb = $getBB;
$lingkar_perut = "-";
$lingkar_pinggang = "-";
$getPengukuran = $this->pengukuran($id);
$pengukuran = $getPengukuran;
if($pengukuran['lingkar_perut'] != null){
$lingkar_perut = $pengukuran['lingkar_perut'];
}
if($pengukuran['lingkar_pinggang'] != null){
$lingkar_pinggang = $pengukuran['lingkar_pinggang'];
}
$getAlkohol = $this->alkohol($id);
$alkohol = $getAlkohol;
$getOlahraga = $this->olahraga($id);
$olahraga = $getOlahraga;
$getLeher = $this->leher($id);
$leher = $getLeher;
$getRiwayatPhobia = $this->riwayat_phobia($id);
$riwayatPhobia = $getRiwayatPhobia;
$getRiwayatObat = $this->riwayat_obat($id);
$riwayatObat = $getRiwayatObat;
$getRiwayatImunisasi = $this->riwayat_imunisasi($id);
$riwayatImunisasi = $getRiwayatImunisasi;
$getKeadaanUmum = $this->keadaan_umum($id);
$keadaanUmum = $getKeadaanUmum;
$getGenitourinaria = $this->genitourinaria($id);
$genitourinaria = $getGenitourinaria;
$getAnggota = $this->anggota($id);
$anggota = $getAnggota;
$getSistem = $this->sistem($id);
$sistem = $getSistem;
$getSmell = $this->smell($id);
$smell = $getSmell;
$getIntegument = $this->integumen($id);
$integument = $getIntegument;
$getFaktorFisik = $this->faktor_fisik($id);
$faktorFisik = $getFaktorFisik;
$getFaktorKimia = $this->faktor_kimia($id);
$faktorKimia = $getFaktorKimia;
$getFaktorBiologi = $this->faktor_biologi($id);
$faktorBiologi = $getFaktorBiologi;
$getFaktorErgonomi = $this->faktor_ergonomi($id);
$faktorErgonomi = $getFaktorErgonomi;
$getFaktorPsikologi = $this->faktor_psikologi($id);
$faktorPsikologi = $getFaktorPsikologi;
$getTonometri = $this->tonometri($id);
$tonometri = $getTonometri;
//get kesimpulan
$sql = " SELECT
Mcu_ResumeKesimpulan,
Mcu_ResumeRekomendasi,
Mcu_ResumeSaran
FROM mcu_resume
WHERE Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
AND Mcu_ResumeT_OrderHeaderID = ?
";
$query = $this->db_smartone->query($sql, [$ohID]);
if (!$query) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
$kesimpulan = $query->result_array()[0]['Mcu_ResumeKesimpulan'];
$saran = $query->result_array()[0]['Mcu_ResumeSaran'];
if ($kesimpulan == null) {
$kesimpulan = '';
}
if ($saran == null) {
$saran = '';
}
// echo (count($idCek));
// echo "\n";
// exit;
if (count($idCek) == 0) {
//insert baru
// echo "insert :" . strval($idCek);
$data = [
"Ss_FisikSo_ResultEntryID" => $id,
"Ss_FisikT_OrderHeaderID" => $orderID,
"Ss_FisikKeluhanSaatIni" => $keluhanSaatIni,
"Ss_FisikRiwayatPenyakit" => $riwayatPenyakit,
"Ss_FisikRiwayatKeluargaAyah" => $riwayatKeluargaAyah,
"Ss_FisikRiwayatKeluargaIbu" => $riwayatKeluargaIbu,
"Ss_FisikMerokok" => $merokok,
"Ss_FisikAlergi" => $alergi,
"Ss_FisikDoctor" => $doctor,
"Ss_FisikKonjuktivaSklera" => $konjuktivaSklera,
"Ss_FisikLowBackPain" => $lowBackPain,
"Ss_FisikAnogenital" => $anoGenital,
"Ss_FisikFrekuensiNafas" => $frekuensiNafas,
"Ss_FisikTulangBelakang" => $tulangBelakang,
"Ss_FisikExtremitas" => $extremitas,
"Ss_FisikKulit" => $kulit,
"Ss_FisikHernia" => $hernia,
"Ss_FisikPerut" => $perut,
"Ss_FisikThorax" => $thorax,
"Ss_FisikGinjal" => $ginjal,
"Ss_FisikMulutGigi" => $mulutGigi,
"Ss_FisikJantung" => $jantung,
"Ss_FisikParu" => $paru,
"Ss_FisikTenggorokan" => $tenggorokan,
"Ss_FisikHidung" => $hidung,
"Ss_FisikTelinga" => $telinga,
"Ss_FisikLapangPandang" => $lapangPandang,
"Ss_FisikPresepsiWarna" => $presepsiWarna,
"Ss_FisikFrekuensiNadi" => $frekuensiNadi,
"Ss_FisikSuhu" => $suhu,
"Ss_FisikTekananDarahSistolik" => $TekananDarahSistolik,
"Ss_FisikVisusLeft" => $visusLeft,
"Ss_FisikReflekFisiologis" => $reflekFisiologis,
"Ss_FisikReflekPatologis" => $reflekPatologis,
"Ss_FisikVisusRight" => $visusRight,
"Ss_FisikTekananDarahDiastolik" => $tekananDarahDiastolik,
"Ss_FisikTB" => $tb,
"Ss_FisikBMI" => $bmi,
"Ss_FisikBodyFat" => $bodyFat,
"Ss_FisikBB" => $bb,
"Ss_FisikAlkohol" => $alkohol,
"Ss_FisikOlahraga" => $olahraga,
"Ss_FisikLeher" => $leher,
"Ss_FisikRiwayatPhobia" => $riwayatPhobia,
"Ss_FisikRiwayatObat" => $riwayatObat,
"Ss_FisikKeadaanUmum" => $keadaanUmum,
"Ss_FisikRiwayatImunisasi" => $riwayatImunisasi,
"Ss_FisikGenitourinaria" => $genitourinaria,
"Ss_FisikAnggota" => $anggota,
"Ss_FisikSistem" => $sistem,
"Ss_FisikSmell" => $smell,
"Ss_FisikIntegument" => $integument,
"Ss_FisikFaktorFisik" => $faktorFisik,
"Ss_FisikFaktorKimia" => $faktorKimia,
"Ss_FisikFaktorBiologis" => $faktorBiologi,
"Ss_FisikFaktorErgonomi" => $faktorErgonomi,
"Ss_FisikFaktorPsikologi" => $faktorPsikologi,
"Ss_FisikKesimpulan" => $kesimpulan,
"Ss_FisikSaran" => $saran,
"Ss_FisikCreated" => date('Y-m-d H:i:s'),
"Ss_FisikCreatedUserID" => 0,
"Ss_FisikTonometri" => $tonometri,
"Ss_FisikLingkarPerut" => $lingkar_perut,
"Ss_FisikLingkarPinggang" => $lingkar_pinggang
];
// $qry = $this->db_smartone->insert('ss_fisik', $data);
// if (!$qry) {
// $message = $this->db_smartone->error();
// $message['qry'] = $this->db_smartone->last_query();
// $this->sys_error($message);
// exit;
// }
// echo ($this->db_smartone->last_query());
} else {
//Update baru
// echo "update :" . strval($idCek);
$data = [
"Ss_FisikKeluhanSaatIni" => $keluhanSaatIni,
"Ss_FisikRiwayatPenyakit" => $riwayatPenyakit,
"Ss_FisikRiwayatKeluargaAyah" => $riwayatKeluargaAyah,
"Ss_FisikRiwayatKeluargaIbu" => $riwayatKeluargaIbu,
"Ss_FisikMerokok" => $merokok,
"Ss_FisikAlergi" => $alergi,
"Ss_FisikDoctor" => $doctor,
"Ss_FisikKonjuktivaSklera" => $konjuktivaSklera,
"Ss_FisikLowBackPain" => $lowBackPain,
"Ss_FisikAnogenital" => $anoGenital,
"Ss_FisikFrekuensiNafas" => $frekuensiNafas,
"Ss_FisikTulangBelakang" => $tulangBelakang,
"Ss_FisikExtremitas" => $extremitas,
"Ss_FisikKulit" => $kulit,
"Ss_FisikHernia" => $hernia,
"Ss_FisikPerut" => $perut,
"Ss_FisikThorax" => $thorax,
"Ss_FisikGinjal" => $ginjal,
"Ss_FisikMulutGigi" => $mulutGigi,
"Ss_FisikJantung" => $jantung,
"Ss_FisikParu" => $paru,
"Ss_FisikTenggorokan" => $tenggorokan,
"Ss_FisikHidung" => $hidung,
"Ss_FisikTelinga" => $telinga,
"Ss_FisikLapangPandang" => $lapangPandang,
"Ss_FisikPresepsiWarna" => $presepsiWarna,
"Ss_FisikFrekuensiNadi" => $frekuensiNadi,
"Ss_FisikSuhu" => $suhu,
"Ss_FisikTekananDarahSistolik" => $TekananDarahSistolik,
"Ss_FisikVisusLeft" => $visusLeft,
"Ss_FisikReflekFisiologis" => $reflekFisiologis,
"Ss_FisikReflekPatologis" => $reflekPatologis,
"Ss_FisikVisusRight" => $visusRight,
"Ss_FisikTekananDarahDiastolik" => $tekananDarahDiastolik,
"Ss_FisikTB" => $tb,
"Ss_FisikBMI" => $bmi,
"Ss_FisikBodyFat" => $bodyFat,
"Ss_FisikBB" => $bb,
"Ss_FisikAlkohol" => $alkohol,
"Ss_FisikOlahraga" => $olahraga,
"Ss_FisikLeher" => $leher,
"Ss_FisikRiwayatPhobia" => $riwayatPhobia,
"Ss_FisikRiwayatObat" => $riwayatObat,
"Ss_FisikKeadaanUmum" => $keadaanUmum,
"Ss_FisikRiwayatImunisasi" => $riwayatImunisasi,
"Ss_FisikGenitourinaria" => $genitourinaria,
"Ss_FisikAnggota" => $anggota,
"Ss_FisikSistem" => $sistem,
"Ss_FisikSmell" => $smell,
"Ss_FisikIntegument" => $integument,
"Ss_FisikFaktorFisik" => $faktorFisik,
"Ss_FisikFaktorKimia" => $faktorKimia,
"Ss_FisikFaktorBiologis" => $faktorBiologi,
"Ss_FisikFaktorErgonomi" => $faktorErgonomi,
"Ss_FisikFaktorPsikologi" => $faktorPsikologi,
"Ss_FisikKesimpulan" => $kesimpulan,
"Ss_FisikSaran" => $saran,
"Ss_FisikUpdatedUserID" => 0,
"Ss_FisikLastUpdated" => date('Y-m-d H:i:s'),
"Ss_FisikTonometri" => $tonometri,
"Ss_FisikLingkarPerut" => $lingkar_perut,
"Ss_FisikLingkarPinggang" => $lingkar_pinggang
];
// "Ss_FisikSo_ResultEntryID" => $id,
// $this->db_smartone->where('Ss_FisikID', $idCek);
// $qry = $this->db_smartone->update('ss_fisik', $data);
// if (!$qry) {
// $message = $this->db_smartone->error();
// $message['qry'] = $this->db_smartone->last_query();
// $this->sys_error($message);
// exit;
// }
}
$result[] = $data;
// echo "\t $idx_counter\n";
// $idx_counter++;
// echo "Wait 1s\n";
// sleep(1);
}
$finalResult = array(
"filteredorder" => $dataPeriode,
"data" => $result
);
// $result['filteredorder'] = $dataPeriode;
$this->sys_ok($finalResult);
}
function generateperiodev2($startDatePrm = "", $endDatePrm = "")
{
$prm = $this->sys_input;
// $startDate = $prm['sd'];
// if (!isset($startDate) || $prm['sd'] == '') {
// $startDate = date('Y-m-d');
// }
// $endDate = $prm['ed'];
// if (!isset($endDate) || $prm['ed'] == '') {
// $endDate = date('Y-m-d');
// }
$startDate = date('Y-m-d');
$endDate = date('Y-m-d');
if ($startDatePrm == "" && $endDatePrm == "") {
$date = date('Y-m-d');
$day_before = date('Y-m-d', strtotime($date . ' -3 day'));
$startDate = $day_before;
$endDate = $date;
// echo "masuk if \n";
} else {
if ($startDatePrm != "") {
$startDate = $startDatePrm;
$endDate = $startDatePrm;
}
if ($endDatePrm != "") {
$endDate = $endDatePrm;
}
if ($startDatePrm != "" && $endDatePrm != "") {
$startDate = $startDatePrm;
$endDate = $endDatePrm;
}
// echo "masuk else \n";
}
echo "Generate {$startDate} to {$endDate}";
// if (!$startDate) {
// $this->sys_error("Prm startdate is required");
// exit;
// }
// if (!$endDate) {
// $this->sys_error("Prm enddate is required");
// exit;
// }
// print_r($startDate);
// print_r("-");
// print_r($endDate);
// exit;
$sql = "SELECT * FROM ( SELECT
T_OrderHeaderID,
So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'FISIK' as type
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND So_ResultEntryStatus = 'VAL1'
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND DATE(Mcu_ResumeValidationDateTime) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
-- AND T_OrderHeaderID = 7275
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
-- AND So_ResultEntryID = 15884
UNION
SELECT
T_OrderHeaderID,
0 as So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'ORDER' as type
FROM t_orderheader
JOIN mcu_resume
ON T_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND DATE(Mcu_ResumeValidationDateTime) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
JOIN so_resultentry
ON T_OrderHeaderID = So_ResultEntryT_OrderHeaderID
JOIN t_orderdetail
ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
AND T_OrderDetailIsActive = 'Y'
AND So_ResultEntryT_OrderDetailID = T_OrderDetailID
AND So_ResultEntryIsActive = 'Y'
-- AND T_OrderHeaderID = 7275
AND T_OrderDetailT_TestID IN (2571)) x
GROUP BY So_ResultEntryID, T_OrderHeaderID
";
// AND DATE(T_OrderHeaderDate) BETWEEN '{$startDate}' AND '{$endDate}'
// print_r($sql);
$query = $this->db_smartone->query($sql);
if (!$query) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
$dataPeriode = $query->result_array();
// echo json_encode($dataPeriode);
// exit;
// echo "Process : " . count($dataPeriode) . "\n";
$idx_counter = 1;
for ($k = 0; $k < count($dataPeriode); $k++) {
$this->generateFix($dataPeriode[$k]);
echo "\t $idx_counter\n";
$idx_counter++;
echo "Wait 1s\n";
sleep(1);
}
$this->sys_ok($dataPeriode);
}
function generateperiodev2byorderdate($startDate = "", $endDate = "")
{
$prm = $this->sys_input;
// $startDate = $prm['sd'];
// if (!isset($startDate) || $prm['sd'] == '') {
// $startDate = date('Y-m-d');
// }
// $endDate = $prm['ed'];
// if (!isset($endDate) || $prm['ed'] == '') {
// $endDate = date('Y-m-d');
// }
if ($startDate == "") {
$startDate = date('Y-m-d');
}
if ($endDate == "") {
$endDate = $startDate;
}
// if (!$startDate) {
// $this->sys_error("Prm startdate is required");
// exit;
// }
// if (!$endDate) {
// $this->sys_error("Prm enddate is required");
// exit;
// }
// print_r($startDate);
// print_r("-");
// print_r($endDate);
// exit;
$sql = "SELECT * FROM ( SELECT
T_OrderHeaderID,
So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'FISIK' as type
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND So_ResultEntryStatus = 'VAL1'
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND DATE(T_OrderHeaderDate) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
-- AND T_OrderHeaderID = 7275
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
-- AND So_ResultEntryID = 15884
UNION
SELECT
T_OrderHeaderID,
0 as So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'ORDER' as type
FROM t_orderheader
JOIN mcu_resume
ON T_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND DATE(T_OrderHeaderDate) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
JOIN so_resultentry
ON T_OrderHeaderID = So_ResultEntryT_OrderHeaderID
JOIN t_orderdetail
ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
AND T_OrderDetailIsActive = 'Y'
AND So_ResultEntryT_OrderDetailID = T_OrderDetailID
AND So_ResultEntryIsActive = 'Y'
-- AND T_OrderHeaderID = 7275
AND T_OrderDetailT_TestID IN (2571)) x
GROUP BY So_ResultEntryID, T_OrderHeaderID";
// $sql = "SELECT
// So_ResultEntryID,
// Mcu_ResumeID,
// T_OrderHeaderDate,
// Mcu_ResumeValidationDateTime
// FROM so_resultentry
// JOIN mcu_resume
// ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
// JOIN t_orderheader
// ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
// AND DATE(T_OrderHeaderDate) BETWEEN '{$startDate}' AND '{$endDate}'
// AND T_OrderHeaderIsActive = 'Y'
// AND Mcu_ResumeIsActive = 'Y'
// AND Mcu_ResumeValidation = 'Y'
// WHERE So_ResultEntryNonlab_TemplateID = '27'
// AND So_ResultEntryIsActive = 'Y'
// ";
// AND DATE(T_OrderHeaderDate) BETWEEN '{$startDate}' AND '{$endDate}'
// print_r($sql);
$query = $this->db_smartone->query($sql);
if (!$query) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
$dataPeriode = $query->result_array();
// print_r($data);
// exit;
$idx_counter = 1;
for ($k = 0; $k < count($dataPeriode); $k++) {
$this->generateFix($dataPeriode[$k]);
echo "\t $idx_counter\n";
$idx_counter++;
echo "Wait 1s\n";
sleep(1);
}
$this->sys_ok($dataPeriode);
}
function search()
{
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$page = $prm["page"];
$startDate = $prm["startDate"];
$endDate = $prm["endDate"];
$setupID = $prm["setupID"];
$search = '%' . $prm['search'] . '%';
$status = $prm["status"];
$ROW_PER_PAGE = 20;
$start_offset = 0;
// print_r($prm);
if (isset($prm["page"])) {
if (
is_numeric($prm["page"]) && $prm["page"] > 0
) {
$start_offset = ($page - 1) * $ROW_PER_PAGE;
}
}
$whereStatus = "";
if ($status == "N") {
$whereStatus = "AND Ss_FisikID IS NULL";
}
if ($status == "Y") {
//prosess
$whereStatus = "AND Ss_FisikID IS NOT NULL";
}
$sql = "SELECT
COUNT(T_OrderHeaderID) as total
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND T_OrderHeaderMgm_McuID = ?
-- AND Mcu_ResumeValidation = 'Y'
JOIN m_patient
ON T_OrderHeaderM_PatientID = M_PatientID
AND (M_PatientName LIKE ? OR T_OrderHeaderLabNumber LIKE ?)
LEFT JOIN m_title
ON M_PatientM_TitleID = M_TitleID
LEFT JOIN ss_fisik
ON Ss_FisikSo_ResultEntryID = So_ResultEntryID
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
{$whereStatus}
";
$query = $this->db_onedev->query($sql, [$startDate, $endDate, $setupID, $search, $search]);
if (!$query) {
$message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query();
// $this->sys_error($message);
$this->sys_error("Error search total");
exit;
}
$total = $query->row_array()['total'];
$sql = "SELECT * FROM ( SELECT
T_OrderHeaderID,
So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'FISIK' as type
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND DATE(Mcu_ResumeValidationDateTime) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
-- AND T_OrderHeaderID = 7275
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
-- AND So_ResultEntryID = 15884
UNION
SELECT
T_OrderHeaderID,
0 as So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'ORDER' as type
FROM t_orderheader
JOIN mcu_resume
ON T_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND DATE(Mcu_ResumeValidationDateTime) BETWEEN '{$startDate}' AND '{$endDate}'
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
JOIN so_resultentry
ON T_OrderHeaderID = So_ResultEntryT_OrderHeaderID
JOIN t_orderdetail
ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
AND T_OrderDetailIsActive = 'Y'
AND So_ResultEntryT_OrderDetailID = T_OrderDetailID
AND So_ResultEntryIsActive = 'Y'
-- AND T_OrderHeaderID = 7275
AND T_OrderDetailT_TestID IN (2571)) x
GROUP BY So_ResultEntryID, T_OrderHeaderID";
$sql = "SELECT
T_OrderHeaderID as orderID,
CONCAT(IF(ISNULL(M_TitleName),'',CONCAT(M_TitleName,'.')),
' ',
IFNULL(M_PatientPrefix,''),
' ',
M_PatientName,
' ',
IFNULL(M_PatientSuffix,'')) as patientName,
T_OrderHeaderLabNumber as orderNumber,
So_ResultEntryID,
Mcu_ResumeID,
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y') as orderDate,
DATE_FORMAT(Mcu_ResumeValidationDateTime, '%d-%m-%Y %H:%i') as resumeValidationDate,
CASE
WHEN Mcu_ResumeValidation IS NULL THEN 'N'
WHEN Mcu_ResumeValidation IS NOT NULL THEN Mcu_ResumeValidation
END as statusValidation,
CASE
WHEN Ss_FisikID IS NULL THEN 'N'
WHEN Ss_FisikID IS NOT NULL THEN 'Y'
END as statusGenerate,
CASE
WHEN Ss_FisikLastUpdated ='0000-00-00 00:00:00' THEN Ss_FisikCreated
ELSE Ss_FisikLastUpdated
END as generateDate
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND T_OrderHeaderMgm_McuID = ?
JOIN m_patient
ON T_OrderHeaderM_PatientID = M_PatientID
AND (M_PatientName LIKE ? OR T_OrderHeaderLabNumber LIKE ?)
LEFT JOIN m_title
ON M_PatientM_TitleID = M_TitleID
LEFT JOIN ss_fisik
ON Ss_FisikSo_ResultEntryID = So_ResultEntryID
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
{$whereStatus}
LIMIT ? OFFSET ? ";
$query = $this->db_onedev->query($sql, [$startDate, $endDate, $setupID, $search, $search, $ROW_PER_PAGE, $start_offset]);
if (!$query) {
$message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query();
$this->sys_error("Error search");
exit;
}
// $data = $query->result_array();
$result = [
"total" => ceil($total / $ROW_PER_PAGE),
"records" => $query->result_array(),
// "qry" => $this->db_onedev->last_query()
];
$this->sys_ok($result);
}
function generateUiFisik()
{
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$labnumb = $prm['labnumb'];
$sql = "SELECT * FROM ( SELECT
T_OrderHeaderID,
So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'FISIK' as type
FROM so_resultentry
JOIN mcu_resume
ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND So_ResultEntryStatus = 'VAL1'
JOIN t_orderheader
ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
AND T_OrderHeaderLabNumber IN ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
-- AND T_OrderHeaderID = 7275
WHERE So_ResultEntryNonlab_TemplateID = '27'
AND So_ResultEntryIsActive = 'Y'
-- AND So_ResultEntryID = 15884
UNION
SELECT
T_OrderHeaderID,
0 as So_ResultEntryID,
Mcu_ResumeID,
T_OrderHeaderDate,
Mcu_ResumeValidationDateTime,
'ORDER' as type
FROM t_orderheader
JOIN mcu_resume
ON T_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
AND T_OrderHeaderLabNumber IN ?
AND T_OrderHeaderIsActive = 'Y'
AND Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
-- AND T_OrderHeaderMgm_McuID = 86
JOIN so_resultentry
ON T_OrderHeaderID = So_ResultEntryT_OrderHeaderID
JOIN t_orderdetail
ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
AND T_OrderDetailIsActive = 'Y'
AND So_ResultEntryT_OrderDetailID = T_OrderDetailID
AND So_ResultEntryIsActive = 'Y'
-- AND T_OrderHeaderID = 7275
AND T_OrderDetailT_TestID IN (2571)) x
GROUP BY So_ResultEntryID, T_OrderHeaderID
";
// $sql = "SELECT
// So_ResultEntryID,
// Mcu_ResumeID,
// T_OrderHeaderDate,
// Mcu_ResumeValidationDateTime
// FROM so_resultentry
// JOIN mcu_resume
// ON So_ResultEntryT_OrderHeaderID = Mcu_ResumeT_OrderHeaderID
// JOIN t_orderheader
// ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
// AND T_OrderHeaderLabNumber IN ?
// AND T_OrderHeaderIsActive = 'Y'
// AND Mcu_ResumeIsActive = 'Y'
// AND Mcu_ResumeValidation = 'Y'
// WHERE So_ResultEntryNonlab_TemplateID = '27'
// AND So_ResultEntryIsActive = 'Y'
// ";
$qry = $this->db_smartone->query($sql, [$labnumb, $labnumb]);
if (!$qry) {
$message = $this->db_smartone->error();
$this->sys_error_db($message);
exit;
}
// print_r($this->db_smartone->last_query());
$dataGenerate = $qry->result_array();
for ($i = 0; $i < count($dataGenerate); $i++) {
$this->generateFix($dataGenerate[$i]);
}
$this->sys_ok($dataGenerate);
}
function getsetup()
{
try {
// if (!$this->isLogin) {
// $this->sys_error("Invalid Token");
// exit;
// }
$sql = "SELECT *
FROM mgm_mcu
WHERE Mgm_McuIsActive = 'Y'
ORDER BY Mgm_McuStartDate ASC, Mgm_McuEndDate ASC";
$qry = $this->db_smartone->query($sql, []);
$last_qry = $this->db_smartone->last_query();
if (!$qry) {
$message = $this->db_smartone->error();
$message['last_qry'] = $last_qry;
$this->sys_error($message);
exit;
}
$data = $qry->result_array();
$result = [
"records" => $data,
];
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function generateFix($dataPeriode)
{
$id = $dataPeriode["So_ResultEntryID"];
$orderID = $dataPeriode["T_OrderHeaderID"];
if ($dataPeriode["type"] == 'FISIK') {
$orderID = 0;
}
$ohID = $dataPeriode["T_OrderHeaderID"];
$sql = "SELECT * FROM (SELECT Ss_FisikID,Ss_FisikT_OrderHeaderID, Ss_FisikSo_ResultEntryID FROM ss_fisik
WHERE Ss_FisikSo_ResultEntryID = ?
AND Ss_FisikT_OrderHeaderID = 0
AND Ss_FisikIsActive = 'Y'
AND '{$dataPeriode["type"]}' = 'FISIK'
UNION
SELECT Ss_FisikID,Ss_FisikT_OrderHeaderID, Ss_FisikSo_ResultEntryID FROM ss_fisik
WHERE Ss_FisikSo_ResultEntryID = 0
AND Ss_FisikT_OrderHeaderID = ?
AND Ss_FisikIsActive = 'Y'
AND '{$dataPeriode["type"]}' = 'ORDER') x
";
// WHERE Ss_FisikT_OrderHeaderID <> 0 AND Ss_FisikSo_ResultEntryID <> 0
$qry = $this->db_smartone->query($sql, array($id, $orderID));
if (!$qry) {
$message = $this->db_smartone->error();
$this->sys_error($message);
exit;
}
// echo $this->db_smartone->last_query();
// echo "\n;";
$rstCek = $qry->result_array();
$idCek = $rstCek[0]['Ss_FisikID'];
// print_r($rstCek);
// echo json_encode($qry->result_array());
// echo "\n";
$getKeluhanSaatIni = $this->keluhan_saat_ini($id);
$keluhanSaatIni = $getKeluhanSaatIni;
$getRiwayatPenyakit = $this->riwayat_penyakit($id);
$riwayatPenyakit = $getRiwayatPenyakit;
$getRiwayatKeluargaAyah = $this->riwayat_keluarga($id, 'ayah');
$riwayatKeluargaAyah = $getRiwayatKeluargaAyah;
$getRiwayatKeluargaIbu = $this->riwayat_keluarga($id, 'ibu');
$riwayatKeluargaIbu = $getRiwayatKeluargaIbu;
$getMerokok = $this->merokok($id);
$merokok = $getMerokok;
$getAlergi = $this->alergi($id);
$alergi = $getAlergi;
$getDoctor = $this->doctor($id);
$doctor = $getDoctor;
$getKonjuktivaSklera = $this->konjuktiva_sklera($id);
$konjuktivaSklera = $getKonjuktivaSklera;
$getLowBackPain = $this->low_back_pain($id);
$lowBackPain = $getLowBackPain;
$getAnoGenital = $this->anogenital($id);
$anoGenital = $getAnoGenital;
$getFrekuensiNafas = $this->frekuensi_nafas($id);
$frekuensiNafas = $getFrekuensiNafas;
$getTulangBelakang = $this->tulang_belakang($id);
$tulangBelakang = $getTulangBelakang;
$getExtremitas = $this->extremitas($id);
$extremitas = $getExtremitas;
$getKulit = $this->kulit($id);
$kulit = $getKulit;
$getHernia = $this->hernia($id);
$hernia = $getHernia;
$getPerut = $this->perut($id);
$perut = $getPerut;
$lingkar_perut = "-";
$lingkar_pinggang = "-";
$getPengukuran = $this->pengukuran($id);
$pengukuran = $getPengukuran;
if($pengukuran['lingkar_perut'] != null){
$lingkar_perut = $pengukuran['lingkar_perut'];
}
if($pengukuran['lingkar_pinggang'] != null){
$lingkar_pinggang = $pengukuran['lingkar_pinggang'];
}
$getThorax = $this->thorax($id);
$thorax = $getThorax;
$getGinjal = $this->ginjal($id);
$ginjal = $getGinjal;
$getMulutGigi = $this->mulut_gigi($id);
$mulutGigi = $getMulutGigi;
$getJantung = $this->jantung($id);
$jantung = $getJantung;
$getParu = $this->paru($id);
$paru = $getParu;
$getTenggorokan = $this->tenggorokan($id);
$tenggorokan = $getTenggorokan;
$getHidung = $this->hidung($id);
$hidung = $getHidung;
$getTelinga = $this->telinga($id);
$telinga = $getTelinga;
$getLapangPandang = $this->lapang_pandang($id);
$lapangPandang = $getLapangPandang;
$getPresepsiWarna = $this->persepsi_warna($id);
$presepsiWarna = $getPresepsiWarna;
$getFrekuensiNadi = $this->frekuensi_nadi($id);
$frekuensiNadi = $getFrekuensiNadi;
$getSuhu = $this->suhu($id);
$suhu = $getSuhu;
$getTekananDarahSistolik = $this->tekanan_darah($id, 'sistolik');
$TekananDarahSistolik = $getTekananDarahSistolik;
$getVisusLeft = $this->visus($ohID, 'left');
$visusLeft = $getVisusLeft;
$getVisusRight = $this->visus($ohID, 'right');
$visusRight = $getVisusRight;
$getReflekFisiologis = $this->reflek($id, 'fisiologis');
$reflekFisiologis = $getReflekFisiologis;
$getReflekPatologis = $this->reflek($id, 'patologis');
$reflekPatologis = $getReflekPatologis;
$getTekananDarahDiastolik = $this->tekanan_darah($id, 'diastolik');
$tekananDarahDiastolik = $getTekananDarahDiastolik;
$getTB = $this->tbbbbodyfat($id, 'TB');
$tb = $getTB;
$getBMI = $this->tbbbbodyfat($id, 'BMI');
$bmi = $getBMI;
$getBodyFat = $this->tbbbbodyfat($id, 'BODY');
$bodyFat = $getBodyFat;
$getBB = $this->tbbbbodyfat($id, 'BB');
$bb = $getBB;
$getAlkohol = $this->alkohol($id);
$alkohol = $getAlkohol;
$getOlahraga = $this->olahraga($id);
$olahraga = $getOlahraga;
$getLeher = $this->leher($id);
$leher = $getLeher;
$getRiwayatPhobia = $this->riwayat_phobia($id);
$riwayatPhobia = $getRiwayatPhobia;
$getRiwayatObat = $this->riwayat_obat($id);
$riwayatObat = $getRiwayatObat;
$getRiwayatImunisasi = $this->riwayat_imunisasi($id);
$riwayatImunisasi = $getRiwayatImunisasi;
$getKeadaanUmum = $this->keadaan_umum($id);
$keadaanUmum = $getKeadaanUmum;
$getGenitourinaria = $this->genitourinaria($id);
$genitourinaria = $getGenitourinaria;
$getAnggota = $this->anggota($id);
$anggota = $getAnggota;
$getSistem = $this->sistem($id);
$sistem = $getSistem;
$getSmell = $this->smell($id);
$smell = $getSmell;
$getIntegument = $this->integumen($id);
$integument = $getIntegument;
$getFaktorFisik = $this->faktor_fisik($id);
$faktorFisik = $getFaktorFisik;
$getFaktorKimia = $this->faktor_kimia($id);
$faktorKimia = $getFaktorKimia;
$getFaktorBiologi = $this->faktor_biologi($id);
$faktorBiologi = $getFaktorBiologi;
$getFaktorErgonomi = $this->faktor_ergonomi($id);
$faktorErgonomi = $getFaktorErgonomi;
$getFaktorPsikologi = $this->faktor_psikologi($id);
$faktorPsikologi = $getFaktorPsikologi;
$getTonometri = $this->tonometri($id);
$tonometri = $getTonometri;
//get kesimpulan
$sql = " SELECT
Mcu_ResumeKesimpulan,
Mcu_ResumeRekomendasi,
Mcu_ResumeSaran
FROM mcu_resume
WHERE Mcu_ResumeIsActive = 'Y'
AND Mcu_ResumeValidation = 'Y'
AND Mcu_ResumeT_OrderHeaderID = ?
";
$query = $this->db_smartone->query($sql, [$ohID]);
if (!$query) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
$kesimpulan = $query->result_array()[0]['Mcu_ResumeKesimpulan'];
$saran = $query->result_array()[0]['Mcu_ResumeSaran'];
if ($kesimpulan == null) {
$kesimpulan = '';
}
if ($saran == null) {
$saran = '';
}
// echo (count($idCek));
// echo "\n";
// exit;
if (count($idCek) == 0) {
//insert baru
// echo "insert :" . strval($idCek);
$data = [
"Ss_FisikSo_ResultEntryID" => $id,
"Ss_FisikT_OrderHeaderID" => $orderID,
"Ss_FisikKeluhanSaatIni" => $keluhanSaatIni,
"Ss_FisikRiwayatPenyakit" => $riwayatPenyakit,
"Ss_FisikRiwayatKeluargaAyah" => $riwayatKeluargaAyah,
"Ss_FisikRiwayatKeluargaIbu" => $riwayatKeluargaIbu,
"Ss_FisikMerokok" => $merokok,
"Ss_FisikAlergi" => $alergi,
"Ss_FisikDoctor" => $doctor,
"Ss_FisikKonjuktivaSklera" => $konjuktivaSklera,
"Ss_FisikLowBackPain" => $lowBackPain,
"Ss_FisikAnogenital" => $anoGenital,
"Ss_FisikFrekuensiNafas" => $frekuensiNafas,
"Ss_FisikTulangBelakang" => $tulangBelakang,
"Ss_FisikExtremitas" => $extremitas,
"Ss_FisikKulit" => $kulit,
"Ss_FisikHernia" => $hernia,
"Ss_FisikPerut" => $perut,
"Ss_FisikThorax" => $thorax,
"Ss_FisikGinjal" => $ginjal,
"Ss_FisikMulutGigi" => $mulutGigi,
"Ss_FisikJantung" => $jantung,
"Ss_FisikParu" => $paru,
"Ss_FisikTenggorokan" => $tenggorokan,
"Ss_FisikHidung" => $hidung,
"Ss_FisikTelinga" => $telinga,
"Ss_FisikLapangPandang" => $lapangPandang,
"Ss_FisikPresepsiWarna" => $presepsiWarna,
"Ss_FisikFrekuensiNadi" => $frekuensiNadi,
"Ss_FisikSuhu" => $suhu,
"Ss_FisikTekananDarahSistolik" => $TekananDarahSistolik,
"Ss_FisikVisusLeft" => $visusLeft,
"Ss_FisikReflekFisiologis" => $reflekFisiologis,
"Ss_FisikReflekPatologis" => $reflekPatologis,
"Ss_FisikVisusRight" => $visusRight,
"Ss_FisikTekananDarahDiastolik" => $tekananDarahDiastolik,
"Ss_FisikTB" => $tb,
"Ss_FisikBMI" => $bmi,
"Ss_FisikBodyFat" => $bodyFat,
"Ss_FisikBB" => $bb,
"Ss_FisikAlkohol" => $alkohol,
"Ss_FisikOlahraga" => $olahraga,
"Ss_FisikLeher" => $leher,
"Ss_FisikRiwayatPhobia" => $riwayatPhobia,
"Ss_FisikRiwayatObat" => $riwayatObat,
"Ss_FisikKeadaanUmum" => $keadaanUmum,
"Ss_FisikRiwayatImunisasi" => $riwayatImunisasi,
"Ss_FisikGenitourinaria" => $genitourinaria,
"Ss_FisikAnggota" => $anggota,
"Ss_FisikSistem" => $sistem,
"Ss_FisikSmell" => $smell,
"Ss_FisikIntegument" => $integument,
"Ss_FisikFaktorFisik" => $faktorFisik,
"Ss_FisikFaktorKimia" => $faktorKimia,
"Ss_FisikFaktorBiologis" => $faktorBiologi,
"Ss_FisikFaktorErgonomi" => $faktorErgonomi,
"Ss_FisikFaktorPsikologi" => $faktorPsikologi,
"Ss_FisikKesimpulan" => $kesimpulan,
"Ss_FisikSaran" => $saran,
"Ss_FisikCreated" => date('Y-m-d H:i:s'),
"Ss_FisikCreatedUserID" => 0,
"Ss_FisikTonometri" => $tonometri,
"Ss_FisikLingkarPerut" => $lingkar_perut,
"Ss_FisikLingkarPinggang" => $lingkar_pinggang
];
$qry = $this->db_smartone->insert('ss_fisik', $data);
if (!$qry) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
// echo ($this->db_smartone->last_query());
} else {
//Update baru
// echo "update :" . strval($idCek);
$data = [
"Ss_FisikKeluhanSaatIni" => $keluhanSaatIni,
"Ss_FisikRiwayatPenyakit" => $riwayatPenyakit,
"Ss_FisikRiwayatKeluargaAyah" => $riwayatKeluargaAyah,
"Ss_FisikRiwayatKeluargaIbu" => $riwayatKeluargaIbu,
"Ss_FisikMerokok" => $merokok,
"Ss_FisikAlergi" => $alergi,
"Ss_FisikDoctor" => $doctor,
"Ss_FisikKonjuktivaSklera" => $konjuktivaSklera,
"Ss_FisikLowBackPain" => $lowBackPain,
"Ss_FisikAnogenital" => $anoGenital,
"Ss_FisikFrekuensiNafas" => $frekuensiNafas,
"Ss_FisikTulangBelakang" => $tulangBelakang,
"Ss_FisikExtremitas" => $extremitas,
"Ss_FisikKulit" => $kulit,
"Ss_FisikHernia" => $hernia,
"Ss_FisikPerut" => $perut,
"Ss_FisikThorax" => $thorax,
"Ss_FisikGinjal" => $ginjal,
"Ss_FisikMulutGigi" => $mulutGigi,
"Ss_FisikJantung" => $jantung,
"Ss_FisikParu" => $paru,
"Ss_FisikTenggorokan" => $tenggorokan,
"Ss_FisikHidung" => $hidung,
"Ss_FisikTelinga" => $telinga,
"Ss_FisikLapangPandang" => $lapangPandang,
"Ss_FisikPresepsiWarna" => $presepsiWarna,
"Ss_FisikFrekuensiNadi" => $frekuensiNadi,
"Ss_FisikSuhu" => $suhu,
"Ss_FisikTekananDarahSistolik" => $TekananDarahSistolik,
"Ss_FisikVisusLeft" => $visusLeft,
"Ss_FisikReflekFisiologis" => $reflekFisiologis,
"Ss_FisikReflekPatologis" => $reflekPatologis,
"Ss_FisikVisusRight" => $visusRight,
"Ss_FisikTekananDarahDiastolik" => $tekananDarahDiastolik,
"Ss_FisikTB" => $tb,
"Ss_FisikBMI" => $bmi,
"Ss_FisikBodyFat" => $bodyFat,
"Ss_FisikBB" => $bb,
"Ss_FisikAlkohol" => $alkohol,
"Ss_FisikOlahraga" => $olahraga,
"Ss_FisikLeher" => $leher,
"Ss_FisikRiwayatPhobia" => $riwayatPhobia,
"Ss_FisikRiwayatObat" => $riwayatObat,
"Ss_FisikKeadaanUmum" => $keadaanUmum,
"Ss_FisikRiwayatImunisasi" => $riwayatImunisasi,
"Ss_FisikGenitourinaria" => $genitourinaria,
"Ss_FisikAnggota" => $anggota,
"Ss_FisikSistem" => $sistem,
"Ss_FisikSmell" => $smell,
"Ss_FisikIntegument" => $integument,
"Ss_FisikFaktorFisik" => $faktorFisik,
"Ss_FisikFaktorKimia" => $faktorKimia,
"Ss_FisikFaktorBiologis" => $faktorBiologi,
"Ss_FisikFaktorErgonomi" => $faktorErgonomi,
"Ss_FisikFaktorPsikologi" => $faktorPsikologi,
"Ss_FisikKesimpulan" => $kesimpulan,
"Ss_FisikSaran" => $saran,
"Ss_FisikUpdatedUserID" => 0,
"Ss_FisikLastUpdated" => date('Y-m-d H:i:s'),
"Ss_FisikTonometri" => $tonometri,
"Ss_FisikLingkarPerut" => $lingkar_perut,
"Ss_FisikLingkarPinggang" => $lingkar_pinggang
];
// "Ss_FisikSo_ResultEntryID" => $id,
$this->db_smartone->where('Ss_FisikID', $idCek);
$qry = $this->db_smartone->update('ss_fisik', $data);
if (!$qry) {
$message = $this->db_smartone->error();
$message['qry'] = $this->db_smartone->last_query();
$this->sys_error($message);
exit;
}
}
}
}