From 1e79accd826d5dae9772b9ecf23105a58acb3641 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Thu, 28 May 2026 16:02:47 +0700 Subject: [PATCH] 19MTK1 - add jari hidung report endpoint --- .../controllers/v1/report_duatahun/Fisik.php | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/application/controllers/v1/report_duatahun/Fisik.php b/application/controllers/v1/report_duatahun/Fisik.php index 9ea837e..03ce5d2 100644 --- a/application/controllers/v1/report_duatahun/Fisik.php +++ b/application/controllers/v1/report_duatahun/Fisik.php @@ -1747,6 +1747,90 @@ if (in_array($xd["label"], $special_labels)) { echo json_encode([$ret_array]); } + function jari_hidung($id,$langid=1) { + $OhID = -1; + $ret_array = []; + $ret_array = []; + if(intval($id) == 0){ + $ret_array['a1'] = "NaN"; + $ret_array['a2'] = "NaN"; + echo json_encode([$ret_array]); + exit; + } + $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"; + $data_patient = $this->db_smartone->query($sql)->row_array(); + if($data_patient){ + $OhID = $data_patient['T_OrderHeaderID']; + $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}'"; + $data_tahun_lalu = $this->db_smartone->query($sql)->row_array(); + $ret_array['a1'] = isset($data_tahun_lalu['Jari_Hidung'])?$data_tahun_lalu['Jari_Hidung']:"-"; + }else{ + $ret_array['a1'] = ""; + } + + $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 = 'JARI KE HIDUNG' + WHERE + So_ResultEntryFisikUmumSo_ResultEntryID = ? AND So_ResultEntryFisikUmumIsActive = 'Y'"; + $qry = $this->db_smartone->query($sql,array($id)); + if (! $qry) { + echo json_encode(array()); + } + + $rows = $qry->result_array(); + if (count($rows) == 0 ) { + $ret_array['a2'] = 'NaN'; + echo json_encode([$ret_array]); + exit; + } + $d = json_decode($rows[0]["So_ResultEntryFisikUmumDetails"],true); + $jari_hidung = array(); + + if (strtolower($d["title"]) == strtolower("JARI KE HIDUNG") ) { + foreach($d["details"] as $gp) { + if ($gp["chx_y"] == "1") $value = $this->translate_word($gp["label_y"],$langid); + + if ($gp["chx_x"] == "1") $value = $this->translate_word($gp["label_x"],$langid) ; + + if($gp['value'] != '') + $value = $value." (".$gp['value'].")"; + + $ret_array['a2'] = $value; + } + } + + if($OhID != -1){ + $sql = "SELECT * + FROM t_orderdetail + WHERE T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestCode = '40210350' AND T_OrderDetailT_OrderHeaderID = {$OhID}"; + $qry = $this->db_smartone->query($sql); + if (! $qry) { + return json_encode(array()); + } + $exist_result = $qry->result_array(); + if(count($exist_result) == 0) + $ret_array['a2'] = 'NaN'; + } + + echo json_encode([$ret_array]); + } + function klasifikasi_bmi($bmi){ $standart_bmi = 'asia_pacific'; $bmi_valuex = number_format($bmi,2);