db_onedev = $this->load->database("onedev", true); } function kesimpulanv4($id) { $kesimpulan = ""; /*$sql = "SELECT * FROM so_resultentry_fisik_umum WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumM_LangID = ? AND So_ResultEntryFisikUmumType = 'riwayat' "; $qry = $this->db->query($sql,array($id,$langid)); $data_rows = $qry->result_array(); if ( count($data_rows) == 0 ) return ''; $riwayat_data = json_decode($data_rows[0]["So_ResultEntryFisikUmumDetails"],true);*/ $sql = "SELECT * FROM fisik_template JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND So_ResultEntryFisikUmumSo_ResultEntryID = ? WHERE FisikTemplateIsActive = 'Y' AND FisikTemplateType = 'Riwayat' ORDER BY FisikTemplateCode ASC "; $qry = $this->db->query($sql, array($id)); // echo $this->db->last_query(); $xriwayats = $qry->result_array(); $riwayat_data = []; foreach ($xriwayats as $key => $value) { $riwayat_data[] = json_decode($value['So_ResultEntryFisikUmumDetails'], true); } //print_r($riwayat_data); foreach ($riwayat_data as $riwayat_da) { //print_r($riwayat_da); //echo $riwayat_da["title"]; if ($riwayat_da["title"] == "KELUHAN SAAT INI") { //print_r($riwayat_da["details"]); foreach ($riwayat_da["details"] as $riwayat_db) { if (($riwayat_db["chx"] == "1" || $riwayat_db["chx"] != false) && $riwayat_db["label"] == 'Gastritis (maag)') { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $riwayat_db["label"] . " " . $riwayat_db["value"]; } } } } $kode_gigi = array( "X" => "Berlubang", "C" => "Tambalan", "O" => "Tanggal", "R" => "Sisa akar", "A" => "Gigi Palsu", "K" => "Karang Gigi" ); $sql = "SELECT * FROM fisik_template JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND So_ResultEntryFisikUmumSo_ResultEntryID = ? JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID WHERE FisikTemplateIsActive = 'Y' AND FisikTemplateType = 'Fisik' ORDER BY FisikTemplateCode ASC "; $qry = $this->db->query($sql, array($id)); // echo $this->db->last_query(); $xfisiks = $qry->result_array(); $fisik_data = []; foreach ($xfisiks as $kex => $valux) { $fisik_data[] = json_decode($valux['So_ResultEntryFisikUmumDetails'], true); } //print_r($fisik_data); /*$sql = "SELECT so_resultentry_fisik_umum.*, M_SexCode FROM so_resultentry_fisik_umum JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID JOIN m_sex ON M_PatientM_SexID = M_SexID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumM_LangID = ? AND So_ResultEntryFisikUmumType = 'fisik'"; $qry = $this->db->query($sql,array($id,$langid)); $rows = $qry->result_array(); if ( count($rows) == 0 ) return ''; $data = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"],true); */ $sexcode = $xfisiks[0]["M_PatientGender"] == 'male' ? 'L' : 'P'; //echo $xfisiks[0]["M_PatientGender"]; //echo $sexcode; //$data = $fisik_data; //echo json_encode($fisik_data); // echo $kesimpulan; $kesimpulan_mata = ""; $kesimpulan_visus = ""; $kesimpulan_gigi = ""; foreach ($fisik_data as $da) { //echo $da["title"]; if ($da["title"] == "TANDA VITAL") { foreach ($da["details"] as $db) { //print_r($db); if ($db["chx_x"] == "1") { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " " . $db["label_x"]; } if ($db["id_code"] == "tanda_vital_1") { //echo $db["value"]; if (intval($db["value"]) > 100) { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= "Takhikardi " . " ( " . $db["value"] . " x/menit )"; } if (intval($db["value"]) < 60) { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= "Bradikardi " . " ( " . $db["value"] . " x/menit )"; } } if ($db["id_code"] == "tanda_vital_3") { if (intval($db["value"]) > 20 || intval($db["value"]) < 16) { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " ( " . $db["value"] . " x/menit )"; } } if ($db["id_code"] == 'tanda_vital_5' && $db["value_x"] != 'NORMAL' && $db["value_x"] != 'OPTIMAL' && $db['value_x'] != 'HIGH NORMAL') { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " " . $db["value"] . " " . $db["unit"] . " ( " . ucwords(strtolower($db["value_x"])) . " )"; } } } elseif ($da["title"] == "STATUS GIZI") { $bmi_value = ""; //echo json_encode($da['details']); foreach ($da["details"] as $db) { if ($db["id_code"] == "status_gizi_4") $bmi_value = $db["value"]; if ($db["chx_x"] == "1") { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " " . $db["label_x"]; } if (($db["id_code"] == "status_gizi_6" && $db["value"] != "Normal" && $db["value"] != '-')) { //echo $db["value"] ; if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["value"] . " ( BMI : $bmi_value )"; //echo $kesimpulan; } //echo $kesimpulan; if ($db["id_code"] == "status_gizi_3") { if (intval($db["value"]) >= 90 && $sexcode == 'L') { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " " . " ( " . $db["value"] . " cm )"; } if (intval($db["value"]) >= 80 && $sexcode == 'P') { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " " . " ( " . $db["value"] . " cm )"; } } } } elseif ($da["title"] == "KEADAAN UMUM") { foreach ($da["details"] as $db) { if ($db["chx_x"] == "1") { if ($kesimpulan != "") $kesimpulan .= ", "; $kesimpulan .= $db["label"] . " : ( " . $db["label_x"] . " ) " . $db["value"]; } } //echo $kesimpulan; } elseif ($da["title"] == "KEPALA WAJAH") { //echo json_encode($da["details"]); $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } //echo $kesimpulan; if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } //echo $kesimpulan; } elseif ($da["title"] == "MATA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; $kesimpulan_mata = ucwords(strtolower($da["title"])) . " : " . $rst_x; } //echo $kesimpulan; } elseif ($da["title"] == "PERSEPSI WARNA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } //echo $kesimpulan; } elseif ($da["title"] == "VISUS JAUH") { $s_rst = ''; foreach ($da["details"] as $db) { $str_data = ""; $r_ods = ''; $xr_ods = array(); $kelainan = ''; foreach ($db['details'] as $dc) { if ($dc['chx'] == '1' && $dc['segment_name'] == 'Tanpa kacamata' && ($dc['value'] != '' && $dc['value'] != '6/6')) { $r_ods .= $dc['label'] . " : " . $dc['value'] . " "; array_push($xr_ods, $dc['value']); } if ($dc['chx'] == '1' && $dc['segment_name'] == 'Dengan kacamata' && $dc['value'] != '') { if ($dc['value'] != '6/6') $r_ods .= $dc['label'] . " : " . $dc['value'] . " "; array_push($r_ods); array_push($xr_ods, $dc['value']); } } //print_r($xr_ods); if (!empty($xr_ods)) { if ($db['name'] == 'Tanpa kacamata') { $kelainan = "Kelainan Refraksi"; $str_data .= $kelainan . " " . $db['name'] . " ( " . $r_ods . ")"; } if ($db['name'] == 'Dengan kacamata') { $all66 = true; foreach ($xr_ods as $xd => $xv) { if ($xv != '6/6') { $all66 = false; } } if ($all66) { $kelainan = "Kelainan Refraksi Terkoreksi"; } else { $kelainan = "Kelainan Refraksi"; } if ($r_ods != '') $str_data .= $kelainan . " " . $db['name'] . " ( " . $r_ods . ")"; else $str_data .= $kelainan . " " . $db['name']; } $s_rst .= $str_data; } //echo $str_data; } if ($s_rst != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $s_rst; $kesimpulan_visus = $s_rst; } //echo $kesimpulan; } elseif ($da["title"] == "TELINGA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } } elseif ($da["title"] == "HIDUNG") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } //echo $kesimpulan; } elseif ($da["title"] == "GIGI") { $arr_gigi = array(); foreach ($da["details"] as $db) { foreach ($db["details"] as $dc) { $dc["value"] = strtoupper($dc["value"]); if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) { $value = $kode_gigi[$dc["value"]]; if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array(); $kode = $dc["id_code"]; $pos = substr($kode, -1); if (strpos($kode, "atas")) { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "└" . $pos; } else { $arr_gigi[$value][] = $pos . "┘"; } } else { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "┌" . $pos; } else { $arr_gigi[$value][] = $pos . "┐"; } } } } } $r_gigi = ""; foreach ($arr_gigi as $v => $g) { if ($r_gigi != "") $r_gigi .= "
"; $r_gigi .= "" . $v . " " . join(",", $g) . ""; } //print_r($arr_gigi); //echo $r_gigi; if ($r_gigi != "") { if ($kesimpulan != "") $kesimpulan .= "
"; if ($kesimpulan != "") $kesimpulan .= "Gigi
"; $kesimpulan .= $r_gigi; $kesimpulan_gigi = $r_gigi; } //echo $kesimpulan; } elseif ($da["title"] == "MULUT") { $s_rst = ''; foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["label"] . " " . $dc["label_x"] . " " . $dc["value"]; } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($s_rst != "") $s_rst .= "
"; $s_rst .= "" . $db["name"] . " : " . $s_res . ""; } } if ($s_rst != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= "" . ucwords(strtolower($da["title"])) . "
"; $kesimpulan .= $s_rst; } //echo $kesimpulan; } elseif ($da["title"] == "LEHER") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } } elseif ($da["title"] == "THORAX / DADA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } //echo $kesimpulan; } elseif ($da["title"] == "PARU-PARU") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } } elseif ($da["title"] == "JANTUNG") { $s_rst = ''; foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= " ( " . $dc["label"] . " : " . $dc["label_x"] . " " . $dc["value"] . " )"; } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($s_rst != "") $s_rst .= "
"; $s_rst .= "" . $db["name"] . " : " . $s_res . ""; } } if ($s_rst != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . "
"; $kesimpulan .= $s_rst; } } elseif ($da["title"] == "PERUT / ABDOMEN") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain' && $dc['label'] != 'Tidak Ada') { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["label"] . " " . $dc["value"]; } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } //echo $kesimpulan; } elseif ($da["title"] == "GENITOURINARIA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Tidak diperiksa" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } } elseif ($da["title"] == "ANGGOTA GERAK") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */ } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } } elseif ($da["title"] == "SISTEM PERSYARAFAN") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */ } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } } elseif ($da["title"] == "SMELL TEST") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */ } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } } elseif ($da["title"] == "LOW BACK PAIN SCREENING TEST") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; /* perubahan 180320 */ } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } //echo $kesimpulan; } elseif ($da["title"] == "SISTEM INTEGUMEN") { foreach ($da["details"] as $db) { $s_res = ""; foreach ($db["details"] as $dc) { if ($dc["chx"] == "1" && $dc["is_normal"] == "N" && $dc["label"] != 'Lain-lain') { if ($s_res != "") $s_res .= ", "; $s_res .= "( " . $dc["label"] . " ) " . $dc["value"]; } if ($dc["label"] == 'Lain-lain' && $dc["chx"] == "1") { if ($s_res != "") $s_res .= ", "; $s_res .= $dc["value"]; } } if ($s_res != "") { if ($kesimpulan != "") $kesimpulan .= "
"; $kesimpulan .= $db["name"] . " : " . $s_res; } } //echo $kesimpulan; } } if ($kesimpulan == "") { $kesimpulan = "Tidak ditemukan kelainan."; } else { $kesimpulan = "Pada saat ini didapatkan kelainan berupa :
" . $kesimpulan; } return [$kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi]; } function kesimpulanv4_old($orderHeaderID, $langid = 1) { //mata visus gigi $sql = "select So_ResultEntryID,So_ResultEntrySo_TemplateName from so_resultentry where So_ResultEntryT_OrderHeaderID= ? and So_ResultEntryIsActive = 'Y'"; $qry = $this->db->query($sql, [$orderHeaderID]); if (!$qry) { return ["", "", ""]; } $rows = $qry->result_array(); $id = 0; foreach ($rows as $r) { if ($r["So_ResultEntrySo_TemplateName"] == "FISIK UMUM") { $id = $r["So_ResultEntryID"]; break; } if (substr($r["So_ResultEntrySo_TemplateName"], 0, 5) == "FISIK") { $id = $r["So_ResultEntryID"]; break; } } $sql = "SELECT * FROM so_resultentry_fisik_umum WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumM_LangID = ? AND So_ResultEntryFisikUmumType = 'riwayat' "; $qry = $this->db->query($sql, array($id, $langid)); $data_rows = $qry->result_array(); if (count($data_rows) == 0) return ''; $riwayat_data = json_decode($data_rows[0]["So_ResultEntryFisikUmumDetails"], true); $kode_gigi = array( "X" => "Berlubang", "C" => "Tambalan", "O" => "Tanggal", "R" => "Sisa akar", "A" => "Gigi Palsu", "K" => "Karang Gigi" ); $sql = "SELECT so_resultentry_fisik_umum.*, M_SexCode FROM so_resultentry_fisik_umum JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID JOIN m_sex ON M_PatientM_SexID = M_SexID WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumM_LangID = ? AND So_ResultEntryFisikUmumType = 'fisik'"; $qry = $this->db->query($sql, array($id, $langid)); $rows = $qry->result_array(); if (count($rows) == 0) return ''; $data = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"], true); $sexcode = $rows[0]["M_SexCode"]; $kesimpulan_mata = ""; $kesimpulan_visus = ""; $kesimpulan_gigi = ""; foreach ($data as $da) { if ($da["title"] == "MATA") { $rst_x = ''; foreach ($da["details"] as $db) { if ($db["chx"] == "1" && $db["is_normal"] == "N" && $db["label"] != "Lain-lain") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["label"] . " " . $db["value"]; } if ($db["label"] == "Lain-lain" && $db["chx"] == "1") { if ($rst_x != "") $rst_x .= ", "; $rst_x .= $db["value"]; } } if ($rst_x !== '') { $kesimpulan_mata .= ucwords(strtolower($da["title"])) . " : " . $rst_x; } } if ($da["title"] == "VISUS JAUH") { $s_rst = ''; foreach ($da["details"] as $db) { $str_data = ""; $r_ods = ''; $xr_ods = array(); $kelainan = ''; foreach ($db['details'] as $dc) { if ($dc['chx'] == '1' && $dc['segment_name'] == 'Tanpa kacamata' && ($dc['value'] != '' && $dc['value'] != '6/6')) { $r_ods .= $dc['label'] . " : " . $dc['value'] . " "; array_push($xr_ods, $dc['value']); } if ($dc['chx'] == '1' && $dc['segment_name'] == 'Dengan kacamata' && $dc['value'] != '') { if ($dc['value'] != '6/6') $r_ods .= $dc['label'] . " : " . $dc['value'] . " "; array_push($r_ods); array_push($xr_ods, $dc['value']); } } //print_r($xr_ods); if (!empty($xr_ods)) { if ($db['name'] == 'Tanpa kacamata') { $kelainan = "Kelainan Refraksi"; $str_data .= $kelainan . " " . $db['name']; } if ($db['name'] == 'Dengan kacamata') { $all66 = true; foreach ($xr_ods as $xd => $xv) { if ($xv != '6/6') { $all66 = false; } } if ($all66) { $kelainan = "Kelainan Refraksi Terkoreksi"; } else { $kelainan = "Kelainan Refraksi"; } if ($r_ods != '') $str_data .= $kelainan . " " . $db['name']; else $str_data .= $kelainan . " " . $db['name']; } $s_rst .= $str_data; } //echo $str_data; } if ($s_rst != "") { $kesimpulan_visus .= $s_rst; } } if ($da["title"] == "GIGI") { $arr_gigi = array(); foreach ($da["details"] as $db) { foreach ($db["details"] as $dc) { $dc["value"] = strtoupper($dc["value"]); if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) { $value = $kode_gigi[$dc["value"]]; if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array(); $kode = $dc["id_code"]; $pos = substr($kode, -1); if (strpos($kode, "atas")) { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "└" . $pos; } else { $arr_gigi[$value][] = $pos . "┘"; } } else { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "┌" . $pos; } else { $arr_gigi[$value][] = $pos . "┐"; } } } } } $r_gigi = ""; foreach ($arr_gigi as $v => $g) { if ($r_gigi != "") $r_gigi .= " "; $r_gigi .= " " . $v . " " . join(",", $g) . " "; } if ($r_gigi != "") { $kesimpulan_gigi .= $r_gigi; } } } $result = [$kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi]; return $result; } function json($orderID) { $start = $start . " 00:00:01"; $end = $end . " 23:59:59"; $sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderIsActive = 'Y' and T_OrderHeaderID=? "; $qry = $this->db->query($sql, array($orderID)); if (!$qry) { //Error Query $db_err = $this->db->error(); echo json_encode(array( "status" => "ERR", "message" => $db_err["message"] )); exit; } $rows = $qry->result_array(); $sid = "0"; foreach ($rows as $r) { $sid .= ", " . $r["T_OrderHeaderID"]; } $sql = "select fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName, fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr, T_OrderHeaderDate,T_OrderHeaderLabNumber, -- T_OrderHeaderLabNumberExt, T_OrderHeaderM_PatientAge, '' M_CompanyName, '' M_MouName, T_TestName, -- So_ResultEntryFisikUmumType, So_ResultEntryFisikUmumDetails from t_orderheader -- join m_company on T_OrderHeaderM_CompanyID = M_CompanyID -- join m_mou on T_OrderHeaderM_MouID = M_MouID join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y' join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4' join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID where T_OrderHeaderID in ($sid) order by So_ResultEntryFisikUmumID "; $qry = $this->db->query($sql); if (!$qry) { //Error Query $db_err = $this->db->error(); echo json_encode(array( "status" => "ERR", "message" => $db_err["message"] )); exit; } $rows = $qry->result_array(); $data = array(); $have_gigi = false; list($kesimpulan_mata, $kesimpulan_visus, $kesimpulan_gigi) = $this->kesimpulanv4($orderID); foreach ($rows as $r) { $attr = json_decode($r["attr"], true); unset($r["attr"]); $r_details = json_decode($r["So_ResultEntryFisikUmumDetails"], true); unset($r["So_ResultEntryFisikUmumDetails"]); //$new_r = array(); $is_gigi = false; $d = $r_details; if (isset($d["details"])) { $dy_details = $d["details"]; unset($d["details"]); $d["T_TestName"] = $r["T_TestName"]; $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"]; $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"]; $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"]; $d["M_PatientName"] = $r["M_PatientName"]; $d["M_PatientDOB"] = $attr["M_PatientDOB"]; $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"]; $d["M_SexName"] = $attr["M_SexName"]; $d["M_CompanyName"] = $r["M_CompanyName"]; $d["M_MouName"] = $r["M_MouName"]; $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"]; foreach ($dy_details as $dy_detail) { if ( $d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG" || $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN" || $d["title"] == "ETNIS" ) { if ($dy_detail["chx"] == "1") { $dy_detail["value"] = $dy_detail["label"]; $dy_detail["label"] = $dy_detail["segment_name"]; $new_d[] = array_merge($d, $dx, $dy_detail); } } if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) { $dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"]; } if ($d["title"] == "VISUS JAUH") { $dy_detail["kesimpulan"] = $kesimpulan_visus; } if ($d["title"] == "GIGI") { // if (!$have_gigi) { // $dy_detail["label"] = "kesimpulan"; // $dy_detail["value"] = $this->hasil_gigi($dy_details); // $new_d[] = array_merge($d, $dx, $dy_detail); // } if ($kesimpulan_gigi != "" && !$is_gigi) { $is_gigi = true; $dy_detail["label"] = "kesimpulan"; $dy_detail["value"] = $kesimpulan_gigi; $new_d[] = array_merge($d, $dx, $dy_detail); } $have_gigi = true; } else { $new_d[] = array_merge($d, $dy_detail); } } } // continue; // foreach ($r_details as $idx => $d) { // $details = $d["details"]; // if (isset($d["details"])) unset($d["details"]); // $d["T_TestName"] = $r["T_TestName"]; // $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"]; // $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"]; // $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"]; // $d["M_PatientName"] = $r["M_PatientName"]; // $d["M_PatientDOB"] = $attr["M_PatientDOB"]; // $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"]; // $d["M_SexName"] = $attr["M_SexName"]; // $d["M_CompanyName"] = $r["M_CompanyName"]; // $d["M_MouName"] = $r["M_MouName"]; // // $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"]; // // print_r($r); // // echo "\n"; // // echo "Test : " . $r["T_TestName"] . "\n"; // // print_r($d); // // echo "\n"; // /* if ($d["title"] == "GIGI") { // $dx = $details[0]; // $dy = $dx["details"][0]; // $dy["label"] = "kesimpulan"; // $dy["value"] = $this->hasil_gigi($dx["details"]); // $new_d[] = array_merge($d,$dy); // continue; // } */ // if ( // $d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG" // || $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN" // ) { // if ($details["chx"] == "1") { // $details["value"] = $details["label"]; // $details["label"] = $details["segment_name"]; // $new_d[] = array_merge($d, $details); // } // } // foreach ($details as $dx) { // if (isset($dx["details"])) { // $dy_details = $dx["details"]; // unset($dx["details"]); // foreach ($dy_details as $dy_detail) { // if ( // $d["title"] == "ANGGOTA GERAK" || $d["title"] == "MULUT" || $d["title"] == "JANTUNG" // || $d["title"] == "PERUT / ABDOMEN" || $d["title"] == "SISTEM PERSYARAFAN" || $d["title"] == "SISTEM INTEGUMEN" // ) { // if ($dy_detail["chx"] == "1") { // $dy_detail["value"] = $dy_detail["label"]; // $dy_detail["label"] = $dy_detail["segment_name"]; // $new_d[] = array_merge($d, $dx, $dy_detail); // } // } // //if ($dy["value"] == "") continue; // if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) { // $dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"]; // } // if ($d["title"] == "VISUS JAUH") { // $dy_detail["kesimpulan"] = $kesimpulan_visus; // } // if ($d["title"] == "GIGI") { // // if (!$have_gigi) { // // $dy_detail["label"] = "kesimpulan"; // // $dy_detail["value"] = $this->hasil_gigi($dy_details); // // $new_d[] = array_merge($d, $dx, $dy_detail); // // } // if ($kesimpulan_gigi != "" && !$is_gigi) { // $is_gigi = true; // $dy_detail["label"] = "kesimpulan"; // $dy_detail["value"] = $kesimpulan_gigi; // $new_d[] = array_merge($d, $dx, $dy_detail); // } // $have_gigi = true; // } else { // $new_d[] = array_merge($d, $dx, $dy_detail); // } // } // } else { // if ($dx["value"] != "") { // if (isset($dx["unit"]) && isset($dx["value"])) { // $dx["value"] = $dx["value"]; // } // $new_d[] = array_merge($d, $dx); // } // if ($dx["chx_y"] == 1) { // $dx["value"] = $dx["label_y"]; // $new_d[] = array_merge($d, $dx); // } // if ($dx["chx_x"] == 1) { // $dx["value"] = $dx["label_x"]; // $new_d[] = array_merge($d, $dx); // } // if ($dx["chx"] == 1) { // $dx["value"] = $dx["label"] . " " . $d["value"]; // $new_d[] = array_merge($d, $dx); // } // } // } // //$new_r[] = $new_d; // } } $x_d = usort($new_d, array("Fisik01", "cmp")); echo json_encode($new_d); } function hasil_gigi($da) { $arr_gigi = array(); foreach ($da["details"] as $db) { foreach ($db["details"] as $dc) { $dc["value"] = strtoupper($dc["value"]); if ($dc["value"] != "" && isset($kode_gigi[$dc["value"]])) { $value = $kode_gigi[$dc["value"]]; if (!isset($arr_gigi[$value])) $arr_gigi[$value] = array(); $kode = $dc["id_code"]; $pos = substr($kode, -1); if (strpos($kode, "atas")) { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "└" . $pos; } else { $arr_gigi[$value][] = $pos . "┘"; } } else { if (strpos($kode, "kiri")) { $arr_gigi[$value][] = "┌" . $pos; } else { $arr_gigi[$value][] = $pos . "┐"; } } } } } $r_gigi = ""; foreach ($arr_gigi as $v => $g) { if ($r_gigi != "") $r_gigi .= "\n"; $r_gigi .= $v . " " . join(",", $g); } return $r_gigi; } function cmp($a, $b) { $a_key = substr($a["title"], 1, 3) . "-" . $a["label"]; $b_key = substr($b["title"], 1, 3) . "-" . $b["label"]; return strcmp($a_key, $b_key); } function json_single($headerID) { $sql = "select fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName, fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr, T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge, ' ' M_CompanyName, M_MouName, T_TestName, So_ResultEntryFisikUmumType, So_ResultEntryFisikUmumDetails from t_orderheader -- join m_company on T_OrderHeaderM_CompanyID = M_CompanyID join m_mou on T_OrderHeaderM_MouID = M_MouID join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y' join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4' join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID where T_OrderHeaderID =?"; $qry = $this->db->query($sql, array($headerID)); if (!$qry) { //Error Query $db_err = $this->db->error(); echo json_encode(array( "status" => "ERR", "message" => $db_err["message"] )); exit; } $rows = $qry->result_array(); $data = array(); echo "
";
    $new_d = array();
    foreach ($rows as $r) {
      $attr = json_decode($r["attr"], true);
      unset($r["attr"]);
      $r_details = json_decode($r["So_ResultEntryFisikUmumDetails"], true);
      unset($r["So_ResultEntryFisikUmumDetails"]);
      $new_r = array();
      foreach ($r_details as $idx => $d) {
        $details = $d["details"];
        unset($d["details"]);
        $d["T_TestName"] = $r["T_TestName"];
        $d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
        $d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
        $d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
        $d["M_PatientName"] = $r["M_PatientName"];
        $d["M_PatientDOB"] = $attr["M_PatientDOB"];
        $d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
        $d["M_SexName"] = $attr["M_SexName"];
        $d["M_CompanyName"] = $r["M_CompanyName"];
        $d["M_MouName"] = $r["M_MouName"];

        $d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
        foreach ($details as $dx) {
          if (isset($dx["details"])) {
            $dy_details = $dx["details"];
            unset($dx["details"]);
            foreach ($dy_details as $dy_detail) {
              if (isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
                $dy_detail["value"] = $dy_detail["value"];
              }
              $new_d[] = array_merge($d, $dx, $dy_detail);
            }
          } else {
            if (isset($dx["unit"]) && isset($dx["value"])) {
              $dx["value"] = $dx["value"];
            }
            $new_d[] = array_merge($d, $dx);
          }
        }
        $new_r[] = $new_d;
      }
    }
    print_r($new_d);
  }
}