From 52893f4eb9938865ba378d709263a233bd54001c Mon Sep 17 00:00:00 2001 From: Duidev Software House Date: Sat, 1 Mar 2025 14:10:05 +0700 Subject: [PATCH] 01-03-2025 --- app/Http/Controllers/DokterController.php | 140 +- app/Http/Controllers/FrontpageController.php | 55 +- app/Http/Controllers/ReportController.php | 4 + ...2024_11_14_093751_create_periksa_table.php | 2 + resources/views/admin/glassreport.blade.php | 31 +- .../views/admin/rekapantibiotik.blade.php | 49 +- resources/views/dokter/pemeriksaan.blade.php | 4018 ++++++++++------- resources/views/dokter/ppds.blade.php | 9 +- 8 files changed, 2589 insertions(+), 1719 deletions(-) diff --git a/app/Http/Controllers/DokterController.php b/app/Http/Controllers/DokterController.php index 91879962..f6ec209d 100644 --- a/app/Http/Controllers/DokterController.php +++ b/app/Http/Controllers/DokterController.php @@ -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(); diff --git a/app/Http/Controllers/FrontpageController.php b/app/Http/Controllers/FrontpageController.php index ba90aab2..7884b22a 100644 --- a/app/Http/Controllers/FrontpageController.php +++ b/app/Http/Controllers/FrontpageController.php @@ -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 diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index ec7c01bd..b91f11e1 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -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(); diff --git a/database/migrations/2024_11_14_093751_create_periksa_table.php b/database/migrations/2024_11_14_093751_create_periksa_table.php index 076705b5..211a1e70 100644 --- a/database/migrations/2024_11_14_093751_create_periksa_table.php +++ b/database/migrations/2024_11_14_093751_create_periksa_table.php @@ -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(); }); diff --git a/resources/views/admin/glassreport.blade.php b/resources/views/admin/glassreport.blade.php index de504d9b..a861f400 100644 --- a/resources/views/admin/glassreport.blade.php +++ b/resources/views/admin/glassreport.blade.php @@ -15,7 +15,9 @@
Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}

- + + +
@@ -42,7 +44,7 @@ @forelse($orderbydate ?? [] as $data) - + @@ -51,9 +53,11 @@ + + - - + + @if(!empty($jsonantibiotik)) @foreach($jsonantibiotik as $antibiotic) @php @@ -80,4 +84,21 @@ -@endsection \ No newline at end of file +@endsection +@push('script') + + + +@endpush \ No newline at end of file diff --git a/resources/views/admin/rekapantibiotik.blade.php b/resources/views/admin/rekapantibiotik.blade.php index 75d1dd43..fbd4cd03 100644 --- a/resources/views/admin/rekapantibiotik.blade.php +++ b/resources/views/admin/rekapantibiotik.blade.php @@ -8,7 +8,9 @@
Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}

-
ID Rumah Sakit
  {{ $data->nmpasien }} {{ $data->noregister }} {{ $data->jkpasien }}{{ $data->asalpasien }} {{ $data->mulai }} {{ $data->daftar }} {{ $data->kd_spesimen }} {{ $data->nm_spesimen }}{{ $data->nm_spesimen }}{{ $data->updated_at }}{{ $data->id_esbl }}{{ $data->id_mrsa }}
+ + +
@@ -23,6 +25,18 @@ + + + + + + + + + + + + @if(isset($jsonantibiotik) && !empty($jsonantibiotik)) @foreach($jsonantibiotik->first() as $antibiotic) @@ -46,10 +60,24 @@ + + + + + + + + + + + + @if(isset($jsonantibiotik[$data->id]) && !empty($jsonantibiotik[$data->id])) @foreach($jsonantibiotik[$data->id] as $antibiotic) @endforeach + @else + @endif @endforeach @@ -65,4 +93,21 @@ -@endsection \ No newline at end of file +@endsection +@push('script') + + + +@endpush \ No newline at end of file diff --git a/resources/views/dokter/pemeriksaan.blade.php b/resources/views/dokter/pemeriksaan.blade.php index 92ec4117..31ea13ba 100644 --- a/resources/views/dokter/pemeriksaan.blade.php +++ b/resources/views/dokter/pemeriksaan.blade.php @@ -97,7 +97,7 @@
- @foreach($allanalis as $ranalis) @if($ranalis->id == Session('id')) @@ -110,7 +110,7 @@
- @foreach($allppds as $rppds) @if($rppds->id == Session('id')) @@ -123,7 +123,7 @@
- @foreach($dokters as $dokter) @if($dokter->id == Session('id')) @@ -137,7 +137,65 @@
- + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
@@ -151,32 +209,44 @@
@@ -191,33 +261,33 @@
@@ -247,36 +317,85 @@
- +
+
+ +
+
+ +
+
- +
+
+ +
+
+ +
+
- +
+
+ +
+
+ +
+
+
@@ -286,14 +405,14 @@ -
+
+
+ + +
@@ -357,26 +487,35 @@
- - - - + @if(isset($jsonmediabap) && !empty($jsonmediabap)) + @foreach($jsonmediabap as $rows) + + @endforeach + @endif
- - + @if(isset($jsonmediacap) && !empty($jsonmediacap)) + @foreach($jsonmediacap as $rows) + + @endforeach + @endif
- - - + @if(isset($jsonmediamcconkey) && !empty($jsonmediamcconkey)) + @foreach($jsonmediamcconkey as $rows) + + @endforeach + @endif
@@ -393,8 +532,11 @@
@@ -405,7 +547,6 @@
- + - @php $mulai = 1; while ($mulai != 43){ @@ -450,7 +589,6 @@ - - - - - - - - - - - + @if(isset($jsonbiakankultur) && !empty($jsonbiakankultur)) + @foreach($jsonbiakankultur as $rows) + + @endforeach + @endif
@@ -564,7 +696,7 @@
- +
- +
@@ -589,27 +721,27 @@ -
+
@@ -621,63 +753,32 @@
@@ -687,14 +788,14 @@
-
+
+
+ + +
-
+
+
+ + +
-
- - -
@@ -787,7 +901,7 @@
- +
@@ -803,7 +917,7 @@ -
-
- - -
-
- - -
-
+ +
-
-

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-
- - -
-
- - -
-
+ +
-
-

Hasil Biakan (MGIT)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

Hasil Biakan (MGIT)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-

Hasil Biakan (LJ)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

Hasil Biakan (LJ)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
@@ -1046,78 +1148,66 @@
-
-
- - -
-
- - -
-
+ +
-
-

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
-
-
- - -
-
- - -
-
+ +
-
-
-

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+
+

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
@@ -1131,10 +1221,7 @@
-
- - -
+
@@ -1145,31 +1232,31 @@

Hasil Pemeriksaan TCM MTB Rif (Xpert) (Sewaktu)

- +
- +
- +
- +
- +
- +
- +
@@ -1182,10 +1269,6 @@
-
- - -
@@ -1196,31 +1279,31 @@

Hasil Pemeriksaan TCM MTB Rif (Xpert) (Pagi)

- +
- +
- +
- +
- +
- +
- +
@@ -1235,10 +1318,6 @@
-
- - -
@@ -1252,53 +1331,163 @@
Neg
-
+
+ +
H Low
-
+
+ +
H
-
+
+ +
FQ Low
-
+
+ +
FQ
-
+
+ +
Invalid
-
+
+ +
Amk
-
+
+ +
Km
-
+
+ +
Cm
-
+
+ +
Eto
-
+
+ +
Error
-
+
+ +
No Result
-
+
+ +
@@ -1312,10 +1501,6 @@
-
- - -
@@ -1329,53 +1514,173 @@
Neg
-
+
+ +
H Low
-
+
+ +
H
-
+
+ +
FQ Low
-
+
+ +
FQ
-
+
+ +
Invalid
-
+
+ +
Amk
-
+
+ +
Km
-
+
+ +
Cm
-
+
+ +
Eto
-
+
+ +
Error
-
+
+ +
No Result
-
+
+ +
@@ -1517,6 +1822,7 @@ +
@@ -1555,6 +1861,7 @@ - + - + +
NoCode Spesimen Finishbhp_mediabhp_potsputumbhp_poturinebhp_oshebhp_obyekglassbhp_botolbdbhp_parafilmbhp_tipsbhp_cottonswabbhp_antibiotiktambahanid_esblid_mrsa{{ $antibiotic->antibiotic }}{{ $data->kd_spesimen }} {{ $data->nm_spesimen }} {{ $data->updated_at }}{{ $data->bhp_media}} {{ $data->bhp_potsputum}} {{ $data->bhp_poturine}} {{ $data->bhp_oshe}} {{ $data->bhp_obyekglass}} {{ $data->bhp_botolbd}} {{ $data->bhp_parafilm}} {{ $data->bhp_tips}} {{ $data->bhp_cottonswab}} {{ $data->bhp_antibiotiktambahan}} {{ $data->id_esbl}} {{ $data->id_mrsa}} {{ $antibiotic->interpretation }} 
@@ -1590,10 +1898,6 @@ - - - - @@ -1607,10 +1911,7 @@ - - - - + @@ -1714,7 +2015,49 @@ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
- + @@ -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');
DLP
Klinisi
Weight
Order
Kv