From ba76a185802d20d94ee95e4af9937cca22b06707 Mon Sep 17 00:00:00 2001 From: Duidev Software House Date: Tue, 4 Feb 2025 09:09:37 +0700 Subject: [PATCH] 04-02-2025 --- app/Http/Controllers/FrontpageController.php | 153 +-- database/seeders/OrganismSeeder.php | 44 +- resources/views/dokter/ppds.blade.php | 951 +++++++------------ 3 files changed, 448 insertions(+), 700 deletions(-) diff --git a/app/Http/Controllers/FrontpageController.php b/app/Http/Controllers/FrontpageController.php index fd42ef85..ba90aab2 100644 --- a/app/Http/Controllers/FrontpageController.php +++ b/app/Http/Controllers/FrontpageController.php @@ -160,69 +160,100 @@ class FrontpageController extends Controller } } public function viewMikro() { - if (Session::get('previlage') == ''){ + // Cek previlage + if (!Session::has('previlage')) { return redirect('/login'); - } else { - $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++; - } - $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++; - } - $i++; - } - $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.ppds', $data); } - } + + // Data umum + $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, + ]; + + // Ambil semua data organisme sekaligus + $allOrganisms = Organisms::orderBy('name', 'ASC')->get(); + + // Fungsi helper untuk mengelompokkan data organisme + $groupOrganisms = function ($kelompok) use ($allOrganisms) { + $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; + + foreach ($grouped as $category => $items) { + $categories[] = $category; + $j = 0; + foreach ($items as $item) { + $organismes[$i][$j] = ['id' => $item->id, 'name' => $item->name]; + $j++; + } + $i++; + } + + return [ + 'organismes' => $organismes, + 'categories' => $categories, + ]; + }; + + // Data untuk biakankultur dan mikroorganisme + $biakankulturData = $groupOrganisms('biakankultur'); + $mikroorganismeData = $groupOrganisms('mikroorganisme'); + + // Gabungkan data + $data = array_merge($data, [ + 'organismes' => $biakankulturData['organismes'], + 'bacterycateggories' => $biakankulturData['categories'], + 'mikroorganismes' => $mikroorganismeData['organismes'], + 'mikroorganismestlist' => $mikroorganismeData['categories'], + ]); + + // Mapping nama kelompok di array dengan nama kelompok di tabel database + $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', + ]; + + // Ambil data tambahan untuk kelompok organisme dari koleksi yang sudah diambil + foreach ($kelompokMapping as $key => $kelompok) { + $data[$key] = $allOrganisms->where('kelompok', $kelompok)->values(); + } + + // Kembalikan view dengan data + return view('dokter.ppds', $data); + } public function pengambilan() { if (Session::get('previlage') == ''){ return redirect('/login'); diff --git a/database/seeders/OrganismSeeder.php b/database/seeders/OrganismSeeder.php index cee0708c..3ffee4bc 100644 --- a/database/seeders/OrganismSeeder.php +++ b/database/seeders/OrganismSeeder.php @@ -310,11 +310,11 @@ class OrganismSeeder extends Seeder ['name' => 'Ditemukan sel radang 1-9/LPK (2+)', 'category' => 'id_selradang', 'kelompok' => 'Sel Radang'], ['name' => 'Ditemukan sel radang 10-25/LPK (3+)', 'category' => 'id_selradang', 'kelompok' => 'Sel Radang'], ['name' => 'Ditemukan sel radang >25/LPK (4+)', 'category' => 'id_selradang', 'kelompok' => 'Sel Radang'], - ['name' => 'Ditemukan morfologi bakteri', 'category' => 'id_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Ditemukan morfologi', 'category' => 'id_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Tidak ditemukan morfologi bakteri', 'category' => 'id_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Tidak ditemukan morfologi bakteri maupun jamur', 'category' => 'id_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Tidak dapat diamati', 'category' => 'id_mikroorganisme', 'kelompok' => 'Mikroorganisme'], + ['name' => 'Ditemukan morfologi bakteri', 'category' => 'id_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Ditemukan morfologi', 'category' => 'id_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Tidak ditemukan morfologi bakteri', 'category' => 'id_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Tidak ditemukan morfologi bakteri maupun jamur', 'category' => 'id_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Tidak dapat diamati', 'category' => 'id_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], ['name' => '<30', 'category' => 'id_jumlahlactobacillus', 'kelompok' => 'Lactobacillus'], ['name' => '5-30', 'category' => 'id_jumlahlactobacillus', 'kelompok' => 'Lactobacillus'], ['name' => '1-4', 'category' => 'id_jumlahlactobacillus', 'kelompok' => 'Lactobacillus'], @@ -417,17 +417,17 @@ class OrganismSeeder extends Seeder ['name' => 'BGN1 NLF 4+', 'category' => 'id_mediamcconkey', 'kelompok' => 'Media Mc Conkey'], ['name' => 'BGN 1 : Oksidase -', 'category' => 'id_pemeriksaantl', 'kelompok' => 'Pemeriksaan Tambahan Lainnya'], ['name' => 'BGN 2 : Oksidase +', 'category' => 'id_pemeriksaantl', 'kelompok' => 'Pemeriksaan Tambahan Lainnya'], - ['name' => 'Tidak ditemukan pertumbuhan koloni bakteri (aerob)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan koloni bakteri (anaerob)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan jamur patogen', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan Mold Respiratory Patogen', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Ditemukan pertumbuhan bakteri Corynebacterium diphteriae', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan bakteri Corynebacterium diphteriae', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan bakteri Methicilin Resistant Staphylococcus aureus (MRSA)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Ditemukan pertumbuhan bakteri Methicilin Resistant Staphylococcus aureu (MRSA)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Tidak ditemukan pertumbuhan Bakteri tahan asam', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Didapatkan pertumbuhan bakteri Mycobacterium tuberculosis (MTB)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], - ['name' => 'Didapatkan pertumbuhan bakteri Mycobacterium other than tuberculosis (MOTT)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur (Aerob / Anaerob)'], + ['name' => 'Tidak ditemukan pertumbuhan koloni bakteri (aerob)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan koloni bakteri (anaerob)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan jamur patogen', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan Mold Respiratory Patogen', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Ditemukan pertumbuhan bakteri Corynebacterium diphteriae', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan bakteri Corynebacterium diphteriae', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan bakteri Methicilin Resistant Staphylococcus aureus (MRSA)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Ditemukan pertumbuhan bakteri Methicilin Resistant Staphylococcus aureu (MRSA)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Tidak ditemukan pertumbuhan Bakteri tahan asam', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Didapatkan pertumbuhan bakteri Mycobacterium tuberculosis (MTB)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], + ['name' => 'Didapatkan pertumbuhan bakteri Mycobacterium other than tuberculosis (MOTT)', 'category' => 'id_biakankultur', 'kelompok' => 'Biakan Kultur'], ['name' => 'Tidak ditemukan sel epitel', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'], ['name' => 'Ditemukan sel epitel <1/LPK (1+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'], ['name' => 'Ditemukan sel epitel 1-9/LPK (2+)', 'category' => 'lsg_selepitel', 'kelompok' => 'Sel Epitel'], @@ -438,10 +438,10 @@ class OrganismSeeder extends Seeder ['name' => 'Ditemukan sel radang 1-9/LPK (2+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'], ['name' => 'Ditemukan sel radang 10-25/LPK (3+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'], ['name' => 'Ditemukan sel radang >25/LPK (4+)', 'category' => 'lsg_selradang', 'kelompok' => 'Sel Radang'], - ['name' => 'Ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Ditemukan morfologi', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Tidak ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Mikroorganisme'], - ['name' => 'Tidak ditemukan morfologi bakteri maupun jamur', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Mikroorganisme'], + ['name' => 'Ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Ditemukan morfologi', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Tidak ditemukan morfologi bakteri', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], + ['name' => 'Tidak ditemukan morfologi bakteri maupun jamur', 'category' => 'lsg_mikroorganisme', 'kelompok' => 'Q Mikroorganisme'], ['name' => 'Tidak ditemukan Bakteri Tahan Asam (BTA)', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'], ['name' => 'Ditemukan Bakteri Tahan Asam 0-9 BTA (scanty)', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'], ['name' => 'Ditemukan Bakteri Tahan Asam (BTA) 1+', 'category' => 'lsg_pewarnaanziehlnielsen', 'kelompok' => 'Pewarnaan Ziehl Nielsen'], @@ -451,10 +451,6 @@ class OrganismSeeder extends Seeder ['name' => 'Tidak ditemukan gambaran bakteri dengan granula metakromatik', 'category' => 'lsg_pewarnaanneisser', 'kelompok' => 'Pewarnaan Neisser'], ['name' => 'Ditemukan morfologi bakteri berbentuk spiral', 'category' => 'lsg_pewarnaannegatif', 'kelompok' => 'Pewarnaan Negatif'], ['name' => 'Tidak ditemukan morfologi bakteri berbentuk spiral', 'category' => 'lsg_pewarnaannegatif', 'kelompok' => 'Pewarnaan Negatif'], - ['name' => 'Bacil', 'category' => 'lsg_pewarnaankoh', 'kelompok' => 'Pewarnaan KOH'], - ['name' => 'Bacil', 'category' => 'lsg_pewarnaankoh', 'kelompok' => 'Pewarnaan KOH'], - ['name' => 'Bacil', 'category' => 'lsg_pewarnaankoh', 'kelompok' => 'Pewarnaan KOH'], - ['name' => 'Bacil', 'category' => 'lsg_pewarnaankoh', 'kelompok' => 'Pewarnaan KOH'], ['name' => 'Ditemukan morfologi bakteri berspora di terminal', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'], ['name' => 'Ditemukan morfologi bakteri berspora di sub terminal', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'], ['name' => 'Ditemukan morfologi bakteri berspora di sentral', 'category' => 'lsg_pewarnaanspora', 'kelompok' => 'Pewarnaan Spora'], diff --git a/resources/views/dokter/ppds.blade.php b/resources/views/dokter/ppds.blade.php index bf90793d..43565595 100644 --- a/resources/views/dokter/ppds.blade.php +++ b/resources/views/dokter/ppds.blade.php @@ -215,32 +215,44 @@
@@ -255,33 +267,33 @@
@@ -315,11 +327,11 @@
@@ -342,11 +354,11 @@
@@ -369,11 +381,11 @@
@@ -399,11 +411,11 @@
@@ -429,26 +441,33 @@
@@ -476,90 +495,33 @@
@@ -576,8 +538,11 @@
@@ -645,17 +610,11 @@
@@ -773,22 +732,22 @@
@@ -800,8 +759,11 @@
@@ -832,11 +794,11 @@
@@ -861,16 +823,22 @@
@@ -892,10 +860,11 @@
@@ -1063,23 +1032,23 @@

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

- +
- +
- +
- +
- +
@@ -1088,23 +1057,23 @@

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

- +
- +
- +
- +
- +
@@ -1121,23 +1090,23 @@

Hasil Biakan (MGIT)

- +
- +
- +
- +
- +
@@ -1146,35 +1115,35 @@

Hasil Biakan (LJ)

- +
- +
- +
- +
- +
- +
- +
- +
@@ -1193,23 +1162,23 @@

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Sewaktu)

- +
- +
- +
- +
- +
@@ -1226,23 +1195,23 @@

Hasil Pemeriksaan Mikroskopis (BTA/lainnya) (Pagi)

- +
- +
- +
- +
- +
@@ -1269,31 +1238,31 @@

Hasil Pemeriksaan TCM MTB Rif (Xpert) (Sewaktu)

- +
- +
- +
- +
- +
- +
- +
@@ -1316,31 +1285,31 @@

Hasil Pemeriksaan TCM MTB Rif (Xpert) (Pagi)

- +
- +
- +
- +
- +
- +
- +
@@ -2128,6 +2097,135 @@ @endsection @push('script')