Files
simrs-jatim/ranap/lab/order_lab_mikro.php
2024-04-19 14:04:41 +07:00

481 lines
18 KiB
PHP

<?php
$kd_mikro = $_SESSION['kd_unit_lab_mikro'];
$sql = $db->query('SELECT * from m_form_lab where unit_form= \''.$kd_mikro.'\' and aktif=1 order by jenis_kelompok,form_id');
$arr_form = array();
$arr_sub_kelompok = [];
if($sql->numRows() > 0) {
foreach($sql->fetchAll() as $data_form)
{
$biaya = 0;
if($data_form['kode_tarif'] != '')
{
if(preg_match("/,/", $data_form['kode_tarif']))
{
$kode = explode(",", $data_form['kode_tarif']);
}
else {
$kode = [$data_form['kode_tarif']];
}
$query_tarif = "SELECT SUM(jumlah) as biaya FROM m_tarif_rs where kode_tarif in ('".implode("','", $kode)."')";
$tmp_tarif = $db->query($query_tarif);
if($tmp_tarif->numRows() > 0)
{
$data = $tmp_tarif->fetchAll()[0];
$biaya = $data['biaya'];
}
}
$arr_form[$data_form['group_form']][$data_form['jenis_kelompok']][$data_form['form_id']] = [$data_form['nama_field'],$biaya];
$arr_sub_kelompok[$data_form['group_form']][$data_form['jenis_kelompok']][$data_form['form_id']] = $data_form['sub_kelompok'];
}
}
$query_hist = "SELECT lmikro.NOLAB as no_lab_mikro, lmikro.tglorder AS tgl_order_mikro
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,pk_m.tglorder,pk_m.idxdaftar,pk_m.nomr,pk_m.st_periksa 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 = '{$_REQUEST['id_admission']}' AND pk_m.st_aktif = 1) lmikro ON lmikro.IDXDAFTAR = a.id_admission
WHERE a.id_admission = '{$_REQUEST['id_admission']}' and a.noruang != 0 and a.keluarrs is null
ORDER BY lmikro.tglorder DESC";
$tmp_hist = $db->query($query_hist);
$jml_hist = $tmp_hist->numRows();
echo $datetimepicker_css;
echo $datetimepicker_js;
?>
<script>
$(document).ready(function(){
current_time = "<?php echo Date('Y-m-d H:i:s'); ?>";
$('.dtp-mikro').datetimepicker({
format: 'yyyy-mm-dd hh:ii:ss'
});
const Toast = Swal.mixin({
toast: true,
position: "top-end",
showConfirmButton: false,
timer: 3000
});
var countmikro = $("#countmikroid").val();
$("button.cartmikro > span").addClass("counter");
$("button.cartmikro > span.counter").text(countmikro);
$('#simpan_orderlabmikro').click(function(){
$('#simpan_orderlabmikro').prop("disabled",true);
$.post('<?php echo _BASE_;?>lab/save_order_labmikro.php',$('#order_lab_mikro').serialize(),function(data){
if(data){
$msg = 'Order Pemeriksaan Laboratorium Sudah di Prosess.';
$type = 'success';
countmikro++;
$("a.add-labmikro").addClass("size");
setTimeout(function() {
$("a.add-labmikro").addClass("hover");
}, 200);
setTimeout(function() {
$("button.cartmikro > span").addClass("counter");
$("button.cartmikro > span.counter").text(countmikro);
}, 400);
setTimeout(function() {
$("a.add-labmikro").removeClass("hover");
$("a.add-labmikro").removeClass("size");
}, 600);
}else{
$msg = 'Prosess Order Pemeriksaan Laboratorium Gagal.';
$alert = 'alert-danger';
$type = 'error';
}
Toast.fire({title:$msg,type:$type,onClose : function(){
$("#order_lab_mikro").trigger("reset");
$('#simpan_orderlabmikro').prop("disabled",false);
}});
});
});
$arr_orderlab_mikro_val = [];
$biaya_orderlabmikro = [];
$(".checkbox_labmikro").on("click",function(){
$var_check = $(this).prop("checked");
$var_id = $(this).val();
$var_biaya = $(this).data('biaya');
if($var_check == true)
{
$arr_orderlab_mikro_val.push($var_id);
$biaya_orderlabmikro.push($var_biaya);
}
else {
var pos = $.inArray($var_id,$arr_orderlab_mikro_val);
$arr_orderlab_mikro_val.splice(pos,1);
var pos2 = $.inArray($var_biaya,$biaya_orderlabmikro);
$biaya_orderlabmikro.splice(pos2,1);
}
hitungBiayaLabMikro();
});
$(".show_hide_list_mikro").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);
});
$('#btn_hist_labmikro').click(function(){
var idx = $('#idxdaftar').val();
var nomr = $('#nomr').val();
var rajal_status = $('#rajal_status').val();
$.post('<?php echo _BASE_;?>lab/history_labmikro.php',{idxdaftar:idx,nomr:nomr,rajal:rajal_status},function(data) {
$("#histlabmikro-modal .modal-body").html(data);
$("#histlabmikro-modal").modal("show");
jQuery('#history_mikro_item').delegate('.batalorder','click',function(){
nolab = jQuery(this).data('nolab');
kdlab = jQuery(this).data('kdlab');
Swal.fire({
title: 'Anda Yakin?',
text: "Anda akan membatalkan order lab dengan Nomor Lab "+nolab,
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Batalkan!'
}).then((result) => {
if (result.value) {
$.post("<?php echo _BASE_.'lab/batal_order_lab.php'; ?>",{nolab:nolab,lab:kdlab},function(hasil){
Toast.fire({title:hasil.message,type:hasil.type});
$("#histlabmikro-modal").modal("hide");
},"json");
}
});
});
});
});
$("body").append($("#histlabmikro-template").html());
});
function cb_visible(elem)
{
id = $(elem).data("id");
if($("#ket"+id).css("visibility") == 'hidden')
{
$("#ket"+id).css("visibility",'visible');
}
else {
$("#ket"+id).css("visibility",'hidden');
}
}
function cbp_visible(elem)
{
id = $(elem).data("id");
return $("#ketc"+id).css('visibility', function(i, visibility) {
return (visibility == 'visible') ? 'hidden' : 'visible';
});
}
function hitungBiayaLabMikro(){
$totalmikro = 0;
$.each($biaya_orderlabmikro,function(i,v){
$totalmikro += v;
});
$("#total_order_mikro").html(accounting.formatMoney($totalmikro));
}
</script>
<?php if($_SESSION['KDDOKTER'] == 0) {
$script_disable_form = '<script type="text/javascript">';
$script_disable_form .= '$(function() {
$.each($("#order_lab_mikro input, #order_lab_mikro select, #pencarian input, #pencarian select"),function(elm){
$(this).prop("disabled",true);
});
});';
$script_disable_form .= '</script>';
echo $script_disable_form;
}
?>
<div class="row bg-light pt-2 pb-2">
<div class="col-sm-6">
<button type="button" class="btn btn-outline-success cartmikro" id="btn_hist_labmikro">History Order Lab<span></span></button>
<?php
if($_SESSION['KDDOKTER'] != 0) { ?>
<a name="simpan" href="javascript:void(0);" id="simpan_orderlabmikro" class="btn btn-primary add-labmikro">S I M P A N</a>
<?php } else { echo '<span class="alert alert-danger mx-3 my-2">Anda tidak memiliki akses order lab</span>'; } ?>
</div>
</div>
<template id="histlabmikro-template">
<div class="modal fade histlabmikro-modal-lg" id="histlabmikro-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">History Order Lab</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>
<form id="order_lab_mikro">
<input type="hidden" id="countmikroid" value="<?php echo $jml_hist; ?>" />
<input type="hidden" name="ruang" value="<?php echo $noruang; ?>" />
<input type="hidden" name="nott" value="<?php echo $userdata['nott']; ?>" />
<input type="hidden" name="aps" value="0" />
<input type="hidden" name="nomr" id="nomr" value="<?php echo $userdata['nomr']; ?>" />
<input type="hidden" name="idxdaftar" id="idxdaftar" value="<?php echo $_REQUEST['id_admission']; ?>" />
<input type="hidden" name="kddokter" value="<?php echo $kddokter; ?>" />
<input type="hidden" name="unit" value="<?php echo $noruang; ?>" />
<input type="hidden" name="carabayar" value="<?php echo $userdata['statusbayar']; ?>" />
<input type="hidden" name="rajal_status" id="rajal_status" value="0" />
<div class="row">
<div class="col-sm-12">
<div class="form-group row">
<label class="col-sm-2">Waktu Pengambilan Spesimen</label>
<div class="col-sm-3"><input type="text" name="mikro[main][WAKTU_PENGAMBILAN]" class="mask-date-time dtp-mikro form-control"></div>
<label class="col-sm-2">Pemeriksaan Ke</label>
<div class="col-sm-3">
<select name="mikro[main][PEMERIKSAAN_KE]" class="form-control" style="width: 100%">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">Temp aksiler</label>
<div class="col-sm-3">
<div class="input-group">
<input type="text" name="mikro[main][TEMP_AKSILER]" class="form-control">
<div class="input-group-append">
<span class="input-group-text" style="padding:.305rem .75rem">&deg;C</span>
</div>
</div>
</div>
<label class="col-sm-2">Perkiraan Biaya</label>
<div class="col-sm-3">
<span id="total_order_mikro" class="text-bold">0</span>
</div>
</div>
<p>Antibiotika yang telah/sedang diberikan :</p>
<?php
$i = 1;
$jml = count($arr_form['Antibiotika']);
$arr_card = [];
foreach($arr_form['Antibiotika'] as $jenis => $arr_item)
{
$arr_card[$i] = '';
$arr_card[$i] .= "\t\t".'<div class="col-sm-12">'.PHP_EOL."\t\t\t".'<div class="card" >'.PHP_EOL."\t\t\t\t".'<div class="card-header">'.$jenis.'<button type="button" class="pull-right btn-sm btn-outline-primary btn-rect show_hide_list_mikro" data-list="'.$i.'"><i class="fa fa-chevron-down"></i></button></div>
<ul id="list-'.$i.'" class="list-group list-group-flush" style="display:none">';
$j=0;
foreach($arr_item as $id => $item){
$nama = $item[0];
$biaya = $item[1];
preg_match_all("/\((.*?)\)/", $nama, $match_choice);
if(array_key_exists(0, $match_choice[1])){
$arr_choice = explode("/",$match_choice[1][0]);
$template = '<div class="form-group pl-5" style="visibility:hidden" id="ketc'.$i.$j.'">';
foreach($arr_choice as $choice){
$template .= '<div class="form-check form-check-inline">
<input type="radio" name="mikro[antibiotika][keterangan]['.$id.']" id="ketc_'.$id.$choice.'" class="form-check-input carabayar required" value="'.$choice.'" onclick="$(\'#ketv_'.$id.'\').val(\''.$choice.'\')">
<label class="form-check-label" for="ketc_'.$id.$choice.'">
'.$choice.'
</label>
</div>';
}
$template .= '<input type="hidden" class="form-control" id="ketv_'.$id.'" name="mikro[antibiotika][keterangan]['.$id.']" value="" placeholder="Keterangan" style="width:50%">
</div>';
}
else
if(preg_match("/\.\.\./", $nama))
{
$template = '<div class="form-group pl-5" style="visibility:hidden" id="ketc'.$i.$j.'"><input type="text" class="form-control" name="mikro[antibiotika][keterangan]['.$id.']" placeholder="Keterangan" style="width:50%"></div>';
}
else {
$template = '';
}
$arr_card[$i] .= '<li class="list-group-item"><div class="form-check row">
<input type="checkbox" name="mikro[antibiotika][form_id]['.$id.']" value="'.$id.'" id="c'.$id.'" data-id="'.$i.$j.'" onclick="cbp_visible(this)" class="checkbox_lab">
<label class="" style="max-width:85%;vertical-align:top" for="c'.$id.'">&nbsp;'.$nama.'</label>
</div>'.$template.'</li>'.PHP_EOL;
$j++;
}
$arr_card[$i] .= '<li class="list-group-item list-group-item-dark"><div class="form-group"><input type="text" name="mikro[main][ket_pemeriksaan]['.$jenis.']" value="" class="form-control" placeholder="Catatan Pemeriksaan '.$jenis.'"></div></li>
</ul>
</div>'.PHP_EOL."\t\t".'</div>'.PHP_EOL;
$i++;
}
$total_jenis = count($arr_card);
$per_colom = round($total_jenis/3,0);
echo '<div class="row">';
for($x = 1; $x <= 3; $x++)
{
echo '<div class="col-sm-4"><div class="row">';
for($xx = 1; $xx <= $per_colom; $xx++){
if($x == 1){
$key = $xx;
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
elseif($x == 2){
$key = (int) ($xx+$per_colom);
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
elseif($x == 3){
$key = (int) ($xx+($per_colom*2));
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
}
echo '</div></div>';
}
echo '</div>';
?>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<p>Tindakan Medik yang telah/sedang dilakukan :</p>
<?php
echo '<table>';
$i = 1;
$jml = count($arr_form['Penunjang']['Tindakan']);
foreach($arr_form['Penunjang']['Tindakan'] as $id => $item)
{
$nama = $item[0];
if($i == 1) { echo '<tr>'; }
$input_ket = (preg_match("/\.\.\./", $nama)) ? '<div class="form-group" style="visibility:hidden" id="ket'.$i.'"><input type="text" class="form-control" name="mikro[penunjang][keterangan]['.$id.']" placeholder="Keterangan" style="width:50%"></div>' : '';
echo '<td><div class="form-check"><input type="checkbox" name="mikro[penunjang][tindakan]['.$id.']" value=1 data-id="'.$i.'" id="b'.$i.'" onclick="cb_visible(this)"><label class="form-check-label" for="b'.$i.'">&nbsp;'.$nama.'</label></div>'.$input_ket.'</td>';
if($i==$jml || $i%6==0) {
if($i%6==0){
echo '</tr><tr>'.PHP_EOL;
}
elseif ($i == $jml) {
echo '</tr>'.PHP_EOL;
}
}
$i++;
}
echo '</table>';
?>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-12">
<p>Jenis Pemeriksaan :</p>
<?php
$i = 1;
$jml = count($arr_form['Pemeriksaan']);
$arr_card = [];
foreach($arr_form['Pemeriksaan'] as $jenis => $arr_item)
{
$arr_card[$i] = '';
$arr_card[$i] .= "\t\t".'<div class="col-sm-12">'.PHP_EOL."\t\t\t".'<div class="card" >'.PHP_EOL."\t\t\t\t".'<div class="card-header">'.$jenis.'<button type="button" class="pull-right btn-sm btn-outline-primary btn-rect show_hide_list_mikro" data-list="'.$i.'"><i class="fa fa-chevron-down"></i></button></div>
<ul id="list-'.$i.'" class="list-group list-group-flush" style="display:none">';
$j=0;
$judul = [];
foreach($arr_item as $id => $item){
$nama = $item[0];
$biaya = $item[1];
preg_match_all("/\((.*?)\)/", $nama, $match_choice);
if(array_key_exists(0, $match_choice[1])){
$arr_choice = explode("/",$match_choice[1][0]);
$template = '<div class="form-group pl-5" style="visibility:hidden" id="ketc'.$id.$i.$j.'">';
foreach($arr_choice as $choice){
$template .= '<div class="form-check form-check-inline">
<input type="radio" name="mikro[pemeriksaan][keterangan]['.$id.']" id="ketc_'.$id.$choice.'" class="form-check-input carabayar required" value="'.$choice.'" onclick="$(\'#ketv_'.$id.'\').val(\''.$choice.'\')">
<label class="form-check-label" for="ketc_'.$id.$choice.'">
'.$choice.'
</label>
</div>';
}
$template .= '<input type="hidden" class="form-control" id="ketv_'.$id.'" name="mikro[pemeriksaan][keterangan]['.$id.']" value="" placeholder="Keterangan" style="width:50%">
</div>';
}
else
if(preg_match("/\.\.\./", $nama))
{
$template = '<div class="form-group pl-5" style="visibility:hidden" id="ketc'.$id.$i.$j.'"><input type="text" class="form-control" name="mikro[pemeriksaan][keterangan]['.$id.']" placeholder="Keterangan" style="width:50%"></div>';
}
else {
$template = '';
}
if(!in_array($arr_sub_kelompok['Pemeriksaan'][$jenis][$id],$judul)) {
$arr_card[$i] .= '<div class="card-body bg-info py-2"> <p class="text-bold">'.$arr_sub_kelompok['Pemeriksaan'][$jenis][$id].'</p> </div>';
$judul[] = $arr_sub_kelompok['Pemeriksaan'][$jenis][$id];
}
$show_tarif = ($arr_sub_kelompok['Pemeriksaan'][$jenis][$id] == 'Jenis Pemeriksaan') ? '<div class="pull-right border border-info rounded rounded-pill">'.format_uang($biaya).'</div>' : '';
$arr_card[$i] .= '<li class="list-group-item"><div class="form-check row">
<input type="checkbox" name="mikro[pemeriksaan][form_id]['.$id.']" value="'.$id.'" id="c'.$id.'" data-id="'.$id.$i.$j.'" data-biaya="'.$biaya.'" onclick="cbp_visible(this)" class="checkbox_labmikro">
<label class="" style="max-width:75%;vertical-align:top" for="c'.$id.'">&nbsp;'.$nama.'</label>'.$show_tarif.'
</div>'.$template.'</li>'.PHP_EOL;
$j++;
}
$arr_card[$i] .= '<li class="list-group-item list-group-item-dark"><div class="form-group"><input type="text" name="mikro[main][ket_pemeriksaan]['.$jenis.']" value="" class="form-control" placeholder="Catatan Pemeriksaan '.$jenis.'"></div></li>
</ul>
</div>'.PHP_EOL."\t\t".'</div>'.PHP_EOL;
$i++;
}
$total_jenis = count($arr_card);
$per_colom = round($total_jenis/3,0);
echo '<div class="row">';
for($x = 1; $x <= 3; $x++)
{
echo '<div class="col-sm-4"><div class="row">';
for($xx = 1; $xx <= $per_colom; $xx++){
if($x == 1){
$key = $xx;
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
elseif($x == 2){
$key = (int) ($xx+$per_colom);
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
elseif($x == 3){
$key = (int) ($xx+($per_colom*2));
if(array_key_exists($key, $arr_card)){
echo $arr_card[$key];
unset($arr_card[$key]);
}
}
}
echo '</div></div>';
}
echo '</div>';
?>
</div>
</div>
</form>