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}}
-
+ Export
+
+
ID Rumah Sakit
@@ -42,7 +44,7 @@
@forelse($orderbydate ?? [] as $data)
-
+
{{ $data->nmpasien }}
{{ $data->noregister }}
{{ $data->jkpasien }}
@@ -51,9 +53,11 @@
{{ $data->asalpasien }}
{{ $data->mulai }}
{{ $data->daftar }}
+
+ {{ $data->kd_spesimen }}
{{ $data->nm_spesimen }}
- {{ $data->nm_spesimen }}
- {{ $data->updated_at }}
+ {{ $data->id_esbl }}
+ {{ $data->id_mrsa }}
@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}}
-
+ Export
+
+
No
@@ -23,6 +25,18 @@
Code
Spesimen
Finish
+ bhp_media
+ bhp_potsputum
+ bhp_poturine
+ bhp_oshe
+ bhp_obyekglass
+ bhp_botolbd
+ bhp_parafilm
+ bhp_tips
+ bhp_cottonswab
+ bhp_antibiotiktambahan
+ id_esbl
+ id_mrsa
@if(isset($jsonantibiotik) && !empty($jsonantibiotik))
@foreach($jsonantibiotik->first() as $antibiotic)
{{ $antibiotic->antibiotic }}
@@ -46,10 +60,24 @@
{{ $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}}
@if(isset($jsonantibiotik[$data->id]) && !empty($jsonantibiotik[$data->id]))
@foreach($jsonantibiotik[$data->id] as $antibiotic)
{{ $antibiotic->interpretation }}
@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 @@
@@ -191,33 +261,33 @@
Sel Epitel
Pilih Salah Satu
- Tidak ditemukan sel epitel
- Ditemukan sel epitel <1/LPK (1+)
- Ditemukan sel epitel 1-9/LPK (2+)
- Ditemukan sel epitel 10-25/LPK (3+)
- Ditemukan sel epitel >25/LPK (4+)
+ @if(isset($jsonselepitel) && !empty($jsonselepitel))
+ @foreach($jsonselepitel as $rows)
+ {!! $rows->name !!}
+ @endforeach
+ @endif
Sel Radang
Pilih Salah Satu
- Tidak ditemukan sel radang
- Ditemukan sel radang <1/LPK (1+)
- Ditemukan sel radang 1-9/LPK (2+)
- Ditemukan sel radang 10-25/LPK (3+)
- Ditemukan sel radang >25/LPK (4+)
+ @if(isset($jsonselradang) && !empty($jsonselradang))
+ @foreach($jsonselradang as $rows)
+ {!! $rows->name !!}
+ @endforeach
+ @endif
Mikroorganisme
Pilih Salah Satu
- Ditemukan morfologi bakteri
- Ditemukan morfologi
- Tidak ditemukan morfologi bakteri
- Tidak ditemukan morfologi bakteri maupun jamur
- Tidak dapat diamati
+ @if(isset($jsonmikroorganisme) && !empty($jsonmikroorganisme))
+ @foreach($jsonmikroorganisme as $rows)
+ {!! $rows->name !!}
+ @endforeach
+ @endif
@@ -286,14 +405,14 @@
2. Pewarnaan Ziehl Nielsen
Pilih Salah Satu
- Tidak ditemukan Bakteri Tahan Asam (BTA)
- Ditemukan Bakteri Tahan Asam 0-9 BTA (scanty)
- Ditemukan Bakteri Tahan Asam (BTA) 1+
- Ditemukan Bakteri Tahan Asam (BTA) 2+
- Ditemukan Bakteri Tahan Asam (BTA) 3+
+ @if(isset($jsonpewarnaanziehlnielsen) && !empty($jsonpewarnaanziehlnielsen))
+ @foreach($jsonpewarnaanziehlnielsen as $rows)
+ {!! $rows->name !!}
+ @endforeach
+ @endif
-