|
@@ -4,13 +4,69 @@ namespace App\Http\Controllers;
|
|
|
|
|
|
use App\Models\AppSession;
|
|
|
use App\Models\Client;
|
|
|
+use App\Models\Bill;
|
|
|
+use App\Models\Note;
|
|
|
+use App\Models\ProTransaction;
|
|
|
use Illuminate\Http\Request;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class HomeController extends Controller
|
|
|
{
|
|
|
public function dashboard(Request $request)
|
|
|
{
|
|
|
- return view('app/dashboard');
|
|
|
+
|
|
|
+ //patients where performer is the mcp
|
|
|
+ $performer = $this->performer();
|
|
|
+
|
|
|
+ $keyNumbers = [];
|
|
|
+
|
|
|
+ $totalPatients = Client::where('mcp_pro_id', $performer->pro->id)->count();
|
|
|
+ $keyNumbers['totalPatients'] = $totalPatients;
|
|
|
+
|
|
|
+ $patientNotSeenYet = Client::where('mcp_pro_id', $performer->pro->id)
|
|
|
+ ->where(function($query){
|
|
|
+ $query->where('has_mcp_done_onboarding_visit', 'UNKNOWN')
|
|
|
+ ->orWhere('has_mcp_done_onboarding_visit', 'NO');
|
|
|
+ })->count();
|
|
|
+ $keyNumbers['patientsNotSeenYet'] = $patientNotSeenYet;
|
|
|
+
|
|
|
+ $performerProID = $performer->pro->id;
|
|
|
+ $pendingBillsToSign = Bill::where(function($query) use ($performerProID){
|
|
|
+ $query->where('hcp_pro_id', $performerProID)->where('is_signed_by_hcp', false);
|
|
|
+ })
|
|
|
+ ->orWhere(function($query) use ($performerProID){
|
|
|
+ $query->where('cm_pro_id', $performerProID)->where('is_signed_by_cm', false);
|
|
|
+ })->orWhere(function($query) use ($performerProID){
|
|
|
+ $query->where('rme_pro_id', $performerProID)->where('is_signed_by_rme', false);
|
|
|
+ })->orWhere(function($query) use ($performerProID){
|
|
|
+ $query->where('rmm_pro_id', $performerProID)->where('is_signed_by_rmm', false);
|
|
|
+ })->count();
|
|
|
+
|
|
|
+ $keyNumbers['pendingBillsToSign'] = $pendingBillsToSign;
|
|
|
+
|
|
|
+ $pendingNotesToSign = Note::where(function($query) use ($performerProID){
|
|
|
+ $query->where('hcp_pro_id', $performerProID)->where('is_signed_by_hcp', false);
|
|
|
+ })
|
|
|
+ ->orWhere(function($query) use ($performerProID){
|
|
|
+ $query->where('ally_pro_id', $performerProID)->where('is_signed_by_ally', false);
|
|
|
+ })->count();
|
|
|
+
|
|
|
+ $keyNumbers['pendingNotesToSign'] = $pendingNotesToSign;
|
|
|
+
|
|
|
+ $reimbursement = [];
|
|
|
+ $reimbursement["currentBalance"] = $performer->pro->balance;
|
|
|
+ $reimbursement["nextPaymentDate"] = '--';
|
|
|
+ $lastPayment = ProTransaction::where('pro_id', $performerProID)->where('plus_or_minus', 'PLUS')->orderBy('created_at', 'DESC')->first();
|
|
|
+ if($lastPayment) {
|
|
|
+ $reimbursement["lastPayment"] = $lastPayment->amount;
|
|
|
+ $reimbursement["lastPaymentDate"] = $lastPayment->created_at;
|
|
|
+ }else{
|
|
|
+ $reimbursement["lastPayment"] = '--';
|
|
|
+ $reimbursement["lastPaymentDate"] = '--';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return view('app/dashboard', compact('keyNumbers','reimbursement'));
|
|
|
}
|
|
|
|
|
|
public function patients(Request $request)
|