10913 lines
446 KiB
PHP
10913 lines
446 KiB
PHP
<?php
|
|
require_once '../core/Bpjs.class.php';
|
|
require_once '../core/main.php';
|
|
require _DOCROOT_ . 'vendor/autoload.php';
|
|
require_once('../core/SQLServerDb.php');
|
|
|
|
use Dompdf\Dompdf;
|
|
use Mpdf\Tag\VarTag;
|
|
use PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Constants;
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Html;
|
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
|
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
|
use Symfony\Component\Console\Event\ConsoleEvent;
|
|
use Symfony\Polyfill\Intl\Idn\Idn;
|
|
|
|
$sql_date = "select * from global_var where var_name = 'start_tarif_baru'";
|
|
$tmp_date_start = $db->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 = '<input class="form-control text" name="KOTA" id="KOTA" stlye="" placeholder="Kota" type="text" required>';
|
|
$hook_select = '$("#kecamatanpilih").html("Pilih Kecamatan");
|
|
$("#kelurahanpilih").html("<input class=\"form-control text\" name=\"KELURAHAN\" id=\"KELURAHAN\" placeholder=\"Pilih Kelurahan\" type=\"text\" readonly>");
|
|
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 '<small id="kotaHelpBlock" class="form-text text-muted">Tidak ada kota/kabupaten di provinsi tersebut</small>';
|
|
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 = '<input class="form-control text" name="KDKECAMATAN" id="KDKECAMATAN" stlye="" placeholder="Kecamatan" type="text" required>';
|
|
$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 '<small id="kecamatanHelpBlock" class="form-text text-muted">Tidak ada kecamatan di kota/kabupaten tersebut</small>';
|
|
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 = '<input class="form-control text" name="KELURAHAN" id="KELURAHAN" stlye="" placeholder="Kelurahan" type="text" required>';
|
|
$hook_select = '
|
|
var selectValues = $(this).val().match(/(\d+)/);
|
|
$("#KELURAHANHIDDEN").val(selectValues[0]);';
|
|
} else {
|
|
echo '<small id="kelurahanHelpBlock" class="form-text text-muted">Tidak ada kelurahan di kecamatan tersebut</small>';
|
|
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 = '<input class="form-control text" name="KDPOLY" id="kdpoly" stlye="" placeholder="Poliklinik" type="text" required="true">';
|
|
// $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 '<small id="poliHelpBlock" class="form-text text-muted">Poliklinik tidak ditemukan</small>';
|
|
// 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 = '<input class="form-control text" name="' . $identifier . '" id="' . $identifier . '" stlye="" placeholder="Dokter Jaga" type="text" required="true">';
|
|
$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 '<small id="poliHelpBlock" class="form-text text-muted">Dokter jaga di poli tersebut tidak ditemukan</small>';
|
|
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 '<small id="poliHelpBlock" class="form-text text-muted">Data obat tidak ditemukan</small>';
|
|
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 = '<select name="ruang" class="form-control">';
|
|
$select .= '<option value="">Pilih Ruang</option>';
|
|
if ($record_filtered > 0) {
|
|
list($nama_ruang, $kelas) = explode(";", $ruang);
|
|
foreach ($data->fetchAll() as $ds) {
|
|
$opsi_selected = ($ds['nama'] == $nama_ruang && $ds['kelas'] == $kelas) ? 'selected="selected"' : '';
|
|
$select .= '<option value="' . $ds['nama'] . ';' . $ds['kelas'] . '" ' . $opsi_selected . '>' . $ds['nama'] . ' ' . $ds['kelas'] . '</option>';
|
|
}
|
|
}
|
|
$select .= '</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 = '<select name="' . $form_name . '" class="form-control" id="ppa_form6_select" style="width:100%" >';
|
|
$select .= '<option value="">Pilih</option>';
|
|
if ($record_filtered > 0) {
|
|
foreach ($data->fetchAll() as $ds) {
|
|
if ($jenis == '1') {
|
|
$tgl_SIP = new Datetime($ds['tgl_akhir_sip']);
|
|
$tgl_sekarang = new Datetime(date('Y-m-d'));
|
|
$selected = (!empty($user_id)) ? ($ds['kddokter'] == $user_id) ? "selected" : '' : '';
|
|
if ($ds['tgl_akhir_sip'] > '0000-00-00') {
|
|
if ($tgl_sekarang <= $tgl_SIP) {
|
|
$select .= '<option value="' . $ds['kddokter'] . '"'.$selected.'>' . $ds['namadokter'] . '</option>';
|
|
}
|
|
} else {
|
|
$select .= '<option value="' . $ds['kddokter'] . '"'.$selected.'>' . $ds['namadokter'] . '</option>';
|
|
}
|
|
} else {
|
|
$selected = (!empty($user_id)) ? ($ds['idperawat'] == $user_id) ? "selected" : '' : '';
|
|
$select .= '<option value="' . $ds['idperawat'] . '"'.$selected.'>' . $ds['nama'] . '</option>';
|
|
|
|
}
|
|
}
|
|
}
|
|
$select .= '</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=>[' ',' ','<div class="bg-red text-white p-3">Pelayanan selesai, tidak dapat menambah tarif tindakan</div>',' ',' ',' '])
|
|
// );
|
|
// 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 => [' ', ' ', '<div class="bg-red text-white p-3">Pelayanan selesai, tidak dapat menambah tarif tindakan</div>', ' ', ' ', ' '])
|
|
);
|
|
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 = '<button type="button" id="add_dokter_' . $row['id_tarif'] . '-1" data-idtarif="' . $row['id_tarif'] . '" data-kode_tarif="' . $row['kode_tarif'] . '" data-nilai="' . $row['jasa_pelayanan'] . '" class="add_dokter btn btn-sm btn-info">Add</button>';
|
|
$val_dokter = '<table class="table table-bordered table-sm"><thead><tr class="bg-dark text-white"><th width="10%">No</th><th width="80%">Nama DPJP</th><th width="10%">#</th></tr></thead><tbody>';
|
|
$val_dokter .= '<tr data-row="1"><td>1</td><td>' . 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'] . '"') . '</td><td><div class="btn-group">' . $btn_add_dokter . '</div></td></tr>';
|
|
$val_dokter .= '</tbody></table>';
|
|
} else {
|
|
if ($row['jml_komponen'] > 2 && $row['jasa_anastesi'] > 0) {
|
|
$val_dokter = '<table class="table table-bordered table-sm"><thead><tr class="bg-dark text-white"><th width="20%">Komponen</th><th width="80%">Nama DPJP</th></tr></thead><tbody>';
|
|
$val_dokter .= '<tr data-row="1"><td>Jasa Pelayanan</td><td>' . 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'] . '"') . '</td></tr>';
|
|
$val_dokter .= '<tr data-row="2"><td>Jasa Anastesi</td><td>' . 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'] . '"') . '</td></tr>';
|
|
$val_dokter .= '</tbody></table>';
|
|
} 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] = '<input type="button" value="Add" data-id="' . $row['id_tarif'] . '" data-svn="' . $_REQUEST['nomr'] . '" data-kode="' . $row['kode_tarif'] . '" class="add btn btn-outline-primary btn-sm" data-poly="' . $_REQUEST['poly'] . '">';
|
|
} 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 = '
|
|
<style>
|
|
.hero-section {background:#f2f7f8 }
|
|
.hero-text {margin-bottom:40px }
|
|
.hero-text h4 {font-size:40px; line-height:normal; margin-bottom:15px }
|
|
.hero-text p {font-size:24px; line-height:1.3 }
|
|
.hero-image {padding-top:70px }
|
|
.hero-info h5 {margin-bottom:20px }
|
|
.hero-info ul {list-style:none }
|
|
.hero-info ul li {font-size:18px; color:#808181; margin-bottom:10px }
|
|
.hero-info ul li span {color:#40424a; display:inline-block; min-width:220px }
|
|
.hero-info ul li:last-child {margin-bottom:0 }
|
|
</style>';
|
|
if ($meta->code == 200) {
|
|
$template .= '
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<div class="hero-text"> <h4>' . $response->peserta->nama . '</h4> </div>
|
|
<div class="hero-info"> <h5>Informasi Umum</h5>
|
|
<ul>
|
|
<li><span>No Kartu</span>' . $response->peserta->noKartu . '</li>
|
|
<li><span>NIK</span>' . $response->peserta->nik . '</li>
|
|
<li><span>Tanggal Lahir</span>' . $response->peserta->tglLahir . '</li>
|
|
<li><span>Jenis Kelamin</span>' . $response->peserta->sex . '</li>
|
|
<li><span>Status</span>' . $response->peserta->statusPeserta->keterangan . '</li>
|
|
<li><span>Hak Kelas</span>' . $response->peserta->hakKelas->keterangan . '</li>
|
|
<li><span>Jenis Peserta</span>' . $response->peserta->jenisPeserta->keterangan . '</li>
|
|
<li><span>NO MR</span>' . $response->peserta->mr->noMR . '</li>
|
|
<li><span>NO Telepon</span>' . $response->peserta->mr->noTelepon . '</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="hero-text"><h4>' . $response->peserta->nama . '</h4> </div>
|
|
<div class="hero-info">
|
|
<h5>Informasi Lain</h5>
|
|
<ul>
|
|
<li><span>Provider</span>' . $response->peserta->provUmum->kdProvider . ' - ' . $response->peserta->provUmum->nmProvider . '</li>
|
|
<li><span>Tgl Cetak</span>' . $response->peserta->tglCetakKartu . '</li>
|
|
<li><span>Tgl Berlaku </span>' . $response->peserta->tglTMT . ' s/d ' . $response->peserta->tglTAT . '</li>
|
|
<li><span>COB - No Asuransi</span>' . $response->peserta->cob->noAsuransi . '</li>
|
|
<li><span>COB - Nama Asuransi</span>' . $response->peserta->cob->nmAsuransi . '</li>
|
|
<li><span>COB - Tgl Berlaku </span>' . $response->peserta->cob->tglTMT . ' s/d ' . $response->peserta->cob->tglTAT . '</li>
|
|
<li><span>DINSOS</span>' . $response->peserta->informasi->dinsos . '</li>
|
|
<li><span>No SKTM</span>' . $response->peserta->informasi->noSKTM . '</li>
|
|
<li><span>PRB</span>' . $response->peserta->informasi->prolanisPRB . '</li>
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>';
|
|
} else {
|
|
$template .= '<div class="alert alert-danger alert-dismissible fade show"><p>' . $meta->message . '</p><button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button></div>';
|
|
}
|
|
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' => ': <small>' . $data_log['nama_pegawai'] . ' (' . $data_log['tgl_kelas_rawat'] . ')</small>'));
|
|
} 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 = '<table class="table table-bordered table-striped">
|
|
<thead><tr><th>No</th><th>Jenis Kegawatan</th><th>Tanggal Jam</th><th>Petugas</th></tr></thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($cek_kegawatan->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $no . '</td><td>' . $row['jenis_kegawatan'] . '</td><td>' . $row['dt_kegawatan'] . '</td><td>' . $row['nama_pegawai'] . '</td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
|
|
echo $html;
|
|
} else {
|
|
echo '<p>Belum terdapat data kegawatan</p>';
|
|
}
|
|
} else {
|
|
echo '<p>Data tidak ditemukan</p>';
|
|
}
|
|
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 = '<button id="btnDelKonsul" class="btn btn-outline-danger btn-sm delkonsulen" data-iddetil="' . $row['id_penunjangdetil'] . '"><i class="fas fa-trash"><i></button>';
|
|
$detil .= '<tr><td colspan="3">' . $row['namadokter'] . '</td><td>' . $btn_rem_item . '</td></tr>';
|
|
}
|
|
}
|
|
$btn_add_item = '<button id="btnAddKonsul" class="btn btn-outline-info btn-sm addkonsulen" data-target="' . $data['id'] . '" data-kode="' . $data['kode_tindakan'] . '"><i class="fas fa-plus-circle"><i></button>';
|
|
|
|
$detil .= '<tr><td colspan="3">' . form_dropdown('konsulen' . $data['id'], $arr_dokterlab, '', 'class="form-control form-control-sm " id="konsulen' . $data['id'] . '" style="width:100%"') . '</td><td>' . $btn_add_item . '</td></tr>';
|
|
|
|
$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 = '<a href="' . _BASE_ . 'index.php?link=' . $link . '&nomr=' . $data['nomr'] . '&idx=' . $idx . '&NOLAB=' . $link_nolab . '&aps=' . $aps . '" class="btn btn-outline-primary btn-sm">Periksa</a>';
|
|
$btn_jadwal = '<button data-nomr="' . $data['nomr'] . '" data-idxdaftar="' . $idx . '" data-NOLAB="' . $link_nolab . '" data-lab="' . $status_lab . '" data-rajal=' . $data['st_rajal'] . ' data-aps=' . $aps . '" class="btn btn-sm btn-outline-info jadwal">Jadwal</button>';
|
|
$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 = '<button type="button" id="btn_additem" class="btn btn-primary additem" data-next="' . ($x + 1) . '"><i class="fa fa-plus-circle"></i></button>';
|
|
$btn_remitem = '<button type="button" id="btn_remitem" class="btn btn-danger remitem"><i class="fa fa-trash"></i></button>';
|
|
$lis_rowitem = '<tr>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][lis_test_id]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="25%"><input type="text" name="lis_result[' . $x . '][test_name]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][result]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][test_units_name]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="6%"><input type="text" name="lis_result[' . $x . '][result_comment]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][reference_value]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="6%"><input type="text" name="lis_result[' . $x . '][reference_note]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%">' . form_dropdown('lis_result[' . $x . '][test_flag_sign]', $arr_flag, '', 'class="form-control form-control-sm" style="width:100%"') . '</td>';
|
|
$lis_rowitem .= '<td width="6%"><input type="text" name="lis_result[' . $x . '][instrument_name]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="12%">' . form_dropdown('lis_result[' . $x . '][authorization_user]', $arr_dokterlab, $_REQUEST['DRPENGIRIM'], 'class="form-control form-control-sm" style=""') . '</td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][authorization_date]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][greaterthan_value]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><input type="text" name="lis_result[' . $x . '][lessthan_value]" class="form-control form-control-sm"></td>';
|
|
$lis_rowitem .= '<td width="5%"><div class="btn-group">' . $btn_additem . $btn_remitem . '</div></td>';
|
|
$lis_rowitem .= '</tr>';
|
|
|
|
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 = '<tr id="rowdetil-' . $index . '"><td colspan="4"><table class="table table-bordered table-striped table-sm">
|
|
<tr class="bg-info text-white">
|
|
<th>No.</th><th>Nama Pasien</th><th>Ruangan/Poliklinik</th></tr>
|
|
';
|
|
$no = 1;
|
|
foreach ($sql_dokter->fetchAll() as $da) {
|
|
$lis_rowitem .= '<tr>';
|
|
$lis_rowitem .= '<td width="5%">' . $no . '</td>';
|
|
$lis_rowitem .= '<td width="25%">' . $da['nama'] . '</td>';
|
|
$lis_rowitem .= '<td width="25%">' . $da['ruang'] . '</td>';
|
|
$lis_rowitem .= '</tr>';
|
|
}
|
|
$lis_rowitem .= '</table></td></tr>';
|
|
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 = '<button type="button" id="add_dokter_' . $idtarif . '-' . $no . '" data-idtarif="' . $idtarif . '" data-kode_tarif="' . $kode_tarif . '" data-nilai="' . $nilai . '" class="add_dokter btn btn-sm btn-info"> <i class="fa fa-plus-circle"></i> </button>';
|
|
$btn_remitem = '<button type="button" id="btn_remitem" class="btn btn-danger rem_dokter" data-idtarif="' . $idtarif . '"><i class="fa fa-trash"></i></button>';
|
|
$rowitem = '<tr data-row="' . $no . '">';
|
|
$rowitem .= '<td width="10%" data-row="' . $no . '">' . $no . '</td>';
|
|
$rowitem .= '<td width="80%">' . 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 . '"') . '</td>';
|
|
$rowitem .= '<td width="10%"><div class="btn-group">' . $btn_additem . $btn_remitem . '</div></td>';
|
|
$rowitem .= '</tr>';
|
|
|
|
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 = '<table class="table table-sm table-bordered table-striped">
|
|
<thead><tr><th>No</th><th>Kode Tarif</th><th>Uraian Tarif</th></tr></thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($data_bill->fetchAll() as $row) {
|
|
$btn_batal = ($row['status'] == 'BATAL') ? '<span class="bg-info text-white m-2 p-2">SEDANG PROSES</span>' : '<button type="button" class="btn btn-danger btn-sm" onclick="batal_bill(' . $row['idxbill'] . ',' . $rajal . ')">Batal</button>';
|
|
$html_bill .= '<tr>
|
|
<td>' . $no . '</td>
|
|
<td>' . $row['kode_tarif'] . '</td>
|
|
<td>' . $row['uraian_tarif'] . '</td>
|
|
<td>' . $btn_batal . '</td>
|
|
</tr>';
|
|
$no++;
|
|
}
|
|
$html_bill .= '</tbody></table>';
|
|
|
|
$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] = '<a href="?link=24&NOMR=' . $row['nomr'] . '" class="btn btn-outline-secondary">Edit</a>';
|
|
}
|
|
$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 = '<table class="table table-bordered table-striped table-sm">
|
|
<tr class="bg-blue"><th>Nama Diet</th><th>Kelas</th><th>Waktu</th></tr>';
|
|
foreach ($sql->fetchAll() as $row) {
|
|
$html_daftar_diet .= '<tr><td>' . $row['nama_diet'] . '</td><td>' . implode(",", json_decode($row['kelas'], 1)) . '</td><td>' . $row['waktu'] . '</td></tr>';
|
|
}
|
|
$html_daftar_diet .= '</table>';
|
|
} else {
|
|
$html_daftar_diet = '<table class="table table-bordered table-striped table-sm">
|
|
<tr class="bg-blue"><th>Nama Diet</th><th>Waktu</th></tr>';
|
|
foreach ($sql->fetchAll() as $row) {
|
|
$html_daftar_diet .= '<tr><td>' . $row['nama_diet'] . '</td><td>' . $row['waktu'] . '</td></tr>';
|
|
}
|
|
$html_daftar_diet .= '</table>';
|
|
}
|
|
|
|
$tabel_detil = '<table class="table table-bordered table-striped table-sm">
|
|
<tr class="bg-blue"><th>Waktu</th><th>Bahan</th><th>Jumlah</th><th>Satuan</th></tr>';
|
|
$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 = '<table class="table table-condensed table-bordered table-striped table-sm text-sm">
|
|
<tr><th>Waktu</th><th>Komponen</th><th>Jumlah</th></tr>';
|
|
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 .= '<tr><td>PAGI</td><td>' . $dt_kom['nama_komponen'] . '</td><td>' . $dt_kom['jumlah_komponen'] . ' ' . $dt_kom['satuan_komponen'] . '</td></tr>';
|
|
}
|
|
}
|
|
$komponen_detil .= '</table>';
|
|
|
|
$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 .= '<tr><td>' . $w . '</td><td>' . $dt_kom['nama_komponen'] . '</td><td>' . $dt_kom['jumlah_komponen'] . '</td><td>' . $dt_kom['satuan_komponen'] . '</td></tr>';
|
|
}
|
|
}
|
|
}
|
|
} 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 .= '<tr><td>' . $row['waktu'] . '</td><td>' . $dt_kom['nama_komponen'] . '</td><td>' . $dt_kom['jumlah_komponen'] . '</td><td>' . $dt_kom['satuan_komponen'] . '</td></tr>';
|
|
$arr_flag[] = $dt_kom['nama_komponen'] . $dt_kom['jumlah_komponen'] . $dt_kom['satuan_komponen'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$tabel_detil .= '</table>';
|
|
}
|
|
|
|
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 = '<table width="95%" style="margin:10px;" border="0" class="table table-hover table-bordered table-striped table-sm" cellspacing="1" cellspading="1">
|
|
<tr align="center" class="bg-success text-light">
|
|
<th width="6%"> NOMR</th>
|
|
<th width="10%">NAMA</th>
|
|
<th width="5%">KELAS</th>
|
|
<th width="5%">RUANG</th>
|
|
<th width="4%">Kelompok</th>
|
|
<th width="9%">Nama Diet</th>
|
|
<th width="10%" align="left">Waktu</th>
|
|
<th width="10%" align="left">SNACK</th>
|
|
<th width="10%">Ket.</th>
|
|
</tr>';
|
|
if ($dpmp->numRows() > 0) {
|
|
foreach ($dpmp->fetchAll() as $row) {
|
|
// $btn_edit = '<button type="button" id="btn_edit_'.$row['idx'].'" data-idx="'.$row['idx'].'" class="btn btn-warning">Edit</button>';
|
|
$html_diet .= '<tr class="" valign="top" align="center">
|
|
<td>' . $row['nomr'] . '</td>
|
|
<td align="left">' . $row['namapasien'] . '</td>
|
|
<td>' . $row['kelas'] . '</td>
|
|
<td>' . $row['rruang'] . '</td>
|
|
<td>' . $row['nama_kelompok'] . '</td>
|
|
<td>' . $row['nama_diet'] . '</td>
|
|
<td>' . $row['waktu'] . '</td>
|
|
<td>' . $row['snack'] . '</td>
|
|
<td>' . $row['keterangantambahan'] . '</td>
|
|
</tr>';
|
|
}
|
|
}
|
|
|
|
$html_diet .= '</table>';
|
|
|
|
$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 = '
|
|
<dl class="row">
|
|
<dt class="col-lg-2">No MR</dt><dd class="col-lg-10">: ' . $first_row['nomr'] . '</dd>
|
|
<dt class="col-lg-2">Nama</dt><dd class="col-lg-10">: ' . $first_row['namapasien'] . '</dd>
|
|
<dt class="col-lg-2">Ruang</dt><dd class="col-lg-10">: ' . $first_row['rruang'] . '</dd>
|
|
<dt class="col-lg-2">Kelas</dt><dd class="col-lg-10">: ' . $first_row['kelas'] . '</dd>
|
|
</dl>
|
|
<button type="button" class="btn btn-warning btn-sm" id="btn_edit_tercentang" data-katalog="' . $katalog . '">Edit Tercentang</button>
|
|
<table class="table table-bordered table-striped table-sm" id="tabel_detil_dpmp">
|
|
<thead>
|
|
<tr class="table-primary">
|
|
<th><input type="checkbox" id="global_cek"></th><th>No</th><th>Kelompok</th><th>Nama Diet</th><th>Waktu</th><th>Snack</th><th>Keterangan</th><th>Opsi</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($row_data as $row) {
|
|
$html .= '<tr>
|
|
<td><input type="checkbox" name="cb_dpmp[]" id="cb_dpmp_' . $row['idx'] . '" class="cb_dpmp" value="' . $row['idx'] . '" data-namadiet="' . $row['nama_diet'] . '" data-nomr="' . $row['nomr'] . '" data-idxdaftar="' . $idxdaftar . '" data-ruang="' . $row['ruang'] . '"></td>
|
|
<td>' . $no . '</td><td>' . $row['nama_kelompok'] . '</td><td>' . $row['nama_diet'] . '</td><td>' . (($katalog == 1) ? implode(",", json_decode($row['waktu'], 1)) : trim($row['waktu'])) . '</td><td>' . $row['snack'] . '</td><td>' . $row['keterangantambahan'] . '</td><td><div class="btn-group dropleft">
|
|
<button class="btn btn-outline-primary dropdown-toggle btn-sm" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
Opsi
|
|
</button>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a href="javascript:void(0)" id="id_' . $row['idx'] . '" data-index="' . $row['idx'] . '" class="dropdown-item ubah " data-nama="' . $row['nama_diet'] . '" data-waktu="' . (($katalog == 1) ? trim(implode(",", json_decode($row['waktu'], 1))) : trim($row['waktu'])) . '" data-katalog="' . $katalog . '"><i class="fas fa-pen text-yellow"></i> Ubah Diet</a>
|
|
<a href="javascript:void(0)" id="id_' . $row['idx'] . '" data-index="' . $row['idx'] . '" class="dropdown-item hapus " data-nama="' . $row['nama_diet'] . '" data-waktu="' . (($katalog == 1) ? trim(implode(",", json_decode($row['waktu'], 1))) : trim($row['waktu'])) . '" data-katalog="' . $katalog . '"><i class="fas fa-pen text-red"></i> Hapus Diet</a>
|
|
</div>
|
|
</div></td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
echo $html;
|
|
} else {
|
|
echo '<div class="alert alert-info">Data tidak ditemukan.</div>';
|
|
}
|
|
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 = '<div class="table-responsive" style="overflow:auto">
|
|
<table class="table table-bordered table-striped table-sm" style="width:150% !important;">
|
|
<thead>
|
|
<tr class="bg-green">
|
|
<th width="5%">Tanggal</th>
|
|
<th width="5%">No</th>
|
|
<th width="15%">DPJP</th>
|
|
<th width="5%">Kasus</th>
|
|
<th width="5%">Kunj.</th>
|
|
<th width="15%">Keluhan</th>
|
|
<th width="15%">Riwayat</th>
|
|
<th width="5%">Tek.Darah</th>
|
|
<th width="5%">Gol.Darah</th>
|
|
<th width="5%">BB</th>
|
|
<th width="5%">TB</th>
|
|
<th width="15%">Pem.Fisik</th>
|
|
<th width="10%">Diagnosa</th>
|
|
<th width="10%">Diagnosa Medis</th>
|
|
<th width="10%">Tindakan</th>
|
|
<th width="10%">Tindakan Medis</th>
|
|
<th width="15%">Terapi</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
|
|
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']) ? '<button class="btn btn-warning btn-sm edit_anamnesa" id="btn_edit_anamnesa-' . $no . '" data-idxterapi="' . $row['idxterapi'] . '">Edit</button>' : '';
|
|
$html .= '<tr>';
|
|
$html .= '<td>' . $row['tanggal'] . '</td>';
|
|
$html .= '<td>' . $no . '</td>';
|
|
$html .= '<td>' . $row['namadokter'] . '</td>';
|
|
$html .= '<td>' . $kasus . '</td>';
|
|
$html .= '<td>' . $kunjungan . '</td>';
|
|
$html .= '<td>' . $row['anamnesa'] . '</td>';
|
|
$html .= '<td>' . $row['riwayat_pasien'] . '</td>';
|
|
$html .= '<td>' . $row['tekanan_darah'] . '</td>';
|
|
$html .= '<td>' . $row['golongan_darah'] . '</td>';
|
|
$html .= '<td>' . $row['berat_badan'] . '</td>';
|
|
$html .= '<td>' . $row['tinggi_badan'] . '</td>';
|
|
$html .= '<td>' . $row['pemeriksaan_fisik'] . '</td>';
|
|
$html .= '<td>' . $row['icd_diagnosa'] . '</td>';
|
|
$html .= '<td>' . $row['diagnosa'] . '</td>';
|
|
$html .= '<td>' . $row['icd_tindakan'] . '</td>';
|
|
$html .= '<td>' . $row['tindakan_medis'] . '</td>';
|
|
$html .= '<td>' . $row['terapi'] . '</td>';
|
|
$html .= '</tr>';
|
|
$no++;
|
|
}
|
|
}
|
|
|
|
$html .= '</tbody></table></div>';
|
|
|
|
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 = '<table class="table table-sm table-bordered table-striped table-hover"><thead><tr>
|
|
<th>No</th>
|
|
<th>Tgl Registrasi</th>
|
|
<th>Ruang</th>
|
|
<th>Thn</th>
|
|
<th>Bln</th>
|
|
<th>Hari</th>
|
|
<th>Nobill</th>
|
|
<th>Tgl Keluar</th>
|
|
<th>Ket. Keluar</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
';
|
|
foreach ($query->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $row['nourut'] . '</td><td>' . $row['tglreg'] . '</td><td>' . $row['klinik'] . '</td><td>' . $row['umur_th'] . '</td>
|
|
<td>' . $row['umur_bl'] . '</td><td>' . $row['umur_hr'] . '</td><td>' . $row['nobill'] . '</td><td>' . $row['tglplg'] . '</td><td>' . $row['keterangan'] . '</td></tr>';
|
|
}
|
|
|
|
$html .= '</tbody></table>';
|
|
} 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 '<div class="alert alert-success"><p>Resume Pulang telah diisi</p></div>';
|
|
$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 = '<br>' . $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 = '<br>' . $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 .= '<tr><td>' . $no_diag . '</td><td>' . $data_icd['jenis_penyakit'] . '</td></tr>';
|
|
$kode_diagnosa_sekunder .= '<tr><td>' . $icd10s . '</td></tr>';
|
|
$dasar_diagnosa_sekunder .= '<tr><td>' . $no_diag . '</td><td>' . $arr_dasar_icd10s[$k] . '</td></tr>';
|
|
$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 = '<br>' . $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 .= '<tr><td>' . $no_tind . '</td><td>' . $data_icd['keterangan'] . '</td></tr>';
|
|
$kode_tindakan_lain .= '<tr><td>' . $icd10cm . '</td></tr>';
|
|
$dasar_tindakan_lain .= '<tr><td>' . $no_tind . '</td><td>' . (array_key_exists($k, $arr_dasar_icd10cm) ? $arr_dasar_icd10cm[$k] : '') . '</td></tr>';
|
|
$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 .= '<tr><td>' . $no . '</td><td>' . $terapi . '</td></tr>';
|
|
|
|
$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 .= '<tr><td>' . $no . '</td><td>' . $terapi . '</td></tr>';
|
|
|
|
$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 .= '<tr><td>' . $no . '</td><td>' . $konsul . '</td></tr>';
|
|
|
|
$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 .= '<tr><td>' . $no . '</td><td>' . $hasil . '</td></tr>';
|
|
|
|
$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 .= '<div>' . $no . '. ' . $lanjutan . '</div>';
|
|
|
|
$no++;
|
|
}
|
|
}
|
|
}
|
|
|
|
$html_resume = '<table class="table table-sm table-bordered table-striped">
|
|
<colgroup>
|
|
<col style="width:45%">
|
|
<col style="width:5%">
|
|
<col style="width:50%">
|
|
</colgroup>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="form-group row">
|
|
<label class="col-sm-2">Tanggal Masuk</label>
|
|
<div class="col-sm-3">
|
|
<input type="text" name="input[tanggalmasuk]" value="' . $resume_data['tanggalmasuk'] . '" class="form-control datetimepicker" readonly>
|
|
</div>
|
|
<label class="col-sm-2">Tanggal Keluar</label>
|
|
<div class="col-sm-3">
|
|
<input type="text" name="input[tanggalkeluar]" value="' . $resume_data['tanggalkeluar'] . '" class="form-control datetimepicker" readonly>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="form-group">
|
|
<label for="dpjp">DPJP</label>
|
|
' . $resume_data['namadokter'] . '
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="keluhan_utama">Keluhan Utama</label>
|
|
<textarea name="input[keluhan_utama]" id="keluhan_utama" class="form-control" value="" readonly="true">' . $resume_data['keluhan_utama'] . '</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="riwayat_penyakit">Riwayat Penyakit</label>
|
|
<textarea name="input[riwayat_penyakit]" id="riwayat_penyakit" class="form-control" value="" readonly="true">' . $resume_data['riwayat_penyakit'] . '</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="pemeriksaan_fisik">Pemeriksaan Fisik & Keadaan Umum</label>
|
|
<textarea name="input[pemeriksaan_fisik]" id="pemeriksaan_fisik" class="form-control" value="" readonly="true">' . $resume_data['pemeriksaan_fisik'] . '</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="pemeriksaan_penunjang">Pemeriksaan Penunjang</label>
|
|
<textarea name="input[pemeriksaan_penunjang]" id="pemeriksaan_penunjang" class="form-control" value="" readonly="true">' . $resume_data['pemeriksaan_penunjang'] . '</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Diagnosa masuk/Rujukan/Indikasi Rawat:</label>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
' . $diagnosa_masuk . '
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div id="kode_icd10_masuk">' . $kode_diagnosa_masuk . '</div>
|
|
</td>
|
|
<td>
|
|
<div class="form-group">
|
|
<textarea name="input[dasar_diagnosa_masuk]" class="form-control" placeholder="Dasar Diagnosa Masuk" style="margin-top: 33px" readonly="true">' . $resume_data['dasar_diagnosa_masuk'] . '</textarea>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>DIAGNOSIS</td>
|
|
<td>ICD 10</td>
|
|
<td>DASAR DIAGNOSIS/ KRITERIA DIAGNOSIS<br>(Anamnesis, Riwayat Kesehatan, Komorbiditas Lain, Pemeriksaan Fisik, Penunjang)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Diagnosa Utama</label>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
' . $diagnosa_utama . '
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div id="kode_icd10_utama">' . $kode_diagnosa_utama . '</div>
|
|
</td>
|
|
<td>
|
|
<div class="form-group">
|
|
<textarea name="input[dasar_diagnosa_utama]" class="form-control" placeholder="Dasar Diagnosa Utama" style="margin-top: 33px" readonly="true">' . $resume_data['dasar_diagnosa_utama'] . '</textarea>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Diagnosa Sekunder/ Diagnosa Komplikasi</label>
|
|
<table class="table" id="table_diag_sekunder">
|
|
' . $diagnosa_sekunder . '
|
|
</table>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label class=""> </label>
|
|
<table class="table" id="table_txt_diag_sekunder">
|
|
' . $diagnosa_sekunder . '
|
|
</table>
|
|
</td>
|
|
<td>
|
|
<label class=""> </label>
|
|
<table class="table" id="table_dasar_diag_sekunder">
|
|
' . $dasar_diagnosa_sekunder . '
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Tindakan Operatif/Non Operatif Utama</label>
|
|
<div class="form-control">' . $tindakan_utama . '</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
ICD 9
|
|
<div id="kode_icd9_utama">' . $kode_tindakan_utama . '</div>
|
|
</td>
|
|
<td>
|
|
<div class="form-group">
|
|
' . $dasar_tindakan_utama . '
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Tindakan Operatif/Non Operatif Lain</label>
|
|
<table class="table" id="table_proc_sekunder">
|
|
' . $tindakan_lain . '
|
|
</table>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label class=""> </label>
|
|
<table class="table" id="table_txt_proc_sekunder">
|
|
' . $kode_tindakan_lain . '
|
|
</table>
|
|
</td>
|
|
<td>
|
|
<label class=""> </label>
|
|
<table class="table" id="table_dasar_proc_sekunder">
|
|
' . $dasar_tindakan_lain . '
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div class="form-group">
|
|
<label class="">Terapi yang diberikan <br>(Farmakologi & Non Farmakologi)<br>Selama Dirawat</label>
|
|
<table class="table" id="table_terapi_selama_dirawat">
|
|
' . $terapi_selama_dirawat . '
|
|
</table>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="form-group">
|
|
<label class="">Terapi yang diberikan <br>(Farmakologi & Non Farmakologi)<br>Waktu Pulang</label>
|
|
<table class="table" id="table_terapi_waktu_pulang">
|
|
' . $terapi_waktu_pulang . '
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div class="form-group">
|
|
<label class="">Konsultasi</label>
|
|
<table class="table" id="table_konsultasi">
|
|
' . $konsultasi . '
|
|
</table>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label class="">Hasil Konsultasi</label>
|
|
<table class="table" id="table_hasil_konsultasi">
|
|
' . $hasil_konsultasi . '
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div class="form-group">
|
|
<label class="">Kelainan Khusus Alergi</label>
|
|
<textarea name="input[kelainan_alergi]" class="form-control" placeholder="Jelaskan Kelainan Khusus Alergi" readonly="true">' . $resume_data['kelainan_alergi'] . '</textarea>
|
|
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label class="">Kelainan Khusus Lain-lain</label>
|
|
<div class="form-group">
|
|
<textarea name="input[kelainan_lain]" class="form-control" placeholder="Jelaskan Kelainan Khusus Lain-lain" readonly="true">' . $resume_data['kelainan_lain'] . '</textarea>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="form-group">
|
|
<label class="">Instruksi Tindak Lanjut/Anjuran dan Edukasi (Follow up/kontrol) </label>
|
|
<textarea name="input[instruksi]" class="form-control" placeholder="Jelaskan Instruksi Tindak Lanjut/Anjuran dan Edukasi (Follow up/kontrol)" readonly="true">' . $resume_data['instruksi'] . '</textarea>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="form-group">
|
|
<label class="">Kondisi Waktu Keluar </label>
|
|
<br>
|
|
<label>Keadaan Umum</label>
|
|
<table class="table">
|
|
<tr>
|
|
<td width="50%">
|
|
<div class="form-group row">
|
|
<label class="form-control-label col-sm-2" >Tensi</label>
|
|
<div class="input-group col-sm-8">
|
|
<input type="text" class="form-control" name="input[tensi]" value="' . $resume_data['tensi'] . '" readonly="true">
|
|
<div class="input-group-append">
|
|
<span class="input-group-text " id="basic-addon2">mmHg</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td width="50%">
|
|
<div class="form-group row">
|
|
<label class="form-control-label col-sm-2" >Nadi</label>
|
|
<div class="input-group col-sm-8">
|
|
<input type="text" class="form-control" name="input[nadi]" value="' . $resume_data['nadi'] . '" readonly="true">
|
|
<div class="input-group-append">
|
|
<span class="input-group-text " id="basic-addon2">x/Menit</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="50%">
|
|
<div class="form-group row">
|
|
<label class="form-control-label col-sm-2" >Suhu</label>
|
|
<div class="input-group col-sm-8">
|
|
<input type="text" class="form-control" name="input[suhu]" value="' . $resume_data['suhu'] . '" readonly="true">
|
|
<div class="input-group-append">
|
|
<span class="input-group-text " id="basic-addon2">C °</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td width="50%">
|
|
<div class="form-group row">
|
|
<label class="form-control-label col-sm-2" >Rr</label>
|
|
<div class="input-group col-sm-8">
|
|
<input type="text" class="form-control" name="input[rr]" value="' . $resume_data['rr'] . '" readonly="true">
|
|
<div class="input-group-append">
|
|
<span class="input-group-text " id="basic-addon2">x/Menit</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table border="0">
|
|
<tr>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang1" name="input[keadaan_pulang]" value="sembuh" ' . ((strcmp($resume_data['keadaan_pulang'], 'sembuh') === 0) ? 'checked' : '') . ' readonly="true"><label class="form-check-label" for="keadaan_pulang1"> Sembuh</label></div>
|
|
</td>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang2" name="input[keadaan_pulang]" value="terkontrol" ' . ((strcmp($resume_data['keadaan_pulang'], 'terkontrol') === 0) ? 'checked' : '') . ' readonly="true"><label class="form-check-label" for="keadaan_pulang2"> Terkontrol</label></div>
|
|
</td>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang3" name="input[keadaan_pulang]" value="perbaikan" ' . ((strcmp($resume_data['keadaan_pulang'], 'perbaikan') === 0) ? 'checked' : '') . ' readonly="true"><label class="form-check-label" for="keadaan_pulang3"> Perbaikan</label></div>
|
|
</td>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang4" name="input[keadaan_pulang]" value="pindah rs" ' . ((strcmp($resume_data['keadaan_pulang'], 'pindah rs') === 0) ? 'checked' : '') . ' readonly="true"><label class="form-check-label" for="keadaan_pulang4"> Pindah RS</label></div>
|
|
</td>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang5" name="input[keadaan_pulang]" value="atas permintaan sendiri" ' . ((strcmp($resume_data['keadaan_pulang'], 'atas permintaan sendiri') === 0) ? 'checked' : '') . 'readonly="true"><label class="form-check-label" for="keadaan_pulang5"> Pulang atas permintaan sendiri</label></div>
|
|
<td>
|
|
<div class="form-check"><input type="radio" id="keadaan_pulang6" name="input[keadaan_pulang]" value="meninggal" ' . ((strcmp($resume_data['keadaan_pulang'], 'meninggal') === 0) ? 'checked' : '') . ' readonly="true"><label class="form-check-label" for="keadaan_pulang6"> Meninggal</label></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3">
|
|
<div class="form-group">
|
|
<table class="table">
|
|
<label>Lanjutan Pengobatan</label><br>
|
|
<tr>
|
|
<td class="w-50">
|
|
<label class="form-check-label">Poliklinik RSSA</label>
|
|
<div class="form-group">
|
|
' . $lanjutan_pengobatan . '
|
|
</div>
|
|
|
|
<input placeholder="Tanggal Kontrol" type="text" name="input[tgl_kontrol]" class="mask-date-default datepicker-default form-control" value="' . $resume_data['tanggal_kontrol'] . '" readonly="true">
|
|
|
|
</td>
|
|
<td class="w-50">
|
|
<div class="form-group">
|
|
<input type="radio" id="lanjutan_ke1" name="input[lanjutan_ke]" value="luar rs" ' . ((strcmp($resume_data['keadaan_pulang'], 'luar rs') === 0) ? 'checked' : '') . ' readonly="true">
|
|
<label for="lanjutan_ke1"> Luar RSSA</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="radio" id="lanjutan_ke2" name="input[lanjutan_ke]" value="faskes tl" ' . ((strcmp($resume_data['keadaan_pulang'], 'faskes tl') === 0) ? 'checked' : '') . ' readonly="true"><label for="lanjutan_ke2"> Faskes TL</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="radio" id="lanjutan_ke3" name="input[lanjutan_ke]" value="faskes tp" ' . ((strcmp($resume_data['keadaan_pulang'], 'faskes tp') === 0) ? 'checked' : '') . ' readonly="true"><label for="lanjutan_ke3"> Faskes TP</label>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>';
|
|
echo $html_resume;
|
|
} else {
|
|
echo '<div class="alert alert-error"><p>Resume belum diisi</p></div>';
|
|
}
|
|
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 "<pre>";
|
|
// var_dump($icd_sekunder_resume);
|
|
|
|
// // echo "</pre>";
|
|
// foreach ($icd_sekunder_resume as $value) {
|
|
// echo "$value <br>";
|
|
// }
|
|
// //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 '<embed src="pdf_casemix/' . $folder . '/' . $filename . '" type="application/pdf" height="600px" width="100%">';
|
|
}
|
|
} else {
|
|
echo '<div class="alert alert-error"><p>Resume belum diisi</p></div>';
|
|
}
|
|
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 = '<table class="table table-bordered table-striped table-sm" id="table_disposisi">
|
|
<thead>
|
|
<tr class="table-primary"><th>No</th><th>Waktu Disposisi</th><th>Petugas Disposisi</th><th>Dari DPJP</th><th>Ke DPJP</th></tr>
|
|
</thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($tmp_disposisi->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $no . '</td><td>' . datetime_to_id($row['tgl_entri']) . '</td><td>' . $row['nama_pegawai'] . '</td><td>' . $row['dari_dpjp'] . '</td><td>' . $row['ke_dpjp'] . '</td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
} 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 = '<table class="table table-bordered table-striped table-sm" id="table_disposisi">
|
|
<thead>
|
|
<tr class="table-primary"><th>No</th><th>Waktu Konsul</th><th>Petugas</th><th>Dari DPJP</th><th>Ke DPJP</th><th>Klinik</th></tr>
|
|
</thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($tmp_disposisi->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $no . '</td><td>' . datetime_to_id($row['tgl_entri']) . '</td><td>' . $row['nama_pegawai'] . '</td><td>' . $row['dari_dpjp'] . '</td><td>' . $row['ke_dpjp'] . '</td><td>' . $row['tempat_konsul'] . '</td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
} 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 = '<table class="table table-bordered table-striped table-sm" id="table_disposisi">
|
|
<thead>
|
|
<tr class="table-primary"><th>No</th><th>Waktu Konsul</th><th>Petugas</th><th>Kode SMF</th><th>Nama DPJP</th></tr>
|
|
</thead>
|
|
<tbody>';
|
|
$no = 1;
|
|
foreach ($tmp_disposisi->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $no . '</td><td>' . datetime_to_id($row['tgl_entri']) . '</td><td>' . $row['nama_pegawai'] . '</td><td>' . $row['kode_smf'] . '</td><td>' . $row['dpjp'] . '</td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
} 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 .= '<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label class="col-form-label">Nama Pasien</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['nama'] . '" readonly>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-form-label">Tempat,Tanggal Lahir</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['tempat'] . ', ' . date_to_id($dt_pendaftaran['tgllahir']) . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Umur</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $a['years'] . ' tahun ' . $a['months'] . ' bulan ' . $a['days'] . ' hari" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Jenis Kelamin</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . jeniskelamin($dt_pendaftaran['jeniskelamin']) . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Alamat Pasien</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['alamat'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Provinsi</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['namaprovinsi'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Kab./Kota</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['namakota'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Kecamatan</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['namakecamatan'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Kelurahan</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['namakelurahan'] . '" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label class="col-form-label">Klinik</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['poly1'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Dokter</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['namadokter'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Jenis Pembayaran</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['carabayar1'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">No Kartu JKN</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['no_kartu'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Rujukan</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['ketrujuk'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Pasien Baru/Lama</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $baru_lama[$dt_pendaftaran['b_l']] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Nama Penanggung Jawab</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['penanggungjawab_nama'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Alamat Penanggung Jawab</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['penanggungjawab_alamat'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Hubungan Penanggung Jawab</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['penanggungjawab_hubungan'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Telepon Penanggung Jawab</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['penanggungjawab_phone'] . '" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label class="col-form-label">Status Kecelakaan</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['nama_kecelakaan'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Catatan</label>
|
|
<textarea class="form-control form-control-sm" cols="10" rows="5" readonly>' . $dt_pendaftaran['catatan'] . '</textarea>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">No Antrian</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['no_antrian'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">No Billing</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['nobill'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-form-label">Petugas Pendaftaran</label>
|
|
<input type="text" class="form-control form-control-sm" value="' . $dt_pendaftaran['nama_pegawai'] . '" readonly>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="box box-widget widget-user">
|
|
<div class="widget-user-header bg-black" style="background: url(\'' . $img_ktp . '\') center center;background-size:cover;height:200px">
|
|
</div>
|
|
<a class="btn btn-primary btn-sm" href="' . $img_ktp . '" download>Download KTP</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>';
|
|
}
|
|
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 = '<tr height=0 style="visibility:hidden">
|
|
<td width="10%"></td>
|
|
<td width="20%"></td>
|
|
<td width="50%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td class="tb_header">Tgl.<br>Jam</td>
|
|
<td class="tb_header">PPA</td>
|
|
<td class="tb_header">HASIL ASASMEN PASIEN DAN PEMBERIAN<br>PELAYANAN<br>(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan)</td>
|
|
<td class="tb_header">REVIEW &<br>VERIFIKASI<br>DPJP<br>(Tulis Tanggal, Jam, Nama dan Paraf)</td>
|
|
</tr>';
|
|
} 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 = '<tr height=0 style="visibility:hidden">
|
|
<td width="10%"></td>
|
|
<td width="15%"></td>
|
|
<td width="50%"></td>
|
|
<td width="15%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td class="tb_header">Tgl.<br>Jam</td>
|
|
<td class="tb_header">PPA</td>
|
|
<td class="tb_header">HASIL ASASMEN PASIEN DAN PEMBERIAN<br>PELAYANAN<br>(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan)</td>
|
|
<td class="tb_header">INSTRUKSI PPA <br>TERMASUK PASCA<br>BEDAH<br>(Instruksi ditulis dengan rinci dan jelas)</td>
|
|
<td class="tb_header">REVIEW &<br>VERIFIKASI<br>DPJP<br>(Tulis Tanggal, Jam, Nama dan Paraf)</td>
|
|
</tr>';
|
|
}
|
|
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 = '<table style="order-collapse: collapse;" cellspacing=0 cellpadding=5 border=0 width="100%">
|
|
<tr>
|
|
<td width="5%">S</td><td width="2%">:</td><td>' . $row['evaluasi_s'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">O</td><td width="2%">:</td><td>' . $row['evaluasi_o'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">A</td><td width="2%">:</td><td>' . $row['evaluasi_a'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">P</td><td width="2%">:</td><td>' . $row['evaluasi_p'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">I</td><td width="2%">:</td><td>' . $row['implementasi'] . '</td>
|
|
</tr>
|
|
</table>';
|
|
if (array_key_exists('rajal', $_REQUEST) && $_REQUEST['rajal'] == 1) {
|
|
$cppt_list .= '<tr>
|
|
<td class="tb_body">' . datetime_to_id($row['tgl']) . '</td>
|
|
<td class="tb_body break_word">' . $row['nama_ppa'] . '<br>' . $row['nama_petugas'] . '</td>
|
|
<td class="tb_body">' . $format . '</td>
|
|
<td class="tb_body"></td>
|
|
</tr>';
|
|
} else {
|
|
$cppt_list .= '<tr>
|
|
<td class="tb_body">' . datetime_to_id($row['tgl']) . '</td>
|
|
<td class="tb_body break_word">' . $row['nama_ppa'] . '<br>' . $row['nama_petugas'] . '</td>
|
|
<td class="tb_body">' . $format . '</td>
|
|
<td class="tb_body"></td>
|
|
<td class="tb_body"></td>
|
|
</tr>';
|
|
}
|
|
$no++;
|
|
}
|
|
$html = '<html>
|
|
<head>
|
|
|
|
<title>' . $judul . '</title>
|
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|
|
|
<style media="print">
|
|
@page{margin: 0.5cm 1cm;}
|
|
.break_word {
|
|
word-wrap : break-word;
|
|
white-space : normal;
|
|
width:30px;
|
|
}
|
|
<!--table
|
|
{mso-displayed-decimal-separator:"\,";
|
|
mso-displayed-thousand-separator:"\.";}
|
|
.xl1524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:Times New Roman, sans-serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6624792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6724792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6824792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6924792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:right;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7024792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7124792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7224792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:normal;}
|
|
.xl7324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:right;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
-->
|
|
</style>
|
|
<style media="screen">
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div align=center>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0 width=718 style="table-layout: fixed;border-collapse: collapse;width:540pt">
|
|
<tr height=0 style="visibility:hidden">
|
|
<td width="5%"></td>
|
|
<td width="10%"></td>
|
|
<td width="2%"></td>
|
|
<td width="10%"></td>
|
|
<td width="15%"></td>
|
|
<td width="10%"></td>
|
|
<td width="15%"></td>
|
|
<td width="2%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr width=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7124792 style="height:15.0pt;">' . $rstitle . '</td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7124792 style="height:15.0pt">' . $header2 . '</td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7024792 style="height:15.0pt">' . $judul . '</td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">No. RM</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . $nomr . '</td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl7224792></td>
|
|
</tr>
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">Nama</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . $nama_px . '</td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl7224792></td>
|
|
</tr>
|
|
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">Tanggal Lahir</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . date_to_id($tgllahir) . '</td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl6424792></td>
|
|
<td class=xl7224792></td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
</table>
|
|
<table border=1 cellpadding=0 cellspacing=0 width=718 style="table-layout: fixed;border-collapse: collapse;width:540pt" id="cppt">
|
|
' . $header_tabel . $cppt_list . '
|
|
</table>
|
|
</body></html>';
|
|
|
|
$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 = '<tr height=0 style="visibility:hidden">
|
|
<td width="5%"></td>
|
|
<td width="15%"></td>
|
|
<td width="40%"></td>
|
|
<td width="40%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td class="tb_header">NO</td>
|
|
<td class="tb_header">Tgl.<br>Jam</td>
|
|
<td class="tb_header">PPA / Petugas Entri</td>
|
|
<td class="tb_header">HASIL ASASMEN PASIEN DAN PEMBERIAN<br>PELAYANAN<br>(Tulis dengan format SOAP disertai sasaran Tulis nama,beri paraf pada akhir catatan)</td>
|
|
<td class="tb_header">REVIEW &<br>VERIFIKASI<br>DPJP<br>(Tulis Tanggal, Jam, Nama dan Paraf)</td>
|
|
</tr>';
|
|
} 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 = '<tr height=0 style="visibility:hidden">
|
|
<td width="5%"></td>
|
|
<td width="15%"></td>
|
|
<td width="25%"></td>
|
|
<td width="40%"></td>
|
|
<td width="20%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td class="tb_header">NO</td>
|
|
<td class="tb_header">Tgl.<br>Jam</td>
|
|
<td class="tb_header">PPA / Petugas Entri</td>
|
|
<td class="tb_header">HASIL ASASMEN PASIEN DAN PEMBERIAN<br>PELAYANAN<br>(Tulis dengan format SOAP - Intruksi PPA, disertai sasaran tulis nama beri paraf pada akhir catatan)</td>
|
|
<td class="tb_header">INSTRUKSI PPA <br>TERMASUK PASCA<br>BEDAH<br>(Instruksi ditulis dengan rinci dan jelas)</td>
|
|
<td class="tb_header">REVIEW &<br>VERIFIKASI<br>DPJP<br>(Tulis Tanggal, Jam, Nama dan Paraf)</td>
|
|
</tr>';
|
|
}
|
|
if ($tmp_cppt->numRows() > 0) {
|
|
|
|
$cppt_list = '';
|
|
$no = 1;
|
|
$counter = 0;
|
|
foreach ($tmp_cppt->fetchAll() as $row) {
|
|
// echo '<pre>';
|
|
// var_dump($row);
|
|
// echo '</pre>';
|
|
$counter++;
|
|
if ($no == 1) {
|
|
$nama_px = $row['nama_pasien'];
|
|
$nomr = $row['nomr'];
|
|
$petugas = $row['nama_petugas'];
|
|
$tgllahir = $row['tgllahir'];
|
|
}
|
|
$format_rajal = '<table style="order-collapse: collapse;" cellspacing=0 cellpadding=5 border=0 width="100%">
|
|
<tr>
|
|
<td width="5%">S</td><td width="2%">:</td><td>' . $row['evaluasi_s'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">O</td><td width="2%">:</td><td>' . $row['evaluasi_o'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">A</td><td width="2%">:</td><td>' . $row['evaluasi_a'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">P</td><td width="2%">:</td><td>' . $row['evaluasi_p'] . '</td>
|
|
</tr>
|
|
</table>';
|
|
$format_ranap = '<table style="order-collapse: collapse;" cellspacing=0 cellpadding=5 border=0 width="100%">
|
|
<tr>
|
|
<td width="5%">S</td><td width="2%">:</td><td>' . $row['evaluasi_s'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">O</td><td width="2%">:</td><td>' . $row['evaluasi_o'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">A</td><td width="2%">:</td><td>' . $row['evaluasi_a'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%">P</td><td width="2%">:</td><td>' . $row['evaluasi_p'] . '</td>
|
|
</tr>
|
|
</table>';
|
|
if ($rajal == 1) {
|
|
$cppt_list .= '<tr>
|
|
<td class="tb_header">' . $counter . '</td>
|
|
<td class="text-center">' . datetime_to_id($row['tgl']) . '</td>
|
|
<td class="tb_body break_word text-center">' . $row['nama_ppa'] . '<br>' . $row['nama_petugas'] . '<br>' . $row['rolename'] . '</td>
|
|
<td class="tb_body">' . $format_rajal . '</td>
|
|
<td class="tb_body"></td>
|
|
</tr>';
|
|
} else {
|
|
$cppt_list .= '<tr>
|
|
<td class="tb_header">' . $counter . '</td>
|
|
<td class="tb_header">' . datetime_to_id($row['tgl']) . '</td>
|
|
<td class="tb_body break_word text-center">' . $row['nama_ppa'] . '<br>' . $row['nama_petugas'] . '<br>' . $row['rolename'] . '</td>
|
|
<td class="tb_body">' . $format_ranap . '</td>
|
|
<td class="tb_body">' . $row['implementasi'] . '</td>
|
|
<td class="tb_body"></td>
|
|
</tr>';
|
|
}
|
|
$no++;
|
|
}
|
|
$html = '<html>
|
|
<head>
|
|
|
|
<title>' . $judul . '</title>
|
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|
|
|
<style media="print">
|
|
@page{margin: 0.5cm 1cm;}
|
|
.break_word {
|
|
word-wrap : break-word;
|
|
white-space : normal;
|
|
width:30px;
|
|
}
|
|
|
|
<!--table
|
|
{mso-displayed-decimal-separator:"\,";
|
|
mso-displayed-thousand-separator:"\.";}
|
|
.xl1524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:Times New Roman, sans-serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6624792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6724792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6824792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6924792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:right;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7024792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7124792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7224792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:normal;}
|
|
.xl7324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
-->
|
|
</style>
|
|
<style media="screen">
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
div.header {
|
|
display: block; text-align: center;
|
|
position: running(header);
|
|
}
|
|
div.footer {
|
|
display: block; text-align: center;
|
|
position: running(footer);
|
|
}
|
|
@page {
|
|
@top-center { content: element(header) }
|
|
}
|
|
@page {
|
|
@bottom-center { content: element(footer) }
|
|
}
|
|
</style>
|
|
<style>
|
|
div.header {
|
|
display: block; text-align: center;
|
|
position: running(header);
|
|
}
|
|
div.footer {
|
|
display: block; text-align: center;
|
|
position: running(footer);
|
|
}
|
|
@page {
|
|
@top-center { content: element(header) }
|
|
}
|
|
@page {
|
|
@bottom-center { content: element(footer) }
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div align=center>
|
|
<img style="width:100%;" src="' . _BASE_ . 'assets/images/kop_header2012.png">
|
|
<table>
|
|
<tr>
|
|
<td style="width: 445px;">
|
|
</td>
|
|
<td style="width: 300px;">
|
|
<table class="text-left" style="padding: 2px;border-radius: 3px; border: 1px solid ">
|
|
<tr>
|
|
<td>NO. RM</td>
|
|
<td>:</td>
|
|
<td>
|
|
' . $nomr . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:100px;">NAMA PASIEN</td>
|
|
<td style="width: 10px;">:</td>
|
|
<td>
|
|
' . $nama_px . '
|
|
<span class="float-right text-right">
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>TANGGAL LAHIR</td>
|
|
<td>:</td>
|
|
<td>
|
|
' . date_to_id($tgllahir) . '
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<h3 align="center" style="padding: 0;margin:0;">' . $judul . '</h3>
|
|
<br>
|
|
<table border=1 cellpadding=0 cellspacing=0 width=718 style="table-layout: fixed;border-collapse: collapse;width:540pt" id="cppt">
|
|
' . $header_tabel . $cppt_list . '
|
|
|
|
</table>
|
|
|
|
</body>
|
|
</html>';
|
|
|
|
$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 id="jawab_konsul" class="d-none">
|
|
<input type="hidden" name="id_konsultasi" id="id_konsultasi" value="">
|
|
<div class="form-group row">
|
|
<label class="col-md-2">Dokter</label>
|
|
<div class="col-md-4">' . form_dropdown('dokter_jawab', $arr_dokter_jawab, '', 'class="form-control"') . '</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label class="col-md-2">Uraian</label>
|
|
<div class="col-md-8"><textarea name="uraian" id="uraian" row=3 class="form-control" readonly></textarea></div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label class="col-md-2">Jawaban</label>
|
|
<div class="col-md-8"><textarea name="jawaban" id="jawaban" row=3 class="form-control"></textarea></div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label class="col-md-2"> </label>
|
|
<div class="col-md-4"><button type="button" id="simpan_jawab" class="btn btn-primary">Simpan Jawab</button></div>
|
|
</div>
|
|
</form>
|
|
<table width="95%" style="margin:10px;" border="0" class="table table-hover table-bordered table-striped table-sm" cellspacing="1" cellspading="1">
|
|
<tr align="center" class="bg-success text-light">
|
|
<th width="5%">Tanggal / Jam</th>
|
|
<th width="10%">Dokter</th>
|
|
<th width="10%">SMF</th>
|
|
<th width="15%">Uraian Konsultasi</th>
|
|
<th width="10%">Tujuan</th>
|
|
<th width="15%">Jawaban Konsultasi</th>
|
|
<th width="5%">Aksi</th>
|
|
</tr>';
|
|
$no = 1;
|
|
foreach ($tmp_konsul->fetchAll() as $row) {
|
|
$html .= '<tr><td>' . $row['dt_konsultasi'] . '</td><td>' . $row['namadokter'] . '</td><td>' . $row['kdsmf'] . '</td><td>' . $row['uraian_konsul'] . '</td><td>' . $row['tujuan'] . '</td><td>' . $row['jawaban_konsul'] . '</td><td><button type="button" class="jawab_konsul btn btn-outline-primary" data-idkonsul="' . $row['id_konsultasi'] . '" data-uraian="' . $row['uraian_konsul'] . '" onclick="jawabKonsul(this)">Jawab Konsul</button></td></tr>';
|
|
$no++;
|
|
}
|
|
$html .= '</tbody></table>';
|
|
} 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.'<br>';
|
|
$nilai_pembulatan = '';
|
|
if (preg_match("/\.|,/", $total_biaya) && $total_biaya != '') {
|
|
// check jumlah desimal dibelakang koma
|
|
// echo '<span class="d-none">Ada koma</span>';
|
|
$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 '<span class="d-none">Sudah bulat</span>';
|
|
// echo 'Sudah bulat';
|
|
} else {
|
|
// echo $nilai_depan.'<br>';
|
|
// echo $nilai_dihitung.'<br>';
|
|
// echo '<span class="d-none">Nilai depan = '.$nilai_depan.', Nilai Dihitung = '.$nilai_dihitung.'</span>';
|
|
|
|
$nilai_depan_plus = (int) $nilai_depan + 1;
|
|
// echo '<span class="d-none">Nilai depan plus = '.$nilai_depan_plus.' ==> '.bulat_puluhan($nilai_depan_plus.$nilai_dihitung).'</span>';
|
|
// echo $nilai_depan_plus.'<br>'.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 '<span class="d-none">Nilai setelah bulat = '.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' ==> '.$nilai_pembulatan.'</span>';
|
|
// echo '<br>'.$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.'<br>';
|
|
// echo $nilai_dihitung.'<br>';
|
|
// echo '<span class="d-none">Nilai depan = '.$nilai_depan.', Nilai Dihitung = '.$nilai_dihitung.'</span>';
|
|
if (($nilai_dihitung * 1) == 0) {
|
|
// echo 'Sudah bulat';
|
|
} else {
|
|
$nilai_depan_plus = (int) $nilai_depan + 1;
|
|
// echo '<span class="d-none">Nilai depan plus = '.$nilai_depan_plus.' ==> '.bulat_puluhan($nilai_depan_plus.$nilai_dihitung).'</span>';
|
|
// echo $nilai_depan_plus.'<br>'.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 '<span class="d-none">Nilai setelah bulat = '.$nilai_setelah_bulat.' - '.((float) preg_replace("/,/", '.', $total_biaya)).' ==> '.$nilai_pembulatan.'</span>';
|
|
// echo '<br>'.$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 = '<form method="post" action="" id="frm_password">
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Nama </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="nama_pegawai" class="form-control" value="' . $_SESSION['NAMA_PEGAWAI'] . '" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Email </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="email_login" class="form-control" value="' . $_SESSION['NIP'] . '" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Password Lama </label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group">
|
|
<input type="password" name="password_lama" id="pwd_lama" class="form-control" value="">
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-secondary toggle-password" toggle="#pwd_lama"><i class="fa fa-fw fa-eye"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Password Baru </label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group">
|
|
<input type="password" name="password_baru" id="pwd" class="form-control" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" value="" required>
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-secondary toggle-password" toggle="#pwd"><i class="fa fa-fw fa-eye"></i></button>
|
|
</div>
|
|
</div>
|
|
<div id="message" class="help-block">
|
|
|
|
<span id="letter" class="text-danger">A <b>lowercase</b> letter.</span>
|
|
|
|
<span id="capital" class="text-danger">A <b>capital (uppercase)</b> letter.</span>
|
|
|
|
<span id="number" class="text-danger">A <b>number.</b></span>
|
|
|
|
<span id="length" class="text-danger">Minimum <b>8 characters.</b></span>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-8 offset-sm-4">
|
|
<span id="SuccessMessage" class="text-success d-none">Thanks! , The Captcha Is Correct!</span>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4"> </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" id="UserCaptchaCode" class="form-control form-control-lg" placeholder="Enter Captcha - Case Sensitive">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-8 offset-sm-4">
|
|
<span id="WrongCaptchaError" class="text-danger d-none"></span>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4"> </label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group">
|
|
<div id="CaptchaImageCode" class="CaptchaTxtField"><canvas id="CapCode" class="capcode" width="300" height="80"></canvas></div>
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-dark" onclick="CreateCaptcha()"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-refresh-cw text-white"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
' . $sweetalert_js . '
|
|
|
|
<script>
|
|
$(function(){
|
|
const Toast = Swal.mixin({
|
|
toast: true,
|
|
position: "top-end",
|
|
showConfirmButton: false,
|
|
timer: 3000
|
|
});
|
|
$(".toggle-password").click(function() {
|
|
$(this).children().toggleClass("fa-eye fa-eye-slash");
|
|
var input = $($(this).attr("toggle"));
|
|
if (input.attr("type") == "password") {
|
|
input.attr("type", "text");
|
|
} else {
|
|
input.attr("type", "password");
|
|
}
|
|
});
|
|
|
|
var myInput = document.getElementById("pwd");
|
|
var letter = document.getElementById("letter");
|
|
var capital = document.getElementById("capital");
|
|
var number = document.getElementById("number");
|
|
var length = document.getElementById("length");
|
|
var is_valid_letter = false;
|
|
var is_valid_capital = false;
|
|
var is_valid_number = false;
|
|
var is_valid_length = false;
|
|
|
|
$("#pwd").on("keyup",function(){
|
|
|
|
var lowerCaseLetters = /[a-z]/g;
|
|
|
|
if(myInput.value.match(lowerCaseLetters)) {
|
|
letter.classList.remove("text-danger");
|
|
letter.classList.add("text-success");
|
|
is_valid_letter = true;
|
|
} else {
|
|
letter.classList.remove("text-success");
|
|
letter.classList.add("text-danger");
|
|
is_valid_letter = false;
|
|
}
|
|
|
|
var upperCaseLetters = /[A-Z]/g;
|
|
|
|
if(myInput.value.match(upperCaseLetters)) {
|
|
capital.classList.remove("text-danger");
|
|
capital.classList.add("text-success");
|
|
is_valid_capital = true;
|
|
} else {
|
|
capital.classList.remove("text-success");
|
|
capital.classList.add("text-danger");
|
|
is_valid_capital = false;
|
|
}
|
|
|
|
var numbers = /[0-9]/g;
|
|
|
|
if(myInput.value.match(numbers)) {
|
|
number.classList.remove("text-danger");
|
|
number.classList.add("text-success");
|
|
is_valid_number = true;
|
|
} else {
|
|
number.classList.remove("text-success");
|
|
number.classList.add("text-danger");
|
|
is_valid_number = false;
|
|
}
|
|
|
|
if(myInput.value.length >= 8) {
|
|
length.classList.remove("text-danger");
|
|
length.classList.add("text-success");
|
|
is_valid_length = true;
|
|
} else {
|
|
length.classList.remove("text-success");
|
|
length.classList.add("text-danger");
|
|
is_valid_length = false;
|
|
}
|
|
});
|
|
|
|
$("#simpan_ubah_password").click(function() {
|
|
pwd_lama = $("#pwd_lama").val();
|
|
pwd_baru = $("#pwd").val();
|
|
if(pwd_lama == "") {
|
|
Toast.fire({title:"Isikan password lama",type:"error"});
|
|
}
|
|
else if(pwd_baru == "") {
|
|
Toast.fire({title:"Isikan password baru",type:"error"});
|
|
}
|
|
else {
|
|
isAllowed = CheckCaptcha();
|
|
if(IsAllowed == true) {
|
|
if(is_valid_letter == false) {
|
|
Toast.fire({title:"Kombinasi password huruf kecil tidak valid",type:"error"});
|
|
return false;
|
|
}
|
|
if(is_valid_capital == false) {
|
|
Toast.fire({title:"Kombinasi password huruf besar tidak valid",type:"error"});
|
|
return false;
|
|
}
|
|
if(is_valid_number == false) {
|
|
Toast.fire({title:"Kombinasi password angka tidak valid",type:"error"});
|
|
return false;
|
|
}
|
|
if(is_valid_length == false) {
|
|
Toast.fire({title:"Panjang password tidak valid",type:"error"});
|
|
return false;
|
|
}
|
|
|
|
form_ubah = $("#frm_password").serialize();
|
|
$.post("' . _BASE_ . 'include/master.php",form_ubah+"&cek_password=1",function(data){
|
|
Toast.fire({title:data.message,type:data.type,onClose : function() {
|
|
if(data.type == "success") {
|
|
window.location.href = "' . _BASE_ . 'log_out.php";
|
|
}
|
|
}});
|
|
},"json");
|
|
|
|
}
|
|
else {
|
|
console.log("Fail");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>';
|
|
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 = '<h5>Daftar Nobill Dobel</h5><table class="table table-bordered table-striped table-sm" id="list_order"><thead>
|
|
<tr><th>No</th><th>Tanggal Reg</th><th>No RM</th><th>No Bill</th><th>Cara Bayar</th><th>Klinik</th><th>Nama Pasien</th><th>Alamat Pasien</th></tr>
|
|
</thead><tbody>';
|
|
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 .= '<tr><td>' . $no . '</td><td>' . $row2['tglreg'] . '</td><td>' . $row2['nomr'] . '</td><td>' . $row2['nobill'] . '</td><td>' . $row2['jenis_carabayar'] . '</td><td>' . $row2['poly1'] . '</td><td>' . $row2['nama'] . '</td><td>' . $row2['alamat'] . '</td><td><button type="button" class="btn btn-sm btn-outline-primary reregistrasi" data-idx="' . $row2['idxdaftar'] . '" data-nomr="' . $row2['nomr'] . '" data-nobill="' . $row2['nobill'] . '">Registrasi Ulang</button></tr>';
|
|
$no++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$temp_html .= '</tbody></table>';
|
|
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 '
|
|
<style type="text/css">
|
|
iframe {
|
|
border: border:1px solid #444;
|
|
width: 100%;
|
|
height: 500px;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.content_viewport {
|
|
border: border:1px solid #444;
|
|
height: 900px;
|
|
width: 100%;
|
|
}
|
|
}
|
|
@media (max-width: 1023px) {
|
|
.content_viewport {
|
|
border: border:1px solid #444;
|
|
height: 900px;
|
|
width: 100%;
|
|
}
|
|
}
|
|
@media (min-width: 768px) {
|
|
.content_viewport {
|
|
border: border:1px solid #444;
|
|
height: 900px;
|
|
width: 100%;
|
|
}
|
|
}
|
|
</style>
|
|
<iframe toolbar="0" width="100%" class="content_viewport" src="'.$url.'?'.http_build_query($data).'"></iframe>';
|
|
*/
|
|
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 : <br>' . $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 method="post" action="" id="frm_author" enctype="multipart/form-data">
|
|
<input type="hidden" name="jenis_ppa" value="' . (($_SESSION['KDDOKTER'] != NULL) ? 1 : 5) . '">
|
|
<input type="hidden" name="kddokter" value="' . (($_SESSION['KDDOKTER'] != NULL) ? $_SESSION['KDDOKTER'] : NULL) . '">
|
|
<input type="hidden" name="petugas" value="' . (($_SESSION['KDPERAWAT'] != NULL) ? $_SESSION['KDPERAWAT'] : NULL) . '">
|
|
<input type="hidden" name="unit" value="' . $_SESSION['KDUNIT'] . '">
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Nama </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="nama_pegawai" class="form-control" value="' . $_SESSION['NAMA_PEGAWAI'] . '" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">Email </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="email_author" class="form-control" id="email_author" value="' . (array_key_exists('email_author', $userdata) ? $userdata['email_author'] : '') . '">
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="form-control-label col-sm-4">No Telepon </label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="no_telepon" class="form-control" id="no_telepon" value="' . (array_key_exists('no_telepon', $userdata) ? $userdata['no_telepon'] : '') . '">
|
|
</div>
|
|
</div>
|
|
<div class="row form-group">
|
|
<label class="col-sm-4">Foto Tanda Tangan</label>
|
|
<div class="col-sm-8">
|
|
<div class="input-group">
|
|
<div class="custom-file">
|
|
' . form_file('file_ttd', '', 'class="custom-file-input" id="signature"') . '
|
|
<label class="custom-file-label" for="signature" >Choose file</label>
|
|
</div>
|
|
</div>
|
|
' . (array_key_exists('ttd_path', $userdata) ? '<div class="help-block">* Diisi jika ingin diupdate</div>' : '') . '
|
|
</div>
|
|
</div>
|
|
' . $sweetalert_js . '
|
|
<script src="' . _LIB_ . 'typing.js"></script>
|
|
<script>
|
|
$(function(){
|
|
const Toast = Swal.mixin({
|
|
toast: true,
|
|
position: "top-end",
|
|
showConfirmButton: false,
|
|
timer: 3000
|
|
});
|
|
is_valid_email = false;
|
|
function ValidateEmail(inputText)
|
|
{
|
|
var mailformat = /^[-!#$%&\'*+\/0-9=?A-Z^_a-z`{|}~](\.?[-!#$%&\'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/;
|
|
|
|
if(inputText.value.match(mailformat))
|
|
{
|
|
Toast.fire({title:"Email address is valid!",type:"success"});
|
|
inputText.classList.remove("label-danger");
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
Toast.fire({title:"You have entered an invalid email address!",type:"error"});
|
|
inputText.classList.add("label-danger");
|
|
inputText.focus();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
$("#email_author",this).typing({
|
|
stop : function(e,elm) {
|
|
is_valid_email = ValidateEmail(elm[0]);
|
|
},
|
|
delay : 400
|
|
});
|
|
$("#email_author").on("blur",function(){
|
|
is_valid_email = ValidateEmail(this);
|
|
});
|
|
|
|
$(".custom-file-input").on("change", function() {
|
|
let fileName = $(this).val().split("\\\\").pop();
|
|
$(this).next(".custom-file-label").addClass("selected").html(fileName);
|
|
});
|
|
|
|
$("#simpan_author").click(function() {
|
|
email_author = $("#email_author").val();
|
|
no_telepon = $("#no_telepon").val();
|
|
signature = $("#signature").val();
|
|
if(email_author == "") {
|
|
Toast.fire({title:"Isikan Email dengan benar",type:"error"});
|
|
}
|
|
else if(no_telepon == "") {
|
|
Toast.fire({title:"Isikan No Telepon dengan benar",type:"error"});
|
|
}
|
|
' . (array_key_exists('ttd_path', $userdata) ? '' : 'else if(signature == "") {
|
|
Toast.fire({title:"Pilih Foto Tanda Tangan!",type:"error"});
|
|
}') . '
|
|
else {
|
|
if(is_valid_email) {
|
|
var form_author = new FormData($("#frm_author")[0]);
|
|
|
|
$.ajax({
|
|
method:"post",
|
|
url : "' . _BASE_ . 'include/master.php?save_author=1",
|
|
data : form_author,
|
|
contentType:false,
|
|
processData:false,
|
|
dataType : "json",
|
|
success : function(result){
|
|
Toast.fire({title:result.message,type:result.type,onClose : function() {
|
|
$("#modal-preview").modal("hide");
|
|
}});
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
Toast.fire({title:"Simpan Otorisasi gagal!",type:"error"});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>';
|
|
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] = '<a href="?link=edit_pasien_aps&NOMR=' . $row['nomr'] . '" class="btn btn-outline-secondary">Edit</a>';
|
|
}
|
|
$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 .= '<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
var data' . $property['name'] . ' = [' . implode(',', $option) . '];
|
|
var ' . $property['name'] . ' = new Bloodhound({
|
|
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("text"),
|
|
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
|
local: data' . $property['name'] . ',
|
|
});
|
|
$("#' . $property['id'] . '").typeahead({hint: true, highlight: true, minLength: 1 },{
|
|
name: "' . $property['name'] . '",
|
|
display: "text",
|
|
source: ' . $property['name'] . ',
|
|
limit: 10
|
|
}).on("typeahead:selected typeahead:autocompleted typeahead:matched", function (ev, datum) {
|
|
if($.inArray(datum,data' . $property['name'] . ') == -1 && (ev.type == "typeahead:selected" || ev.type == "typeahead:autocompleted" || ev.type == "typeahead:matched" ) )
|
|
{
|
|
$(this).addClass("bg-danger text-white");
|
|
$(this).val("");
|
|
}
|
|
else {
|
|
$(this).removeClass("bg-danger text-white");
|
|
' . $hook_select . '
|
|
}
|
|
});
|
|
' . "\n";
|
|
if ($property['selected'] != '') {
|
|
$js .= '$("#' . $property['id'] . '").typeahead("val","' . $property['selected'] . '");' . "\n";
|
|
}
|
|
$js .= '
|
|
});
|
|
</script>';
|
|
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 .= '
|
|
<table border=1 cellpadding=0 cellspacing=0 width=100 style="table-layout: fixed;border-collapse:collapse;width:100%" id="cppt">
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Tanggal</td>
|
|
<td>: ' . date_to_id($row['tanggal']) . ' ' . $date->format('H:i:s') . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">DPJP</td>
|
|
<td>: ' . $row['namadokter'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Vaksin</td>
|
|
<td>: ' . $row['sudah_vaksin'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Kasus</td>
|
|
<td>: ' . $kasus . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Kunjungan</td>
|
|
<td>: ' . $kunjungan . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Tekanan Darah</td>
|
|
<td>: ' . $row['tekanan_darah'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Gol. Darah</td>
|
|
<td>: ' . $row['golongan_darah'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">TB</td>
|
|
<td>: ' . $row['tinggi_badan'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">BB</td>
|
|
<td>: ' . $row['berat_badan'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Keluhan</td>
|
|
<td>: ' . $row['anamnesa'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Riwayat</td>
|
|
<td>: ' . $row['riwayat_pasien'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Pemeriksaan Fisik</td>
|
|
<td>: ' . $row['pemeriksaan_fisik'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Diagnosa Medis</td>
|
|
<td>: ' . $row['tindakan_medis'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">ICD</td>
|
|
<td>: ' . $row['icd_diagnosa'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Terapi</td>
|
|
<td>: ' . $row['terapi'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Tanggal Simpan</td>
|
|
<td>: ' . date_format($date, "d-m-Y H:i:s") . '</td>
|
|
</tr>
|
|
</table><br><br>';
|
|
}
|
|
} 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 .= '<table border=1 cellpadding=0 cellspacing=0 width=100 style="table-layout: fixed;border-collapse:collapse;width:100%" id="cppt">
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">DPJP</td>
|
|
<td>: ' . $row['namadokter'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Vaksin</td>
|
|
<td>: ' . $row['sudah_vaksin'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Kasus</td>
|
|
<td>: ' . $kasus . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Kunjungan</td>
|
|
<td>: ' . $kunjungan . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Tekanan Darah</td>
|
|
<td>: ' . $row['tekanan_darah'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Golongan Darah</td>
|
|
<td>: ' . $row['golongan_darah'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">TB</td>
|
|
<td>: ' . $row['tinggi_badan'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">BB</td>
|
|
<td>: ' . $row['berat_badan'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Keluhan</td>
|
|
<td>: ' . $row['anamnesa'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Riwayat</td>
|
|
<td>: ' . $row['riwayat_pasien'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Pemeriksaan Fisik</td>
|
|
<td>: ' . $row['pemeriksaan_fisik'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Tindakan Medis</td>
|
|
<td>: ' . $row['diagnosa'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Diagnosa Medis</td>
|
|
<td>: ' . $row['tindakan_medis'] . '</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-weight:bold">Terapi</td>
|
|
<td>: ' . $row['terapi'] . '</td>
|
|
</tr>
|
|
</table>';
|
|
}
|
|
}
|
|
|
|
if (count($data_diagnosa) > 0) {
|
|
$html = '<html>
|
|
<head>
|
|
<title>' . $judul . '</title>
|
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|
|
|
<style media="print">
|
|
@page{margin: 0.5cm 1cm;}
|
|
.break_word {
|
|
word-wrap : break-word;
|
|
white-space : normal;
|
|
width:30px;
|
|
}
|
|
<!--table
|
|
{mso-displayed-decimal-separator:"\,";
|
|
mso-displayed-thousand-separator:"\.";}
|
|
.xl1524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:Times New Roman, sans-serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6624792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6724792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6824792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl6924792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:right;
|
|
vertical-align:middle;
|
|
border-top:.5pt solid #000;
|
|
border-right:none;
|
|
border-bottom:.5pt solid #000;
|
|
border-left:none;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7024792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:center;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7124792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7224792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:400;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:middle;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:normal;}
|
|
.xl7324792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:general;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7424792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:left;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.xl7524792
|
|
{padding-top:1px;
|
|
padding-right:1px;
|
|
padding-left:1px;
|
|
mso-ignore:padding;
|
|
color:black;
|
|
font-size:11.0pt;
|
|
font-weight:700;
|
|
font-style:normal;
|
|
text-decoration:none;
|
|
font-family:"Times New Roman", serif;
|
|
mso-font-charset:0;
|
|
mso-number-format:General;
|
|
text-align:right;
|
|
vertical-align:bottom;
|
|
mso-background-source:auto;
|
|
mso-pattern:auto;
|
|
white-space:nowrap;}
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
-->
|
|
</style>
|
|
<style media="screen">
|
|
.tb_header {
|
|
text-align:center;
|
|
font-size: 12px ;
|
|
}
|
|
.tb_body { font-size:12px; }
|
|
tr .tb_body:nth-child(2) {
|
|
width:40px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div align=center>
|
|
<table width="100%">
|
|
<tr height=0 style="visibility:hidden">
|
|
<td width="5%"></td>
|
|
<td width="10%"></td>
|
|
<td width="2%"></td>
|
|
<td width="10%"></td>
|
|
<td width="15%"></td>
|
|
<td width="10%"></td>
|
|
<td width="15%"></td>
|
|
<td width="2%"></td>
|
|
<td width="15%"></td>
|
|
</tr>
|
|
<tr width=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7124792 style="height:15.0pt;">' . $rstitle . '</td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7124792 style="height:15.0pt">' . $header2 . '</td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
<tr height=20 style="height:15.0pt">
|
|
<td colspan=9 height=20 class=xl7024792 style="height:15.0pt">' . $judul . '</td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">No. RM</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . $nomr . '</td>
|
|
<td class=xl6424792>Tgl. Kunjungan</td>
|
|
<td class=xl6424792>:</td>
|
|
<td class=xl7224792>' . $tgl_kunjungan . '</td>
|
|
</tr>
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">Nama</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . $nama_px . '</td>
|
|
<td class=xl6424792>No. Biling</td>
|
|
<td class=xl6424792>:</td>
|
|
<td class=xl7224792>' . $nobill . '</td>
|
|
</tr>
|
|
|
|
<tr height=15 style="height:10.0pt">
|
|
<td colspan=2 height=15 class=xl6424792 style="height:10.0pt;">Tanggal Lahir</td>
|
|
<td class=xl6424792>:</td>
|
|
<td colspan=3 class=xl7224792 >' . date_to_id($tgllahir) . '</td>
|
|
<td class=xl6424792>Ruang</td>
|
|
<td class=xl6424792>:</td>
|
|
<td class=xl7224792>' . $ruangan . '</td>
|
|
</tr>
|
|
<tr height=10 style="mso-height-source:userset;height:7.5pt">
|
|
<td colspan=9 height=10 class=xl6324792 style="height:7.5pt;" > </td>
|
|
</tr>
|
|
</table>
|
|
|
|
' . $table . '
|
|
</body></html>';
|
|
|
|
$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 '<pre>';
|
|
// var_dump($idxdaftar);
|
|
// echo '</pre>';
|
|
$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 '<pre>';
|
|
// var_dump($tmp_dataprofile->fetchAll());
|
|
// echo '</pre>';
|
|
// 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 .= '<tr>
|
|
<td class="border text-center" style="width: 15%;">' . $row['tglreg'] . '</td>
|
|
<td class="border" style="width:15%;word-wrap: break-word;">' . $row['nama_petugas'] . '</td>
|
|
<td class="border" style="width: 15%;word-wrap: break-word;">' . $row['diagnosis_penting'] . '</td>
|
|
<td class="border" style="width: 15%;word-wrap: break-word;">' . $row['uraian_klinis'] . '</td>
|
|
<td class="border" style="width: 15%;word-wrap: break-word;">' . $row['rencana_penting'] . '</td>
|
|
<td class="border" style="width: 15%;word-wrap: break-word;">' . $row['catatan'] . '</td>
|
|
<td class="border" style="width: 10%;"></td>
|
|
</tr>';
|
|
}
|
|
// var_dump($format_rajal);
|
|
// exit();
|
|
$html = '
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
</head>
|
|
<style>
|
|
.body {
|
|
font-size: 12px;
|
|
/* font-family: Times, serif; */
|
|
}
|
|
|
|
.jarak {
|
|
height: 25px;
|
|
}
|
|
|
|
.lebar {
|
|
width: 70px;
|
|
}
|
|
|
|
.lebar-kecil {
|
|
width: 40px;
|
|
}
|
|
|
|
.border {
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
/*table{
|
|
width: 90%;
|
|
}*/
|
|
.table {
|
|
/*width: 100px;*/
|
|
border: 1px solid rgba(0, 0, 0, 0.6);
|
|
border-collapse: collapse;
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
|
|
.border {
|
|
border: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
.border-top {
|
|
border-top: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
.border-bottom {
|
|
border-bottom: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
th {
|
|
border-collapse: collapse;
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
}
|
|
|
|
.table tr td {
|
|
/* border: 0.5px solid rgba(0, 0, 0, 0.6); */
|
|
border-collapse: collapse;
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.hr {
|
|
border: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
|
|
}
|
|
|
|
.more_width {
|
|
width: 100px;
|
|
}
|
|
|
|
.small_width {
|
|
width: 3px;
|
|
}
|
|
|
|
.much_width {
|
|
width: 300px;
|
|
}
|
|
|
|
.more_than_width {
|
|
width: 150px;
|
|
}
|
|
|
|
hr {
|
|
border-top: 0.1px solid #8c8b8b;
|
|
}
|
|
|
|
.text-right {
|
|
text-align: right;
|
|
}
|
|
|
|
.text-left {
|
|
text-align: left;
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.tex-uppercase {
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.tex-capilalize {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.checkmark {
|
|
height: 10px;
|
|
width: 10px;
|
|
padding: 5px;
|
|
background-color: blue;
|
|
border: 1px solid black;
|
|
border-radius: 10px;
|
|
|
|
}
|
|
</style>
|
|
<body class="body">
|
|
<header class="text-center">
|
|
<img style="width:100%;" src="' . _BASE_ . 'assets/images/kop_header2012.png" alt="">
|
|
</header>
|
|
|
|
<table>
|
|
<tr>
|
|
<td style="width: 475px;">
|
|
</td>
|
|
<td >
|
|
<table class="text-left border" style="padding: 2px;">
|
|
<tr>
|
|
<td> <b>No. RM </b></td>
|
|
<td>:</td>
|
|
<td><b>' . $norm . '</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:75px;"> <b>Nama </b></td>
|
|
<td>:</td>
|
|
<td >
|
|
<b style="margin-right: .3rem;">' . $nama_px . '</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:100px;"> <b>Tanggal Lahir </b></td>
|
|
<td>:</td>
|
|
<td><b>' . date_to_id($tgllahir) . '</b>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr class="hr">
|
|
<h2 align="center" style="padding: 0;margin:0;">PROFIL RINGKASAN MEDIS RAWAT JALAN</h2>
|
|
<br>
|
|
|
|
<table class="table">
|
|
<tr>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>TANGGAL / JAM</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>DOKTER</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>DIAGNOSA PENTING</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>RENCANA PENTING</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>URAIAN KLINIS PENTING</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 15%;">
|
|
<b>CATATAN</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 10%">
|
|
<b>PARAF</b>
|
|
</td>
|
|
</tr>
|
|
' . $format_rajal . '
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
';
|
|
$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 '<pre>';
|
|
// var_dump($idxdaftar);
|
|
// echo '</pre>';
|
|
$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 '<pre>';
|
|
|
|
// var_dump($tmp_datakeperawatan);
|
|
// echo '</pre>';
|
|
// 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 '<pre>';
|
|
|
|
// var_dump($tmp_datamasalahkeperawatan->fetchAll());
|
|
// echo '</pre>';
|
|
// 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 .= '<tr>
|
|
<td class="border text-center" style="width: 5px;">' . $counter . '</td>
|
|
<td class="border" style="width: 75px;">' . $row['tanggal_muncul'] . '</td>
|
|
<td class="border" style="width: 200px;">' . $row['diagnosis_keperawatan'] . '</td>
|
|
<td class="border" style="width: 75px;">' . $row['tanggal_teratasi'] . '</td>
|
|
<td class="border" style="width: 100px;">' . $row['nama_petugas'] . '</td>
|
|
</tr>';
|
|
}
|
|
//$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
$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 .= '<span style="margin-right:5px;">
|
|
<img style="width:10px; margin: 0 auto;" src="' . _BASE_ . 'assets/images/' . $checked . '.png" alt="">
|
|
<label class="border-checkbox-label" for="checkbox1" style="margin-left:15px;" >' . ucfirst($item) . '</label>
|
|
</span>';
|
|
}
|
|
// var_dump($format_rajal);
|
|
// exit();
|
|
$html = '
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
</head>
|
|
<style>
|
|
.body {
|
|
font-size: 12px;
|
|
/* font-family: Times, serif; */
|
|
}
|
|
|
|
.jarak {
|
|
height: 25px;
|
|
}
|
|
|
|
.lebar {
|
|
width: 70px;
|
|
}
|
|
|
|
.lebar-kecil {
|
|
width: 40px;
|
|
}
|
|
|
|
.border {
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
/*table{
|
|
width: 90%;
|
|
}*/
|
|
.table {
|
|
/*width: 100px;*/
|
|
border: 1px solid rgba(0, 0, 0, 0.6);
|
|
border-collapse: collapse;
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
|
|
.border {
|
|
border: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
.border-top {
|
|
border-top: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
.border-bottom {
|
|
border-bottom: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
th {
|
|
border-collapse: collapse;
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
}
|
|
|
|
.table tr td {
|
|
/* border: 0.5px solid rgba(0, 0, 0, 0.6); */
|
|
border-collapse: collapse;
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.hr {
|
|
border: 0.5px solid rgba(0, 0, 0, 0.6);
|
|
|
|
}
|
|
|
|
.more_width {
|
|
width: 100px;
|
|
}
|
|
|
|
.small_width {
|
|
width: 3px;
|
|
}
|
|
|
|
.much_width {
|
|
width: 300px;
|
|
}
|
|
|
|
.more_than_width {
|
|
width: 150px;
|
|
}
|
|
|
|
hr {
|
|
border-top: 0.1px solid #8c8b8b;
|
|
}
|
|
|
|
.text-right {
|
|
text-align: right;
|
|
}
|
|
|
|
.text-left {
|
|
text-align: left;
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.tex-uppercase {
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.tex-capilalize {
|
|
text-transform: capitalize;
|
|
}
|
|
|
|
.checkmark {
|
|
height: 10px;
|
|
width: 10px;
|
|
padding: 5px;
|
|
background-color: blue;
|
|
border: 1px solid black;
|
|
border-radius: 10px;
|
|
|
|
}
|
|
</style>
|
|
<body class="body">
|
|
<header class="text-center">
|
|
<img style="width:100%;" src="' . _BASE_ . 'assets/images/kop_header2012.png" alt="">
|
|
</header>
|
|
<table>
|
|
<tr>
|
|
<td style="width: 475px;">
|
|
</td>
|
|
<td >
|
|
<table class="text-left border" style="padding: 2px;">
|
|
<tr>
|
|
<td> <b>No. RM </b></td>
|
|
<td>:</td>
|
|
<td>
|
|
<b>' . $tmp_datakeperawatan['nomr'] . '</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td > <b>Nama </b></td>
|
|
<td>:</td>
|
|
<td>
|
|
<b style="margin-right: .3rem;">' . $tmp_datakeperawatan['nama_pasien'] . '</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:100px;"> <b>Tanggal Lahir </b></td>
|
|
<td>:</td>
|
|
<td><b>' . date_to_id($tmp_datakeperawatan['tgllahir']) . '</b>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr class="hr">
|
|
<h2 align="center" style="padding: 0;margin:0;">PENGKAJIAN AWAL KEPERAWATAN RAWAT JALAN</h2>
|
|
<br>
|
|
<h4 style="margin-left: .3rem;" class="text-right"> <b> Tanggal / Jam : ' . $tmp_datakeperawatan['tanggal_kajian'] . ' </b></h4>
|
|
<h4> A. Data Subyektif</h4>
|
|
<h4 style="margin-left: .3rem;" > 1. Keluhan :</h4>
|
|
<label style="margin-left: 2rem;">' . $tmp_datakeperawatan['keluhan'] . ' <hr></label>
|
|
<h4 style="margin-left: .3rem;" > 2. Riwayat Alergi dan Reaksi Alergi</h4>
|
|
<table class="table" style="width: 100%">
|
|
<tr>
|
|
<td class="border" style="width: 30%">
|
|
<b>A. Obat :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['obat']['keterangan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 30%">
|
|
<b>Sebutkan :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['obat']['sebutkan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 40%">
|
|
<b>Reaksi :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['obat']['reaksi'] . ' <hr></label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="border" style="width: 30%">
|
|
<b>B. Makanan :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['makanan']['keterangan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 30%">
|
|
<b>Sebutkan :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['makanan']['sebutkan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 40%">
|
|
<b>Reaksi :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['makanan']['reaksi'] . ' <hr></label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="border" style="width: 30%">
|
|
<b>C. Lain-lain :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['lain']['keterangan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 30%">
|
|
<b>Sebutkan :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['lain']['sebutkan'] . ' <hr></label>
|
|
</td>
|
|
<td class="border" style="width: 40%">
|
|
<b>Reaksi :</b>
|
|
<label style="margin-left: .5rem;">' . $riwayat_alergi['lain']['reaksi'] . ' <hr></label>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h4 style="margin-left: .3rem;" > 3. Pengkajian Nyeri</h4>
|
|
<table style="width: 100%">
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Nyeri</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri_kajian . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Skala Nyeri</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri_skala . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Durasi nyeri</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri_durasi . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Freqwensi nyeri</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri['frekuensinyeri'] . '<hr>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Lokasi</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri['lokasi'] . '<hr>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Waktu nyeri</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $nyeri_waktu . '
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h4 style="margin-left: .3rem;" > 4. Skrining Nutrisi</h4>
|
|
<label style="margin-left: 2rem;">' . $skrining['nutrisi'] . ' <hr> </label>
|
|
<h4 style="margin-left: .3rem;" > 5. Pengkajian Psiko - Sosial - Kultural - Spiritual</h4>
|
|
<label style="margin-left: 2rem;">' . $skrining['kultur'] . ' <hr> </label>
|
|
<h4> B. Data Obyektif</h4>
|
|
<h4 style="margin-left: .3rem;" > Keadaan Umum :</h4>
|
|
<label style="margin-left: 2rem;">' . $keadaan_umum['keterangan'] . ' <hr> </label>
|
|
<table style="width: 100%">
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 10%">
|
|
<b>Resiko Jatuh</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $risiko_jatuh . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 25%">
|
|
<b>Pemakaian gelang resiko jatuh</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $risiko_pemakaian_gelang . '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 2%">
|
|
</td>
|
|
<td style="width: 10%">
|
|
<b>Pasang gelang alergi</b>
|
|
</td>
|
|
<td style="width: 2%">
|
|
<b>:</b>
|
|
</td>
|
|
<td>
|
|
' . $risiko_pasang_gelang . '
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h4 style="margin-left: .3rem;" > Pemeriksaan Penunjang :</h4>
|
|
<label style="margin-left: 2rem;">' . $keadaan_umum['pemeriksaan_penunjang'] . ' <hr> </label>
|
|
<h4> C. Daftar Masalah Keperawatan</h4>
|
|
<table class="table" style="width: 100%;">
|
|
<tr>
|
|
<td class="border text-center" style="width: 2%;">
|
|
<b>NO</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 10%;">
|
|
<b>TANGGAL MUNCUL</b>
|
|
</td>
|
|
<td class="border text-center">
|
|
<b>DIAGNOSA KEPERAWATAN</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 10%;">
|
|
<b>TANGGAL TERATASI</b>
|
|
</td>
|
|
<td class="border text-center" style="width: 20%;">
|
|
<b>NAMA PETUGAS</b>
|
|
</td>
|
|
</tr>
|
|
' . $format_rajal . '
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
';
|
|
$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] = '<p class="bg-success text-white p-2 mt-2 text-center">DATA TERKIRIM</p>';
|
|
} else {
|
|
$row[$usedField] = '<p class="bg-danger text-white p-2 mt-2 text-center">DATA BELUM TERKIRIM</p>';
|
|
}
|
|
} elseif ($usedField == 'edit') {
|
|
$row[$usedField] = '<a href="javascript:void(0)" data-id="' . $row['id'] . '" data-nomr="' . $row['nomr'] . '" class="btn btn-outline-secondary btn-edit">Edit Data SITB</a>';
|
|
}
|
|
$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;
|
|
}
|