Vijayakrishnan 3 жил өмнө
parent
commit
621fce7ef7

+ 24 - 0
app/Http/Controllers/PracticeManagementController.php

@@ -1654,6 +1654,23 @@ WHERE
             }
         }
 
+        // default sort
+        if(!$request->input('sort_by')) {
+            $orderBy = "ORDER BY care_month.number_of_days_with_remote_measurements DESC NULLS LAST, care_month.rm_total_time_in_seconds_by_mcp DESC NULLS LAST, care_month.rm_total_time_in_seconds_by_rmm_pro DESC NULLS LAST";
+        }
+        else {
+            $sortBy = $request->input('sort_by');
+            $sortDir = $request->input('sort_dir');
+            if($sortBy && $sortDir) {
+                if(!in_array($sortBy, ['number_of_days_with_remote_measurements', 'rm_total_time_in_seconds_by_mcp', 'rm_total_time_in_seconds_by_rmm_pro'])) {
+                    $orderBy = "ORDER BY $sortBy $sortDir NULLS LAST, care_month.number_of_days_with_remote_measurements DESC NULLS LAST, care_month.rm_total_time_in_seconds_by_mcp DESC NULLS LAST, care_month.rm_total_time_in_seconds_by_rmm_pro DESC NULLS LAST";
+                }
+                else {
+                    $orderBy = "ORDER BY $sortBy $sortDir NULLS LAST";
+                }
+            }
+        }
+
         // filters from the UI
         if(trim($request->input('f_name'))) {
             $v = trim($request->input('f_name'));
@@ -1742,6 +1759,13 @@ WHERE
             $conditions[] = "(care_month.rm_total_time_in_seconds_by_rmm_pro {$o} {$v})";
         }
 
+        if($request->input('not-enrolled')) {
+            $conditions[] = "(client.is_enrolled_in_rm != 'YES')";
+        }
+        else {
+            $conditions[] = "(client.is_enrolled_in_rm = 'YES')";
+        }
+
         $genericBillIdColumns = "care_month.mcp_rm_generic_bill_id,
                    mcpBill.uid as mcp_rm_generic_bill_uid,
                    mcpBill.generic_pro_id as mcp_rm_generic_bill_generic_pro_id,

+ 7 - 15
resources/views/app/practice-management/remote-monitoring-row-markup-for-admin.blade.php

@@ -12,7 +12,7 @@
     </td>
 
     <td>{{friendly_date($iPatient->dob)}}</td>
-    <td>{!! $iPatient->is_enrolled_in_rm === 'YES' ? '<i class="fa fa-check text-success"></i>' : 'No' !!}</td>
+    {{--<td>{!! $iPatient->is_enrolled_in_rm === 'YES' ? '<i class="fa fa-check text-success"></i>' : 'No' !!}</td>--}}
     <td>{!! $iPatient->is_assigned_cellular_bp_device ? '<i class="fa fa-check text-success"></i>' : 'No' !!}</td>
     <td>{!! $iPatient->is_assigned_cellular_weight_scale_device ? '<i class="fa fa-check text-success"></i>' : 'No' !!}</td>
     <td>
@@ -80,34 +80,26 @@
     </td>
 
     <td>
-        @if($iPatient->mcp_rm_generic_bill_id)
+        @if($lastVisitWithin90Days && $iPatient->has_mcp_interacted_with_client_about_rm && $iPatient->number_of_days_with_remote_measurements >= 16 && $iPatient->rm_total_time_in_seconds_by_mcp >= 1200)
             <span class="text-success font-weight-bold">
                 <i class="fa fa-check"></i>
-                Yes
+                ${{friendly_money($pro->mcp_rpm_payment_amount, 0)}}
             </span>
-            (${{friendly_money($iPatient->mcp_rm_generic_bill_expected_payment_amount)}})
-            @if($iPatient->mcp_rm_generic_bill_signed)
-                <span class="text-success">Signed</span>
-            @endif
         @else
             <span class="text-danger font-weight-normal">
-                Not yet
+                No
             </span>
         @endif
     </td>
     <td>
-        @if($iPatient->rmm_rm_generic_bill_id)
+        @if($lastVisitWithin90Days && $iPatient->has_mcp_interacted_with_client_about_rm && $iPatient->number_of_days_with_remote_measurements >= 16 && $iPatient->rm_total_time_in_seconds_by_rmm_pro >= 1200)
             <span class="text-success font-weight-bold">
                 <i class="fa fa-check"></i>
-                Yes
+                ${{friendly_money($pro->rmm_payment_amount, 0)}}
             </span>
-            (${{friendly_money($iPatient->rmm_rm_generic_bill_expected_payment_amount)}})
-            @if($iPatient->rmm_rm_generic_bill_signed)
-                <span class="text-success">Signed</span>
-            @endif
         @else
             <span class="text-danger font-weight-normal">
-                Not yet
+                No
             </span>
         @endif
     </td>

+ 65 - 0
resources/views/app/practice-management/rpm-matrix-for-admin-table.blade.php

@@ -0,0 +1,65 @@
+<div class="d-flex align-items-stretch m-0 h-100">
+    <div class="flex-grow-1 px-0 overflow-auto h-100 rpm-matrix-right-column">
+        <?php $trIndex = 0; ?>
+        @foreach ($patients as $iPatient)
+            <script>
+                addMCHook(
+                    'refresh-rpm-row-{{$trIndex}}',
+                    function () {
+                        refreshRpmRow({{$trIndex}});
+                    }
+                );
+            </script>
+            <?php $trIndex++; ?>
+        @endforeach
+        <table class="table table-sm table-striped table-hover p-0 m-0 min-width-1100px" id="table-rm-matrix">
+            <thead class="bg-light">
+            <tr>
+
+                <th class="border-0 pl-2">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Name', 'key' => 'client_name'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'DOB', 'key' => 'dob'])</th>
+                {{--<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'RPM?', 'key' => 'is_enrolled_in_rm'])</th>--}}
+                <th class="border-0 text-secondary">BP?</th>
+                <th class="border-0 text-secondary">Scale?</th>
+                <th class="border-0 text-secondary">Latest BP</th>
+                <th class="border-0 text-secondary">Latest Wt</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Days Since Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Comm?', 'key' => 'has_mcp_interacted_with_client_about_rm'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#Meas. Days', 'key' => 'number_of_days_with_remote_measurements'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#MCP Unst.', 'key' => 'rm_num_measurements_not_stamped_by_mcp'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#RMM Unst.', 'key' => 'rm_num_measurements_not_stamped_by_rmm'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#MCP Mins.', 'key' => 'rm_total_time_in_seconds_by_mcp'])</th>
+                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#RMM Mins.', 'key' => 'rm_total_time_in_seconds_by_rmm_pro'])</th>
+                @if(!request()->input('f_mcp_billable') || request()->input('f_mcp_billable') === 'all')
+                    <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'MCP Bill', 'key' => 'mcp_rm_generic_bill_id'])</th>
+                @else
+                    <th class="border-0 text-secondary">MCP Bill</th>
+                @endif
+                @if(!request()->input('f_rmm_billable') || request()->input('f_rmm_billable') === 'all')
+                    <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'RMM Bill', 'key' => 'rmm_rm_generic_bill_id'])</th>
+                @else
+                    <th class="border-0 text-secondary">RMM Bill</th>
+                @endif
+            </tr>
+            </thead>
+            <tbody>
+            <?php $trIndex = 0; ?>
+            @foreach ($patients as $iPatient)
+                <?php
+
+                $daysDiff = -1;
+                if ($iPatient->most_recent_completed_mcp_note_date) {
+                    $careMonthLastDay = date_add(date_create($rcmStartDate), date_interval_create_from_date_string("1 month"));
+                    $careMonthLastDay = date_sub($careMonthLastDay, date_interval_create_from_date_string("1 day"));
+                    $daysDiff = date_diff($careMonthLastDay, date_create($iPatient->most_recent_completed_mcp_note_date))->days;
+                }
+                $lastVisitWithin90Days = ($daysDiff !== -1 && $daysDiff <= 90);
+
+                ?>
+                @include('app.practice-management.remote-monitoring-row-markup-for-admin')
+                <?php $trIndex++; ?>
+            @endforeach
+            </tbody>
+        </table>
+    </div>
+</div>

+ 20 - 65
resources/views/app/practice-management/rpm-matrix-for-admin.blade.php

@@ -21,12 +21,12 @@
             padding: 0.5rem;
         }
     </style>
-    <div class="p-3 mcp-theme-1 body-height" id="practice-remote-monitoring" v-cloak>
+    <div class="p-3 mcp-theme-1" id="practice-remote-monitoring" v-cloak>
 
         <div class="card h-100">
 
             <div class="card-header px-2 py-2 d-flex align-items-baseline">
-                <form class="d-block w-100" action="" method="GET">
+                <form class="d-block w-100" action="" method="GET" id="rpm-matrix-filter">
 
                     <div class="d-flex align-items-end">
                         <span class="mr-4">
@@ -204,6 +204,7 @@
                             </div>
                         </div>
 
+                        {{--
                         <div>
                             <label class="mb-0 text-sm {{request()->input('f_mcp_billable') && request()->input('f_mcp_billable') !== 'any' ? 'text-info' : 'text-secondary'}}">MCP Billable</label>
                             <select name="f_mcp_billable"
@@ -223,6 +224,7 @@
                                 <option {{request()->input('f_rmm_billable') === 'no' ? 'selected' : ''}} value="no">No</option>
                             </select>
                         </div>
+                        --}}
 
                         <div>
                             <label class="mb-0 text-sm text-secondary">&nbsp;</label>
@@ -233,77 +235,30 @@
                         </div>
                     </div>
 
+                    <input type="hidden" name="not-enrolled" value="{{request()->input('not-enrolled')}}">
+
                 </form>
             </div>
 
             <?php $rc = request()->input('rc') ? request()->input('rc') : 1; ?>
 
             <div class="card-body p-0">
-                <div class="d-flex align-items-stretch m-0 h-100">
-                    <div class="flex-grow-1 px-0 overflow-auto h-100 rpm-matrix-right-column">
-                        <?php $trIndex = 0; ?>
-                        @foreach ($patients as $iPatient)
-                            <script>
-                                addMCHook(
-                                    'refresh-rpm-row-{{$trIndex}}',
-                                    function () {
-                                        refreshRpmRow({{$trIndex}});
-                                    }
-                                );
-                            </script>
-                            <?php $trIndex++; ?>
-                        @endforeach
-                        <table class="table table-sm table-striped table-hover p-0 m-0 min-width-1100px" id="table-rm-matrix">
-                            <thead class="bg-light">
-                            <tr>
-
-                                <th class="border-0 pl-2">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Name', 'key' => 'client_name'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'DOB', 'key' => 'dob'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'RPM?', 'key' => 'is_enrolled_in_rm'])</th>
-                                <th class="border-0 text-secondary">Cell. BP?</th>
-                                <th class="border-0 text-secondary">Cell. Scale?</th>
-                                <th class="border-0 text-secondary">Latest BP</th>
-                                <th class="border-0 text-secondary">Latest Wt</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Days Since Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'Comm?', 'key' => 'has_mcp_interacted_with_client_about_rm'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#Meas. Days', 'key' => 'number_of_days_with_remote_measurements'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#MCP Unst.', 'key' => 'rm_num_measurements_not_stamped_by_mcp'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#RMM Unst.', 'key' => 'rm_num_measurements_not_stamped_by_rmm'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#MCP Mins.', 'key' => 'rm_total_time_in_seconds_by_mcp'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => '#RMM Mins.', 'key' => 'rm_total_time_in_seconds_by_rmm_pro'])</th>
-                                @if(!request()->input('f_mcp_billable') || request()->input('f_mcp_billable') === 'all')
-                                    <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'MCP Bill', 'key' => 'mcp_rm_generic_bill_id'])</th>
-                                @else
-                                    <th class="border-0 text-secondary">MCP Bill</th>
-                                @endif
-                                @if(!request()->input('f_rmm_billable') || request()->input('f_rmm_billable') === 'all')
-                                    <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.rpm-matrix-admin"), 'label' => 'RMM Bill', 'key' => 'rmm_rm_generic_bill_id'])</th>
-                                @else
-                                    <th class="border-0 text-secondary">RMM Bill</th>
-                                @endif
-                            </tr>
-                            </thead>
-                            <tbody>
-                            <?php $trIndex = 0; ?>
-                            @foreach ($patients as $iPatient)
-                                <?php
-
-                                $daysDiff = -1;
-                                if ($iPatient->most_recent_completed_mcp_note_date) {
-                                    $careMonthLastDay = date_add(date_create($rcmStartDate), date_interval_create_from_date_string("1 month"));
-                                    $careMonthLastDay = date_sub($careMonthLastDay, date_interval_create_from_date_string("1 day"));
-                                    $daysDiff = date_diff($careMonthLastDay, date_create($iPatient->most_recent_completed_mcp_note_date))->days;
-                                }
-                                $lastVisitWithin90Days = ($daysDiff !== -1 && $daysDiff <= 90);
-
-                                ?>
-                                @include('app.practice-management.remote-monitoring-row-markup-for-admin')
-                                <?php $trIndex++; ?>
-                            @endforeach
-                            </tbody>
-                        </table>
+                <div>
+                    <div class="d-flex align-items-baseline p-2 border-bottom" tab-links="">
+                        <a class="{{ !request()->input('not-enrolled') ? 'tab-link-active' : '' }} text-dark c-pointer"
+                           onclick="$('[name=not-enrolled]').val(''); return fastLoad('{{route('practice-management.rpm-matrix-admin')}}?' + $('#rpm-matrix-filter').serialize());"
+                           tab-link="rpm">Enrolled in RPM</a>
+                        <a class="{{ request()->input('not-enrolled') ? 'tab-link-active' : '' }} text-dark c-pointer"
+                           onclick="$('[name=not-enrolled]').val('1'); return fastLoad('{{route('practice-management.rpm-matrix-admin')}}?' + $('#rpm-matrix-filter').serialize());"
+                           tab-link="no-rpm">Not Enrolled in RPM</a>
                     </div>
                 </div>
+                <div class="cm-tab {{!request()->input('not-enrolled') ? '' : 'd-none'}}" tab-key="rpm">
+                    @include('app.practice-management.rpm-matrix-for-admin-table')
+                </div>
+                <div class="cm-tab {{request()->input('not-enrolled') ? '' : 'd-none'}}" tab-key="no-rpm">
+                    @include('app.practice-management.rpm-matrix-for-admin-table')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
resources/views/layouts/template.blade.php

@@ -187,7 +187,7 @@
                             <a class="dropdown-item" href="{{ route('practice-management.coverages') }}">Coverage Center</a>
                             <a class="dropdown-item" href="{{ route('practice-management.notes-resolution-center') }}">Notes Resolution Center</a>
                             <a class="dropdown-item" href="{{ route('practice-management.notes-resolution-center-v2') }}">Notes Resolution Center V2</a>
-                            <a class="dropdown-item" href="{{ route('practice-management.remote-monitoring-admin') }}">Remote Monitoring (admin)</a>
+                            <a class="dropdown-item" href="{{ route('practice-management.rpm-matrix-admin') }}">RPM (Admin)</a>
                             <a class="dropdown-item" href="{{ route('practice-management.daily-treatment-services') }}">Daily Treatment Services</a>
 
                             <a class="dropdown-item" href="{{ route('practice-management.client-pro-changes') }}">Client Pro Changes</a>