updated streamline-setup v2

This commit is contained in:
2025-01-15 08:53:49 -08:00
committed by alec.turner
parent a2ce9248f0
commit 4b569f81b0
20228 changed files with 2932048 additions and 63204 deletions
@@ -0,0 +1,145 @@
<?php
namespace Modules\Insurance\Http\Controllers;
use Illuminate\Database\QueryException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Streamline\Models\Diagnosis;
use Streamline\Models\Drug;
use Streamline\Models\InsuranceDiseaseGroup;
class InsuranceDiseaseGroupsController extends Controller {
public function index() {
$groups = InsuranceDiseaseGroup::get();
return view('insurance::insurance_disease_groups.index', compact('groups'));
}
public function create() {
$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.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'));
}
}