Parcourir la source

MCP DB stat + matrix for meas. pending stamp

Vijayakrishnan il y a 3 ans
Parent
commit
de1df95865

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

@@ -265,5 +265,15 @@ class McpController extends Controller
         ];
         return view('app.mcp.supply_orders_pending_signature', $data);
     }
+    public function measurements_pending_stamping(Request $request){
+        $data = [
+            'records' => CareMonth::where('mcp_pro_id', $this->performer->pro->id)
+                ->where('rm_num_measurements_not_stamped_by_mcp', '>', 0)
+                ->whereNotNull('rm_num_measurements_not_stamped_by_mcp')
+                ->orderBy('created_at', 'DESC')
+                ->get()
+        ];
+        return view('app.mcp.measurements_pending_stamping', $data);
+    }
 
 }

+ 8 - 1
app/Models/Pro.php

@@ -399,7 +399,14 @@ WHERE
     }
 
     function get_measurements_awaiting_review_count_as_mcp() {
-        return;
+        $result = DB::select(DB::raw("
+SELECT SUM(rm_num_measurements_not_stamped_by_mcp) AS count
+FROM care_month
+WHERE mcp_pro_id = :pro_id
+  AND rm_num_measurements_not_stamped_by_mcp IS NOT NULL
+  AND rm_num_measurements_not_stamped_by_mcp > 0;
+        "), ["pro_id" => $this->id]);
+        if($result) return $result[0]->count;
     }
 
     function get_incoming_reports_pending_signature_count_as_mcp() {

+ 3 - 0
public/css/style.css

@@ -1920,6 +1920,9 @@ form.non-interactive .form-content * {
 table.dashboard-stats-table th {
     padding: 0.5rem 0.75rem
 }
+.min-height-300px {
+    min-height: 300px;
+}
 .min-height-500px {
     min-height: 500px;
 }

+ 10 - 1
resources/views/app/dashboard-mcp.blade.php

@@ -188,7 +188,16 @@
                                 <tbody>
                                 <tr class="thin">
                                     <th class="px-2 text-center">{{$pro->get_measurements_awaiting_review_count_as_mcp() ?? '-'}}</th>
-                                    <th class="pl-2">Measurements Pending Review</th>
+                                    <th class="pl-2">
+                                        <a href="{{ route('mcp.measurements_pending_stamping') }}"
+                                           native target="_blank"
+                                           open-in-stag-popup
+                                           update-parent
+                                           popup-style="tall"
+                                           title="Measurements Pending Stamping">
+                                            Measurements Pending Stamping
+                                        </a>
+                                    </th>
                                 </tr>
                                 <tr class="thin">
                                     <th class="px-2 text-center">{{$pro->get_patients_without_remote_measurement_in_48_hours_count_as_mcp() ?? '-'}}</th>

+ 50 - 0
resources/views/app/mcp/measurements_pending_stamping.blade.php

@@ -0,0 +1,50 @@
+<div class="p-3 mcp-theme-1">
+    <div class="card">
+
+        <div class="card-header px-3 py-2 d-flex align-items-center border-bottom-0 hide-inside-popup">
+            <strong class="mr-4">
+                <i class="fas fa-user-injured"></i>
+                Measurements Pending Stamping
+            </strong>
+        </div>
+
+        <div class="card-body p-0 border-top-0 pb-0">
+
+
+            <table class="table table-sm table-striped mb-0">
+                <thead>
+                <tr>
+                    <th class="border-bottom-0 border-top-0 text-secondary">Patient</th>
+                    <th class="border-bottom-0 border-top-0 text-secondary">Care Month</th>
+                    <th class="border-bottom-0 border-top-0 text-secondary">Measurements Pending Stamping</th>
+                </tr>
+                </thead>
+                <tbody>
+                @foreach($records as $row)
+                    <tr>
+                        <td>
+                            <b>{{$row->patient->displayName()}}</b>
+                        </td>
+                        <td>
+                            <a native target="_blank"
+                               open-in-stag-popup
+                               update-parent
+                               mc-initer="cm-matrix-{{$row->patient->id}}"
+                               title="Care Month Matrix: {{date('M Y', strtotime($row->start_date))}}"
+                               href="/patient-care-month-matrix/{{$row->uid}}">
+                                <b>{{ friendly_month($row->start_date) }}</b>
+                            </a>
+                        </td>
+                        <td>
+                            {{ $row->rm_num_measurements_not_stamped_by_mcp }}
+                        </td>
+                    </tr>
+                @endforeach
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
+
+
+

+ 13 - 2
resources/views/app/patient/care-month/_matrix.blade.php

@@ -298,6 +298,7 @@ foreach ($days as $k => $day) {
 <div class="my-3 border p-3 d-none cm-tab" tab-key="bp-summary">
     @include('app.patient.vitals-settings.bp-management-summary')
 </div>
+    <div class="min-height-300px"></div>
 </div>
 <script>
     (function() {
@@ -337,7 +338,12 @@ foreach ($days as $k => $day) {
                         dataType:"json",
                         success: function(_data) {
                             if(!hasResponseError(_data)) {
-                                fastReload();
+                                if(form.closest('.stag-popup').length) {
+                                    refreshDynamicStagPopup();
+                                }
+                                else {
+                                    fastReload();
+                                }
                             }
                         }
                     }).then(() => {
@@ -381,7 +387,12 @@ foreach ($days as $k => $day) {
                         dataType:"json",
                         success: function(_data) {
                             if(!hasResponseError(_data)) {
-                                fastReload();
+                                if(form.closest('.stag-popup').length) {
+                                    refreshDynamicStagPopup();
+                                }
+                                else {
+                                    fastReload();
+                                }
                             }
                         }
                     }).then(() => {

+ 3 - 3
resources/views/app/patient/care-month/dashboard.blade.php

@@ -87,7 +87,7 @@
         </div>
     @else
 
-    <div id="care-month-container">
+    <div id="care-month-container-{{$patient->uid}}">
         <div class="pt-2 d-flex align-items-start">
             <h6 class="my-0 text-secondary d-flex align-items-start">
                 <a href="/patients/view/{{ $patient->uid }}/care-months" class="small text-decoration-none mr-3">
@@ -2272,7 +2272,7 @@
     <script>
         (function() {
             function init() {
-                $('#care-month-container [cm-rte]').each(function() {
+                $('#care-month-container-{{$patient->uid}} [cm-rte]').each(function() {
 
                     $(this).wrap(
                         $('<div class="border-left border-right rte-holder"/>')
@@ -2349,7 +2349,7 @@
                 @endif
             }
 
-            addMCInitializer('care-month-dashboard', init, '#care-month-container');
+            addMCInitializer('care-month-dashboard-{{$patient->uid}}', init, '#care-month-container-{{$patient->uid}}');
 
         }).call(window);
     </script>

+ 1 - 1
resources/views/app/practice-management/process-claims.blade.php

@@ -228,7 +228,7 @@
                                             <a native target="_blank"
                                                class="screen-only"
                                                open-in-stag-popup
-                                               mc-initer="care-month-dashboard"
+                                               :mc-initer="'care-month-dashboard-' + claim.client_uid"
                                                title="Care Month"
                                                :href="'/patients/view/' + claim.client_uid + '/care-months/view/' + claim.care_month_uid">
                                                 View Care Month

+ 2 - 0
routes/web.php

@@ -96,6 +96,8 @@ 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('measurements-pending-stamping', 'McpController@measurements_pending_stamping')->name('measurements_pending_stamping');
+
     });
 
     Route::name('dna.')->prefix('n')->group(function () {