Vijayakrishnan před 3 roky
rodič
revize
b969517099

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

@@ -423,6 +423,13 @@ class McpController extends Controller
         ];
         return view('app.mcp.measurements_pending_stamping', $data);
     }
+
+    public function measurements_pending_stamping_in_care_month(Request $request) {
+        $patient = Client::where('uid', $request->input('patientUid'))->first();
+        $careMonth = CareMonth::where('uid', $request->input('careMonthUid'))->first();
+        return view('app.mcp.measurements_pending_stamping_in_care_month', compact('patient', 'careMonth'));
+    }
+
     public function measurements_mass_stamping(Request $request){
         $careMonthsWithMeasurementsPendingStamping = CareMonth::select('id')
             ->where('mcp_pro_id', $this->performer->pro->id)

+ 21 - 0
resources/views/app/mcp/measurements_pending_stamping_in_care_month.blade.php

@@ -0,0 +1,21 @@
+<div class="px-3 pt-3 mcp-theme-1">
+    <div class="card border-0">
+
+        <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"></i>
+                Measurements Pending Stamping
+            </strong>
+        </div>
+
+        <div class="card-body p-0 border-0">
+
+            @include('app.patient.care-month._matrix', ['onlyMatrix' => true])
+
+        </div>
+    </div>
+
+</div>
+
+
+

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

@@ -29,12 +29,14 @@ foreach ($days as $k => $day) {
 ?>
 
 <div id="cm-matrix-{{$patient->id}}">
-<div class="d-flex align-items-baseline" tab-links>
+@if(!@$onlyMatrix)
+<div class="d-flex align-items-baseline mb-3" tab-links>
     <a class="tab-link-active" href="#" tab-link="matrix">Care Month Matrix</a>
     <a class="" href="#" tab-link="bmi-summary">BMI/Weight Management Settings</a>
     <a class="" href="#" tab-link="bp-summary">BP Management Settings</a>
 </div>
-<table class="table table-condensed table-sm table-bordered my-3 cm-tab" tab-key="matrix">
+@endif
+<table class="table table-condensed table-sm table-bordered mb-3 cm-tab" tab-key="matrix">
     <thead>
     <tr>
         <th class="px-2 text-secondary align-bottom" rowspan="2">Date</th>

+ 9 - 9
resources/views/app/practice-management/remote-monitoring-tree.blade.php

@@ -11,43 +11,43 @@ if(!@$rc) {
         </a>
         <div class="condition-children">
             <div class="condition">
-                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=2"
+                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                         {!! $rc == 2 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many are enrolled in RPM?
                     <span class="rm-count ml-1" data-rc="2">(0)</span>
                 </a>
                 <div class="condition-children">
                     <div class="condition">
-                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=3"
+                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                 {!! $rc == 3 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many given a cellular device?
                             <span class="rm-count ml-1" data-rc="3">(0)</span>
                         </a>
                         <div class="condition-children">
                             <div class="condition">
-                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=4"
+                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                         {!! $rc == 4 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many have I seen w/in 90 days?
                                     <span class="rm-count ml-1" data-rc="4">(0)</span>
                                 </a>
                                 <div class="condition-children">
                                     <div class="condition">
-                                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=5"
+                                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                                 {!! $rc == 5 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many have I spoken to this month?
                                             <span class="rm-count ml-1" data-rc="5">(0)</span>
                                         </a>
                                         <div class="condition-children">
                                             <div class="condition">
-                                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=6"
+                                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                                         {!! $rc == 6 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many with no unstamped meas.?
                                                     <span class="rm-count ml-1" data-rc="6">(0)</span>
                                                 </a>
                                             </div>
                                             <div class="condition">
-                                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=7"
+                                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                                         {!! $rc == 7 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many with 16 or more meas. days?
                                                     <span class="rm-count ml-1" data-rc="7">(0)</span>
                                                 </a>
                                                 <div class="condition-children">
                                                     <div class="condition">
-                                                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=10"
+                                                        <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                                                 {!! $rc == 10 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many with 20 or more billing mins.?
                                                             <span class="rm-count ml-1" data-rc="10">(0)</span>
                                                         </a>
@@ -59,13 +59,13 @@ if(!@$rc) {
                                 </div>
                             </div>
                             <div class="condition">
-                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=8"
+                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                         {!! $rc == 8 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>Home many have subscribed to SMS?
                                     <span class="rm-count ml-1" data-rc="8">(0)</span>
                                 </a>
                             </div>
                             <div class="condition">
-                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=9"
+                                <a href="{{route('practice-management.remote-monitoring')}}?m={{request()->input('m')}}&y={{request()->input('y')}}&rc=1"
                                         {!! $rc == 9 ? 'class="bg-aliceblue font-weight-bold"' : ''!!}>How many have used the device?
                                     <span class="rm-count ml-1" data-rc="9">(0)</span>
                                 </a>

+ 76 - 13
resources/views/app/practice-management/remote-monitoring.blade.php

@@ -13,8 +13,11 @@
                     <b class="font-size-14">{{friendly_month(date((request()->input('y') ?: 'Y') . '-' . (request()->input('m') ?: 'm') . '-d'))}}</b>
                 </span>
                 <?php
-                $m = request()->input('m') ? +(request()->input('m')) : +(date('m'));
-                $y = request()->input('y') ? +(request()->input('y')) : +(date('Y'));
+                $mStr = request()->input('m') ? request()->input('m') : date('m');
+                $yStr = request()->input('y') ? request()->input('y') : date('Y');
+                $rcmStartDate = $yStr . '-' . $mStr . '-' . '01';
+                $m = +$mStr;
+                $y = +$yStr;
                 ?>
                 <form class="ml-auto d-inline-flex flex-nowrap align-items-center" action="" method="GET">
                     <span class="mr-2">Month</span>
@@ -87,21 +90,32 @@
                             <tr>
                                 <th class="border-0 pl-2">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'Name', 'key' => 'client_name'])</th>
                                 <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'DOB', 'key' => 'dob'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'Enrolled in RPM?', 'key' => 'is_enrolled_in_rm'])</th>
+                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'RPM Enrolled?', 'key' => 'is_enrolled_in_rm'])</th>
                                 <th class="border-0">Cellular BP?</th>
                                 <th class="border-0">Cellular Scale?</th>
                                 <th class="border-0">Latest BP</th>
                                 <th class="border-0">Latest Weight</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'Latest Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
+                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
                                 <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => 'Communicated?', 'key' => 'has_anyone_interacted_with_client_about_rm_outside_note'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => '# Unstamped', 'key' => 'rm_num_measurements_not_stamped_by_mcp'])</th>
-                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), '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.remote-monitoring"), 'label' => '# RPM Minutes', 'key' => 'rm_total_time_in_seconds_by_mcp'])</th>
+                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), '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.remote-monitoring"), 'label' => '#Unstamped', 'key' => 'rm_num_measurements_not_stamped_by_mcp'])</th>
+                                <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("practice-management.remote-monitoring"), 'label' => '#RPM Mins.', 'key' => 'rm_total_time_in_seconds_by_mcp'])</th>
                             </tr>
                             </thead>
                             <tbody>
                             @foreach ($patients as $iPatient)
-                                <?php $oPatient = \App\Models\Client::where('uid', $iPatient->client_uid)->first(); ?>
+                                <?php
+                                $oPatient = \App\Models\Client::where('uid', $iPatient->client_uid)->first();
+
+                                $daysDiff = -1;
+                                if($oPatient->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($oPatient->most_recent_completed_mcp_note_date))->days;
+                                }
+                                $lastVisitWithin90Days = ($daysDiff !== -1 && $daysDiff <= 90);
+
+                                ?>
                                 <tr>
                                     <td class="pl-2">
                                         <a href="/patients/view/{{ $iPatient->client_uid }}" class="text-nowrap">{{ $iPatient->client_name }}</a>
@@ -123,12 +137,61 @@
                                             <div class="text-sm text-secondary text-nowrap">{{friendly_date_time($iPatient->most_recent_cellular_weight_measurement_at)}}</div>
                                         @endif
                                     </td>
-                                    <td>{{$iPatient->most_recent_completed_mcp_note_date ? friendly_date($iPatient->most_recent_completed_mcp_note_date) : '-'}}</td>
-                                    <td>{{$iPatient->has_anyone_interacted_with_client_about_rm_outside_note ? 'Yes' : 'No'}}</td>
-                                    <td>{{$iPatient->rm_num_measurements_not_stamped_by_mcp}}</td>
-                                    <td>{{$iPatient->number_of_days_with_remote_measurements ?: 0}}</td>
+                                    <td>
+                                        <div class="d-flex align-items-baseline">
+                                            <i class="mr-1 text-sm fa {{$lastVisitWithin90Days ? 'fa-check text-success' : 'fa-exclamation-triangle text-danger'}}"></i>
+                                            <span>{{$iPatient->most_recent_completed_mcp_note_date ? friendly_date($iPatient->most_recent_completed_mcp_note_date) : '-'}}</span>
+                                        </div>
+                                        @if(!$lastVisitWithin90Days)
+                                            <div class="text-sm font-italic text-secondary">Last visit > 90 days ago</div>
+                                        @endif
+                                    </td>
+                                    <td>
+                                        <div class="d-flex align-items-baseline">
+                                            <i class="mr-1 text-sm fa {{$iPatient->has_anyone_interacted_with_client_about_rm_outside_note ? 'fa-check text-success' : 'fa-exclamation-triangle text-danger'}}"></i>
+                                            <span>{{$iPatient->has_anyone_interacted_with_client_about_rm_outside_note ? 'Yes' : 'No'}}</span>
+                                            <div moe relative class="ml-2">
+                                                <a href="#" start show class="text-sm">Toggle</a>
+                                                <form url="/api/careMonth/setHasAnyoneInteractedWithClientAboutRmOutsideNoteToTrue" right>
+                                                    <input type="hidden" name="uid" value="{{$iPatient->care_month_uid}}">
+                                                    <p>Set to Yes?</p>
+                                                    <div class="d-flex align-items-center">
+                                                        <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                                                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                                    </div>
+                                                </form>
+                                            </div>
+                                        </div>
+                                        @if(!$iPatient->has_anyone_interacted_with_client_about_rm_outside_note)
+                                            <div class="text-sm font-italic text-secondary">Not spoken to this month!</div>
+                                        @endif
+                                    </td>
+                                    <td>
+                                        <div class="d-flex align-items-baseline">
+                                            <i class="mr-1 text-sm fa {{$iPatient->number_of_days_with_remote_measurements >= 16 ? 'fa-check text-success' : 'fa-exclamation-triangle text-danger'}}"></i>
+                                            <span>{{$iPatient->number_of_days_with_remote_measurements ?: 0}}</span>
+                                        </div>
+                                        @if($iPatient->number_of_days_with_remote_measurements < 16)
+                                            <div class="text-sm font-italic text-secondary">Meas. days < 16</div>
+                                        @endif
+                                    </td>
+                                    <td>
+                                        <div class="d-flex align-items-baseline">
+                                            <span>{{$iPatient->rm_num_measurements_not_stamped_by_mcp}}</span>
+                                            @if($iPatient->rm_num_measurements_not_stamped_by_mcp)
+                                                <a href="{{ route('mcp.measurements_pending_stamping_in_care_month') }}?patientUid={{$iPatient->client_uid}}&careMonthUid={{$iPatient->care_month_uid}}"
+                                                   native target="_blank"
+                                                   open-in-stag-popup
+                                                   update-parent
+                                                   popup-style="tall overflow-visible"
+                                                   class="ml-2 text-sm"
+                                                   mc-initer="cm-matrix-{{$oPatient->id}}"
+                                                   title="Measurements Pending Stamping">
+                                                    Stamp
+                                                </a>
+                                            @endif
+                                    </td>
                                     <td>{{floor($iPatient->rm_total_time_in_seconds_by_mcp / 60)}}</td>
-
                                 </tr>
                             @endforeach
                             </tbody>

+ 1 - 0
routes/web.php

@@ -106,6 +106,7 @@ Route::middleware('pro.auth')->group(function () {
         Route::get('supply-orders-awaiting-shipment', 'McpController@supply_orders_awaiting_shipment')->name('supply_orders_awaiting_shipment');
 
         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');
 
         Route::get('measurements-mass-stamping', 'McpController@measurements_mass_stamping')->name('measurements_mass_stamping');