query("SELECT * from profil"); if($tmp_profil) { if($tmp_profil->numRows() > 0) { $arr_profil = $tmp_profil->fetchAll(); $data = $arr_profil[0]; $rstitle = $data['rstitle']; $singrstitl = $data['singrstitl']; $singhead1 = $data['singhead1']; $singsurat = $data['singsurat']; $header1 = $data['header1']; $header2 = $data['header2']; $header3 = $data['header3']; $header4 = $data['header4']; $KDRS = $data['kdrs']; $KelasRS = $data['kelasrs']; $NamaRS = $data['namars']; $KDTarifINACBG = $data['kdtarifnacbg']; } } $global_var = 'SELECT * FROM global_var'; $sql = $db->query($global_var); if($sql->numRows() > 0){ foreach($sql->fetchAll() as $data_row){ $_SESSION[$data_row['var_name']] = $data_row['var_value']; } } // Dev Lib $bootstrap_css = ''; $bootstrap_js = ''; $select2_css = ''; $select2_js = ''; $jquery_js = ''; $jquery_validation_js = ''; $datatable_css = ''; $datatable_bootstrap4_css = ''; $datatable_js = ''; $datatable_bootstrap4_js = ''; $datatable_pipeline = ''; $datepicker_css = ''; $datepicker_js = ''; $datepicker_id_js = ''; $inputmask_js = ''; $typeahead_js = ''; $floatthead_js = ''; $autocomplete_js = ''; $typeahead_css = ''; $fontawesome_4_7_css = ''; $fontawesome_css = ''; $datetimepicker_css = ''; $datetimepicker_js = ''; $froala_js = ''; $froala_js .= "\n".''; $froala_js .= "\n".''; $froala_js .= "\n".''; $froala_js .= "\n".''; $froala_css = ''; $froala_css .= "\n".''; $froala_css .= "\n".''; // datagrid easyui $easyui_js = ''; $easyui_js .= "\n".''; $easyui_js .= "\n".''; $easyui_js .= ''; $easyui_css = ''; $easyui_css .= "\n".''; $sweetalert_js = ''; $slick_css = ''; $slick_css .= ''; $slick_js = ''; $jspm_js = ''; $jspm_js .= ''; $jspm_js .= ''; $jspm_js .= ''; $navigation_css = ''; $navigation_css .= ''; $add_to_cart_css = ''; $mdb_js = ''; $mdb_css = ''; $typit_js = ''; $typing_js = ''; $chat_css = ''; $chat_js = ''; $calculator_css = ''; $calculator_js = ' '; $main_js = ''; $jspm_rawprint = 'var clientPrinters = null; var _this = this; JSPM.JSPrintManager.auto_reconnect = true; JSPM.JSPrintManager.start(); JSPM.JSPrintManager.WS.onStatusChanged = function () { if (jspmWSStatus()) { console.log("JSPM Status = "+jspmWSStatus()); } }; function jspmWSStatus() { if (JSPM.JSPrintManager.websocket_status == JSPM.WSStatus.Open) return true; else if (JSPM.JSPrintManager.websocket_status == JSPM.WSStatus.Closed) { console.log("JSPrintManager (JSPM) is not installed or not running! Download JSPM Client App from https://neodynamic.com/downloads/jspm"); return false; } else if (JSPM.JSPrintManager.websocket_status == JSPM.WSStatus.BlackListed) { console.log("JSPM has blacklisted this website!"); return false; } } function jspm_print_raw(file_to_print) { if (jspmWSStatus()) { var cpj = new JSPM.ClientPrintJob(); var myPrinter = new JSPM.DefaultPrinter; cpj.clientPrinter = myPrinter; cpj.printerCommands = file_to_print; cpj.sendToClient(); } } function jspm_print_tracer(file_to_print) { get_shared_printer = Cookies.get(\'shared_printer_tracer\'); get_local_printer = Cookies.get(\'local_printer_tracer\'); if (jspmWSStatus() && get_local_printer != "") { if(get_shared_printer != get_local_printer) { console.log("Printer Beda"); var cpj = new JSPM.ClientPrintJob(); cpj.clientPrinter = new JSPM.InstalledPrinter(get_local_printer); cpj.printerCommands = file_to_print+file_to_print; /* 2 kali */ var cpj2 = new JSPM.ClientPrintJob(); cpj2.clientPrinter = new JSPM.InstalledPrinter(get_shared_printer); cpj2.printerCommands = file_to_print; var cpjg = new JSPM.ClientPrintJobGroup(); cpjg.jobs.push(cpj); cpjg.jobs.push(cpj2); cpjg.sendToClient(); } else if(get_shared_printer == get_local_printer) { console.log("Printer Sama"); var cpj = new JSPM.ClientPrintJob(); cpj.clientPrinter = new JSPM.InstalledPrinter(get_local_printer); cpj.printerCommands = file_to_print; cpj.sendToClient(); } } else { alert("Printer Ke 2 Tidak terdeteksi, silakan setup ulang printer tracer"); } } function jspm_print_tracer_pdf(file_to_print) { get_shared_printer = Cookies.get(\'shared_printer_tracer\'); get_local_printer = Cookies.get(\'local_printer_tracer\'); if (jspmWSStatus() && get_local_printer != "") { if(get_shared_printer != get_local_printer) { console.log("Printer Beda"); var cpj = new JSPM.ClientPrintJob(); cpj.clientPrinter = new JSPM.InstalledPrinter(get_local_printer); /*cpj.printerCommands = file_to_print;*/ var the_file1 = new JSPM.PrintFilePDF(file_to_print, JSPM.FileSourceType.URL, "Tracer 1.pdf", 1); the_file1.printRotation = "None"; cpj.files.push(the_file1); var cpj2 = new JSPM.ClientPrintJob(); cpj2.clientPrinter = new JSPM.InstalledPrinter(get_shared_printer); var the_file = new JSPM.PrintFilePDF(file_to_print, JSPM.FileSourceType.URL, "Tracer 2-3.pdf", 1); the_file.printRotation = "None"; cpj2.files.push(the_file); cpj2.files.push(the_file); var cpjg = new JSPM.ClientPrintJobGroup(); cpjg.jobs.push(cpj); cpjg.jobs.push(cpj2); cpjg.sendToClient(); } else if(get_shared_printer == get_local_printer) { console.log("Printer Sama"); var cpj = new JSPM.ClientPrintJob(); cpj.clientPrinter = new JSPM.InstalledPrinter(get_local_printer); var the_file = new JSPM.PrintFilePDF(file_to_print, JSPM.FileSourceType.URL, "Tracer.pdf", 1); the_file.printRotation = "None"; cpj.files.push(the_file); cpj.sendToClient(); } } else { alert("Printer Ke 2 Tidak terdeteksi, silakan setup ulang printer tracer"); } } '; $jspm_init =' function jspm_print_pdf(file_to_print,file_name) { if (jspmWSStatus()) { var cpj = new JSPM.ClientPrintJob(); var myPrinter = new JSPM.DefaultPrinter; cpj.clientPrinter = myPrinter; var the_file = new JSPM.PrintFilePDF(file_to_print, JSPM.FileSourceType.URL, file_name, 1); the_file.printerPaperName = "1/2"; the_file.printRotation = "None"; cpj.files.push(the_file); cpj.sendToClient(); } } function jspm_print(file_to_print,modal_id,file_name,is_raw,callback) { jQuery("#"+modal_id+" #print_body").html("
"); jQuery("#"+modal_id+" .btn-success").click(function() { jspm_print_pdf(file_to_print,file_name); }).hide(); jQuery("#"+modal_id).modal("show"); if(typeof callback == "function") { callback(); } } function jspm_print_with_toolbar(file_to_print,modal_id,file_name,is_raw,callback) { jQuery("#"+modal_id+" #print_body").html("
"); jQuery("#"+modal_id+" .btn-success").click(function() { jspm_print_pdf(file_to_print,file_name); }).hide(); jQuery("#"+modal_id).modal("show"); if(typeof callback == "function") { callback(); } } '; $datagrid_init = '(function($){ function pagerFilter(data){ if ($.isArray(data)){ data = { total: data.length, rows: data } } var target = this; var dg = $(target); var state = dg.data("datagrid"); var opts = dg.datagrid("options"); if (!state.allRows){ state.allRows = (data.rows); } if (!opts.remoteSort && opts.sortName){ var names = opts.sortName.split(","); var orders = opts.sortOrder.split(","); state.allRows.sort(function(r1,r2){ var r = 0; for(var i=0; ib?1:-1); }; r = sortFunc(r1[sn], r2[sn]) * (so=="asc"?1:-1); if (r != 0){ return r; } } return r; }); } var start = (opts.pageNumber-1)*parseInt(opts.pageSize); var end = start + parseInt(opts.pageSize); data.rows = state.allRows.slice(start, end); return data; } var loadDataMethod = $.fn.datagrid.methods.loadData; var deleteRowMethod = $.fn.datagrid.methods.deleteRow; $.extend($.fn.datagrid.methods, { clientPaging: function(jq){ return jq.each(function(){ var dg = $(this); var state = dg.data("datagrid"); var opts = state.options; opts.loadFilter = pagerFilter; var onBeforeLoad = opts.onBeforeLoad; opts.onBeforeLoad = function(param){ state.allRows = null; return onBeforeLoad.call(this, param); } var pager = dg.datagrid("getPager"); pager.pagination({ onSelectPage:function(pageNum, pageSize){ opts.pageNumber = pageNum; opts.pageSize = pageSize; pager.pagination("refresh",{ pageNumber:pageNum, pageSize:pageSize }); dg.datagrid("loadData",state.allRows); } }); $(this).datagrid("loadData", state.data); if (opts.url){ $(this).datagrid("reload"); } }); }, loadData: function(jq, data){ jq.each(function(){ $(this).data("datagrid").allRows = null; }); return loadDataMethod.call($.fn.datagrid.methods, jq, data); }, deleteRow: function(jq, index){ return jq.each(function(){ var row = $(this).datagrid("getRows")[index]; deleteRowMethod.call($.fn.datagrid.methods, $(this), index); var state = $(this).data("datagrid"); if (state.options.loadFilter == pagerFilter){ for(var i=0; iescape($_REQUEST['NIP'])); exit; } if(!function_exists('paginate')) { function paginate($query) { // $totalQuery, $rowPerPage = 15, $linkPerPage = 5, $url_string global $db; $jml_args = func_num_args(); $args = func_get_args(); $args = array_slice($args, 1); if($jml_args > 4) { $is_total_query = (is_int($args[0])) ? FALSE : TRUE; if($is_total_query){ $totalQuery = $args[0]; $rowPerPage = $args[1]; $linkPerPage = $args[2]; $url_string = $args[3]; $pager = new Pagination_big($db, $query, $totalQuery, $rowPerPage, $linkPerPage, $url_string); } else { $rowPerPage = $args[0]; $linkPerPage = $args[1]; $url_string = $args[2]; $current = $args[3]; $pager = new Pagination($db, $query, $rowPerPage, $linkPerPage, $url_string, $current); } } else { $rowPerPage = $args[0]; $linkPerPage = $args[1]; $url_string = $args[2]; $current = (array_key_exists(3, $args)) ? $args[3] : 'index.php?link='.$_GET['link'].'&'; $pager = new Pagination($db, $query, $rowPerPage, $linkPerPage, $url_string, $current); } $pager->setDebug(TRUE); $list = $pager->paginate(); return ['list'=>$list->fetchAll(),'nav'=>$pager->renderFullNav()]; } } if(!function_exists('bind_sql')) { function bind_sql($input, $is_update = false, $use_override = false) { $str_value = 'SET '; if(_DBTYPE_ == 'mysqli') { $arr_set = array(); foreach($input as $key => $value) { if(is_array($value)) { $val = $value['value']; $type = $value['type']; if($type == 'number') { $arr_set[] = $key." = ".$val; } } else { $arr_set[] = $key." ='".$value."'"; } } $str_value .= implode(",".PHP_EOL,$arr_set); } elseif(_DBTYPE_ == 'postgre') { $arr_column_set = $arr_value_set = $arr_update_set = []; foreach($input as $key => $value) { if($is_update == true) { if(is_array($value)) { $val = $value['value']; $type = $value['type']; if($type == 'number') { if($val == 'NULL' || $val == NULL) { $arr_update_set[] = $key." = NULL"; } else { $arr_update_set[] = $key." = ".$val; } } } else { $arr_update_set[] = $key." ='".$value."'"; } } else { $arr_column_set[] = (preg_match("/[A-Z]/", $key)) ? '"'.$key.'"' : $key; if(is_array($value)) { if(array_key_exists('type', $value)) { $val = $value['value']; $type = $value['type']; if($type == 'number') { $arr_value_set[] = $val; } } else { foreach($value as $k => $v) { if($v == '') { unset($value[$k]); } } $arr_value_set[] = '\'{"'.implode('","', $value).'"}\''; } } else { $arr_value_set[] = "'".$value."'"; } } } if($is_update == true) { $str_value .= implode(",".PHP_EOL,$arr_update_set); } else { if($use_override == true) { $str_value = '('.implode(',',$arr_column_set).') OVERRIDING SYSTEM VALUE VALUES ('.implode(',', $arr_value_set).')'; }else { $str_value = '('.implode(',',$arr_column_set).') VALUES ('.implode(',', $arr_value_set).')'; } } } return $str_value; } } if(!function_exists('datediff_sql')) { function datediff_sql($type, $d1, $d2) { if(_DBTYPE_ == 'mysqli') { if($type == 'day') { if(preg_match("/".date('Y')."/", $d1) && preg_match("/".date('Y')."/", $d2)) { $diff = "DATEDIFF('$d1','$d2')"; } elseif(preg_match("/[a-zA-Z]/", $d1) && preg_match("/[a-zA-Z]/", $d2)) { $diff = "DATEDIFF($d1,$d2)"; } } } elseif(_DBTYPE_ == 'postgre') { if($type == 'day') { if(preg_match("/".date('Y')."/", $d1) && preg_match("/".date('Y')."/", $d2)) { $diff = "DATE_PART('day','$d1'::timestamp-'$d2'::timestamp)"; } elseif(preg_match("/[a-zA-Z]/", $d1) && preg_match("/[a-zA-Z]/", $d2)) { $diff = "DATE_PART('day',$d1::timestamp-$d2::timestamp)"; } } } return $diff; } } if(!function_exists('get_date_sql')) { function get_date_sql($field) { if(_DBTYPE_ == 'mysqli') { $db_date = "date(".$field.") "; } elseif(_DBTYPE_ == 'postgre') { $db_date = "substring(date_trunc('day',".$field."::timestamp)::varchar from 1 for 10) "; } return $db_date; } } if(!function_exists('concat_sql')) { function concat_sql($field) { if(_DBTYPE_ == 'mysqli') { $db_format = "concat(".$field.") "; } elseif(_DBTYPE_ == 'postgre') { $db_format = "concat(".$field.") "; // $db_format = "string_agg(".$field.") "; } return $db_format; } } if(!function_exists('group_concat_sql')) { function group_concat_sql($field,$separator,$orderby) { if(_DBTYPE_ == 'mysqli') { $is_orderby = ($orderby != '') ? "ORDER BY ".$orderby : ''; $db_format = "group_concat(DISTINCT $field $is_orderby SEPARATOR '$separator') "; } elseif(_DBTYPE_ == 'postgre') { $db_format = "string_agg(DISTINCT ".$field.", '$separator') "; } return $db_format; } } if(!function_exists('length_sql')) { function length_sql($field) { if(_DBTYPE_ == 'mysqli') { $db_format = "length(".$field.") "; } elseif(_DBTYPE_ == 'postgre') { $db_format = "char_length(".$field.") "; } return $db_format; } } if(!function_exists('extract_sql')) { function extract_sql($field,$type) { if(_DBTYPE_ == 'mysqli') { if($type = 'year'){ $db_format = "YEAR(".$field.") "; } elseif($type == 'month'){ $db_format = "MONTH(".$field.") "; } elseif($type == 'day'){ $db_format = "DAY(".$field.") "; } } elseif(_DBTYPE_ == 'postgre') { $db_format = "extract(".strtoupper($type)." FROM ".$field.") "; } return $db_format; } } if(!function_exists('age_sql')) { function age_sql($current_date,$date_of_birth) { if(_DBTYPE_ == 'mysqli') { $db_format = "ROUND(DATEDIFF($current_date,$date_of_birth) / 365) "; } elseif(_DBTYPE_ == 'postgre') { $db_format = "EXTRACT(year FROM age($current_date,$date_of_birth))::int "; } return $db_format; } } if(!function_exists('datagrid_method')) { function datagrid_method($ajax_url, $datagrid_id) { if($ajax_url == '' || $datagrid_id == '') { return false; } else { $method = 'function updateActions(){ var rowcount = $("#'.$datagrid_id.'").datagrid("getRows").length; for(var i=0; i 0) { easy_class = $("#"+k)[0].classList[0]; if(easy_class.match(/combobox/)){ $("#"+k).combobox(\'select\',v); return true; } $("#"+k).textbox(\'setValue\',v); } }); '.$additional_source['edit'].' $("#dlg").dialog("open").dialog("setTitle","Edit Data"); $("#fmimpor").form("clear").hide(); $("#save_btn").data("form","#fmdetil"); url = "'._BASE_.$ajax_url.'?action=save&id="+data_edit.id; } function impormaster(){ $("#dlg").dialog("open").dialog("setTitle","Impor"); $("#fmdetil").form("clear").hide(); $("#fmimpor").form("clear").show(); $("#save_btn").data("form","#fmimpor"); url = "'._BASE_.$ajax_url.'?action=impor"; $("#preloader").css("display","none"); } function ekspormaster(){ url = "'._BASE_.$ajax_url.'?action=ekspor"; window.location.href = url; } function importtarif(){ $("#dlg").dialog("open").dialog("setTitle","Impor"); $("#fmdetil").form("clear").hide(); $("#fmimpor").form("clear").show(); $("#save_btn").data("form","#fmimpor"); url = "'._BASE_.$ajax_url.'?action=impor"; $("#preloader").css("display","none"); } function komponentarif(){ $("#dlg").dialog("open").dialog("setTitle","Impor Komponen Tarif"); $("#fmdetil").form("clear").hide(); $("#fmimpor").form("clear").show(); $("#save_btn").data("form","#fmimpor"); url = "'._BASE_.$ajax_url.'?action=imporkomponen"; $("#preloader").css("display","none"); } function saveData(){ var target = $("#save_btn").data("form"); if(target == "#fmimpor") { $("#preloader").css("display","block"); } $(target).form("submit",{ url: url, onSubmit: function(){ return $(this).form("validate"); }, success: function(result){ /*var result = eval("("+result+")"); if (result.errorMsg){ $.messager.show({ title: "Error", msg: result.errorMsg }); } else {*/ $("#preloader").css("display","none"); $("#dlg").dialog("close"); $("#'.$datagrid_id.'").datagrid("reload"); $.messager.show({ title: "Info", msg: result }); /*}*/ } }); } function destroyData(){ var row = $("#'.$datagrid_id.'").datagrid("getSelected"); if (row){ $.messager.confirm("Confirm","Lanjutkan menghapus data?",function(r){ if (r){ $.post("'._BASE_.$ajax_url.'?action=softdelete",{id:row.id},function(result){ if (result.success){ $("#'.$datagrid_id.'").datagrid("reload"); } else { $.messager.show({ title: "Error", msg: result.errorMsg }); } },"json"); } }); } } '.$other_method; return $method; } } } if(!function_exists('proc_rawat_jalan')) { function proc_rawat_jalan($request) { global $db; ini_set('memory_limit', '3048M'); ini_set('max_execution_time', '0'); $post = $request; $bulan = str_pad($post['bulan'],2,'0',STR_PAD_LEFT); if(array_key_exists('filter',$post)) { if($post['filter'] == 'range_date') { $tgl_awal = $post['tgl_awal']; $tgl_akhir = $post['tgl_akhir']; $kondisi = "a.tglreg::date between '$tgl_awal' and '$tgl_akhir'"; } elseif($post['filter'] == 'idxdaftar') { $kondisi = "a.idxdaftar = ".$post['idxdaftar']; } } else { $tgl_awal = $post['tahun'].'-'.$post['bulan'].'-01'; $tgl_akhir = date('Y-m-t',strtotime($post['tahun'].'-'.$post['bulan'].'-01')); $kondisi = "a.tglreg::date between '$tgl_awal' and '$tgl_akhir'"; } $query_list = "SELECT '$bulan' as bulan,'{$post['tahun']}' as tahun,a.idxdaftar,a.nomr, date(a.tglreg) as tgl_datang, p.nama,alamat,concat(r.nama,' / ',r.kelompok ) as ruang,notelp, p.txt_kelurahan,p.txt_kecamatan,p.txt_kota,p.txt_provinsi,p.jeniskelamin,p.suku ,p.txt_status, p.kebangsaan,p.txt_agama ,p.txt_pendidikan ,p.pekerjaan, p.tgllahir,p.noktp as identitas,a.st_asal_masuk as sistem, (select nobill from t_billrajal where idxdaftar = a.idxdaftar limit 1) as nobill, date(a.masukpoly) as tgl_masuk, a.masukpoly::time as jam_masuk, null as kirimoleh, ms.keterangan as carapulang, case when mr.nama is null then 'TANPA RUJUKAN' else mr.nama end as caramasuk, c.nama as status, date(a.keluarpoly) as tgl_pulang, a.keluarpoly::time as jam_pulang, null as alasan_dtg, l.nama_pegawai as petugas, null as keringanan, regexp_match(age(tglreg::date,p.tgllahir::date)::text,'(\d+ years)')::text as umur_tahun, regexp_match(age(tglreg::date,p.tgllahir::date)::text,'(\d+ mons)')::text as umur_bulan, regexp_match(age(tglreg::date,p.tgllahir::date)::text,'(\d+ days)')::text as umur_hari, d.kode_dpjp,d.namadokter, p.nama_ayah,p.nama_ibu,mppa.nama_pendidikan as pendidikan_ayah,mppi.nama_pendidikan as pendidikan_ibu,null as pekerjaan_ayah,null as pekerjaan_ibu,null as kiupibu, split_part(ketrujuk,' - ',1) as asalrujuk,split_part(ketrujuk,' - ',2) as almrujuk,split_part(ketrujuk,' - ',3) as kotarujuk,date(a.tglrujukan) as tglrujuk,a.tglrujukan::time as jamrujuk,a.norujukan FROM t_pendaftaran a JOIN m_pasien p on a.nomr = p.nomr join m_ruang r on a.kdpoly = r.no join m_carabayar c on a.kdcarabayar = c.kode left join m_rujukan mr on a.kdrujuk = mr.kode left join m_login l on a.nip = l.nip left join m_statuskeluar ms on a.status = ms.status left join m_pendidikan_pasien mppa on mppa.id_pendidikan = p.pendidikan_ayah::int left join m_pendidikan_pasien mppi on mppi.id_pendidikan = p.pendidikan_ibu::int left join m_dokter d on a.kddokter = d.kddokter WHERE $kondisi and a.status != 11"; $tmp_proses_fix = $db->query($query_list); if($tmp_proses_fix) { foreach($tmp_proses_fix->fetchAll() as $row) { $db_diagnosa = $db->query("SELECT *,case when kasus_bl = 0 then 'Lama' else 'Baru' end as kasus,case when kunjungan_bl = 0 then 'Lama' else 'Baru' end as kunjungan from t_diagnosadanterapi where rajal = 1 and idxdaftar = {$row['idxdaftar']}"); $data_diagnosa = $db_diagnosa->fetchFirst(); $db_icd_verified = $db->query("SELECT icd_verified,icd.dtd,jenis_penyakit,t_icd.icd_verif_by from t_icd join icd on t_icd.icd_verified = icd.icd_code where idxdaftar = {$row['idxdaftar']} and status_rajal = 1 and icd_verified_order = 1 and status_verif = 1"); $data_icd_verif_utama = $db_icd_verified->fetchFirst(); $db_icd_dpjp = $db->query("SELECT icd,icd.dtd,jenis_penyakit from t_icd join icd on t_icd.icd = icd.icd_code where idxdaftar = {$row['idxdaftar']} and status_rajal = 1 and status_verif is NULL order by idx"); $data_icd_dpjp_utama = $db_icd_dpjp->fetchAll(); $icd_dpjp_utama = null; $dtd_dpjp_utama = null; $jenis_penyakit_dpjp_utama = null; $icd_dpjp_kompl = []; $dtd_dpjp_kompl = []; $jenis_penyakit_dpjp_kompl = []; if($db_icd_dpjp->numRows() > 0) { $i = 0; foreach($data_icd_dpjp_utama as $icd_dpjp) { if($i==0) { $icd_dpjp_utama = $icd_dpjp['icd']; if($icd_dpjp['dtd'] != '') { $dtd_dpjp_utama = $icd_dpjp['dtd']; } $jenis_penyakit_dpjp_utama = $icd_dpjp['jenis_penyakit']; } else { $icd_dpjp_kompl[] = $icd_dpjp['icd'].';'.$icd_dpjp['jenis_penyakit']; if($icd_dpjp['dtd'] != '') { $dtd_dpjp_kompl[] = $icd_dpjp['dtd']; } $jenis_penyakit_dpjp_kompl[] = $icd_dpjp['jenis_penyakit']; } $i++; } } $db_icd_verified = $db->query("SELECT string_agg(icd_verified||';'||replace(jenis_penyakit,'''','`'),';\r\n') as komplikasi_verif,string_agg(jenis_penyakit,';\r\n') as jenispenyakit_komplikasi_verif from t_icd join icd on t_icd.icd_verified = icd.icd_code where idxdaftar = {$row['idxdaftar']} and status_rajal = 1 and icd_verified_order > 1 and status_verif = 1"); $data_icd_verif_komplikasi = $db_icd_verified->fetchFirst(); $db_penjamin = $db->query("SELECT case when bran.nobayar is not null then 'UMUM' else jamin.nama_penjamin end as nama_penjamin from t_billrajal br join t_bayarrajal bran on bran.idxbill = br.idxbill left join t_piutang pi on pi.idxbill = br.idxbill and pi.nobilling = bran.nobill and st_billing = 'IRJA' and (st_piutang is null or st_piutang = 'LUNAS') left join m_penjamin jamin on pi.kode_penjamin = jamin.id_penjamin where br.idxdaftar = {$row['idxdaftar']} order by br.idxbill desc limit 1 "); $data_penjamin = $db_penjamin->fetchFirst(); if($row['tgl_datang'] == '' || $row['tgl_datang'] == NULL) { unset($row['tgl_datang']); } if($row['tgl_masuk'] == '' || $row['tgl_masuk'] == NULL) { unset($row['tgl_masuk']); } if($row['jam_masuk'] == '' || $row['jam_masuk'] == NULL) { unset($row['jam_masuk']); } if($row['tgl_pulang'] == '' || $row['tgl_pulang'] == NULL) { unset($row['tgl_pulang']); } if($row['jam_pulang'] == '' || $row['jam_pulang'] == NULL) { unset($row['jam_pulang']); } $arr_save_report = []; $arr_save_report = array_merge($row,[ 'diagmasuk' =>$data_diagnosa['diagnosa'], 'keluhan' => $data_diagnosa['anamnesa'], 'tekanan_darah' => $data_diagnosa['tekanan_darah'], 'tinggi_badan' => $data_diagnosa['tinggi_badan'], 'berat_badan' => $data_diagnosa['berat_badan'], 'golongan_darah' => $data_diagnosa['golongan_darah'], 'penjamin' => $data_penjamin['nama_penjamin'], 'diagnosa_utama' => $data_icd_verif_utama['icd_verified'], 'dtd'=>$data_icd_verif_utama['dtd'], 'jenis_penyakit'=>preg_replace("/\'/",'`',$data_icd_verif_utama['jenis_penyakit']), 'icdkompl'=>preg_replace("/\'/",'`',$data_icd_verif_komplikasi['komplikasi_verif']), 'diagkompl'=>preg_replace("/\'/",'`',$data_icd_verif_komplikasi['jenipenyakit_komplikasi']), 'icd_tindakan_utama'=>'', 'tindakan_utama'=>'', 'icd_tindakan_lain'=>'', 'tindakan_lain'=>'', 'petugas_icd'=>$data_icd_verif_utama['icd_verif_by'], 'kasus'=>$data_diagnosa['kasus'], 'kunjungan'=>$data_diagnosa['kunjungan'], 'sudah_vaksin'=>$data_diagnosa['sudah_vaksin'], 'diagnosa_utama_dpjp'=>preg_replace("/\'/",'`',$icd_dpjp_utama), 'dtd_dpjp'=>$dtd_dpjp_utama, 'jenis_penyakit_dpjp'=>preg_replace("/\'/",'`',$jenis_penyakit_dpjp_utama), 'icd_komplikasi_dpjp'=>preg_replace("/\'/",'`',implode(";",$icd_dpjp_kompl)), 'dtd_komplikasi_dpjp'=>preg_replace("/\'/",'`',implode(";",$dtd_dpjp_kompl)), 'diagnosa_komplikasi_dpjp'=>preg_replace("/\'/",'`',implode(";",$jenis_penyakit_dpjp_kompl)), ]); $cek_record = $db->query("SELECT nomr from report_rm_rawat_jalan where idxdaftar = {$row['idxdaftar']}"); if($cek_record->numRows() > 0) { $save_report = execute("UPDATE report_rm_rawat_jalan ".bind_sql($arr_save_report,1)." where idxdaftar = {$row['idxdaftar']}"); } else { $save_report = execute("INSERT into report_rm_rawat_jalan ".bind_sql($arr_save_report)); } unset($arr_save_report); } if(array_key_exists('filter',$post) && $post['filter'] == 'idxdaftar') { $msg = "Data rawat jalan selesai diproses"; } elseif(array_key_exists('filter',$post) && $post['filter'] == 'range_date') { $msg = "Data rawat jalan tanggal ".$tgl_awal." s.d ".$tgl_akhir." selesai diproses"; } else { $msg = "Data rawat jalan $bulan {$post['tahun']} selesai diproses"; } $type = 'success'; } else { $msg = 'Error'; $type = 'error'; } return json_encode(['message'=>$msg,'type'=>$type]); } } if(!function_exists('image_save')) { function image_save($file,$config) { $base_upload_dir = './storage/'; // handle upload $handle = new Upload($file); $handle->file_max_size = (array_key_exists('file_max_size',$config)) ? $config['file_max_size'] : '2M'; $handle->allowed = (array_key_exists('allowed',$config)) ? $config['allowed'] : array('image/jpg','image/jpeg','image/png'); if($config['resize']) { $handle->image_resize = $config['resize']; $handle->image_x = $config['image_x']; $handle->image_y = $config['image_y']; if(array_key_exists('image_ratio_y',$config) && $config['image_ratio_y']) { $handle->image_ratio_y = $config['image_ratio_y']; } if(array_key_exists('image_ratio_x',$config) && $config['image_ratio_x']) { $handle->image_ratio_x = $config['image_ratio_x']; } } if ($handle->uploaded) { $sub = (array_key_exists('storage_dir',$config)) ? $config['storage_dir'].'/' : ''; $sub_dir = makeDir($base_upload_dir.$sub,0777); $handle->process($base_upload_dir.$sub); if ($handle->processed) { $handle->clean(); return $handle->file_dst_pathname; } else { log_message('error','Upload error '.$handle->error.". Dir ".$base_upload_dir.$sub); throw new Exception("Error Upload : ".$handle->error.". Dir ".$base_upload_dir.$sub, 1); return $handle->error; } } else { log_message('error','Upload error '.$handle->error.". Dir ".$base_upload_dir.$sub); throw new Exception("Error Upload : ".$handle->error.". Dir ".$base_upload_dir.$sub, 1); return false; } } } ?>