query($sql_date); $date_start = $tmp_date_start->fetchAll()[0]; $kode_tarif_konsul = ''; $is_tarif_baru = false; if ($tmp_date_start->numRows() >0){ $date_tarif_baru = $date_start['var_value']; if ($date_tarif_baru >= '2024-02-01'){ $is_tarif_baru = true; } } // set bpjs obj $bpjs = new BPJS($_SESSION['BPJS_CONSID'], $_SESSION['BPJS_KEY'], $_SESSION['BPJS_VCLAIM_URL']); // File ini digunakan untuk getter master data // Contoh Kode Kota, Kecamatan, Kelurahan dll... $option = $option_text = array(); if (array_key_exists('load_kota', $_REQUEST) && $_REQUEST['load_kota'] == TRUE) { $kdprov = (array_key_exists('kdprov', $_REQUEST) && $_REQUEST['kdprov']) ? $_REQUEST['kdprov'] : ''; $kota = (array_key_exists('kota', $_REQUEST) && $_REQUEST['kota']) ? $_REQUEST['kota'] : ''; $sql = $db->query('SELECT * from m_kota where idprovinsi = \'' . $kdprov . '\' order by idkota ASC'); if ($sql->numRows() > 0) { $property['name'] = 'KOTA'; $property['id'] = 'KOTA'; $property['selected'] = ''; foreach ($sql->fetchAll() as $ds) { if ($kota == $ds['idkota']) $property['selected'] = trim($ds['namakota']) . ' (' . $ds['idkota'] . ')'; $option[] = '{value:' . $ds['idkota'] . ',text:"' . trim($ds['namakota']) . ' (' . $ds['idkota'] . ')"}'; $option_text[] = trim($ds['namakota'] . ' (' . $ds['idkota'] . ')'); } $json_option_text = json_encode($option_text); $input_element = ''; $hook_select = '$("#kecamatanpilih").html("Pilih Kecamatan"); $("#kelurahanpilih").html(""); var selectValues = $(this).val().match(/(\d+)/); $("#KOTAHIDDEN").val(selectValues[0]); $.post(\'' . _BASE_ . '/include/master.php\',{kdkota:$("#KOTAHIDDEN").val(), load_kecamatan:\'true\'},function(data){ $("#kecamatanpilih").html(data); });'; } else { echo 'Tidak ada kota/kabupaten di provinsi tersebut'; exit; } } elseif (array_key_exists('load_kecamatan', $_REQUEST) && $_REQUEST['load_kecamatan'] == TRUE) { $kdkota = (array_key_exists('kdkota', $_REQUEST) && $_REQUEST['kdkota']) ? $_REQUEST['kdkota'] : ''; $kecamatan = (array_key_exists('kecamatan', $_REQUEST) && $_REQUEST['kecamatan']) ? $_REQUEST['kecamatan'] : ''; $sql = $db->query('SELECT * from m_kecamatan where idkota = \'' . $kdkota . '\' order by idkecamatan ASC'); if ($sql->numRows() > 0) { $property['name'] = 'KDKECAMATAN'; $property['id'] = 'KDKECAMATAN'; $property['selected'] = ''; foreach ($sql->fetchAll() as $ds) { if ($kecamatan == $ds['idkecamatan']) $property['selected'] = trim($ds['namakecamatan']) . ' (' . $ds['idkecamatan'] . ')'; $option[] = '{value:' . $ds['idkecamatan'] . ',text:"' . trim($ds['namakecamatan']) . ' (' . $ds['idkecamatan'] . ')"}'; $option_text[] = trim($ds['namakecamatan'] . ' (' . $ds['idkecamatan'] . ')'); } $json_option_text = json_encode($option_text); $input_element = ''; $hook_select = '$("#kelurahanpilih").html("Pilih Kelurahan"); var selectValues = $(this).val().match(/(\d+)/); $("#KECAMATANHIDDEN").val(selectValues[0]); $.post(\'' . _BASE_ . '/include/master.php\',{kdkecamatan:$("#KECAMATANHIDDEN").val(), load_kelurahan:\'true\'},function(data){ $("#kelurahanpilih").html(data); });'; } else { echo 'Tidak ada kecamatan di kota/kabupaten tersebut'; exit; } } elseif (array_key_exists('load_kelurahan', $_REQUEST) && $_REQUEST['load_kelurahan'] == TRUE) { $kdkecamatan = (array_key_exists('kdkecamatan', $_REQUEST) && $_REQUEST['kdkecamatan']) ? $_REQUEST['kdkecamatan'] : ''; $kelurahan = (array_key_exists('kelurahan', $_REQUEST) && $_REQUEST['kelurahan']) ? $_REQUEST['kelurahan'] : ''; $sql = $db->query('SELECT * from m_kelurahan where idkecamatan = \'' . $kdkecamatan . '\' order by idkecamatan ASC'); if ($sql->numRows() > 0) { $property['name'] = 'KELURAHAN'; $property['id'] = 'KELURAHAN'; $property['selected'] = ''; foreach ($sql->fetchAll() as $ds) { if ($kecamatan == $ds['idkelurahan']) $property['selected'] = trim($ds['namakelurahan']) . ' (' . $ds['idkelurahan'] . ')'; $option[] = '{value:' . $ds['idkelurahan'] . ',text:"' . trim($ds['namakelurahan']) . ' (' . $ds['idkelurahan'] . ')"}'; $option_text[] = trim($ds['namakelurahan'] . ' (' . $ds['idkelurahan'] . ')'); } $json_option_text = json_encode($option_text); $input_element = ''; $hook_select = ' var selectValues = $(this).val().match(/(\d+)/); $("#KELURAHANHIDDEN").val(selectValues[0]);'; } else { echo 'Tidak ada kelurahan di kecamatan tersebut'; exit; } } elseif (array_key_exists('load_subsistem', $_REQUEST) && $_REQUEST['load_subsistem'] == TRUE) { $where = (array_key_exists('nama', $_REQUEST)) ? "and nama_subsistem like '%" . $_REQUEST['nama'] . "%'" : ''; $sql = $db->query("SELECT * from m_subsistem where (sistem = 'IRJA' or sistem = 'R.JALAN' or sistem ='R.DARURAT') $where"); if ($sql->numRows() > 0) { foreach ($sql->fetchAll() as $row) { $option[] = (object) [ 'kode' => $row['nama_subsistem'], 'text' => $row['nama_subsistem'] ]; } } echo json_encode($option); exit; } elseif (array_key_exists('load_poli', $_REQUEST) && $_REQUEST['load_poli'] == TRUE) { // $sql = $db->query('SELECT * from m_poly order by nama asc'); // if($sql->numRows() > 0){ // $property['name'] = 'KDPOLY'; // $property['id'] = 'kdpoly'; // $property['selected'] = ''; // foreach($sql->fetchAll() as $ds){ // $option[] = '{value:'.$ds['kode'].',text:"'.trim($ds['nama']).' ('.$ds['kode'].')"}'; // $option_text[] = trim($ds['nama'].' ('.$ds['kode'].')'); // } // $json_option_text = json_encode($option_text); // $input_element = ''; // $hook_select = 'var selectValues = $(this).val().match(/(\d+)/); // $("#POLYHIDDEN").val(selectValues[0]); // $.post(\''._BASE_.'/include/master.php\',{kdpoli:$("#POLYHIDDEN").val(), load_dokterjaga:\'true\'},function(data){ // $("#listdokter_jaga").html(data); // });'; // } // else{ // echo 'Poliklinik tidak ditemukan'; // exit; // } $where = (array_key_exists('nama', $_REQUEST)) ? "where nama like '%" . $_REQUEST['nama'] . "%' and subsistem = '" . $_REQUEST['asal'] . "'" : ''; // $sql = $db->query("SELECT * from m_poly $where order by nama asc"); $sql = $db->query("SELECT no as kode,nama from m_ruang $where and st_aktif = 1 order by nama asc"); if ($sql->numRows() > 0) { foreach ($sql->fetchAll() as $row) { $option[] = (object) [ 'kode' => $row['kode'], 'text' => $row['nama'] ]; } } echo json_encode($option); exit; } elseif (array_key_exists('load_dokter', $_REQUEST) && $_REQUEST['load_dokter'] == TRUE) { if ($_REQUEST['kdpoly'] != '') { $where = (array_key_exists('nama', $_REQUEST)) ? "and lower(namadokter) like '%" . strtolower($_REQUEST['nama']) . "%'" : ''; $sql = $db->query("SELECT a.kddokter, b.namadokter from m_dokter_jaga a join m_dokter b on a.KDDOKTER = b.kddokter where a.kdpoly = {$_REQUEST['kdpoly']} and b.aktif = 1 $where order by namadokter asc"); if ($sql->numRows() > 0) { foreach ($sql->fetchAll() as $row) { $option[] = (object) [ 'kode' => $row['kddokter'], 'text' => $row['namadokter'] ]; } } } else { $option = []; } echo json_encode($option); exit; } elseif (array_key_exists('load_dokterjaga', $_REQUEST) && $_REQUEST['load_dokterjaga'] == TRUE) { $kdpoli = (array_key_exists('kdpoli', $_REQUEST) && $_REQUEST['kdpoli']) ? $_REQUEST['kdpoli'] : ''; $place = (array_key_exists('place', $_REQUEST) && $_REQUEST['place']) ? $_REQUEST['place'] : 'DOKTERJAGAHIDDEN'; $identifier = (array_key_exists('ident', $_REQUEST) && $_REQUEST['ident']) ? $_REQUEST['ident'] : 'KDDOKTER'; $sql = $db->query('SELECT a.kddokter, b.namadokter from m_dokter_jaga a join m_dokter b on a.KDDOKTER = b.kddokter where a.kdpoly = \'' . $kdpoli . '\' and b.aktif = 1'); if ($sql->numRows() > 0) { $property['name'] = $identifier; $property['id'] = $identifier; $property['selected'] = ''; foreach ($sql->fetchAll() as $ds) { $option[] = '{value:' . $ds['kddokter'] . ',text:"' . trim($ds['namadokter']) . ' (' . $ds['kddokter'] . ')"}'; $option_text[] = trim($ds['namadokter'] . ' (' . $ds['kddokter'] . ')'); } $json_option_text = json_encode($option_text); $input_element = ''; $hook_select = 'var selectValues = $(this).val().match(/(\d+)/); console.log(selectValues);'; if (is_array($place)) { foreach ($place as $dom) { $hook_select .= '$("#' . $dom . '").val(selectValues[0]); '; } } else { $hook_select .= '$("#' . $place . '").val(selectValues[0]); '; } } else { echo 'Dokter jaga di poli tersebut tidak ditemukan'; exit; } } elseif (array_key_exists('load_kelasdaftar', $_REQUEST) && $_REQUEST['load_kelasdaftar'] == TRUE) { $asal = (array_key_exists('asal', $_REQUEST) && $_REQUEST['asal']) ? $_REQUEST['asal'] : ''; $sql = $db->query("SELECT m_asalkelas.kelas as idkelas,m_tarifkelas.kelas as namakelas from m_asalkelas join m_tarifkelas on m_asalkelas.kelas = m_tarifkelas.kokel join m_asalpasien on m_asalpasien.id_asalpasien = m_asalkelas.asal where nama_asalpasien = '$asal'"); $arr_asalkelas = []; if ($sql->numRows() > 0) { foreach ($sql->fetchAll() as $row) { $arr_asalkelas[$row['idkelas']] = $row['namakelas']; } } echo form_dropdown('kelas', $arr_asalkelas, '', 'class="form-control" id="kelas" style="width:100%"'); exit; } /* FARMASI */ elseif (array_key_exists('order_obat', $_REQUEST) && $_REQUEST['order_obat'] == TRUE) { $by_jenis = (array_key_exists('by_jenis', $_REQUEST) && $_REQUEST['by_jenis']) ? $_REQUEST['by_jenis'] : FALSE; $nama = (array_key_exists('nama', $_REQUEST) && $_REQUEST['nama']) ? pg_escape_string($_REQUEST['nama']) : null; $kode_depo = (array_key_exists('kode_depo', $_REQUEST)) ? $_REQUEST['kode_depo'] : null; $carabayar = (array_key_exists('carabayar', $_REQUEST)) ? $_REQUEST['carabayar'] : null; $placeholder = ucwords(preg_replace("/_/", " ", $identifier)); $property['name'] = $identifier; $property['id'] = $identifier; $property['selected'] = ''; $client = new GuzzleHttp\Client(); if ($nama != null && preg_match("/\./", $nama) == false) { $nama = urlencode($nama); if (preg_match("/ /", $nama)) { $option[] = (object) [ 'value' => '', 'text' => '', 'nama' => '', 'stok' => 0, 'jenis' => '', 'StStock' => '', 'HPP' => 0, 'HJual' => 0, 'satuan' => '', 'kodejenis' => '', 'restrict' => '' ]; echo json_encode($option); exit; } if ($kode_depo != null) { $service = 'stokdepobyname/' . $kode_depo; } elseif ($carabayar == 'JKN') { $service = 'stokjknbyname'; } else { $service = 'stok'; } $url_api = $_SESSION['FARMASI_WEBADDRESS'] . '/api/' . $service . '/' . $nama; } else { $url_api = $_SESSION['FARMASI_WEBADDRESS'] . '/api/stok'; } $res = $client->request('GET', $url_api, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; foreach ($data_stok as $obj_stok) { $arr_stok = (array) $obj_stok; $nama = preg_replace("/\r\n/", "", $arr_stok['Nama']); $nama = preg_replace("/\"/", '″', $nama); $fornas = ($arr_stok['StFornas'] == 0) ? 'Non Fornas' : 'Fornas'; $text = $nama . ' - ' . $fornas . ' - ' . $arr_stok['jenis'] . ' - ' . $arr_stok['jmlStok']; $stok = str_replace('.00', '', $arr_stok['jmlStok']); $option[] = (object) [ 'value' => $arr_stok['Kode'], 'text' => $text, 'nama' => $nama, 'stok' => $stok, 'jenis' => $arr_stok['jenis'], 'StStock' => $arr_stok['kodeStok'], 'HPP' => $arr_stok['HPP'], 'HJual' => $arr_stok['HJual'], 'satuan' => $arr_stok['satuan'], 'kodejenis' => $arr_stok['KodeJenis'], 'restrict' => $arr_stok['StRes'] ]; $option_text[] = $text; } $json_option_text = json_encode($option_text); echo json_encode($option); exit; } elseif (array_key_exists('order_alkes', $_REQUEST) && $_REQUEST['order_alkes'] == TRUE) { $by_jenis = (array_key_exists('by_jenis', $_REQUEST) && $_REQUEST['by_jenis']) ? $_REQUEST['by_jenis'] : FALSE; $nama = (array_key_exists('nama', $_REQUEST) && $_REQUEST['nama']) ? pg_escape_string($_REQUEST['nama']) : null; $carabayar = (array_key_exists('carabayar', $_REQUEST) && $_REQUEST['carabayar']) ? $_REQUEST['carabayar'] : null; $placeholder = ucwords(preg_replace("/_/", " ", $identifier)); $property['name'] = $identifier; $property['id'] = $identifier; $property['selected'] = ''; // print_r($sql);exit; $client = new GuzzleHttp\Client(); if ($carabayar == 'JKN') { $service = 'stokalkesjknbyname/' . $nama; } elseif ($nama != null) { $service = 'stokalkes/' . $nama; } else { $service = 'stokalkes'; } $res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'] . '/api/' . $service, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; foreach ($data_stok as $obj_stok) { $arr_stok = (array) $obj_stok; $nama = preg_replace("/\r\n/", "", $arr_stok['Nama']); $nama = preg_replace("/\"/", '″', $nama); $fornas = ($arr_stok['StFornas'] == 0) ? 'Non Fornas' : 'Fornas'; $text = $nama . ' - ' . $fornas . ' - ' . $arr_stok['jenis'] . ' - ' . $arr_stok['jmlStok']; $option[] = (object) [ 'value' => $arr_stok['Kode'], 'text' => $text, 'nama' => $nama, 'stok' => $arr_stok['jmlStok'], 'jenis' => $arr_stok['jenis'], 'StStock' => $arr_stok['kodeStok'], 'HPP' => $arr_stok['HPP'], 'HJual' => $arr_stok['HJual'], 'satuan' => $arr_stok['satuan'], ]; $option_text[] = $text; } $json_option_text = json_encode($option_text); echo json_encode($option); exit; } elseif (array_key_exists('obat', $_REQUEST) && $_REQUEST['obat'] == TRUE) { $by_jenis = (array_key_exists('by_jenis', $_REQUEST) && $_REQUEST['by_jenis']) ? $_REQUEST['by_jenis'] : FALSE; $ststock = (array_key_exists('ststock', $_REQUEST) && $_REQUEST['ststock'] !== 0) ? $_REQUEST['ststock'] : 0; $nama = (array_key_exists('nama', $_REQUEST) && $_REQUEST['nama']) ? $_REQUEST['nama'] : null; $depo = (array_key_exists('depo', $_REQUEST) && $_REQUEST['depo']) ? $_REQUEST['depo'] : null; $placeholder = ucwords(preg_replace("/_/", " ", $identifier)); $query = "SELECT a.Kode,a.Nama,a.StFornas,b.Nama as satuan from tmlogbarang a left join tmlogreference b on a.kodeSatuan = b.Kode"; if ($nama != null) { if ($by_jenis == FALSE) { $query .= " WHERE "; } else { $query .= " AND "; } $query .= "a.Nama like '%$nama%'"; } $sql = $db->query($query); if (!$sql) { echo json_encode([]); exit; } else { if ($sql->numRows() > 0) { $property['name'] = $identifier; $property['id'] = $identifier; $property['selected'] = ''; // print_r($sql);exit; $client = new GuzzleHttp\Client(); $res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'] . '/api/stokdepo/' . $depo . '/' . $ststock, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; foreach ($data_stok as $obj_stok) { $arr_stok[$obj_stok->Kode] = (array) $obj_stok; } foreach ($sql->fetchAll() as $ds) { $nama = preg_replace("/\r\n/", "", $ds['Nama']); $nama = preg_replace("/\"/", '″', $nama); $fornas = ($ds['StFornas'] == 0) ? 'Non Fornas' : 'Fornas'; // $text = $nama.' - ('.$arr_stok[$ds['Kode']]['jmlStok'].') - ('.$fornas.' '.$arr_stok[$ds['Kode']]['jenis'].')|'.trim($ds['Kode']).'|'.$arr_stok[$ds['Kode']]['HJual'].'|'.trim($ds['satuan']).'|'.$arr_stok[$ds['Kode']]['jmlStok']; $text = $nama . ' - (' . $arr_stok[$ds['Kode']]['jmlStok'] . ') - (' . $fornas . ' ' . $arr_stok[$ds['Kode']]['jenis'] . ')'; $option[] = (object) [ 'value' => $ds['Kode'], 'text' => $text, 'nama' => $nama, 'stok' => $arr_stok[$ds['Kode']]['jmlStok'], 'jenis' => $arr_stok[$ds['Kode']]['jenis'], 'StStock' => $arr_stok[$ds['Kode']]['StStock'], 'HPP' => $arr_stok[$ds['Kode']]['HPP'], 'HJual' => $arr_stok[$ds['Kode']]['HJual'], 'satuan' => $ds['satuan'], ]; $option_text[] = $text; } $json_option_text = json_encode($option_text); echo json_encode($option); exit; } else { echo 'Data obat tidak ditemukan'; exit; } } } elseif (array_key_exists('stokobatdepo', $_REQUEST) && $_REQUEST['stokobatdepo'] == TRUE) { $kode = (array_key_exists('kode', $_REQUEST) && $_REQUEST['kode']) ? $_REQUEST['kode'] : null; $depo = (array_key_exists('depo', $_REQUEST) && $_REQUEST['depo']) ? $_REQUEST['depo'] : null; $client = new GuzzleHttp\Client(); $res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'] . '/api/semuastokdepo/' . $depo, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; foreach ($data_stok as $key => $obj_stok) { $new_key = preg_replace("/ /", "", $key); $arr_stok[$new_key] = (array) $obj_stok; } echo json_encode($arr_stok); exit; } elseif (array_key_exists('stokobatdepo_ststock', $_REQUEST) && $_REQUEST['stokobatdepo_ststock'] == TRUE) { $ststock = (array_key_exists('ststock', $_REQUEST) && $_REQUEST['ststock']) ? $_REQUEST['ststock'] : 0; $kode = (array_key_exists('kode', $_REQUEST) && $_REQUEST['kode']) ? $_REQUEST['kode'] : null; $depo = (array_key_exists('depo', $_REQUEST) && $_REQUEST['depo']) ? $_REQUEST['depo'] : null; $client = new GuzzleHttp\Client(); $res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'] . '/api/stokdepo/' . $depo . '/' . $ststock, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; foreach ($data_stok as $obj_stok) { $arr_stok[$obj_stok->Kode] = (array) $obj_stok; } echo json_encode($arr_stok); exit; } elseif (array_key_exists('set_ststock', $_REQUEST) && $_REQUEST['set_ststock'] == TRUE) { $idxpesanobat = $_REQUEST['idxpesanobat']; $status_rajal = $_REQUEST['status_rajal']; $ststock = $_REQUEST['ststock']; $kodedepo = $_REQUEST['kodedepo']; $st_racikan = $_REQUEST['st_racikan']; $racikan = ($st_racikan == TRUE) ? '_racikan' : ''; $id_column = ($st_racikan == TRUE) ? 'idxracik' : 'idxpesanobat'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racikan : 't_permintaan_apotek_ranap' . $racikan; $sql = $db->query("SELECT * from $table where $id_column = " . $idxpesanobat); if ($sql->numRows() > 0) { $data_permintaan = $sql->fetchFirst(); $kode_obat = $data_permintaan['kode_obat']; $client = new GuzzleHttp\Client(); $res = $client->request('GET', $_SESSION['FARMASI_WEBADDRESS'] . '/api/stok_advanced/' . $kodedepo . '/' . $ststock . '/' . $kode_obat, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'], 'x-timestamp' => strtotime('now') ] ]); $json_stok = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; $data_stok = (!empty($json_stok)) ? json_decode($json_stok) : null; $hpp = $harga = $jmlStok = 0; foreach ($data_stok as $obj_stok) { $hpp = $obj_stok->HPP; $harga = $obj_stok->HJual; $jmlStok = $obj_stok->jmlStok; } $harga_bulat = bulat_puluhan($harga); if ($jmlStok > 0) { $save_stock = execute("UPDATE $table set kodedepo = '$kodedepo',ststock = $ststock, hpp = $hpp, harga_obat = $harga, harga_obat_bulat = $harga_bulat where $id_column = $idxpesanobat"); } else { // silent $save_stock = true; } } else { $data_stok = false; } if (!$save_stock) { $msg = 'Beberapa data gagal disimpan'; $type = 'error'; } else { $msg = 'Jenis Stok berhasil diubah'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type, 'data_stok' => $data_stok]); exit; } elseif (array_key_exists('set_batalobat', $_REQUEST) && $_REQUEST['set_batalobat'] == TRUE) { $idxpesanobat = $_REQUEST['idxpesanobat']; $status_rajal = $_REQUEST['status_rajal']; $st_racikan = $_REQUEST['st_racikan']; $racikan = ($st_racikan == TRUE) ? '_racikan' : ''; $id_column = ($st_racikan == TRUE) ? 'idxracik' : 'idxpesanobat'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racikan : 't_permintaan_apotek_ranap' . $racikan; $sql = $db->query("SELECT * from $table where $id_column = " . $idxpesanobat); if ($sql->numRows() > 0) { $save_stock = execute("UPDATE $table set status_batal = 1, user_batal = '{$_SESSION['NIP']}' where $id_column = $idxpesanobat"); } if (!$save_stock) { $msg = 'Pembatalan obat gagal'; $type = 'error'; } else { $msg = 'Pembatalan obat berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('reset_obat', $_REQUEST) && $_REQUEST['reset_obat'] == TRUE) { $idxpesanobat = $_REQUEST['idxracik']; $status_rajal = $_REQUEST['status_rajal']; $status_racikan = $_REQUEST['status_racikan']; $racik = ($status_racikan == 1) ? '_racikan' : ''; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racik : 't_permintaan_apotek_ranap' . $racik; $kolom_id = ($status_racikan == 1) ? 'idxracik' : 'idxpesanobat'; $sql = execute("SELECT * from $table where $kolom_id = " . $idxpesanobat); if ($sql->numRows() > 0) { $save_obat = execute("UPDATE $table SET status_acc = '0', status_save = '0', jmlh_keluar = NULL, tgl_keluar = NULL, user_batal = NULL, status_batal = '0', alasan_batal = NULL, alasan_ganti = NULL WHERE $kolom_id = $idxpesanobat"); } if ($save_obat) { $msg = 'Reset obat berhasil'; $type = 'success'; } else { $msg = 'Reset obat gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('set_obatbaru', $_REQUEST) && $_REQUEST['set_obatbaru'] == TRUE) { $st_racikan = $_REQUEST['st_racikan']; $idxpesanobat = $_REQUEST['idxpesanobat']; $status_rajal = $_REQUEST['status_rajal']; $aturan_racik = $_REQUEST['aturan_racik']; $alasan_ganti = $_REQUEST['alasan_ganti']; $frek_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['frek_obat_baru'])); $signa_obat_baru = $_REQUEST['signa_obat_baru']; $dosis_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['dosis_obat_baru'])); $Jfrek_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['Jfrek_obat_baru'])); $satuan_obat_baru = $_REQUEST['satuan_obat_baru']; $aturan_text_obat_baru = $_REQUEST['aturan_text_obat_baru']; $racikan = ($st_racikan == TRUE) ? '_racikan' : ''; $id_column = ($st_racikan == TRUE) ? 'idxracik' : 'idxpesanobat'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racikan : 't_permintaan_apotek_ranap' . $racikan; $table_racikan = ($status_rajal == 1) ? 't_permintaan_apotek_rajal_racikan' : 't_permintaan_apotek_ranap_racikan'; $kolom = ($status_rajal == 1) ? 'kdpoli' : 'noruang'; $kolom_waktu = ($status_rajal == 1) ? '' : 'sp,ss,ssr,sm,'; $kolom_verif = ($status_rajal == 1) ? '' : ' verified = 0,'; $sql = execute("SELECT * from $table where $id_column = " . $idxpesanobat); if ($sql->numRows() > 0) { $ip_address = getRealIpAddr(); $data_obat = $sql->fetchFirst(); $arr_input = $_REQUEST['input']; $arr_input['no'] = str_replace($data_obat['kode_obat'], $arr_input['kode_obat'], $data_obat['no']); if ($aturan_racik != 1) { $batal_obat = execute("UPDATE $table set status_batal = 1,$kolom_verif alasan_ganti = '$alasan_ganti', user_batal = '{$_SESSION['NIP']}' where $id_column = $idxpesanobat"); } if ($st_racikan == 0 && $aturan_racik == 1) { $save_obat = execute("UPDATE $table SET aturan_pakai = '$aturan_text_obat_baru', satuan = '$satuan_obat_baru', frek = $frek_obat_baru, jfrek = $Jfrek_obat_baru, signa = '$signa_obat_baru' where $id_column = $idxpesanobat"); $up_racik = execute("UPDATE $table_racikan SET status_batal = 1, status_acc = 0 WHERE idxpesanobat = $idxpesanobat"); } elseif ($st_racikan == 0) { $save_obat = execute("INSERT INTO $table (no,tgl_pesan,norm,$kolom,kddokter,kdcarabayar,kode_obat,harga_obat,aturan_pakai, jasa_sarana,jasa_pelayanan,jenis,jmlh_pesan,idxdaftar,lapkemenkes,laplain,nip,koderacik,status_acc,status_save,kodedepo,ststock,satuan,hpp,frek,jfrek,signa,dosis,cara_konsumsi," . $kolom_waktu . "harga_obat_bulat) select '{$arr_input['no']}',tgl_pesan,norm,$kolom,kddokter,kdcarabayar,'{$arr_input['kode_obat']}','{$arr_input['harga_obat']}','$aturan_text_obat_baru', jasa_sarana,jasa_pelayanan,jenis,jmlh_pesan,idxdaftar,lapkemenkes,laplain,'{$_SESSION['NIP']}',koderacik,0,0,'{$arr_input['kodedepo']}',{$arr_input['ststock']},'{$satuan_obat_baru}',{$arr_input['hpp']},$frek_obat_baru,$Jfrek_obat_baru,'$signa_obat_baru',dosis,cara_konsumsi," . $kolom_waktu . "{$arr_input['harga_obat_bulat']} from $table where $id_column = $idxpesanobat"); } elseif ($st_racikan == 1) { $save_obat = execute("INSERT INTO $table (no,kode_obat,harga_obat,jumlah,ip,idxdaftar,tanggal,idxpesanobat,koderacik,status_acc,status_save,kodedepo,ststock,satuan,hpp,harga_obat_bulat,dosis) select no,'{$arr_input['kode_obat']}','{$arr_input['harga_obat']}',jumlah,'$ip_address',idxdaftar,tanggal,idxpesanobat,koderacik,0,0,'{$arr_input['kodedepo']}',{$arr_input['ststock']},'{$satuan_obat_baru}',{$arr_input['hpp']},{$arr_input['harga_obat_bulat']},$dosis_obat_baru from $table where $id_column = $idxpesanobat"); } } if ($save_obat) { $msg = 'Pengubahan obat berhasil'; $type = 'success'; } else { $msg = 'Pengubahan obat gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('set_racikanbaru', $_REQUEST) && $_REQUEST['set_racikanbaru'] == TRUE) { $tgl_skr = date('Y-m-d H:i:s'); $arr_input = $_REQUEST['input']; $status_rajal = $_REQUEST['status_rajal']; $kode_obat_baru = $_REQUEST['kode_obat']; $frek_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['frek_obat_baru'])); $signa_obat_baru = $_REQUEST['signa_obat_baru']; $dosis_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['dosis_obat_baru'])); $Jfrek_obat_baru = pg_escape_string(preg_replace("/,/", '.', $_REQUEST['Jfrek_obat_baru'])); $harga_obat_bulat = $_REQUEST['harga_obat_bulat']; $satuan_obat_baru = $_REQUEST['satuan_obat_baruracik']; $aturan_text_obat_baru = $_REQUEST['aturan_text_obat_baru']; $kolom = ($status_rajal == 1) ? 'kdpoli' : 'noruang'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' : 't_permintaan_apotek_ranap'; $table_racik = ($status_rajal == 1) ? 't_permintaan_apotek_rajal_racikan' : 't_permintaan_apotek_ranap_racikan'; $kolom_waktu = ($status_rajal == 1) ? '' : 'sp,ss,ssr,sm,'; $kolom_verif = ($status_rajal == 1) ? '' : ' verified = 0,'; $ip_address = getRealIpAddr(); $sql = execute("SELECT * from $table where idxpesanobat = " . $arr_input['idxpesanobat']); if ($sql->numRows() > 0) { $data_obat = $sql->fetchFirst(); $arr_input['no'] = str_replace($data_obat['kode_obat'], $arr_input['kode_obat'], $data_obat['no']); $save_obat = execute("INSERT INTO $table_racik (no,kode_obat,harga_obat,jumlah,ip,idxdaftar,tanggal,idxpesanobat,koderacik,status_acc,status_save,kodedepo,ststock,satuan,hpp,harga_obat_bulat,dosis) VALUES ('{$arr_input['no']}','{$arr_input['kode_obat']}','{$arr_input['harga_obat']}',{$data_obat['jmlh_pesan']},'$ip_address','{$data_obat['idxdaftar']}','{$tgl_skr}','{$arr_input['idxpesanobat']}','{$arr_input['koderacik']}',0,0,'{$arr_input['kodedepo']}',{$arr_input['ststock']},'{$satuan_obat_baru}',{$arr_input['hpp']},{$arr_input['harga_obat_bulat']},$dosis_obat_baru)"); } if ($save_obat) { $msg = 'Penambahan obat berhasil'; $type = 'success'; } else { $msg = 'Penambahan obat gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('set_jml_keluar_obat', $_REQUEST) && $_REQUEST['set_jml_keluar_obat'] == TRUE) { $id = $_REQUEST['id']; $jml_keluar = $_REQUEST['jml_keluar']; if ($jml_keluar != '') { $status_rajal = $_REQUEST['status_rajal']; $st_racikan = $_REQUEST['st_racikan']; $racikan = ($st_racikan == TRUE) ? '_racikan' : ''; $id_column = ($st_racikan == TRUE) ? 'idxracik' : 'idxpesanobat'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racikan : 't_permintaan_apotek_ranap' . $racikan; $sql = $db->query("SELECT * from $table where $id_column = " . $id); if ($sql->numRows() > 0) { $save_obat = execute("UPDATE $table set jmlh_keluar = $jml_keluar where $id_column = $id"); if (!$save_obat) { $msg = 'Pengubahan obat gagal'; $type = 'error'; } else { $msg = 'Pengubahan obat berhasil'; $type = 'success'; } } else { $msg = 'Data tidak ditemukan'; $type = 'error'; } } else { $msg = 'Format tidak dikenali'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('set_jml_klaim', $_REQUEST) && $_REQUEST['set_jml_klaim'] == TRUE) { $id = $_REQUEST['id']; $jml_klaim = ($_REQUEST['jml_klaim'] == '') ? 0 : $_REQUEST['jml_klaim']; $jml_keluar = ($_REQUEST['jml_keluar'] == '') ? 0 : $_REQUEST['jml_keluar']; if ($jml_klaim > $jml_keluar) { echo json_encode(['message' => 'Jml Klaim 7 Hari lebih besar dari jumlah keluar', 'type' => 'error']); exit; } if ($jml_klaim > 0) { $status_rajal = $_REQUEST['status_rajal']; $st_racikan = $_REQUEST['st_racikan']; $racikan = ($st_racikan == TRUE) ? '_racikan' : ''; $id_column = ($st_racikan == TRUE) ? 'idxracik' : 'idxpesanobat'; $table = ($status_rajal == 1) ? 't_permintaan_apotek_rajal' . $racikan : 't_permintaan_apotek_ranap' . $racikan; $sql = $db->query("SELECT * from $table where $id_column = " . $id); if ($sql->numRows() > 0) { $jml_klaim_23hari = $jml_keluar - $jml_klaim; $save_obat = execute("UPDATE $table set jml_klaim_7hari = $jml_klaim, jml_klaim_23hari = $jml_klaim_23hari where $id_column = $id"); if (!$save_obat) { $msg = 'Pengubahan obat gagal'; $type = 'error'; } else { $msg = 'Pengubahan obat berhasil'; $type = 'success'; } } else { $msg = 'Data tidak ditemukan'; $type = 'error'; } } else { $msg = 'Format tidak dikenali'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } /* END FARMASI */ elseif (array_key_exists('load_password', $_REQUEST) && $_REQUEST['load_password'] == TRUE) { $alpha = bin2hex(random_bytes(4)); echo $alpha; exit; } elseif (array_key_exists('icd-10', $_REQUEST) && $_REQUEST['icd-10'] == TRUE) { $query = "SELECT * from icd "; if (array_key_exists('cari', $_REQUEST) && $_REQUEST['cari'] != '') { $keyword = $db->escape($_REQUEST['cari']); $query .= " where icd_code ilike '%$keyword%' or jenis_penyakit ilike '%$keyword%'"; } $query .= " order by icd_code"; $query .= " limit 50 offset 0"; $q_total = $db->query("Select count(icd_code) as total from icd"); $d_total = $q_total->fetchAll()[0]; $record_total = $d_total['total']; $data = $db->query($query); $arr_icd = array(); $record_filtered = $data->numRows(); if ($record_filtered > 0) { foreach ($data->fetchAll() as $ds) { $arr_icd[] = array($ds['icd_code'], $ds['jenis_penyakit']); } } echo json_encode( array( "draw" => 1, "recordsTotal" => $record_total, "recordsFiltered" => $record_filtered, 'data' => $arr_icd ) ); exit; } elseif (array_key_exists('icd-9cm', $_REQUEST) && $_REQUEST['icd-9cm'] == TRUE) { $query = "SELECT * from icd_cm "; if (array_key_exists('cari', $_REQUEST) && $_REQUEST['cari'] != '') { $query .= " where kode ilike '%" . $_REQUEST['cari'] . "%' or keterangan ilike '%" . $_REQUEST['cari'] . "%'"; } $query .= " order by kode"; // $query .= " limit 50 offset 0"; $q_total = $db->query("SELECT count(kode) as total from icd_cm"); $d_total = $q_total->fetchAll()[0]; $record_total = $d_total['total']; $data = $db->query($query); $arr_icd = array(); $record_filtered = $data->numRows(); if ($record_filtered > 0) { foreach ($data->fetchAll() as $ds) { $arr_icd[] = array($ds['kode'], $ds['keterangan']); } } echo json_encode( array( "draw" => 1, "recordsTotal" => $record_total, "recordsFiltered" => $record_filtered, 'data' => $arr_icd ) ); exit; } elseif (array_key_exists('ruangan', $_REQUEST) && $_REQUEST['ruangan'] == TRUE) { $kel_ruang = $_REQUEST['kel_ruang']; $ruang = $_REQUEST['sel_ruang']; $query = "SELECT * from m_ruang where kelompok = '$kel_ruang' order by nama,kelas"; $data = $db->query($query); $record_filtered = $data->numRows(); $select = ''; echo $select; exit; } elseif (array_key_exists('ppa', $_REQUEST) && $_REQUEST['ppa'] == true) { $jenis = $_REQUEST['jenis_ppa']; $form_name = ''; $user_id = !empty($_REQUEST['user_id']) ? $_REQUEST['user_id'] : ''; if ($jenis == '1') { $query = "SELECT * from m_dokter WHERE aktif = 1"; $form_name = 'kddokter'; } else { if ($jenis != '') { $query = "SELECT * from m_perawat where PPA = " . $jenis; $form_name = 'perawat'; } else { $query = "SELECT * from m_perawat where PPA = 0"; } } $data = $db->query($query); $record_filtered = $data->numRows(); $select = ''; echo $select; exit; } elseif (array_key_exists('loader_tarif_tindakan', $_REQUEST) && $_REQUEST['loader_tarif_tindakan'] == true) { $rajal_status = (array_key_exists('st_rajal', $_REQUEST) && $_REQUEST['st_rajal'] == 1) ? 1 : 0; $paket = (array_key_exists('paket', $_REQUEST) && $_REQUEST['paket'] == 1) ? 1 : 0; $filter = (array_key_exists('filter', $_REQUEST) && $_REQUEST['filter'] != '') ? $_REQUEST['filter'] : null; $filter = preg_replace("/\'/", '', $filter); $role_verifikator = (array_key_exists('role_verifikator', $_SESSION)) ? explode(',', $_SESSION['role_verifikator']) : []; header('Content-type: application/json'); if ($rajal_status == 1) { // cek status pelayanan jika 1 maka tidak boleh menambah tarif tindakan $tmp_cek = $db->query("SELECT st_pelayanan from t_pendaftaran where idxdaftar = {$_REQUEST['idx']}"); $data_cek = $tmp_cek->fetchFirst(); // if($data_cek['st_pelayanan'] == 1) { // $output = array( // "draw" => 1, // "recordsTotal" => 1, // "recordsFiltered" => 0, // "data" => array(0=>[' ',' ','
Pelayanan selesai, tidak dapat menambah tarif tindakan
',' ',' ',' ']) // ); // echo json_encode($output); // exit; // } } else { // cek resumepulang jika sudah tersimpan maka tidak dapat menambah tarif tindakan if (!in_array($_SESSION['ROLES'], $role_verifikator)) { // jika bukan verifikator, cek status pulang pasien $tmp_cek = $db->query("SELECT * from t_resumepulang where idadmission = {$_REQUEST['idx']} and status is not null"); if ($tmp_cek->numRows() > 0) { $output = array( "draw" => 1, "recordsTotal" => 1, "recordsFiltered" => 0, "data" => array(0 => [' ', ' ', '
Pelayanan selesai, tidak dapat menambah tarif tindakan
', ' ', ' ', ' ']) ); echo json_encode($output); exit; } } } $where_paket = ($paket) ? ' and st_paket = 1' : ' and st_paket = 0'; $where_filter_tarif = ($filter != null) ? ' and m_tarif_rs.kode_tarif ilike \'%' . $filter . '%\'' : ''; $kelas_masuk = ''; $arr_spesialis = $arr_subspesialis = []; $db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1"); $arr_igd = $arr_nama_igd = []; foreach ($db_igd->fetchAll() as $igd) { $arr_igd[] = $igd['no']; $arr_nama_igd[$igd['no']] = $igd['nama']; } $arr_incovit = $arr_igd; if ($rajal_status == 1) { $get_unit_klinik = $db->query("SELECT no,nama,kdunit from m_ruang where no = " . $_REQUEST['poly']); if ( $_REQUEST['poly'] == $_SESSION['poli_igd'] || in_array($_REQUEST['poly'], $arr_incovit) ) { $unit_klinik = 0; } else { $unit_klinik = ($get_unit_klinik->numRows() > 0) ? $get_unit_klinik->fetchFirst()['kdunit'] : 0; } $smf = getSMF($unit_klinik); if ($smf == false) { $smf = 'RSSA'; } $tmp_smf = $db->query("SELECT * from m_unit where have_subspesialis = 1 and smf is not null;"); foreach ($tmp_smf->fetchAll() as $data) { $arr_spesialis[] = $data['kode_unit']; $list_spesialis = $db->query("SELECT kode_unit from m_unit where pendapatan_unit like '%{$data['nama_unit']}%' and smf is not null"); if ($list_spesialis->numRows() > 0) { foreach ($list_spesialis->fetchAll() as $row) { $arr_subspesialis[$row['kode_unit']] = $data['kode_unit']; } } } $get_daftar = $db->query("SELECT * from t_pendaftaran where IDXDAFTAR = " . $_REQUEST['idx']); $data_daftar = ($get_daftar->numRows() > 0) ? $get_daftar->fetchAll()[0] : null; $dokter_masuk = (!empty($data_daftar)) ? $data_daftar['kddokter'] : ''; $kelas_masuk = (!empty($data_daftar)) ? $data_daftar['kelas_daftar'] : ''; if ($unit_klinik == 0) { $kdunit = '0'; } else { if (in_array($unit_klinik, array_keys($arr_subspesialis))) { $kdunit = $arr_subspesialis[$unit_klinik]; } else { $kdunit = $unit_klinik; } } $smf_disposisi = []; if ($data_daftar['status'] == 99) { $data_dpjp = $db->query("SELECT distinct m_dokter.kdpoly,r.kdunit, m_dokter.kddokter, m_dokter.namadokter from t_disposisi join m_dokter on t_disposisi.kddokter = m_dokter.kddokter join m_ruang r on m_dokter.kdpoly = r.no where idxdaftar = {$data_daftar['idxdaftar']} "); if ($data_dpjp->numRows() > 0) { foreach ($data_dpjp->fetchAll() as $dpjp) { $smf_dpjp = getSMF($dpjp['kdunit']); if (!in_array($smf_dpjp, $smf_disposisi)) { array_push($smf_disposisi, $smf_dpjp); } $arr_dokter_disposisi[$dpjp['kddokter']] = $dpjp['namadokter']; } } } } else { $myquery = "SELECT a.nomr, a.nott, a.kirimdari, a.dokterpengirim, a.masukrs, a.noruang, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, c.nama as carabayar, c.kode as kodebayar, a.id_admission, a.noruang, null as poly, e.namadokter, f.kelas, f.nama as nm_ruang, f.idx_ruang, tgllahir as tgllahir1, a.dokter_penanggungjawab from t_admission a, m_pasien b, m_carabayar c, m_dokter e, m_ruang f where a.nomr=b.NOMR AND a.statusbayar=c.KODE AND f.no=a.noruang AND a.dokterpengirim=e.KDDOKTER AND a.id_admission='{$_REQUEST['idx']}'"; $get = $db->query($myquery); $userdata = $get->fetchFirst(); $id_admission = $userdata['id_admission']; $nomr = $userdata['nomr']; $noruang = $userdata['noruang']; $kdpoly = $userdata['kirimdari']; $kddokter = $userdata['dokterpengirim']; $kelas = $userdata['kelas']; $kelas_tarif = $userdata['idx_ruang']; $masukrs = $userdata['masukrs']; $kodebayar = $userdata['kodebayar']; $dokter_masuk = $userdata['dokter_penanggungjawab']; $nott = $userdata['nott']; } $smf_lab_pk = $_SESSION['kel_smf_lab_pk']; $smf_lab_pa = $_SESSION['kel_smf_lab_pa']; $smf_lab_mikro = $_SESSION['kel_smf_lab_mikro']; $smf_radiologi = $_SESSION['kel_smf_radiologi']; if ($rajal_status == 1) { $dokter = 'SELECT distinct a.kddokter, b.namadokter, b.tgl_akhir_sip,a.kdpoly, b.kdsmf FROM m_dokter_jaga a JOIN m_dokter b ON a.kddokter = b.KDDOKTER WHERE b.aktif = 1'; } else { $dokter = "SELECT * FROM m_dokter WHERE aktif = 1"; } $tmp_dokter = $db->query($dokter); $arr_dokter = $arr_dokter_anastesi = []; if ($tmp_dokter->numRows() > 0) { foreach ($tmp_dokter->fetchAll() as $d) { $tgl_SIP = new Datetime($d['tgl_akhir_sip']); $tgl_sekarang = new Datetime(date('Y-m-d')); if ($d['tgl_akhir_sip'] > '0000-00-00' || $d['tgl_akhir_sip'] > '0001-01-01') { if ($tgl_sekarang <= $tgl_SIP) { if (trim($d['kdsmf']) == 'ANASTESI' || trim($d['kdsmf']) == 'ANESTHESI') { $arr_dokter_anastesi[$d['kddokter']] = $d['namadokter']; } if ($rajal_status == 0) { $arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter']; } else { if ($_REQUEST['poly'] == $_SESSION['poli_igd']) { $arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter']; } else { if ($d['kdpoly'] == $_REQUEST['poly']) { $arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter']; } elseif ($smf == 'RSSA') { $arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter']; } } } } } } } $aColumns = ['null as no', 'm_tarif_rs.kode_tarif', 'uraian_tarif', 'jumlah', 'null as dokter', 'null as aksi', '(select nilai from m_tarifdetil where komponen ilike \'%SARANA%\' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_sarana', '(select nilai from m_tarifdetil where komponen ilike \'%LAYANAN%\' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_pelayanan', '(select nilai from m_tarifdetil where komponen ilike \'%ANASTESI%\' and kode_tarif = m_tarif_rs.kode_tarif) as jasa_anastesi', '(select count(komponen) from m_tarifdetil where kode_tarif = m_tarif_rs.kode_tarif group by kode_tarif) as jml_komponen', 'st_paket', 'm_tarif_rs.kel_smf', 'm_tarif_rs.kelompok_tarif']; $column_type = [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]; if ($unit_klinik == 0 && $rajal_status == 0) { // GLOBAL // join table $sJoin = 'join m_tarifkelas k on m_tarif_rs.kelas_tarif = k.kelas'; // filter manual $fixed_filter = "AND uraian_tarif not like '%AKOMODASI%'"; if (!in_array($_SESSION['ROLES'], $role_verifikator)) { $fixed_filter .= "AND uraian_tarif not like '%ADMINISTRASI%'"; } $filter = "m_tarif_rs.is_not_hidden = 1 and (system='RAJAL' or system = '-') $where_paket $where_filter_tarif $fixed_filter"; } else { if ($rajal_status == 1) { if ($data_daftar['status'] == 99) { $smf_disposisi[] = 'IGD'; $smf = implode("','", $smf_disposisi); } if ($_REQUEST['poly'] == $_SESSION['poli_igd'] || in_array($_REQUEST['poly'], $arr_incovit)) { $where_kokel = ''; } else { $where_kokel = ($kelas_masuk != '') ? ' and k.kokel in (14,23,24,' . $kelas_masuk . ')' : ' and k.kokel in (14)'; } // join table $sJoin = "join m_tarifpengguna on m_tarif_rs.kode_tarif = m_tarifpengguna.kode_tarif join m_tarifkelas k on m_tarif_rs.kelas_tarif = k.kelas"; // filter manual if ($unit_klinik == 0) { $fixed_filter = "AND uraian_tarif not like '%AKOMODASI%'"; if (!in_array($_SESSION['ROLES'], $role_verifikator)) { $fixed_filter .= "AND uraian_tarif not like '%ADMINISTRASI%'"; } $filter = "m_tarif_rs.is_not_hidden = 1 and (system='RAJAL' or system = '-') $fixed_filter $where_kokel $where_paket $where_filter_tarif"; } else { // $filter = "m_tarif_rs.is_not_hidden = 1 and (system='RAJAL' or system = '-') and pengguna in ('" . $smf . "') $where_kokel $where_paket $where_filter_tarif"; $filter = "m_tarif_rs.is_not_hidden = 1 and (system='RAJAL' or system = '-') and (m_tarif_rs.kode_tarif like '%R.TNO%' OR m_tarif_rs.kode_tarif like '%R.TDE%' OR m_tarif_rs.kode_tarif like '%R.RHM%' OR m_tarif_rs.kode_tarif like '%PPR.%' OR m_tarif_rs.kode_tarif like '%R.RTP%' OR m_tarif_rs.kode_tarif like '%PKOM%' OR m_tarif_rs.kode_tarif like '%R.GZ%' OR m_tarif_rs.kode_tarif like '%PMT%' OR m_tarif_rs.kode_tarif like '%OMTN%' or m_tarif_rs.kelompok_tarif = 'OKSIGEN') $where_kokel $where_paket $where_filter_tarif group by m_tarif_rs.kode_tarif,uraian_tarif, jumlah, st_paket, m_tarif_rs.kel_smf, m_tarif_rs.kelompok_tarif, id_tarif"; } } else { // join table $sJoin = "join m_tarifkelas k on m_tarif_rs.kelas_tarif = k.kelas"; // filter manual $fixed_filter = "AND uraian_tarif not like '%AKOMODASI%'"; if (!in_array($_SESSION['ROLES'], $role_verifikator)) { $fixed_filter .= "AND uraian_tarif not like '%ADMINISTRASI%'"; } $filter = "m_tarif_rs.is_not_hidden = 1 and (system='RANAP' or system = '-') $where_paket $where_filter_tarif $fixed_filter "; } } $sIndexColumn = 'id_tarif'; array_push($aColumns, $sIndexColumn); if (isset($_GET["search"]) && $_GET["search"] != "") { // $this->tbl_po_kegiatan->default_where_join($data_from_get["search"]); } $get_data = get_data_table( array( "get" => $_GET, "aColumns" => $aColumns, "sIndexColumn" => $sIndexColumn, "sJoin" => $sJoin, "filter" => $filter, "table_name" => 'm_tarif_rs', 'column_type' => $column_type ) ); // Sort the multidimensional array // usort($get_data['data'], function($a,$b){ // return $a['kode_tarif']>$b['kode_tarif']; // }); // Output $_GET['draw'] = ($_GET['draw']) ? $_GET['draw'] : 10; $output = array( "draw" => intval($_GET['draw']), "recordsTotal" => $get_data['recordsTotal'], "recordsFiltered" => $get_data['recordsFiltered'], "data" => array() ); $i = 0; if (is_array($get_data['data'])) { foreach ($get_data['data'] as $row) { if ($row['jumlah'] == 0) continue; $output['data'][$i] = array(); $j = $row['id_tarif']; $jml_komponen = change_column($aColumns[5]); $is_tarif_paket = ($row['st_paket']) ? true : false; if ($row['kel_smf'] == 'GIZI' || $row['kel_smf'] == 'FARMASI' || $row['kelompok_tarif'] == 'FARMASI') { // jika tarif termasuk pelayanan gizi dan farmasi, maka hilangkan input dpjp $val_dokter = ''; } else { if ($is_tarif_paket) { $btn_add_dokter = ''; $val_dokter = ''; $val_dokter .= ''; $val_dokter .= '
NoNama DPJP#
1' . form_dropdown('dokter', $arr_dokter, $dokter_masuk, 'id="dokter' . $row['id_tarif'] . '-1" data-kode_tarif="' . $row['kode_tarif'] . '" data-komponen="JASA PELAYANAN" data-nilai="' . $row['jasa_pelayanan'] . '" class="form-control lisdokter-' . $row['id_tarif'] . '"') . '
' . $btn_add_dokter . '
'; } else { if ($row['jml_komponen'] > 2 && $row['jasa_anastesi'] > 0) { $val_dokter = ''; $val_dokter .= ''; $val_dokter .= ''; $val_dokter .= '
KomponenNama DPJP
Jasa Pelayanan' . form_dropdown('dokter', $arr_dokter, $dokter_masuk, 'id="dokter' . $row['id_tarif'] . '-1" data-kode_tarif="' . $row['kode_tarif'] . '" data-komponen="JASA PELAYANAN" data-nilai="' . $row['jasa_pelayanan'] . '" class="form-control lisdokter-' . $row['id_tarif'] . '"') . '
Jasa Anastesi' . form_dropdown('dokter', $arr_dokter_anastesi, '', 'id="dokter' . $row['id_tarif'] . '-2" data-kode_tarif="' . $row['kode_tarif'] . '" data-komponen="JASA ANASTESI" data-nilai="' . $row['jasa_anastesi'] . '" class="form-control lisdokter-' . $row['id_tarif'] . '"') . '
'; } else { if ($data_daftar['status'] == 99) { $val_dokter = form_dropdown('dokter', $arr_dokter_disposisi, $dokter_masuk, 'id="dokter' . $row['id_tarif'] . '" data-kode_tarif="' . $row['kode_tarif'] . '" data-komponen="JASA PELAYANAN" data-nilai="' . $row['jasa_pelayanan'] . '" class="form-control lisdokter-' . $row['id_tarif'] . '"'); } else { $val_dokter = form_dropdown('dokter', $arr_dokter, $dokter_masuk, 'id="dokter' . $row['id_tarif'] . '" data-kode_tarif="' . $row['kode_tarif'] . '" data-komponen="JASA PELAYANAN" data-nilai="' . $row['jasa_pelayanan'] . '" class="form-control lisdokter-' . $row['id_tarif'] . '"'); } } } } foreach ($aColumns as $usedField) { if ($usedField == $sIndexColumn) { continue; } $usedField = change_column($usedField); if ($usedField == 'dokter') { $row[$usedField] = $val_dokter; } elseif ($usedField == 'no') { $row[$usedField] = ($i + 1); } elseif ($usedField == 'jumlah') { // if($_GET['kelas'] == 'P3'){ // $sql_check = 'SELECT a.parent_nomr, b.noruang, c.nama, b.nott, c.kelas // FROM m_pasien a // JOIN t_admission b ON b.nomr = a.PARENT_NOMR // JOIN m_ruang c ON c.no = b.noruang // WHERE a.NOMR = "'.$_GET['nomr'].'"'; // $sqlparent = $db->query($sql_check); // if($sqlparent->numRows() > 0){ // $trif = $row['jumlah'] * 0.5; // $disc = $row['jumlah'] - $trif; // }else{ // // echo 'Orang Tua Pasien Tidak Terdaftar'; // $trif = $row['jumlah']; // } // } $row[$usedField] = format_uang($row['jumlah']); } elseif ($usedField == 'aksi') { $row[$usedField] = ''; } elseif ($usedField == 'jasa_pelayanan' || $usedField == 'jasa_sarana' || $usedField == 'jasa_anastesi' || $usedField == 'jml_komponen' || $usedField == 'st_paket') { continue; } $row[$usedField] = change_value($usedField, $row[$usedField]); array_push($output['data'][$i], $row[$usedField]); } $i++; } } echo json_encode($output); exit; } elseif (array_key_exists('verifikasi_ranap', $_REQUEST) && $_REQUEST['verifikasi_ranap'] == true) { $id_bill = $_REQUEST['idxbill']; $st_carabayar = $_REQUEST['st_carabayar']; // $kd_penjamin = $_REQUEST['kd_penjamin']; $tmp_bill = $db->query("SELECT * from t_billranap where idxbill = " . $id_bill); if ($tmp_bill->numRows() > 0) { $v_billranap = "UPDATE t_billranap set status_verifikasi = 1, tgl_verifikasi = '" . date('Y-m-d H:i:s') . "', user_verifikasi = '{$_SESSION['NIP']}' where IDXBILL = " . $id_bill; $v_bayarrajal = "UPDATE t_bayarranap SET st_carabayar=" . $st_carabayar . " WHERE IDXBILL=" . $id_bill; $st_verif_bill = execute($v_billranap); $st_verif_bayar = execute($v_bayarrajal); if ($st_verif_bill && $st_verif_bayar) { $msg = "Tindakan terverifikasi"; $type = "success"; } else { $msg = "Tindakan gagal terverifikasi"; $type = "error"; } } else { $msg = "Tindakan tidak ditemukan"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('verif_billranap', $_REQUEST) && $_REQUEST['verif_billranap'] == true) { $st_carabayar = $_REQUEST['st_carabayar']; // $kd_penjamin = $_REQUEST['kd_penjamin']; $arr_error = []; if (!empty($_REQUEST['cb_bill'])) { $no_bill = $_REQUEST['cb_bill']; foreach ($no_bill as $bill) { $v_billranap = "UPDATE t_billranap set status_verifikasi = 1, tgl_verifikasi = '" . date('Y-m-d H:i:s') . "', user_verifikasi = '{$_SESSION['NIP']}' where IDXBILL = " . $bill; $st_verif_bayar = true; // inisilisasi set true if ($st_carabayar[$bill] != '') { $v_bayarrajal = "UPDATE t_bayarranap SET st_carabayar=" . $st_carabayar[$bill] . " WHERE IDXBILL=" . $bill; $st_verif_bayar = execute($v_bayarrajal); } $st_verif_bill = execute($v_billranap); if (!$st_verif_bill || !$st_verif_bayar) { $arr_error[] = $bill; } } } else { $msg = 'Tidak terdapat bill yang dicentang'; $type = 'error'; echo json_encode(['message' => $msg, 'type' => $type]); exit; } if (!empty($arr_error)) { $msg = "Beberapa bill tidak dapat diverifikasi."; $type = "error"; } else { $msg = "Billing berhasil diverifikasi."; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } // verifikasi billing rajal elseif (array_key_exists('verif_bill', $_REQUEST) && $_REQUEST['verif_bill'] == true) { if (array_key_exists('cb_bill', $_REQUEST)) { $iurbea = (array_key_exists('iurbea', $_REQUEST)) ? $_REQUEST['iurbea'] : 0; $cb_bill = $_REQUEST['cb_bill']; $st_carabayar = $_REQUEST['st_carabayar']; $kd_penjamin = $_REQUEST['kd_penjamin']; if ($iurbea == 1) { if (count($cb_bill) > 0) { foreach ($cb_bill as $bill) { $check = $db->query("SELECT st_verif FROM t_iurbea where iurbea_id = $bill"); $status = $check->fetchAll()[0]; if ($status['st_verif'] == '' || $status['st_verif'] == NULL) { $t_iurbea = "UPDATE t_iurbea SET tgl_verifikasi='" . date('Y-m-d H:i:s') . "', user_verifikasi='{$_SESSION['NIP']}', st_verif=1 WHERE iurbea_id=$bill"; execute($t_iurbea); echo 'ok'; } else { echo 'error'; } } } else { echo 'centang'; } } else { if (count($cb_bill) > 0) { foreach ($cb_bill as $bill) { $check = $db->query("SELECT status_verifikasi FROM t_billrajal where IDXBILL = $bill"); $status = $check->fetchAll()[0]; if ($status['status_verifikasi'] == '' || $status['status_verifikasi'] == NULL) { $t_billrajal = "UPDATE t_billrajal SET tgl_verifikasi='" . date('Y-m-d H:i:s') . "', user_verifikasi='{$_SESSION['NIP']}', status_verifikasi=1 WHERE idxbill=$bill"; // $penjamin = (!array_key_exists($bill, $kd_penjamin) || $kd_penjamin[$bill] == null) ? "" : ",kd_penjamin = {$kd_penjamin[$bill]}"; if ($st_carabayar[$bill] != '') { $t_bayarrajal = "UPDATE t_bayarrajal SET st_carabayar=" . $st_carabayar[$bill] . " WHERE idxbill=$bill"; execute($t_bayarrajal); } execute($t_billrajal); echo 'ok'; } else { echo 'error'; } } } else { echo 'centang'; } } } } // bayar bill rajal baru elseif (array_key_exists('bayar_bill', $_REQUEST) && $_REQUEST['bayar_bill'] == true) { if (array_key_exists('cb_bill', $_REQUEST)) { $iurbea = (array_key_exists('iurbea', $_REQUEST)) ? $_REQUEST['iurbea'] : 0; $kasir = $_REQUEST['kasir']; $piutang = $_REQUEST['piutang']; $cb_bill = $_REQUEST['cb_bill']; $petugas = $_REQUEST['petugas']; if ($iurbea == 1) { $arr_error = []; $shift = $_REQUEST['shift']; $last_no_bayar = ($piutang == 1) ? 'piutang' : lastNoBayar($petugas, date('Y-m-d'), $shift); foreach ($cb_bill as $bill) { $curr_date = date('Y-m-d H:i:s'); $tbp = (array_key_exists('tbp', $_REQUEST)) ? $_REQUEST['tbp'] : NULL; if ($kasir == 1) { $t_iurbea = "UPDATE t_iurbea SET tgl_bayar='$curr_date', jumlah_bayar={$_REQUEST['total'][$bill]}, user_bayar = '{$petugas}', st_bayar = 'LUNAS', no_bayar = '$last_no_bayar',shift_bayar = $shift WHERE iurbea_id = $bill"; $save_bayar = execute($t_iurbea); if (!$save_bayar) { $arr_error[] = $bill; } } } } else { $val_shift = array_values($_REQUEST['shift']); $shift = $val_shift[0]; $last_no_bayar = ($piutang == 1) ? 'piutang' : lastNoBayar($petugas, date('Y-m-d'), $shift); $arr_error = []; foreach ($cb_bill as $bill) { $tcount = $db->query('SELECT *, tarifrs * qty as total FROM t_billrajal WHERE IDXBILL = \'' . $bill . '\''); $arr_bill = array(); foreach ($tcount->fetchAll() as $dt) { $arr_bill[] = $dt; } $curr_date = date('Y-m-d'); $curr_time = date('H:i:s'); $tbp = (array_key_exists('tbp', $_REQUEST)) ? $_REQUEST['tbp'] : NULL; if ($kasir == 1) { $t_bayarrajal = "UPDATE t_bayarrajal SET TGLBAYAR='$curr_date', JAMBAYAR='$curr_time', jmbayar={$_REQUEST['total'][$bill]}, NIP = '{$petugas}', SHIFT={$_REQUEST['shift'][$bill]}, tbp='$tbp', lunas = 1, STATUS = 'LUNAS', NOBAYAR = '$last_no_bayar' WHERE idxbill=$bill"; $save_bayar = execute($t_bayarrajal); if (!$save_bayar) { $arr_error[] = $bill; } } if ($piutang == 1) { // jika piutang $get_bayarrajal = $db->query("SELECT st_carabayar,kd_penjamin from t_bayarrajal where idxbill = " . $bill); $data_bayarrajal = $get_bayarrajal->fetchFirst(); if ($data_bayarrajal['st_carabayar'] == 2) { $jasa_pelayanan = ($arr_bill[0]['jasa_pelayanan'] != '') ? $arr_bill[0]['jasa_pelayanan'] : 0; $jasa_sarana = ($arr_bill[0]['jasa_sarana'] != '') ? $arr_bill[0]['jasa_sarana'] : 0; $jasa_anastesi = ($arr_bill[0]['jasa_anastesi'] != '') ? $arr_bill[0]['jasa_anastesi'] : 0; $tgl_sekarang = (array_key_exists('tgl_request_krs', $_REQUEST)) ? $_REQUEST['tgl_request_krs'] : date('Y-m-d'); $arr_piutang = [ 'nomr' => $arr_bill[0]['nomr'], 'idxbill' => ['value' => $bill, 'type' => 'number'], 'tanggal' => $tgl_sekarang, 'pukul' => date('H:i:s'), 'idxdaftar' => ['value' => $arr_bill[0]['idxdaftar'], 'type' => 'number'], 'nobilling' => $arr_bill[0]['nobill'], 'nip' => $petugas, 'shift' => ['value' => $_REQUEST['shift'][$bill], 'type' => 'number'], 'idxtarif' => $arr_bill[0]['kodetarif'], 'idxpoly' => ['value' => $arr_bill[0]['kdpoly'], 'type' => 'number'], 'kddokter' => ['value' => $arr_bill[0]['kddokter'], 'type' => 'number'], 'jumlah_bayar' => ['value' => $_REQUEST['total'][$bill], 'type' => 'number'], 'jasa_sarana' => ['value' => $jasa_sarana, 'type' => 'number'], 'jasa_pelayanan' => ['value' => $jasa_pelayanan, 'type' => 'number'], 'jasa_anastesi' => ['value' => $jasa_anastesi, 'type' => 'number'], 'kode_penjamin' => ['value' => $_REQUEST['kd_penjamin'][$bill], 'type' => 'number'], 'st_billing' => 'IRJA', ]; if ($arr_bill[0]['kddokter'] == '' || $arr_bill[0]['kddokter'] == 0) { unset($arr_piutang['kddokter']); } $sql_piutang = "INSERT INTO t_piutang " . bind_sql($arr_piutang); // cek t_piutang // $get_piutang = $db->query("SELECT idxbill FROM t_piutang where idxbill = $bill and st_billing = 'IRJA'"); // if($get_piutang->numRows() > 0) { // $in_piutang = true; // } // else { $in_piutang = execute($sql_piutang); // } if (!$in_piutang) { $arr_error[] = $bill; } else { // update penjamin t_bayarrajal $kd_penjamin = $_REQUEST['kd_penjamin'][$bill]; $t_bayarrajal = "UPDATE t_bayarrajal SET kd_penjamin = $kd_penjamin WHERE idxbill=$bill"; $save_bayar = execute($t_bayarrajal); } } } } } if ($kasir == 1) { if (empty($arr_error)) { $msg = 'Pembayaran billing berhasil'; $type = 'success'; // update maxnobyr execute("UPDATE m_maxnobyr set nomor = $last_no_bayar where type='kuitansi' and petugas = '$petugas' and tanggal = '" . date('Y-m-d') . "' and shift = '" . $shift . "'"); } else { $msg = 'Pembayaran billing gagal'; $type = 'error'; } } if ($piutang == 1) { if (empty($arr_error)) { $msg = 'Piutang billing berhasil'; $type = 'success'; } else { $msg = 'Piutang billing gagal'; $type = 'error'; } } echo json_encode(['message' => $msg, 'type' => $type, 'nobayar' => $last_no_bayar]); exit; } else { $msg = 'Belum ada tagihan yang dicentang'; $type = 'error'; echo json_encode(['message' => $msg, 'type' => $type]); exit; } } elseif (array_key_exists('koreksi_bill', $_REQUEST) && $_REQUEST['koreksi_bill'] == true) { $post = $_REQUEST; // $kd_penjamin = $_REQUEST['kd_penjamin']; $arr_error = []; if (!empty($_REQUEST['cb_bill'])) { $no_bill = $_REQUEST['cb_bill']; $arr_detil = $post['detil']; foreach ($no_bill as $bill) { // check piutang $st_billing = ($_REQUEST['rajal_status'] == 1) ? 'IRJA' : (($_REQUEST['rajal_status'] == 'nonreg') ? 'NONREG' : 'IRNA'); $get_piutang = $db->query("SELECT id_piutang,st_billing,jumlah_bayar,jasa_sarana,jasa_anastesi,jasa_pelayanan from t_piutang where idxbill = $bill and st_billing = '$st_billing' and st_piutang is null"); if ($get_piutang->numRows() > 0) { foreach ($get_piutang->fetchAll() as $piutang) { $arr_update_piutang = []; $arr_update_piutang['kode_penjamin'] = $post['kd_penjamin'][$bill]; // cek jumlah bayar = tarif rs if ($piutang['jumlah_bayar'] != preg_replace("/\./", '', $arr_detil[$bill]['tarifrs'])) { // $arr_update_piutang['idxtarif'] = $arr_detil[$bill]['kodetarif']; // $arr_update_piutang['jumlah_bayar'] = ['type'=>'number','value'=>((preg_replace("/\./",'',$arr_detil[$bill]['tarifrs']) == '') ? 0 : preg_replace("/\./",'',$arr_detil[$bill]['tarifrs']))]; // $arr_update_piutang['jasa_sarana'] = ['type'=>'number','value'=>(($arr_detil[$bill]['jasa_sarana'] == '') ? 0 : $arr_detil[$bill]['jasa_sarana'])]; // $arr_update_piutang['jasa_pelayanan'] = ['type'=>'number','value'=>(($arr_detil[$bill]['jasa_pelayanan'] == '') ? 0 : $arr_detil[$bill]['jasa_pelayanan'])]; // $arr_update_piutang['jasa_anastesi'] = ['type'=>'number','value'=>(($arr_detil[$bill]['jasa_anastesi'] == '') ? 0 : $arr_detil[$bill]['jasa_anastesi'])]; } $update_piutang = "UPDATE t_piutang " . bind_sql($arr_update_piutang, 1) . " where id_piutang = {$piutang['id_piutang']}"; // log_message('debug','TES : '.$update_piutang); execute($update_piutang); } } // Update bill $t_bill = ($_REQUEST['rajal_status'] == 1) ? 't_billrajal' : (($_REQUEST['rajal_status'] == 'nonreg') ? 't_billnonreg' : 't_billranap'); $t_bayar = ($_REQUEST['rajal_status'] == 1) ? 't_bayarrajal' : (($_REQUEST['rajal_status'] == 'nonreg') ? 't_bayarnonreg' : 't_bayarranap'); // check bill $get_bill = $db->query("SELECT kodetarif,tanggal,tarifrs,jasa_sarana,jasa_pelayanan,jasa_anastesi,kddokter,nonota from $t_bill where idxbill = $bill"); $data_bill = $get_bill->fetchFirst(); $arr_update_bill = []; $arr_update_bayar = []; if ($data_bill['tanggal'] != $arr_detil[$bill]['tanggal']) { $arr_update_bill['tanggal'] = $arr_detil[$bill]['tanggal']; } /* // disable update tarif if(array_key_exists('tarifrs',$arr_detil[$bill]) && $data_bill['tarifrs'] != preg_replace("/\./",'', $arr_detil[$bill]['tarifrs'])){ $arr_update_bill['kodetarif'] = $arr_detil[$bill]['kodetarif']; $arr_update_bill['tarifrs'] = preg_replace("/\./",'',$arr_detil[$bill]['tarifrs']); if(preg_match("/AKO|OBT/i",$data_bill['kodetarif'])) { $arr_update_bill['jasa_sarana'] = ($arr_detil[$bill]['jasa_sarana'] == '') ? 0 : $arr_update_bill['tarifrs']; } else { $arr_update_bill['jasa_sarana'] = ($arr_detil[$bill]['jasa_sarana'] == '') ? 0 : preg_replace("/\./",'',$arr_detil[$bill]['jasa_sarana']); } $arr_update_bill['jasa_pelayanan'] = ($arr_detil[$bill]['jasa_pelayanan'] == '') ? 0 : preg_replace("/\./",'',$arr_detil[$bill]['jasa_pelayanan']); $arr_update_bill['jasa_anastesi'] = ($arr_detil[$bill]['jasa_anastesi'] == '') ? 0 : preg_replace("/\./",'',$arr_detil[$bill]['jasa_anastesi']); // get idxbill from nonota $get_billnonota = $db->query("SELECT idxbill from $t_bill where nonota = '{$data_bill['nonota']}'"); $data_idxbill = []; foreach($get_billnonota->fetchAll() as $id) { $data_idxbill[] = $id['idxbill']; } // delete old detil $del_detil = execute("DELETE FROM ".$t_bill."_detil WHERE id_bill in (".implode(",",$data_idxbill).") and kode_tarif = '{$data_bill['kodetarif']}' and komponen ilike '%LAYANAN%'"); // delete old detil $del_detil = execute("DELETE FROM ".$t_bill."_detil WHERE id_bill in (".implode(",",$data_idxbill).") and kode_tarif = '{$data_bill['kodetarif']}' and komponen ilike '%ANASTESI%'"); // insert new detil if($arr_update_bill['jasa_pelayanan'] > 0) { $arr_update_bill_detil_p['kode_tarif'] = $arr_detil[$bill]['kodetarif']; $arr_update_bill_detil_p['komponen'] = 'JASA PELAYANAN'; $arr_update_bill_detil_p['id_bill'] = ['type'=>'number','value'=>$bill]; $arr_update_bill_detil_p['kddokter'] = ['type'=>'number','value'=>(($data_bill['kddokter'] == '') ? 2 : $data_bill['kddokter'])]; $arr_update_bill_detil_p['nilai'] = ['type'=>'number','value'=>$arr_update_bill['jasa_pelayanan']]; $save_detil = execute("INSERT INTO ".$t_bill."_detil ".bind_sql($arr_update_bill_detil_p)); } if($arr_update_bill['jasa_anastesi'] > 0) { $arr_update_bill_detil_a['kode_tarif'] = $arr_detil[$bill]['kodetarif']; $arr_update_bill_detil_a['komponen'] = 'JASA ANASTESI'; $arr_update_bill_detil_a['id_bill'] = ['type'=>'number','value'=>$bill]; $arr_update_bill_detil_a['kddokter'] = ['type'=>'number','value'=>(($data_bill['kddokter'] == '') ? 2 : $data_bill['kddokter'])]; $arr_update_bill_detil_a['nilai'] = ['type'=>'number','value'=>$arr_update_bill['jasa_anastesi']]; $save_detil = execute("INSERT INTO ".$t_bill."_detil ".bind_sql($arr_update_bill_detil_a)); } $arr_update_bayar['tottarifrs'] = $arr_update_bill['tarifrs']; $arr_update_bayar['jmbayar'] = $arr_update_bill['tarifrs']; $arr_update_bayar['totjasa_sarana'] = $arr_update_bill['jasa_sarana']; $arr_update_bayar['totjasa_pelayanan'] = $arr_update_bill['jasa_pelayanan']; $arr_update_bayar['totjasa_anastesi'] = $arr_update_bill['jasa_anastesi']; } */ if (!empty($arr_update_bill)) { $v_bill = "UPDATE $t_bill " . bind_sql($arr_update_bill, 1) . " where idxbill = " . $bill; // log_message('debug','TES : '.$v_bill); $st_verif_bill = execute($v_bill); } // check bayar $get_bayar = $db->query("SELECT st_carabayar,kd_penjamin from $t_bayar where idxbill = $bill"); $data_bayar = $get_bayar->fetchFirst(); if ($data_bayar['kd_penjamin'] != $post['kd_penjamin'][$bill]) { $arr_update_bayar['kd_penjamin'] = $post['kd_penjamin'][$bill]; } $st_koreksi_bayar = true; if (!empty($arr_update_bayar)) { $v_bayar = "UPDATE $t_bayar " . bind_sql($arr_update_bayar, 1) . " where idxbill=" . $bill; // log_message('debug','TES : '.$v_bayar); $st_koreksi_bayar = execute($v_bayar); } // if(!$st_verif_bill || !$st_koreksi_bayar) { // $arr_error[] = $bill; // } } } else { $msg = 'Tidak terdapat bill yang dicentang'; $type = 'error'; echo json_encode(['message' => $msg, 'type' => $type]); exit; } if (!empty($arr_error)) { $msg = "Beberapa bill tidak dapat dikoreksi."; $type = "error"; } else { $msg = "Billing berhasil dikoreksi."; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_bill_rajal', $_REQUEST) && $_REQUEST['batal_bill_rajal'] == true) { $idxbill = $_REQUEST['idxbill']; $nomr = $_REQUEST['nomr']; $nip = $_SESSION['NIP']; $alasan = $_REQUEST['alasan']; $where_idxbill = (is_array($idxbill)) ? " and a.idxbill in (" . implode(",", $idxbill) . ")" : " and a.idxbill = " . $idxbill; $myquery = "SELECT DISTINCT a.idxdfatar, a.nomr as nomr, b.nama, z.tglbayar, z.jambayar , a.nobill, a.idxbill, z.st_carabayar,a.kdpoly FROM t_billrajal a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN t_bayarrajal z ON z.NOBILL = a.NOBILL WHERE a.NOMR = '$nomr' " . $where_idxbill; $get = $db->query($myquery); $bill_pasien = $get->fetchFirst(); foreach ($idxbill as $idbill) { $bill = "SELECT * FROM t_billrajal a WHERE a.NOMR = '$nomr' and idxbill = " . $idbill; $data_bill = $db->query($bill)->fetchFirst(); $save = "INSERT into tmp_cartbayar " . bind_sql([ 'kodetarif' => $data_bill['kodetarif'], 'ip' => getRealIpAddr(), 'id' => $data_bill['kodetarif'], 'qty' => ['value' => 1, 'type' => 'number'], 'poly' => ['value' => $data_bill['noruang'], 'type' => 'number'], 'unit' => ['value' => $_SESSION['KDUNIT'], 'type' => 'number'], 'tarif' => ['value' => $data_bill['tarifrs'], 'type' => 'number'], 'discount' => ['value' => 0, 'type' => 'number'], 'tottarif' => ['value' => $data_bill['tottarifrs'], 'type' => 'number'], 'jasa_sarana' => ['value' => $data_bill['jasa_sarana'], 'type' => 'number'], 'jasa_pelayanan' => ['value' => $data_bill['jasa_pelayanan'], 'type' => 'number'], 'jasa_anastesi' => ['value' => $data_bill['jasa_anastesi'], 'type' => 'number'], 'jenis' => '', 'kddokter' => ['value' => $data_bill['kddokter'], 'type' => 'number'] ]); execute($save); } $bill_ranap = new Billing('irja', $nomr, $bill_pasien['idxdaftar'], date("Y-m-d"), 0, 0, $bill_pasien['carabayar'], $bill_pasien['kdpoly'], 0, $_SESSION['KDUNIT']); $param_batal = [ 'idxbill_batal' => $idxbill, 'alasan' => $alasan ]; $bill_ranap->setBatalBill($param_batal); $last_nonota = $bill_ranap->simpanBill(); if (!$last_nonota) { $msg = "Pembatalan transaksi gagal"; $type = "error"; } else { $msg = "Pembatalan Transaksi berhasil"; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type, 'nonota' => $last_nonota]); exit; } elseif (array_key_exists('batal_verif_bill_rajal', $_REQUEST) && $_REQUEST['batal_verif_bill_rajal'] == true) { $idxbill = $_REQUEST['idxbill']; $nip = $_SESSION['NIP']; if (empty($idxbill)) { echo json_encode(['message' => 'Tidak terdapat bill yang dipilih', 'type' => 'error']); exit; } $where_idxbill = (is_array($idxbill)) ? " a.idxbill in (" . implode(",", $idxbill) . ")" : " a.idxbill = " . $idxbill; $myquery = "SELECT DISTINCT a.idxdfatar, a.nomr as nomr, b.nama, z.tglbayar, z.jambayar , a.nobill, a.idxbill, z.st_carabayar,a.kdpoly FROM t_billrajal a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN t_bayarrajal z ON z.NOBILL = a.NOBILL WHERE $where_idxbill"; $get = $db->query($myquery); $bill_pasien = $get->fetchFirst(); $arr_error = []; if (is_array($idxbill)) { foreach ($idxbill as $idbill) { $save = "UPDATE t_billrajal " . bind_sql([ 'status_verifikasi' => ['value' => 0, 'type' => 'number'], 'user_batalverif' => $nip, 'tgl_batalverif' => date('Y-m-d H:i:s') ]) . " where idxbill = $idbill"; $batal = execute($save); if (!$batal) { $arr_error[] = $idbill; } } } else { $save = "UPDATE t_billrajal " . bind_sql([ 'status_verifikasi' => ['value' => 0, 'type' => 'number'], 'user_batalverif' => $nip, 'tgl_batalverif' => date('Y-m-d H:i:s') ]) . " where idxbill = $idxbill"; $batal = execute($save); if (!$batal) { $arr_error[] = $idxbill; } } if (!empty($arr_error)) { $msg = "Pembatalan Verifikasi gagal"; $type = "error"; } else { $msg = "Pembatalan Verifikasi berhasil"; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_trx_bill_rajal', $_REQUEST) && $_REQUEST['batal_trx_bill_rajal'] == true) { $idxbill = $_REQUEST['idxbill']; $nip = $_SESSION['NIP']; if (empty($idxbill)) { echo json_encode(['message' => 'Tidak terdapat bill yang dipilih', 'type' => 'error']); exit; } else { $nonota = lastNoNota(); } // $where_idxbill = (is_array($idxbill)) ? " a.idxbill in (".implode(",",$idxbill).")" : " a.idxbill = ".$idxbill; // $myquery = "SELECT DISTINCT a.idxdfatar, a.nomr as nomr, b.nama, z.tglbayar, z.jambayar , a.nobill, a.idxbill, z.st_carabayar,a.kdpoly // FROM t_billrajal a // JOIN m_pasien b ON b.NOMR = a.NOMR // JOIN t_bayarrajal z ON z.NOBILL = a.NOBILL // WHERE $where_idxbill"; // $get = $db->query($myquery); // $bill_pasien = $get->fetchFirst(); $arr_error = []; if (is_array($idxbill)) { $save = "UPDATE t_bayarrajal " . bind_sql(['status' => 'BATAL', 'user_batal' => $nip, 'tgl_batal' => date('Y-m-d H:i:s'), 'nonota_batal' => $nonota]) . " where idxbill in (" . implode(",", $idxbill) . ")"; $batal = execute($save); if (!$batal) { $arr_error[] = implode(",", $idxbill); } } else { $save = "UPDATE t_bayarrajal " . bind_sql(['status' => 'BATAL', 'user_batal' => $nip, 'tgl_batal' => date('Y-m-d H:i:s'), 'nonota_batal' => $nonota]) . " where idxbill = $idxbill"; $batal = execute($save); if (!$batal) { $arr_error[] = $idxbill; } } if (!empty($arr_error)) { $msg = "Pembatalan Tindakan gagal"; $type = "error"; } else { $msg = "Pembatalan Tindakan berhasil"; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type, 'nonota' => $nonota]); exit; } elseif (array_key_exists('bayar_bill_ranap_peritem', $_REQUEST) && $_REQUEST['bayar_bill_ranap_peritem'] == true) { $idxbill = $_REQUEST['idxbill']; $shift = $_SESSION['SHIFT']; $nip = $_SESSION['NIP']; $nobayar = lastNoBayar(); $update = execute("UPDATE t_bayarranap set tglbayar='" . date('Y-m-d') . "',jambayar='" . date('H:i:s') . "',shift=$shift,nip='$nip',lunas=1,status='LUNAS',jmbayar=tottarifrs,tglbilling='" . date('Y-m-d') . "',nobayar='$nobayar' WHERE idxbill = $idxbill"); if ($update) { $db->query("UPDATE m_maxnobyr set nomor = $nobayar where type='kuitansi'"); $msg = "Pembayaran billing berhasil"; $type = "success"; } else { $msg = "Pembayaran billing gagal"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type, 'nobayar' => $nobayar]); exit; } // bayar bill ranap elseif (array_key_exists('bayar_bill_ranap', $_REQUEST) && $_REQUEST['bayar_bill_ranap'] == true) { if (array_key_exists('cb_bill', $_REQUEST)) { $kasir = $_REQUEST['kasir']; $piutang = $_REQUEST['piutang']; $nobill = $_REQUEST['nobill']; $shift = $_REQUEST['shift']; $keringanan = str_replace('', '', $_REQUEST['keringanan_biaya']); $total = str_replace('', '', $_REQUEST['hide_total']); $deposit = str_replace('', '', $_REQUEST['hide_deposit']); $total_bayar = preg_replace("/\./", '', $_REQUEST['jumlah_bayar']); $asuransi = str_replace('', '', $_REQUEST['hide_asuransi']); $sisa_deposit = ((int) $deposit - (int) $total); // $st_carabayar = $_REQUEST['st_carabayar']; // $kd_penjamin = $_REQUEST['kd_penjamin']; $approval = $_REQUEST['approval']; if ($approval == '') { $approval = '-'; } // $cb_bill = json_decode($_REQUEST['cb_bill']); $cb_bill = $_REQUEST['cb_bill']; if (empty($cb_bill)) { $msg = 'Belum ada bill yang dicentang'; $type = 'error'; echo json_encode(['message' => $msg, 'type' => $type]); exit; } $arr_idxbill = []; $tcount = $db->query('SELECT idxbill, kodetarif, tarifrs * qty as total FROM t_billranap WHERE idxdaftar = ' . $_REQUEST['idxranap'] . ' ORDER BY TARIFRS * QTY desc'); foreach ($tcount->fetchAll() as $dt) { $arr_idxbill[$dt['idxbill']] = $dt['kodetarif']; } // if($total <= $deposit){ #jika deposit lebih besar dari total; 1000 <= 100 // # update t_deposit; // $totals = (int) $total * -1; // execute('INSERT into t_deposit set NOMR = \''.$_REQUEST['nomr'].'\', IDADMISSION = '.$_REQUEST['id_admission'].', DEPOSIT = '.$totals.', TANGGAL = \''.date('Y-m-d H:i:s').'\''); // }else{ // $deposits = (int) $deposit * -1; // execute('INSERT into t_deposit set NOMR = \''.$_REQUEST['nomr'].'\', IDADMISSION = "'.$_REQUEST['id_admission'].'", DEPOSIT = '.$deposits.', TANGGAL = \''.date('Y-m-d H:i:s').'\''); // } // tambah piutang $petugas = $_REQUEST['petugas']; $arr_error = []; $last_no_bayar = ($piutang == 1) ? 'piutang' : lastNoBayar($petugas, date('Y-m-d'), $shift); foreach ($arr_idxbill as $id => $tarif) { // jika id billing tidak ada di cekbox pembayaran bill, maka dianggap piutang if (is_array($cb_bill) && in_array($id, $cb_bill)) { if ($kasir == 1) { $kas_ranap = "UPDATE t_bayarranap set totjasa_sarana = (select sum(jasa_sarana*qty) from t_billranap where idxbill=$id ), totjasa_pelayanan = (select sum(jasa_pelayanan*qty) from t_billranap where idxbill=$id ), tottarifrs = (select sum(tarifrs*qty) from t_billranap where idxbill=$id ), discount = (select sum(discount*qty) from t_billranap where idxbill=$id ), tglbayar = '" . date('Y-m-d') . "', jambayar = '" . date('H:i:s') . "', jmbayar = (select sum(tarifrs-coalesce(costsharing_pelayanan,0)-coalesce(costsharing_anastesi,0)) from t_billranap where idxbill=$id ), tbp = '{$_REQUEST['tbp']}', shift = {$shift}, lunas = 1, status = 'LUNAS', nip = '{$petugas}',nobayar = '$last_no_bayar' WHERE idxbill = $id"; $update = execute($kas_ranap); if (!$update) { $arr_error[] = $id; } } if ($piutang == 1) { // update penjamin t_bayarranap $kd_penjamin = $_REQUEST['kd_penjamin'][$id]; $t_bayarranap = "UPDATE t_bayarranap SET kd_penjamin = $kd_penjamin WHERE IDXBILL=" . $id; $save_bayar = execute($t_bayarranap); $tmp_bill = $db->query("SELECT a.kd_penjamin,b.idxdaftar,b.kodetarif,b.kddokter,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi,b.nobill,b.shift,coalesce(a.deposit,0) as deposit,coalesce(a.totaskes,0) as totaskes,coalesce(a.totcostsharing_pelayanan,0) as totcostsharing_pelayanan,coalesce(a.totcostsharing_anastesi,0) as totcostsharing_anastesi,coalesce(a.discount,0) as discount,a.total_iurbea,c.*,p.id_piutang from t_bayarranap a join t_billranap b on a.idxbill = b.idxbill join t_admission c on b.IDXDAFTAR = c.id_admission left join t_piutang p on b.idxbill = p.idxbill and p.st_billing = 'IRNA' and p.st_piutang is NULL where b.IDXBILL=" . $id); foreach ($tmp_bill->fetchAll() as $rowbill) { $jml_piutang = preg_replace("/\,/", '.', ($rowbill['tarifrs'] - $rowbill['total_iurbea'] - $rowbill['deposit'] - $rowbill['totaskes'] - $rowbill['totcostsharing_pelayanan'] - $rowbill['totcostsharing_anastesi'] - $rowbill['discount'])); $kddokter = ($rowbill['kddokter'] == '') ? 0 : $rowbill['kddokter']; $jasa_pelayanan = ($rowbill['jasa_pelayanan'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_pelayanan']); $jasa_sarana = ($rowbill['jasa_sarana'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_sarana']); $jasa_anastesi = ($rowbill['jasa_anastesi'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_anastesi']); $tgl_sekarang = (array_key_exists('tgl_request_krs', $_REQUEST)) ? $_REQUEST['tgl_request_krs'] : date('Y-m-d'); $arr_piutang = [ 'nomr' => $rowbill['nomr'], 'idxbill' => ['value' => $id, 'type' => 'number'], 'tanggal' => $tgl_sekarang, 'pukul' => date('H:i:s'), 'idxdaftar' => ['value' => $rowbill['idxdaftar'], 'type' => 'number'], 'nobilling' => $rowbill['nobill'], 'nip' => $petugas, 'shift' => ['value' => $rowbill['shift'], 'type' => 'number'], 'idxtarif' => $rowbill['kodetarif'], 'idxruang' => ['value' => $rowbill['noruang'], 'type' => 'number'], 'nott' => ['value' => $rowbill['nott'], 'type' => 'number'], 'kddokter' => ['value' => $kddokter, 'type' => 'number'], 'jumlah_bayar' => ['value' => $jml_piutang, 'type' => 'number'], 'jasa_sarana' => ['value' => $jasa_sarana, 'type' => 'number'], 'jasa_pelayanan' => ['value' => $jasa_pelayanan, 'type' => 'number'], 'jasa_anastesi' => ['value' => $jasa_anastesi, 'type' => 'number'], 'kode_penjamin' => ['value' => $kd_penjamin, 'type' => 'number'], 'st_billing' => 'IRNA', ]; // printdata($arr_piutang); // exit $sql_piutang = "INSERT INTO t_piutang " . bind_sql($arr_piutang); if ($rowbill['id_piutang'] == null || $rowbill['id_piutang'] == '') { $in_piutang = execute($sql_piutang); } } } } } // $db->query('CALL pr_bayar_ranap("'.$nobill.'","'.$_REQUEST['tbp'].'","'.$_REQUEST['SHIFT'].'","'.$total_bayar.'","'.$keringanan.'","'.$deposit.'","'.$asuransi.'","'.$approval.'","'.$_SESSION['NIP'].'")'); if (!empty($arr_error)) { $msg = 'Pembayaran billing gagal'; $type = 'error'; } else { if ($piutang == 1) { $msg = 'Piutang billing berhasil'; } else { $msg = 'Pembayaran billing berhasil'; } $type = 'success'; if ($piutang != 1) { execute("UPDATE m_maxnobyr set nomor = $last_no_bayar where type='kuitansi' and petugas = '$petugas' and tanggal = '" . date('Y-m-d') . "' and shift = '" . $shift . "'"); } } echo json_encode(['message' => $msg, 'type' => $type, 'nobayar' => $last_no_bayar]); exit; } } // batal bill ranap yang terbayar elseif (array_key_exists('batal_bill_ranap', $_REQUEST) && $_REQUEST['batal_bill_ranap'] == true) { $idxbill = $_REQUEST['idxbill']; $nomr = $_REQUEST['nomr']; $nip = $_SESSION['NIP']; $where_idxbill = (is_array($idxbill)) ? " and a.idxbill in (" . implode(",", $idxbill) . ")" : " and a.idxbill = " . $idxbill; $myquery = "SELECT DISTINCT a.idxdaftar, a.nomr as nomr, b.nama, z.tglbayar, z.jambayar , a.nobill, a.idxbill, z.st_carabayar, a.alasan_batal,z.noruang,z.nott FROM t_billranap a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN t_bayarranap z ON z.NOBILL = a.NOBILL WHERE a.NOMR = '$nomr' " . $where_idxbill; $get = $db->query($myquery); $bill_pasien = $get->fetchFirst(); foreach ($idxbill as $idbill) { $bill = "SELECT * FROM t_billranap a WHERE a.NOMR = '$nomr' and idxbill = " . $idbill; $data_bill = $db->query($bill)->fetchFirst(); $save = "INSERT into tmp_cartbayar " . bind_sql([ 'kodetarif' => $data_bill['kodetarif'], 'ip' => getRealIpAddr(), 'id' => $data_bill['kodetarif'], 'qty' => ['value' => 1, 'type' => 'number'], 'poly' => ['value' => $data_bill['noruang'], 'type' => 'number'], 'unit' => ['value' => $_SESSION['KDUNIT'], 'type' => 'number'], 'tarif' => ['value' => $data_bill['tarifrs'], 'type' => 'number'], 'discount' => ['value' => 0, 'type' => 'number'], 'tottarif' => ['value' => $data_bill['tottarifrs'], 'type' => 'number'], 'jasa_sarana' => ['value' => $data_bill['jasa_sarana'], 'type' => 'number'], 'jasa_pelayanan' => ['value' => $data_bill['jasa_pelayanan'], 'type' => 'number'], 'jasa_anastesi' => ['value' => $data_bill['jasa_anastesi'], 'type' => 'number'], 'jenis' => '', 'kddokter' => ['value' => $data_bill['kddokter'], 'type' => 'number'], ]); execute($save); } $bill_ranap = new Billing('irna', $nomr, $bill_pasien['idxdaftar'], date("Y-m-d"), 0, 0, $bill_pasien['st_carabayar'], $bill_pasien['noruang'], 0, $_SESSION['KDUNIT']); $param_batal = [ 'idxbill_batal' => $idxbill, 'alasan' => $bill_pasien['alasan_batal'] ]; $bill_ranap->setBatalBill($param_batal); $last_nonota = $bill_ranap->simpanBill(); if (!$last_nonota) { $msg = "Pembatalan Pembayaran gagal"; $type = "error"; } else { $msg = "Pembatalan Pembayaran berhasil"; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type, 'nonota' => $last_nonota]); exit; } // batal bill ranap yang belum terbayar elseif (array_key_exists('batal_trx_ranap', $_REQUEST) && $_REQUEST['batal_trx_ranap'] == true) { $idxbill = $_REQUEST['idxbill']; $nomr = $_REQUEST['nomr']; $nip = $_SESSION['NIP']; $alasan = $_REQUEST['alasan']; $where_idxbill = (is_array($idxbill)) ? " and a.idxbill in (" . implode(",", $idxbill) . ")" : " and a.idxbill = " . $idxbill; $myquery = "SELECT DISTINCT a.idxdaftar, a.nomr as nomr, b.nama, z.tglbayar, z.jambayar , a.nobill, a.idxbill, z.st_carabayar,a.nonota,a.tarifrs,a.jasa_pelayanan,a.jasa_sarana,a.jasa_anastesi,a.carabayar,z.noruang,a.nott,a.kodetarif FROM t_billranap a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN t_bayarranap z ON z.NOBILL = a.NOBILL WHERE a.NOMR = '$nomr' " . $where_idxbill; $get = $db->query($myquery); $bill_pasien = $get->fetchFirst(); foreach ($idxbill as $idbill) { $bill = "SELECT * FROM t_billranap a WHERE a.NOMR = '$nomr' and idxbill = " . $idbill; $data_bill = $db->query($bill)->fetchFirst(); $save = "INSERT into tmp_cartbayar " . bind_sql([ 'kodetarif' => $data_bill['kodetarif'], 'ip' => getRealIpAddr(), 'id' => $data_bill['kodetarif'], 'qty' => ['value' => 1, 'type' => 'number'], 'poly' => ['value' => $data_bill['noruang'], 'type' => 'number'], 'unit' => ['value' => $_SESSION['KDUNIT'], 'type' => 'number'], 'tarif' => ['value' => $data_bill['tarifrs'], 'type' => 'number'], 'discount' => ['value' => 0, 'type' => 'number'], 'tottarif' => ['value' => $data_bill['tottarifrs'], 'type' => 'number'], 'jasa_sarana' => ['value' => $data_bill['jasa_sarana'], 'type' => 'number'], 'jasa_pelayanan' => ['value' => $data_bill['jasa_pelayanan'], 'type' => 'number'], 'jasa_anastesi' => ['value' => $data_bill['jasa_anastesi'], 'type' => 'number'], 'jenis' => '', 'kddokter' => ['value' => $data_bill['kddokter'], 'type' => 'number'], ]); execute($save); } $bill_ranap = new Billing('irna', $nomr, $bill_pasien['idxdaftar'], date("Y-m-d"), 0, 0, $bill_pasien['carabayar'], $bill_pasien['noruang'], 0, $_SESSION['KDUNIT']); $param_batal = [ 'idxbill_batal' => $idxbill, 'alasan' => $alasan ]; $bill_ranap->setBatalBill($param_batal); $last_nonota = $bill_ranap->simpanBill(); if (!$last_nonota) { $msg = "Pembatalan transaksi gagal"; $type = "error"; } else { $msg = "Pembatalan Transaksi berhasil"; $type = "success"; } echo json_encode(['message' => $msg, 'type' => $type, 'nonota' => $last_nonota]); exit; } // billing non register elseif (array_key_exists('verif_bill_nonreg', $_REQUEST) && $_REQUEST['verif_bill_nonreg'] == true) { if (array_key_exists('cb_bill', $_REQUEST)) { $cb_bill = $_REQUEST['cb_bill']; $st_carabayar = $_REQUEST['st_carabayar']; // $kd_penjamin = $_REQUEST['kd_penjamin']; if (count($cb_bill) > 0) { foreach ($cb_bill as $bill) { $check = $db->query("SELECT status_verifikasi FROM t_billnonreg where IDXBILL = $bill"); $status = $check->fetchAll()[0]; if ($status['status_verifikasi'] == '' || $status['status_verifikasi'] == NULL) { $t_billnonreg = "UPDATE t_billnonreg SET tgl_verifikasi='" . date('Y-m-d H:i:s') . "', user_verifikasi='{$_SESSION['NIP']}', status_verifikasi=1 WHERE idxbill=$bill"; // $penjamin = (!array_key_exists($bill, $kd_penjamin) || $kd_penjamin[$bill] == null) ? "" : ",kd_penjamin = {$kd_penjamin[$bill]}"; if ($st_carabayar[$bill] != '') { $t_bayarnonreg = "UPDATE t_bayarnonreg SET st_carabayar=" . $st_carabayar[$bill] . " WHERE idxbill=$bill"; execute($t_bayarnonreg); } execute($t_billnonreg); echo 'ok'; } else { echo 'error'; } } } else { echo 'centang'; } } } elseif (array_key_exists('bayar_bill_nonreg', $_REQUEST) && $_REQUEST['bayar_bill_nonreg'] == true) { if (array_key_exists('cb_bill', $_REQUEST)) { $kasir = $_REQUEST['kasir']; $piutang = $_REQUEST['piutang']; $cb_bill = $_REQUEST['cb_bill']; $petugas = $_REQUEST['petugas']; $val_shift = array_values($_REQUEST['shift']); $shift = $val_shift[0]; $last_no_bayar = ($piutang == 1) ? 'piutang' : lastNoBayar($petugas, date('Y-m-d'), $shift); $arr_error = []; foreach ($cb_bill as $bill) { $tcount = $db->query('SELECT *, tarifrs * qty as total FROM t_billnonreg WHERE IDXBILL = \'' . $bill . '\''); $arr_bill = array(); foreach ($tcount->fetchAll() as $dt) { $arr_bill[] = $dt; } $curr_date = date('Y-m-d'); $curr_time = date('H:i:s'); $tbp = (array_key_exists('tbp', $_REQUEST)) ? $_REQUEST['tbp'] : NULL; if ($kasir == 1) { $t_bayarnonreg = "UPDATE t_bayarnonreg SET tglbayar='$curr_date', jambayar='$curr_time', jmbayar={$_REQUEST['total'][$bill]}, nip = '{$petugas}', shift={$_REQUEST['shift'][$bill]}, tbp='$tbp', lunas = 1, status = 'LUNAS', totcostsharing = {$_REQUEST['keringanan'][$bill]}, alasan_keringanan = '{$_REQUEST['alasan'][$bill]}', nobayar = '$last_no_bayar' WHERE idxbill=$bill"; $save_bayar = execute($t_bayarnonreg); if (!$save_bayar) { $arr_error[] = $bill; } } if ($piutang == 1) { // update penjamin t_bayarnonreg $kd_penjamin = $_REQUEST['kd_penjamin'][$bill]; $jatuh_tempo = $_REQUEST['jatuh_tempo'][$bill]; $t_bayarnonreg = "UPDATE t_bayarnonreg SET kd_penjamin = $kd_penjamin WHERE IDXBILL= $bill"; $save_bayar = execute($t_bayarnonreg); // jika piutang $get_bayarrajal = $db->query("SELECT st_carabayar,kd_penjamin from t_bayarnonreg where idxbill = " . $bill); $data_bayarrajal = $get_bayarrajal->fetchFirst(); if ($data_bayarrajal['st_carabayar'] == 2) { $kddokter = ($arr_bill[0]['kddokter'] == '') ? 0 : $arr_bill[0]['kddokter']; $jasa_sarana = ($arr_bill[0]['jasa_sarana'] == '') ? 0 : $arr_bill[0]['jasa_sarana']; $jasa_pelayanan = ($arr_bill[0]['jasa_pelayanan'] == '') ? 0 : $arr_bill[0]['jasa_pelayanan']; $jasa_anastesi = ($arr_bill[0]['jasa_anastesi'] == '') ? 0 : $arr_bill[0]['jasa_anastesi']; $tgl_sekarang = (array_key_exists('tgl_request_krs', $_REQUEST)) ? $_REQUEST['tgl_request_krs'] : date('Y-m-d'); $arr_piutang = [ 'nomr' => $arr_bill[0]['no_nonreg'], 'idxbill' => ['value' => $bill, 'type' => 'number'], 'tanggal' => $tgl_sekarang, 'pukul' => date('H:i:s'), 'idxdaftar' => ['value' => $arr_bill[0]['idx_nonreg'], 'type' => 'number'], 'nobilling' => $arr_bill[0]['nobill'], 'nip' => $_SESSION['NIP'], 'shift' => ['value' => $_REQUEST['shift'][$bill], 'type' => 'number'], 'idxtarif' => $arr_bill[0]['kodetarif'], 'idxpoly' => ['value' => 0, 'type' => 'number'], 'kddokter' => ['value' => $kddokter, 'type' => 'number'], 'jumlah_bayar' => ['value' => $_REQUEST['total'][$bill], 'type' => 'number'], 'jasa_sarana' => ['value' => $jasa_sarana, 'type' => 'number'], 'jasa_pelayanan' => ['value' => $jasa_pelayanan, 'type' => 'number'], 'jasa_anastesi' => ['value' => $jasa_anastesi, 'type' => 'number'], 'kode_penjamin' => ['value' => $data_bayarrajal['kd_penjamin'], 'type' => 'number'], 'st_billing' => 'NONREG', 'jatuh_tempo' => $jatuh_tempo ]; if ($jatuh_tempo == "") { unset($arr_piutang['jatuh_tempo']); } $sql_piutang = "INSERT INTO t_piutang " . bind_sql($arr_piutang); // cek t_piutang // $get_piutang = $db->query("SELECT idxbill FROM t_piutang where idxbill = $bill and st_billing = 'NONREG'"); // if($get_piutang->numRows() > 0) { // $in_piutang = true; // } // else { $in_piutang = execute($sql_piutang); // } if (!$in_piutang) { $arr_error[] = $bill; } } } } if ($kasir == 1) { if (empty($arr_error)) { $msg = 'Pembayaran billing berhasil'; $type = 'success'; // update maxnobyr execute("UPDATE m_maxnobyr set nomor = $last_no_bayar where type='kuitansi' and petugas = '$petugas' and tanggal = '" . date('Y-m-d') . "' and shift = '$shift'"); } else { $msg = 'Pembayaran billing gagal'; $type = 'error'; } } if ($piutang == 1) { if (empty($arr_error)) { $msg = 'Piutang billing berhasil'; $type = 'success'; } else { $msg = 'Piutang billing gagal'; $type = 'error'; } } echo json_encode(['message' => $msg, 'type' => $type, 'nobayar' => $last_no_bayar]); exit; } } // BPJS MASTER elseif (array_key_exists('get_kartu', $_REQUEST) && $_REQUEST['get_kartu'] == true) { $nokartu = $_REQUEST['nokartu']; $nik = $_REQUEST['nik']; $tglSEP = date('Y-m-d'); $jenis = $_REQUEST['jenis']; $no_dicek = ($jenis == 'nokartu') ? $nokartu : $nik; $arr_req = [ 'katalog' => 'peserta', 'parameter' => [$jenis, $no_dicek, $tglSEP] ]; $req = $bpjs->request($arr_req, FALSE, TRUE); if (isset($_REQUEST['get_object'])) { echo $req; exit; } $result = (array) json_decode($req); $meta = $result['metaData']; $response = $result['response']; $template = ' '; if ($meta->code == 200) { $template .= '

' . $response->peserta->nama . '

Informasi Umum
  • No Kartu' . $response->peserta->noKartu . '
  • NIK' . $response->peserta->nik . '
  • Tanggal Lahir' . $response->peserta->tglLahir . '
  • Jenis Kelamin' . $response->peserta->sex . '
  • Status' . $response->peserta->statusPeserta->keterangan . '
  • Hak Kelas' . $response->peserta->hakKelas->keterangan . '
  • Jenis Peserta' . $response->peserta->jenisPeserta->keterangan . '
  • NO MR' . $response->peserta->mr->noMR . '
  • NO Telepon' . $response->peserta->mr->noTelepon . '

' . $response->peserta->nama . '

Informasi Lain
  • Provider' . $response->peserta->provUmum->kdProvider . ' - ' . $response->peserta->provUmum->nmProvider . '
  • Tgl Cetak' . $response->peserta->tglCetakKartu . '
  • Tgl Berlaku ' . $response->peserta->tglTMT . ' s/d ' . $response->peserta->tglTAT . '
  • COB - No Asuransi' . $response->peserta->cob->noAsuransi . '
  • COB - Nama Asuransi' . $response->peserta->cob->nmAsuransi . '
  • COB - Tgl Berlaku ' . $response->peserta->cob->tglTMT . ' s/d ' . $response->peserta->cob->tglTAT . '
  • DINSOS' . $response->peserta->informasi->dinsos . '
  • No SKTM' . $response->peserta->informasi->noSKTM . '
  • PRB' . $response->peserta->informasi->prolanisPRB . '
'; } else { $template .= '

' . $meta->message . '

'; } echo $template; exit; } elseif (array_key_exists('get_rujukan', $_REQUEST) && $_REQUEST['get_rujukan'] == true) { $norujukan = $_REQUEST['norujukan']; $rujuk_rs = $_REQUEST['rujuk_rs']; $rujuk_langsung = $_REQUEST['rujuk_langsung']; $katalog_rujuk = ($rujuk_rs == true) ? 'rujukan_RS' : (($rujuk_langsung == true) ? 'rujukan_pcare' : ''); $arr_req = [ 'katalog' => $katalog_rujuk, 'parameter' => [$norujukan] ]; $req = $bpjs->request($arr_req, FALSE, TRUE); echo $req; exit; } elseif (array_key_exists('get_sep', $_REQUEST) && $_REQUEST['get_sep'] == true) { $param = $_REQUEST['nosep']; $arr_req = [ 'katalog' => 'sep', 'parameter' => [$param] ]; $req = $bpjs->request($arr_req, FALSE, TRUE); //update sep // $result = (array) json_decode($req); // $sql_cek_sep = "SELECT * from t_sep where noSep = '".$result['response']->noSep."'"; // $tmp_sep = $db->query($sql_cek_sep); // if($tmp_sep->numRows() > 0) // { // $record_sep = $tmp_sep->fetchFirst(); // $data_sep = $tmp_sep->fetchAll()[0]; // $jml = $data_sep['jumlahCetak']+1; // $sql_sep = "UPDATE t_sep set jumlahCetak = $jml,updated_date='".date('Y-m-d')."' where noSep = '".$result['response']->noSep."'"; // execute($sql_sep); // } echo $req; exit; } elseif (array_key_exists('get_datasep', $_REQUEST) && $_REQUEST['get_datasep'] == true) { $param = $_REQUEST['nosep']; $sql_cek_sep = "SELECT * from t_sep where nosep = '$param'"; $tmp_sep = $db->query($sql_cek_sep); $record_sep = []; if ($tmp_sep->numRows() > 0) { $record_sep = $tmp_sep->fetchFirst(); } echo json_encode($record_sep); exit; } elseif (array_key_exists('get_diagnosa', $_REQUEST) && $_REQUEST['get_diagnosa'] == true) { $param = $_REQUEST['diagnosa']; if (preg_match("/;/", $param)) { echo true; } else { $arr_req = [ 'katalog' => 'diagnosa', 'parameter' => [$param] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->diagnosa as $key => $obj) { $arr_obj = (array) $obj; $kode = $arr_obj['kode']; $nama = $arr_obj['nama']; $arr_response[] = (object) ['kode' => $kode, 'nama' => $nama]; } } echo json_encode($arr_response); } exit; } elseif (array_key_exists('get_poli', $_REQUEST) && $_REQUEST['get_poli'] == true) { $param = $_REQUEST['poli']; if (preg_match("/;/", $param)) { echo true; } else { $arr_req = [ 'katalog' => 'poli', 'parameter' => [$param] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->poli as $key => $obj) { $arr_obj = (array) $obj; $kode = $arr_obj['kode']; $nama = $arr_obj['kode'] . ';' . $arr_obj['nama']; $arr_response[] = (object) ['kode' => $kode, 'nama' => $nama]; } } echo json_encode($arr_response); } exit; } elseif (array_key_exists('cek_faskes', $_REQUEST) && $_REQUEST['cek_faskes'] == true) { $param1 = $_REQUEST['kode']; $param2 = $_REQUEST['tingkat']; $arr_req = [ 'katalog' => 'faskes', 'parameter' => [$param1, $param2] ]; $req = $bpjs->request($arr_req, FALSE, TRUE); $result = (array) json_decode($req); $meta = $result['metaData']; $response = $result['response']; if ($meta->code != 200) { $st_aktif = 0; } else { $st_aktif = 1; } //update faskes $sql_cek_faskes = "SELECT * from m_faskes where kode_faskes = '" . $param1 . "'"; $tmp_faskes = $db->query($sql_cek_faskes); if ($tmp_faskes->numRows() > 0) { $d_faskes = $tmp_faskes->fetchAll()[0]; if ($d_faskes['tingkat_faskes'] == null) { $sql_faskes = "UPDATE m_faskes set status_aktif = " . $st_aktif . ", tingkat_faskes = " . $param2 . " where kode_faskes = '" . $param1 . "'"; execute($sql_faskes); } } echo $req; exit; } elseif (array_key_exists('get_faskes', $_REQUEST) && $_REQUEST['get_faskes'] == true) { $param1 = $_REQUEST['kode']; $param2 = $_REQUEST['tingkat']; $arr_req = [ 'katalog' => 'faskes', 'parameter' => [$param1, $param2] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->faskes as $key => $obj) { $arr_obj = (array) $obj; $kode = $arr_obj['kode']; $nama = $arr_obj['nama']; $arr_response[] = (object) ['kode' => $kode, 'nama' => $nama]; } } echo json_encode($arr_response); exit; } elseif (array_key_exists('get_provinsi', $_REQUEST) && $_REQUEST['get_provinsi'] == true) { $arr_req = [ 'katalog' => 'propinsi', 'parameter' => [] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array('' => 'Pilih Provinsi'); if ($meta->code == "200") { foreach ($response->list as $key => $obj) { $arr_obj = (array) $obj; $arr_response[$arr_obj['kode']] = $arr_obj['nama']; } } echo form_dropdown('t_sep[jaminan][penjamin][suplesi][lokasiLaka][kdPropinsi]', $arr_response, '', 'class="form-control form-control-sm" style="width:100%" onchange="get_kdkabupaten()" id="sep_kdpropinsi"'); exit; } elseif (array_key_exists('get_kabupaten', $_REQUEST) && $_REQUEST['get_kabupaten'] == true) { $param = $_REQUEST['propinsi']; $arr_req = [ 'katalog' => 'kabupaten', 'parameter' => [$param] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->list as $key => $obj) { $arr_obj = (array) $obj; $arr_response[$arr_obj['kode']] = $arr_obj['nama']; } } echo form_dropdown('t_sep[jaminan][penjamin][suplesi][lokasiLaka][kdKabupaten]', $arr_response, '', 'class="form-control form-control-sm" style="width:100%" onchange="get_kdkecamatan()" id="sep_kdkabupaten"'); exit; } elseif (array_key_exists('get_kecamatan', $_REQUEST) && $_REQUEST['get_kecamatan'] == true) { $param = $_REQUEST['kabupaten']; $arr_req = [ 'katalog' => 'kecamatan', 'parameter' => [$param] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->list as $key => $obj) { $arr_obj = (array) $obj; $arr_response[$arr_obj['kode']] = $arr_obj['nama']; } } echo form_dropdown('t_sep[jaminan][penjamin][suplesi][lokasiLaka][kdKecamatan]', $arr_response, '', 'class="form-control form-control-sm" style="width:100%" id="sep_kdkecamatan"'); exit; } elseif (array_key_exists('get_dpjp', $_REQUEST) && $_REQUEST['get_dpjp'] == true) { $param1 = $_REQUEST['jenis_layanan']; $param2 = $_REQUEST['tgl_sep']; $param3 = (isset($_REQUEST['kode'])) ? $_REQUEST['kode'] : null; $arr_req = [ 'katalog' => 'dpjp', 'parameter' => [$param1, $param2, $param3] ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; $arr_response = array(); if ($meta->code == "200") { foreach ($response->list as $key => $obj) { $arr_obj = (array) $obj; $kode = $arr_obj['kode']; $nama = $arr_obj['kode'] . ';' . $arr_obj['nama']; $arr_response[] = (object) ['kode' => $kode, 'nama' => $nama]; } } echo json_encode($arr_response); exit; } elseif (array_key_exists('update_sep', $_REQUEST)) { $poli = $_REQUEST['t_sep']['poli']['tujuan']; $poli_tujuan = ($poli != '') ? explode(";", $poli) : ""; $dpjp = $_REQUEST['t_sep']['skdp']['kodeDPJP']; $dpjp_tujuan = ($dpjp != '') ? explode(";", $dpjp) : ""; $penjamin = array_key_exists('penjamin', $_REQUEST['t_sep']['jaminan']['penjamin']) ? $_REQUEST['t_sep']['jaminan']['penjamin'] : ""; $_REQUEST['t_sep']['jaminan']['penjamin']['penjamin'] = $penjamin; unset($_REQUEST['t_sep']['ppkPelayanan']); unset($_REQUEST['t_sep']['poli']['tujuan']); unset($_REQUEST['t_sep']['tglLahir']); unset($_REQUEST['t_sep']['pisa']); unset($_REQUEST['t_sep']['noKartu']); unset($_REQUEST['t_sep']['tglSep']); // dd($_REQUEST['t_sep']);exit; $arr_data = ['request' => ['t_sep' => $_REQUEST['t_sep']]]; $json_req = json_encode($arr_data, JSON_FORCE_OBJECT); // dd($json_req);exit; $arr_req = [ 'katalog' => 'update_sep', 'parameter' => [], 'body' => $json_req ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; // echo $json_req; if ($meta->code != 200) { $status = 0; } else { $status = 1; //update sep $sql_cek_sep = "SELECT * from t_sep where nosep = '" . $response->sep->noSep . "'"; $tmp_sep = $db->query($sql_cek_sep); if ($tmp_sep->numRows() === 0) { $t_sep_req = $arr_data['request']['t_sep']; $sql_sep = "UPDATE t_sep(nomr, diagawal, updated_date, \"user\") VALUES ('" . $t_sep_req['noMR'] . "','" . $t_sep_req['diagAwal'] . "','" . date('Y-m-d H:i:s') . "','{$_SESSION['NIP']}')"; execute($sql_sep); } } echo json_encode($req); exit; } elseif (array_key_exists('t_sep', $_REQUEST)) { $poli = $_REQUEST['t_sep']['poli']['tujuan']; $poli_tujuan = ($poli != '') ? explode(";", $poli) : ""; $dpjp = $_REQUEST['t_sep']['skdp']['kodeDPJP']; $dpjp_tujuan = ($dpjp != '') ? explode(";", $dpjp) : ""; $arr_data = ['request' => ['t_sep' => $_REQUEST['t_sep']]]; if ($poli_tujuan != "") { $arr_data['request']['t_sep']['poli']['tujuan'] = $poli_tujuan[0]; $arr_data['request']['t_sep']['skdp']['kodeDPJP'] = $dpjp_tujuan[0]; } $json_req = json_encode($arr_data, JSON_FORCE_OBJECT); // print_r($json_req);exit; $arr_req = [ 'katalog' => 'insert_sep', 'parameter' => [], 'body' => $json_req ]; $req = $bpjs->request($arr_req); $meta = $req['metaData']; $response = $req['response']; // echo $json_req; if ($meta->code != 200) { $status = 0; } else { $status = 1; //update sep $sql_cek_sep = "SELECT * from t_sep where nosep = '" . $response->sep->noSep . "'"; $tmp_sep = $db->query($sql_cek_sep); if ($tmp_sep->numRows() === 0) { $t_sep_req = $arr_data['request']['t_sep']; $sql_sep = "INSERT INTO t_sep(nosep, nomr, nokartu, tglsep, jnspelayanan, kelasrawat, poli, diagawal, jumlahcetak, created_date, updated_date, \"user\",cob,asalrujukan,faskesperujuk,norujukan,tglrujukan) VALUES ('" . $response->sep->noSep . "','" . $t_sep_req['noMR'] . "','" . $t_sep_req['noKartu'] . "','" . $t_sep_req['tglSep'] . "','" . $t_sep_req['jnsPelayanan'] . "','" . $t_sep_req['kelasRawat'] . "','" . $t_sep_req['poli']['tujuan'] . "','" . $t_sep_req['diagAwal'] . "',1,'" . date('Y-m-d H:i:s') . "','" . date('Y-m-d H:i:s') . "','{$_SESSION['NIP']}','" . $t_sep_req['cob']['cob'] . "','" . $t_sep_req['rujukan']['asalRujukan'] . "','" . $t_sep_req['rujukan']['ppkRujukan'] . "','" . $t_sep_req['rujukan']['noRujukan'] . "','" . $t_sep_req['rujukan']['tglRujukan'] . "')"; execute($sql_sep); } } echo json_encode($req); exit; } elseif (array_key_exists('pulang_sep', $_REQUEST)) { $nosep = $_REQUEST['nosep']; $tgl_pulang = $_REQUEST['tgl_pulang']; $ppkPelayanan = $_REQUEST['ppkPelayanan']; $arr_data = [ 'request' => [ 't_sep' => [ 'noSep' => $nosep, 'tglPulang' => $tgl_pulang, 'user' => $ppkPelayanan ] ] ]; $json_req = json_encode($arr_data, JSON_FORCE_OBJECT); $arr_req = [ 'katalog' => 'update_pulang', 'parameter' => [], 'body' => $json_req ]; $req = $bpjs->request($arr_req, FALSE, TRUE); echo $req; exit; } elseif (array_key_exists('hapus_sep', $_REQUEST)) { $nosep = $_REQUEST['nosep']; $user = $_SESSION['NAMA_PEGAWAI']; $arr_data = [ 'request' => [ 't_sep' => [ 'noSep' => $nosep, 'user' => $ppkPelayanan ] ] ]; $json_req = json_encode($arr_data, JSON_FORCE_OBJECT); $arr_req = [ 'katalog' => 'hapus_sep', 'parameter' => [], 'body' => $json_req ]; $req = $bpjs->request($arr_req, FALSE, TRUE); echo $req; exit; } // END BPJS elseif (array_key_exists('faskes', $_REQUEST) && $_REQUEST['faskes'] == true) { $str_where = ' where '; $str_where .= (array_key_exists('kacab', $_REQUEST) && $_REQUEST['kacab'] != '') ? 'nama_kc = "' . $_REQUEST['kacab'] . '" ' : ''; $str_where .= (array_key_exists('jenis', $_REQUEST) && $_REQUEST['jenis'] != '' && $_REQUEST['kacab'] != '') ? 'and jenis_faskes = "' . $_REQUEST['jenis'] . '" ' : 'jenis_faskes = "' . $_REQUEST['jenis'] . '" '; $ss = $db->query('select * from m_faskes ' . $str_where . ' order by kode_faskes ASC'); $arr_faskes_rujuk = array('' => 'Pilih Faskes'); foreach ($ss->fetchAll() as $ds) { $arr_faskes_rujuk[$ds['kode_faskes']] = $ds['kode_faskes'] . ' - ' . $ds['nama_faskes']; } echo form_dropdown('t_sep[rujukan][ppkRujukan]', $arr_faskes_rujuk, '', 'class="form-control" id="faskes_rujukan" style="width:100%" onchange="checkFaskes(this)" required'); exit; } elseif (array_key_exists('set_igd', $_REQUEST) && $_REQUEST['set_igd'] == true) { $idx = $_REQUEST['idx']; $jenis = $_REQUEST['jenis']; $user = $_SESSION['NIP']; // cek kelas_daftar dan kelas_rawat // $cek = "SELECT kelas_daftar,kelas_rawat from t_pendaftaran where IDXDAFTAR=$idx"; // $tmp_cek = $db->query($cek); // if($tmp_cek->numRows() > 0) // { // $data_cek = $tmp_cek->fetchAll()[0]; // jika kelas_daftar != null dan kelas_rawat == null, maka set keduanya ke $jenis // if($data_cek['kelas_daftar'] != null && $data_cek['kelas_rawat'] == NULL) // { // $upd_jenis = "UPDATE t_pendaftaran set kelas_daftar = '$jenis',kelas_rawat='$jenis',tgl_kelas_daftar='".date('Y-m-d H:i:s')."',tgl_kelas_rawat='".date('Y-m-d H:i:s')."',user_kelas_daftar='$user',user_kelas_rawat='$user' WHERE IDXDAFTAR=$idx"; // $ins_gawat = "INSERT into t_kegawatan(idxdaftar,jenis_kegawatan,dt_kegawatan,petugas,st_aktif) // VALUES ($idx,$jenis,'".date('Y-m-d H:i:s')."','$user',1)"; // } // else { // $upd_jenis = "UPDATE t_pendaftaran set kelas_rawat='$jenis',tgl_kelas_rawat='".date('Y-m-d H:i:s')."',user_kelas_rawat='$user' WHERE IDXDAFTAR=$idx"; // $ins_gawat = "INSERT into t_kegawatan(idxdaftar,jenis_kegawatan,dt_kegawatan,petugas,st_aktif) // VALUES ($idx,$jenis,'".date('Y-m-d H:i:s')."','$user',1)"; // } $upd_jenis = "UPDATE t_pendaftaran set kdpoly=$jenis,tgl_kelas_rawat='" . date('Y-m-d H:i:s') . "',user_kelas_rawat='$user' WHERE IDXDAFTAR=$idx"; $ins_gawat = "INSERT into t_kegawatan(idxdaftar,jenis_kegawatan,dt_kegawatan,petugas,st_aktif) VALUES ($idx,$jenis,'" . date('Y-m-d H:i:s') . "','$user',1)"; $cek_kegawatan = $db->query("SELECT * from t_kegawatan where idxdaftar = $idx"); if ($cek_kegawatan->numRows() > 0) { $upd_gawat = "UPDATE t_kegawatan set st_aktif = 0 where idxdaftar = $idx"; execute($upd_gawat); execute($ins_gawat); } else { execute($ins_gawat); } $ex_jenis = execute($upd_jenis); if ($ex_jenis) { $cek = $db->query("SELECT nama_pegawai,tgl_kelas_rawat from t_pendaftaran a join m_login b on a.user_kelas_rawat = b.NIP"); $data_log = $cek->fetchAll()[0]; echo json_encode(array('type' => 'success', 'log' => ': ' . $data_log['nama_pegawai'] . ' (' . $data_log['tgl_kelas_rawat'] . ')')); } else { echo json_encode(array('type' => 'error')); } // } exit; } elseif (array_key_exists('hist_kegawatan', $_REQUEST) && $_REQUEST['hist_kegawatan'] == true) { if ($_REQUEST['idxdaftar'] != '') { $idx = $_REQUEST['idxdaftar']; $cek_kegawatan = $db->query("SELECT g.*,r.nama as jenis_kegawatan,l.nama_pegawai from t_kegawatan g left join m_ruang r on r.no = g.jenis_kegawatan join m_login l on g.petugas = l.nip where idxdaftar = $idx order by idx_kegawatan desc"); if ($cek_kegawatan->numRows() > 0) { $html = ''; $no = 1; foreach ($cek_kegawatan->fetchAll() as $row) { $html .= ''; $no++; } $html .= '
NoJenis KegawatanTanggal JamPetugas
' . $no . '' . $row['jenis_kegawatan'] . '' . $row['dt_kegawatan'] . '' . $row['nama_pegawai'] . '
'; echo $html; } else { echo '

Belum terdapat data kegawatan

'; } } else { echo '

Data tidak ditemukan

'; } exit; } elseif (array_key_exists('tindakanlab', $_REQUEST) && $_REQUEST['tindakanlab'] == 'true') { $jenis = $_REQUEST['cito_status']; if ($jenis == "c") { $faktor = 1; } else { $faktor = 1; } $kd_tarif = (preg_match("/-/", $_REQUEST['kd_tindakan'])) ? explode("-", $_REQUEST['kd_tindakan']) : [$_REQUEST['kd_tindakan']]; // check if exists // hialngkan cek order tindakan, karena tidak perlu ada update qty di order tindakan lab // $str_cek = "SELECT * FROM tmp_orderpenunjang where ip='".getRealIpAddr()."' and kode_tindakan in ('".implode("','", $kd_tarif)."')"; // $sql_cek = $db->query($str_cek); // if($sql_cek->numRows() > 0) // { // foreach($sql_cek->fetchAll() as $row) // { // $sql_update = execute("UPDATE tmp_orderpenunjang set qty = qty+1 where id = ".$row['id']); // if(!$sql_update) // { // $msg = 'Update data order tindakan gagal'; // $type = 'error'; // } // else { // $msg = 'Update data order tindakan berhasil'; // $type = 'success'; // } // } // } // else { if (!empty($kd_tarif) && $kd_tarif[0] != '') { $insert_lab = execute('INSERT into tmp_orderpenunjang (kode_tindakan,nama_tindakan,qty,tarif,ip,jenis,jasa_sarana,jasa_pelayanan) select a.kode_tarif, a.uraian_tarif, 1, a.jumlah * ' . $faktor . ',\'' . getRealIpAddr() . '\',\'' . $jenis . '\', ((select nilai from m_tarifdetil where komponen like \'%SARANA%\' and kode_tarif = a.kode_tarif) * ' . $faktor . ') as jasa_sarana , ((select nilai from m_tarifdetil where komponen like \'%LAYANAN%\' and kode_tarif = a.kode_tarif) * ' . $faktor . ') as jasa_pelayanan from m_tarif_rs a where a.kode_tarif in (\'' . implode('\',\'', $kd_tarif) . '\')'); if (!$insert_lab) { $msg = 'Input data order tindakan gagal'; $type = 'error'; } else { $msg = 'Input data order tindakan berhasil'; $type = 'success'; } } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('list_order_lab', $_REQUEST) && $_REQUEST['list_order_lab']) { $dr_mod = $_REQUEST['dr_mod']; $query_order = "SELECT a.id, a.kode_tindakan, a.nama_tindakan, a.qty, a.tarif from tmp_orderpenunjang a where a.ip = '" . getRealIpAddr() . "'"; $sql = $db->query($query_order); if ($sql->numRows() > 0) { $data_tmp = $sql->fetchAll(); $kel_smf = $_REQUEST['kel_smf']; $sql_dokter = $db->query('SELECT kddokter,namadokter FROM m_dokter WHERE KDSMF = \'' . $kel_smf . '\' and kddokter != ' . $dr_mod); $arr_dokterlab = ['' => 'Pilih Konsulen']; foreach ($sql_dokter->fetchAll() as $da) { $arr_dokterlab[$da['kddokter']] = $da['namadokter']; } $t = 0; $i = 0; foreach ($data_tmp as $data) { $detil = ''; // get dokter detil $tmp_detil = $db->query("SELECT * from tmp_orderpenunjang_detil a join m_dokter b on a.kddokter = b.kddokter where idxorder = {$data['id']}"); if ($tmp_detil->numRows() > 0) { foreach ($tmp_detil->fetchAll() as $row) { $btn_rem_item = ''; $detil .= '' . $row['namadokter'] . '' . $btn_rem_item . ''; } } $btn_add_item = ''; $detil .= '' . form_dropdown('konsulen' . $data['id'], $arr_dokterlab, '', 'class="form-control form-control-sm " id="konsulen' . $data['id'] . '" style="width:100%"') . '' . $btn_add_item . ''; $t = $t + $data['tarif']; $arr_data_lab[$i] = [ 'tindakan' => $data['kode_tindakan'] . ' - ' . $data['nama_tindakan'], 'qty' => $data['qty'], 'id' => $data['id'], 'tarif' => format_uang($data['tarif']), 'detil' => $detil ]; $i++; } echo json_encode(['order' => $arr_data_lab, 'total' => $t]); exit; } else { echo json_encode(['order' => [], 'total' => 0]); } } elseif (array_key_exists('add_konsulen', $_REQUEST) && $_REQUEST['add_konsulen']) { $id_tmp_order = $_REQUEST['id_tmp_order']; $kddokter = $_REQUEST['kddokter']; $kode_tarif = $_REQUEST['kode_tarif']; $dr_mod = $_REQUEST['dr_mod']; $query = "INSERT INTO tmp_orderpenunjang_detil(idxorder,kddokter,kode_tarif) values ($id_tmp_order,$kddokter,'$kode_tarif')"; $save_konsulen = execute($query); if ($save_konsulen) { $msg = "Tambah konsulen berhasil"; $type = "success"; } else { $msg = "Tambah konsulen gagal"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); } elseif (array_key_exists('del_konsulen', $_REQUEST) && $_REQUEST['del_konsulen']) { $id_penunjangdetil = $_REQUEST['id']; $query = "DELETE FROM tmp_orderpenunjang_detil where id_penunjangdetil = $id_penunjangdetil"; $delete = execute($query); if ($delete) { $msg = "Hapus konsulen berhasil"; $type = "success"; } else { $msg = "Hapus konsulen gagal"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); } elseif (array_key_exists('remove_tindakan', $_REQUEST) && $_REQUEST['remove_tindakan'] == true) { // include 'connect.php'; // include 'function.php'; $delete = execute("DELETE FROM tmp_orderpenunjang where id = {$_REQUEST['id']} AND ip = '" . getRealIpAddr() . "'"); if (!$delete) { $msg = 'Hapus order tindakan gagal'; $type = 'error'; } else { $msg = 'Hapus order tindakan berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_periksa_lab', $_REQUEST) && $_REQUEST['batal_periksa_lab'] == true) { $lab = $_REQUEST['lab']; $nolab = $_REQUEST['nolab']; if ($lab == $_SESSION['kd_unit_lab_pk']) { $where_nolab = 'nolab'; $table = 't_orderlabpk_main'; } elseif ($lab == $_SESSION['kd_unit_lab_darah']) { $where_nolab = 'no_form'; $table = 't_orderlabdarah_main'; } elseif ($lab == $_SESSION['kd_unit_lab_mikro']) { $where_nolab = 'nolab'; $table = 't_orderlabmikro_main'; } elseif ($lab == $_SESSION['kd_unit_lab_pa']) { $where_nolab = 'noreglab'; $table = 't_orderlabpa_main'; } $delete = $db->query("UPDATE $table set st_review = NULL where $where_nolab = '$nolab'"); if (!$delete) { $msg = 'Tidak dapat memproses update status form laboratorium'; $type = 'error'; } else { $msg = 'Proses update status form laboratorium berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('update_stok_darah', $_REQUEST) && $_REQUEST['update_stok_darah'] == true) { $input = $_REQUEST['input']; $save = execute("UPDATE t_orderlabdarah " . bind_sql($input, 1) . " where idxorderdarah = {$_REQUEST['id']}"); if (!$save) { $msg = 'Update pencatatan stok gagal'; $type = 'error'; } else { $msg = 'Update pencatatan stok berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('table_orderlab', $_REQUEST) && $_REQUEST['table_orderlab'] == true) { $poli_igd = $_SESSION['poli_igd']; if ($_SESSION['KDUNIT'] == $_SESSION['kd_unit_lab_pk']) { $status_lab = 'pk'; $nama_lab = $_SESSION['kel_smf_lab_pk']; $tgl_query = 'DATE(lpk.TGLORDER)'; $tgl_daftar = 'tgl_order_pk'; } elseif ($_SESSION['KDUNIT'] == $_SESSION['kd_unit_lab_mikro']) { $status_lab = 'mikro'; $nama_lab = $_SESSION['kel_smf_lab_mikro']; $tgl_query = 'DATE(lmikro.TGLORDER)'; $tgl_daftar = 'tgl_order_mikro'; } elseif ($_SESSION['KDUNIT'] == $_SESSION['kd_unit_lab_pa']) { $status_lab = 'pa'; $nama_lab = $_SESSION['kel_smf_lab_pa']; $tgl_query = 'DATE(lpa.TGLORDER)'; $tgl_daftar = 'tgl_order_pa'; } $start = date('Y-m-d'); $end = date('Y-m-d'); if ($_REQUEST['tgl_kunjungan'] != '') { $start = $_REQUEST['tgl_kunjungan']; } if ($_REQUEST['tgl_kunjungan2'] != '') { $end = $_REQUEST['tgl_kunjungan2']; } $search = "AND $tgl_query BETWEEN '$start' and '$end'"; $norm = ""; if (!empty($_GET['norm'])) { $norm = $_GET['norm']; } if ($norm != "") { $search = $search . " AND a.NOMR = '$norm' "; } $nama = ""; if (!empty($_GET['nama'])) { $nama = $_GET['nama']; } if ($nama != "") { $search = $search . " AND b.NAMA LIKE '%$nama%' "; } if ($_REQUEST['order'] == 'rajal') { $sql = "SELECT a.nomr, a.nip, b.nama, b.alamat, e.nama as carabayar, a.tglreg,a.kdpoly,c.nama as poliruang, null as nott,a.idxdaftar as idreg, d.namadokter, lpk.nolab as no_lab_pk, lpk.tglorder as tgl_order_pk, lmikro.nolab as no_lab_mikro, lmikro.tglorder as tgl_order_mikro, lpa.noreglab as no_lab_pa, lpa.tglorder AS tgl_order_pa, 1 as st_rajal, 0 as st_aps FROM t_pendaftaran a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN m_ruang c ON c.no = a.KDPOLY JOIN m_dokter d ON d.KDDOKTER = a.KDDOKTER JOIN m_carabayar e ON e.KODE = a.KDCARABAYAR LEFT JOIN (select distinct pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpk_main pk_m join t_orderlabpk pk_d on pk_m.nolab = pk_d.nolab WHERE HASIL IS NULL and RAJAL = 1 AND pk_m.st_periksa = 0 AND pk_m.st_aktif = 1) lpk ON lpk.IDXDAFTAR = a.IDXDAFTAR LEFT JOIN (select pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabmikro_main pk_m join t_orderlabmikro pk_d on pk_m.nolab = pk_d.nolab WHERE HASIL IS NULL and RAJAL = 1 AND pk_m.st_aktif = 1) lmikro ON lmikro.IDXDAFTAR = a.IDXDAFTAR LEFT JOIN (select distinct pk_m.noreglab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpa_main pk_m join t_orderlabpa pk_d on pk_m.noreglab = pk_d.nolab WHERE JAWABAN IS NULL and RAJAL = 1 AND pk_m.st_aktif = 1) lpa ON lpa.IDXDAFTAR = a.IDXDAFTAR WHERE a.KDPOLY != 0 AND a.KDPOLY != $poli_igd $search UNION SELECT a.nomr, a.nip, b.nama, b.alamat, e.nama as carabayar, a.tglreg,a.kdpoly,c.nama_unit as poliruang, null as nott,a.idxdaftar as idreg, d.namadokter, null as no_lab_pk, null AS tgl_order_pk, null as no_lab_mikro, null AS tgl_order_mikro, null as no_lab_pa, null AS tgl_order_pa, 1 as st_rajal, 1 as st_aps FROM t_pendaftaran_aps a JOIN m_pasien_aps b ON b.NOMR = a.NOMR JOIN m_unit c ON c.kode_unit = a.UNIT LEFT JOIN m_dokter d ON d.KDDOKTER = a.KDDOKTER JOIN m_carabayar e ON e.KODE = a.KDCARABAYAR WHERE a.UNIT = " . $_SESSION['KDUNIT'] . " and a.TGLREG = '" . date('Y-m-d') . "'"; } elseif ($_REQUEST['order'] == 'igd') { $sql = "SELECT a.nomr, a.nip, b.nama, b.alamat, e.nama as carabayar, a.tglreg,a.kdpoly,c.nama as poliruang, null as nott,a.idxdaftar as idreg, d.namadokter, lpk.nolab as no_lab_pk, lpk.tglorder as tgl_order_pk, lmikro.nolab as no_lab_mikro, lmikro.tglorder as tgl_order_mikro, lpa.noreglab as no_lab_pa, lpa.tglorder as tgl_order_pa, 1 as st_rajal, 0 as st_aps FROM t_pendaftaran a JOIN m_pasien b ON b.NOMR = a.NOMR JOIN m_ruang c ON c.no = a.KDPOLY JOIN m_dokter d ON d.KDDOKTER = a.KDDOKTER JOIN m_carabayar e ON e.KODE = a.KDCARABAYAR LEFT JOIN (select distinct pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpk_main pk_m join t_orderlabpk pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE HASIL IS NULL and RAJAL = 1 AND pk_m.st_periksa = 0 AND pk_m.st_aktif = 1) lpk ON lpk.IDXDAFTAR = a.IDXDAFTAR LEFT JOIN (select pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabmikro_main pk_m join t_orderlabmikro pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE HASIL IS NULL and RAJAL = 1 AND pk_m.st_aktif = 1) lmikro ON lmikro.IDXDAFTAR = a.IDXDAFTAR LEFT JOIN (select distinct pk_m.noreglab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpa_main pk_m join t_orderlabpa pk_d on pk_m.NOREGLAB = pk_d.NOLAB WHERE JAWABAN IS NULL and RAJAL = 1 AND pk_m.st_aktif = 1) lpa ON lpa.IDXDAFTAR = a.IDXDAFTAR WHERE a.KDPOLY = $poli_igd $search "; } elseif ($_REQUEST['order'] == 'ranap') { $sql = "SELECT a.nomr, a.nip, b.nama, b.alamat, c.nama as carabayar, a.masukrs as tglreg,a.noruang,d.nama as poliruang, a.nott,a.id_admission as idreg, e.namadokter, lpk.nolab as no_lab_pk, lpk.tglorder as tgl_order_pk, lmikro.nolab as no_lab_mikro, lmikro.tglorder as tgl_order_mikro, lpa.noreglab as no_lab_pa, lpa.tglorder as tgl_order_pa, 0 as st_rajal, 0 as st_aps from t_admission a join m_pasien b on b.nomr = a.nomr join m_carabayar c on c.KODE = a.statusbayar JOIN m_ruang d on d.no = a.noruang join m_dokter e on e.KDDOKTER = a.dokterpengirim LEFT JOIN (select distinct pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpk_main pk_m join t_orderlabpk pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE HASIL IS NULL and RAJAL = 0 AND pk_m.st_periksa = 0 AND pk_m.st_aktif = 1) lpk ON lpk.IDXDAFTAR = a.id_admission LEFT JOIN (select distinct pk_m.nolab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabmikro_main pk_m join t_orderlabmikro pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE HASIL IS NULL and RAJAL = 0 AND pk_m.st_aktif = 1) lmikro ON lmikro.IDXDAFTAR = a.id_admission LEFT JOIN (select distinct pk_m.noreglab,tglorder,pk_m.idxdaftar,pk_m.nomr from t_orderlabpa_main pk_m join t_orderlabpa pk_d on pk_m.NOREGLAB = pk_d.NOLAB WHERE JAWABAN IS NULL and RAJAL = 0 AND pk_m.st_aktif = 1) lpa ON lpa.IDXDAFTAR = a.id_admission WHERE a.noruang != 0 $search and (a.keluarrs is null or a.keluarrs "; } $rs = $db->query($sql); $i = 1; $count = 1; $arr_data = []; foreach ($rs->fetchAll() as $data) { if ($data['st_aps']) { $tgl_daftar = 'TGLREG'; } $arr_data[$i]['no'] = $i; $arr_data[$i]['nomr'] = $data['nomr']; $arr_data[$i]['tanggal'] = $data[$tgl_daftar]; $arr_data[$i]['nama_pasien'] = $data['nama']; $arr_data[$i]['alamat'] = $data['alamat']; $arr_data[$i]['poli'] = $data['poliruang']; $arr_data[$i]['dokter'] = $data['namadokter']; $arr_data[$i]['diagnosa'] = $data['diagnosa']; $arr_data[$i]['carabayar'] = $data['carabayar']; $idx = $data['idreg']; $aps = $data['st_aps']; if ($status_lab == 'pk') { $link = ($data['st_rajal'] == 0) ? '62formorderlab_ranap' : '62formorderlab_rajal'; $link_nolab = $data['no_lab_pk']; } elseif ($status_lab == 'mikro') { $link = ($data['st_rajal'] == 0) ? '62formorderlabmikro_ranap' : '62formorderlabmikro_rajal'; $link_nolab = $data['no_lab_mikro']; } elseif ($status_lab == 'pa') { $link = ($data['st_rajal'] == 0) ? '62formorderlab_pa_ranap' : '62formorderlab_pa_rajal'; $link_nolab = $data['no_lab_pa']; } $btn_periksa = 'Periksa'; $btn_jadwal = ''; $arr_data[$i]['button'] = $btn_periksa . $btn_jadwal; $i++; } header('Content-type: application/json'); echo json_encode($arr_data); exit; } elseif (array_key_exists('lis_add_item', $_REQUEST) && $_REQUEST['lis_add_item'] == TRUE) { $x = $_REQUEST['next']; $kel_smf_tarif = $_SESSION['kel_smf_lab_pk']; $arr_flag = [ '' => '-', '*' => '*', '**' => '**' ]; $sql_dokter = $db->query('SELECT kddokter,namadokter FROM m_dokter WHERE KDSMF = \'' . $kel_smf_tarif . '\''); $arr_dokterlab = []; foreach ($sql_dokter->fetchAll() as $da) { $arr_dokterlab[$da['kddokter']] = $da['namadokter']; } $btn_additem = ''; $btn_remitem = ''; $lis_rowitem = ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= '' . form_dropdown('lis_result[' . $x . '][test_flag_sign]', $arr_flag, '', 'class="form-control form-control-sm" style="width:100%"') . ''; $lis_rowitem .= ''; $lis_rowitem .= '' . form_dropdown('lis_result[' . $x . '][authorization_user]', $arr_dokterlab, $_REQUEST['DRPENGIRIM'], 'class="form-control form-control-sm" style=""') . ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= '
' . $btn_additem . $btn_remitem . '
'; $lis_rowitem .= ''; echo $lis_rowitem; exit; } elseif (array_key_exists('detil_tindakandpjp', $_REQUEST) && $_REQUEST['detil_tindakandpjp'] == TRUE) { $kriteria = $_REQUEST['kriteria']; $index = $_REQUEST['index']; $kddokter = $_REQUEST['kddokter']; $tgl_awal = $_REQUEST['tgl_awal']; $tgl_akhir = $_REQUEST['tgl_akhir']; $sql_dokter = $db->query("SELECT m_pasien.nomr,m_pasien.nama,u.nama_unit as ruang FROM t_billrajal br JOIN m_tarif_rs t on br.KODETARIF = t.KODE_TARIF JOIN t_bayarrajal braj on braj.IDXBILL = br.IDXBILL JOIN m_unit u on braj.UNIT = u.kode_unit JOIN m_pasien on br.NOMR = m_pasien.NOMR LEFT JOIN m_cara_bayar i ON i.id_cara_bayar = braj.st_carabayar WHERE TANGGAL between '$tgl_awal' and '$tgl_akhir' AND br.kddokter = $kddokter and t.kriteria = '$kriteria' GROUP BY m_pasien.NOMR,m_pasien.nama,u.nama_unit UNION SELECT m_pasien.nomr,m_pasien.nama,r.nama as ruang FROM t_billranap br JOIN m_tarif_rs t on br.KODETARIF = t.KODE_TARIF JOIN t_bayarranap bran on bran.IDXBILL = br.IDXBILL JOIN m_ruang r on bran.NORUANG = r.no JOIN m_pasien on br.NOMR = m_pasien.NOMR LEFT JOIN m_cara_bayar i ON i.id_cara_bayar = bran.st_carabayar WHERE TANGGAL BETWEEN '$tgl_awal' and '$tgl_akhir' AND br.kddokter = $kddokter and t.kriteria = '$kriteria' GROUP BY m_pasien.nomr,m_pasien.nama,r.nama"); $lis_rowitem = ' '; $no = 1; foreach ($sql_dokter->fetchAll() as $da) { $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; $lis_rowitem .= ''; } $lis_rowitem .= '
No.Nama PasienRuangan/Poliklinik
' . $no . '' . $da['nama'] . '' . $da['ruang'] . '
'; echo $lis_rowitem; exit; } elseif (array_key_exists('setup_global', $_REQUEST) && $_REQUEST['setup_global'] == TRUE) { $bpjs = $_REQUEST['bpjs']; $farmasi = $_REQUEST['farmasi']; $arr_global = array_merge($bpjs, $farmasi); foreach ($arr_global as $var_key => $var_val) { $sql = execute("UPDATE global_var set var_value = '$var_val' WHERE var_name = '$var_key'"); if (!$sql) { $arr_error[] = $var_key; } } if (!empty($arr_error)) { $msg = 'Beberapa data gagal disimpan'; $type = 'error'; } else { $msg = 'Setup berhasil disimpan'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('get_login_akses', $_REQUEST) && $_REQUEST['get_login_akses'] == true) { $nip = $_REQUEST['nip']; $login = $db->query("SELECT * FROM m_login_akses where nip = '$nip'"); if ($login->numRows() > 0) { echo json_encode($login->fetchAll()); } else { echo false; } exit; } elseif (array_key_exists('delete_user', $_REQUEST) && $_REQUEST['delete_user'] == true) { $nip = $_REQUEST['nip']; // cek transaksi $tmp_cek = $db->query("SELECT distinct nip from t_pendaftaran where nip = '$nip' UNION all SELECT distinct nip from t_diagnosadanterapi where nip = '$nip' UNION all SELECT distinct penerima_poly from t_rekammedik where penerima_poly = '$nip' UNION all SELECT distinct user_konsul from t_pemeriksaan_hist where user_konsul = '$nip' UNION all SELECT distinct user_penerima from t_pemeriksaan_hist where user_penerima = '$nip' UNION all SELECT distinct petugas from t_orderlabpk where petugas = '$nip' UNION all SELECT distinct nip from t_billrajal where nip = '$nip' UNION all SELECT distinct user_verifikasi from t_billrajal where user_verifikasi = '$nip' UNION all SELECT distinct nip from t_billranap where nip = '$nip' UNION all SELECT distinct user_verifikasi from t_billranap where user_verifikasi = '$nip' UNION all SELECT distinct nip from t_billnonreg where nip = '$nip' UNION all SELECT distinct user_verifikasi from t_billnonreg where user_verifikasi = '$nip' UNION all SELECT distinct nip from t_admission where nip = '$nip' UNION all SELECT distinct petugas from t_admission_ruanghist where petugas = '$nip' UNION all SELECT distinct petugas from t_dpmp where petugas = '$nip' "); if ($tmp_cek->numRows() > 0) { $msg = 'Tidak dapat menghapus user, dikarenakan sudah terhubung dengan data lain'; $type = 'error'; } else { $save_hapus = execute("DELETE FROM m_login_akses where nip = '$nip'"); $save_hapus1 = execute("DELETE FROM m_login where nip = '$nip'"); if ($save_hapus && $save_hapus1) { $msg = 'Hapus user berhasil'; $type = 'success'; } else { $msg = 'Hapus user gagal'; $type = 'success'; } } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('set_surat_tagihan', $_REQUEST) && $_REQUEST['set_surat_tagihan'] == true) { $format = $_REQUEST['format']; $arr_error = []; foreach ($format as $var_name => $var_value) { $update = execute("UPDATE global_var set var_value = '$var_value' where var_name = '$var_name'"); if (!$update) { $arr_error[] = $var_name; } } if (!empty($arr_error)) { $msg = "Update setting surat gagal"; $type = 'error'; } else { $msg = "Update setting surat berhasil"; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('add_dokter_tarif', $_REQUEST) && $_REQUEST['add_dokter_tarif'] == TRUE) { $no = $_REQUEST['no'] + 1; $idtarif = $_REQUEST['idtarif']; $kode_tarif = $_REQUEST['kode_tarif']; $nilai = $_REQUEST['nilai']; $smf_lab_pk = $_SESSION['kel_smf_lab_pk']; $smf_lab_pa = 'PATOLOGI ANATOMI'; $smf_lab_mikro = 'MIKROBIOLOGI'; $smf_radiologi = $_SESSION['kel_smf_radiologi']; $sql_dokter = $db->query("SELECT kddokter,namadokter,kdsmf FROM m_dokter WHERE KDSMF not in ('$smf_lab_pk','$smf_lab_pa','$smf_lab_mikro','$smf_radiologi') and aktif = 1"); $arr_dokter = []; foreach ($sql_dokter->fetchAll() as $da) { $arr_dokter[$da['kdsmf']][$da['kddokter']] = $da['namadokter']; } $btn_additem = ''; $btn_remitem = ''; $rowitem = ''; $rowitem .= '' . $no . ''; $rowitem .= '' . form_dropdown('dokter', $arr_dokter, '', 'id="dokter' . $idtarif . '-' . $no . '" data-kode_tarif="' . $kode_tarif . '" data-komponen="JASA PELAYANAN" data-nilai="' . $nilai . '" class="form-control lisdokter-' . $idtarif . '"') . ''; $rowitem .= '
' . $btn_additem . $btn_remitem . '
'; $rowitem .= ''; echo $rowitem; exit; } elseif (array_key_exists('listorderbatal', $_REQUEST) && $_REQUEST['listorderbatal'] == TRUE) { $nonota = $_REQUEST['nonota']; $rajal = $_REQUEST['rajal']; $unit = $_REQUEST['unit']; if ($rajal == true) { $bill = "SELECT idxbill,kode_tarif,uraian_tarif,status from t_billrajal a join m_tarif_rs b on a.kodetarif = b.kode_tarif where nonota = $nonota and unit = $unit"; } else { $bill = "SELECT idxbill,kode_tarif,uraian_tarif,status from t_billranap a join m_tarif_rs b on a.kodetarif = b.kode_tarif where nonota = $nonota and unit = $unit"; } $data_bill = $db->query($bill); if ($data_bill->numRows() > 0) { $html_bill = ''; $no = 1; foreach ($data_bill->fetchAll() as $row) { $btn_batal = ($row['status'] == 'BATAL') ? 'SEDANG PROSES' : ''; $html_bill .= ''; $no++; } $html_bill .= '
NoKode TarifUraian Tarif
' . $no . ' ' . $row['kode_tarif'] . ' ' . $row['uraian_tarif'] . ' ' . $btn_batal . '
'; $msg = 'Data ditemukan'; $type = 'success'; } else { $msg = 'Data tidak ditemukan'; $type = 'error'; $html_bill = ''; } echo json_encode(['message' => $msg, 'type' => $type, 'html' => $html_bill]); exit; } elseif (array_key_exists('orderbatal', $_REQUEST) && $_REQUEST['orderbatal'] == TRUE) { $idxbill = $_REQUEST['idxbill']; $rajal = $_REQUEST['rajal_status']; $unit = $_REQUEST['unit']; $alasan = $_REQUEST['alasan']; if ($rajal == true) { $bill = "SELECT idxbill,kode_tarif,uraian_tarif,nobill,nomr,idxdaftar from t_billrajal a join m_tarif_rs b on a.kodetarif = b.kode_tarif where idxbill = $idxbill and (kdpoly = $unit or unit = $unit)"; } elseif ($rajal == 'nonreg') { $bill = "SELECT idxbill,kode_tarif,uraian_tarif,nobill,no_nonreg,idx_nonreg from t_billnonreg a join m_tarif_rs b on a.kodetarif = b.kode_tarif where idxbill = $idxbill and unit = $unit"; } else { $bill = "SELECT idxbill,kode_tarif,uraian_tarif,nobill,nomr,idxdaftar from t_billranap a join m_tarif_rs b on a.kodetarif = b.kode_tarif where idxbill = $idxbill and (kdpoly = $unit or unit = $unit)"; } $data_bill = $db->query($bill); if ($data_bill->numRows() > 0) { $no = 1; foreach ($data_bill->fetchAll() as $row) { if ($rajal == true) { execute("UPDATE t_billrajal set status = 'BATAL',alasan_batal='$alasan' where idxbill = {$row['idxbill']}"); $sql_tambahorder = "INSERT INTO t_orderbatalbill " . bind_sql([ 'nobill' => ['value' => $row['nobill'], 'type' => 'number'], 'nomr' => $row['nomr'], 'idxbill' => ['value' => $row['idxbill'], 'type' => 'number'], 'idxdaftar' => ['value' => $row['idxdaftar'], 'type' => 'number'], 'st_orderbatal_tindakan' => ['value' => 1, 'type' => 'number'], 'orderbatal_tindakan_by' => $_SESSION['NIP'], 'billing' => 'RAJAL' ]); execute($sql_tambahorder); } elseif ($rajal == 'nonreg') { execute("UPDATE t_billnonreg set status = 'BATAL',alasan_batal='$alasan' where idxbill = {$row['idxbill']}"); $sql_tambahorder = "INSERT INTO t_orderbatalbill " . bind_sql([ 'nobill' => ['value' => $row['nobill'], 'type' => 'number'], 'nomr' => $row['no_nonreg'], 'idxbill' => ['value' => $row['idxbill'], 'type' => 'number'], 'idxdaftar' => ['value' => $row['idx_nonreg'], 'type' => 'number'], 'st_orderbatal_tindakan' => ['value' => 1, 'type' => 'number'], 'orderbatal_tindakan_by' => $_SESSION['NIP'], 'billing' => 'NONREG' ]); execute($sql_tambahorder); } else { execute("UPDATE t_billranap set status = 'BATAL',alasan_batal='$alasan' where idxbill = {$row['idxbill']}"); $sql_tambahorder = "INSERT INTO t_orderbatalbill " . bind_sql([ 'nobill' => ['value' => $row['nobill'], 'type' => 'number'], 'nomr' => $row['nomr'], 'idxbill' => ['value' => $row['idxbill'], 'type' => 'number'], 'idxdaftar' => ['value' => $row['idxdaftar'], 'type' => 'number'], 'st_orderbatal_tindakan' => ['value' => 1, 'type' => 'number'], 'orderbatal_tindakan_by' => $_SESSION['NIP'], 'billing' => 'RANAP' ]); execute($sql_tambahorder); } $no++; } $msg = 'Tindakan berhasil diorder batal'; $type = 'success'; } else { $msg = 'Tindakan gagal diorder batal'; $type = 'error'; $html_bill = ''; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('cari_aps', $_REQUEST) && $_REQUEST['cari_aps'] == true) { $nomr = $_REQUEST['nomr']; $query = $db->query("SELECT nomr,nama,tempat,tgllahir,jeniskelamin,alamat,kelurahan,kdkecamatan,kota,kdprovinsi,notelp,noktp,suami_ortu,pekerjaan, status,agama,pendidikan,kdcarabayar,nip,1 as st_aps from m_pasien_aps where nomr = '$nomr' UNION SELECT nomr,nama,tempat,tgllahir,jeniskelamin,alamat,kelurahan,kdkecamatan,kota,kdprovinsi,notelp,noktp,suami_ortu,pekerjaan, status,agama,pendidikan,kdcarabayar,nip,0 as st_aps from m_pasien where nomr = '$nomr' "); if ($query->numRows() > 0) { $msg = "Data ditemukan"; $type = 'success'; $pasien = $query->fetchFirst(); $pasien['tgllahir'] = date_to_id($pasien['tgllahir']); $new_date = new Datetime($pasien['tgllahir']); $current_date = new Datetime(date('Y-m-d')); $diff_date = $current_date->diff($new_date); $pasien['umur'] = $diff_date->format('%Y tahun %m bulan %d hari'); } else { $msg = "Data tidak ditemukan"; $type = 'error'; $pasien = null; } echo json_encode(['message' => $msg, 'type' => $type, 'pasien' => $pasien]); exit; } elseif (array_key_exists('cari_billing', $_REQUEST) && $_REQUEST['cari_billing'] == true) { $nobill = preg_replace("/\./", '', $_REQUEST['nobill']); $sistem = $_REQUEST['sistem']; if ($nobill != '' && $sistem != '' && strlen($nobill) >= 8) { if ($sistem == 'rajal') { $query = $db->query("SELECT distinct idxdaftar,nomr,aps from t_billrajal where nobill = '$nobill' and status <> 'BATAL' and kodetarif not in ('KEU.014')"); } elseif ($sistem == 'ranap') { if (array_key_exists('standing_order', $_REQUEST)) { $query = $db->query("SELECT distinct idxdaftar,t_billranap.nomr from t_billranap join t_admission on t_billranap.idxdaftar = t_admission.id_admission where nobill = '$nobill' and keluarrs is null"); } else { $query = $db->query("SELECT distinct idxdaftar,t_billranap.nomr from t_billranap join t_admission on t_billranap.idxdaftar = t_admission.id_admission where nobill = '$nobill'"); } } elseif ($sistem == 'nonreg') { $query = $db->query("SELECT distinct a.idx_nonreg,a.no_nonreg from t_billnonreg a join m_nonreg b on a.idx_nonreg = b.idx_nonreg where nobill = '$nobill' and b.st_nonpasien is null"); } elseif ($sistem == 'nonpasien') { $query = $db->query("SELECT distinct a.idx_nonreg,a.no_nonreg from t_billnonreg a join m_nonreg b on a.idx_nonreg = b.idx_nonreg where nobill = '$nobill' and b.st_nonpasien = 1"); } elseif ($sistem == 'iurbea') { $query = $db->query("SELECT distinct idxdaftar,nomr from t_iurbea where nobill = $nobill"); } if ($query->numRows() > 0) { $msg = "Data ditemukan"; $type = 'success'; $pasien = $query->fetchFirst(); } else { $msg = "Data tidak ditemukan"; $type = 'error'; $pasien = null; } } else { $msg = "Data tidak ditemukan"; $type = 'error'; $pasien = null; } echo json_encode(['message' => $msg, 'type' => $type, 'pasien' => $pasien]); exit; } elseif (array_key_exists('loader_pasien', $_REQUEST) && $_REQUEST['loader_pasien'] == true) { $searchfield = (array_key_exists('searchfield', $_REQUEST)) ? $_REQUEST['searchfield'] : ''; $searchkey = (array_key_exists('searchkey', $_REQUEST)) ? $db->escape($_REQUEST['searchkey']) : ''; if ($searchkey != "") { if ($searchfield == "nomr") { $search = " nomr ilike '%" . $searchkey . "%'"; } if ($searchfield == "nama") { $search = " nama ilike '%" . $searchkey . "%'"; } if ($searchfield == "alamat") { $search = " alamat ilike '%" . $searchkey . "%'"; } if ($searchfield == "telepon") { $search = " notelp ilike '%" . $searchkey . "%'"; } if ($searchfield == "tgllahir") { $search = " tgllahir::varchar(10) ilike '%" . $searchkey . "%'"; } if ($searchfield == "noktp") { $search = " noktp ilike '%" . $searchkey . "%'"; } if ($searchfield == "tgldaftar") { $search = " tgldaftar::varchar(10) ilike '%" . $searchkey . "%'"; } if ($searchfield == "namasuami_orangtua") { $search = " suami_ortu ilike '%" . $searchkey . "%'"; } } $group = ' group by '; $order = " order by "; if ($_REQUEST['orderby'] != '') { $orderby = $_REQUEST['orderby']; if ($orderby == "nomr") { $order .= "nomr"; $group .= 'nomr'; } if ($orderby == "nama") { $order .= "nama"; $group .= 'nama'; } if ($orderby == "alamat") { $order .= "alamat"; $group .= 'alamat'; } if ($orderby == "telepon") { $order .= "notelp"; $group .= 'notelp'; } if ($orderby == "tgllahir") { $order .= "tgllahir"; $group .= 'tgllahir'; } if ($orderby == "noktp") { $order .= "noktp"; $group .= 'noktp'; } if ($orderby == "tgldaftar") { $order .= "tgldaftar"; $group .= 'tgldaftar'; } if ($orderby == "namasuami_orangtua") { $order .= "suami_ortu"; $group .= 'suami_ortu'; } } else { $order .= "nomr"; $group .= 'nomr'; } $aColumns = ['nomr', 'nama', 'tgllahir', 'alamat', 'noktp', 'jeniskelamin', 'notelp', 'tgldaftar', 'suami_ortu', 'case when b.nama_status is null then txt_status else b.nama_status end as txt_status', 'case when a.nama_agama is null then txt_agama else a.nama_agama end as txt_agama', 'case when c.nama_pendidikan is null then txt_pendidikan else c.nama_pendidikan end as txt_pendidikan', 'null as edit']; $column_type = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]; // filter manual $filter = "$search"; $sJoin = 'left join m_agama_pasien a on a.id_agama = m_pasien.agama '; $sJoin .= 'left join m_status_pasien b on b.id_status = m_pasien.status '; $sJoin .= 'left join m_pendidikan_pasien c on c.id_pendidikan = m_pasien.pendidikan '; $sIndexColumn = 'id'; array_push($aColumns, $sIndexColumn); if (isset($_GET["search"]) && $_GET["search"] != "") { } $get_data = get_data_table( array( "get" => $_GET, "aColumns" => $aColumns, "sIndexColumn" => $sIndexColumn, "sJoin" => $sJoin, "filter" => $filter, "table_name" => 'm_pasien', 'column_type' => $column_type, 'order' => $order, ) ); // Output $_GET['draw'] = ($_GET['draw']) ? $_GET['draw'] : 10; $output = array( "draw" => intval($_GET['draw']), "recordsTotal" => $get_data['recordsTotal'], "recordsFiltered" => $get_data['recordsFiltered'], "data" => array() ); $i = 0; if (is_array($get_data['data'])) { foreach ($get_data['data'] as $row) { $output['data'][$i] = array(); foreach ($aColumns as $usedField) { if ($usedField == $sIndexColumn) { continue; } $usedField = change_column($usedField); if ($usedField == 'no') { $row[$usedField] = ($i + 1); } elseif ($usedField == 'edit') { $row[$usedField] = 'Edit'; } $row[$usedField] = change_value($usedField, $row[$usedField]); array_push($output['data'][$i], $row[$usedField]); } $i++; } } header('Content-type: application/json'); echo json_encode($output); exit; } elseif (array_key_exists('save_pjberkas', $_REQUEST) && $_REQUEST['save_pjberkas'] == true) { $idxdaftar = $_REQUEST['idxdaftar']; $pj_berkas = $_REQUEST['pj_berkas']; $tmp_rm = $db->query("SELECT * FROM t_rekammedik where idxdaftar = $idxdaftar"); if ($tmp_rm->numRows() > 0) { $save_pj = execute("UPDATE t_rekammedik set pj_berkas_rm = '$pj_berkas' where idxdaftar = $idxdaftar"); if ($save_pj) { $msg = 'Data PJ Berkas berhasil disimpan'; $type = 'success'; } else { $msg = 'Data PJ Berkas gagal disimpan'; $type = 'error'; } } else { $msg = 'Data tidak ditemukan'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('diet', $_REQUEST) && $_REQUEST['diet'] == TRUE) { $nama = (array_key_exists('nama', $_REQUEST)) ? $_REQUEST['nama'] : ''; $waktu = (array_key_exists('waktu', $_REQUEST)) ? $_REQUEST['waktu'] : ''; $katalog = (array_key_exists('katalog', $_REQUEST)) ? $_REQUEST['katalog'] : 0; if ($_REQUEST['get_menu_diet']) { if ($katalog == 1) { $sql = $db->query("SELECT distinct a.nama_diet,a.kelas,a.fk_kelompok_diet,a.fk_bentuk_makanan,a.komponen_detil,LENGTH(a.nama_diet),b.nama_kelompok,c.nama_bentuk_makanan,jsonb_agg(array(select json_array_elements_text(komponen_detil::json->'pagi'))) as arr_pagi from m_katalog_diet a join m_kelompok_diet b on a.fk_kelompok_diet = b.id_kelompok_diet join m_bentuk_makanan_diet c on a.fk_bentuk_makanan = c.id_bentuk where nama_diet ilike '%{$nama}%' GROUP BY a.nama_diet,a.kelas,a.fk_kelompok_diet,a.fk_bentuk_makanan,a.komponen_detil,b.nama_kelompok,c.nama_bentuk_makanan,LENGTH(a.nama_diet) order by LENGTH(a.nama_diet)"); } else { $sql = $db->query("SELECT distinct nama_diet from m_diet a join m_diet_kelompok b on a.kelompok_diet = b.id_diet_kel where a.nama_diet like '%" . strtoupper($nama) . "%' and trim(a.waktu) in ('" . implode("','", explode(',', $waktu)) . "')"); } } else { if ($katalog == 1) { $kelompok = (array_key_exists('kelompok', $_REQUEST)) ? $_REQUEST['kelompok'] : ''; $bentuk = (array_key_exists('bentuk', $_REQUEST)) ? $_REQUEST['bentuk'] : ''; $komponen = (array_key_exists('komponen', $_REQUEST)) ? $_REQUEST['komponen'] : ''; $arr_waktu_query = []; $arr_keterangan = []; foreach ($waktu as $w) { $arr_waktu_query[] = "json_agg(array(select json_array_elements_text(komponen_detil::json->'" . strtolower($w) . "'))) as arr_" . strtolower($w); $arr_keterangan[] = $w; } $str_waktu_query = implode(",", $arr_waktu_query); $str_keterangan = "concat('" . implode("',',','", $arr_keterangan) . "') as waktu"; list($nama_diet, $kelas) = explode(" - Kelas ", $nama); $arr_kelas = json_encode(explode(",", $kelas)); $sql = $db->query("SELECT id_katalog as id_diet,nama_diet,kelas,fk_kelompok_diet,fk_bentuk_makanan,komponen_detil,{$str_keterangan},{$str_waktu_query} from m_katalog_diet where nama_diet = '{$nama_diet}' and kelas = '{$arr_kelas}' and fk_kelompok_diet = $kelompok and fk_bentuk_makanan = $bentuk and komponen_detil = '{$komponen}' GROUP BY id_katalog,nama_diet,kelas,fk_kelompok_diet,fk_bentuk_makanan,komponen_detil"); } else { $sql = $db->query("SELECT id_diet,nama_diet,waktu from m_diet a join m_diet_kelompok b on a.kelompok_diet = b.id_diet_kel where a.nama_diet = '" . $nama . "' and trim(a.waktu) in ('" . implode("','", $waktu) . "') order by (case waktu when 'PAGI' then '3.PAGI' when 'SIANG' then '1.SIANG' when 'SORE' then '2.SORE' end) asc"); } } $option = []; if ($sql->numRows() > 0) { if ($katalog == 1) { $html_daftar_diet = ''; foreach ($sql->fetchAll() as $row) { $html_daftar_diet .= ''; } $html_daftar_diet .= '
Nama DietKelasWaktu
' . $row['nama_diet'] . '' . implode(",", json_decode($row['kelas'], 1)) . '' . $row['waktu'] . '
'; } else { $html_daftar_diet = ''; foreach ($sql->fetchAll() as $row) { $html_daftar_diet .= ''; } $html_daftar_diet .= '
Nama DietWaktu
' . $row['nama_diet'] . '' . $row['waktu'] . '
'; } $tabel_detil = ''; $arr_diet = []; foreach ($sql->fetchAll() as $row) { $arr_diet[] = $row['id_diet']; if ($_REQUEST['get_menu_diet']) { if ($katalog == 1) { $arr_pagi = json_decode($row['arr_pagi'], 1); $komponen_detil = '
WaktuBahanJumlahSatuan
'; foreach ($arr_pagi[0] as $komp) { $get_komponen = $db->query("SELECT nama_komponen,jumlah_komponen,satuan_komponen from m_komponen_diet where aktif = 1 and id_komponen = " . $komp); foreach ($get_komponen->fetchAll() as $dt_kom) { $komponen_detil .= ''; } } $komponen_detil .= '
WaktuKomponenJumlah
PAGI' . $dt_kom['nama_komponen'] . '' . $dt_kom['jumlah_komponen'] . ' ' . $dt_kom['satuan_komponen'] . '
'; $option[] = (object) [ 'text' => $row['nama_diet'] . ' - Kelas ' . implode(",", json_decode($row['kelas'], 1)), 'nama' => $row['nama_diet'], 'kelas' => implode(",", json_decode($row['kelas'], 1)), 'kelompok' => $row['fk_kelompok_diet'], 'nama_kelompok' => $row['nama_kelompok'], 'bentuk' => $row['fk_bentuk_makanan'], 'nama_bentuk' => $row['nama_bentuk_makanan'], 'komponen' => $row['komponen_detil'], 'pagi' => $komponen_detil, ]; } else { $option[] = (object) [ 'text' => $row['nama_diet'], 'nama' => $row['nama_diet'], 'kelas' => null, 'kelompok' => null, 'nama_kelompok' => null, 'bentuk' => null, 'nama_bentuk' => null, 'komponen' => null, 'pagi' => null, ]; } } else { if ($katalog == 1) { foreach ($waktu as $w) { $arr[$w] = json_decode($row['arr_' . strtolower($w)], 1); foreach ($arr[$w][0] as $komp) { $get_komponen = $db->query("SELECT nama_komponen,jumlah_komponen,satuan_komponen from m_komponen_diet where aktif = 1 and id_komponen = " . $komp); foreach ($get_komponen->fetchAll() as $dt_kom) { $tabel_detil .= '' . $w . '' . $dt_kom['nama_komponen'] . '' . $dt_kom['jumlah_komponen'] . '' . $dt_kom['satuan_komponen'] . ''; } } } } else { $get_komponen = $db->query("SELECT a.id_diet_detil,nama_komponen,jumlah_komponen,satuan_komponen from m_diet_detil a join m_diet_komponen b on a.idx_komponen = b.id_komponen where a.idx_diet = " . $row['id_diet'] . " and a.aktif = 1 and b.aktif = 1 order by a.id_diet_detil"); $arr_flag = []; foreach ($get_komponen->fetchAll() as $dt_kom) { if (!in_array($dt_kom['nama_komponen'] . $dt_kom['jumlah_komponen'] . $dt_kom['satuan_komponen'], $arr_flag)) { $tabel_detil .= '' . $row['waktu'] . '' . $dt_kom['nama_komponen'] . '' . $dt_kom['jumlah_komponen'] . '' . $dt_kom['satuan_komponen'] . ''; $arr_flag[] = $dt_kom['nama_komponen'] . $dt_kom['jumlah_komponen'] . $dt_kom['satuan_komponen']; } } } } } $tabel_detil .= ''; } if ($_REQUEST['get_menu_diet']) { echo json_encode($option); } else { echo json_encode(['id_diet' => $arr_diet, 'daftar_diet' => $html_daftar_diet, 'detail_diet' => $tabel_detil]); } exit; } elseif (array_key_exists('save_diet_baru', $_REQUEST) && $_REQUEST['save_diet_baru'] == TRUE) { $post = $_REQUEST; if ($post['idx_diet_old'] != '') { $waktu = $post['waktu']; $keterangan = $post['keterangan']; $id_diet = $post['idx_diet']; $idx = $post['idx_diet_old']; $katalog = (array_key_exists('katalog', $post)) ? $post['katalog'] : ''; $where_katalog = ($katalog == 1) ? " and st_katalog_baru = " . $katalog : ""; $tmp_diet = $db->query("SELECT * from t_dpmp where idx = $idx" . $where_katalog); $idxdaftar = ''; if ($tmp_diet->numRows() > 0) { $first_row = $tmp_diet->fetchFirst(); $idxdaftar = $first_row['idxdaftar']; if (preg_match("/,/", $id_diet)) { $arr_id = explode(",", $id_diet); foreach ($arr_id as $id) { if ($katalog == 1) { $new_data = "INSERT into t_dpmp(idxdaftar,nomr,poly,ruang,jenismakanan,shift,snack,keterangantambahan,tanggal,idxtgl,petugas,st_diet,nobill,st_katalog_baru,ket_waktu) SELECT idxdaftar,nomr,poly,ruang,$id,shift,snack,'$keterangan','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d') . "','" . $_SESSION['NIP'] . "',1,nobill,st_katalog_baru,ket_waktu from t_dpmp where idx = $idx"; } else { $new_data = "INSERT into t_dpmp(idxdaftar,nomr,poly,ruang,jenismakanan,shift,snack,keterangantambahan,tanggal,idxtgl,petugas,st_diet,nobill) SELECT idxdaftar,nomr,poly,ruang,$id,shift,snack,'$keterangan','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d') . "','" . $_SESSION['NIP'] . "',1,nobill from t_dpmp where idx = $idx"; } if ($id != '') { $save_new_diet = execute($new_data); } } } else { if ($katalog == 1) { $new_data = "INSERT into t_dpmp(idxdaftar,nomr,poly,ruang,jenismakanan,shift,snack,keterangantambahan,tanggal,idxtgl,petugas,st_diet,nobill,st_katalog_baru,ket_waktu) SELECT idxdaftar,nomr,poly,ruang,$id_diet,shift,snack,'$keterangan','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d') . "','" . $_SESSION['NIP'] . "',1,nobill,st_katalog_baru,ket_waktu from t_dpmp where idx = $idx"; } else { $new_data = "INSERT into t_dpmp(idxdaftar,nomr,poly,ruang,jenismakanan,shift,snack,keterangantambahan,tanggal,idxtgl,petugas,st_diet,nobill) SELECT idxdaftar,nomr,poly,ruang,$id_diet,shift,snack,'$keterangan','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d') . "','" . $_SESSION['NIP'] . "',1,nobill from t_dpmp where idx = $idx"; } if ($id_diet != '') { $save_new_diet = execute($new_data); } } if ($save_new_diet) { $update_old_diet = execute("UPDATE t_dpmp set st_diet = 0 where idx = $idx"); } if ($save_new_diet && $update_old_diet) { $msg = "Ubah diet berhasil"; $type = "success"; } else { $msg = "Ubah diet gagal"; $type = "error"; } } echo json_encode(['message' => $msg, 'type' => $type, 'idx' => $idxdaftar]); exit; } } elseif (array_key_exists('save_diet_batch', $_REQUEST) && $_REQUEST['save_diet_batch'] == TRUE) { $post = $_REQUEST; $id_diet = explode(",", $post['idx_diet']); $idxdaftar = ''; for ($i = 0; $i < $post['jumlah']; $i++) { if ($post['old_idx_' . $i] != '') { $msg = ""; $type = ""; $waktu = $post['waktu_diet_' . $i]; $keterangan = $post['keterangan']; $diet = $id_diet[$i]; $idx = $post['old_idx_' . $i]; $katalog = (array_key_exists('old_katalog_' . $i, $post)) ? $post['old_katalog_' . $i] : ''; $where_katalog = ($katalog == 1) ? " and st_katalog_baru = 1" : " and st_katalog_baru is null"; $tmp_diet = $db->query("SELECT * from t_dpmp where idx = $idx " . $where_katalog); if ($tmp_diet->numRows() > 0) { $first_row = $tmp_diet->fetchFirst(); $idxdaftar = $first_row['idxdaftar']; $new_data = "INSERT into t_dpmp(idxdaftar,nomr,poly,ruang,jenismakanan,shift,snack,keterangantambahan,tanggal,idxtgl,petugas,st_diet,nobill,st_katalog_baru,ket_waktu) SELECT idxdaftar,nomr,poly,ruang,$diet,shift,snack,'$keterangan','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d') . "','" . $_SESSION['NIP'] . "',1,nobill,st_katalog_baru,ket_waktu from t_dpmp where idx = $idx"; if ($diet != '') { $save_new_diet = execute($new_data); if ($save_new_diet) { $update_old_diet = execute("UPDATE t_dpmp set st_diet = 0 where idx = $idx"); } } else { $save_new_diet = false; } if ($save_new_diet && $update_old_diet) { $msg = "Ubah diet berhasil"; $type = "success"; } else { $msg = "Ubah diet gagal"; $type = "error"; } } } } echo json_encode(['message' => $msg, 'type' => $type, 'idx' => $idxdaftar]); exit; } elseif (array_key_exists('hapus_diet_dpmp', $_REQUEST) && $_REQUEST['hapus_diet_dpmp'] == TRUE) { $post = $_REQUEST; $id_diet = $post['idx']; $tmp_diet = $db->query("SELECT * from t_dpmp where idx = $id_diet"); $idxdaftar = ''; if ($tmp_diet->numRows() > 0) { $first_row = $tmp_diet->fetchFirst(); $idxdaftar = $first_row['idxdaftar']; $update_old_diet = execute("DELETE FROM t_dpmp where idx = $id_diet"); } if ($update_old_diet) { $msg = "Hapus diet berhasil"; $type = "success"; } else { $msg = "Hapus diet gagal"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type, 'idx' => $idxdaftar]); exit; } elseif (array_key_exists('keluar_rs', $_REQUEST) && $_REQUEST['keluar_rs'] == true) { $idx = $_REQUEST['idx']; $tgl_krs = $_REQUEST['tgl_krs']; $tmp_rm = $db->query("SELECT * FROM t_admission where id_admission = $idx"); if ($tmp_rm->numRows() > 0) { $save_pj = execute("UPDATE t_admission set keluarrs = '$tgl_krs' where id_admission = $idx"); if ($save_pj) { $msg = 'Data Tanggal KRS berhasil disimpan'; $type = 'success'; } else { $msg = 'Data Tanggal KRS gagal disimpan'; $type = 'error'; } } else { $msg = 'Data tidak ditemukan'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('cari_diagnosa', $_REQUEST) && $_REQUEST['cari_diagnosa'] == true) { $query = strtoupper($_REQUEST['query']); $query = $db->escape($query); $result = $db->query("SELECT icd_code as code,jenis_penyakit as str from icd where icd_code ilike '$query%' OR jenis_penyakit ilike '%$query%'"); $list_data = $result->fetchAll(); if ($list_data != false) { $arr_result = ['data' => $list_data, 'type' => 'success', 'message' => '']; } else { $arr_result = ['type' => 'error', 'message' => 'Diagnosa tidak ditemukan']; } echo json_encode($arr_result); exit; } elseif (array_key_exists('cari_prosedur', $_REQUEST) && $_REQUEST['cari_prosedur'] == true) { $query = strtoupper($_REQUEST['query']); $query = $db->escape($query); $result = $db->query("SELECT kode as code,keterangan as str from icd_cm where kode ilike '$query%' OR keterangan ilike '%$query%'"); $list_data = $result->fetchAll(); if ($list_data != false) { $arr_result = ['data' => $list_data, 'type' => 'success', 'message' => '']; } else { $arr_result = ['type' => 'error', 'message' => 'Prosedur tidak ditemukan']; } echo json_encode($arr_result); exit; } elseif (array_key_exists('get_identitas_dpmp', $_REQUEST) && $_REQUEST['get_identitas_dpmp'] == TRUE) { $nobill = (array_key_exists('nobill', $_REQUEST)) ? $_REQUEST['nobill'] : ''; $katalog = (array_key_exists('katalog', $_REQUEST)) ? $_REQUEST['katalog'] : ''; $nobill = $db->escape($nobill); if ($_REQUEST['ranap']) { $sql = $db->query("SELECT a.idxdaftar,a.nomr,ad.noruang,a.nobill,b.nama,b.alamat,b.jeniskelamin,c.nama as ruang from t_billranap a join m_pasien b on a.nomr = b.nomr join t_admission ad on a.idxdaftar = ad.id_admission left join m_ruang c on ad.noruang = c.no where nobill = $nobill and ad.keluarrs is null limit 1"); } else { $sql = $db->query("SELECT a.idxdaftar,a.nomr,a.kdpoly as noruang,a.nobill,b.nama,b.alamat,b.jeniskelamin,c.nama as ruang from t_billrajal a join m_pasien b on a.nomr = b.nomr left join m_ruang c on a.kdpoly = c.no where nobill = $nobill limit 1"); } if ($sql->numRows() > 0) { $data_pasien = $sql->fetchFirst(); if ($katalog == 1) { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, a.ket_waktu as waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_katalog_diet m on a.jenismakanan = m.id_katalog join m_kelompok_diet k on m.fk_kelompok_diet = k.id_kelompok_diet where a.st_diet = 1 and a.st_katalog_baru = 1 and d.id_admission=" . $data_pasien['idxdaftar']); } else { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, m.waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_diet m on a.jenismakanan = m.id_diet join m_diet_kelompok k on m.kelompok_diet = k.id_diet_kel where a.st_diet = 1 and d.id_admission=" . $data_pasien['idxdaftar']); } $html_diet = ''; if ($dpmp->numRows() > 0) { foreach ($dpmp->fetchAll() as $row) { // $btn_edit = ''; $html_diet .= ''; } } $html_diet .= '
NOMR NAMA KELAS RUANG Kelompok Nama Diet Waktu SNACK Ket.
' . $row['nomr'] . ' ' . $row['namapasien'] . ' ' . $row['kelas'] . ' ' . $row['rruang'] . ' ' . $row['nama_kelompok'] . ' ' . $row['nama_diet'] . ' ' . $row['waktu'] . ' ' . $row['snack'] . ' ' . $row['keterangantambahan'] . '
'; $data_pasien['html_diet'] = $html_diet; echo json_encode($data_pasien); } else { echo json_encode(['idxdaftar' => null, 'nomr' => null, 'noruang' => null, 'nobill' => null]); } exit; } elseif (array_key_exists('cari_diet_pasien', $_REQUEST) && $_REQUEST['cari_diet_pasien'] == TRUE) { $nomr = $_REQUEST['nomr']; $idxdaftar = $_REQUEST['idxdaftar']; $ruang = $_REQUEST['ruang']; $diet = $_REQUEST['kd_diet']; $namadiet = $_REQUEST['namadiet']; $katalog = (array_key_exists('katalog', $_REQUEST)) ? $_REQUEST['katalog'] : ''; if ($katalog == 1) { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, a.ket_waktu as waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_katalog_diet m on a.jenismakanan = m.id_katalog join m_kelompok_diet k on m.fk_kelompok_diet = k.id_kelompok_diet where a.st_diet = 1 and d.id_admission= {$idxdaftar} and a.nomr = '$nomr' and a.ruang = {$ruang} and m.nama_diet = '{$namadiet}'"); } else { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, m.waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_diet m on a.jenismakanan = m.id_diet join m_diet_kelompok k on m.kelompok_diet = k.id_diet_kel where a.st_diet = 1 and d.id_admission= {$idxdaftar} and a.nomr = '$nomr' and a.ruang = {$ruang} and m.nama_diet = '{$namadiet}'"); } if ($dpmp->numRows() > 0) { $arr_idx = []; foreach ($dpmp->fetchAll() as $row) { $arr_idx[] = $row['idx']; } echo json_encode(['message' => 'Data ditemukan', 'type' => 'success', 'idx' => $arr_idx]); } else { echo json_encode(['message' => 'Data tidak ditemukan', 'type' => 'error', 'idx' => null]); } exit; } elseif (array_key_exists('load_dpmp', $_REQUEST) && $_REQUEST['load_dpmp'] == TRUE) { $idxdaftar = $_REQUEST['idx']; $katalog = (array_key_exists('katalog', $_REQUEST)) ? $_REQUEST['katalog'] : ''; if ($katalog == 1) { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, a.ket_waktu as waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_katalog_diet m on a.jenismakanan = m.id_katalog join m_kelompok_diet k on m.fk_kelompok_diet = k.id_kelompok_diet where a.st_diet = 1 and d.id_admission= {$idxdaftar}"); } else { $dpmp = $db->query("SELECT a.idx,a.nomr, a.ruang, a.keterangantambahan, a.tanggal, b.nama as namapasien, c.kelas, c.nama as rruang, m.nama_diet, k.nama_kelompok, m.waktu, case a.snack when 1 then 'Pagi' when 2 then 'Siang' when 3 then 'Sore' end as snack, a.keterangansnack FROM t_dpmp a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.ruang = c.no join t_admission d on a.idxdaftar = d.id_admission join m_diet m on a.jenismakanan = m.id_diet join m_diet_kelompok k on m.kelompok_diet = k.id_diet_kel where a.st_diet = 1 and d.id_admission= {$idxdaftar}"); } if ($dpmp->numRows() > 0) { $row_data = $dpmp->fetchAll(); $first_row = $row_data[0]; $html = '
No MR
: ' . $first_row['nomr'] . '
Nama
: ' . $first_row['namapasien'] . '
Ruang
: ' . $first_row['rruang'] . '
Kelas
: ' . $first_row['kelas'] . '
'; $no = 1; foreach ($row_data as $row) { $html .= ''; $no++; } $html .= '
NoKelompokNama DietWaktuSnackKeteranganOpsi
' . $no . '' . $row['nama_kelompok'] . '' . $row['nama_diet'] . '' . (($katalog == 1) ? implode(",", json_decode($row['waktu'], 1)) : trim($row['waktu'])) . '' . $row['snack'] . '' . $row['keterangantambahan'] . '
'; echo $html; } else { echo '
Data tidak ditemukan.
'; } exit; } elseif (array_key_exists('komponen_diet', $_REQUEST) && $_REQUEST['komponen_diet'] == true) { $nama = (array_key_exists('nama', $_REQUEST) && $_REQUEST['nama']) ? pg_escape_string($_REQUEST['nama']) : null; $arr_komponen = []; if ($nama != null) { $get_komponen = $db->query("SELECT * from m_komponen_diet where aktif = 1 and nama_komponen ilike '%" . $nama . "%'"); if ($get_komponen->numRows() > 0) { foreach ($get_komponen->fetchAll() as $row) { $arr_komponen[] = (object) [ 'value' => $row['id_komponen'], 'text' => $row['nama_komponen'] . ' - ' . $row['jumlah_komponen'] . ' - ' . $row['satuan_komponen'], 'nama' => $row['nama_komponen'], 'jumlah' => $row['jumlah_komponen'], 'satuan' => $row['satuan_komponen'], 'id' => $row['id_komponen'] ]; } } } echo json_encode($arr_komponen); exit; } elseif (array_key_exists('save_log_dpjp', $_REQUEST) && $_REQUEST['save_log_dpjp'] == TRUE) { $input = $_REQUEST['input']; $dpjp_main = $input['dpjp']; $idxdaftar = $dpjp_main['id_daftar']; if (preg_match("/GANTI/", $input['detil']['status'])) { if ($dpjp_main['id_dpjp'] == '') { $pendaftaran = $db->query("SELECT kddokter from t_pendaftaran where idxdaftar = $idxdaftar"); $data_daftar = $pendaftaran->fetchFirst(); // buat entri dpjp yang didaftarkan unset($dpjp_main['id_dpjp']); $dpjp_main['tgl_entri'] = date('Y-m-d H:i:s'); $dpjp_main['petugas'] = $_SESSION['NAMA_PEGAWAI']; $insert_main = execute("INSERT INTO t_dpjp " . bind_sql($dpjp_main) . " RETURNING id_dpjp"); $data_insert = $insert_main->fetchFirst(); $arr_dpjp_tunggal['id_dpjp'] = $data_insert['id_dpjp']; $arr_dpjp_tunggal['kddokter'] = $data_daftar['kddokter']; $arr_dpjp_tunggal['status'] = 'DPJP TUNGGAL'; $arr_dpjp_tunggal['aktif'] = 0; $arr_dpjp_tunggal['tgl_entri'] = date('Y-m-d H:i:s'); $arr_dpjp_tunggal['petugas_entri'] = $_SESSION['NAMA_PEGAWAI']; $insert_detil1 = execute("INSERT INTO t_dpjp_detil " . bind_sql($arr_dpjp_tunggal)); // buat entri dpjp baru yang menggantikan yang didaftarkan $arr_dpjp_ganti['id_dpjp'] = $data_insert['id_dpjp']; $arr_dpjp_ganti['aktif'] = 1; $arr_dpjp_ganti['tgl_entri'] = date('Y-m-d H:i:s'); $arr_dpjp_ganti['petugas_entri'] = $_SESSION['NAMA_PEGAWAI']; $arr_dpjp_baru = array_merge($input['detil'], $arr_dpjp_ganti); $insert_detil2 = execute("INSERT INTO t_dpjp_detil " . bind_sql($arr_dpjp_baru)); // update t_pendaftaran ke dpjp baru $update_daftar = execute("UPDATE t_pendaftaran set kddokter = " . $input['detil']['kddokter'] . " where idxdaftar = $idxdaftar"); $id_dpjp = $data_insert['id_dpjp']; } } else { $db->query("UPDATE t_dpjp_detil set aktif = 0 where id_dpjp = {$dpjp_main['id_dpjp']}"); // buat entri dpjp baru yang menggantikan yang lain $arr_dpjp_ganti['id_dpjp'] = $dpjp_main['id_dpjp']; $arr_dpjp_ganti['aktif'] = 1; $arr_dpjp_ganti['tgl_entri'] = date('Y-m-d H:i:s'); $arr_dpjp_ganti['petugas_entri'] = $_SESSION['NAMA_PEGAWAI']; $arr_dpjp_baru = array_merge($input['detil'], $arr_dpjp_ganti); $insert_detil2 = execute("INSERT INTO t_dpjp_detil " . bind_sql($arr_dpjp_baru)); // update t_pendaftaran ke dpjp baru $update_daftar = execute("UPDATE t_pendaftaran set kddokter = " . $input['detil']['kddokter'] . " where idxdaftar = $idxdaftar"); $id_dpjp = $dpjp_main['id_dpjp']; } if ($update_daftar) { echo json_encode(['message' => 'Data berhasil disimpan', 'type' => 'success', 'id' => $id_dpjp]); } else { echo json_encode(['message' => 'Data gagal disimpan', 'type' => 'error', 'id' => null]); } exit; } elseif (array_key_exists('list_log_dpjp', $_REQUEST) && $_REQUEST['list_log_dpjp'] == TRUE) { $id_dpjp = $_REQUEST['id_dpjp']; $arr_dpjp = []; if ($id_dpjp != '') { $list_dpjp = $db->query("SELECT b.tgl_entri,c.namadokter,b.status,b.aktif from t_dpjp a join t_dpjp_detil b on a.id_dpjp = b.id_dpjp join m_dokter c on b.kddokter = c.kddokter join t_pendaftaran d on a.id_daftar = d.idxdaftar where a.id_dpjp = $id_dpjp"); if ($list_dpjp->numRows() > 0) { $data_dpjp = $list_dpjp->fetchAll(); $i = 1; foreach ($data_dpjp as $row) { $arr_dpjp[] = [ 'no' => $i, 'tgl_entri' => $row['tgl_entri'], 'namadokter' => $row['namadokter'], 'status' => $row['status'], 'aktif' => (($row['aktif'] == 1) ? 'Aktif' : 'Tidak') ]; $i++; } } } echo json_encode($arr_dpjp); exit; } elseif (array_key_exists('get_anamnesis', $_REQUEST) && $_REQUEST['get_anamnesis'] == TRUE) { $idxterapi = $_REQUEST['idxterapi']; $arr_data = []; if ($idxterapi != '') { $tmp_anamnesis = $db->query("SELECT idxterapi,idxdaftar,nomr,tanggal,tekanan_darah,golongan_darah,tinggi_badan,berat_badan,diagnosa,komplikasi,terapi,anamnesa,kdpoly,kddokter,kdtujuanrujuk,nip,kunjungan_bl,kasus_bl,klb,bedah,jenis,perawat,status,pemeriksaan_fisik,riwayat_pasien,tindakan_medis,anamnesa,sudah_vaksin from t_diagnosadanterapi where idxterapi = $idxterapi"); if ($tmp_anamnesis->numRows() > 0) { $data_dpjp = $tmp_anamnesis->fetchAll(); $arr_data = $data_dpjp[0]; $arr_data['tinggi_badan'] = (preg_match("/\.00/", $arr_data['tinggi_badan'])) ? preg_replace("/\.00/", '', $arr_data['tinggi_badan']) : preg_replace("/\./", ',', $arr_data['tinggi_badan']); $arr_data['berat_badan'] = (preg_match("/\.00/", $arr_data['berat_badan'])) ? preg_replace("/\.00/", '', $arr_data['berat_badan']) : preg_replace("/\./", ',', $arr_data['berat_badan']); } $tmp_icd10 = $db->query("SELECT idxterapi,icd10.kddokter,icd10.icd_code,icd10.jenis_penyakit from t_diagnosadanterapi left join (select b.idxdaftar,b.kddokter,icd_code,jenis_penyakit from icd join t_icd b on icd.icd_code = b.icd where b.status_rajal = 1) icd10 on icd10.kddokter = t_diagnosadanterapi.kddokter and icd10.idxdaftar = t_diagnosadanterapi.idxdaftar where idxterapi = $idxterapi"); if ($tmp_icd10->numRows() > 0) { $data_icd10 = $tmp_icd10->fetchAll(); $arr_data_icd10 = []; foreach ($data_icd10 as $row) { $arr_data_icd10[$row['icd_code']] = $row['jenis_penyakit']; } } else { $arr_data_icd10 = false; } $tmp_icd9cm = $db->query("SELECT idxterapi,icd9cm.kddokter,icd9cm.kode,icd9cm.keterangan from t_diagnosadanterapi left join (select b.idxdaftar,b.kddokter,kode,keterangan from icd_cm join t_icd_cm b on icd_cm.kode = b.icd where b.status_rajal = 1) icd9cm on icd9cm.idxdaftar = t_diagnosadanterapi.idxdaftar and icd9cm.kddokter = t_diagnosadanterapi.kddokter where idxterapi = $idxterapi"); if ($tmp_icd9cm->numRows() > 0) { $data_icd9cm = $tmp_icd9cm->fetchAll(); $arr_data_icd9cm = []; foreach ($data_icd9cm as $row) { $arr_data_icd9cm[$row['kode']] = $row['keterangan']; } } else { $arr_data_icd9cm = false; } } $arr_data = array_merge($arr_data, ['icd10' => $arr_data_icd10, 'icd9cm' => $arr_data_icd9cm]); echo json_encode($arr_data); exit; } elseif (array_key_exists('del_anamnesa', $_REQUEST) && $_REQUEST['del_anamnesa'] == TRUE) { $idxterapi = $_REQUEST['idxterapi']; if ($idxterapi != '') { $rajal = $_REQUEST['rajal']; $idxdaftar = $_REQUEST['idxdaftar']; if ($rajal == 1) { $anamnesis = $db->query("SELECT * from t_diagnosadanterapi where idxterapi = " . $_REQUEST['idxterapi'])->fetchFirst(); if (!empty($anamnesis['created_at'])) { $tmp_select = $db->query("SELECT * from t_detail_diagnosakep where idxrajal = '" . $idxdaftar . "' and tgl >= '" . $anamnesis['created_at'] . "' "); } else { $tmp_select = $db->query("SELECT * from t_detail_diagnosakep where idxrajal = '" . $idxdaftar . "' "); } } else { $tmp_select = $db->query("SELECT * from t_detail_diagnosakep where idx_admission = " . $idxdaftar); } if ($tmp_select->numRows() > 0) { $text_cp = ($rajal == 1) ? 'CPRJ' : 'CPPT'; $msg = 'Batal anamnesis tidak dapat dilakukan, karena ' . $text_cp . ' telah terisi'; $type = 'error'; } else { $tgl_batal = date('Y-m-d H:i:s'); $petugas = $_SESSION['NIP']; $save_batal = execute("UPDATE t_diagnosadanterapi set tgl_batal='$tgl_batal',user_batal='$petugas',status='BATAL' where idxterapi = " . $idxterapi); if ($save_batal) { $msg = 'Batal anamnesis berhasil'; $type = 'success'; } else { $msg = 'Batal anamnesis gagal'; $type = 'error'; } } } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('hist_anamnesis', $_REQUEST) && $_REQUEST['hist_anamnesis'] == TRUE) { $idxdaftar = $_REQUEST['idxdaftar']; //var_dump($idxdaftar); if ($idxdaftar != '') { $tmp_daftar = $db->query("SELECT nomr from t_pendaftaran where idxdaftar = " . $idxdaftar); if ($tmp_daftar->numRows() > 0) { $data_daftar = $tmp_daftar->fetchFirst(); } $tmp_hist = "SELECT a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.pemeriksaan_fisik, a.terapi, a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter, string_agg(DISTINCT icd10.icd_code||' - '||icd10.jenis_penyakit, ',') as icd_diagnosa, string_agg(DISTINCT icd9cm.kode||' - '||icd9cm.keterangan, ',') as icd_tindakan,a.riwayat_pasien,a.tindakan_medis,a.anamnesa,a.tanggal FROM t_diagnosadanterapi a left join m_dokter d on d.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,icd_code,jenis_penyakit from icd join t_icd b on icd.icd_code = b.icd where b.status_rajal = 1) icd10 on icd10.idxdaftar = a.idxdaftar and icd10.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,kode,keterangan from icd_cm join t_icd_cm b on icd_cm.kode = b.icd where b.status_rajal = 1) icd9cm on icd9cm.idxdaftar = a.idxdaftar and icd9cm.kddokter = a.kddokter WHERE (a.IDXDAFTAR=$idxdaftar or a.nomr = '{$data_daftar['nomr']}') and a.tgl_batal is null GROUP BY a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.terapi, a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter"; $diag_qry = $db->query($tmp_hist); $html = '
'; if ($diag_qry->numRows() > 0) { $data_diagnosa = $diag_qry->fetchAll(); $no = 1; foreach ($data_diagnosa as $row) { $kasus = ($row['kasus_bl'] == 1) ? 'Baru' : 'Lama'; $kunjungan = ($row['kunjungan_bl'] == 1) ? 'Baru' : 'Lama'; $edit_btn = ($row['kddokter'] == $_SESSION['KDDOKTER']) ? '' : ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $no++; } } $html .= '
Tanggal No DPJP Kasus Kunj. Keluhan Riwayat Tek.Darah Gol.Darah BB TB Pem.Fisik Diagnosa Diagnosa Medis Tindakan Tindakan Medis Terapi
' . $row['tanggal'] . '' . $no . '' . $row['namadokter'] . '' . $kasus . '' . $kunjungan . '' . $row['anamnesa'] . '' . $row['riwayat_pasien'] . '' . $row['tekanan_darah'] . '' . $row['golongan_darah'] . '' . $row['berat_badan'] . '' . $row['tinggi_badan'] . '' . $row['pemeriksaan_fisik'] . '' . $row['icd_diagnosa'] . '' . $row['diagnosa'] . '' . $row['icd_tindakan'] . '' . $row['tindakan_medis'] . '' . $row['terapi'] . '
'; echo $html; } } elseif (array_key_exists('ubah_dpjp_ranap', $_REQUEST) && $_REQUEST['ubah_dpjp_ranap'] == TRUE) { $idx = $_REQUEST['idx']; $dpjp = $_REQUEST['dpjp']; if ($idx != '' && $dpjp != '') { // cek isian anamnesa, jika sudah terisi maka tidak diperbolehkan mengubah dpjp $tmp_cek = $db->query("SELECT idxterapi,kddokter from t_diagnosadanterapi where idxdaftar = $idx and rajal = 0 and tgl_batal is null"); if ($tmp_cek->numRows() > 0) { $data_anamnesa = $tmp_cek->fetchFirst(); if ($data_anamnesa['kddokter'] == $dpjp) { $save_dpjp = execute("UPDATE t_admission set dokter_penanggungjawab = $dpjp where id_admission = $idx "); if ($save_dpjp) { $msg = 'DPJP berhasil diubah'; $type = 'success'; } else { $msg = 'DPJP gagal diubah'; $type = 'error'; } } else { // tidak boleh mengubah dpjp $msg = 'Proses gagal, karena DPJP telah melakukan pengisian anamnesis'; $type = 'error'; } } else { $save_dpjp = execute("UPDATE t_admission set dokter_penanggungjawab = $dpjp where id_admission = $idx "); if ($save_dpjp) { $msg = 'DPJP berhasil diubah'; $type = 'success'; } else { $msg = 'DPJP gagal diubah'; $type = 'error'; } } } else { $msg = 'Data tidak ditemukan!'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('ubah_dpjp_rajal', $_REQUEST) && $_REQUEST['ubah_dpjp_rajal'] == TRUE) { $idx = $_REQUEST['idx']; $dpjp = $_REQUEST['dpjp']; $st_konsul = $_REQUEST['st_konsul']; $kdpoly = $_REQUEST['kdpoly']; if ($idx != '' && $dpjp != '') { if ($st_konsul == 1) { // cek isian anamnesa, jika sudah terisi maka tidak diperbolehkan mengubah dpjp $tmp_cek = $db->query("SELECT idxterapi from t_diagnosadanterapi where idxdaftar = $idx and rajal = 1 and kddokter = $dpjp and tgl_batal is null"); if ($tmp_cek->numRows() > 0) { // tidak boleh mengubah dpjp $msg = 'Proses gagal, karena DPJP telah melakukan pengisian anamnesis'; $type = 'error'; } else { $save_dpjp = execute("UPDATE t_pemeriksaan_hist set dokter_penerima = $dpjp where idxdaftar = $idx and kdpoly = $kdpoly"); if ($save_dpjp) { $msg = 'DPJP berhasil diubah'; $type = 'success'; $tmp_billrajal = $db->query("SELECT idxbill from t_billrajal where idxdaftar = $idx and kodetarif like '%R.JAL.%' and kdpoly = $kdpoly"); if ($tmp_billrajal->numRows() > 0) { $data_bill = $tmp_billrajal->fetchFirst(); $str_query = "UPDATE t_billrajal set kddokter = $dpjp, mulai = '" . date('Y-m-d H:i:s') . "' where idxbill = {$data_bill['idxbill']}"; execute($str_query); $str_query_detil = "UPDATE t_billrajal_detil SET KDDOKTER = $dpjp WHERE id_bill = {$data_bill['idxbill']}"; execute($str_query_detil); } } else { $msg = 'DPJP gagal diubah'; $type = 'error'; } } } else { // cek isian anamnesa, jika sudah terisi maka tidak diperbolehkan mengubah dpjp $tmp_cek = $db->query("SELECT idxterapi,kddokter from t_diagnosadanterapi where idxdaftar = $idx and rajal = 1 and tgl_batal is null"); if ($tmp_cek->numRows() > 0) { $data_anamnesa = $tmp_cek->fetchFirst(); if ($data_anamnesa['kddokter'] == $dpjp) { $save_dpjp = execute("UPDATE t_pendaftaran set kddokter = $dpjp where idxdaftar = $idx "); if ($save_dpjp) { $msg = 'DPJP berhasil diubah'; $type = 'success'; $db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1"); $arr_igd = $arr_nama_igd = []; foreach ($db_igd->fetchAll() as $igd) { $arr_igd[] = $igd['no']; $arr_nama_igd[$igd['no']] = $igd['nama']; } if (in_array($kdpoly, $arr_igd)) { // tarif daftar IGD $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_igd_baru'] : $_SESSION['tarif_daftar_igd']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_igd_baru']; } } else { $get_daftar = $db->query("SELECT strujukan,kdrujuk,st_asal_masuk FROM t_pendaftaran where idxdaftar = $idx"); $data_daftar = $get_daftar->fetchFirst(); // get tarif sesuai aturan if ($data_daftar['strujukan'] == 0) { // tarif daftar tanpa rujukan $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_tanpa_rujukan_baru'] : $_SESSION['tarif_daftar_tanpa_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru']; } } elseif ($data_daftar['strujukan'] == 1) { // tarif daftar dengan rujukan if ($data_daftar['kdrujuk'] == 2) { // jika rujukan dari faskes swasta $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik']; } } else { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik']; } } } if (preg_match("/UTAMA|EKSEKUTIF/i", $data_daftar['st_asal_masuk'])) { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_poli_utama_baru'] : $_SESSION['tarif_daftar_poli_utama']; $kode_tarif_konsul = ''; } } $tmp_billrajal = $db->query("SELECT idxbill from t_billrajal where idxdaftar = $idx and kodetarif = '$kode_tarif_daftar'"); if ($tmp_billrajal->numRows() > 0) { $data_bill = $tmp_billrajal->fetchFirst(); $str_query = "UPDATE t_billrajal set kddokter = $dpjp, mulai = '" . date('Y-m-d H:i:s') . "' where idxbill = {$data_bill['idxbill']}"; execute($str_query); $str_query_detil = "UPDATE t_billrajal_detil SET KDDOKTER = $dpjp WHERE id_bill = {$data_bill['idxbill']}"; execute($str_query_detil); } if (!empty($kode_tarif_konsul)){ $tmp_billrajal = $db->query("SELECT idxbill from t_billrajal where idxdaftar = $idx and kodetarif = '$kode_tarif_konsul'"); if ($tmp_billrajal->numRows() > 0) { $data_bill = $tmp_billrajal->fetchFirst(); $str_query = "UPDATE t_billrajal set kddokter = $dpjp, mulai = '" . date('Y-m-d H:i:s') . "' where idxbill = {$data_bill['idxbill']}"; execute($str_query); $str_query_detil = "UPDATE t_billrajal_detil SET KDDOKTER = $dpjp WHERE id_bill = {$data_bill['idxbill']}"; execute($str_query_detil); } } } else { $msg = 'DPJP gagal diubah'; $type = 'error'; } } else { // tidak boleh mengubah dpjp $msg = 'Proses gagal, karena DPJP telah melakukan pengisian anamnesis'; $type = 'error'; } } else { $save_dpjp = execute("UPDATE t_pendaftaran set kddokter = $dpjp where idxdaftar = $idx "); if ($save_dpjp) { $msg = 'DPJP berhasil diubah'; $type = 'success'; $db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1"); $arr_igd = $arr_nama_igd = []; foreach ($db_igd->fetchAll() as $igd) { $arr_igd[] = $igd['no']; $arr_nama_igd[$igd['no']] = $igd['nama']; } if (in_array($kdpoly, $arr_igd)) { // tarif daftar IGD $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_igd_baru'] : $_SESSION['tarif_daftar_igd']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_igd_baru']; } } else { $get_daftar = $db->query("SELECT strujukan,kdrujuk,st_asal_masuk FROM t_pendaftaran where idxdaftar = $idx"); $data_daftar = $get_daftar->fetchFirst(); // get tarif sesuai aturan if ($data_daftar['strujukan'] == 0) { // tarif daftar tanpa rujukan $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_tanpa_rujukan_baru'] : $_SESSION['tarif_daftar_tanpa_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru']; } } elseif ($data_daftar['strujukan'] == 1) { // tarif daftar dengan rujukan if ($data_daftar['kdrujuk'] == 2) { // jika rujukan dari faskes swasta $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru']; } } else { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru']; } } } if (preg_match("/UTAMA|EKSEKUTIF/i", $data_daftar['st_asal_masuk'])) { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_poli_utama_baru'] : $_SESSION['tarif_daftar_poli_utama']; $kode_tarif_konsul = ''; } } $tmp_billrajal = $db->query("SELECT idxbill from t_billrajal where idxdaftar = $idx and kodetarif = '$kode_tarif_daftar'"); if ($tmp_billrajal->numRows() > 0) { $data_bill = $tmp_billrajal->fetchFirst(); $str_query = "UPDATE t_billrajal set kddokter = $dpjp, mulai = '" . date('Y-m-d H:i:s') . "' where idxbill = {$data_bill['idxbill']}"; execute($str_query); $str_query_detil = "UPDATE t_billrajal_detil SET KDDOKTER = $dpjp WHERE id_bill = {$data_bill['idxbill']}"; execute($str_query_detil); } if (!empty($kode_tarif_konsul)){ $tmp_billrajal = $db->query("SELECT idxbill from t_billrajal where idxdaftar = $idx and kodetarif = '$kode_tarif_konsul'"); if ($tmp_billrajal->numRows() > 0) { $data_bill = $tmp_billrajal->fetchFirst(); $str_query = "UPDATE t_billrajal set kddokter = $dpjp, mulai = '" . date('Y-m-d H:i:s') . "' where idxbill = {$data_bill['idxbill']}"; execute($str_query); $str_query_detil = "UPDATE t_billrajal_detil SET KDDOKTER = $dpjp WHERE id_bill = {$data_bill['idxbill']}"; execute($str_query_detil); } } } else { $msg = 'DPJP gagal diubah'; $type = 'error'; } } } } else { $msg = 'Data tidak ditemukan!'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('get_viewer', $_REQUEST) && $_REQUEST['get_viewer'] == TRUE) { $nomr = $_REQUEST['nomr']; if ($nomr != '') { $client = new GuzzleHttp\Client(); $res = $client->request('GET', 'https://viewerlab.rssa.my.id/api.php?get=1&nomr=' . $nomr, [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'Access-Control-Allow-Origin' => '*' ] ]); $json_api = ($res->getStatusCode() == 200) ? $res->getBody()->getContents() : []; // $result = (!empty($json_stok)) ? json_decode($json_api) : null; // echo json_encode($json_api); echo $json_api; exit; } else { $msg = 'Data tidak ditemukan!'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_verif_rm', $_REQUEST) && $_REQUEST['batal_verif_rm'] == TRUE) { $idx = $_REQUEST['idx']; $st_rajal = $_REQUEST['st_rajal']; if ($st_rajal == 1) { $query = "UPDATE t_diagnosadanterapi SET status = '0' WHERE idxdaftar = $idx"; } else { $query = "UPDATE t_resumepulang SET status = '0' WHERE idadmission = $idx"; } $save_batal = execute($query); if ($save_batal) { $msg = 'Batal verifikasi berhasil'; $type = 'success'; } else { $msg = 'Batal verifikasi gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('riwayat_kunjungan', $_REQUEST) && $_REQUEST['riwayat_kunjungan'] == true) { $nomr = $_REQUEST['nomr']; $tgl_awal = date('Y-m-d'); if ($nomr != '') { $query = $db->query("SELECT ROW_NUMBER() OVER (ORDER BY a.idxdaftar desc) as nourut,a.* FROM ( SELECT distinct e.idxdaftar,e.tglreg,e.keluarpoly as tglplg,sk.keterangan ,a.nomr,a.nama,a.jeniskelamin, extract(YEAR from age(e.tglreg,a.tgllahir)) as umur_th,extract(MONTH from age(e.tglreg,a.tgllahir)) as umur_bl,extract(DAY from age(e.tglreg,a.tgllahir)) as umur_hr, a.alamat,b.nama as klinik, c.nama AS carabayar,(select distinct nobill from t_billrajal where idxdaftar = e.idxdaftar limit 1) as nobill FROM m_pasien a JOIN t_pendaftaran e on a.nomr=e.nomr JOIN m_ruang b on e.kdpoly=b.no JOIN m_carabayar c on e.kdcarabayar=c.kode LEFT JOIN m_rujukan d on e.kdrujuk=d.kode left join m_statuskeluar sk on e.status = sk.status WHERE e.tglreg < '$tgl_awal' and a.nomr = '$nomr' union all SELECT distinct e.idxdaftar,substring(date_trunc('day',h.start_konsul::timestamp)::varchar from 1 for 10)::date as tglreg,e.keluarpoly as tglplg,sk.keterangan ,a.nomr,a.nama,a.jeniskelamin, extract(YEAR from age(e.tglreg,a.tgllahir)) as umur_th,extract(MONTH from age(e.tglreg,a.tgllahir)) as umur_bl,extract(DAY from age(e.tglreg,a.tgllahir)) as umur_hr, a.alamat,b.nama as klinik, c.nama AS carabayar,(select distinct nobill from t_billrajal where idxdaftar = e.idxdaftar limit 1) as nobill FROM m_pasien a JOIN t_pendaftaran e on a.nomr=e.nomr JOIN t_pemeriksaan_hist h on e.idxdaftar = h.idxdaftar JOIN m_ruang b on h.kdpoly=b.no JOIN m_carabayar c on e.kdcarabayar=c.kode left join m_statuskeluar sk on e.status = sk.status WHERE e.tglreg < '$tgl_awal' and a.nomr = '$nomr' union all select distinct e.id_admission as idxdaftar,substring(date_trunc('day',e.masukrs::timestamp)::varchar from 1 for 10)::date as tglreg,e.keluarrs as tglplg,sk.nama as keterangan,a.nomr,a.nama,a.jeniskelamin, extract(YEAR from age(e.masukrs,a.tgllahir)) as umur_th,extract(MONTH from age(e.masukrs,a.tgllahir)) as umur_bl,extract(DAY from age(e.masukrs,a.tgllahir)) as umur_hr, a.alamat,b.nama as klinik, c.nama AS carabayar,(select distinct nobill from t_billranap where idxdaftar = e.id_admission limit 1) as nobill FROM m_pasien a JOIN t_admission e on a.nomr=e.nomr JOIN m_ruang b on e.noruang=b.no JOIN m_carabayar c on e.statusbayar=c.kode left join t_resumepulang pl on e.id_admission = pl.idadmission left join m_statuskeluarranap sk on pl.statuspulang = sk.kode WHERE substring(date_trunc('day',e.masukrs::timestamp)::varchar from 1 for 10)::date < '$tgl_awal' and a.nomr = '$nomr' ) a ORDER BY a.idxdaftar desc"); if ($query->numRows() > 0) { $msg = "Data ditemukan"; $type = 'success'; $html = ' '; foreach ($query->fetchAll() as $row) { $html .= ''; } $html .= '
No Tgl Registrasi Ruang Thn Bln Hari Nobill Tgl Keluar Ket. Keluar
' . $row['nourut'] . '' . $row['tglreg'] . '' . $row['klinik'] . '' . $row['umur_th'] . ' ' . $row['umur_bl'] . '' . $row['umur_hr'] . '' . $row['nobill'] . '' . $row['tglplg'] . '' . $row['keterangan'] . '
'; } else { $msg = "Data tidak ditemukan"; $type = 'error'; $html = null; } } else { $msg = "Data tidak ditemukan"; $type = 'error'; $html = null; } echo json_encode(['message' => $msg, 'type' => $type, 'preview' => $html]); exit; } elseif (array_key_exists('get_alamat_dispenduk', $_REQUEST) && $_REQUEST['get_alamat_dispenduk'] == TRUE) { $da_pend = $_REQUEST['penduduk']; $prov = strtolower($da_pend['PROP_NAME']); $kota = strtolower($da_pend['KAB_NAME']); $kec = strtolower($da_pend['KEC_NAME']); $kel = strtolower($da_pend['KEL_NAME']); $tmp_prov = $db->query("SELECT * from m_provinsi where lower(namaprovinsi) like '%" . $prov . "%'"); if ($tmp_prov->numRows() > 0) { $result['id_provinsi'] = $tmp_prov->fetchFirst()['idprovinsi']; $tmp_kota = $db->query("SELECT * from m_kota where lower(namakota) like '%" . $kota . "%' AND idprovinsi = " . $result['id_provinsi']); if ($tmp_kota->numRows() > 0) { $result['id_kota'] = $tmp_prov->fetchFirst()['idkota']; $tmp_kec = $db->query("SELECT * from m_kecamatan where lower(namakecamatan) like '%" . $kec . "%' AND idkota = " . $result['id_kota']); if ($tmp_kec->numRows() > 0) { $result['id_kecamatan'] = $tmp_kec->fetchFirst()['idkecamatan']; $tmp_kel = $db->query("SELECT * from m_kelurahan where lower(namakelurahan) like '%" . $kel . "%' AND idkecamatan = " . $result['id_kecamatan']); if ($tmp_kel->numRows() > 0) { $result['id_kelurahan'] = $tmp_kel->fetchFirst()['idkelurahan']; } } } echo json_encode($result); exit; } else { echo json_encode(['not_found' => true]); } } elseif (array_key_exists('get_konsultasi', $_REQUEST) && $_REQUEST['get_konsultasi'] == TRUE) { $idkonsul = $_REQUEST['idkonsul']; if ($idkonsul != '') { $tmp_konsul = $db->query("SELECT * from t_konsultasi join m_dokter on t_konsultasi.kddokter = m_dokter.kddokter where id_konsultasi = $idkonsul"); if ($tmp_konsul->numRows() > 0) { $data_konsul = $tmp_konsul->fetchFirst(); $msg = 'Data ditemukan'; $type = 'success'; } else { $msg = 'Data tidak ditemukan'; $type = 'error'; $data_konsul = []; } echo json_encode(['message' => $msg, 'type' => $type, 'data' => $data_konsul]); } exit; } elseif (array_key_exists('load_resume', $_REQUEST) && $_REQUEST['load_resume'] == TRUE) { $idxdaftar = $_REQUEST['idx']; $cek_resume = $db->query("SELECT * from t_resumemedis a join m_dokter d on a.dpjp = d.kddokter where idxrajal = $idxdaftar"); if ($cek_resume->numRows() > 0) { echo '

Resume Pulang telah diisi

'; $resume_data = $cek_resume->fetchFirst(); //print_r($resume_data); if ($resume_data['diagnosa_masuk'] != '') { $cari_icd_masuk = $db->query("SELECT * from icd where icd_code = '" . $resume_data['diagnosa_masuk'] . "'"); $data_icd_masuk = $cari_icd_masuk->fetchFirst(); $diagnosa_masuk = $data_icd_masuk['jenis_penyakit']; $kode_diagnosa_masuk = '
' . $resume_data['diagnosa_masuk']; } if ($resume_data['diagnosa_utama'] != '') { $cari_icd_utama = $db->query("SELECT * from icd where icd_code = '" . $resume_data['diagnosa_utama'] . "'"); $data_icd_utama = $cari_icd_utama->fetchFirst(); $diagnosa_utama = $data_icd_utama['jenis_penyakit']; $kode_diagnosa_utama = '
' . $resume_data['diagnosa_utama']; $diagnosa_sekunder = ''; $kode_diagnosa_sekunder = ''; $dasar_diagnosa_sekunder = ''; $js_icd10s = ''; $arr_icd10s = explode(",", preg_replace("/[\{\}]/", '', $resume_data['diagnosa_sekunder'])); $arr_dasar_icd10s = explode(",", preg_replace("/[\{\}]/", '', $resume_data['dasar_diagnosa_sekunder'])); $no_diag = 1; if ($arr_icd10s[0] == "\"\"") { $diagnosa_sekunder = $kode_diagnosa_sekunder = $dasar_diagnosa_sekunder = ''; } else { foreach ($arr_icd10s as $k => $icd10s) { $cari_icd = $db->query("SELECT * from icd where icd_code = '$icd10s'"); $data_icd = $cari_icd->fetchFirst(); $diagnosa_sekunder .= '' . $no_diag . '' . $data_icd['jenis_penyakit'] . ''; $kode_diagnosa_sekunder .= '' . $icd10s . ''; $dasar_diagnosa_sekunder .= '' . $no_diag . '' . $arr_dasar_icd10s[$k] . ''; $no_diag++; } } } if ($resume_data['tindakan_utama'] != '' || $resume_data['tindakan_utama'] != '-') { $cari_tind_utama = $db->query("SELECT * from icd_cm where kode = '" . $resume_data['tindakan_utama'] . "'"); $data_tind_utama = $cari_tind_utama->fetchFirst(); $tindakan_utama = $data_tind_utama['keterangan']; $kode_tindakan_utama = '
' . $resume_data['tindakan_utama']; $tindakan_lain = ''; $kode_tindakan_lain = ''; $dasar_tindakan_lain = ''; $arr_icd10cm = explode(",", preg_replace("/[\{\}]/", '', $resume_data['tindakan_lain'])); $arr_dasar_icd10cm = explode(",", preg_replace("/[\{\}]/", '', $resume_data['dasar_tindakan_sekunder'])); $no_tind = 1; if ($arr_icd10cm[0] == "\"\"") { $tindakan_lain = $kode_tindakan_lain = $dasar_tindakan_lain = ''; } else { foreach ($arr_icd10cm as $k => $icd10cm) { $cari_icd = $db->query("SELECT * from icd_cm where kode = '$icd10cm'"); $data_icd = $cari_icd->fetchFirst(); $tindakan_lain .= '' . $no_tind . '' . $data_icd['keterangan'] . ''; $kode_tindakan_lain .= '' . $icd10cm . ''; $dasar_tindakan_lain .= '' . $no_tind . '' . (array_key_exists($k, $arr_dasar_icd10cm) ? $arr_dasar_icd10cm[$k] : '') . ''; $no_tind++; } } } $terapi_selama_dirawat = ''; if ($resume_data['terapi_selama_dirawat'] != '' || $resume_data['terapi_selama_dirawat'] != '-') { $arr_terapi_rawat = explode(",", preg_replace("/[\{\}]/", '', $resume_data['terapi_selama_dirawat'])); $no = 1; if ($arr_terapi_rawat[0] == "\"\"") { $terapi_selama_dirawat = ''; } else { foreach ($arr_terapi_rawat as $terapi) { $terapi_selama_dirawat .= '' . $no . '' . $terapi . ''; $no++; } } } $terapi_waktu_pulang = ''; if ($resume_data['terapi_waktu_pulang'] != '' || $resume_data['terapi_waktu_pulang'] != '-') { $arr_terapi_rawat = explode(",", preg_replace("/[\{\}]/", '', $resume_data['terapi_waktu_pulang'])); $no = 1; if ($arr_terapi_rawat[0] == "\"\"") { $terapi_waktu_pulang = ''; } else { foreach ($arr_terapi_rawat as $terapi) { $terapi_waktu_pulang .= '' . $no . '' . $terapi . ''; $no++; } } } $konsultasi = ''; if ($resume_data['konsultasi'] != '' || $resume_data['konsultasi'] != '-') { $arr_konsultasi = explode(",", preg_replace("/[\{\}]/", '', $resume_data['konsultasi'])); $no = 1; if ($arr_konsultasi[0] == "\"\"") { $konsultasi = ''; } else { foreach ($arr_konsultasi as $konsul) { $konsultasi .= '' . $no . '' . $konsul . ''; $no++; } } } $hasil_konsultasi = ''; if ($resume_data['hasil_konsultasi'] != '' || $resume_data['hasil_konsultasi'] != '-') { $arr_hasil_konsultasi = explode(",", preg_replace("/[\{\}]/", '', $resume_data['hasil_konsultasi'])); $no = 1; if ($arr_hasil_konsultasi[0] == "\"\"") { $hasil_konsultasi = ''; } else { foreach ($arr_hasil_konsultasi as $hasil) { $hasil_konsultasi .= '' . $no . '' . $hasil . ''; $no++; } } } $lanjutan_pengobatan = ''; if ($resume_data['lanjutan_pengobatan'] != '' || $resume_data['lanjutan_pengobatan'] != '-') { $lanj_pengobatan = explode(",", preg_replace("/[\{\}]/", '', $resume_data['lanjutan_pengobatan'])); $no = 1; if ($lanj_pengobatan[0] == "\"\"") { $lanj_pengobatan = ''; } else { foreach ($lanj_pengobatan as $lanjutan) { $lanjutan_pengobatan .= '
' . $no . '. ' . $lanjutan . '
'; $no++; } } } $html_resume = '
' . $resume_data['namadokter'] . '
' . $diagnosa_masuk . '
' . $kode_diagnosa_masuk . '
DIAGNOSIS ICD 10 DASAR DIAGNOSIS/ KRITERIA DIAGNOSIS
(Anamnesis, Riwayat Kesehatan, Komorbiditas Lain, Pemeriksaan Fisik, Penunjang)
' . $diagnosa_utama . '
' . $kode_diagnosa_utama . '
' . $diagnosa_sekunder . '
' . $diagnosa_sekunder . '
' . $dasar_diagnosa_sekunder . '
' . $tindakan_utama . '
ICD 9
' . $kode_tindakan_utama . '
' . $dasar_tindakan_utama . '
' . $tindakan_lain . '
' . $kode_tindakan_lain . '
' . $dasar_tindakan_lain . '
' . $terapi_selama_dirawat . '
' . $terapi_waktu_pulang . '
' . $konsultasi . '
' . $hasil_konsultasi . '

mmHg
x/Menit
C °
x/Menit

' . $lanjutan_pengobatan . '
'; echo $html_resume; } else { echo '

Resume belum diisi

'; } exit; } elseif (array_key_exists('load_resume_pdf', $_REQUEST) && $_REQUEST['load_resume_pdf'] == TRUE) { $db_farmasi = new SQLServerDb( $_ENV['FARMASI_DB_USER'], $_ENV['FARMASI_DB_PASS'], $_ENV['FARMASI_DB_NAME'], $_ENV['FARMASI_HOST'] ); $idxdaftar = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal_status']; $jenis_resume = (array_key_exists('jenis_resume', $_REQUEST)) ? $_REQUEST['jenis_resume'] : ''; if ($rajal_status == 1) { $column_idx = 'idxrajal'; } else { $column_idx = 'idxranap'; } //var_dump($idxdaftar); $cek_resume = $db->query("SELECT a.*, d.* as resume_petugas from t_resumemedis a join m_dokter d on a.dpjp = d.kddokter where " . $column_idx . " = $idxdaftar"); if ($cek_resume->numRows() > 0) { $resume_data = $cek_resume->fetchFirst(); $log_petugas = $resume_data['log_petugas']; if (!empty($log_petugas)) { $resume_petugas = $db->query("SELECT namadokter FROM m_dokter WHERE kddokter = $log_petugas")->fetchFirst(); } if ($rajal_status == 1) { $tmp_daftar = $db->query("SELECT a.idxdaftar,a.tglreg,a.masukpoly,a.keluarpoly,b.nomr,b.nama as nama_pasien,b.tempat,b.tgllahir,b.jeniskelamin,b.noktp,b.notelp,c.nama as ruangan,c.kelas,d.namadokter,e.nama_penjamin,(select diagnosa from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi asc limit 1) as diagnosa,(select anamnesa from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi desc limit 1) as keluhan_utama,(select riwayat_pasien from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi asc limit 1) as riwayat_pasien,(select pemeriksaan_fisik from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi asc limit 1) as pemeriksaan_fisik,null as cara_pulang, (select tindakan_medis from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi asc limit 1) as tindakan_medis,(select terapi from t_diagnosadanterapi where idxdaftar = a.idxdaftar and rajal = 1 order by idxterapi asc limit 1) as terapi,icd.icd_code as icd_masuk, icd.jenis_penyakit as diagnosa_masuk from t_pendaftaran a join m_pasien b on a.nomr = b.nomr join m_ruang c on a.kdpoly = c.no left join m_dokter d on a.kddokter = d.kddokter left join m_penjamin e on a.nojaminan = e.kode_penjamin left join icd on a.diagnosa_utama = icd.icd_code where idxdaftar = " . $idxdaftar); } else { $tmp_daftar = $db->query("SELECT a.id_admission as idxdaftar,null as tglreg,a.masukrs as masukpoly,a.keluarrs as keluarpoly,b.nomr,b.nama as nama_pasien,b.tempat,b.tgllahir,b.jeniskelamin,b.noktp,b.notelp,c.nama as ruangan,c.kelas,d.namadokter,e.nama_penjamin,(select diagnosa from t_diagnosadanterapi where idxdaftar = a.id_admission and rajal = 0 order by idxterapi asc limit 1) as diagnosa,(select anamnesa from t_diagnosadanterapi where idxdaftar = a.id_admission and rajal = 0 order by idxterapi desc limit 1) as keluhan_utama,(select riwayat_pasien from t_diagnosadanterapi where idxdaftar = a.id_admission and rajal = 0 order by idxterapi asc limit 1) as riwayat_pasien,(select pemeriksaan_fisik from t_diagnosadanterapi where idxdaftar = a.id_admission and rajal = 0 order by idxterapi asc limit 1) as pemeriksaan_fisik,sr.nama as cara_pulang,null as diagnosa_masuk from t_admission a join t_pendaftaran o on a.id_admission = o.idxdaftar join m_pasien b on a.nomr = b.nomr join m_ruang c on a.noruang = c.no left join m_dokter d on a.dokter_penanggungjawab = d.kddokter left join m_penjamin e on o.nojaminan = e.kode_penjamin left join t_resumepulang r on a.id_admission = r.idadmission left join m_statuskeluarranap sr on r.statuspulang = sr.kode where idxdaftar = " . $idxdaftar); } $data_daftar = $tmp_daftar->fetchFirst(); if ($jenis_resume == 'dpjp') { $query_icd_utama = "SELECT * from t_icd join icd on t_icd.icd = icd.icd_code where t_icd.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is null order by idx"; $query_icd_sekunder = "SELECT t.* FROM ( SELECT *,row_number() OVER(ORDER BY idx ASC) AS row from t_icd join icd on t_icd.icd = icd.icd_code where t_icd.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is null order by idx ) t WHERE t.row > 1"; $query_icd_cm = "SELECT * from t_icd_cm join icd_cm on t_icd_cm.icd = icd_cm.kode where t_icd_cm.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is null"; } else { $query_icd_utama = "SELECT * from t_icd join icd on t_icd.icd_verified = icd.icd_code where t_icd.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is not null and icd_verified_order = 1"; $query_icd_sekunder = "SELECT * from t_icd join icd on t_icd.icd_verified = icd.icd_code where t_icd.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is not null and icd_verified_order > 1"; $query_icd_cm = "SELECT * from t_icd_cm join icd_cm on t_icd_cm.icd_verified = icd_cm.kode where t_icd_cm.idxdaftar = {$data_daftar['idxdaftar']} and status_verif is not null"; } $tmp_icd = $db->query($query_icd_utama); $icd_primary = $tmp_icd->fetchFirst(); $tmp_icd_2 = $db->query($query_icd_sekunder); $icd_secondary = $tmp_icd_2->fetchAll(); //var_dump($icd_secondary); $tmp_icd_cm = $db->query($query_icd_cm); $icd_cm = $tmp_icd_cm->fetchAll(); $tmp_alergi = $db->query("SELECT * from t_alergiobat where idxdaftar = {$data_daftar['idxdaftar']}"); $txt_alergi = ''; if ($tmp_alergi->numRows() > 0) { $alergi = $tmp_alergi->fetchAll(); $arr_alergi = []; foreach ($alergi as $row) { $arr_alergi[] = $row['alergi']; } $txt_alergi = implode(',', $arr_alergi); } if ($rajal_status == 0) { $tmp_obat = $db->query("SELECT kode_obat,jmlh_keluar,aturan_pakai,frek,jfrek,signa,sediaan,sp,ss,ssr,sm,cara_konsumsi from t_permintaan_apotek_ranap where idxdaftar = $idxdaftar and jmlh_keluar > 0 and status_save = '1' and jenis = 0 order by idxpesanobat"); $diagnosa_masuk = $resume_data['diagnosa_masuk'] . ' (' . (!empty($icd_primary) ? $icd_primary['icd_code'] : '') . ')'; $diagnosa_utama = $icd_primary['jenis_penyakit'] . ' (' . $icd_primary['icd_code'] . ')'; $tindakan = $terapi = $kesadaran = '-'; } else { $tmp_obat = $db->query("SELECT kode_obat,jmlh_keluar,aturan_pakai,frek,jfrek,signa,sediaan from t_permintaan_apotek_rajal where idxdaftar = $idxdaftar and jmlh_keluar > 0 and status_save = '1' and jenis = 0 order by idxpesanobat"); $diagnosa_masuk = $data_daftar['diagnosa_masuk'] . ' (' . $data_daftar['icd_masuk'] . ')'; $diagnosa_utama = $icd_primary['jenis_penyakit'] . ' (' . $icd_primary['icd_code'] . ')'; $tindakan = $data_daftar['tindakan']; $terapi = $data_daftar['terapi']; $kesadaran = '-'; } // print_r($resume_data); // print_r($data_daftar); $diagnosa_sekunder_resume = str_replace(array('{', '}', '"'), '', $resume_data['diagnosa_sekunder']); $diagnosa_sekunder_resume = explode(",", $diagnosa_sekunder_resume); $dasar_diagnosa_sekunder_resume = str_replace(array('{', '}', '"'), '', $resume_data['dasar_diagnosa_sekunder']); $dasar_diagnosa_sekunder_resume = explode(",", $dasar_diagnosa_sekunder_resume); $tindakan_lain_resume = str_replace(array('{', '}', '"'), '', $resume_data['tindakan_lain']); $tindakan_lain_resume = explode(",", $tindakan_lain_resume); $dasar_tindakan_sekunder_resume = str_replace(array('{', '}', '"'), '', $resume_data['dasar_tindakan_sekunder']); $dasar_tindakan_sekunder_resume = explode(",", $dasar_tindakan_sekunder_resume); // echo "
";
		// var_dump($icd_sekunder_resume);

		// // echo "
"; // foreach ($icd_sekunder_resume as $value) { // echo "$value
"; // } // //var_dump($icd_secondary); // exit(); $inputFileName = _DOCROOT_ . 'assets/template/resume_medis.xlsx'; $reader = IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($inputFileName); $spreadsheet->getActiveSheet()->getPageSetup() ->setOrientation(\PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::ORIENTATION_PORTRAIT); $spreadsheet->getActiveSheet()->getPageSetup() ->setPaperSize(\PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::PAPERSIZE_FOLIO); $spreadsheet->getActiveSheet()->getPageMargins()->setTop(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setRight(0.75); $spreadsheet->getActiveSheet()->getPageMargins()->setLeft(0.75); $spreadsheet->getActiveSheet()->getPageMargins()->setBottom(0.5); // $spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(2); $spreadsheet->getActiveSheet() ->setCellValue('I3', 'Dibuat oleh : ' . $resume_petugas['namadokter']) ->setCellValue('I4', 'Tgl. Terbit ' . date('Y-m-d H:i:s')) ->setCellValue('H6', ': ' . $data_daftar['nama_pasien']) ->setCellValue('H7', ': ' . $data_daftar['tempat'] . ', ' . date_to_id($data_daftar['tgllahir'])) ->setCellValue('H8', ': ' . jeniskelamin($data_daftar['jeniskelamin'])) ->setCellValue('H9', ': ' . $data_daftar['nomr']) ->setCellValue('H10', ': ' . $data_daftar['noktp']) ->setCellValue('H11', ': ' . $data_daftar['ruangan']) ->setCellValue('H12', ': ' . $data_daftar['kelas']) ->setCellValue('H13', ': ' . $data_daftar['namadokter']) ->setCellValue('H14', ': ' . $data_daftar['nama_penjamin']) ->setCellValue('H15', ': ' . $data_daftar['notelp']) ->setCellValue('D20', $data_daftar['masukpoly']) ->setCellValue('D21', $data_daftar['keluarpoly']) ->setCellValue('D22', $diagnosa_masuk) ->setCellValue('D23', $diagnosa_utama); $total_row_icd = 0; if (!empty($resume_data['diagnosa_sekunder'])) { $starting_row = 26; $no_icd = 1; foreach ($diagnosa_sekunder_resume as $key => $value) { if ($starting_row > 26) { $spreadsheet->getActiveSheet()->insertNewRowBefore($starting_row, 1); } $spreadsheet->getActiveSheet()->setCellValue('A' . $starting_row, $no_icd); $spreadsheet->getActiveSheet()->setCellValue('B' . $starting_row, $value)->mergeCells('B' . $starting_row . ':F' . $starting_row); $spreadsheet->getActiveSheet()->setCellValue('G' . $starting_row, $dasar_diagnosa_sekunder_resume[$key])->mergeCells('G' . $starting_row . ':K' . $starting_row); $starting_row++; $no_icd++; $total_row_icd++; } } $next_row = (($total_row_icd > 0) ? 29 : 30) + $total_row_icd; $spreadsheet->getActiveSheet() ->setCellValue('D' . ($next_row + 1), $data_daftar['keluhan_utama']) ->setCellValue('D' . ($next_row + 2), $data_daftar['riwayat_penyakit']) ->setCellValue('D' . ($next_row + 3), $data_daftar['pemeriksaan_fisik']) ->setCellValue('D' . ($next_row + 9), $data_daftar['pemeriksaan_penunjang']); $next_row += 13; $total_row_icdcm = 0; if (!empty($tindakan_lain_resume)) { $starting_row = $next_row; $no_icd = 1; foreach ($tindakan_lain_resume as $key => $value) { if ($starting_row > $next_row) { $spreadsheet->getActiveSheet()->insertNewRowBefore($starting_row, 1); } $spreadsheet->getActiveSheet()->setCellValue('A' . $starting_row, $no_icd); $spreadsheet->getActiveSheet()->setCellValue('B' . $starting_row, $value)->mergeCells('B' . $starting_row . ':F' . $starting_row); $spreadsheet->getActiveSheet()->setCellValue('G' . $starting_row, $dasar_tindakan_sekunder_resume[$key])->mergeCells('G' . $starting_row . ':K' . $starting_row); $starting_row++; $no_icd++; $total_row_icdcm++; } } $next_row += (($total_row_icdcm > 0) ? 2 : 3) + $total_row_icdcm; $spreadsheet->getActiveSheet() ->setCellValue('A' . $next_row, $tindakan) // TINDAKAN ->setCellValue('A' . ($next_row + 2), $terapi) // TERAPI ->setCellValue('D' . ($next_row + 3), '') // DIET ->setCellValue('D' . ($next_row + 4), $txt_alergi) // ALERGI ->setCellValue('D' . ($next_row + 7), $kesadaran) // KESADARAN ->setCellValue('E' . ($next_row + 8), ': ' . $resume_data['tensi'] . ' mmHg') ->setCellValue('E' . ($next_row + 10), ': ' . $resume_data['suhu'] . ' ℃') ->setCellValue('E' . ($next_row + 12), ': ' . $resume_data['nadi'] . ' x/Menit') ->setCellValue('E' . ($next_row + 14), ': ' . $resume_data['rr'] . ' x/Menit') ->setCellValue('E' . ($next_row + 16), ': ') // SKALA NYERI ; $next_row += 15; $next_row += 3; $spreadsheet->getActiveSheet() ->setCellValue('D' . ($next_row + 1), $resume_data['keadaan_pulang']) ->setCellValue('D' . ($next_row + 2), $data_daftar['cara_pulang']) // CARA KELUAR ; // ISIAN OBAT $next_row += 9; // if($rajal_status == 0) { $total_row_obat = 0; if ($tmp_obat->numRows() > 0) { $arr_nama_obat = []; $starting_row = $next_row; $no_obat = 1; foreach ($tmp_obat->fetchAll() as $row) { // cek db farmasi $data_obat = $db_farmasi->get_results("SELECT Nama From TMLogBarang where Kode = '{$row['kode_obat']}'", 'array'); //var_dump($data_obat); if (count($data_obat) > 0) { $load_nama_barang = $data_obat[0]['Nama']; } else { $load_nama_barang = '-'; } if ($starting_row > $next_row) { $spreadsheet->getActiveSheet()->insertNewRowBefore($starting_row, 1); } $spreadsheet->getActiveSheet()->setCellValue('A' . $starting_row, $no_obat . '.'); $spreadsheet->getActiveSheet()->setCellValue('B' . $starting_row, $load_nama_barang)->mergeCells('B' . $starting_row . ':D' . $starting_row); $spreadsheet->getActiveSheet()->setCellValue('E' . $starting_row, format_uang($row['jmlh_keluar'])); $spreadsheet->getActiveSheet()->setCellValue('F' . $starting_row, format_uang($row['jfrek']) . ' ' . $row['sediaan'])->mergeCells('F' . $starting_row . ':G' . $starting_row); $spreadsheet->getActiveSheet()->setCellValue('H' . $starting_row, $row['aturan_pakai'])->mergeCells('H' . $starting_row . ':I' . $starting_row); // $next_row++; $arr_nama_obat[] = $load_nama_barang; $starting_row++; $no_obat++; $total_row_obat++; } // $spreadsheet->getActiveSheet()->setCellValue('B'.$next_row,implode(",\n",$arr_nama_obat)); // $next_row++; } else { $spreadsheet->getActiveSheet()->setCellValue('B' . $next_row, '----'); // $next_row++; } // } // INSTRUKSI TINDAK LANJUT $next_row += 3 + (($total_row_obat > 0) ? $total_row_obat : 0); $spreadsheet->getActiveSheet() ->setCellValue('A' . $next_row, '(Diisi oleh Dokter Penanggung Jawab Pelayanan)')->mergeCells('A' . $next_row . ':K' . $next_row) ->setCellValue('A' . ($next_row + 1), 'INSTRUKSI UNTUK TINDAK LANJUT')->mergeCells('A' . ($next_row + 1) . ':D' . ($next_row + 1)) ->setCellValue('E' . ($next_row + 1), 'Kontrol Ke')->mergeCells('E' . ($next_row + 1) . ':G' . ($next_row + 1)) ->setCellValue('H' . ($next_row + 1), 'Fasyankes') ->setCellValue('I' . ($next_row + 1), ': RSUD Dr. Saiful Anwar')->mergeCells('I' . ($next_row + 1) . ':K' . ($next_row + 1)) ->setCellValue('A' . ($next_row + 2), '(Follow up Instructions)')->mergeCells('A' . ($next_row + 2) . ':D' . ($next_row + 2)) ->setCellValue('E' . ($next_row + 2), 'Follow up Consultation to')->mergeCells('E' . ($next_row + 2) . ':G' . ($next_row + 2)) ->setCellValue('H' . ($next_row + 2), 'Tanggal') ->setCellValue('I' . ($next_row + 2), ': ')->mergeCells('I' . ($next_row + 2) . ':K' . ($next_row + 2)) ->setCellValue('A' . ($next_row + 3), '')->mergeCells('A' . ($next_row + 3) . ':G' . ($next_row + 3)) ->setCellValue('H' . ($next_row + 3), 'Klinik') ->setCellValue('I' . ($next_row + 3), ':')->mergeCells('I' . ($next_row + 3) . ':K' . ($next_row + 3)) ->setCellValue('A' . ($next_row + 4), 'Dalam Keadaan darurat dapat menghubungi')->mergeCells('A' . ($next_row + 4) . ':D' . ($next_row + 4)) ->setCellValue('E' . ($next_row + 4), 'IGD')->mergeCells('E' . ($next_row + 4) . ':G' . ($next_row + 4)) ->setCellValue('H' . ($next_row + 4), 'Telepon') ->setCellValue('I' . ($next_row + 4), ': ')->mergeCells('I' . ($next_row + 4) . ':K' . ($next_row + 4)) ->setCellValue('A' . ($next_row + 5), 'In case of emergency contact')->mergeCells('A' . ($next_row + 5) . ':D' . ($next_row + 5)) ->setCellValue('E' . ($next_row + 5), '(Accident & Emergency Instalation)')->mergeCells('E' . ($next_row + 5) . ':G' . ($next_row + 5)) ->setCellValue('H' . ($next_row + 5), 'Phone') ->setCellValue('I' . ($next_row + 5), ' ')->mergeCells('I' . ($next_row + 5) . ':K' . ($next_row + 5)); // font kecil miring $arr_kecil_miring = [ 'font' => [ 'italic' => true, 'size' => 9 ] ]; $spreadsheet->getActiveSheet()->getStyle('A' . $next_row)->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('A' . ($next_row + 2))->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('E' . ($next_row + 2))->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('A' . ($next_row + 5))->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('E' . ($next_row + 5))->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('H' . ($next_row + 5))->applyFromArray($arr_kecil_miring); // EDUKASI dan RENCANA TINDAK LANJUT $spreadsheet->getActiveSheet() ->setCellValue('A' . ($next_row + 6), '')->mergeCells('A' . ($next_row + 6) . ':K' . ($next_row + 6)); $next_row += 5; $next_row += 2; $objRichText = new RichText(); $objRichText->createText('EDUKASI & RENCANA TINDAK LANJUT '); $objKecilMiring = $objRichText->createTextRun('(bila diperlukan)'); $objKecilMiring->getFont()->setItalic($arr_kecil_miring); $objKecilMiring->getFont()->setSize(9); $spreadsheet->getActiveSheet() ->setCellValue('A' . $next_row, $objRichText)->mergeCells('A' . $next_row . ':K' . $next_row) ->setCellValue('A' . ($next_row + 1), 'Follow up plan (if necessary)')->mergeCells('A' . ($next_row + 1) . ':K' . ($next_row + 1)) ->setCellValue('A' . ($next_row + 2), '-')->mergeCells('A' . ($next_row + 2) . ':K' . ($next_row + 3)); $spreadsheet->getActiveSheet()->getStyle('A' . ($next_row + 1))->applyFromArray($arr_kecil_miring); // PENANGGUNG JAWAB $next_row += 3; $next_row += 1; $spreadsheet->getActiveSheet()->insertNewRowBefore($next_row + 5, 4); $spreadsheet->getActiveSheet() ->setCellValue('A' . $next_row, 'Pasien/Penanggung Jawab')->mergeCells('A' . $next_row . ':E' . $next_row) ->setCellValue('F' . $next_row, 'Dokter Penanggung Jawab Pelayanan')->mergeCells('F' . $next_row . ':K' . $next_row) ->setCellValue('A' . ($next_row + 1), 'Patient/Person in charge')->mergeCells('A' . ($next_row + 1) . ':E' . ($next_row + 1)) ->setCellValue('F' . ($next_row + 1), 'Attending Physician')->mergeCells('F' . ($next_row + 1) . ':K' . ($next_row + 1)) ->setCellValue('A' . ($next_row + 2), "")->mergeCells('A' . ($next_row + 2) . ':E' . ($next_row + 9)) ->setCellValue('F' . ($next_row + 2), "")->mergeCells('F' . ($next_row + 2) . ':K' . ($next_row + 9)); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 2))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 3))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 4))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 5))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 6))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 7))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 8))->setRowHeight(25); $spreadsheet->getActiveSheet()->getRowDimension(($next_row + 9))->setRowHeight(25); $spreadsheet->getActiveSheet()->getStyle('A' . ($next_row + 1))->applyFromArray($arr_kecil_miring); $spreadsheet->getActiveSheet()->getStyle('F' . ($next_row + 1))->applyFromArray($arr_kecil_miring); //var_dump($next_row); $spreadsheet->getActiveSheet() ->setCellValue('A' . ($next_row + 10), '(' . $data_daftar['nama_pasien'] . ')')->mergeCells('A' . ($next_row + 10) . ':E' . ($next_row + 10)) // TTD PASIEN ->setCellValue('F' . ($next_row + 10), '(' . $data_daftar['namadokter'] . ')')->mergeCells('F' . ($next_row + 10) . ':K' . ($next_row + 10)) // TTD DPJP ; // $spreadsheet->getActiveSheet() // ->setCellValue('A' . ($next_row + 12), '( PEMBUAT RESUME : ' . $resume_petugas['namadokter'] . ' )')->mergeCells('A' . ($next_row + 12) . ':H' . ($next_row + 12)) // TTD DPJP // ; // var_dump($next_row); // exit(); $writer = new \PhpOffice\PhpSpreadsheet\Writer\Html($spreadsheet); $pdf_writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Mpdf'); $pdf_writer->setSheetIndex(0); $namafile = date('Y-m-d') . '-resumemedis-' . $data_daftar['nomr']; $base = _DOCROOT_ . '/pdf_casemix/'; $folder = date('Ymd'); $ext = '.pdf'; // if(!file_exists($base.$folder.'/'.$namafile.$ext)) { if (file_exists($base . $folder)) { $folder_simpan = $base . $folder; if (file_exists($folder_simpan . '/' . $namafile . $ext)) { $uniq = date('His'); $filename = $namafile . '_(' . $uniq . ')' . $ext; } else { $filename = $namafile . $ext; } $filesave = $folder_simpan . '/' . $filename; } else { makeDir($base . $folder, 0777); $folder_simpan = $base . $folder; $filename = $namafile . $ext; $filesave = $folder_simpan . '/' . $filename; } $pdf_writer->save($filesave); // } if ($_REQUEST['attach'] == 1) { $path = realpath(dirname(__FILE__)); $data = file_get_contents($path . '/../pdf_casemix/' . $folder . '/' . $filename); header("Content-type: application/pdf"); header("Content-disposition: inline;filename=$namafile.pdf"); echo $data; } else { echo ''; } } else { echo '

Resume belum diisi

'; } exit; } elseif (array_key_exists('hist_disposisi', $_REQUEST) && $_REQUEST['hist_disposisi'] == TRUE) { $idxdaftar = $_REQUEST['idxdaftar']; if ($idxdaftar != '') { $tmp_disposisi = $db->query("SELECT d.tgl_entri,l.nama_pegawai,md1.namadokter as dari_dpjp,md2.namadokter as ke_dpjp from t_disposisi d join m_dokter md1 on d.kddokter = md1.kddokter join m_dokter md2 on d.kddokter_disposisi = md2.kddokter join m_login l on d.user_entri = l.nip where idxdaftar = $idxdaftar"); $html = ''; if ($tmp_disposisi->numRows() > 0) { $html = ''; $no = 1; foreach ($tmp_disposisi->fetchAll() as $row) { $html .= ''; $no++; } $html .= '
NoWaktu DisposisiPetugas DisposisiDari DPJPKe DPJP
' . $no . '' . datetime_to_id($row['tgl_entri']) . '' . $row['nama_pegawai'] . '' . $row['dari_dpjp'] . '' . $row['ke_dpjp'] . '
'; } else { $html = 'Data tidak ditemukan'; } echo $html; } exit; } elseif (array_key_exists('hist_konsul', $_REQUEST) && $_REQUEST['hist_konsul'] == TRUE) { $idxdaftar = $_REQUEST['idxdaftar']; if ($idxdaftar != '') { $tmp_disposisi = $db->query("SELECT r.nama as tempat_konsul,d.start_konsul as tgl_entri,l.nama_pegawai,md1.namadokter as dari_dpjp,md2.namadokter as ke_dpjp from t_pemeriksaan_hist d join m_dokter md1 on d.dokter_pengonsul = md1.kddokter join m_dokter md2 on d.dokter_penerima = md2.kddokter join m_login l on d.user_konsul = l.nip join m_ruang r on d.kdpoly = r.no where idxdaftar = $idxdaftar"); $html = ''; if ($tmp_disposisi->numRows() > 0) { $html = ''; $no = 1; foreach ($tmp_disposisi->fetchAll() as $row) { $html .= ''; $no++; } $html .= '
NoWaktu KonsulPetugasDari DPJPKe DPJPKlinik
' . $no . '' . datetime_to_id($row['tgl_entri']) . '' . $row['nama_pegawai'] . '' . $row['dari_dpjp'] . '' . $row['ke_dpjp'] . '' . $row['tempat_konsul'] . '
'; } else { $html = 'Data tidak ditemukan'; } echo $html; } exit; } elseif (array_key_exists('hist_konsul_smf', $_REQUEST) && $_REQUEST['hist_konsul_smf'] == TRUE) { $idxdaftar = $_REQUEST['idxdaftar']; if ($idxdaftar != '') { $tmp_disposisi = $db->query("SELECT kode_smf,d.dt_konsul as tgl_entri,l.nama_pegawai,md1.namadokter as dpjp from t_konsul_smf d join m_dokter md1 on d.kddokter = md1.kddokter join m_login l on d.petugas_konsul = l.nip where idxdaftar = $idxdaftar"); $html = ''; if ($tmp_disposisi->numRows() > 0) { $html = ''; $no = 1; foreach ($tmp_disposisi->fetchAll() as $row) { $html .= ''; $no++; } $html .= '
NoWaktu KonsulPetugasKode SMFNama DPJP
' . $no . '' . datetime_to_id($row['tgl_entri']) . '' . $row['nama_pegawai'] . '' . $row['kode_smf'] . '' . $row['dpjp'] . '
'; } else { $html = 'Data tidak ditemukan'; } echo $html; } exit; } elseif (array_key_exists('viewer', $_REQUEST) && $_REQUEST['viewer'] == TRUE) { $file = $_REQUEST['filepath']; $decrypt_file = base64_decode($file); // if (file_exists($decrypt_file)) { // rawan diexploit // header('Content-Description: Dokumen'); // header('Content-Type: application/octet-stream'); // header('Content-Disposition: inline; filename="'.basename($decrypt_file).'"'); // header('Expires: 0'); // header('Cache-Control: must-revalidate'); // header('Pragma: public'); // header('Content-Length: ' . filesize($decrypt_file)); // readfile($decrypt_file); // } echo $decrypt_file; exit; } elseif (array_key_exists('list_pendaftaran', $_REQUEST) && $_REQUEST['list_pendaftaran'] == TRUE) { $idxdaftar = $_REQUEST['idxdaftar']; if ($idxdaftar != '') { if (array_key_exists('ranap', $_REQUEST) && $_REQUEST['ranap']) { $tmp_pendaftaran = $db->query("SELECT a.nomr,a.nama,a.tempat,a.tgllahir,a.jeniskelamin,a.alamat,b.nama as poly1,c.nama as carabayar1,d.nama as rujukan1, e.masukrs as tglreg,shift,dr.namadokter, e2.ketrujuk, case pasienbaru when 1 then 'B' else 'L' end as b_l, e.id_admission as idxdaftar ,e.noruang as kdpoly,e.st_asal_masuk,e.nosep,(select nobill from t_billranap where idxdaftar = e.id_admission and nomr = a.nomr limit 1) as nobill,e.panggungjawab as penanggungjawab_nama,null as penanggungjawab_hubungan,null as penanggungjawab_alamat,null as penanggungjawab_phone,sk.nama_kecelakaan,e2.catatan,null as no_antrian,l.nama_pegawai,mp.namaprovinsi,mk.namakota,mkec.namakecamatan,mkel.namakelurahan,a.ktp_file,a.no_kartu FROM m_pasien a join t_admission e on a.nomr = e.nomr join t_pendaftaran e2 on e.id_admission = e2.idxdaftar join m_ruang b on e.noruang = b.no join m_carabayar c on e.statusbayar = c.kode left join m_rujukan d on e2.kdrujuk = d.kode left join m_dokter dr on dr.kddokter=e.dokter_penanggungjawab left join m_login l on e.nip = l.nip left join m_provinsi mp on a.kdprovinsi = mp.idprovinsi left join m_kota mk on a.kota = mk.idkota left join m_kecamatan mkec on a.kdkecamatan = mkec.idkecamatan left join m_kelurahan mkel on a.kelurahan = mkel.idkelurahan left join m_status_kecelakaan sk on e2.status_kecelakaan = sk.kode_kecelakaan where e.id_admission = $idxdaftar"); } else { $tmp_pendaftaran = $db->query("SELECT a.nomr,a.nama,a.tempat,a.tgllahir,a.jeniskelamin,a.alamat,b.nama as poly1,c.nama as carabayar1,d.nama as rujukan1, e.tglreg,shift,dr.namadokter, e.ketrujuk, case pasienbaru when 1 then 'B' else 'L' end as b_l, e.idxdaftar ,e.kdpoly,e.st_asal_masuk,e.nosep,(select nobill from t_billrajal where idxdaftar = e.idxdaftar and nomr = a.nomr limit 1) as nobill,e.penanggungjawab_nama,e.penanggungjawab_hubungan,e.penanggungjawab_alamat,e.penanggungjawab_phone,sk.nama_kecelakaan,e.catatan,e.no_antrian,l.nama_pegawai,mp.namaprovinsi,mk.namakota,mkec.namakecamatan,mkel.namakelurahan,a.ktp_file,a.no_kartu FROM m_pasien a join t_pendaftaran e on A.nomr = e.nomr join m_ruang b on e.kdpoly = b.no join m_carabayar c on e.kdcarabayar = c.kode left join m_rujukan d on e.kdrujuk = d.kode left join m_dokter dr on dr.kddokter=e.kddokter left join m_login l on e.nip = l.nip left join m_provinsi mp on a.kdprovinsi = mp.idprovinsi left join m_kota mk on a.kota = mk.idkota left join m_kecamatan mkec on a.kdkecamatan = mkec.idkecamatan left join m_kelurahan mkel on a.kelurahan = mkel.idkelurahan left join m_status_kecelakaan sk on e.status_kecelakaan = sk.kode_kecelakaan where idxdaftar = $idxdaftar"); } $html = ''; if ($tmp_pendaftaran->numRows() > 0) { $dt_pendaftaran = $tmp_pendaftaran->fetchFirst(); $a = datediff($dt_pendaftaran['tgllahir'], date("Y-m-d")); $baru_lama = ['B' => 'BARU', 'L' => 'LAMA']; $img_ktp = ($dt_pendaftaran['ktp_file'] != '') ? $dt_pendaftaran['ktp_file'] : _BASE_ . 'assets/images/people.png'; $html .= '
'; } echo $html; exit; } } elseif (array_key_exists('load_cppt_pdf', $_REQUEST) && $_REQUEST['load_cppt_pdf']) { $id_admission = $_REQUEST['idx']; if ($id_admission != '') { if (array_key_exists('rajal', $_REQUEST) && $_REQUEST['rajal'] == 1) { $tmp_cppt = $db->query("SELECT a.*,b.nama_ppa,p.tgllahir,p.nama as nama_pasien,case when a.perawat is not null then pr.nama else dr.namadokter end as nama_petugas from t_detail_diagnosakep a join t_pendaftaran a1 on a.idxrajal = a1.idxdaftar join m_pasien p on a1.nomr = p.nomr left join m_ppa b on b.id_ppa = a.kategori left join m_perawat pr on a.perawat = pr.idperawat left join m_dokter dr on a.kddokter = dr.kddokter where idxrajal = '" . $id_admission . "'"); $judul = 'CATATAN PASIEN RAWAT JALAN'; $header_tabel = ' Tgl.
Jam PPA HASIL ASASMEN PASIEN DAN PEMBERIAN
PELAYANAN
(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan) REVIEW &
VERIFIKASI
DPJP
(Tulis Tanggal, Jam, Nama dan Paraf) '; } else { $tmp_cppt = $db->query("SELECT a.*,b.nama_ppa,p.tgllahir,p.nama as nama_pasien,case when a.perawat is not null then pr.nama else dr.namadokter end as nama_petugas from t_detail_diagnosakep a join t_admission a1 on a.idx_admission = a1.id_admission join m_pasien p on a1.nomr = p.nomr left join m_ppa b on b.id_ppa = a.kategori left join m_perawat pr on a.perawat = pr.idperawat left join m_dokter dr on a.kddokter = dr.kddokter where idx_admission = '" . $id_admission . "'"); $judul = 'CATATAN PERKEMBANGAN PASIEN TERINTEGRASI'; $header_tabel = ' Tgl.
Jam PPA HASIL ASASMEN PASIEN DAN PEMBERIAN
PELAYANAN
(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan) INSTRUKSI PPA
TERMASUK PASCA
BEDAH
(Instruksi ditulis dengan rinci dan jelas) REVIEW &
VERIFIKASI
DPJP
(Tulis Tanggal, Jam, Nama dan Paraf) '; } if ($tmp_cppt->numRows() > 0) { $cppt_list = ''; $no = 1; foreach ($tmp_cppt->fetchAll() as $row) { if ($no == 1) { $nama_px = $row['nama_pasien']; $nomr = $row['nomr']; $petugas = $row['nama_petugas']; $tgllahir = $row['tgllahir']; } $format = '
S:' . $row['evaluasi_s'] . '
O:' . $row['evaluasi_o'] . '
A:' . $row['evaluasi_a'] . '
P:' . $row['evaluasi_p'] . '
I:' . $row['implementasi'] . '
'; if (array_key_exists('rajal', $_REQUEST) && $_REQUEST['rajal'] == 1) { $cppt_list .= ' ' . datetime_to_id($row['tgl']) . ' ' . $row['nama_ppa'] . '
' . $row['nama_petugas'] . ' ' . $format . ' '; } else { $cppt_list .= ' ' . datetime_to_id($row['tgl']) . ' ' . $row['nama_ppa'] . '
' . $row['nama_petugas'] . ' ' . $format . ' '; } $no++; } $html = ' ' . $judul . '
' . $rstitle . '
' . $header2 . '
 
' . $judul . '
 
No. RM : ' . $nomr . '
Nama : ' . $nama_px . '
Tanggal Lahir : ' . date_to_id($tgllahir) . '
 
' . $header_tabel . $cppt_list . '
'; $dompdf = new Dompdf(); $dompdf->loadHtml($html); // $customPaper = array(0,0,612.00,396.00); // $dompdf->setPaper($customPaper); // $dompdf->setPaper('half-letter','landscape'); $dompdf->setPaper('legal'); $dompdf->render(); $dompdf->stream('CPPT.pdf', ['Attachment' => false]); } else { $dompdf = new Dompdf(); $dompdf->loadHtml('Data Tidak Ditemukan'); $dompdf->setPaper('letter', 'portrait'); $dompdf->render(); $dompdf->stream('CPPT.pdf', ['Attachment' => false]); } } } elseif (array_key_exists('load_cppt_view', $_REQUEST) && $_REQUEST['load_cppt_view']) { $id_admission = $_REQUEST['idx']; $rajal = $_REQUEST['rajal']; // exit(); if ($id_admission != '') { if ($rajal == 1) { $tmp_cppt = $db->query("SELECT a.*,b.nama_ppa,p.tgllahir,p.nama as nama_pasien,case when a.perawat is not null then pr.nama else dr.namadokter end as nama_petugas ,e.rolename from t_detail_diagnosakep a join t_pendaftaran a1 on a.idxrajal = a1.idxdaftar join m_pasien p on a1.nomr = p.nomr left join m_ppa b on b.id_ppa = a.kategori left join m_perawat pr on a.perawat = pr.idperawat left join m_dokter dr on a.kddokter = dr.kddokter left join user_roles e on a.role_petugas = e.roleid where idxrajal = '" . $id_admission . "' order by a.tgl DESC "); $judul = 'CATATAN PASIEN RAWAT JALAN'; $header_tabel = ' NO Tgl.
Jam PPA / Petugas Entri HASIL ASASMEN PASIEN DAN PEMBERIAN
PELAYANAN
(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan) REVIEW &
VERIFIKASI
DPJP
(Tulis Tanggal, Jam, Nama dan Paraf) '; } else { $tmp_cppt = $db->query("SELECT a.*,b.nama_ppa,p.tgllahir,p.nama as nama_pasien,case when a.perawat is not null then pr.nama else dr.namadokter end as nama_petugas,e.rolename from t_detail_diagnosakep a join t_admission a1 on a.idx_admission = a1.id_admission join m_pasien p on a1.nomr = p.nomr left join m_ppa b on b.id_ppa = a.kategori left join m_perawat pr on a.perawat = pr.idperawat left join m_dokter dr on a.kddokter = dr.kddokter left join user_roles e on a.role_petugas = e.roleid where idx_admission = '" . $id_admission . "' order by a.tgl DESC "); $judul = 'CATATAN PERKEMBANGAN PASIEN TERINTEGRASI'; var_dump($_REQUEST['rajal']); $header_tabel = ' NO Tgl.
Jam PPA / Petugas Entri HASIL ASASMEN PASIEN DAN PEMBERIAN
PELAYANAN
(Tulis dengan format SOAP - Intruksi PPA, disertai sasaran tulis nama beri paraf pada akhir catatan) INSTRUKSI PPA
TERMASUK PASCA
BEDAH
(Instruksi ditulis dengan rinci dan jelas) REVIEW &
VERIFIKASI
DPJP
(Tulis Tanggal, Jam, Nama dan Paraf) '; } if ($tmp_cppt->numRows() > 0) { $cppt_list = ''; $no = 1; $counter = 0; foreach ($tmp_cppt->fetchAll() as $row) { // echo '
';
				// var_dump($row);
				// echo '
'; $counter++; if ($no == 1) { $nama_px = $row['nama_pasien']; $nomr = $row['nomr']; $petugas = $row['nama_petugas']; $tgllahir = $row['tgllahir']; } $format_rajal = '
S:' . $row['evaluasi_s'] . '
O:' . $row['evaluasi_o'] . '
A:' . $row['evaluasi_a'] . '
P:' . $row['evaluasi_p'] . '
'; $format_ranap = '
S:' . $row['evaluasi_s'] . '
O:' . $row['evaluasi_o'] . '
A:' . $row['evaluasi_a'] . '
P:' . $row['evaluasi_p'] . '
'; if ($rajal == 1) { $cppt_list .= ' ' . $counter . ' ' . datetime_to_id($row['tgl']) . ' ' . $row['nama_ppa'] . '
' . $row['nama_petugas'] . '
' . $row['rolename'] . ' ' . $format_rajal . ' '; } else { $cppt_list .= ' ' . $counter . ' ' . datetime_to_id($row['tgl']) . ' ' . $row['nama_ppa'] . '
' . $row['nama_petugas'] . '
' . $row['rolename'] . ' ' . $format_ranap . ' ' . $row['implementasi'] . ' '; } $no++; } $html = ' ' . $judul . '
NO. RM : ' . $nomr . '
NAMA PASIEN : ' . $nama_px . '
TANGGAL LAHIR : ' . date_to_id($tgllahir) . '

' . $judul . '


' . $header_tabel . $cppt_list . '
'; $dompdf = new Dompdf(); $dompdf->set_option('isHtml5ParserEnabled', true); $dompdf->set_option('isRemoteEnabled', true); $dompdf->loadHtml($html); // $customPaper = array(0,0,612.00,396.00); // $dompdf->setPaper($customPaper); // $dompdf->setPaper('half-letter','landscape'); $current_date = date("Y-m-d H:i:s"); $dompdf->setPaper('legal'); $dompdf->render(); $dompdf->getCanvas()->page_text(450, 10, "Tanggal Terbit : $current_date", $font, 10, array(0, 0, 0)); // $dompdf->getCanvas()->page_text($w - 590, $h - 28, "El pie de página del lado izquiero, Guadalajara, Jalisco C.P. XXXXX Tel. XX (XX) XXXX XXXX", $font, 6); $dompdf->stream('CPPT.pdf', ['Attachment' => false]); } else { $dompdf = new Dompdf(); $dompdf->loadHtml('Data Tidak Ditemukan'); $dompdf->setPaper('letter', 'portrait'); $dompdf->render(); $dompdf->stream('CPPT.pdf', ['Attachment' => false]); } } } elseif (array_key_exists('get_noktp', $_REQUEST) && $_REQUEST['get_noktp']) { $prefix = $_REQUEST['jenis']; $sql = "SELECT distinct noktp FROM m_pasien WHERE noktp LIKE '" . $prefix . "%' ORDER BY noktp DESC LIMIT 1"; $sql = $db->query($sql); $prefix_kode = $last_ktp = $xlast_ktp = null; $prefix_kode = $prefix; if ($sql->numRows() > 0) { $row = $sql->fetchFirst(); $last_ktp = preg_replace("/_/", '', $row['noktp']); $inisial = (substr($last_ktp, 4) != '') ? substr($last_ktp, 4) : '0'; $xlast_ktp = str_pad((((int) substr($last_ktp, 4)) + 1), 12, '0', STR_PAD_LEFT); echo $prefix_kode . $xlast_ktp; } else { echo $prefix_kode . '000000000001'; } } elseif (array_key_exists('batal_pulang', $_REQUEST) && $_REQUEST['batal_pulang']) { $idx = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal']; if ($rajal_status) { // cek pemeriksaan konsul ketika batal pulang // jika terdapat konsul yang sudah dilayani, maka batal pulang mengembalikan ke status konsul $tmp_cek_konsul = $db->query("SELECT * from t_pemeriksaan_hist where idxdaftar = {$idx} and user_penerima is not null"); if ($tmp_cek_konsul->numRows() > 0) { $query = "UPDATE t_pendaftaran set status = 5 where idxdaftar = $idx"; } else { $query = "UPDATE t_pendaftaran set status = 0,keluarpoly = NULL,st_pelayanan = 0 where idxdaftar = $idx"; } $save_update = execute($query); if ($save_update) { $msg = 'Batal pulang berhasil'; $type = 'success'; } else { $msg = 'Batal pulang gagal'; $type = 'error'; } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_doa', $_REQUEST) && $_REQUEST['batal_doa']) { $idx = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal']; if ($rajal_status) { $query = "UPDATE t_pendaftaran set status = 0,keluarpoly = NULL,st_pelayanan = 0 where idxdaftar = $idx"; $save_update = execute($query); if ($save_update) { $msg = 'Batal DOA berhasil'; $type = 'success'; } else { $msg = 'Batal DOA gagal'; $type = 'error'; } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_konsulharilain', $_REQUEST) && $_REQUEST['batal_konsulharilain']) { $idx = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal']; if ($rajal_status) { $query = "UPDATE t_pendaftaran set status = 0,keluarpoly = NULL where idxdaftar = $idx"; $save_update = execute($query); if ($save_update) { $msg = 'Batal Konsul Hari Lain berhasil'; $type = 'success'; } else { $msg = 'Batal Konsul Hari Lain gagal'; $type = 'error'; } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_admisi', $_REQUEST) && $_REQUEST['batal_admisi']) { $idx = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal']; if ($rajal_status) { $tgl_batal = date('Y-m-d H:i:s'); $nip_batal = $_SESSION['NIP']; $query1 = "UPDATE t_orderadmission set st_batal = 1, dt_batal = '$tgl_batal', nip_batal = '$nip_batal' where idxdaftar = $idx"; $save_update1 = execute($query1); $query = "UPDATE t_pendaftaran set status = 0,keluarpoly = NULL,st_pelayanan = 0 where idxdaftar = $idx"; $save_update = execute($query); if ($save_update && $save_update1) { $msg = 'Batal rujuk rawat inap berhasil'; $type = 'success'; } else { $msg = 'Batal rujuk rawat inap gagal'; $type = 'error'; } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_konsul', $_REQUEST) && $_REQUEST['batal_konsul']) { $idx = $_REQUEST['idx']; $rajal_status = $_REQUEST['rajal']; $idx_konsul = $_REQUEST['idx_konsul']; if ($rajal_status) { $tgl_batal = date('Y-m-d H:i:s'); $nip_batal = $_SESSION['NIP']; $query1 = "UPDATE t_pemeriksaan_hist set st_aktif=0,user_batal='$nip_batal',tgl_batal='$tgl_batal' where id_pemeriksaanhist = $idx_konsul"; $save_update1 = execute($query1); $query = "UPDATE t_pendaftaran set status = 0 where idxdaftar = $idx"; $save_update = execute($query); if ($save_update && $save_update1) { $msg = 'Batal konsul berhasil'; $type = 'success'; } else { $msg = 'Batal konsul gagal'; $type = 'error'; } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('export_sensusrajal', $_REQUEST) && $_REQUEST['export_sensusrajal']) { $tgl_kunjungan = $_REQUEST['tgl_kunjungan']; $tgl_kunjungan2 = $_REQUEST['tgl_kunjungan2']; $klinik = $_REQUEST['klinik']; $spreadsheet = new Spreadsheet(); $spreadsheet->getProperties() ->setCreator('SIMRS RSUD Dr. SAIFUL ANWAR') ->setTitle('Sensus Rawat Jalan') ->setDescription(''); $spreadsheet->getDefaultStyle()->getFont()->setName('Arial'); $spreadsheet->getDefaultStyle()->getFont()->setSize(10); $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A1', 'SENSUS HARIAN PASIEN RAWAT JALAN')->mergeCells('A1:R1'); $arr_top_style = [ 'font' => ['bold' => TRUE], 'alignment' => [ 'vertical' => Alignment::VERTICAL_TOP, 'horizontal' => Alignment::HORIZONTAL_CENTER, 'wrapText' => TRUE ], ]; $arr_subtitle_style = $arr_top_style; $arr_subtitle_style['alignment']['horizontal'] = Alignment::HORIZONTAL_LEFT; $spreadsheet->getActiveSheet()->getStyle('A1:A1')->applyFromArray($arr_top_style); $spreadsheet->getActiveSheet()->getPageSetup()->setHorizontalCentered(TRUE); $spreadsheet->getActiveSheet()->getPageMargins()->setTop(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setRight(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setLeft(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setBottom(0.5); $spreadsheet->getActiveSheet()->setTitle('SENSUS HARIAN RAWAT JALAN'); $arr_row_group_style = [ 'font' => ['bold' => TRUE], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFCCCCCC'] ] ]; $arr_header_style = [ 'font' => ['bold' => TRUE], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFAECDF0'] ] ]; if ($tgl_kunjungan != '') { $sql = "SELECT a.*,b.nama,b.jeniskelamin,b.tgllahir,r.nama as nama_klinik,k.namakecamatan,k2.namakota,c.nama as carabayar,sk.keterangan as carakeluar,a1.pasienbaru,a1.ketrujuk, d.namadokter as dpjp,(select concat(icd_code,' - ',jenis_penyakit) as diagutama from icd join t_icd on icd.icd_code = t_icd.icd_verified and status_rajal = 1 and icd_verified_order = 1 and idxdaftar = a.idxdaftar) as diagnosautama FROM t_diagnosadanterapi a join t_pendaftaran a1 on a.idxdaftar = a1.idxdaftar join m_carabayar c on a1.kdcarabayar = c.kode join m_pasien b on a.nomr = b.nomr join m_ruang r on a.kdpoly = r.no left join m_kecamatan k on b.kdkecamatan = k.idkecamatan left join m_kota k2 on b.kota = k2.idkota join m_statuskeluar sk on a1.status = sk.status join m_dokter d on a.kddokter = d.kddokter where a.rajal = 1 and a.tanggal between '$tgl_kunjungan' and '$tgl_kunjungan2' "; if ($klinik != '') { $sql .= 'and a.kdpoly = ' . $klinik; } $rs = $db->query($sql); $spreadsheet->getActiveSheet()->setCellValue('A3', 'No') ->setCellValue('B3', 'Tanggal') ->setCellValue('C3', 'Klinik') ->setCellValue('D3', 'NoMR') ->setCellValue('E3', 'Nama') ->setCellValue('F3', 'L/P') ->setCellValue('G3', 'Umur') ->setCellValue('H3', 'Kecamatan') ->setCellValue('I3', 'Kota') ->setCellValue('J3', 'Diagnosa') ->setCellValue('K3', 'Cara Bayar') ->setCellValue('L3', 'Cara Keluar') ->setCellValue('M3', 'Pengunjung') ->setCellValue('N3', 'Kunjungan') ->setCellValue('O3', 'Kasus') ->setCellValue('P3', 'DPJP') ->setCellValue('Q3', 'Ket. Rujuk') ->setCellValue('R3', 'Diagnosa Utama'); $i = 1; $start_row = 3; foreach ($rs->fetchAll() as $data) { $a = datediff($data['tgllahir'], $data['tanggal']); $umur = $a['years'] . ' thn ' . $a['months'] . ' bln ' . $a['days'] . ' hr'; $pengunjung = ($data['pasienbaru']) ? 'B' : 'L'; $kunjungan = ($data['kunjungan_bl']) ? 'B' : 'L'; $kasus = ($data['kasus_bl']) ? 'B' : 'L'; $spreadsheet->getActiveSheet()->setCellValue('A' . ($start_row + $i), $i) ->setCellValue('B' . ($start_row + $i), $data['tanggal']) ->setCellValue('C' . ($start_row + $i), $data['nama_klinik']) ->setCellValue('D' . ($start_row + $i), $data['nomr']) ->setCellValue('E' . ($start_row + $i), $data['nama']) ->setCellValue('F' . ($start_row + $i), $data['jeniskelamin']) ->setCellValue('G' . ($start_row + $i), $umur) ->setCellValue('H' . ($start_row + $i), $data['namakecamatan']) ->setCellValue('I' . ($start_row + $i), $data['namakota']) ->setCellValue('J' . ($start_row + $i), $data['diagnosa']) ->setCellValue('K' . ($start_row + $i), $data['carabayar']) ->setCellValue('L' . ($start_row + $i), $data['carakeluar']) ->setCellValue('M' . ($start_row + $i), $pengunjung) ->setCellValue('N' . ($start_row + $i), $kunjungan) ->setCellValue('O' . ($start_row + $i), $kasus) ->setCellValue('P' . ($start_row + $i), $data['dpjp']) ->setCellValue('Q' . ($start_row + $i), $data['ketrujuk']) ->setCellValue('R' . ($start_row + $i), $data['diagnosautama']); $i++; $xi += $start_row + $i; } } $last_col = Coordinate::stringFromColumnIndex(18); $last_row = $xi; $spreadsheet->getActiveSheet()->getStyle('A' . $start_row . ':' . $last_col . $last_row)->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN); $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $file_name = 'Sensus Rawat Jalan ' . str_replace('/', '-', $tgl_kunjungan) . '_' . str_replace('/', '-', $tgl_kunjungan2) . '.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment; filename=$file_name"); header('Cache-Control: max-age=0'); $writer->save("php://output"); exit; } elseif (array_key_exists('export_sensusranap', $_REQUEST) && $_REQUEST['export_sensusranap']) { $tgl_kunjungan = $_REQUEST['tgl_kunjungan']; $tgl_kunjungan2 = $_REQUEST['tgl_kunjungan2']; $ruang = $_REQUEST['ruang']; $spreadsheet = new Spreadsheet(); $spreadsheet->getProperties() ->setCreator('SIMRS RSUD Dr. SAIFUL ANWAR') ->setTitle('Sensus Rawat Inap') ->setDescription(''); $spreadsheet->getDefaultStyle()->getFont()->setName('Arial'); $spreadsheet->getDefaultStyle()->getFont()->setSize(10); $spreadsheet->setActiveSheetIndex(0) ->setCellValue('A1', 'SENSUS HARIAN PASIEN RAWAT INAP')->mergeCells('A1:S1'); $arr_top_style = [ 'font' => ['bold' => TRUE], 'alignment' => [ 'vertical' => Alignment::VERTICAL_TOP, 'horizontal' => Alignment::HORIZONTAL_CENTER, 'wrapText' => TRUE ], ]; $arr_subtitle_style = $arr_top_style; $arr_subtitle_style['alignment']['horizontal'] = Alignment::HORIZONTAL_LEFT; $spreadsheet->getActiveSheet()->getStyle('A1:A1')->applyFromArray($arr_top_style); $spreadsheet->getActiveSheet()->getPageSetup()->setHorizontalCentered(TRUE); $spreadsheet->getActiveSheet()->getPageMargins()->setTop(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setRight(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setLeft(0.5); $spreadsheet->getActiveSheet()->getPageMargins()->setBottom(0.5); $spreadsheet->getActiveSheet()->setTitle('SENSUS HARIAN RAWAT INAP'); $arr_row_group_style = [ 'font' => ['bold' => TRUE], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFCCCCCC'] ] ]; $arr_header_style = [ 'font' => ['bold' => TRUE], 'fill' => [ 'fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFAECDF0'] ] ]; $arr_tgl = []; $curr_date = new Datetime($tgl_kunjungan); $arr_tgl[] = $curr_date->format('Y-m-d'); $diff_tgl = datediff($tgl_kunjungan, $tgl_kunjungan2); if ($diff_tgl['days'] > 0) { for ($t = 1; $t <= $diff_tgl['days']; $t++) { $curr_date = new Datetime($tgl_kunjungan); $curr_date->add(new DateInterval('P' . $t . 'D')); $arr_tgl[] = $curr_date->format('Y-m-d'); } } if ($tgl_kunjungan != '' && $ruang != '') { $spreadsheet->getActiveSheet()->setCellValue('A3', 'Tgl') ->setCellValue('B3', 'Ruang') ->setCellValue('C3', 'Kelas') ->setCellValue('D3', 'TT Tersedia') ->setCellValue('E3', 'Sisa Awal') ->setCellValue('F3', 'Masuk') ->setCellValue('G3', 'Pindahan') ->setCellValue('H3', 'Jumlah') ->setCellValue('I3', 'Dipindahkan') ->setCellValue('J3', 'Dipulangkan') ->setCellValue('K3', 'APS') ->setCellValue('L3', 'Melarikan Diri') ->setCellValue('M3', 'Dirujuk') ->setCellValue('N3', 'Jumlah') ->setCellValue('O3', 'Meninggal < 48 Jam') ->setCellValue('P3', 'Meninggal > 48 Jam') ->setCellValue('Q3', 'Jumlah') ->setCellValue('R3', 'Masih Dirawat') ->setCellValue('S3', 'Lama Dirawat'); $i = 1; $start_row = 3; foreach ($arr_tgl as $tgl_row) { $sql = "SELECT a.nama,a.kelas,a.no,a.jumlah_tt, (SELECT COUNT(b.noruang) FROM m_ruang sub_a LEFT JOIN t_admission b ON b.noruang=sub_a.no AND (" . get_date_sql('b.masukrs') . "<'$tgl_row') AND (b.keluarrs is null OR " . get_date_sql('b.keluarrs') . ">'$tgl_row' ) OR ( tgl_pindah='$tgl_row' AND b.noruang_asal=sub_a.no) WHERE sub_a.no = a.no GROUP BY sub_a.no) as sisaawal, (SELECT COUNT(b.noruang) FROM m_ruang sub_a LEFT JOIN t_admission b ON b.noruang=sub_a.no AND (" . get_date_sql('b.masukrs') . "='$tgl_row') AND b.noruang=b.noruang_asal WHERE sub_a.no = a.no GROUP BY sub_a.no) AS masuk, (SELECT COUNT(b.noruang) FROM m_ruang sub_a LEFT JOIN t_admission b ON b.noruang=sub_a.no AND (" . get_date_sql('b.tgl_pindah') . "='$tgl_row') AND b.noruang<>b.noruang_asal WHERE sub_a.no = a.no GROUP BY sub_a.no) AS pindahan, (SELECT COUNT(b.noruang) FROM m_ruang sub_a LEFT JOIN t_admission b ON b.noruang_asal=sub_a.no AND (" . get_date_sql('b.tgl_pindah') . "='$tgl_row') AND b.noruang<>b.noruang_asal AND (b.keluarrs is null OR " . get_date_sql('b.keluarrs') . ">'$tgl_row') WHERE sub_a.no = a.no GROUP BY sub_a.no) AS dipindahkan, (SELECT COUNT(d.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang d ON d.kdruang=sub_a.no AND d.statuspulang=1 AND d.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS dipulangkan, (SELECT COUNT(f.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang f ON f.kdruang=sub_a.no AND f.statuspulang=4 AND f.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS melarikandiri, (SELECT COUNT(e.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang e ON e.kdruang=sub_a.no AND e.statuspulang=5 AND e.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS permintaansdr, (SELECT COUNT(g.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang g ON g.kdruang=sub_a.no AND g.statuspulang=3 AND g.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS dirujuk, (SELECT COUNT(h.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang h ON h.kdruang=sub_a.no AND h.statuspulang=2 AND h.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS kurang48, (SELECT COUNT(i.statuspulang) FROM m_ruang sub_a LEFT JOIN t_resumepulang i ON i.kdruang=sub_a.no AND i.statuspulang=6 AND i.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS lebih48, (SELECT SUM(" . datediff_sql('day', 'd.tglkeluar', 'd.tglmasuk') . ") FROM m_ruang sub_a LEFT JOIN t_resumepulang d ON d.kdruang=sub_a.no AND d.tglkeluar='$tgl_row' WHERE sub_a.no = a.no GROUP BY sub_a.no) AS lamadirawat FROM m_ruang a"; if ($ruang != '') { list($nama_ruang, $kelas) = explode(";", $ruang); $sql .= ' where a.nama = \'' . $nama_ruang . '\' and a.kelas = \'' . $kelas . '\''; } $rs = $db->query($sql); foreach ($rs->fetchAll() as $data) { $spreadsheet->getActiveSheet()->setCellValue('A' . ($start_row + $i), $tgl_row) ->setCellValue('B' . ($start_row + $i), $data['nama']) ->setCellValue('C' . ($start_row + $i), $data['kelas']) ->setCellValue('D' . ($start_row + $i), $data['jmltersedia']) ->setCellValue('E' . ($start_row + $i), $data['sisaawal']) ->setCellValue('F' . ($start_row + $i), $data['masuk']) ->setCellValue('G' . ($start_row + $i), $data['pindahan']) ->setCellValue('H' . ($start_row + $i), ($data['sisaawal'] + $data['masuk'] + $data['pindahan'])) ->setCellValue('I' . ($start_row + $i), $data['dipindahkan']) ->setCellValue('J' . ($start_row + $i), $data['dipulangkan']) ->setCellValue('K' . ($start_row + $i), $data['permintaansdr']) ->setCellValue('L' . ($start_row + $i), $data['melarikandiri']) ->setCellValue('M' . ($start_row + $i), ($data['dipulangkan'] + $data['permintaansdr'] + $data['melarikandiri'] + $data['dirujuk'])) ->setCellValue('N' . ($start_row + $i), $data['kurang48']) ->setCellValue('O' . ($start_row + $i), $data['lebih48']) ->setCellValue('P' . ($start_row + $i), ($data['kurang48'] + $data['lebih48'])) ->setCellValue('Q' . ($start_row + $i), ($data['dipindahkan'] + $data['dipulangkan'] + $data['permintaansdr'] + $data['melarikandiri'] + $data['dirujuk'] + $data['kurang48'] + $data['lebih48'])) ->setCellValue('R' . ($start_row + $i), ($data['sisaawal'] + $data['masuk'] + $data['pindahan'] - ($data['dipindahkan'] + $data['dipulangkan'] + $data['permintaansdr'] + $data['melarikandiri'] + $data['dirujuk'] + $data['kurang48'] + $data['lebih48']))) ->setCellValue('S' . ($start_row + $i), $data['lamadirawat']); $i++; $xi += $start_row + $i; } } } $last_col = Coordinate::stringFromColumnIndex(19); $last_row = $xi; $spreadsheet->getActiveSheet()->getStyle('A' . $start_row . ':' . $last_col . $last_row)->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN); $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $file_name = 'Sensus Rawat Inap ' . str_replace('/', '-', $tgl_kunjungan) . '_' . str_replace('/', '-', $tgl_kunjungan2) . '.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment; filename=$file_name"); header('Cache-Control: max-age=0'); $writer->save("php://output"); exit; } elseif (array_key_exists('baca_konsul', $_REQUEST) && $_REQUEST['baca_konsul']) { $idxdaftar = $_REQUEST['idx']; if ($idxdaftar != '') { $smf_lab_pk = $_SESSION['kel_smf_lab_pk']; $smf_lab_pa = 'PATOLOGI ANATOMI'; $smf_lab_mikro = 'MIKROBIOLOGI'; $smf_radiologi = $_SESSION['kel_smf_radiologi']; $dokter = "SELECT * FROM m_dokter WHERE kdsmf in ('$smf_lab_pk','$smf_lab_pa','$smf_lab_mikro','$smf_radiologi') and aktif = 1"; $tmp_dokter = $db->query($dokter); $arr_dokter = []; if ($tmp_dokter->numRows() > 0) { foreach ($tmp_dokter->fetchAll() as $d) { $tgl_SIP = new Datetime($d['tgl_akhir_sip']); $tgl_sekarang = new Datetime(date('Y-m-d')); if ($d['tgl_akhir_sip'] > '0000-00-00' || $d['tgl_akhir_sip'] > '0001-01-01') { if ($tgl_sekarang <= $tgl_SIP) { $arr_dokter[$d['kdsmf']][$d['kddokter']] = $d['namadokter']; } } } } if ($_REQUEST['lab'] == 'pk') { $arr_dokter_jawab = $arr_dokter[$smf_lab_pk]; } elseif ($_REQUEST['lab'] == 'pa') { $arr_dokter_jawab = $arr_dokter[$smf_lab_pa]; } elseif ($_REQUEST['lab'] == 'mikro') { $arr_dokter_jawab = $arr_dokter[$smf_lab_mikro]; } $tmp_konsul = $db->query("SELECT t_konsultasi.*,m_dokter.namadokter as namadokter,m_dokter.kdsmf, dk.namadokter as dokter_jawab, dk.kdsmf as smf_dokter_jawab,case when st_rajal = 1 then r.nama else tujuan_smf end as tujuan FROM t_konsultasi join m_dokter on t_konsultasi.kddokter = m_dokter.kddokter left join m_dokter dk on t_konsultasi.kddokter_jawab = dk.kddokter left join m_ruang r on t_konsultasi.tujuan_klinik = r.no WHERE idxdaftar = '$idxdaftar' ORDER BY id_konsultasi "); $html = ''; if ($tmp_konsul->numRows() > 0) { $html = '
' . form_dropdown('dokter_jawab', $arr_dokter_jawab, '', 'class="form-control"') . '
'; $no = 1; foreach ($tmp_konsul->fetchAll() as $row) { $html .= ''; $no++; } $html .= '
Tanggal / Jam Dokter SMF Uraian Konsultasi Tujuan Jawaban Konsultasi Aksi
' . $row['dt_konsultasi'] . '' . $row['namadokter'] . '' . $row['kdsmf'] . '' . $row['uraian_konsul'] . '' . $row['tujuan'] . '' . $row['jawaban_konsul'] . '
'; } else { $html = 'Data tidak ditemukan'; } echo $html; } exit; } elseif (array_key_exists('jawab_konsul', $_REQUEST) && $_REQUEST['jawab_konsul']) { $id = $_REQUEST['id_konsultasi']; if ($id) { $jawab = $_REQUEST['jawaban']; $dokter = $_REQUEST['dokter_jawab']; $query = "UPDATE t_konsultasi set jawaban_konsul = '" . $jawab . "',kddokter_jawab = $dokter where id_konsultasi = $id"; $save_update = execute($query); if ($save_update) { $message = 'Jawaban berhasil disimpan'; $type = 'success'; } else { $msg = 'Jawaban gagal disimpan'; $type = 'error'; } echo json_encode(['message' => $message, 'type' => $type]); } exit; } elseif (array_key_exists('del_item_lab', $_REQUEST) && $_REQUEST['del_item_lab']) { $idxorderitem = $_REQUEST['idxorderitem']; $nolab = $_REQUEST['nolab']; $kdlab = $_REQUEST['kdlab']; if ($idxorderitem != '' && $nolab != '' && $kdlab != '') { if ($kdlab = $_SESSION['kd_unit_lab_pk']) { $query = "DELETE from t_orderlabpk where idxorderpk = $idxorderitem"; $save_delete = execute($query); if ($save_delete) { $msg = 'Hapus item pemeriksaan lab berhasil'; $type = 'success'; } else { $msg = 'Hapus item pemeriksaan lab gagal'; $type = 'error'; } } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('add_item_lab', $_REQUEST) && $_REQUEST['add_item_lab']) { $form_id = $_REQUEST['form_id']; $nolab = $_REQUEST['nolab']; $kdlab = $_REQUEST['kdlab']; if ($form_id != '' && $nolab != '' && $kdlab != '') { if ($kdlab = $_SESSION['kd_unit_lab_pk']) { $query_get = $db->query("SELECT * from t_orderlabpk where nolab = '$nolab' limit 1 offset 0"); if ($query_get->numRows() > 0) { $arr_field = $query_get->fetchFirst(); } $arr_inputlab['idxdaftar'] = $arr_field['idxdaftar']; $arr_inputlab['nomr'] = $arr_field['nomr']; $arr_inputlab['kdpoli'] = $arr_field['kdpoli']; $arr_inputlab['status'] = $arr_field['status']; $arr_inputlab['nolab'] = $arr_field['nolab']; $arr_inputlab['idxform'] = $form_id; // dd($arr_inputlab);exit; $query = "INSERT INTO t_orderlabpk " . bind_sql($arr_inputlab); $save_add = execute($query); // $save_add = 1; if ($save_add) { $msg = 'Tambah item pemeriksaan lab berhasil'; $type = 'success'; } else { $msg = 'Tambah item pemeriksaan lab gagal'; $type = 'error'; } } } else { $msg = 'Error! kesalahan input'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('hitung_pembulatan', $_REQUEST) && $_REQUEST['hitung_pembulatan']) { // rumus pencarian digit if (array_key_exists('total_biaya', $_REQUEST)) { $total_biaya = $_REQUEST['total_biaya']; // echo $total_biaya.'
'; $nilai_pembulatan = ''; if (preg_match("/\.|,/", $total_biaya) && $total_biaya != '') { // check jumlah desimal dibelakang koma // echo 'Ada koma'; $new_biaya = preg_replace("/\.|,/", '|', $total_biaya); list($nominal, $desimal) = explode("|", $new_biaya); if (strlen($desimal) > 2) { $desimal = substr($desimal, 0, 2) * 0.01; $total_biaya = $nominal + $desimal; } if (strlen($desimal) > 1) { // terdapat desimal $nilai_depan = substr($total_biaya, 0, (strlen($total_biaya) - 5)); $nilai_dihitung = substr($total_biaya, -5, 5); } else { $nilai_depan = substr($total_biaya, 0, (strlen($total_biaya) - 4)); $nilai_dihitung = substr($total_biaya, -4, 4); } if (($nilai_dihitung * 1) == 0) { // echo 'Sudah bulat'; // echo 'Sudah bulat'; } else { // echo $nilai_depan.'
'; // echo $nilai_dihitung.'
'; // echo 'Nilai depan = '.$nilai_depan.', Nilai Dihitung = '.$nilai_dihitung.''; $nilai_depan_plus = (int) $nilai_depan + 1; // echo 'Nilai depan plus = '.$nilai_depan_plus.' ==> '.bulat_puluhan($nilai_depan_plus.$nilai_dihitung).''; // echo $nilai_depan_plus.'
'.bulat_puluhan($nilai_depan_plus.$nilai_dihitung); $nilai_setelah_bulat = bulat_puluhan($nilai_depan_plus . $nilai_dihitung); $nilai_pembulatan = round(($nilai_setelah_bulat - preg_replace("/,/", '.', $total_biaya)), 2); // echo 'Nilai setelah bulat = '.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' ==> '.$nilai_pembulatan.''; // echo '
'.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' = '.$nilai_pembulatan; } } elseif ($total_biaya != '') { // tidak terdapat desimal $nilai_depan = substr($total_biaya, 0, (strlen($total_biaya) - 2)); $nilai_dihitung = substr($total_biaya, -2, 2); // echo $nilai_depan.'
'; // echo $nilai_dihitung.'
'; // echo 'Nilai depan = '.$nilai_depan.', Nilai Dihitung = '.$nilai_dihitung.''; if (($nilai_dihitung * 1) == 0) { // echo 'Sudah bulat'; } else { $nilai_depan_plus = (int) $nilai_depan + 1; // echo 'Nilai depan plus = '.$nilai_depan_plus.' ==> '.bulat_puluhan($nilai_depan_plus.$nilai_dihitung).''; // echo $nilai_depan_plus.'
'.bulat_puluhan($nilai_depan_plus.$nilai_dihitung); $nilai_setelah_bulat = bulat_puluhan($nilai_depan_plus . $nilai_dihitung); $nilai_pembulatan = round(($nilai_setelah_bulat - preg_replace("/,/", '.', $total_biaya)), 2); // echo 'Nilai setelah bulat = '.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' ==> '.$nilai_pembulatan.''; // echo '
'.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' = '.$nilai_pembulatan; } } $hasil = ['pembulatan' => $nilai_pembulatan, 'setelah_pembulatan' => $nilai_setelah_bulat]; } echo json_encode(['message' => $msg, 'type' => $type, 'hasil' => $hasil]); exit; } elseif (array_key_exists('form_password', $_REQUEST) && $_REQUEST['form_password']) { $html = '
A lowercase letter. A capital (uppercase) letter. A number. Minimum 8 characters.
Thanks! , The Captcha Is Correct!
' . $sweetalert_js . ' '; echo $html; exit; } elseif (array_key_exists('cek_password', $_REQUEST) && $_REQUEST['cek_password']) { $password_lama = $_REQUEST['password_lama']; $password_baru = $_REQUEST['password_baru']; if ('' != $password_lama && '' != $password_baru) { $email = $_REQUEST['email_login']; $temp_user = $db->query("SELECT pwd from m_login where nip = '$email'"); if ($temp_user->numRows() > 0) { $data_user = $temp_user->fetchFirst(); $verify = password_verify($password_lama, $data_user['pwd']); if ($verify == true) { // update password $arr_update['pwd'] = password_hash($password_baru, PASSWORD_DEFAULT); $update_login = execute("UPDATE m_login " . bind_sql($arr_update, 1) . " where nip = '$email' "); if ($update_login) { $message = "Password berhasil diubah!"; $type = "success"; } else { $message = "Password gagal diubah!"; $type = "error"; } } else { $message = "Password lama tidak sesuai!"; $type = "error"; } } else { $message = "User tidak ditemukan!"; $type = "error"; } } echo json_encode(['message' => $message, 'type' => $type]); exit; } elseif (array_key_exists('change_nobill', $_REQUEST) && $_REQUEST['change_nobill']) { $nobill = $_REQUEST['nobill']; $nobillbaru = $_REQUEST['nobillbaru']; $norm = $_REQUEST['norm']; $sistem = $_REQUEST['sistem']; if ('' != $nobill && '' != $norm && '' != $nobillbaru) { if ($sistem == 'ranap') { $query_bill = "UPDATE t_billranap set nobill = $nobillbaru, nonota = concat($nobillbaru,right (nonota::varchar(16),3))::bigint where nobill = $nobill and nomr = '$norm'"; $query_bayar = "UPDATE t_bayarranap set nobill = $nobillbaru where nobill = $nobill and nomr = '$norm'"; // change piutang $query_piutang = "UPDATE t_piutang set nobilling = '$nobillbaru' where nobilling = '$nobill' and nomr = '$norm' and st_billing = 'IRNA'"; } else { $query_bill = "UPDATE t_billrajal set nobill = $nobillbaru, nonota = concat($nobillbaru,right (nonota::varchar(16),3))::bigint where nobill = $nobill and nomr = '$norm'"; $query_bayar = "UPDATE t_bayarrajal set nobill = $nobillbaru where nobill = $nobill and nomr = '$norm'"; } $bill = execute($query_bill); $bayar = execute($query_bayar); if ($bill && $bayar) { if ($sistem == 'ranap') { execute($query_piutang); } $message = 'Ganti nobill berhasil'; $type = 'success'; } else { $message = 'Ganti nobill gagal'; $type = 'error'; } } else { $message = 'Invalid request'; $type = 'error'; } echo json_encode(['message' => $message, 'type' => $type]); exit; } elseif (array_key_exists('perbaikan_konsul', $_REQUEST) && $_REQUEST['perbaikan_konsul']) { $tanggal_awal = $_REQUEST['tanggal_awal']; $tanggal_akhir = $_REQUEST['tanggal_akhir']; if ('' != $tanggal_awal && '' != $tanggal_akhir) { if ($is_tarif_baru){ $query_bill = "SELECT a.idxbill,a.idxdaftar,a.unit,a.kddokter from t_billrajal a join m_dokter d on a.kddokter = b.kddokter where kodetarif like 'R.JAL.%' and tanggal between '$tanggal_awal' and '$tanggal_akhir'"; $tmp_bill = $db->query($query_bill); }else{ $query_bill = "SELECT a.idxbill,a.idxdaftar,a.unit,a.kddokter from t_billrajal a join m_dokter d on a.kddokter = b.kddokter where kodetarif like 'KPRJ.%' and tanggal between '$tanggal_awal' and '$tanggal_akhir'"; $tmp_bill = $db->query($query_bill); } if ($tmp_bill->numRows() > 0) { foreach ($tmp_bill->fetchAll() as $row) { $kddokter_bill = $row['kddokter']; $kdunit_bill = $row['unit']; $idxdaftar_bill = $row['idxdaftar']; // cari list konsul $konsul = $db->query("SELECT a.kdpoly,a.dokter_penerima from t_pemeriksaan_hist a join m_dokter d on a.dokter_penerima = d.kddokter where idxdaftar = $idxdaftar_bill and status_aktif = 1"); if ($konsul->numRows() > 0) { } } } if ($bill && $bayar) { $message = 'Ganti nobill berhasil'; $type = 'success'; } else { $message = 'Ganti nobill gagal'; $type = 'error'; } } else { $message = 'Invalid request'; $type = 'error'; } echo json_encode(['message' => $message, 'type' => $type]); exit; } elseif (array_key_exists('notif_nobill', $_REQUEST) && $_REQUEST['notif_nobill']) { $tahun_cek = date('Y'); $sql = "SELECT nobill,count(*) as jml from ( select distinct nobill,nomr from t_billrajal where status <> 'BATAL' and aps = 0 and date_part('year',tanggal) = $tahun_cek ) a group by nobill having count(*) > 1 order by nobill"; $tmp_cek = $db->query($sql); if ($_REQUEST['is_counter']) { echo json_encode(['type' => 'success', 'jumlah_notif' => $tmp_cek->numRows()]); exit; } else { $temp_html = '
Daftar Nobill Dobel
'; if ($tmp_cek->numRows() > 0) { $no = 1; foreach ($tmp_cek->fetchAll() as $row) { $data_bill = $db->query("SELECT distinct a.nomr,a.nama,a.jeniskelamin,a.alamat,b.nama as poly1,c.nama as carabayar1,d.nama as rujukan1, e.tglreg,e.st_asal_masuk,br.nobill,e.idxdaftar,c.nama as jenis_carabayar FROM m_pasien a join t_pendaftaran e on a.nomr = e.nomr join m_ruang b on e.kdpoly = b.no join m_carabayar c on e.kdcarabayar = c.kode left join m_rujukan d on e.kdrujuk = d.kode LEFT JOIN m_dokter dr on dr.kddokter=e.kddokter JOIN t_billrajal br ON e.idxdaftar = br.idxdaftar WHERE br.nobill = {$row['nobill']} LIMIT {$row['jml']}"); if ($data_bill->numRows() > 0) { foreach ($data_bill->fetchAll() as $row2) { $temp_html .= ''; $no++; } } } } $temp_html .= '
NoTanggal RegNo RMNo BillCara BayarKlinikNama PasienAlamat Pasien
' . $no . '' . $row2['tglreg'] . '' . $row2['nomr'] . '' . $row2['nobill'] . '' . $row2['jenis_carabayar'] . '' . $row2['poly1'] . '' . $row2['nama'] . '' . $row2['alamat'] . '
'; echo json_encode(['type' => 'success', 'data' => $temp_html]); exit; } } elseif (array_key_exists('reregistrasi', $_REQUEST) && $_REQUEST['reregistrasi'] == 1) { $idxdaftar = $_REQUEST['idx']; $nomr = $_REQUEST['nomr']; $nobill = $_REQUEST['nobill']; $tmp_pendaftaran = $db->query("SELECT nomr,tglreg,kddokter,kdpoly,strujukan,kdrujuk,kdcarabayar,nojaminan, jamreg,masukpoly,minta_rujukan,shift,pasienbaru,nip,ketrujuk,tglrujukan, penanggungjawab_nama,penanggungjawab_hubungan,penanggungjawab_alamat,penanggungjawab_phone, status,ketbayar,nokartu,diagnosa_awal,diagnosa_utama,kelas_daftar,nosep, st_asal_masuk,status_kecelakaan,catatan,no_antrian,stts_ktp,no_kunjung,norujukan,sep_file,subspesialis FROM t_pendaftaran where idxdaftar = $idxdaftar"); $arr_data_pendaftaran = $tmp_pendaftaran->fetchFirst(); if ($arr_data_pendaftaran['kdpoly'] == $_SESSION['poli_igd']) { if ($arr_data_pendaftaran['subspesialis'] == '') { $arr_data_pendaftaran['subspesialis'] = ['value' => 0, 'type' => 'number']; } $sqlinsert_pendaftaran = "INSERT INTO t_pendaftaran " . bind_sql($arr_data_pendaftaran); } else { unset($arr_data_pendaftaran['masukpoly']); if ($arr_data_pendaftaran['subspesialis'] == '') { $arr_data_pendaftaran['subspesialis'] = ['value' => 0, 'type' => 'number']; } $sqlinsert_pendaftaran = "INSERT INTO t_pendaftaran " . bind_sql($arr_data_pendaftaran); } $sqlinsert_pendaftaran .= " RETURNING idxdaftar"; $save_daftar = execute($sqlinsert_pendaftaran); $result_daftar = $save_daftar->fetchFirst(); $idx_daftar = $result_daftar['idxdaftar']; if (!$save_daftar) { $msg = 'Gagal tambah kunjungan'; $type = 'error'; } else { // set batal kunjungan $upd_bill = execute("UPDATE t_billrajal set status = 'BATAL', alasan_batal = 'Diregistrasi Ulang' where nobill = " . $nobill . " and idxdaftar = " . $idxdaftar); // update anamnesis $update_anamnesis = execute("UPDATE t_diagnosadanterapi set idxdaftar = $idx_daftar where idxdaftar = $idxdaftar"); //update record rekammedik $query_rm = execute("UPDATE t_rekammedik set idxdaftar = $idx_daftar where idxdaftar = $idxdaftar"); //update record pendaftaran $query_pendaftaran = execute("UPDATE t_pendaftaran set status = 11 where idxdaftar = $idxdaftar"); if ($arr_data_pendaftaran['kdpoly'] == $_SESSION['kd_klinik_gcu']) { $arr_update['idxdaftar'] = $idx_daftar; $update_gcu = "UPDATE t_gcu " . bind_sql($arr_update, 1) . " where idxdaftar = $idxdaftar"; execute($update_gcu); } $db_igd = $db->query("SELECT no,nama FROM m_ruang where kelompok = 'IGD' and st_aktif = 1"); $arr_igd = $arr_nama_igd = []; foreach ($db_igd->fetchAll() as $igd) { $arr_igd[] = $igd['no']; $arr_nama_igd[$igd['no']] = $igd['nama']; } if (in_array($arr_data_pendaftaran['POLIKLINIK'], $arr_igd)) { // tarif daftar IGD $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_igd_baru'] : $_SESSION['tarif_daftar_igd']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_igd_baru']; } } else { // get tarif sesuai aturan if ($arr_data_pendaftaran['strujukan'] == 0) { // tarif daftar tanpa rujukan $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_tanpa_rujukan_baru'] : $_SESSION['tarif_daftar_tanpa_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik_baru']; } } elseif ($arr_data_pendaftaran['strujukan'] == 1) { // tarif daftar dengan rujukan if ($arr_data_pendaftaran['kdrujuk'] == 2) { // jika rujukan dari faskes swasta $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if ($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik']; } } else { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_dg_rujukan_baru'] : $_SESSION['tarif_daftar_dg_rujukan']; if($is_tarif_baru){ $kode_tarif_konsul = $_SESSION['tarif_konsul_klinik']; } } } if (preg_match("/UTAMA|EKSEKUTIF/i", $arr_data_pendaftaran['st_asal_masuk'])) { $kode_tarif_daftar = ($is_tarif_baru) ? $_SESSION['tarif_daftar_poli_utama_baru'] : $_SESSION['tarif_daftar_poli_utama']; $kode_tarif_konsul = ''; } } $tarif_daftar = getTarifPendaftaran($kode_tarif_daftar, NULL, NULL); $last_bill = getLastNoBILL(1); $qty = 1; $_SESSION['poly'] = $arr_data_pendaftaran['kdpoly']; $_SESSION['idx'] = $idx_daftar; $ip = getRealIpAddr(); $cek_kdunit = $db->query("SELECT kdunit FROM m_ruang where no = {$arr_data_pendaftaran['kdpoly']} "); $data_kdunit = ($cek_kdunit->numRows() > 0) ? $cek_kdunit->fetchFirst()['kdunit'] : null; $tmp_cartbayar = 'INSERT into tmp_cartbayar ' . bind_sql(['kodetarif' => $kode_tarif_daftar, 'qty' => 1, 'ip' => $ip, 'id' => $kode_tarif_daftar, 'poly' => $arr_data_pendaftaran['kdpoly'], 'kddokter' => $arr_data_pendaftaran['kddokter'], 'tarif' => $tarif_daftar['jumlah'], 'tottarif' => $tarif_daftar['jumlah'], 'jasa_pelayanan' => $tarif_daftar['jasa_pelayanan'], 'jasa_sarana' => $tarif_daftar['jasa_sarana'], 'unit' => $arr_data_pendaftaran['kdpoly']]); $tmp_cartbayar .= ' RETURNING idxbayar'; $tmp_query = execute($tmp_cartbayar); $idx_tmp = $tmp_query->fetchFirst()['idxbayar']; $tmp_cartdetil = 'INSERT into tmp_cartbayar_detil ' . bind_sql([ 'idxbayar' => $idx_tmp, 'kddokter' => $arr_data_pendaftaran['kddokter'], 'kode_tarif' => $kode_tarif_daftar, 'komponen' => 'JASA PELAYANAN', 'nilai' => $tarif_daftar['jasa_pelayanan'] ]); execute($tmp_cartdetil); // cek nobill sebelum tambah bill baru, apakah sudah ada di billing rajal? $cek_nobill = duplikasi_bill($last_bill); if ($cek_nobill == false) { $save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')])); if ($save_nobill_temp) { $bill_daftar = new Billing('irja', $arr_data_pendaftaran['nomr'], $idx_daftar, date('Y-m-d'), 0, 0, $arr_data_pendaftaran['kdcarabayar'], $arr_data_pendaftaran['kdpoly'], 0, $data_kdunit); $nonota = $bill_daftar->simpanBill(); } else { $m_maxnobill = 'UPDATE m_maxnobill set nomor = ' . ($last_bill + 1) . ' where type=\'bill_pasien\' and 1 = 1'; execute($m_maxnobill); $bill_daftar = new Billing('irja', $arr_data_pendaftaran['nomr'], $idx_daftar, date('Y-m-d'), 0, 0, $arr_data_pendaftaran['kdcarabayar'], $arr_data_pendaftaran['kdpoly'], 0, $data_kdunit); $nonota = $bill_daftar->simpanBill(); $last_bill = substr($nonota, 0, 8); $save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')])); } } else { // $nobill_top = $db->query("SELECT distinct nobill from t_billranap // union // SELECT distinct nobill from t_billrajal // order by nobill desc limit 1"); // if($nobill_top->numRows() > 0) { // $data_nobill = $nobill_top->fetchFirst(); $data_nobill['nobill'] = getLastNoBILL(1); // $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.($data_nobill['nobill']).' where type=\'bill_pasien\' and 2 = 2'; // execute($m_maxnobill); $new_nobill = ($data_nobill['nobill']); // } $save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $new_nobill, 'created_at' => date('Y-m-d H:i:s')])); if ($save_nobill_temp) { $bill_daftar = new Billing('irja', $arr_data_pendaftaran['nomr'], $idx_daftar, date('Y-m-d'), 0, 0, $arr_data_pendaftaran['kdcarabayar'], $arr_data_pendaftaran['kdpoly'], 0, $data_kdunit); $nonota = $bill_daftar->simpanBill(); } else { // $m_maxnobill = 'UPDATE m_maxnobill set nomor = '.($new_nobill+1).' where type=\'bill_pasien\' and 3 = 3'; // execute($m_maxnobill); $bill_daftar = new Billing('irja', $arr_data_pendaftaran['nomr'], $idx_daftar, date('Y-m-d'), 0, 0, $arr_data_pendaftaran['kdcarabayar'], $arr_data_pendaftaran['kdpoly'], 0, $data_kdunit); $nonota = $bill_daftar->simpanBill(); $last_bill = substr($nonota, 0, 8); $save_nobill_temp = execute("INSERT INTO temp_nobill " . bind_sql(['nobill' => $last_bill, 'created_at' => date('Y-m-d H:i:s')])); } } $msg = 'Pendaftaran Berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('koreksi_hari_rawat', $_REQUEST) && $_REQUEST['koreksi_hari_rawat'] == true) { $idxdaftar = $_REQUEST['idxdaftar']; $tmp_rm = $db->query("SELECT * FROM t_admission where id_admission = $idxdaftar"); if ($tmp_rm->numRows() > 0) { $tmp_hist = $db->query("SELECT * from t_admission_ruanghist where tgl_batal is null and idx_admission = $idxdaftar order by id_ruanghist"); if ($tmp_hist->numRows() == 1) { $save_koreksi = execute("UPDATE t_admission set tgl_pindah = NULL where id_admission = $idxdaftar"); if ($save_koreksi) { $msg = 'berhasil disimpan'; $type = 'success'; } else { $msg = 'gagal disimpan'; $type = 'error'; } } if ($tmp_hist->numRows() > 1) { // update jam pindah pada ruang pertama dan jam masuk ruang kedua $data_ruang = $tmp_hist->fetchAll(); $id_ruang1 = $data_ruang[0]['id_ruanghist']; $id_ruang2 = $data_ruang[1]['id_ruanghist']; $tgl_pindah = $data_ruang[0]['tgl_pindah']; $tgl_pindah_baru = datetime_to_date_en($tgl_pindah); $jam_pindah = datetime_to_time($tgl_pindah); $jam_12fix = '12:' . substr($jam_pindah, 3, 5); $tgl_jam_pindah_baru = $tgl_pindah_baru . ' ' . $jam_12fix; $update_ruang_pertama = execute("UPDATE t_admission_ruanghist set tgl_pindah = '{$tgl_jam_pindah_baru}' where id_ruanghist = {$id_ruang1}"); $update_ruang_kedua = execute("UPDATE t_admission_ruanghist set tgl_awal = '{$tgl_jam_pindah_baru}' where id_ruanghist = {$id_ruang2}"); if ($update_ruang_pertama && $update_ruang_kedua) { $msg = 'berhasil dikoreksi'; $type = 'success'; } else { $msg = 'gagal dikoreksi'; $type = 'warning'; } } else { $msg = 'tidak sesuai kondisi'; $type = 'warning'; } } else { $msg = 'Data tidak ditemukan'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('ris_viewer', $_REQUEST) && $_REQUEST['ris_viewer'] == true) { $data = array( 'force_all_browsers' => 'true', 'patient_id' => $_REQUEST['nomr'], 'accession_number' => $_REQUEST['nofoto'], 'tz' => password_hash(date('Y-m-d H:i:s'), PASSWORD_DEFAULT), 'password_encrypted' => 'true', 'user_name' => 'hisris', 'password' => 'HIIFALMMAHFLAOCN', ); $url = 'http://10.10.123.24/portal/'; /*echo ' '; */ echo json_encode(['url' => $url . '?' . http_build_query($data)]); exit; } elseif (array_key_exists('edit_hasil_mikro', $_REQUEST) && $_REQUEST['edit_hasil_mikro'] == true) { $idxmikro = $_REQUEST['idxmikro']; $tmp_mikro = $db->query("SELECT * FROM t_orderlabmikro where idxordermikro = $idxmikro"); echo json_encode($tmp_mikro->fetchFirst()); exit; } elseif (array_key_exists('batal_hasil_mikro', $_REQUEST) && $_REQUEST['batal_hasil_mikro'] == true) { $idxmikro = $_REQUEST['idxmikro']; $save_mikro = execute("UPDATE t_orderlabmikro set jenis_hasil = null,jenis_pemeriksaan = null, status = null, simpan_analis = null, tgl_hasil = null, petugas = null,dpjp_lab1 = null,dpjp_lab2 = null where idxordermikro = $idxmikro"); if ($save_mikro) { $msg = 'Hasil berhasil dibatalkan'; $type = 'success'; } else { $msg = 'Hasil gagal dibatalkan'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('kirim_expertise_mikro', $_REQUEST) && $_REQUEST['kirim_expertise_mikro'] == true) { $idxmikro = $_REQUEST['idxmikro']; $save_mikro = execute("UPDATE t_orderlabmikro set status_kirim_expertise = 1 where idxordermikro = $idxmikro"); if ($save_mikro) { $msg = 'Data berhasil dikirim expertise'; $type = 'success'; } else { $msg = 'Data gagal dikirim expertise'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('kirim_hasil_mikro', $_REQUEST) && $_REQUEST['kirim_hasil_mikro'] == true) { $idxmikro = $_REQUEST['idxmikro']; $save_mikro = execute("UPDATE t_orderlabmikro set status_final = 1 where idxordermikro = $idxmikro"); if ($save_mikro) { $msg = 'Hasil berhasil dikirim'; $type = 'success'; } else { $msg = 'Hasil gagal dikirim'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_pulang_resume', $_REQUEST) && $_REQUEST['batal_pulang_resume'] == true) { $idadmission = $_REQUEST['idadmission']; $save_mikro = execute("DELETE from t_resumepulang where idadmission = $idadmission"); if ($save_mikro) { $msg = 'Batal pulang berhasil'; $type = 'success'; } else { $msg = 'Batal pulang gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('cek_penunjang', $_REQUEST) && $_REQUEST['cek_penunjang'] == true) { $idxdaftar = $_REQUEST['IDXDAFTAR2']; $nomr = $_REQUEST['NOMR']; $rajal = $_REQUEST['rajal']; if ($rajal == FALSE) { $query_labpk = "SELECT a.nomr, a.nip, b.nama, b.alamat, c.nama as carabayar, a.masukrs as tglreg,a.noruang,d.nama as poliruang, a.nott,a.id_admission as idreg, e.namadokter, lpk.nolab as no_lab_pk, lpk.tglorder as tgl_order_pk, 0 as st_rajal, 0 as st_aps, lpk.st_periksa ,lpk.st_aktif FROM t_admission a JOIN m_pasien b on b.nomr = a.nomr JOIN m_carabayar c on c.KODE = a.statusbayar JOIN m_ruang d on d.no = a.noruang JOIN m_dokter e on e.KDDOKTER = a.dokterpengirim JOIN (select distinct pk_m.NOLAB," . get_date_sql('pk_m.tglorder') . " as tglorder,pk_m.IDXDAFTAR,pk_m.NOMR,pk_m.st_periksa,pk_m.st_aktif from t_orderlabpk_main pk_m LEFT JOIN t_orderlabpk pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE pk_m.RAJAL = 0 AND pk_m.IDXDAFTAR = $idxdaftar) lpk ON lpk.IDXDAFTAR = a.id_admission WHERE a.id_admission = $idxdaftar and a.noruang != 0 and a.keluarrs is null ORDER BY lpk.TGLORDER DESC"; $query_mikro = "SELECT a.nomr, a.nip, b.nama, b.alamat, c.nama as carabayar, a.masukrs as tglreg,a.noruang,d.nama as poliruang, a.nott,a.id_admission as idreg, e.namadokter, lmikro.nolab as no_lab_mikro, lmikro.tglorder as tgl_order_mikro, 0 as st_rajal, 0 as st_aps, lmikro.st_periksa,lmikro.st_aktif FROM t_admission a JOIN m_pasien b on b.nomr = a.nomr JOIN m_carabayar c on c.KODE = a.statusbayar JOIN m_ruang d on d.no = a.noruang JOIN m_dokter e on e.KDDOKTER = a.dokterpengirim JOIN (select distinct pk_m.nolab," . get_date_sql('pk_m.tglorder') . " as tglorder,pk_m.idxdaftar,pk_m.nomr,pk_m.st_periksa,pk_m.st_aktif FROM t_orderlabmikro_main pk_m LEFT JOIN t_orderlabmikro pk_d on pk_m.NOLAB = pk_d.NOLAB WHERE RAJAL = 0 AND pk_m.IDXDAFTAR = $idxdaftar) lmikro ON lmikro.IDXDAFTAR = a.id_admission WHERE a.id_admission = $idxdaftar and a.noruang != 0 and a.keluarrs is null ORDER BY lmikro.TGLORDER DESC"; $query_pa = "SELECT a.nomr, a.nip, b.nama, b.alamat, c.nama as carabayar, a.masukrs as tglreg,a.noruang,d.nama as poliruang, a.nott,a.id_admission as idreg, e.namadokter, lpa.noreglab as no_lab_pa, lpa.tglorder as tgl_order_pa, 0 as st_rajal, 0 as st_aps, lpa.st_periksa,lpa.st_aktif FROM t_admission a JOIN m_pasien b on b.nomr = a.nomr JOIN m_carabayar c on c.KODE = a.statusbayar JOIN m_ruang d on d.no = a.noruang JOIN m_dokter e on e.KDDOKTER = a.dokterpengirim JOIN (select distinct pk_m.noreglab," . get_date_sql('pk_m.tglorder') . " as tglorder,pk_m.idxdaftar,pk_m.nomr,pk_m.st_periksa,pk_m.st_aktif FROM t_orderlabpa_main pk_m LEFT JOIN t_orderlabpa pk_d on pk_m.noreglab = pk_d.nolab WHERE rajal = 0 AND pk_m.idxdaftar = $idxdaftar) lpa ON lpa.idxdaftar = a.id_admission WHERE a.id_admission = $idxdaftar and a.noruang != 0 and a.keluarrs is null ORDER BY lpa.TGLORDER DESC"; $query_tindakan = "SELECT a.noorder, a.polypengirim, a.nomr, a.idxdaftar, a.tglorder, a.tgl_jadwalpemeriksaan, a.petugas_kirim, a.idxpktind, b.nama, b.alamat, e.nama as carabayar,c.nama as nama_unit,null as nott, f.namadokter, a.rajal, a.aps, a.st_proses,a.st_aktif from t_ordertindakan_main a join m_pasien b on a.NOMR = b.NOMR join t_admission d on a.IDXDAFTAR = d.id_admission join m_ruang c on d.noruang = c.no join m_carabayar e on d.statusbayar = e.KODE join m_dokter f on a.DRPENGIRIM = f.KDDOKTER WHERE a.RAJAL = 0 and d.id_admission = $idxdaftar ORDER BY a.NOORDER DESC"; $query_radiologi = "SELECT a.nofilm, a.polypengirim, a.nomr, a.idxdaftar, a.tglorder, a.tgl_jadwalpemeriksaan, a.petugas_kirim, a.idxpkrad, b.nama, b.alamat, e.nama as carabayar,c.nama as nama_unit,null as nott, f.namadokter, a.rajal, a.aps, a.st_proses,a.st_aktif from t_orderradiologi_main a join m_pasien b on a.NOMR = b.NOMR join t_admission d on a.IDXDAFTAR = d.id_admission join m_ruang c on d.noruang = c.no join m_carabayar e on d.statusbayar = e.KODE join m_dokter f on a.DRPENGIRIM = f.KDDOKTER WHERE a.RAJAL = 0 and d.id_admission = '$idxdaftar' ORDER BY a.NOFILM DESC"; $query_darah = "SELECT a.nomr, a.nip, b.nama, b.alamat, c.nama as carabayar, a.masukrs as tglreg,a.noruang,d.nama as poliruang, a.nott,a.id_admission as idreg, e.namadokter, lpk.no_form as no_lab_darah, lpk.tgl_order as tgl_order_darah, 0 as st_rajal, 0 as st_aps, lpk.st_periksa ,lpk.st_aktif FROM t_admission a JOIN m_pasien b on b.nomr = a.nomr JOIN m_carabayar c on c.KODE = a.statusbayar JOIN m_ruang d on d.no = a.noruang JOIN m_dokter e on e.KDDOKTER = a.dokterpengirim JOIN (select distinct pk_m.no_form," . get_date_sql('pk_m.tgl_order') . " as tgl_order,pk_m.idxdaftar,pk_m.NOMR,pk_m.st_periksa,pk_m.st_aktif from t_orderlabdarah_main pk_m LEFT JOIN t_orderlabdarah pk_d on pk_m.idxdarahmain = pk_d.idxdarah WHERE RAJAL = 0 AND pk_m.idxdaftar = '$idxdaftar') lpk ON lpk.idxdaftar = a.id_admission WHERE a.id_admission = '$idxdaftar' and a.noruang != 0 and a.keluarrs is null ORDER BY lpk.tgl_order DESC"; } else { $cek_pendaftaran = "SELECT tp.nomr,mp.nama,mr.nama as ruangan,(select nobill from t_billrajal where idxdaftar = tp.idxdaftar and nomr = mp.nomr limit 1) as nobill from t_pendaftaran tp JOIN m_pasien mp on tp.nomr = mp.nomr JOIN m_ruang mr on tp.kdpoly = mr.no where tp.nomr ='$nomr' and tp.idxdaftar = $idxdaftar"; $order_labpk = "SELECT b.idxorderpk as idxorder, b.tglorder,a.tgl_jadwal,c.nama_field as pemeriksaan,st_periksa_detil as st_periksa,'LAB SENTRAL' as nama_lab,(select roleid from user_roles where rolename = 'LAB SENTRAL' limit 1) as role from t_orderlabpk_main a JOIN t_orderlabpk b on a.nolab = b.nolab JOIN m_form_lab c on b.idxform = c.form_id WHERE a.idxdaftar = '$idxdaftar' and a.nomr = '$nomr' and a.rajal = 1 and b.st_periksa_detil = 0 and a.st_aktif = 1"; $order_labmikro = "SELECT b.idxordermikro as idxorder,b.tglorder,a.tgl_jadwal,c.nama_field as pemeriksaan,a.st_periksa,'LAB MIKROBIOLOGI' as nama_lab,(select roleid from user_roles where rolename = 'LAB MIKROBIOLOGI' limit 1) as role from t_orderlabmikro_main a JOIN t_orderlabmikro b on a.nolab = b.nolab JOIN m_form_lab c on b.idxform = c.form_id WHERE a.idxdaftar = '$idxdaftar' and a.nomr = '$nomr' and a.st_rajal = 1 and a.st_periksa = 0 and a.st_aktif = 1"; $order_labpa = "SELECT b.idxorderpa as idxorder,a.tglorder,a.tgl_jadwal,c.nama_field as pemeriksaan,a.st_periksa,'LAB PATOLOGI ANATOMI' as nama_lab,(select roleid from user_roles where rolename = 'LAB PATOLOGI ANATOMI' limit 1) as role from t_orderlabpa_main a JOIN t_orderlabpa b on a.noreglab = b.nolab JOIN m_form_lab c on b.idxform = c.form_id WHERE a.idxdaftar = '$idxdaftar' and a.nomr = '$nomr' and a.rajal = 1 and a.st_periksa = 0 and a.st_aktif = 1"; $order_radiologi = "SELECT b.idxorderrad as idxorder, a.tglorder, a.tgl_jadwalpemeriksaan as tgl_jadwal,c.nama_field as pemeriksaan, a.st_proses as st_periksa,'RADIOLOGI' as nama_lab,(select roleid from user_roles where rolename = 'RADIOLOGI' limit 1) as role from t_orderradiologi_main a JOIN t_orderradiologi b on a.idxpkrad = b.idxpkrad JOIN m_form_lab c on b.idxform = c.form_id WHERE a.idxdaftar = '$idxdaftar' and a.nomr = '$nomr' and a.rajal = 1 and a.st_proses = 0 and a.st_aktif = 1"; $order_darah = "SELECT b.idxdarah as idxorder, a.tgl_order as tglorder,a.tgl_jadwal,c.nama_field as pemeriksaan,a.st_periksa,'UTDRS' as nama_lab,(select roleid from user_roles where rolename = 'LAB DARAH' limit 1) as role from t_orderlabdarah_main a JOIN t_orderlabdarah b on a.idxdarahmain = b.idxdarah JOIN m_form_lab c on b.idx_form = c.form_id WHERE a.idxdaftar = '$idxdaftar' and a.nomr = '$nomr' and a.rajal = 1 and a.st_periksa = 0 and a.st_aktif = 1"; $order_farmasi = "SELECT a.idxpesanobat as idxorder, a.tgl_pesan as tglorder, null as tgl_jadwal, a.kode_obat as pemeriksaan, a.status_save::int as st_periksa,'FARMASI' as nama_lab,(select roleid from user_roles where rolename = 'APOTEK' limit 1) as role from t_permintaan_apotek_rajal a WHERE a.idxdaftar = '$idxdaftar' and a.norm = '$nomr' and a.status_save='0' and a.status_batal = 0 and (a.status_acc is null or a.status_acc = 1 or a.status_acc = 0)"; $all_order = $order_labpk . "\nUNION\n" . $order_labmikro . "\nUNION\n" . $order_labpa . "\nUNION\n" . $order_radiologi . "\nUNION\n" . $order_darah . "\nUNION\n" . $order_farmasi; } $tmp_order = $db->query($all_order); if ($tmp_order->numRows() > 0) { $row_data = $tmp_order->fetchAll(); $arr_result = []; $arr_role = []; foreach ($row_data as $row) { if (!array_key_exists($row['nama_lab'], $arr_result)) { $arr_result[$row['nama_lab']] = 0; $arr_role[$row['role']] = $row['nama_lab']; } $arr_result[$row['nama_lab']] += 1; } $str_result = []; foreach ($arr_result as $lab => $val) { $str_result[] = $lab . ' ' . $val; } // push message $tmp_pasien = $db->query($cek_pendaftaran); $data_pasien = ($tmp_pasien->numRows() > 0) ? $tmp_pasien->fetchFirst() : null; foreach ($arr_role as $role => $nama) { $arr_message = [ 'message_title' => 'Pasien Akan KRS!!!', 'message_text' => 'Segera selesaikan transaksi untuk pasien :
' . $data_pasien['nama'] . ' / ' . $data_pasien['nomr'] . ' / ' . $data_pasien['nobill'], 'message_from' => $data_pasien['ruangan'], 'message_to_role' => ['value' => $role, 'type' => 'number'], 'message_to' => $nama, 'created_at' => date('Y-m-d H:i:s') ]; execute("INSERT INTO t_message " . bind_sql($arr_message)); } $msg = 'Proses pasien keluar gagal. Terdapat pelayanan penunjang yang belum diselesaikan : ' . implode(",", $str_result); $type = 'error'; } else { $msg = 'Proses pasien keluar berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('penunjang_get_message', $_REQUEST) && $_REQUEST['penunjang_get_message'] == true) { $role = (array_key_exists('roles', $_REQUEST)) ? $_REQUEST['roles'] : $_SESSION['ROLES']; $counter = (array_key_exists('counter', $_REQUEST)) ? $_REQUEST['counter'] : false; $tgl_message = date('Y-m-d'); $get_message = $db->query("SELECT *,'danger' as message_type from t_message where date(created_at) = '$tgl_message' and message_to_role = {$role} and (dismiss_status = false or dismiss_status is null)"); if (true == (bool) $counter) { echo json_encode(['jumlah' => $get_message->numRows()]); exit; } if ($get_message->numRows() > 0) { echo json_encode(['messages' => $get_message->fetchAll()]); exit; } else { // echo json_encode(['messages'=>[['message_type'=>'info','message_title'=>'Hai...','message_from'=>'-','message_text'=>'Belum terdapat pesan untuk hari ini']]]); exit; } } elseif (array_key_exists('penunjang_post_message', $_REQUEST) && $_REQUEST['penunjang_post_message'] == true) { $id_message = $_REQUEST['id']; if ($id_message != '') { if (array_key_exists('what', $_REQUEST)) { if ($_REQUEST['what'] == 'deliver') { $arr_update = [ 'deliver_status' => ['value' => 'true', 'type' => 'number'], 'deliver_at' => date('Y-m-d H:i:s') ]; } elseif ($_REQUEST['what'] == 'read') { $arr_update = [ 'read_status' => ['value' => 'true', 'type' => 'number'], 'read_at' => date('Y-m-d H:i:s') ]; } elseif ($_REQUEST['what'] == 'dismiss') { $arr_update = [ 'dismiss_status' => ['value' => 'true', 'type' => 'number'], 'dismissed_at' => date('Y-m-d H:i:s'), 'dismissed_by' => $_REQUEST['petugas'] ]; } $save_deliver = execute("UPDATE t_message " . bind_sql($arr_update, 1) . " WHERE id_message = " . $id_message); } if ($save_deliver) { $msg = 'OK'; $type = 'success'; } else { $msg = 'FAIL'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } } elseif (array_key_exists('set_ruang_tindakan', $_REQUEST) && $_REQUEST['set_ruang_tindakan'] == TRUE) { $ruang = $_REQUEST['ruang']; $nama_ruang = $_REQUEST['nama_ruang']; if ($ruang != '') { $_SESSION['ruang_tindakan'] = $ruang; $msg = "Ruang tindakan " . $nama_ruang . " berhasil diset"; $type = "success"; } else { $msg = "Pilih Ruang Tindakan terlebih dahulu"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_pindah', $_REQUEST) && $_REQUEST['batal_pindah'] == TRUE) { $id_ruangpindah = $_REQUEST['id_ruangpindah']; if ($id_ruangpindah != '') { $adm_pindah = $db->query("SELECT * from t_admission_ruanghist a join t_admission reg on a.idx_admission = reg.id_admission where id_ruanghist = $id_ruangpindah"); $data_pindah = $adm_pindah->fetchFirst(); // var_dump($data_pindah); // exit(); if ($data_pindah['keluarrs'] != null || $data_pindah['keluarrs'] != '') { $msg = "Batalkan Billing terlebih dahulu."; $type = "error"; } else { $tgl_batal = date('Y-m-d H:i:s'); $save_batal_pindah = execute("UPDATE t_admission_ruanghist set tgl_batal = '$tgl_batal',user_batal='{$_SESSION['NIP']}' where id_ruanghist=$id_ruangpindah"); $get_data_kamar = $db->query("SELECT * from m_detail_tempat_tidur WHERE no_tt={$data_pindah['nott']} AND idxruang='{$data_pindah['noruang']}' "); $get_data_kamar = $get_data_kamar->fetchFirst(); if ($save_batal_pindah) { $get_ruangan = $db->query("SELECT * FROM t_admission_ruanghist a JOIN m_ruang r ON a.no_ruang_asal = r.no WHERE a.tgl_batal IS NULL AND idx_admission = {$data_pindah['idx_admission']} order by id_ruanghist DESC"); // var_dump($get_ruangan->fetchFirst()); if ($get_ruangan->numRows() > 0) { // execute("UPDATE m_detail_tempat_tidur SET status = 0,jenis_kelamin='' WHERE no_tt={$data_pindah['nott']} AND idxruang='{$data_pindah['noruang']}'"); $jml_ruang = $get_ruangan->numRows(); $data_ruang = $get_ruangan->fetchFirst(); // set ruang admisi ke ruang terakhir $sql_tgl_pindah = ($jml_ruang > 1) ? ",tgl_pindah = '{$data_ruang['tgl_awal']}' " : ",tgl_pindah = NULL "; $save_admisi = execute("UPDATE t_admission set noruang = {$data_ruang['no_ruang_asal']},nott={$data_ruang['no_tt_asal']} $sql_tgl_pindah where id_admission={$data_pindah['idx_admission']}"); execute("UPDATE m_detail_tempat_tidur SET status = 0,jenis_kelamin='' WHERE no_tt={$data_pindah['nott']} AND idxruang='{$data_pindah['noruang']}'"); execute("UPDATE m_detail_tempat_tidur SET status = 1 ,jenis_kelamin='{$get_data_kamar['jenis_kelamin']}' WHERE no_tt={$data_ruang['no_tt_asal']} AND idxruang = '{$data_ruang['no_ruang_asal']}'"); } $msg = "Ruang " . $data_pindah['nama'] . " berhasil dibatalkan"; $type = "success"; } else { $msg = "Ruang " . $data_pindah['nama'] . " gagal dibatalkan"; $type = "success"; } } } else { $msg = "Tidak terdapat ruang untuk dibatalkan"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('get_petugas_mrs', $_REQUEST) && $_REQUEST['get_petugas_mrs'] == true) { $tgl_mrs = $db->escape($_REQUEST['tgl_mrs']); $get_petugas_registrasi = $db->query("SELECT DISTINCT a.nip,l.nama_pegawai from t_admission a join m_login l on a.nip = l.nip where date(masukrs) = '" . $tgl_mrs . "'"); $arr_petugas = ['' => 'Pilih Pegawai']; if ($get_petugas_registrasi->numRows() > 0) { foreach ($get_petugas_registrasi->fetchAll() as $row) { $arr_petugas[$row['nip']] = $row['nama_pegawai']; } } echo form_dropdown('petugas', $arr_petugas, '', 'class="form-control"'); exit; } elseif (array_key_exists('resetOrderRawatInap', $_REQUEST) && $_REQUEST['resetOrderRawatInap']) { $idxorder = $_REQUEST['idxorder']; $query = "UPDATE t_orderadmission set status = 0,st_batal = NULL,dt_batal = NULL where idxorder = $idxorder"; $save_update = execute($query); if ($save_update) { $msg = 'Reset Status Order Rawat Inap berhasil'; $type = 'success'; } else { $msg = 'Reset Status Order Rawat Inap gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('save_no_lokal_mikro', $_REQUEST) && $_REQUEST['save_no_lokal_mikro'] == true) { $no_lokal = $db->escape($_REQUEST['no_lokal']); $idx = $db->escape($_REQUEST['idx']); $save_update = execute("UPDATE t_orderlabmikro set no_lokal = '" . $no_lokal . "' where idxordermikro = " . $idx); if ($save_update) { $msg = 'Simpan No Lokal Lab berhasil'; $type = 'success'; } else { $msg = 'Simpan No Lokal Lab gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('remove_cprj', $_REQUEST) && $_REQUEST['remove_cprj'] == true) { //var_dump($_REQUEST); $rajal_status = $_REQUEST['rajal']; $sql_cprj = "select * from t_detail_diagnosakep where id_detail_diagnosakep = {$_REQUEST['id']}"; $cppt = $db->query($sql_cprj)->fetchFirst(); if (!empty($cppt)) { if ($rajal_status == 0) { $delete = execute("DELETE FROM t_detail_diagnosakep where id_detail_diagnosakep = {$_REQUEST['id']}"); if (!$delete) { $msg = 'Hapus Catatan Pasien gagal'; $type = 'error'; } else { $msg = 'Hapus Catatan Pasien berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } else { $sql_anamnesi = "select * from t_diagnosadanterapi where created_at <= '" . $cppt['tgl'] . "' and nomr = '" . $cppt['nomr'] . "' and idxdaftar = '" . $cppt['idxrajal'] . "' "; $anamnesis = $db->query($sql_anamnesi)->fetchAll(); $sql_cprj_data = "select * from t_detail_diagnosakep where nomr = '" . $cppt['nomr'] . "' and idxrajal = '" . $cppt['idxrajal'] . "' and id_detail_diagnosakep != '" . $cppt['id_detail_diagnosakep'] . "' and tgl = (select max(tgl) from t_detail_diagnosakep where nomr = '" . $cppt['nomr'] . "' and idxrajal = '" . $cppt['idxrajal'] . "' and id_detail_diagnosakep != '" . $cppt['id_detail_diagnosakep'] . "')"; $data_cprj = $db->query($sql_cprj_data)->fetchFirst(); if (!empty($data_cprj)) { $update_cprj = execute("UPDATE t_detail_diagnosakep set is_valid = null where id_detail_diagnosakep = '" . $data_cprj['id_detail_diagnosakep'] . "'"); } $delete = execute("DELETE FROM t_detail_diagnosakep where id_detail_diagnosakep = {$_REQUEST['id']}"); if (!$delete) { $msg = 'Hapus Catatan Pasien gagal'; $type = 'error'; } else { $msg = 'Hapus Catatan Pasien berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } } } elseif (array_key_exists('del_konsul_dpjp', $_REQUEST) && $_REQUEST['del_konsul_dpjp'] == true) { $delete = execute("UPDATE t_konsultasi set kddokter_jawab = null,jawaban_konsul = null, dt_jawaban = null where id_konsultasi = {$_REQUEST['idkonsul']}"); if (!$delete) { $msg = 'Hapus Jawaban Konsultasi gagal'; $type = 'error'; } else { $msg = 'Hapus Jawaban Konsultasi berhasil'; $type = 'success'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('hapus_dokumen', $_REQUEST) && $_REQUEST['hapus_dokumen'] == TRUE) { $file = $_REQUEST['file_path']; $rajal_status = $_REQUEST['rajal']; $idxdaftar = $_REQUEST['idx']; //var_dump($idxdaftar); $decrypt_file = base64_decode($file); // var_dump($decrypt_file); // var_dump($file); // var_dump($rajal_status); if (file_exists($decrypt_file)) { $save_hapus = false; if ($rajal_status == 1) { //var_dump("RAJAL_REGULER"); $tmp_cek = $db->query("SELECT dokumen_pendukung from t_pendaftaran where idxdaftar = '" . $idxdaftar . "'"); if ($tmp_cek->numRows() > 0) { // fetch all dokumen before $data_cek = $tmp_cek->fetchFirst(); $dokumen = ($data_cek['dokumen_pendukung'] != '') ? unserialize($data_cek['dokumen_pendukung']) : []; foreach ($dokumen as $key => $dok) { if ($dok['file'] == $decrypt_file) { unlink($dok['file']); unset($dokumen[$key]); } } // exit; $arr_update['dokumen_pendukung'] = serialize($dokumen); $query_save = "UPDATE t_pendaftaran " . bind_sql($arr_update, 1) . " WHERE idxdaftar = '" . $idxdaftar . "'"; } } else { //var_dump("RANAP_REGULER"); $tmp_cek = $db->query("SELECT dokumen_pendukung from t_admission where id_admission = '" . $idxdaftar . "'"); //var_dump($tmp_cek); //exit(); if ($tmp_cek->numRows() > 0) { // fetch all dokumen before $data_cek = $tmp_cek->fetchFirst(); $dokumen = ($data_cek['dokumen_pendukung'] != '') ? unserialize($data_cek['dokumen_pendukung']) : []; foreach ($dokumen as $key => $dok) { if ($dok['file'] == $decrypt_file) { unlink($dok['file']); unset($dokumen[$key]); } } // exit; $arr_update['dokumen_pendukung'] = serialize($dokumen); /** * QUERY RAJAL */ // $query_save = "UPDATE t_pendaftaran " . bind_sql($arr_update, 1) . " WHERE idxdaftar = '" . // $idxdaftar . "'"; /** * QUERY RANAP */ $query_save = "UPDATE t_admission " . bind_sql($arr_update, 1) . " WHERE id_admission = '" . $idxdaftar . "'"; } } //var_dump($query_save); $save_hapus = execute($query_save); if ($save_hapus) { $msg = "Hapus dokumen berhasil"; $type = "success"; } else { $msg = "Hapus dokumen gagal"; $type = "error"; } } else { $msg = "Dokumen tidak ditemukan"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('form_author', $_REQUEST) && $_REQUEST['form_author']) { $petugas = (($_SESSION['KDPERAWAT'] != NULL) ? $_SESSION['KDPERAWAT'] : NULL); $kddokter = (($_SESSION['KDDOKTER'] != NULL) ? $_SESSION['KDDOKTER'] : NULL); $where = ($kddokter != null) ? " kddokter = " . $kddokter : " petugas = " . $petugas; $userdata = []; if ($kddokter != null || $petugas != null) { $tmp_cek = $db->query("SELECT * from m_ttd where " . $where); if ($tmp_cek->numRows() > 0) { $userdata = $tmp_cek->fetchFirst(); } } $html = '
' . form_file('file_ttd', '', 'class="custom-file-input" id="signature"') . '
' . (array_key_exists('ttd_path', $userdata) ? '
* Diisi jika ingin diupdate
' : '') . '
' . $sweetalert_js . ' '; echo $html; exit; } elseif (array_key_exists('save_author', $_REQUEST) && $_REQUEST['save_author']) { $email = $_REQUEST['email_author']; $nama_pegawai = $_REQUEST['nama_pegawai']; $no_telp = $_REQUEST['no_telepon']; $kddokter = $_REQUEST['kddokter']; $petugas = $_REQUEST['petugas']; $unit = $_REQUEST['unit']; $jenis_ppa = $_REQUEST['jenis_ppa']; $n = 2; $random_kode = hexdec(bin2hex(random_bytes($n))); $random_kode = str_pad($random_kode, 6, (($kddokter != null) ? 'A' : 'B'), STR_PAD_LEFT); $upload_config = [ 'storage_dir' => 'ttd', 'image_x' => 180, 'image_resize' => true, 'image_y' => 100, ]; if ($kddokter != '') { $secret = password_hash($email . '-' . $kddokter, PASSWORD_DEFAULT); //false is bool value to check whether the method works or not $hash_it = hash_hmac("sha256", utf8_encode($random_kode), $secret, false); //all four parameters // log_message('error','author:'.$secret.':'.$hash_it); $tmp_cek = $db->query("SELECT * from m_ttd where kddokter = $kddokter"); if ($tmp_cek->numRows() > 0) { // handle upload signature $data_update = ['email_author' => $email, 'no_telepon' => $no_telp, 'pin_author' => $hash_it, 'secret_key' => $secret, 'updated_at' => date('Y-m-d H:i:s')]; $ttd_path = ($_FILES['file_ttd']) ? image_save($_FILES['file_ttd'], $upload_config) : ''; if ($ttd_path != '') { $data_update['ttd_path'] = $ttd_path; } // update author $save_author = execute("UPDATE m_ttd " . bind_sql($data_update, 1) . " WHERE kddokter = " . $kddokter); } else { // handle upload signature $data_insert = ['kddokter' => $kddokter, 'jenis_ppa' => $jenis_ppa, 'unit' => $unit, 'email_author' => $email, 'no_telepon' => $no_telp, 'pin_author' => $hash_it, 'secret_key' => $secret, 'created_at' => date('Y-m-d H:i:s')]; $ttd_path = ($_FILES['file_ttd']) ? image_save($_FILES['file_ttd'], $upload_config) : ''; if ($ttd_path != '') { $data_insert['ttd_path'] = $ttd_path; // update author $save_author = execute("INSERT INTO m_ttd " . bind_sql($data_insert)); } else { $save_author = false; } } } elseif ($petugas != '') { $secret = password_hash($email . '-' . $petugas, PASSWORD_DEFAULT); //false is bool value to check whether the method works or not $hash_it = hash_hmac("sha256", utf8_encode($random_kode), $secret, false); //all four parameters // log_message('error','author:'.$secret.':'.$hash_it); $tmp_cek = $db->query("SELECT * from m_ttd where petugas = $petugas"); if ($tmp_cek->numRows() > 0) { // handle upload signature $data_update = ['email_author' => $email, 'no_telepon' => $no_telp, 'pin_author' => $hash_it, 'secret_key' => $secret, 'updated_at' => date('Y-m-d H:i:s')]; $ttd_path = ($_FILES['file_ttd']) ? image_save($_FILES['file_ttd'], $upload_config) : ''; if ($ttd_path != '') { $data_update['ttd_path'] = $ttd_path; } // update author $save_author = execute("UPDATE m_ttd " . bind_sql($data_update, 1) . " WHERE petugas = " . $petugas); } else { // handle upload signature $data_insert = ['petugas' => $petugas, 'jenis_ppa' => $jenis_ppa, 'unit' => $unit, 'email_author' => $email, 'no_telepon' => $no_telp, 'pin_author' => $hash_it, 'secret_key' => $secret, 'created_at' => date('Y-m-d H:i:s')]; $ttd_path = ($_FILES['file_ttd']) ? image_save($_FILES['file_ttd'], $upload_config) : ''; if ($ttd_path != '') { $data_insert['ttd_path'] = $ttd_path; // new author $save_author = execute("INSERT INTO m_ttd " . bind_sql($data_insert)); } else { $save_author = false; } } } if ($save_author) { // send email if ($email != '') { $client = new GuzzleHttp\Client(); $res = $client->request('POST', $_SESSION['FARMASI_WEBADDRESS'] . '/api/otorisasi', [ 'headers' => [ 'Accept' => 'application/json', 'Content-type' => 'application/json', 'x-token' => $_SESSION['farmasi_x_token'] ], 'json' => [ 'nama' => $nama_pegawai, 'no_telepon' => $no_telp, 'pin' => $random_kode, 'emailto' => $email, ] ]); } $msg = 'Simpan otorisasi berhasil! silakan cek email untuk pin otorisasi anda.'; $type = 'success'; } else { $msg = 'Simpan otorisasi gagal!'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('cek_author', $_REQUEST) && $_REQUEST['cek_author']) { $kddokter = $_REQUEST['dpjp']; $pin_author = base64_decode($_REQUEST['pin_author']); // get secret $tmp_author = $db->query("SELECT * from m_ttd where kddokter = $kddokter"); if ($tmp_author->numRows() > 0) { $author = $tmp_author->fetchFirst(); if ($author['pin_author'] != '') { $hash_pin = hash_hmac("sha256", $pin_author, $author['secret_key'], false); $hash_cek = hash_equals($author['pin_author'], $hash_pin); if ($hash_cek) { $msg = 'Verifikasi Pin Berhasil!'; $type = 'success'; } else { $msg = 'Verifikasi Pin Tidak Sesuai!'; $type = 'error'; } } else { $msg = 'DPJP belum memiliki otorisasi!'; $type = 'error'; } } else { $msg = 'DPJP belum memiliki otorisasi!'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('batal_pulang_bill', $_REQUEST) && $_REQUEST['batal_pulang_bill'] == TRUE) { $idxpulang = $_REQUEST['idxpulang']; $idx = $_REQUEST['idx']; // var_dump($_REQUEST);exit; if ($idx != '' && $idxpulang != '') { $save_batal = execute("DELETE FROM t_resumepulang where idxpulang = $idxpulang and idadmission = $idx"); if ($save_batal) { $msg = 'Batal Pulang Pasien Berhasil'; $type = 'success'; } else { $msg = 'Batal Pulang Pasien Gagal'; $type = 'error'; } } echo json_encode(['message' => $msg, 'type' => $type]); exit; } elseif (array_key_exists('loader_pasien_aps', $_REQUEST) && $_REQUEST['loader_pasien_aps'] == true) { $searchfield = (array_key_exists('searchfield', $_REQUEST)) ? $_REQUEST['searchfield'] : ''; $searchkey = (array_key_exists('searchkey', $_REQUEST)) ? $db->escape($_REQUEST['searchkey']) : ''; if ($searchkey != "") { if ($searchfield == "nomr") { $search = " nomr ilike '%" . $searchkey . "%'"; } if ($searchfield == "nama") { $search = " nama ilike '%" . $searchkey . "%'"; } if ($searchfield == "tempat") { $search = " tempat ilike '%" . $searchkey . "%'"; } if ($searchfield == "alamat") { $search = " alamat ilike '%" . $searchkey . "%'"; } if ($searchfield == "telepon") { $search = " notelp ilike '%" . $searchkey . "%'"; } if ($searchfield == "tgllahir") { $search = " tgllahir::varchar(10) ilike '%" . $searchkey . "%'"; } if ($searchfield == "noktp") { $search = " noktp ilike '%" . $searchkey . "%'"; } } $group = ' group by '; $order = " order by "; if ($_REQUEST['orderby'] != '') { $orderby = $_REQUEST['orderby']; if ($orderby == "nomr") { $order .= "nomr"; $group .= 'nomr'; } if ($orderby == "nama") { $order .= "nama"; $group .= 'nama'; } if ($orderby == "alamat") { $order .= "alamat"; $group .= 'alamat'; } if ($orderby == "telepon") { $order .= "notelp"; $group .= 'notelp'; } if ($orderby == "tgllahir") { $order .= "tgllahir"; $group .= 'tgllahir'; } if ($orderby == "noktp") { $order .= "noktp"; $group .= 'noktp'; } } else { $order .= "nomr"; $group .= 'nomr'; } $aColumns = ['nomr', 'nama', 'tempat', 'tgllahir', 'alamat', 'noktp', 'jeniskelamin', 'notelp', 'b.nama_status as txt_status', 'a.nama_agama as txt_agama', 'c.nama_pendidikan as txt_pendidikan', 'null as edit']; $column_type = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]; // filter manual $filter = "$search"; $sJoin = 'left join m_agama_pasien a on a.id_agama = m_pasien_aps.agama '; $sJoin .= 'left join m_status_pasien b on b.id_status = m_pasien_aps.status '; $sJoin .= 'left join m_pendidikan_pasien c on c.id_pendidikan = m_pasien_aps.pendidikan '; $sIndexColumn = 'nomr'; array_push($aColumns, $sIndexColumn); if (isset($_GET["search"]) && $_GET["search"] != "") { } $get_data = get_data_table( array( "get" => $_GET, "aColumns" => $aColumns, "sIndexColumn" => $sIndexColumn, "sJoin" => $sJoin, "filter" => $filter, "table_name" => 'm_pasien_aps', 'column_type' => $column_type, 'order' => $order, ) ); // Output $_GET['draw'] = ($_GET['draw']) ? $_GET['draw'] : 10; $output = array( "draw" => intval($_GET['draw']), "recordsTotal" => $get_data['recordsTotal'], "recordsFiltered" => $get_data['recordsFiltered'], "data" => array() ); $i = 0; if (is_array($get_data['data'])) { foreach ($get_data['data'] as $row) { $output['data'][$i] = array(); foreach ($aColumns as $usedField) { // if($usedField == $sIndexColumn) { continue; } $usedField = change_column($usedField); if ($usedField == 'no') { $row[$usedField] = ($i + 1); } elseif ($usedField == 'edit') { $row[$usedField] = 'Edit'; } $row[$usedField] = change_value($usedField, $row[$usedField]); array_push($output['data'][$i], $row[$usedField]); } $i++; } } header('Content-type: application/json'); echo json_encode($output); exit; } elseif (array_key_exists('batal_jawab_konsul', $_REQUEST) && $_REQUEST['batal_jawab_konsul'] == true) { $idkonsul = $_REQUEST['idkonsul']; $save_batal = execute("UPDATE t_konsultasi set jawaban_konsul = null where id_konsultasi = $idkonsul"); if ($save_batal) { $msg = 'Batal jawaban konsultasi berhasil'; $type = 'success'; } else { $msg = 'Batal jawaban konsultasi gagal'; $type = 'error'; } echo json_encode(['message' => $msg, 'type' => $type]); exit; } if (!empty($option)) { $js = $input_element; $js .= ''; echo $js; exit; } elseif (array_key_exists('load_kajian_pdf', $_REQUEST) && $_REQUEST['load_kajian_pdf']) { $id_admission = $_REQUEST['idx']; $nama_px = $nomr = $tgllahir = $nobill = $ruangan = $tgl_kunjungan = ''; if ($id_admission != '') { if (array_key_exists('rajal', $_REQUEST) && $_REQUEST['rajal'] == 1) { $query_pasien = $db->query("select b.nama, b.nomr, b.tgllahir, c.nobill, d.nama as ruangan, a.masukpoly from t_pendaftaran a inner join m_pasien b on b.nomr = a.nomr inner join t_billrajal c on c.nomr = a.nomr and c.idxdaftar = a.idxdaftar inner join m_ruang d on d.no = a.kdpoly where a.idxdaftar = '" . $id_admission . "'")->fetchFirst(); $nama_px = $query_pasien['nama']; $nomr = $query_pasien['nomr']; $tgllahir = $query_pasien['tgllahir']; $nobill = $query_pasien['nobill']; $ruangan = $query_pasien['ruangan']; $tgl_kunjungan = $query_pasien['masukpoly']; $diag_sql = "SELECT a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.pemeriksaan_fisik, a.terapi, a.sudah_vaksin,a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter, string_agg(DISTINCT icd10.icd_code||' - '||icd10.jenis_penyakit, ',') as icd_diagnosa, string_agg(DISTINCT icd9cm.kode||' - '||icd9cm.keterangan, ',') as icd_tindakan,a.riwayat_pasien, a.tindakan_medis,a.anamnesa,a.tanggal, a.nomr, a.idxdaftar, a.created_at FROM t_diagnosadanterapi a left join m_dokter d on d.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,icd_code,jenis_penyakit from icd join t_icd b on icd.icd_code = b.icd where b.status_rajal = 1) icd10 on icd10.idxdaftar = a.idxdaftar and icd10.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,kode,keterangan from icd_cm join t_icd_cm b on icd_cm.kode = b.icd where b.status_rajal = 1) icd9cm on icd9cm.idxdaftar = a.idxdaftar and icd9cm.kddokter = a.kddokter WHERE a.IDXDAFTAR=$id_admission and tgl_batal is null GROUP BY a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.terapi, a.sudah_vaksin, a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter"; $diag_qry = $db->query($diag_sql); $data_diagnosa = $diag_qry->fetchAll(); $judul = 'LIST ANAMNESIS'; foreach ($data_diagnosa as $row) { $date = date_create($row['created_at']); $kasus = ($row['kasus_bl'] == 1) ? 'Baru' : 'Lama'; $kunjungan = ($row['kunjungan_bl'] == 1) ? 'Baru' : 'Lama'; $table .= '
Tanggal : ' . date_to_id($row['tanggal']) . ' ' . $date->format('H:i:s') . '
DPJP : ' . $row['namadokter'] . '
Vaksin : ' . $row['sudah_vaksin'] . '
Kasus : ' . $kasus . '
Kunjungan : ' . $kunjungan . '
Tekanan Darah : ' . $row['tekanan_darah'] . '
Gol. Darah : ' . $row['golongan_darah'] . '
TB : ' . $row['tinggi_badan'] . '
BB : ' . $row['berat_badan'] . '
Keluhan : ' . $row['anamnesa'] . '
Riwayat : ' . $row['riwayat_pasien'] . '
Pemeriksaan Fisik : ' . $row['pemeriksaan_fisik'] . '
Diagnosa Medis : ' . $row['tindakan_medis'] . '
ICD : ' . $row['icd_diagnosa'] . '
Terapi : ' . $row['terapi'] . '
Tanggal Simpan : ' . date_format($date, "d-m-Y H:i:s") . '


'; } } else { $query_pasien = $db->query("select b.nama, b.nomr, b.tgllahir, c.nobill, d.nama as ruangan, a.masukpoly from t_pendaftaran a inner join m_pasien b on b.nomr = a.nomr inner join t_billranap c on c.nomr = a.nomr and c.idxdaftar = a.idxdaftar inner join m_ruang d on d.no = c.kdpoly where a.idxdaftar = '" . $id_admission . "'")->fetchFirst(); $nama_px = $query_pasien['nama']; $nomr = $query_pasien['nomr']; $tgllahir = $query_pasien['tgllahir']; $nobill = $query_pasien['nobill']; $ruangan = $query_pasien['ruangan']; $tgl_kunjungan = $query_pasien['masukpoly']; $diag_sql = "SELECT a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.pemeriksaan_fisik, a.terapi, a.sudah_vaksin, a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter, string_agg(DISTINCT icd10.icd_code||' - '||icd10.jenis_penyakit, ',') as icd_diagnosa, string_agg(DISTINCT icd9cm.kode||' - '||icd9cm.keterangan, ',') as icd_tindakan,a.riwayat_pasien,a.tindakan_medis,a.anamnesa FROM t_diagnosadanterapi a left join m_dokter d on d.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,icd_code,jenis_penyakit from icd join t_icd b on icd.icd_code = b.icd where b.status_rajal = 1) icd10 on icd10.idxdaftar = a.idxdaftar and icd10.kddokter = a.kddokter left join (select b.idxdaftar,b.kddokter,kode,keterangan from icd_cm join t_icd_cm b on icd_cm.kode = b.icd where b.status_rajal = 1) icd9cm on icd9cm.idxdaftar = a.idxdaftar and icd9cm.kddokter = a.kddokter -- WHERE a.IDXDAFTAR=$id_admission and rajal = 0 and status is null and tgl_batal is null WHERE a.IDXDAFTAR=$id_admission and rajal = 0 and tgl_batal is null and (status ='2' or status isnull) GROUP BY a.idxterapi, a.kddokter, a.diagnosa, a.komplikasi, a.terapi, a.sudah_vaksin, a.kasus_bl, a.kunjungan_bl, tekanan_darah, golongan_darah, tinggi_badan, berat_badan, d.namadokter"; $diag_qry = $db->query($diag_sql); $data_diagnosa = $diag_qry->fetchAll(); $judul = 'LIST ANAMNESIS'; $table = ''; $no = 1; foreach ($data_diagnosa as $row) { $kasus = ($row['kasus_bl'] == 1) ? 'Baru' : 'Lama'; $kunjungan = ($row['kunjungan_bl'] == 1) ? 'Baru' : 'Lama'; $table .= '
DPJP : ' . $row['namadokter'] . '
Vaksin : ' . $row['sudah_vaksin'] . '
Kasus : ' . $kasus . '
Kunjungan : ' . $kunjungan . '
Tekanan Darah : ' . $row['tekanan_darah'] . '
Golongan Darah : ' . $row['golongan_darah'] . '
TB : ' . $row['tinggi_badan'] . '
BB : ' . $row['berat_badan'] . '
Keluhan : ' . $row['anamnesa'] . '
Riwayat : ' . $row['riwayat_pasien'] . '
Pemeriksaan Fisik : ' . $row['pemeriksaan_fisik'] . '
Tindakan Medis : ' . $row['diagnosa'] . '
Diagnosa Medis : ' . $row['tindakan_medis'] . '
Terapi : ' . $row['terapi'] . '
'; } } if (count($data_diagnosa) > 0) { $html = ' ' . $judul . '
' . $rstitle . '
' . $header2 . '
 
' . $judul . '
 
No. RM : ' . $nomr . ' Tgl. Kunjungan : ' . $tgl_kunjungan . '
Nama : ' . $nama_px . ' No. Biling : ' . $nobill . '
Tanggal Lahir : ' . date_to_id($tgllahir) . ' Ruang : ' . $ruangan . '
 
' . $table . ' '; $dompdf = new Dompdf(); $dompdf->loadHtml($html); // $customPaper = array(0,0,612.00,396.00); // $dompdf->setPaper($customPaper); // $dompdf->setPaper('half-letter','landscape'); $dompdf->setPaper('legal', 'landscape'); $dompdf->render(); $dompdf->stream('Anamnesis.pdf', ['Attachment' => false]); } else { $dompdf = new Dompdf(); $dompdf->loadHtml('Data Tidak Ditemukan'); $dompdf->setPaper('letter', 'landscape'); $dompdf->render(); $dompdf->stream('Anamnesis.pdf', ['Attachment' => false]); } } } elseif (array_key_exists('load_profile_medis', $_REQUEST) && $_REQUEST['load_profile_medis']) { $rajal = $_REQUEST['rajal']; $idxdaftar = $_REQUEST['idxdaftar']; $norm = $_REQUEST['norm']; // echo '
';
	// var_dump($idxdaftar);
	// echo '
'; $tmp_dataprofile = $db->query("SELECT a.*,p.tgllahir,p.nama as nama_pasien,dr.namadokter as nama_petugas from t_profileringkasan a join m_pasien p on a.nomr = p.nomr left join m_dokter dr on a.kddokter = dr.kddokter where idxdaftar = '" . $idxdaftar . "' order by a.id DESC "); // echo '
';
	// var_dump($tmp_dataprofile->fetchAll());
	// echo '
'; // exit(); if ($tmp_dataprofile->numRows() > 0) { $cppt_list = ''; $no = 1; $counter = 0; foreach ($tmp_dataprofile->fetchAll() as $row) { if ($no == 1) { $nama_px = $row['nama_pasien']; $nomr = $row['nomr']; $tgllahir = $row['tgllahir']; } $format_rajal .= ' ' . $row['tglreg'] . ' ' . $row['nama_petugas'] . ' ' . $row['diagnosis_penting'] . ' ' . $row['uraian_klinis'] . ' ' . $row['rencana_penting'] . ' ' . $row['catatan'] . ' '; } // var_dump($format_rajal); // exit(); $html = '
No. RM : ' . $norm . '
Nama : ' . $nama_px . '
Tanggal Lahir : ' . date_to_id($tgllahir) . '

PROFIL RINGKASAN MEDIS RAWAT JALAN


' . $format_rajal . '
TANGGAL / JAM DOKTER DIAGNOSA PENTING RENCANA PENTING URAIAN KLINIS PENTING CATATAN PARAF
'; $dompdf = new Dompdf(); $dompdf->set_option('isHtml5ParserEnabled', true); $dompdf->set_option('isRemoteEnabled', true); $dompdf->loadHtml($html); // $customPaper = array(0,0,612.00,396.00); // $dompdf->setPaper($customPaper); // $dompdf->setPaper('half-letter','landscape'); $current_date = date("Y-m-d H:i:s"); $dompdf->setPaper('legal', 'portrait'); $dompdf->render(); $dompdf->getCanvas()->page_text(450, 10, "Tanggal Terbit : $current_date", $font, 10, array(0, 0, 0)); // $dompdf->getCanvas()->page_text($w - 590, $h - 28, "El pie de página del lado izquiero, Guadalajara, Jalisco C.P. XXXXX Tel. XX (XX) XXXX XXXX", $font, 6); $dompdf->stream('profile_medis.pdf', ['Attachment' => false]); } else { $dompdf = new Dompdf(); $dompdf->loadHtml('DATA PROFIL RINGKASAN MEDIS RAWAT JALAN PASIEN TIDAK ADA'); $dompdf->setPaper('legal', 'portrait'); $dompdf->render(); $dompdf->stream('profile_medis.pdf', ['Attachment' => false]); } } elseif (array_key_exists('load_masalah_keperawatan', $_REQUEST) && $_REQUEST['load_masalah_keperawatan']) { $rajal = $_REQUEST['rajal']; $idxdaftar = $_REQUEST['idxdaftar']; $norm = $_REQUEST['norm']; // var_dump($norm); // echo '
';
	// var_dump($idxdaftar);
	// echo '
'; $array_datakeperawatan = $db->query("SELECT a.*,p.tgllahir,p.nama as nama_pasien from t_kajianawalkeperawatan a join m_pasien p on a.nomr = p.nomr where a.idxdaftar = '" . $idxdaftar . "' and a.nomr='" . $norm . "' order by a.id DESC "); $tmp_datakeperawatan = $array_datakeperawatan->fetchFirst(); $riwayat_alergi = json_decode($tmp_datakeperawatan['riwayat_alergi'], true); $nyeri = json_decode($tmp_datakeperawatan['nyeri'], true); $skrining = json_decode($tmp_datakeperawatan['skrining'], true); $keadaan_umum = json_decode($tmp_datakeperawatan['keadaan_umum'], true); $risiko = json_decode($tmp_datakeperawatan['risiko'], true); // echo '
';

	// var_dump($tmp_datakeperawatan);
	// echo '
'; // exit(); $tmp_datamasalahkeperawatan = $db->query("SELECT a.*,dr.nama as nama_petugas from t_masalah_keperawatan a left join m_perawat dr on a.kddokter = dr.idperawat where a.idxdaftar = '" . $idxdaftar . "' and a.nomr='" . $norm . "' order by a.id DESC "); // echo '
';

	// var_dump($tmp_datamasalahkeperawatan->fetchAll());
	// echo '
'; // exit(); if ($array_datakeperawatan->numRows() > 0) { $cppt_list = ''; $no = 1; $counter = 0; foreach ($tmp_datamasalahkeperawatan->fetchAll() as $row) { $counter++; if ($no == 1) { $nama_px = $row['nama_pasien']; $nomr = $row['nomr']; $tgllahir = $row['tgllahir']; } $format_rajal .= ' ' . $counter . ' ' . $row['tanggal_muncul'] . ' ' . $row['diagnosis_keperawatan'] . ' ' . $row['tanggal_teratasi'] . ' ' . $row['nama_petugas'] . ' '; } //$nyeri = ''; $item_nyeri = $nyeri['kajian']; $array_nyeri = [1 => 'Ya', 2 => 'Tidak']; foreach ($array_nyeri as $key_item => $item) { $checked = $key_item == $item_nyeri ? 'checkbox' : 'checkbox_checked'; $nyeri_kajian .= ' '; } $item_nyeri = $nyeri['waktu']; $array_nyeri = [1 => 'Hilang Timbul', 2 => 'Terus Menerus']; foreach ($array_nyeri as $key_item => $item) { $checked = $key_item == $item_nyeri ? 'checkbox' : 'checkbox_checked'; $nyeri_waktu .= ' '; } $item_nyeri = $nyeri['durasi']; $array_nyeri = [1 => '< 5 menit', 2 => '5-15 menit', 3 => '> 15 menit']; foreach ($array_nyeri as $key_item => $item) { $checked = $key_item == $item_nyeri ? 'checkbox' : 'checkbox_checked'; $nyeri_durasi .= ' '; } $item_nyeri = $nyeri['skala']; $array_nyeri = [1 => 'Ringan', 2 => 'Sedang', 3 => 'Berat',]; foreach ($array_nyeri as $key_item => $item) { $checked = $key_item == $item_nyeri ? 'checkbox' : 'checkbox_checked'; $nyeri_skala .= ' '; } $item_resiko = $risiko['jatuh']; $array_resiko = [1 => 'Ya', 2 => 'Tidak']; foreach ($array_resiko as $key_item => $item) { $checked = $key_item == $item_resiko ? 'checkbox' : 'checkbox_checked'; $risiko_jatuh .= ' '; } $item_resiko = $risiko['pemakaian_gelang']; $array_resiko = [1 => 'Ya', 2 => 'Tidak']; foreach ($array_resiko as $key_item => $item) { $checked = $key_item == $item_resiko ? 'checkbox' : 'checkbox_checked'; $risiko_pemakaian_gelang .= ' '; } $item_resiko = $risiko['pasang_gelang']; $array_resiko = [1 => 'Ya', 2 => 'Tidak']; foreach ($array_resiko as $key_item => $item) { $checked = $key_item == $item_resiko ? 'checkbox' : 'checkbox_checked'; $risiko_pasang_gelang .= ' '; } // var_dump($format_rajal); // exit(); $html = '
No. RM : ' . $tmp_datakeperawatan['nomr'] . '
Nama : ' . $tmp_datakeperawatan['nama_pasien'] . '
Tanggal Lahir : ' . date_to_id($tmp_datakeperawatan['tgllahir']) . '

PENGKAJIAN AWAL KEPERAWATAN RAWAT JALAN


Tanggal / Jam : ' . $tmp_datakeperawatan['tanggal_kajian'] . '

A. Data Subyektif

1. Keluhan :

2. Riwayat Alergi dan Reaksi Alergi

A. Obat : Sebutkan : Reaksi :
B. Makanan : Sebutkan : Reaksi :
C. Lain-lain : Sebutkan : Reaksi :

3. Pengkajian Nyeri

Nyeri : ' . $nyeri_kajian . '
Skala Nyeri : ' . $nyeri_skala . '
Durasi nyeri : ' . $nyeri_durasi . '
Freqwensi nyeri : ' . $nyeri['frekuensinyeri'] . '
Lokasi : ' . $nyeri['lokasi'] . '
Waktu nyeri : ' . $nyeri_waktu . '

4. Skrining Nutrisi

5. Pengkajian Psiko - Sosial - Kultural - Spiritual

B. Data Obyektif

Keadaan Umum :

Resiko Jatuh : ' . $risiko_jatuh . '
Pemakaian gelang resiko jatuh : ' . $risiko_pemakaian_gelang . '
Pasang gelang alergi : ' . $risiko_pasang_gelang . '

Pemeriksaan Penunjang :

C. Daftar Masalah Keperawatan

' . $format_rajal . '
NO TANGGAL MUNCUL DIAGNOSA KEPERAWATAN TANGGAL TERATASI NAMA PETUGAS
'; $dompdf = new Dompdf(); $dompdf->set_option('isHtml5ParserEnabled', true); $dompdf->set_option('isRemoteEnabled', true); $dompdf->loadHtml($html); // $customPaper = array(0,0,612.00,396.00); // $dompdf->setPaper($customPaper); // $dompdf->setPaper('half-letter','landscape'); $current_date = date("Y-m-d H:i:s"); $dompdf->setPaper('legal', 'portrait'); $dompdf->render(); $dompdf->getCanvas()->page_text(450, 10, "Tanggal Terbit : $current_date", $font, 10, array(0, 0, 0)); // $dompdf->getCanvas()->page_text($w - 590, $h - 28, "El pie de página del lado izquiero, Guadalajara, Jalisco C.P. XXXXX Tel. XX (XX) XXXX XXXX", $font, 6); $dompdf->stream('pengkajian_awal_medis.pdf', ['Attachment' => false]); } else { $dompdf = new Dompdf(); $dompdf->loadHtml('DATA PENGKAJIAN AWAL KEPERAWATAN PASIEN TIDAK ADA'); $dompdf->setPaper('legal', 'portrait'); $dompdf->render(); $dompdf->stream('pengkajian_awal_medis.pdf', ['Attachment' => false]); } } elseif (array_key_exists('loader_pasien_sitb', $_REQUEST) && $_REQUEST['loader_pasien_sitb'] == true) { $searchfield = (array_key_exists('searchfield', $_REQUEST)) ? $_REQUEST['searchfield'] : ''; $searchkey = (array_key_exists('searchkey', $_REQUEST)) ? $db->escape($_REQUEST['searchkey']) : ''; if ($searchkey != "") { if ($searchfield == "nomr") { $search = " nomr ilike '%" . $searchkey . "%'"; } if ($searchfield == "nama") { $search = " nama ilike '%" . $searchkey . "%'"; } if ($searchfield == "alamat") { $search = " alamat ilike '%" . $searchkey . "%'"; } } $group = ' group by '; $order = " order by "; if ($_REQUEST['orderby'] != '') { $orderby = $_REQUEST['orderby']; if ($orderby == "id") { $order .= "id"; $group .= 'id'; } if ($orderby == "nomr") { $order .= "nomr"; $group .= 'nomr'; } if ($orderby == "nama") { $order .= "nama"; $group .= 'nama'; } if ($orderby == "alamat") { $order .= "alamat"; $group .= 'alamat'; } } else { $order .= "id"; $group .= 'id'; } $aColumns = ['nomr', 'id_sitb', 'ektp', 'nama', 'tanggal_lahir', 'alamat', 'jenis_kelamin', 'proses', 'null as edit']; $column_type = [0, 0, 0, 0, 0, 0, 0, 0, 0]; // filter manual $filter = "$search"; $sIndexColumn = 'id'; array_push($aColumns, $sIndexColumn); if (isset($_GET["search"]) && $_GET["search"] != "") { } $get_data = get_data_table( array( "get" => $_GET, "aColumns" => $aColumns, "sIndexColumn" => $sIndexColumn, "sJoin" => $sJoin, "filter" => $filter, "table_name" => 't_sitb', 'column_type' => $column_type, 'order' => $order, ) ); // Output $_GET['draw'] = ($_GET['draw']) ? $_GET['draw'] : 10; $output = array( "draw" => intval($_GET['draw']), "recordsTotal" => $get_data['recordsTotal'], "recordsFiltered" => $get_data['recordsFiltered'], "data" => array() ); $i = 0; if (is_array($get_data['data'])) { foreach ($get_data['data'] as $row) { $output['data'][$i] = array(); foreach ($aColumns as $usedField) { if ($usedField == $sIndexColumn) { continue; } $usedField = change_column($usedField); if ($usedField == 'no') { $row[$usedField] = ($i + 1); } elseif ($usedField == 'jenis_kelamin') { if ($row['jenis_kelamin'] == 'L') { $row[$usedField] = 'Laki - Laki (L)'; } else { $row[$usedField] = 'Perempuan (P)'; } } elseif ($usedField == 'proses') { if ($row['proses'] == '2') { $row[$usedField] = '

DATA TERKIRIM

'; } else { $row[$usedField] = '

DATA BELUM TERKIRIM

'; } } elseif ($usedField == 'edit') { $row[$usedField] = 'Edit Data SITB'; } $row[$usedField] = change_value($usedField, $row[$usedField]); array_push($output['data'][$i], $row[$usedField]); } $i++; } } header('Content-type: application/json'); echo json_encode($output); exit; } elseif (array_key_exists('alokasi_bill', $_REQUEST) && $_REQUEST['alokasi_bill'] == true) { $nobill = preg_replace("/\./", '', $_REQUEST['nobill']); $sistem = $_REQUEST['sistem']; if ($nobill != '' && $sistem != '' && strlen($nobill) >= 8) { $arr_bill = []; $list_bill = []; if ($sistem == 'rajal') { $query = $db->query("SELECT distinct idxdaftar,nomr,aps from t_billrajal where nobill = '$nobill' and status <> 'BATAL' and kodetarif not in ('KEU.014')"); } elseif ($sistem == 'ranap') { $identitas = false; if (array_key_exists('standing_order', $_REQUEST)) { // $query = $db->query("SELECT distinct idxdaftar,t_billranap.nomr from t_billranap // join t_admission on t_billranap.idxdaftar = t_admission.id_admission // where nobill = '$nobill' and keluarrs is null"); } else { $myquery = 'SELECT distinct a.nomr, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, b.parent_nomr, c.statusbayar, e.nama as carabayar, c.noruang, d.nama as ruang, c.nott, a.nobill, (select sum(tarifrs * qty) from t_billranap where nobill = a.nobill and t_billranap.status <> \'BATAL\') as tottarifrs, (select sum(discount) from t_bayarranap where nobill = a.nobill) as discount, (select sum(coalesce(costsharing_pelayanan,0)+coalesce(costsharing_anastesi,0)+coalesce(costsharing_sarana,0)) as total from t_billranap where nobill = a.nobill and t_billranap.status <> \'BATAL\') as totcostsharing, (select sum(deposit) from t_deposit where t_deposit.nobill::integer = a.nobill and t_deposit.st_batal is null group by nobill) as deposit, c.masukrs, d.kelas, c.keluarrs, c.tgl_pindah, d.idx_ruang,t.uraian_tarif FROM t_billranap a JOIN m_pasien b ON a.nomr = b.nomr JOIN t_admission c ON a.IDXDAFTAR = c.id_admission JOIN m_ruang d ON c.noruang = d.no JOIN m_carabayar e ON c.statusbayar = e.KODE JOIN t_bayarranap f ON a.idxbill = f.idxbill LEFT JOIN m_tarif_rs t on a.kodetarif = t.kode_tarif WHERE a.NOBILL = ' . $_REQUEST['nobill'] . ' and a.STATUS != \'BATAL\''; $query = $db->query($myquery); $identitas = $query->fetchFirst(); $identitas['tgllahir'] = date_to_id($identitas['tgllahir']); $age = datediff($identitas['tgllahir'], date("Y-m-d")); $identitas['usia'] = $age['years'] . ' tahun ' . $age['months'] . ' bulan ' . $age['days'] . ' hari'; $identitas['jeniskelamin'] = jeniskelamin($identitas['jeniskelamin']); if ($identitas['keluarrs'] != 'null') { $d1 = new Datetime($identitas['masukrs']); $d2 = new Datetime($identitas['keluarrs']); $jml_hari_rawat = ($d1->diff($d2)->format('%a') + 1); } else { $jml_hari_rawat = 0; } $identitas['masukrs'] = datetime_to_dateid($identitas['masukrs']); $identitas['keluarrs'] = (($identitas['keluarrs'] != null) ? datetime_to_dateid($identitas['keluarrs']) : ''); $identitas['jml_hari_rawat'] = $jml_hari_rawat; $where_verif = 'AND b.status_verifikasi = 1'; $order_by = 'ORDER BY b.nonota desc'; $where_batal = " AND (b.status is null OR b.status = 'SELESAI')"; $query_detil = "SELECT DISTINCT case when (b.kodetarif in ('DEPOSIT','IURBEA')) then b.kodetarif else a.uraian_tarif end as nama_jasa, b.nonota, b.idxbill, b.carabayar as kdcarabayar, h.status as st_bayar,h.st_carabayar, h.kd_penjamin, b.idxbill, b.tanggal, b.qty, b.tarifrs, c.nama as carabayar, b.nobill,b.idxdaftar,a.kode_tarif, cb.nama_cara_bayar, p.nama_penjamin, b.status_verifikasi, h.jmbayar, h.tglbayar, b.status,b.alasan_batal,h.deposit,h.totaskes,coalesce(h.totcostsharing_pelayanan,0) as totcostsharing_pelayanan,coalesce(h.totcostsharing_anastesi,0) as totcostsharing_anastesi,coalesce(h.totcostsharing_sarana,0) as totcostsharing_sarana,h.discount,h.total_iurbea,tp.jml_piutang, tp.st_piutang,obb.idxbill as status_orderbatal,obb_piutang.idxbill as status_orderbatalpiutang,obb_bayar.idxbill as status_orderbatalbayar,obb_verif.idxbill as status_orderbatalverif FROM t_billranap b JOIN t_bayarranap h on b.IDXBILL = h.IDXBILL JOIN m_carabayar c on c.KODE = b.CARABAYAR LEFT JOIN m_tarif_rs a on a.kode_tarif=b.KODETARIF LEFT JOIN t_billrajal tb on tb.IDXDAFTAR=b.IDXDAFTAR LEFT JOIN m_tarif_rs x on x.kode_tarif=tb.KODETARIF LEFT JOIN m_cara_bayar cb on cb.id_cara_bayar = h.st_carabayar LEFT JOIN m_penjamin p on p.id_penjamin = h.kd_penjamin LEFT JOIN ( select idxbill, count(id_piutang) as jml_piutang, st_piutang from t_piutang where nobilling = '{$_REQUEST['nobill']}' and st_billing = 'IRNA' and st_piutang is null group by idxbill,st_billing,st_piutang) tp on b.idxbill = tp.idxbill LEFT JOIN (select idxbill from t_orderbatalbill obb where nobill = '{$_REQUEST['nobill']}' and billing = 'RANAP' and (st_orderbatal_tindakan = 1 and st_batal_tindakan is null)) obb on obb.idxbill = b.idxbill LEFT JOIN (select idxbill from t_orderbatalbill obbv where nobill = '{$_REQUEST['nobill']}' and billing = 'RANAP' and (st_orderbatal_verifikasi = 1 and st_batal_verif is null)) obb_verif on obb_verif.idxbill = b.idxbill LEFT JOIN (select idxbill from t_orderbatalbill obb2 where nobill = '{$_REQUEST['nobill']}' and billing = 'RANAP' and (st_orderbatal_piutang = 1 and st_batal_piutang is null)) obb_piutang on obb_piutang.idxbill = b.idxbill LEFT JOIN (select idxbill from t_orderbatalbill obb3 where nobill = '{$_REQUEST['nobill']}' and billing = 'RANAP' and (st_orderbatal_bayar = 1 and st_batal_bayar is null)) obb_bayar on obb_bayar.idxbill = b.idxbill WHERE b.nobill='{$_REQUEST['nobill']}' and h.STATUS !='BATAL' and b.tarifrs > 0 $where_batal $where_verif $order_by"; $billing = $db->query($query_detil); if ($billing->numRows() > 0) { foreach ($billing->fetchAll() as $row) { $jumlah_biaya = $row['tarifrs'] - $row['total_iurbea'] - $row['deposit'] - $row['totaskes'] - $row['totcostsharing_pelayanan'] - $row['totcostsharing_anastesi'] - $row['totcostsharing_sarana'] - $row['discount']; $arr_bill[$row['idxbill']] = $jumlah_biaya; $list_bill[] = ['kode' => $row['kode_tarif'], 'uraian' => $row['nama_jasa'], 'jumlah' => $jumlah_biaya]; } } } if ($identitas > 0) { $msg = "Data ditemukan"; $type = 'success'; } else { $msg = "Data tidak ditemukan"; $type = 'error'; } } elseif ($sistem == 'nonreg') { $query = $db->query("SELECT distinct a.idx_nonreg,a.no_nonreg from t_billnonreg a join m_nonreg b on a.idx_nonreg = b.idx_nonreg where nobill = '$nobill' and b.st_nonpasien is null"); } elseif ($sistem == 'nonpasien') { $query = $db->query("SELECT distinct a.idx_nonreg,a.no_nonreg from t_billnonreg a join m_nonreg b on a.idx_nonreg = b.idx_nonreg where nobill = '$nobill' and b.st_nonpasien = 1"); } elseif ($sistem == 'iurbea') { $query = $db->query("SELECT distinct idxdaftar,nomr from t_iurbea where nobill = $nobill"); } } else { $msg = "Data tidak ditemukan"; $type = 'error'; $identitas = null; } if ($_REQUEST['list_bill'] == true) { echo json_encode(['bill' => $list_bill]); exit; } echo json_encode(['message' => $msg, 'type' => $type, 'identitas' => $identitas, 'bill' => $arr_bill]); exit; } elseif (array_key_exists('save_alokasi_bill', $_REQUEST) && $_REQUEST['save_alokasi_bill'] == true) { $nobill = $_REQUEST['nobill']; $detil = $_REQUEST['detil']; $sistem = $_REQUEST['sistem']; $t_bill = $t_bayar = ''; // dd($_REQUEST); $arr_data_main = [ 'nobill' => $nobill, 'tgl_alokasi' => date('Y-m-d H:i:s'), 'user_alokasi' => $_SESSION['NIP'], 'sistem' => $sistem ]; if ($sistem == 'rajal') { $t_bill = 't_billrajal'; $t_bayar = 't_bayarrajal'; } elseif ($sistem == 'ranap') { $t_bill = 't_billranap'; $t_bayar = 't_bayarranap'; } elseif ($sistem == 'nonreg' || $sistem == 'nonpasien') { $t_bill = 't_billnonreg'; $t_bayar = 't_bayarnonreg'; } $id_alokasi = json_decode($_REQUEST['alokasi'], true); $arr_alokasi = $arr_idxbill = []; $id_alokasi = array_reverse($id_alokasi); array_pop($id_alokasi); // hilangkan null di awal array $no = 1; foreach ($id_alokasi as $key_a => $idx) { foreach ($idx as $id) { // var_dump($id); $id_keys = array_keys($id); $id_vals = array_values($id); $arr_alokasi[$no][$id_keys[0]] = $id_vals[0]; $arr_idxbill[$no][] = $id_keys[0]; } $no++; } // dd($arr_alokasi); // dd($detil); // exit; foreach ($detil as $key => $alokasi) { $arr_data_detil = []; $arr_data_detil['carabayar'] = $alokasi['st_carabayar']; $arr_data_detil['id_penjamin'] = ($alokasi['kd_penjamin'] == '') ? null : $alokasi['kd_penjamin']; $arr_data_detil['jml_alokasi'] = ($alokasi['jumlah_alokasi'] > 0) ? $alokasi['jumlah_alokasi'] : 0; $arr_data_detil['jml_teralokasi'] = ($alokasi['jumlah_teralokasi'] > 0) ? $alokasi['jumlah_teralokasi'] : 0; $arr_data_detil['idx_alokasi'] = serialize($arr_alokasi[$key]); if ($alokasi['st_carabayar'] == 1) { // update carabayar tunai $query_verif = "UPDATE $t_bayar SET st_carabayar = 1 WHERE idxbill in (" . implode(',', $arr_idxbill[$key]) . ")"; $save_verif = execute($query_verif); } elseif ($alokasi['st_carabayar'] == 2) { // update carabayar piutang, dan kd_penjamin $query_verif = "UPDATE $t_bayar SET st_carabayar = 2, kd_penjamin = {$alokasi['kd_penjamin']} WHERE idxbill in (" . implode(',', $arr_idxbill[$key]) . ")"; $save_verif = execute($query_verif); if ($sistem == 'ranap') { $query_bill = "SELECT a.idxbill,a.kd_penjamin,b.idxdaftar,b.kodetarif,b.kddokter,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi,b.nobill,b.shift,coalesce(a.deposit,0) as deposit,coalesce(a.totaskes,0) as totaskes,coalesce(a.totcostsharing_pelayanan,0) as totcostsharing_pelayanan,coalesce(a.totcostsharing_anastesi,0) as totcostsharing_anastesi,coalesce(a.discount,0) as discount,a.total_iurbea,c.nomr,c.noruang,c.nott,p.id_piutang from $t_bayar a join $t_bill b on a.idxbill = b.idxbill join t_admission c on b.IDXDAFTAR = c.id_admission left join t_piutang p on b.idxbill = p.idxbill and p.st_billing = 'IRNA' and (p.st_piutang is NULL or p.st_piutang = 'LUNAS') where b.idxbill in (" . implode(',', $arr_idxbill[$key]) . ")"; $idxruang = 'noruang'; $idxpoly = 0; $nott = 'nott'; $sistem_piutang = 'IRNA'; } elseif ($sistem == 'rajal') { $query_bill = "SELECT a.idxbill,a.kd_penjamin,b.idxdaftar,b.kodetarif,b.kddokter,b.tarifrs,b.jasa_sarana,b.jasa_pelayanan,b.jasa_anastesi,b.nobill,b.shift,coalesce(a.deposit,0) as deposit,coalesce(a.totaskes,0) as totaskes,coalesce(a.totcostsharing_pelayanan,0) as totcostsharing_pelayanan,coalesce(a.totcostsharing_anastesi,0) as totcostsharing_anastesi,coalesce(a.discount,0) as discount,c.*,p.id_piutang from $t_bayar a join $t_bill b on a.idxbill = b.idxbill join t_pendaftaran c on b.idxdaftar = c.idxdaftar left join t_piutang p on b.idxbill = p.idxbill and p.st_billing = 'IRJA' and (p.st_piutang is NULL or p.st_piutang = 'LUNAS') where b.idxbill in (" . implode(',', $arr_idxbill[$key]) . ")"; $idxruang = 0; $idxpoly = 'kdpoly'; $nott = 0; $sistem_piutang = 'IRJA'; } // var_dump($query_bill); $tmp_bill = $db->query($query_bill); foreach ($tmp_bill->fetchAll() as $rowbill) { if ($rowbill['id_piutang'] != null || $rowbill['id_piutang'] != '') continue; $jml_piutang = preg_replace("/\,/", '.', ($rowbill['tarifrs'] - $rowbill['total_iurbea'] - $rowbill['deposit'] - $rowbill['totaskes'] - $rowbill['totcostsharing_pelayanan'] - $rowbill['totcostsharing_anastesi'] - $rowbill['discount'])); $kddokter = ($rowbill['kddokter'] == '') ? 0 : $rowbill['kddokter']; $jasa_pelayanan = ($rowbill['jasa_pelayanan'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_pelayanan']); $jasa_sarana = ($rowbill['jasa_sarana'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_sarana']); $jasa_anastesi = ($rowbill['jasa_anastesi'] == '') ? 0 : preg_replace("/\,/", '.', $rowbill['jasa_anastesi']); $tgl_sekarang = (array_key_exists('tgl_request_krs', $_REQUEST) && $_REQUEST['tgl_request_krs'] != '') ? $_REQUEST['tgl_request_krs'] : date('Y-m-d'); $arr_piutang = [ 'nomr' => $rowbill['nomr'], 'idxbill' => ['value' => $rowbill['idxbill'], 'type' => 'number'], 'tanggal' => $tgl_sekarang, 'pukul' => date('H:i:s'), 'idxdaftar' => ['value' => $rowbill['idxdaftar'], 'type' => 'number'], 'nobilling' => $rowbill['nobill'], 'nip' => $_SESSION['NIP'], 'shift' => ['value' => $rowbill['shift'], 'type' => 'number'], 'idxtarif' => $rowbill['kodetarif'], 'idxruang' => ['value' => (($idxruang != 0) ? $rowbill['noruang'] : 0), 'type' => 'number'], 'nott' => ['value' => (($idxruang != 0) ? $rowbill['nott'] : 0), 'type' => 'number'], 'idxpoly' => ['value' => (($idxpoly != 0) ? $rowbill['kdpoly'] : 0), 'type' => 'number'], 'kddokter' => ['value' => $kddokter, 'type' => 'number'], 'jumlah_bayar' => ['value' => $jml_piutang, 'type' => 'number'], 'jasa_sarana' => ['value' => $jasa_sarana, 'type' => 'number'], 'jasa_pelayanan' => ['value' => $jasa_pelayanan, 'type' => 'number'], 'jasa_anastesi' => ['value' => $jasa_anastesi, 'type' => 'number'], 'kode_penjamin' => ['value' => $arr_data_detil['id_penjamin'], 'type' => 'number'], 'st_billing' => 'IRNA', ]; // dd($arr_piutang); // exit; $sql_piutang = "INSERT INTO t_piutang " . bind_sql($arr_piutang); if ($rowbill['id_piutang'] == null || $rowbill['id_piutang'] == '') { $save_trans = execute($sql_piutang); } } } // dd($arr_piutang); // exit; } if ($save_verif) { $msg = "Data alokasi berhasil dialokasikan"; $type = "success"; } else { $msg = "Data alokasi gagal dialokasikan"; $type = "error"; } echo json_encode(['message' => $msg, 'type' => $type]); exit; }