get(); return response()->json([ 'message' => 'Data pasien berhasil diambil', 'data' => $data ]); } catch (\Exception $e) { return response()->json([ 'message' => 'Gagal ambil data pasien', 'error' => $e->getMessage() ], 500); } } public function getDetailPasien($mr) { try { $pasien = Ms_Pasien::where('statusenabled', true)->findOrFail($mr); return response()->json([ 'message' => 'Data pasien ditemukan', 'data' => $pasien ]); } catch (\Exception $e) { return response()->json([ 'message' => 'Pasien tidak ditemukan', 'error' => $e->getMessage() ], 404); } } public function tambahPasien(Request $request) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaPasien' => 'required|string|max:100', 'TanggalLahir' => 'required|date', 'JenisKelamin' => 'required|string|in:Laki-laki,Perempuan', 'Alamat' => 'nullable|string|max:255', 'NoHP' => 'nullable|string|max:20', ]); $last = Ms_Pasien::orderByDesc('NoRM')->first(); $nextNumber = $last ? (int)$last->NoRM + 1 : 1; $noRM = str_pad($nextNumber, 5, '0', STR_PAD_LEFT); $mrPasien = 'RSABHK' . $nextNumber; $pasien = Ms_Pasien::create([ 'MRPasien' => $mrPasien, 'NoRM' => $noRM, 'NamaPasien' => $validated['NamaPasien'], 'TanggalLahir' => $validated['TanggalLahir'], 'JenisKelamin' => $validated['JenisKelamin'], 'Alamat' => $validated['Alamat'] ?? null, 'NoHP' => $validated['NoHP'] ?? null, 'statusenabled' => true, ]); DB::commit(); return response()->json([ 'message' => 'Pasien berhasil ditambahkan', 'data' => $pasien ], 201); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal tambah pasien', 'error' => $e->getMessage() ], 500); } } public function updatePasien(Request $request, $mr) { DB::beginTransaction(); try { $validated = $request->validate([ 'NamaPasien' => 'required|string|max:100', 'TanggalLahir' => 'required|date', 'JenisKelamin' => 'required|string|in:Laki-laki,Perempuan', 'Alamat' => 'nullable|string|max:255', 'NoHP' => 'nullable|string|max:20', ]); $pasien = Ms_Pasien::findOrFail($mr); $pasien->update([ 'NamaPasien' => $validated['NamaPasien'], 'TanggalLahir' => $validated['TanggalLahir'], 'JenisKelamin' => $validated['JenisKelamin'], 'Alamat' => $validated['Alamat'] ?? null, 'NoHP' => $validated['NoHP'] ?? null, ]); DB::commit(); return response()->json([ 'message' => 'Pasien berhasil diperbarui', 'data' => $pasien ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal update pasien', 'error' => $e->getMessage() ], 500); } } public function hapusPasien($mr) { DB::beginTransaction(); try { $pasien = Ms_Pasien::findOrFail($mr); $pasien->statusenabled = false; $pasien->save(); DB::commit(); return response()->json([ 'message' => 'Pasien berhasil dinonaktifkan', 'data' => $pasien ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal hapus pasien', 'error' => $e->getMessage() ], 500); } } }