where('available', 1)->pluck('name', 'id'); $drugs = DB::table('drugs')->where('available', 1)->pluck('name', 'id'); $investigations = DB::table('investigations')->pluck('name', 'id'); $procedures = DB::table('procedures')->where('available', 1)->pluck('name', 'id'); return view('insurance::insurance_disease_groups.create', compact('investigations', 'diagnoses', 'drugs', 'procedures')); } public function store(Request $request) { request()->validate([ 'name' => 'required', 'diagnoses' => 'required' ]); $group = new InsuranceDiseaseGroup(); $group->name = $request->name; $group->diagnoses = implode(",", $request->diagnoses); $group->investigations = $request->investigations ? implode(",", $request->investigations) : ''; $group->treatments = $request->drugs ? implode(",", $request->drugs) : ''; $group->procedures = $request->procedures ? implode(",", $request->procedures) : ''; $group->created_by = Auth::id(); try { $group->save(); flash("Insurance Disease Group has been created")->success(); return redirect("/insurance_disease_groups/index"); } catch (QueryException $e) { flash("An error occurred. Please try again later")->error(); return back()->withInput(); } } public function edit($id) { $group = InsuranceDiseaseGroup::find($id); $diagnoses = DB::table('diagnoses')->where('available', 1)->pluck('name', 'id'); $drugs = DB::table('drugs')->where('available', 1)->pluck('name', 'id'); $investigations = DB::table('investigations')->pluck('name', 'id'); $procedures = DB::table('procedures')->where('available', 1)->pluck('name', 'id'); return view('insurance::insurance_disease_groups.edit', compact('group', 'diagnoses', 'drugs', 'investigations', 'procedures')); } public function update(Request $request) { request()->validate([ 'name' => 'required', 'diagnoses' => 'required' ]); $group = InsuranceDiseaseGroup::find($request->id); $group->name = $request->name; $group->diagnoses = implode(",", $request->diagnoses); $group->investigations = $request->investigations ? implode(",", $request->investigations) : ''; $group->treatments = $request->drugs ? implode(",", $request->drugs) : ''; $group->procedures = $request->procedures ? implode(",", $request->procedures) : ''; $group->updated_by = Auth::id(); try { $group->save(); flash("Insurance Disease Group has been updated")->success(); return redirect("/insurance_disease_groups/index"); } catch (QueryException $e) { flash("An error occurred. Please try again later")->error(); return back()->withInput(); } } /** * Remove the specified resource from storage. * */ public function delete($id) { $group = InsuranceDiseaseGroup::find($id); try { $group->delete(); flash("Insurance Disease Group has been deactivated")->success(); return redirect("/insurance_disease_groups/index"); } catch (QueryException $e) { flash("An error occurred. Please try again later")->error(); return back()->withInput(); } } /** * Display a listing of the inactive resource(s). * */ public function inactive() { $groups = InsuranceDiseaseGroup::onlyTrashed()->get(); return view('insurance::insurance_disease_groups.inactive', compact('groups')); } /** * Activate the specified resource in storage. * */ public function restore($id) { $group = InsuranceDiseaseGroup::withTrashed()->find($id); try { $group->restore(); flash("Insurance Disease Group has been restored")->success(); return redirect("/insurance_disease_groups/index"); } catch (QueryException $e) { flash("An error occurred. Please try again later")->error(); return back()->withInput(); } } public function details($id) { $group = InsuranceDiseaseGroup::find($id); $diagnoses = DB::table('diagnoses')->where('available', 1)->pluck('name', 'id'); $drugs = DB::table('drugs')->where('available', 1)->pluck('name', 'id'); $investigations = DB::table('investigations')->pluck('name', 'id'); $procedures = DB::table('procedures')->where('available', 1)->pluck('name', 'id'); return view('insurance::insurance_disease_groups.details', compact('investigations', 'diagnoses', 'drugs', 'procedures', 'group')); } }