Browse Source

Patients list - new filter "program-onboarding-pending"

Vijayakrishnan 4 years ago
parent
commit
c4508111da
2 changed files with 12 additions and 1 deletions
  1. 11 1
      app/Http/Controllers/HomeController.php
  2. 1 0
      resources/views/app/patients.blade.php

+ 11 - 1
app/Http/Controllers/HomeController.php

@@ -327,11 +327,21 @@ class HomeController extends Controller
                     ->orWhereRaw('id IN (SELECT client_id FROM appointment WHERE pro_id = ?)', [$proID]);
                     ->orWhereRaw('id IN (SELECT client_id FROM appointment WHERE pro_id = ?)', [$proID]);
             });
             });
         }
         }
+
         switch ($filter) {
         switch ($filter) {
             case 'not-yet-seen':
             case 'not-yet-seen':
                 $query = $query->where('has_mcp_done_onboarding_visit', '<>', 'YES');
                 $query = $query->where('has_mcp_done_onboarding_visit', '<>', 'YES');
                 break;
                 break;
 
 
+            case 'program-onboarding-pending':
+                $query = $query->where(function ($_query) {
+                    $_query->select(DB::raw('COUNT(id)'))
+                        ->from('client_program')
+                        ->whereColumn('client_id', 'client.id')
+                        ->where('has_mcp_done_onboarding_visit', '!=', 'YES');
+                }, '>=', 1);
+                break;
+
                 // more cases can be added as needed
                 // more cases can be added as needed
             default:
             default:
                 break;
                 break;
@@ -350,7 +360,7 @@ class HomeController extends Controller
             $q->where('name_first', 'ILIKE', '%' . $term . '%')
             $q->where('name_first', 'ILIKE', '%' . $term . '%')
                 ->orWhere('name_last', 'ILIKE', '%' . $term . '%');
                 ->orWhere('name_last', 'ILIKE', '%' . $term . '%');
         });
         });
-        
+
         if($pro->pro_type != 'ADMIN'){
         if($pro->pro_type != 'ADMIN'){
             $clientQuery->whereIn('id', $pro->getMyClientIds());
             $clientQuery->whereIn('id', $pro->getMyClientIds());
         }
         }

+ 1 - 0
resources/views/app/patients.blade.php

@@ -13,6 +13,7 @@
             <select class="ml-auto max-width-300px form-control form-control-sm" onchange="fastLoad('/patients/' + this.value, true, false, false)">
             <select class="ml-auto max-width-300px form-control form-control-sm" onchange="fastLoad('/patients/' + this.value, true, false, false)">
                 <option value="" {{ $filter === '' ? 'selected' : '' }}>All patients</option>
                 <option value="" {{ $filter === '' ? 'selected' : '' }}>All patients</option>
                 <option value="not-yet-seen" {{ $filter === 'not-yet-seen' ? 'selected' : '' }}>Patients I have not seen yet</option>
                 <option value="not-yet-seen" {{ $filter === 'not-yet-seen' ? 'selected' : '' }}>Patients I have not seen yet</option>
+                <option value="program-onboarding-pending" {{ $filter === 'program-onboarding-pending' ? 'selected' : '' }}>Patients pending program onboarding</option>
             </select>
             </select>
         </div>
         </div>
         <div class="card-body p-0">
         <div class="card-body p-0">