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;
         }
      }
   }
}