Browse Source

MCp dashboard - unsigned incoming reports

Vijayakrishnan 3 years ago
parent
commit
b6e06c17a7

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

@@ -424,6 +424,15 @@ class McpController extends Controller
         ];
         return view('app.mcp.supply_orders_awaiting_shipment', $data);
     }
+    public function unsigned_incoming_reports(Request $request){
+        $data = [
+            'records' => IncomingReport::where('hcp_pro_id', $this->performer->pro->id)
+                ->whereRaw('(has_hcp_pro_signed IS NULL OR has_hcp_pro_signed = FALSE)')
+                ->orderBy('created_at', 'desc')
+                ->get()
+        ];
+        return view('app.mcp.unsigned_incoming_reports', $data);
+    }
     public function measurements_pending_stamping(Request $request){
         $data = [
             'records' => CareMonth::where('mcp_pro_id', $this->performer->pro->id)

+ 6 - 0
app/Models/Pro.php

@@ -623,6 +623,12 @@ WHERE mcp_pro_id = :pro_id
             ->count();
     }
 
+    function get_unsigned_incoming_reports_count_as_mcp() {
+        return IncomingReport::where('hcp_pro_id', $this->id)
+            ->whereRaw('(has_hcp_pro_signed IS NULL OR has_hcp_pro_signed = FALSE)')
+            ->count();
+    }
+
     function get_birthdays_today_as_mcp(){
         return;
         $queryClients = $this->performer()->pro->getAccessibleClientsQuery();

+ 12 - 0
resources/views/app/dashboard-mcp.blade.php

@@ -223,6 +223,18 @@
                                         </a>
                                     </th>
                                 </tr>
+                                <tr>
+                                    <th class="px-2 text-center">{{$pro->get_unsigned_incoming_reports_count_as_mcp()}}</th>
+                                    <th class="pl-2">
+                                        <a href="{{ route('mcp.unsigned_incoming_reports') }}"
+                                           native target="_blank"
+                                           open-in-stag-popup
+                                           popup-style="tall"
+                                           title="Unsigned Incoming Reports">
+                                            Unsigned Incoming Reports
+                                        </a>
+                                    </th>
+                                </tr>
                                 </tbody>
                             </table>
                         </div>

+ 78 - 0
resources/views/app/mcp/unsigned_incoming_reports.blade.php

@@ -0,0 +1,78 @@
+<div class="p-3 mcp-theme-1">
+    <div class="card">
+
+        <div class="card-header px-2 py-1 hide-inside-popup border-bottom-0">
+            <strong class="mr-4">
+                <i class="fas fa-box"></i>
+                Unsigned Incoming Reports
+            </strong>
+        </div>
+
+        <div class="card-body p-0 border-top-0 pb-0">
+
+            <table class="table table-sm table-striped mb-0">
+                <thead class="bg-light">
+                <tr>
+                    <th class="border-0 text-secondary">Created</th>
+                    <th class="border-0 text-secondary">Patient</th>
+                    <th class="border-0 text-secondary">Title</th>
+                    <th class="border-0 text-secondary">Report Date</th>
+                    <th class="border-0 text-secondary">Sign</th>
+                    <th class="border-0 text-secondary">Category</th>
+                </tr>
+                </thead>
+                <tbody>
+                @foreach($records as $document)
+                    <tr class="{{$document->is_entry_error ? 'entry-error' : ''}} {{@$currentReport->uid === $document->uid ? 'bg-aliceblue' : ''}}">
+                        <td>
+                            {{ friendly_date_time($document->created_at, false) }}
+                            @if(request()->input('noteUid') && $document->note && $document->note->uid === request()->input('noteUid'))
+                                <div class="mt-1 text-info text-sm">Created on this note</div>
+                            @endif
+                        </td>
+                        <td>
+                            <a href="{{route('patients.view.dashboard', ['patient' => $document->client])}}">
+                                {{$document->client->displayName()}}
+                            </a>
+                        </td>
+                        <td>
+                            <a open-in-stag-popup
+                               popup-style="stag-popup-md overflow-visible"
+                               mc-initer="incoming-reports"
+                               title="Incoming Report: {{ $document->title ? $document->title : '(not set)' }}"
+                               href="{{route('patients.view.incoming-reports', ['patient' => $document->client, 'currentReport' => $document])}}?noteUid={{request()->input('noteUid') ?: ''}}&documentViewFromNote=1"
+                               class="{{@$currentReport->uid === $document->uid ? 'font-weight-bold' : ''}}">
+                                {{ $document->title ? $document->title : '(not set)' }}
+                            </a>
+                        </td>
+                        <td>{{ friendly_date_time($document->report_date, false) }}</td>
+                        <td>
+                            @if(!$document->has_hcp_pro_signed)
+                                -
+                            @else
+                                <div class="text-success mb-1">
+                                    <i class="fa fa-check"></i>
+                                    Signed
+                                </div>
+                                @if($document->hcp)
+                                    <div class="text-secondary">
+                                        <div class="text-sm font-weight-bold">{{$document->hcp->displayName()}}</div>
+                                        <div class="text-sm">{{friendlier_date_time($document->hcp_pro_signed_at)}}</div>
+                                    </div>
+                                @endif
+                            @endif
+                        </td>
+                        <td>{{ $document->category }}{{ $document->subcategory ? ' / ' . $document->subcategory : '' }}</td>
+                    </tr>
+                @endforeach
+                @if(!count($records))
+                    <tr>
+                        <td colspan="6">No records found.</td>
+                    </tr>
+                @endif
+                </tbody>
+            </table>
+
+        </div>
+    </div>
+</div>

+ 1 - 0
routes/web.php

@@ -104,6 +104,7 @@ Route::middleware('pro.auth')->group(function () {
         Route::get('erx-and-orders-pending-signature', 'McpController@erx_and_orders_pending_signature')->name('erx_and_orders_pending_signature');
         Route::get('supply-orders-pending-signature', 'McpController@supply_orders_pending_signature')->name('supply_orders_pending_signature');
         Route::get('supply-orders-awaiting-shipment', 'McpController@supply_orders_awaiting_shipment')->name('supply_orders_awaiting_shipment');
+        Route::get('unsigned-incoming-reports', 'McpController@unsigned_incoming_reports')->name('unsigned_incoming_reports');
 
         Route::get('measurements-pending-stamping', 'McpController@measurements_pending_stamping')->name('measurements_pending_stamping');
         Route::get('measurements-pending-stamping-in-care-month', 'McpController@measurements_pending_stamping_in_care_month')->name('measurements_pending_stamping_in_care_month');