Files
2024-04-19 14:04:41 +07:00

470 lines
23 KiB
PHP

<?php
if (!session_id()) {
session_start();
}
require_once('./core/SQLServerDb.php');
$myquery = "SELECT a.nomr, a.kirimdari, a.kd_rujuk, a.dokterpengirim,a.dokter_penanggungjawab, a.masukrs, a.noruang, a.nott, b.nama, b.alamat, b.jeniskelamin, b.tgllahir, c.nama as carabayar, c.kode as carabayar_id, a.id_admission, a.noruang, d.nama as poly, e.namadokter as namadokter_pengirim, md.namadokter as namadokter_dpjp, f.kelas,k.kokel as id_kelas, f.no as ruang_id, f.nama as nm_ruang, b.tgllahir as tgllahir1, a.statusbayar, a.masukrs as tglreg,a.nosep,(select nobill from t_billranap where idxdaftar = a.id_admission and nomr = a.nomr limit 1) as nobill,a.tgl_pindah,b.noktp,a.keluarrs,
case when a.keluarrs is not null then 'Close Billing' when r.statuspulang is not null then 'Pulang' when r.statuspulang is null then 'Belum Pulang' end as statuspulang
FROM t_admission a
JOIN m_pasien b ON a.nomr=b.nomr
JOIN m_carabayar c ON a.statusbayar=c.kode
JOIN m_ruang d ON d.no=a.kd_rujuk
JOIN m_ruang f ON f.no=a.noruang
JOIN m_dokter e ON a.dokterpengirim=e.kddokter
LEFT JOIN m_dokter md ON a.dokter_penanggungjawab=md.kddokter
JOIN m_tarifkelas k on f.idx_ruang = k.kelas
left join t_resumepulang r on a.id_admission = r.idadmission
WHERE a.id_admission='" . $id_admission . "'";
$get = $db->query($myquery);
$userdata = $get->fetchAll()[0];
$dokter = 'SELECT distinct b.kddokter, b.namadokter, b.tgl_akhir_sip,b.kdpoly, b.kdsmf, b.kdprofesi
FROM m_dokter b
WHERE b.aktif = 1';
$tmp_dokter = $db->query($dokter);
$arr_dokter = $arr_dokter_ppds = $arr_smf = [];
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'));
$arr_smf[$d['kddokter']] = $d['kdsmf'];
if ($d['tgl_akhir_sip'] > '0000-00-00' || $d['tgl_akhir_sip'] > '0001-01-01') {
if ($tgl_sekarang <= $tgl_SIP) {
$arr_dokter[$d['kddokter']] = $d['namadokter'];
}
}
if ($d['kdprofesi'] == 0) {
$arr_dokter_ppds[$d['namadokter']] = $d['namadokter'];
}
}
}
echo $datetimepicker_css;
echo $datetimepicker_js;
$perawat = "select idperawat, nip, unit_kerja, nama from m_perawat where aktif = 1 is not null";
$tmp_perawat = $db->query($perawat);
$arr_perawat = [];
if ($tmp_perawat->numRows() > 0) {
$arr_perawat[] = '-';
foreach ($tmp_perawat->fetchAll() as $item) {
$arr_perawat[$item['idperawat']] = $item['nama'];
}
}
$select_operator = '';
if (!empty($_SESSION['KDPERAWAT'])) {
$select_operator = $_SESSION['KDPERAWAT'];
}
$order_poct = "select a.id, a.jenis_pemeriksaan, a.pemeriksaan, a.tarif_rs_id, b.kode_tarif, b.jumlah from order_poct_list a
join m_tarif_rs b on a.tarif_rs_id = b.id_tarif
where a.aktif = 1";
$tmp_poct = $db->query($order_poct);
$arr_pemeriksaan = [];
if ($tmp_poct->numRows() > 0) {
foreach ($tmp_poct->fetchAll() as $item) {
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['id'] = $item['id'];
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['jenis'] = $item['jenis_pemeriksaan'];
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['pemeriksaan'] = $item['pemeriksaan'];
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['harga'] = $item['jumlah'];
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['kode_tarif'] = $item['kode_tarif'];
$arr_pemeriksaan[$item['jenis_pemeriksaan']]['pemeriksaan'][$item['id']]['tarif_rs_id'] = $item['tarif_rs_id'];
}
}
$datenow = date('Y-m-d');
$max_pemeriksaan = "select max(no_pemeriksaan) as code from order_poct where norm = '" . $userdata['nomr'] . "' ";
$tmp_poct = $db->query($max_pemeriksaan);
$max_number = $tmp_poct->fetchAll()[0];
$tanggal = date_create_from_format('Y-m-d', $datenow);
//cek display_barcode_poct
$sql_display = "select var_value from global_var where var_name = 'display_barcode_poct'";
$display = $db->query($sql_display)->fetchAll();
if (!empty($max_number['code'])) {
$substr = (int)substr($max_number['code'], 16, 4) + 1;
if ($display[0]['var_value'] == 1) {
$code = date("His") . $userdata['nomr'] . date_format($tanggal, 'Ymd') . sprintf('%04d', $substr);
} else {
$code = $userdata['nomr'] . date_format($tanggal, 'Ymd') . sprintf('%04d', $substr);
}
} else {
if ($display[0]['var_value'] == 1) {
$code = date("His") . $userdata['nomr'] . date_format($tanggal, 'Ymd') . '0001';
} else {
$code = $userdata['nomr'] . date_format($tanggal, 'Ymd') . '0001';
}
}
$list_order_poct = "select a.id, a.norm, a.operator_id, b.nip, b.nama, a.dokter_id, c.namadokter, a.no_pemeriksaan, a.tanggal, a.total_order, a.created_at, a.is_valid
from order_poct a
join m_perawat b on b.idperawat = a.operator_id
join m_dokter c on c.kddokter = a.dokter_id
where norm = '" . $userdata['nomr'] . "' and a.status = 1 and a.idxdaftar = '" . $userdata['id_admission'] . "' order by a.tanggal desc";
$tmp_list_poct = $db->query($list_order_poct);
$list_poct = $tmp_list_poct->fetchAll();
$env = $_ENV['APP_ENV'];
$arr_validasi_poct = [];
if ($env != 'local') {
$db_pec = new SQLServerDb($_ENV['PEC_DB_USER'],
$_ENV['PEC_DB_PASS'],
$_ENV['PEC_DB_NAME'],
$_ENV['PEC_DB_HOST']);
global $db_pec;
global $db;
$arr_validasi_poct = $db_pec->get_results("SELECT p.ID as p_id,p.Lab_PatientID as nomr, convert(varchar, r.TestEndDate, 20) as tanggal
from Patient as p
left join Result as r on p.ID = r._PID
left join Operator as op on r.OperatiorID = op.OperatorID
where r.RValue <> '' and p.Lab_PatientID = '{$userdata['nomr']}'
order by r.TestEndDate desc ", 'array');
}
$arr_list_poct = [];
foreach ($list_poct as $ind => $item) {
$arr_list_poct[$item['id']]['id'] = $item['id'];
$arr_list_poct[$item['id']]['no_pemeriksaan'] = $item['no_pemeriksaan'];
$arr_list_poct[$item['id']]['created_at'] = $item['created_at'];
$arr_list_poct[$item['id']]['tanggal'] = $item['tanggal'];
$arr_list_poct[$item['id']]['nama'] = $item['nama'];
$arr_list_poct[$item['id']]['nip'] = $item['nip'];
$arr_list_poct[$item['id']]['namadokter'] = $item['namadokter'];
$arr_list_poct[$item['id']]['total_order'] = $item['total_order'];
$arr_list_poct[$item['id']]['is_valid'] = $item['is_valid'];
$arr_list_poct[$item['id']]['order_batal'] = isset($arr_validasi_poct[$ind]) ? (date('Y-m-d', strtotime($arr_validasi_poct[$ind]['tanggal'])) == $item['tanggal']) ? 1 : 0 : 0;
}
?>
<form id="form_poct">
<div class="row">
<div class="col-sm-12">
<div class="form-group row">
<label class="col-sm-2">Dokter</label>
<div class="col-sm-3"><?php echo form_dropdown('pk[main][kd_dokter]', $arr_dokter, $userdata['dokter_penanggungjawab'], 'class="form-control" style="width:100%"'); ?></div>
<label class="col-sm-2">Waktu Pengambilan Spesimen</label>
<div class="col-sm-3"><input type="text" name="pk[main][tanggal]"
class="dtp-pk form-control" id="tanggal"
value="<?php echo date('Y-m-d H:i:s') ?>"></div>
</div>
<div class="form-group row">
<label class="col-sm-2">Petugas/Operator</label>
<div class="col-sm-3"><?php echo form_dropdown('pk[main][id_operator]', $arr_perawat, $select_operator, 'class="form-control id_operator" style="width:100%"'); ?></div>
<label class="col-sm-2">No Pemeriksaan</label>
<div class="col-sm-3">
<input type="text" name="pk[main][no_pemeriksaan]"
class="form-control" id="no_pemeriksaan"
value="<?= $code ?>" readonly>
<input type="hidden" name="pk[main][norm]"
class="form-control" id="norm"
value="<?= $userdata['nomr'] ?>" readonly>
<input type="hidden" name="pk[main][ruang_id]"
class="form-control" id="ruang_id"
value="<?= $userdata['ruang_id'] ?>" readonly>
<input type="hidden" name="pk[main][nobill]"
class="form-control" id="nobill"
value="<?= $userdata['nobill'] ?>" readonly>
<input type="hidden" name="pk[main][idxdaftar]"
class="form-control" id="idxdaftar"
value="<?= $userdata['id_admission'] ?>" readonly>
<input type="hidden" name="pk[main][carabayar_id]"
class="form-control" id="carabayar_id"
value="<?= $userdata['carabayar_id'] ?>" readonly>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12" id="form_wrapper">
<p class="pull-left">Jenis Pemeriksaan :</p>
<div class="pull-right border border-primary bg-primary text-white rounded rounded-pill"><span
class="mr-5 text-bold">Perkiraan Biaya : </span><span id="total_order_pk"
class="text-bold">0</span></div>
<div class="clearfix"></div>
<div id="pemeriksaan_putih">
<div class="row">
<?php
$arr_form['Pemeriksaan']['Diabetes Melitus'][246] = ['Glukosa POCT', 12000];
$i = 1;
$jml = count($arr_form['Pemeriksaan']);
$arr_card = [];
foreach ($arr_pemeriksaan as $ind => $item) : ?>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-header"><?= $ind ?>
<button type="button"
class="pull-right btn-sm btn-outline-primary btn-rect show_hide_list_pk"
data-list="<?= $ind ?>"><i class="fa fa-chevron-down"></i></button>
</div>
<ul id="list-<?= $ind ?>" class="list-group list-group-flush"
style="display:none">
<?php foreach ($item['pemeriksaan'] as $detail): ?>
<li class="list-group-item">
<div class="form-check row">
<input type="checkbox"
name="pk[pemeriksaan][form_id][<?= $detail['id'] ?>]"
value="<?= $detail['id'] ?>"
id="pemeriksaan_<?= $detail['id'] ?>"
data-id="<?= $detail['id'] ?>"
data-biaya="<?= $detail['harga'] ?>"
class="checkbox_lab">
<label class="" style="max-width:75%;vertical-align:top;"
for="pemeriksaan_<?= $detail['id'] ?>">
&nbsp;<?= $detail['pemeriksaan'] ?></label>
<div class="pull-right border border-info rounded rounded-pill">
<?= number_format($detail['harga']) ?>
</div>
</div>
<div class="form-group pl-5" style="visibility:hidden"
id="ket_pemeriksaan_<?= $detail['id'] ?>">
<input type="text" class="form-control"
name="pk[pemeriksaan][keterangan][<?= $detail['id'] ?>]"
placeholder="Keterangan" style="width:50%">
</div>
</li>
<?php endforeach; ?>
<li class="list-group-item list-group-item-dark">
<div class="form-group"><input type="text"
name="pk[main][ket_pemeriksaan][<?= $detail['jenis'] ?>]"
value="" class="form-control"
placeholder="Catatan Pemeriksaan <?= $detail['jenis'] ?>">
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<?php if ((empty($_SESSION['KDDOKTER']) && !empty($_SESSION['KDPERAWAT'])) || (empty($_SESSION['KDDOKTER']) && empty($_SESSION['KDPERAWAT']))) : ?>
<?php if (($userdata['statuspulang'] == 'Belum Pulang')) : ?>
<button type="button" id="simpan_order_poct" class="btn btn-xl btn-primary">Simpan Order
</button>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
</div>
<br>
<div id="detail_order_poct">
<div class="table-responsive" style="overflow: auto;">
<table class="table table-bordered table-striped table-sm" style="width:100% !important;">
<tr>
<th>No Pemeriksaan</th>
<th>Tanggal</th>
<th>Operator</th>
<th>Dokter</th>
<th>Total Order</th>
<th>Status</th>
<th>Action</th>
</tr>
<?php foreach ($arr_list_poct as $ind => $item):
?>
<tr>
<td><?= $item['no_pemeriksaan'] ?></td>
<td><?= $item['tanggal'] ?></td>
<td>
<?= $item['nama'] ?> <br>
<p style="font-style: italic; font-size: small">NIP/NIPPT: <?= $item['nip'] ?></p>
</td>
<td><?= $item['namadokter'] ?></td>
<td>Rp. <?= number_format($item['total_order']) ?></td>
<td>
<?php if ($item['is_valid'] == '1') : ?>
<button type="button" class="btn btn-success btn-sm"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"> Terverifikasi
</button>
<?php elseif ($item['is_valid'] == '0') : ?>
<button type="button" class="btn btn-warning btn-sm"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"> Tidak
Terverifikasi
</button>
<?php elseif ($item['is_valid'] == '2') : ?>
<button type="button" class="btn btn-info btn-sm"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"> Menunggu
</button>
<?php elseif ($item['is_valid'] == '3') : ?>
<button type="button" class="btn btn-danger btn-sm"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"> Tidak di
Proses
</button>
<?php elseif (empty($item['is_valid'])) : ?>
<button type="button" class="btn btn-warning btn-sm"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"> Belum
Terproses
</button>
<?php endif; ?>
</td>
<td>
<button type="button" class="btn btn-outline-success btn-sm detail_poct"
id="detail_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>"><span
class="fa fa-list"></span></button>
<?php if (empty($item['is_valid'])): ?>
<?php if (($userdata['statuspulang'] == 'Belum Pulang')) : ?>
<button type="button" class="btn btn-outline-danger btn-sm batal_poct"
id="batal_poct-<?= $item['id'] ?>" data-poct="<?= $item['id'] ?>">
<span class="fa fa-trash"></span> Batal Order
</button>
<?php endif; ?>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
</div>
</form>
<template id="order-poct-detail-template">
<div class="modal fade order-poct-detail-modal-lg" id="order-poct-detail-modal" tabindex="-1" role="dialog"
aria-labelledby="HistLabModal" aria-hidden="true">
<div class="modal-dialog modal-lg" style="max-width: 80%">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Detail Order Poct</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</template>
<script>
$(document).ready(function () {
$('.dtp-pk').datetimepicker({
format: 'yyyy-mm-dd H:i:s'
});
$(".show_hide_list_pk").click(function () {
var pos_down = $(this).children().hasClass("fa-chevron-down");
var pos_up = $(this).children().hasClass("fa-chevron-up");
if (pos_down == true) {
$(this).children().removeClass("fa-chevron-down").addClass("fa-chevron-up");
} else if (pos_up == true) {
$(this).children().removeClass("fa-chevron-up").addClass("fa-chevron-down");
}
$(this).parent().next().slideToggle(300);
});
var arr_orderlab_pk_val = [];
var biaya_orderlab = [];
$(".checkbox_lab").on("click", function () {
var var_check = $(this).prop("checked");
var var_id = $(this).val();
var var_biaya = $(this).data('biaya');
if (var_check == true) {
arr_orderlab_pk_val.push(var_id);
biaya_orderlab.push(var_biaya);
$("#order_labpk_select").val(arr_orderlab_pk_val).trigger('change');
} else {
var pos = $.inArray(var_id, arr_orderlab_pk_val);
arr_orderlab_pk_val.splice(pos, 1);
var pos2 = $.inArray(var_biaya, biaya_orderlab);
biaya_orderlab.splice(pos2, 1);
$("#order_labpk_select").val(arr_orderlab_pk_val).trigger('change');
}
hitungBiayaLabPK();
});
function hitungBiayaLabPK() {
var total = 0;
$.each(biaya_orderlab, function (i, v) {
total += v;
});
$("#total_order_pk").html(accounting.formatMoney(total));
}
$('#simpan_order_poct').click(function () {
var operator = $('.id_operator').val();
var form = $('#form_poct').serialize();
if (operator != 0) {
$.post('<?php echo _BASE_;?>ranap/order_poct_save.php', form, function (data) {
if (data == 1) {
Toast.fire({title: 'Data Order Berhasil Disimpan', type: "success"});
setTimeout(function () {
window.location.reload();
}, 3000);
} else {
Toast.fire({title: data, type: "error"});
}
});
} else {
Toast.fire({title: 'Silahkan pilih operator terlebih dahulu!', type: "error"});
}
});
$('.detail_poct').click(function (e) {
var poct_id = $(this).data('poct');
$.post('<?php echo _BASE_;?>ranap/order_poct_detail.php', {id: poct_id}, function (data) {
$("#order-poct-detail-modal .modal-body").html(data);
$("#order-poct-detail-modal").modal("show");
});
});
$('.batal_poct').click(function (e) {
var poct_id = $(this).data('poct');
if (confirm("Apakah anda yakin untuk membatalkan Order POCT ini ?")) {
$.post('<?php echo _BASE_;?>ranap/order_poct_action.php', {
id: poct_id,
flags: 'delete'
}, function (data) {
Toast.fire({title: 'Batal Order Berhasil', type: "success"});
setTimeout(function () {
window.location.reload();
}, 3000);
});
}
});
$("body").append($("#order-poct-detail-template").html());
});
</script>