Răsfoiți Sursa

MCP patients -> sort columns

Samson Mutunga 3 ani în urmă
părinte
comite
cf99193db8

+ 5 - 0
app/Http/Controllers/McpController.php

@@ -130,6 +130,11 @@ class McpController extends Controller
             $patients = $patients->where('chart_number', 'ILIKE' , '%'.$request->input('chart_number').'%');
         }
 
+        $sortBy = $request->input('sort_by') ?: 'name_first';
+        $sortDir = $request->input('sort_dir') ?: 'ASC';
+
+        $patients = $patients->orderByRaw("$sortBy $sortDir NULLS LAST");
+
         $patients = $patients->orderBy('created_at', 'DESC')->paginate(50);
         return view('app.mcp.patients', compact('patients', 'filters'));
     }

+ 10 - 10
resources/views/app/mcp/patients-table.blade.php

@@ -3,21 +3,21 @@
 		<thead class="bg-light">
 			<tr>
 				<th class="border-0">#</th>
-				<th class="border-0">Name</th>
-				<th class="border-0">DOB</th>
-				<th class="border-0">Age</th>
-				<th class="border-0">Sex</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Name', 'key' => 'name_first'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'DOB', 'key' => 'dob'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Age', 'key' => 'age_in_years'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Sex', 'key' => 'sex'])</th>
 				<th class="border-0">Insurance</th>
-				<th class="border-0">Last Visit</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
 				<th class="border-0">Next Appt.</th>
 				<th class="border-0">Status</th>
 
 				<th class="border-0">BP</th>
-				<th class="border-0"> <i class="fa fa-heartbeat"></i> </th>
-				<th class="border-0">Pulse</th>
-				<th class="border-0">BP/Pulse Timestamp</th>
-				<th class="border-0">Weight</th>
-				<th class="border-0">Weight Timestamp</th>
+				<th class="border-0"> <i class="fa fa-heartbeat"></i> @include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => '', 'key' => 'most_recent_cellular_bp_value_irregular'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Pulse', 'key' => 'most_recent_cellular_bp_value_pulse'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'BP/Pulse Timestamp', 'key' => 'most_recent_cellular_bp_measurement_at'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Weight', 'key' => 'most_recent_cellular_weight_value'])</th>
+				<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("mcp.patients"), 'label' => 'Weight Timestamp', 'key' => 'most_recent_cellular_weight_measurement_at'])</th>
 
 				{{-- <th>Scale <i class="fa fa-battery"></i></th>--}}
 				{{-- <th class="border-0">RPM</th>--}}