public static function totalMonthlyCoverage() { $visitClass = Customer::select('class')->where('mr_id', \Auth::user()->id)->get()->toArray(); $totalVisitsCount = VisitClass::whereIn('name', $visitClass)->sum('visits_count'); $actualVisitsCount = Report::where('mr_id', \Auth::user()->id)->where('month', date('M') . '-' . date('Y'))->count(); return number_format($actualVisitsCount / $totalVisitsCount * 100, 2); }
public function search() { $classes = VisitClass::all(); $specialties = Customer::select('specialty')->distinct()->get(); $MRs = Employee::where('level_id', 7)->get(); $dataView = ['classes' => $classes, 'specialties' => $specialties, 'MRs' => $MRs]; return view('admin.search.coverage.search', $dataView); }
public function search() { $classes = VisitClass::all(); $employees = Employee::select('id')->where('manager_id', \Auth::user()->id)->get(); $specialties = Customer::select('specialty')->whereIn('mr_id', $employees)->distinct()->get(); $MRs = Employee::where('manager_id', \Auth::user()->id)->get(); $dataView = ['classes' => $classes, 'specialties' => $specialties, 'MRs' => $MRs]; return view('am.search.coverage.search', $dataView); }
public function doDelete($id) { $visitClass = VisitClass::findOrFail($id); try { $visitClass->delete(); return redirect()->back()->with('message', 'VisitClass has been deleted successfully !'); } catch (ParseException $ex) { echo 'Failed to create new meal , with error message: ' . $ex->getMessage(); } }
public function specialtyCoverageStats($mrId) { $totalVisits = []; $actualVisits = []; $specialtyCoverage = []; $specialty = NULL; $counter = 0; $allSpecialties = Customer::select('specialty')->where('mr_id', $mrId)->get()->toArray(); $allCustomersSpecialties = Customer::whereIn('specialty', $allSpecialties)->get()->toArray(); // Get all medical rep customers specialties foreach ($allCustomersSpecialties as $singleCustomer) { $allSpecialtyClasses[$singleCustomer['specialty']] = Customer::select('class')->where('specialty', $singleCustomer['specialty'])->get()->toArray(); } // Get all customer classes based on specialty foreach ($allSpecialtyClasses as $specialty => $specialtyClasses) { // Calculate total visits based on classes and specialty foreach ($specialtyClasses as $singleSpecialtyClass) { if (isset($totalVisits[$specialty])) { $totalVisits[$specialty] += VisitClass::where('name', $singleSpecialtyClass)->first()->visits_count; } else { $totalVisits[$specialty] = VisitClass::where('name', $singleSpecialtyClass)->first()->visits_count; } } } // Get all doctors visited $doctorsVisited = Report::select('doctor_id')->where('month', date('M-Y'))->where('mr_id', $mrId)->get()->toArray(); foreach ($doctorsVisited as $singleDoctor) { // calculate actual visits $specialty = Customer::select('specialty')->findOrFail($singleDoctor)->first()->specialty; if (isset($actualVisits[$specialty])) { $actualVisits[$specialty] += 1; } else { $actualVisits[$specialty] = 1; } } foreach ($allCustomersSpecialties as $singleCustomerSpecialty) { $specialty = $singleCustomerSpecialty['specialty']; $specialtyCoverage[$specialty] = 0; if (isset($specialtyCoverage[$specialty]) && isset($actualVisits[$specialty]) && isset($totalVisits[$specialty])) { $specialtyCoverage[$specialty] = number_format($actualVisits[$specialty] / $totalVisits[$specialty] * 100, 2); } } foreach ($specialtyCoverage as $specialty => $percentage) { if (isset($specialtyCoverage[$specialty])) { $stats[$counter]['label'] = $specialty; $stats[$counter]['data'] = $percentage; } $counter++; } return $stats; }