01-03-2025
This commit is contained in:
@@ -130,6 +130,7 @@ class DokterController extends Controller
|
||||
$data['periksa'] = $periksa;
|
||||
$data['keterangan'] = $keterangan;
|
||||
$data['tandatangananalis'] = $tandatangananalis;
|
||||
$data['ttdanalis'] = $tandatangananalis;
|
||||
$data['tandatangan'] = $tandatangan;
|
||||
$data['ppds'] = $ppds;
|
||||
$data['kopsurat'] = $kopsurat;
|
||||
@@ -173,63 +174,75 @@ class DokterController extends Controller
|
||||
public function reportppds() {
|
||||
$previlage = Session('previlage');
|
||||
if ($previlage == 'developer' OR $previlage == 'supervisor') {
|
||||
$data = [];
|
||||
$dokters = User::where('previlage', 'supervisor')->get();
|
||||
$allppds = User::where('previlage', 'ppds')->get();
|
||||
$allanalis = User::where('previlage', 'analis')->get();
|
||||
$organismslis = Organisms::where('kelompok', 'biakankultur')->groupBy('category')->select('category')->get();
|
||||
$i = 0;
|
||||
foreach ($organismslis as $rorganisme) {
|
||||
$j = 0;
|
||||
$category = $rorganisme->category;
|
||||
$rooms = Organisms::where('kelompok', 'biakankultur')->where('category', $category)->orderBy('name', 'ASC')->get();
|
||||
foreach ($rooms as $room) {
|
||||
$data['organismes'][$i][$j]['id'] = $room->id;
|
||||
$data['organismes'][$i][$j]['name'] = $room->name;
|
||||
$j++;
|
||||
$data = [
|
||||
'dokters' => User::where('previlage', 'supervisor')->get(),
|
||||
'allppds' => User::where('previlage', 'ppds')->get(),
|
||||
'allanalis' => User::where('previlage', 'analis')->get(),
|
||||
'lokasi' => 'Lab Mikrobiologi',
|
||||
'master' => 'mikro',
|
||||
'antrkrmsitu' => 0,
|
||||
];
|
||||
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
||||
$groupOrganisms = function ($kelompok) use ($allOrganisms) {
|
||||
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
||||
if ($organisms->isEmpty()) {
|
||||
return [
|
||||
'organismes' => [[['id' => 0, 'name' => 'No Data']]],
|
||||
'categories' => ['No Data'],
|
||||
];
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$x = 0;
|
||||
foreach ($organismslis as $rows) {
|
||||
$data['bacterycateggories'][$x] = $rows->category;
|
||||
$x++;
|
||||
}
|
||||
if ($x == 0){
|
||||
$data['organismes'][0][0]['id'] = 0;
|
||||
$data['organismes'][0][0]['name'] = 'No Data';
|
||||
$data['bacterycateggories'][0] = 'No Data';
|
||||
}
|
||||
$mikroorganismelist = Organisms::where('kelompok', 'mikroorganisme')->groupBy('category')->select('category')->get();
|
||||
$i = 0;
|
||||
foreach ($mikroorganismelist as $rorganisme) {
|
||||
$j = 0;
|
||||
$category = $rorganisme->category;
|
||||
$rooms = Organisms::where('kelompok', 'mikroorganisme')->where('category', $category)->orderBy('name', 'ASC')->get();
|
||||
foreach ($rooms as $room) {
|
||||
$data['mikroorganismes'][$i][$j]['id'] = $room->id;
|
||||
$data['mikroorganismes'][$i][$j]['name'] = $room->name;
|
||||
$j++;
|
||||
$grouped = $organisms->groupBy('category');
|
||||
$organismes = [];
|
||||
$categories = [];
|
||||
$i = 0;
|
||||
foreach ($grouped as $category => $items) {
|
||||
$categories[] = $category;
|
||||
$j = 0;
|
||||
foreach ($items as $item) {
|
||||
$organismes[$i][$j] = ['id' => $item->id, 'name' => $item->name];
|
||||
$j++;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$i++;
|
||||
return [
|
||||
'organismes' => $organismes,
|
||||
'categories' => $categories,
|
||||
];
|
||||
};
|
||||
$biakankulturData = $groupOrganisms('biakankultur');
|
||||
$mikroorganismeData = $groupOrganisms('mikroorganisme');
|
||||
|
||||
// Gabungkan data
|
||||
$data = array_merge($data, [
|
||||
'organismes' => $biakankulturData['organismes'],
|
||||
'bacterycateggories' => $biakankulturData['categories'],
|
||||
'mikroorganismes' => $mikroorganismeData['organismes'],
|
||||
'mikroorganismestlist' => $mikroorganismeData['categories'],
|
||||
]);
|
||||
$kelompokMapping = [
|
||||
'jsonsputum' => 'Sputum',
|
||||
'jsonswabtenggorok' => 'Swab Tenggorok',
|
||||
'jsonurine' => 'Urine',
|
||||
'jsonswabperineum' => 'Swab perineum',
|
||||
'jsonselepitel' => 'Sel Epitel',
|
||||
'jsonselradang' => 'Sel Radang',
|
||||
'jsonmikroorganisme' => 'Q Mikroorganisme',
|
||||
'jsonjumlahlactobacillus' => 'Lactobacillus',
|
||||
'jsonjumlahgardnerella' => 'Gardnerella',
|
||||
'jsonjumlahmobiluncus' => 'Mobiluncus',
|
||||
'jsonpewarnaanziehlnielsen' => 'Pewarnaan Ziehl Nielsen',
|
||||
'jsonpewarnaanneisser' => 'Pewarnaan Neisser',
|
||||
'jsonpewarnaannegatif' => 'Pewarnaan Negatif',
|
||||
'jsonpewarnaanspora' => 'Pewarnaan Spora',
|
||||
'jsonmediabap' => 'Media BAP',
|
||||
'jsonmediacap' => 'Media CAP',
|
||||
'jsonmediamcconkey' => 'Media Mc Conkey',
|
||||
'jsonpemeriksaantl' => 'Pemeriksaan Tambahan Lainnya',
|
||||
'jsonbiakankultur' => 'Biakan Kultur',
|
||||
];
|
||||
foreach ($kelompokMapping as $key => $kelompok) {
|
||||
$data[$key] = $allOrganisms->where('kelompok', $kelompok)->values();
|
||||
}
|
||||
$x = 0;
|
||||
foreach ($mikroorganismelist as $rows) {
|
||||
$data['mikroorganismestlist'][$x] = $rows->category;
|
||||
$x++;
|
||||
}
|
||||
if ($x == 0){
|
||||
$data['mikroorganismes'][0][0]['id'] = 0;
|
||||
$data['mikroorganismes'][0][0]['name'] = 'No Data';
|
||||
$data['mikroorganismestlist'][0] = 'No Data';
|
||||
}
|
||||
$data['allppds'] = $allppds;
|
||||
$data['dokters'] = $dokters;
|
||||
$data['allanalis'] = $allanalis;
|
||||
$data['antrkrmsitu']= PeriksaSYNC::where('created_by', Session('username'))->where('status', '')->count();
|
||||
$data['lokasi'] = 'Lab Mikrobiologi';
|
||||
$data['master'] = 'mikro';
|
||||
$previlage = Session('previlage');
|
||||
return view('dokter.pemeriksaan', $data);
|
||||
} else {
|
||||
$data = [];
|
||||
@@ -948,11 +961,30 @@ class DokterController extends Controller
|
||||
Periksa::where('nofoto', $nofoto)->update([
|
||||
'bhp_cottonswab' => $request->input('isi'),
|
||||
]);
|
||||
} else if ($request->input('komponen') == 'id_esbl'){
|
||||
Periksa::where('nofoto', $nofoto)->update([
|
||||
'id_esbl' => $request->input('isi'),
|
||||
]);
|
||||
} else if ($request->input('komponen') == 'id_mrsa'){
|
||||
Periksa::where('nofoto', $nofoto)->update([
|
||||
'id_mrsa' => $request->input('isi'),
|
||||
]);
|
||||
} else {
|
||||
Periksa::where('nofoto', $nofoto)->update([
|
||||
'bhp_antibiotiktambahan' => $request->input('isi'),
|
||||
]);
|
||||
}
|
||||
KomponenJawaban::updateOrCreate(
|
||||
[
|
||||
'accnumber' => $nofoto,
|
||||
'template' => $request->input('jenis'),
|
||||
'komponen' => $request->input('komponen'),
|
||||
],
|
||||
[
|
||||
'isidata' => $request->input('isi'),
|
||||
'created_by' => Session('nama')
|
||||
]
|
||||
);
|
||||
$pesan = $nofoto.' Saved '.$request->input('jenis');
|
||||
} catch (Exception $e) {
|
||||
$pesan = $e->getMessage();
|
||||
|
||||
@@ -88,39 +88,7 @@ class FrontpageController extends Controller
|
||||
}
|
||||
}
|
||||
public function getKalenderlist() {
|
||||
$data = [];
|
||||
$idne = '';
|
||||
$jadwals = Periksa::whereDate('daftar', '>=', Carbon::yesterday())->orderBy('daftar', 'ASC')->orderBy('ruangan_id', 'ASC')->get();
|
||||
if (!empty($jadwals)){
|
||||
foreach ($jadwals as $hcari) {
|
||||
$nofoto = $hcari->nofoto;
|
||||
$ruang = $hcari->ruangan;
|
||||
$mulai = $hcari->mulai;
|
||||
$akhir = $hcari->akhir;
|
||||
$reques = $hcari->reques;
|
||||
$arrayttl = explode(" ", $mulai);
|
||||
$tanggal = $arrayttl[0];
|
||||
$jam = $arrayttl[1];
|
||||
$cnama = $hcari->getPasien->nama ?? 'Deleted Data Pasien';
|
||||
$ctelpon = $hcari->getPasien->telpon ?? '';
|
||||
$calam = $hcari->getPasien->alamat ?? '';
|
||||
$ckota = $hcari->getPasien->kota ?? '';
|
||||
$keperluan = 'On '.$ruang.' Request '.$reques.' for '.$cnama;
|
||||
$start = Carbon::parse($mulai)->format('Y-m-d H:i:s');
|
||||
$end = Carbon::parse($akhir)->format('Y-m-d H:i:s');
|
||||
if ($idne == ''){ $idne = 'id1'; }
|
||||
else { $idne = $hcari->id; }
|
||||
$data[] = array(
|
||||
'id' => $idne,
|
||||
'description' => $reques,
|
||||
'location' => $hcari->urgensi,
|
||||
'subject' => $keperluan,
|
||||
'calendar' => $ruang,
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
);
|
||||
}
|
||||
}
|
||||
$data = Periksa::select('id as idne', 'mulai as start', 'akhir as end', 'reques as description', 'urgensi as location', 'ruangan as calendar', DB::raw("CONCAT('on ', ruangan, ' Request ', reques, ' for Patient ID ', noregister) as subject"), 'daftar', 'ruangan_id')->where('daftar', '>=', Carbon::yesterday())->orderBy('daftar', 'ASC')->orderBy('ruangan_id', 'ASC')->get();
|
||||
echo json_encode($data);
|
||||
}
|
||||
public function pendaftaran() {
|
||||
@@ -160,12 +128,9 @@ class FrontpageController extends Controller
|
||||
}
|
||||
}
|
||||
public function viewMikro() {
|
||||
// Cek previlage
|
||||
if (!Session::has('previlage')) {
|
||||
return redirect('/login');
|
||||
}
|
||||
|
||||
// Data umum
|
||||
$data = [
|
||||
'dokters' => User::where('previlage', 'supervisor')->get(),
|
||||
'allppds' => User::where('previlage', 'ppds')->get(),
|
||||
@@ -174,27 +139,19 @@ class FrontpageController extends Controller
|
||||
'master' => 'mikro',
|
||||
'antrkrmsitu' => 0,
|
||||
];
|
||||
|
||||
// Ambil semua data organisme sekaligus
|
||||
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
||||
|
||||
// Fungsi helper untuk mengelompokkan data organisme
|
||||
$allOrganisms = Organisms::orderBy('name', 'ASC')->get();
|
||||
$groupOrganisms = function ($kelompok) use ($allOrganisms) {
|
||||
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
||||
|
||||
$organisms = $allOrganisms->where('kelompok', $kelompok);
|
||||
if ($organisms->isEmpty()) {
|
||||
return [
|
||||
'organismes' => [[['id' => 0, 'name' => 'No Data']]],
|
||||
'categories' => ['No Data'],
|
||||
];
|
||||
}
|
||||
|
||||
$grouped = $organisms->groupBy('category');
|
||||
|
||||
$organismes = [];
|
||||
$categories = [];
|
||||
$i = 0;
|
||||
|
||||
$i = 0;
|
||||
foreach ($grouped as $category => $items) {
|
||||
$categories[] = $category;
|
||||
$j = 0;
|
||||
@@ -204,15 +161,13 @@ class FrontpageController extends Controller
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
return [
|
||||
'organismes' => $organismes,
|
||||
'categories' => $categories,
|
||||
];
|
||||
};
|
||||
|
||||
// Data untuk biakankultur dan mikroorganisme
|
||||
$biakankulturData = $groupOrganisms('biakankultur');
|
||||
$biakankulturData = $groupOrganisms('biakankultur');
|
||||
$mikroorganismeData = $groupOrganisms('mikroorganisme');
|
||||
|
||||
// Gabungkan data
|
||||
|
||||
@@ -315,6 +315,8 @@ class ReportController extends Controller
|
||||
$getarray = explode('?', $bulan);
|
||||
$bulan = $getarray[0] ?? date('m');
|
||||
$tahun = $getarray[1] ?? date('Y');
|
||||
$bulan = str_replace('bulan=', '', $bulan);
|
||||
$tahun = str_replace('tahun=', '', $tahun);
|
||||
}
|
||||
if ($bulan == '' OR $bulan == 'ALL' OR $bulan == 'Pick Month') {
|
||||
$orderbydate = Periksa::whereYear('daftar', $tahun)->get();
|
||||
@@ -333,6 +335,8 @@ class ReportController extends Controller
|
||||
$getarray = explode('?', $bulan);
|
||||
$bulan = $getarray[0] ?? date('m');
|
||||
$tahun = $getarray[1] ?? date('Y');
|
||||
$bulan = str_replace('bulan=', '', $bulan);
|
||||
$tahun = str_replace('tahun=', '', $tahun);
|
||||
}
|
||||
if ($bulan == '' OR $bulan == 'ALL' OR $bulan == 'Pick Month') {
|
||||
$orderbydate = Periksa::whereYear('daftar', $tahun)->get();
|
||||
|
||||
@@ -87,6 +87,8 @@ return new class extends Migration
|
||||
$table->integer('bhp_tips')->nullable();
|
||||
$table->integer('bhp_cottonswab')->nullable();
|
||||
$table->integer('bhp_antibiotiktambahan')->nullable();
|
||||
$table->string('id_esbl', 5)->nullable();
|
||||
$table->string('id_mrsa', 5)->nullable();
|
||||
$table->timestamp('created_at')->useCurrent();
|
||||
$table->timestamp('updated_at')->useCurrent();
|
||||
});
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
<div class="ribbon ribbon-danger">Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}</div>
|
||||
<p></p>
|
||||
<div class="table-responsive">
|
||||
<table id="datatable" class="table table-bordered display">
|
||||
<button type="button" class="btn btn-primary" id="btnexport"><i class="fa fa-print"></i> Export</button>
|
||||
|
||||
<table id="glassreport" class="table table-bordered display">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID Rumah Sakit</th>
|
||||
@@ -42,7 +44,7 @@
|
||||
<tbody>
|
||||
@forelse($orderbydate ?? [] as $data)
|
||||
<tr>
|
||||
<td></td>
|
||||
<td> </td>
|
||||
<td>{{ $data->nmpasien }}</td>
|
||||
<td>{{ $data->noregister }}</td>
|
||||
<td>{{ $data->jkpasien }}</td>
|
||||
@@ -51,9 +53,11 @@
|
||||
<td>{{ $data->asalpasien }}</td>
|
||||
<td>{{ $data->mulai }}</td>
|
||||
<td>{{ $data->daftar }}</td>
|
||||
<td> </td>
|
||||
<td>{{ $data->kd_spesimen }}</td>
|
||||
<td>{{ $data->nm_spesimen }}</td>
|
||||
<td>{{ $data->nm_spesimen }}</td>
|
||||
<td>{{ $data->updated_at }}</td>
|
||||
<td>{{ $data->id_esbl }}</td>
|
||||
<td>{{ $data->id_mrsa }}</td>
|
||||
@if(!empty($jsonantibiotik))
|
||||
@foreach($jsonantibiotik as $antibiotic)
|
||||
@php
|
||||
@@ -80,4 +84,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
|
||||
@endsection
|
||||
@endsection
|
||||
@push('script')
|
||||
<!-- SIGNATURE PAD -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.0/xlsx.full.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.getElementById('btnexport').addEventListener('click', function() {
|
||||
var table = document.getElementById('glassreport');
|
||||
if (table) {
|
||||
var wb = XLSX.utils.table_to_book(table, { sheet: "Report" });
|
||||
XLSX.writeFile(wb, "GlassReport_{{$bulan}}_Tahun{{$tahun}}.xlsx");
|
||||
} else {
|
||||
console.error('Tabel dengan ID "tblkeaktifankelas" tidak ditemukan.');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@@ -8,7 +8,9 @@
|
||||
<div class="ribbon ribbon-danger">Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}</div>
|
||||
<p></p>
|
||||
<div class="table-responsive">
|
||||
<table id="datatable" class="table table-bordered display">
|
||||
<button type="button" class="btn btn-primary" id="btnexport"><i class="fa fa-print"></i> Export</button>
|
||||
|
||||
<table id="rekapantibiotik" class="table table-bordered display">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
@@ -23,6 +25,18 @@
|
||||
<th>Code</th>
|
||||
<th>Spesimen</th>
|
||||
<th>Finish</th>
|
||||
<th>bhp_media</th>
|
||||
<th>bhp_potsputum</th>
|
||||
<th>bhp_poturine</th>
|
||||
<th>bhp_oshe</th>
|
||||
<th>bhp_obyekglass</th>
|
||||
<th>bhp_botolbd</th>
|
||||
<th>bhp_parafilm</th>
|
||||
<th>bhp_tips</th>
|
||||
<th>bhp_cottonswab</th>
|
||||
<th>bhp_antibiotiktambahan</th>
|
||||
<th>id_esbl</th>
|
||||
<th>id_mrsa</th>
|
||||
@if(isset($jsonantibiotik) && !empty($jsonantibiotik))
|
||||
@foreach($jsonantibiotik->first() as $antibiotic)
|
||||
<th>{{ $antibiotic->antibiotic }}</th>
|
||||
@@ -46,10 +60,24 @@
|
||||
<td>{{ $data->kd_spesimen }}</td>
|
||||
<td>{{ $data->nm_spesimen }}</td>
|
||||
<td>{{ $data->updated_at }}</td>
|
||||
<td>{{ $data->bhp_media}} </td>
|
||||
<td>{{ $data->bhp_potsputum}} </td>
|
||||
<td>{{ $data->bhp_poturine}} </td>
|
||||
<td>{{ $data->bhp_oshe}} </td>
|
||||
<td>{{ $data->bhp_obyekglass}} </td>
|
||||
<td>{{ $data->bhp_botolbd}} </td>
|
||||
<td>{{ $data->bhp_parafilm}} </td>
|
||||
<td>{{ $data->bhp_tips}} </td>
|
||||
<td>{{ $data->bhp_cottonswab}} </td>
|
||||
<td>{{ $data->bhp_antibiotiktambahan}} </td>
|
||||
<td>{{ $data->id_esbl}} </td>
|
||||
<td>{{ $data->id_mrsa}} </td>
|
||||
@if(isset($jsonantibiotik[$data->id]) && !empty($jsonantibiotik[$data->id]))
|
||||
@foreach($jsonantibiotik[$data->id] as $antibiotic)
|
||||
<td>{{ $antibiotic->interpretation }}</td>
|
||||
@endforeach
|
||||
@else
|
||||
<td> </td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@@ -65,4 +93,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
|
||||
@endsection
|
||||
@endsection
|
||||
@push('script')
|
||||
<!-- SIGNATURE PAD -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.0/xlsx.full.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.getElementById('btnexport').addEventListener('click', function() {
|
||||
var table = document.getElementById('rekapantibiotik');
|
||||
if (table) {
|
||||
var wb = XLSX.utils.table_to_book(table, { sheet: "Report" });
|
||||
XLSX.writeFile(wb, "RekapanAntiBiotik_{{$bulan}}_Tahun{{$tahun}}.xlsx");
|
||||
} else {
|
||||
console.error('Tabel dengan ID "tblkeaktifankelas" tidak ditemukan.');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
File diff suppressed because it is too large
Load Diff
@@ -34,7 +34,7 @@
|
||||
<select class="form-control" id="valjenis" name="valjenis">
|
||||
<option value="searchbydate">Pencarian Berdasarkan Tanggal</option>
|
||||
<option value="norm">No.RM</option>
|
||||
<option value="nofoto">No.Foto</option>
|
||||
<option value="nofoto">No.Lab</option>
|
||||
<option value="rekues">Request/Modality</option>
|
||||
<option value="keterangan">Expertise</option>
|
||||
<option value="kesimpulan">Expertise + Date</option>
|
||||
@@ -2270,9 +2270,9 @@
|
||||
}
|
||||
function openedpage( jQuery ){
|
||||
var jenis = document.getElementById('master_set01').value;
|
||||
var mulai = document.getElementById('mulai').value;
|
||||
var akhir = document.getElementById('akhir').value;
|
||||
var valcari = document.getElementById('valcari').value;
|
||||
var mulai = '';
|
||||
var akhir = '';
|
||||
var valcari = '';
|
||||
var master = document.getElementById('master_lokasi').value;
|
||||
var poli = document.getElementById('valpoli2').value;
|
||||
var set06 = document.getElementById('master_judul').value;
|
||||
@@ -2825,7 +2825,6 @@
|
||||
CKEDITOR.env.isCompatible = true;
|
||||
CKEDITOR.replace( 'keterangan');
|
||||
CKEDITOR.replace( 'kesimpulan');
|
||||
CKEDITOR.replace( 'read_adendum');
|
||||
CKEDITOR.replace( 'lsg_ditemukanmorfologi');
|
||||
CKEDITOR.replace( 'lsg_pewarnaanlain');
|
||||
CKEDITOR.replace( 'viralload');
|
||||
|
||||
Reference in New Issue
Block a user