Переглянути джерело

Merge branch 'dev' of rav.triplestart.com:jmudaka/stagfe2 into dev

= 3 роки тому
батько
коміт
2bfb3305ff
41 змінених файлів з 544 додано та 273 видалено
  1. 21 2
      app/Http/Controllers/AdminController.php
  2. 5 0
      app/Http/Controllers/DnaController.php
  3. 5 0
      app/Http/Controllers/McpController.php
  4. 40 7
      app/Http/Controllers/PracticeManagementController.php
  5. 10 1
      app/Models/Note.php
  6. 2 2
      resources/views/app/admin/notes_pending_summary_suggestion.blade.php
  7. 2 2
      resources/views/app/admin/notes_rejected_summary_suggestion.blade.php
  8. 6 6
      resources/views/app/admin/patients-table-extended.blade.php
  9. 2 2
      resources/views/app/admin/patients-table.blade.php
  10. 5 2
      resources/views/app/admin/patients_missing_default_settings.blade.php
  11. 3 0
      resources/views/app/admin/patients_missing_defsult_settings_filters.blade.php
  12. 5 5
      resources/views/app/dna/patients-table.blade.php
  13. 2 2
      resources/views/app/mcp/notes_pending_billing.blade.php
  14. 2 2
      resources/views/app/mcp/notes_pending_signature.blade.php
  15. 2 2
      resources/views/app/mcp/notes_pending_summary_suggestion.blade.php
  16. 2 2
      resources/views/app/mcp/notes_rejected_summary_suggestion.blade.php
  17. 10 10
      resources/views/app/mcp/patients-table.blade.php
  18. 9 7
      resources/views/app/patient/care-month/_matrix.blade.php
  19. 9 7
      resources/views/app/patient/care-month/_work_matrix.blade.php
  20. 3 3
      resources/views/app/patient/coverage_column_renderer.blade.php
  21. 12 1
      resources/views/app/patient/note/_create-claim.blade.php
  22. 4 4
      resources/views/app/patient/note/_create-note-reason.blade.php
  23. 5 0
      resources/views/app/patient/note/dashboard.blade.php
  24. 183 182
      resources/views/app/patient/note/flag-bill.blade.php
  25. 2 2
      resources/views/app/patient/note/pdf.blade.php
  26. 1 1
      resources/views/app/patient/note/segment/suggestions_and_updates.blade.php
  27. 2 2
      resources/views/app/patient/notes.blade.php
  28. 0 1
      resources/views/app/patient/partials/update-mcp-onboarding-visit-info.blade.php
  29. 1 1
      resources/views/app/patient/primary-coverage-manual-determination-medicaid-modal.blade.php
  30. 1 1
      resources/views/app/patient/primary-coverage-manual-determination-medicare-modal.blade.php
  31. 2 0
      resources/views/app/practice-management/all-notes.blade.php
  32. 1 1
      resources/views/app/practice-management/billing-manager-v1.blade.php
  33. 1 1
      resources/views/app/practice-management/billing-manager.blade.php
  34. 134 0
      resources/views/app/practice-management/client-pro-changes-filters.blade.php
  35. 3 0
      resources/views/app/practice-management/client-pro-changes.blade.php
  36. 1 1
      resources/views/app/practice-management/notes-processing-center.blade.php
  37. 13 2
      resources/views/app/practice-management/notes_filters.blade.php
  38. 11 0
      resources/views/app/practice-management/remote-monitoring-admin-row-markup.blade.php
  39. 2 0
      resources/views/app/practice-management/remote-monitoring-admin.blade.php
  40. 8 0
      resources/views/app/practice-management/visit-templates/index.blade.php
  41. 12 9
      resources/views/layouts/patient-header.blade.php

+ 21 - 2
app/Http/Controllers/AdminController.php

@@ -175,6 +175,12 @@ class AdminController extends Controller
             }
         }
 
+        $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(25);
         return view('app.admin.patients', compact('patients', 'filters'));
     }
@@ -508,14 +514,27 @@ class AdminController extends Controller
             }
 
         }
-
+        
         $insurance = $request->get('insurance');
         if($insurance){
             if($insurance === 'MEDICARE'){
                 $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });
-            }else{
+            }elseif($insurance === 'MEDICARE_PENDING'){
+                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                    return $cpcQuery->where('plan_type', 'MEDICARE')->where('is_covered', '!=', 'YES');
+                });
+            }elseif($insurance === 'NOT_COVERED'){
+                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                    return $cpcQuery->where('is_covered', '!=', 'YES');
+                });
+            }elseif($insurance === 'PENDING'){
+                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                    return $cpcQuery->where('is_covered', '=', 'UNKNOWN');
+                });
+            }
+            else{
                 $patients = $patients->whereDoesntHave('latestClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });

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

@@ -79,6 +79,11 @@ class DnaController extends Controller
                 $patients->where('is_active', '<>', true);
                 break;
         }
+        $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(20);
         return view('app.dna.patients', compact('patients', 'filters'));
     }

+ 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'));
     }

+ 40 - 7
app/Http/Controllers/PracticeManagementController.php

@@ -114,8 +114,29 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
 
     public function clientProChanges(Request $request)
     {
-        $rows = ClientProChange::orderByRaw('created_at::date DESC')->orderBy('client_id', 'desc')->paginate(20);
-        return view ('app.practice-management.client-pro-changes', compact('rows'));
+        $filters = $request->all();
+        $rows = ClientProChange::query();
+        $associationTypes = DB::table('client_pro_change')->select('responsibility_type')->distinct()->pluck('responsibility_type')->toArray();
+
+        $this->filterMultiQuery($request, $rows, 'created_at', 'date_category', 'date_value_1', 'date_value_2');
+        $this->filterSimpleQuery($request, $rows, 'responsibility_type', 'responsibility_type');
+
+        $oldProUid = $request->get('old_pro');
+        if($oldProUid){
+            $oldPro = Pro::where('uid', $oldProUid)->first();
+            $rows = $rows->where('previous_pro_id',$oldPro->id);
+
+        }
+
+        $newProUid = $request->get('new_pro');
+        if($newProUid){
+            $newPro = Pro::where('uid', $newProUid)->first();
+            $rows = $rows->where('new_pro_id',$newPro->id);
+
+        }
+
+        $rows = $rows->orderByRaw('created_at::date DESC')->orderBy('client_id', 'desc')->paginate(20);
+        return view ('app.practice-management.client-pro-changes', compact('rows', 'filters', 'associationTypes'));
     }
 
     public function billingReport(Request $request)
@@ -318,6 +339,11 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
             $query = $query->whereIn('hcp_pro_id', $filterByProsIDs);
         }
 
+        $filterByAllyProsIDs = $request->get('ally_pros');
+        if($filterByAllyProsIDs && count($filterByAllyProsIDs)){
+            $query = $query->whereIn('ally_pro_id', $filterByAllyProsIDs);
+        }
+
         $filterByPatientsIDs = $request->get('patients');
         if($filterByPatientsIDs && count($filterByPatientsIDs)){
             $query = $query->whereIn('client_id', $filterByPatientsIDs);
@@ -326,21 +352,27 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
         $status = $request->get('status');
         if($status){
             if($status == 'CANCELLED') $query = $query->where('is_cancelled', true);
+            if($status == 'SIGNED') $query = $query->where('is_signed_by_hcp', true);
             if($status == 'NOT_YET_SIGNED') $query = $query->where('is_signed_by_hcp', false);
             if($status == 'NOT_YET_SIGNED_BUT_ALLY_SIGNED') $query = $query->where('is_signed_by_hcp', false)->where('is_signed_by_ally', true);
+            if($status == 'WITH_BILLS') $query = $query->where('is_signed_by_hcp', true)->where('is_cancelled', false)->whereHas('bills');
             if($status == 'WITHOUT_BILLS') $query = $query->where('is_signed_by_hcp', true)->where('is_cancelled', false)->whereDoesntHave('bills');
+            
         }
 
         
-        $allProsWithNotesIDs = Note::pluck('hcp_pro_id')->toArray();
+        $allProsWithNotesIDs = DB::table('note')->pluck('hcp_pro_id')->toArray();
         $allProsWithNotes = Pro::whereIn('id', $allProsWithNotesIDs)->get();
 
-        $allPatientsWithNotesIDs = Note::pluck('client_id')->toArray();
+        $allPatientsWithNotesIDs = DB::table('note')->pluck('client_id')->toArray();
         $allPatientsWithNotes = Client::whereIn('id', $allPatientsWithNotesIDs)->get();
 
+        $allAllyProsIDs = DB::table('note')->pluck('ally_pro_id')->toArray();
+        $allAllyPros = Pro::whereIn('id', $allAllyProsIDs)->get();
+
         $notes = $query->orderBy('created_at', 'desc')->paginate(30);
 
-        return view('app.practice-management.all-notes', compact('notes', 'filters','allProsWithNotes', 'allPatientsWithNotes'));
+        return view('app.practice-management.all-notes', compact('notes', 'filters','allProsWithNotes', 'allPatientsWithNotes', 'allAllyPros'));
     }
 
     public function dnaNotesPendingMcpSign(Request $request)
@@ -1343,7 +1375,8 @@ SELECT client.name_first, client.name_last,
        (client.name_first || ' ' || client.name_last) as client_name,
        (mcp_pro.name_first || ' ' || mcp_pro.name_last) as mcp_pro_name,
        (rmm_pro.name_first || ' ' || rmm_pro.name_last) as rmm_pro_name,
-       client.uid as client_uid, 
+       client.uid as client_uid,
+       client.chart_number, 
        client.dob,
        client.is_enrolled_in_rm,
        client.most_recent_completed_mcp_note_date,
@@ -1500,7 +1533,7 @@ WHERE
         $c_lt16MeasurementDays = "care_month.number_of_days_with_remote_measurements < 16";
         $c_gte16MeasurementDays = "care_month.number_of_days_with_remote_measurements >= 16";
         $c_subscribedToSMS = "client.send_sms_on_bdt_measurement = TRUE";
-        $c_deviceUsed = "(client.most_recent_cellular_bp_measurement_at IS NOT NULL OR most_recent_cellular_weight_measurement_at IS NOT NULL)";
+        $c_deviceUsed = "(client.most_recent_cellular_bp_measurement_at IS NOT NULL OR client.most_recent_cellular_weight_measurement_at IS NOT NULL)";
         $c_lt20BillingMinutes = "care_month.rm_total_time_in_seconds_by_mcp < 1200";
         $c_gte20BillingMinutes = "care_month.rm_total_time_in_seconds_by_mcp >= 1200";
 

+ 10 - 1
app/Models/Note.php

@@ -124,7 +124,16 @@ class Note extends Model
 
     public function reasons()
     {
-        return $this->hasMany(NoteReason::class, 'note_id', 'id');
+        $reasons = [];
+        for ($i = 1; $i <= 4; $i++) {
+            if($this->{'note_reason_icd' . $i}) {
+                $reason = new \stdClass();
+                $reason->code = $this->{'note_reason_icd' . $i};
+                $reason->description = $this->{'note_reason_icd' . $i . 'description'};
+                $reasons[] = $reason;
+            }
+        }
+        return $reasons;
     }
 
     public function claims()

+ 2 - 2
resources/views/app/admin/notes_pending_summary_suggestion.blade.php

@@ -28,10 +28,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 2 - 2
resources/views/app/admin/notes_rejected_summary_suggestion.blade.php

@@ -28,10 +28,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 6 - 6
resources/views/app/admin/patients-table-extended.blade.php

@@ -9,7 +9,7 @@
         <thead class="bg-light">
         <tr>
             <th class="border-0 width-90px">#</th>
-            <th class="border-0">Name</th>            
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Name', 'key' => 'name_first'])</th>            
             @if($pro->pro_type == 'ADMIN')
                 <th class="border-0">MCP</th>
                 {{--<th class="border-0">NA</th>--}}
@@ -19,15 +19,15 @@
             @endif
             <th class="border-0">Mailing Address State</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("admin.patients"), 'label' => 'Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
             <th class="border-0">Next Appt.</th>
-            <th class="border-0">BP/Pulse Timestamp</th>
-            <th class="border-0">Weight Timestamp</th>
-            <th class="border-0">Created</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.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("admin.patients"), 'label' => 'Weight Timestamp', 'key' => 'most_recent_cellular_weight_measurement_at'])</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Created', 'key' => 'created_at'])</th>
             <th class="border-0">Assigned On</th>
             <th class="border-0">NA</th>
             <th class="border-0">Notes</th>
-            <th class="border-0">Status</th>
+            <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Status', 'key' => 'client_engagement_status_category'])</th>
             <th class="border-0">Temp. Gun</th>
             <th class="border-0">Pulse Ox.</th>
             <th class="border-0">Cell. Bp</th>

+ 2 - 2
resources/views/app/admin/patients-table.blade.php

@@ -163,8 +163,8 @@
 													{!! $note->hcpPro && $note->is_signed_by_hcp ? '<b class="text-success">Yes</b>' : 'No' !!}
 												</td>
 												<td class="max-width-200px">
-													@if(count($note->reasons))
-														@foreach ($note->reasons as $reason)
+													@if(count($note->reasons()))
+														@foreach ($note->reasons() as $reason)
 															<div class="mb-1">
 																<span>{{ $reason->code }}</span>
 																<span class="text-secondary text-sm">{{ $reason->description}}</span>

+ 5 - 2
resources/views/app/admin/patients_missing_default_settings.blade.php

@@ -22,7 +22,7 @@
 					<th class="border-0">Default MCP Company Pro</th>
 					<th class="border-0">Default MCP Company Pro Payer</th>
 					<th class="border-0">Default MCP Company Location</th>
-
+					<th class="border-0">Insurance</th>
 				</tr>
 			</thead>
 			<tbody>
@@ -42,12 +42,15 @@
 					<td>{{ $patient->defaultMcpCompanyPro ? $patient->defaultMcpCompanyPro->company->name : 'NO' }}</td>
 					<td>{{ $patient->defaultMcpCompanyProPayer ? $patient->defaultMcpCompanyProPayer->payer->name : 'NO' }}</td>
 					<td>{{$patient->default_mcp_company_location_id? implode(" ", [$patient->defaultMcpCompanyLocation->line1, $patient->defaultMcpCompanyLocation->city, $patient->defaultMcpCompanyLocation->state]):'NO'}}</td>
+					<td>
+						@include('app.patient.coverage_column_renderer', ['patient'=>$patient])
+					</td>
 				</tr>
 				@endforeach
 
 				@if(count($patients) === 0)
 				<tr>
-					<td colspan="6">No records found!</td>
+					<td colspan="7">No records found!</td>
 				</tr>
 				@endif
 			</tbody>

+ 3 - 0
resources/views/app/admin/patients_missing_defsult_settings_filters.blade.php

@@ -58,8 +58,11 @@
 			<label>Insurance:</label>
 			<select class="form-control"  name="insurance" v-model="filters.insurance">
 				<option value=""></option>
+				<option value="MEDICARE_PENDING">Medicare Pending</option>
 				<option value="MEDICARE">Medicare (Part B)</option>
 				<option value="OTHER">Other</option>
+				<option value="PENDING">Pending</option>
+				<option value="NOT_COVERED">Not Covered</option>
 			</select>
 		</div>
 	</div>

+ 5 - 5
resources/views/app/dna/patients-table.blade.php

@@ -3,11 +3,11 @@
 	<thead class="bg-light border-top">
 		<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">BMI</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Name', 'key' => 'name_first'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'DOB', 'key' => 'dob'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Age', 'key' => 'age_in_years'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'Sex', 'key' => 'sex'])</th>
+			<th class="border-0">@include('app.practice-management._sort_header', ['route' => route("dna.patients"), 'label' => 'BMI', 'key' => 'usual_bmi_min'])</th>
 			<th class="border-0">Insurance</th>
 			<th class="border-0">MCP</th>
 			<th class="border-0">RPM</th>

+ 2 - 2
resources/views/app/mcp/notes_pending_billing.blade.php

@@ -21,10 +21,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 2 - 2
resources/views/app/mcp/notes_pending_signature.blade.php

@@ -28,10 +28,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 2 - 2
resources/views/app/mcp/notes_pending_summary_suggestion.blade.php

@@ -28,10 +28,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 2 - 2
resources/views/app/mcp/notes_rejected_summary_suggestion.blade.php

@@ -28,10 +28,10 @@
                         </td>
                         <td>{{$row->client->displayName()}}</td>
                         <td>
-                            @foreach($row->reasons as $reason)
+                            @foreach($row->reasons() as $reason)
                                 <span class="pr-2">{{$reason->code}}</span>
                             @endforeach
-                            @if(!$row->reasons || !count($row->reasons))
+                            @if(!$row->reasons() || !count($row->reasons()))
                                 -
                             @endif
                         </td>

+ 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>--}}

+ 9 - 7
resources/views/app/patient/care-month/_matrix.blade.php

@@ -178,13 +178,15 @@ foreach ($days as $k => $day) {
             @if($mIndex === 0)
                 <td rowspan="{{count($days[$k])}}" class="px-2">
                     @if($performerRole === 'ADMIN')
-                        <div class="my-1">
-                            <span class="text-secondary">MCP Unstamped:</span>
-                            <b class="{{count($unstampedMCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedMCP[$k])}}</b>
-                        </div>
-                        <div class="">
-                            <span class="text-secondary">Non-HCP Unstamped:</span>
-                            <b class="{{count($unstampedNonHCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedNonHCP[$k])}}</b>
+                        <div class="d-flex align-items-center flex-wrap">
+                            <div class="mr-2">
+                                <span class="text-secondary">MCP Unstamped:</span>
+                                <b class="{{count($unstampedMCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedMCP[$k])}}</b>
+                            </div>
+                            <div class="">
+                                <span class="text-secondary">Non-HCP Unstamped:</span>
+                                <b class="{{count($unstampedNonHCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedNonHCP[$k])}}</b>
+                            </div>
                         </div>
                     @elseif($performerRole === 'MCP')
                         @if(count($unstampedMCP[$k]))

+ 9 - 7
resources/views/app/patient/care-month/_work_matrix.blade.php

@@ -202,13 +202,15 @@ $days = $daysWithUnstamped;
                 @if($mIndex === 0)
                     <td rowspan="{{count($days[$k])}}" class="px-2">
                         @if($performerRole === 'ADMIN')
-                            <div class="my-1">
-                                <span class="text-secondary">MCP Unstamped:</span>
-                                <b class="{{count($unstampedMCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedMCP[$k])}}</b>
-                            </div>
-                            <div class="">
-                                <span class="text-secondary">RMM Unstamped:</span>
-                                <b class="{{count($unstampedRMM[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedRMM[$k])}}</b>
+                            <div class="d-flex align-items-center flex-wrap">
+                                <div>
+                                    <span class="text-secondary">MCP Unstamped:</span>
+                                    <b class="{{count($unstampedMCP[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedMCP[$k])}}</b>
+                                </div>
+                                <div class="">
+                                    <span class="text-secondary">RMM Unstamped:</span>
+                                    <b class="{{count($unstampedRMM[$k]) ? '' : 'text-secondary font-weight-normal'}}">{{count($unstampedRMM[$k])}}</b>
+                                </div>
                             </div>
                             <div class="text-sm text-secondary">Only the MCP or RMM can stamp-all!</div>
                         @elseif($performerRole === 'MCP')

+ 3 - 3
resources/views/app/patient/coverage_column_renderer.blade.php

@@ -26,11 +26,11 @@
     
     @if($coverage)
         @if($coverage->plan_type === 'MEDICAID' && $coverage->mcdPayer)
-            <span class="ml-2">{{$coverage->mcdPayer->name}}</span>
+            <span class="ml-2 {{ @$truncateName ? 'coverage-payer-name':'' }}" title="{{$coverage->mcdPayer->name}}">{{$coverage->mcdPayer->name}}</span>
         @elseif($coverage->plan_type === 'COMMERCIAL' && $coverage->payer)
-            <span class="ml-2">{{$coverage->payer->name}}</span>
+            <span class="ml-2 {{ @$truncateName ? 'coverage-payer-name':'' }}" title="{{$coverage->payer->name}}">{{$coverage->payer->name}}</span>
         @else
-            <span class="ml-2">{{$coverage->insuranceDisplayName()}}</span>
+            <span class="ml-2 {{ @$truncateName ? 'coverage-payer-name':'' }}" title="{{$coverage->insuranceDisplayName()}}">{{$coverage->insuranceDisplayName()}}</span>
         @endif
     @else
         <small class="ml-2 text-muted">(No insurance)</small>

+ 12 - 1
resources/views/app/patient/note/_create-claim.blade.php

@@ -5,7 +5,7 @@
     <span class="text-warning-mellow font-weight-bold">
         <i class="fa fa-exclamation-triangle"></i>
         Please sign off on the comprehensive care plan before creating claims.
-    </span>
+    </span> 
 @else
     <span class="mx-2 text-secondary">|</span>
     <a href="#" onclick="return showStagPopup('create-claim')">Create Claim</a>
@@ -126,6 +126,17 @@
         </div>
     </form>
 </div>
+<script>
+    window.noteReasons = [];
+    @if(count($note->reasons()))
+    @foreach($note->reasons() as $reason)
+    window.noteReasons.push({
+        code: '{{$reason->code}}',
+        description: '{{$reason->description}}'
+    });
+    @endforeach
+    @endif
+</script>
 <script>
     window.createClaimApp = new Vue({
         el: '#createClaimApp',

+ 4 - 4
resources/views/app/patient/note/_create-note-reason.blade.php

@@ -1,7 +1,7 @@
 <script>
     window.noteReasons = [];
-    @if(count($note->reasons))
-        @foreach($note->reasons as $reason)
+    @if(count($note->reasons()))
+        @foreach($note->reasons() as $reason)
         window.noteReasons.push({
             code: '{{$reason->code}}',
             description: '{{$reason->description}}'
@@ -22,8 +22,8 @@
                 </tr>
             </thead>
             <tbody>
-                @if(count($note->reasons))
-                @foreach($note->reasons as $reason)
+                @if(count($note->reasons()))
+                @foreach($note->reasons() as $reason)
                 <tr class="data-row">
                     <td><input type="text" class="form-control note-reason-icd" data-index="{{$loop->index}}" id="icd_{{$loop->index}}" name="noteReasonDTOs[{{$loop->index}}].code" value="{{$reason->code}}"></td>
                     <td><input type="text" class="form-control note-reason-description" data-index="{{$loop->index}}" id="description_{{$loop->index}}" name="noteReasonDTOs[{{$loop->index}}].description" value="{{$reason->description}}"></td>

+ 5 - 0
resources/views/app/patient/note/dashboard.blade.php

@@ -1391,6 +1391,11 @@ use App\Models\Handout;
                                 @endif
                             </div>
                         @endif
+                        <span class="mx-2 text-secondary">|</span>
+                        <div class="d-inline-flex align-items-center">
+                            <span class="text-secondary font-weight-bold">Primary Coverage:&nbsp;</span>
+                            <b>@include('app.patient.coverage_column_renderer', ['patient'=>$patient, 'truncateName' => true])</b>                                                           
+                        </div>
                     </div>
                 </div>
                 @endif

+ 183 - 182
resources/views/app/patient/note/flag-bill.blade.php

@@ -1,200 +1,201 @@
-<div <?= $bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared ? 'class="alert alert-danger p-1 rounded-0" style="min-width: 380px;"' : '' ?>>
-<?php #dump($bill); ?>
-@if($pro->pro_type === 'ADMIN')
-	@if($bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared)
-		<div class="d-flex flex-column">
-			<div class="d-flex align-items-center flex-wrap">
-				<span class="mr-2"><b>Flagged At:</b> {{ friendly_date_time($bill->flagged_administrator_at) }}</span>
-				<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByProAdmin->displayName() }}</small>
+@if(!$bill->is_cancelled)
+	<div <?= $bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared ? 'class="alert alert-danger p-1 rounded-0" style="min-width: 380px;"' : '' ?>>
+	<?php #dump($bill); ?>
+	@if($pro->pro_type === 'ADMIN')
+		@if($bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared)
+			<div class="d-flex flex-column">
+				<div class="d-flex align-items-center flex-wrap">
+					<span class="mr-2"><b>Flagged At:</b> {{ friendly_date_time($bill->flagged_administrator_at) }}</span>
+					<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByProAdmin->displayName() }}</small>
+				</div>
+				
+				<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque text-primary"></i></b> {{ $bill->administrator_flag_memo }}</small>
 			</div>
-			
-			<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque text-primary"></i></b> {{ $bill->administrator_flag_memo }}</small>
-		</div>
 
-		@if($bill->is_administrator_flag_acknowledged && $bill->administrator_flag_acknowledged_at > $bill->flagged_administrator_at)
-			<!-- This is resolved -->
-			<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
-				<div class="d-flex flex-column">
-					<div class="d-flex align-items-center flex-wrap">
-						<span class="mr-2"><b>Ack. At:</b> {{ friendly_date_time($bill->administrator_flag_acknowledged_at) }}</span>
-						<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByPro->displayName() }}</small>
+			@if($bill->is_administrator_flag_acknowledged && $bill->administrator_flag_acknowledged_at > $bill->flagged_administrator_at)
+				<!-- This is resolved -->
+				<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
+					<div class="d-flex flex-column">
+						<div class="d-flex align-items-center flex-wrap">
+							<span class="mr-2"><b>Ack. At:</b> {{ friendly_date_time($bill->administrator_flag_acknowledged_at) }}</span>
+							<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByPro->displayName() }}</small>
+						</div>
+						
+						<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque"></i></b> {{ $bill->administrator_flag_acknowledgement_memo }}</small>
 					</div>
-					
-					<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque"></i></b> {{ $bill->administrator_flag_acknowledgement_memo }}</small>
 				</div>
-			</div>
-		@endif
-			<!-- Flagged by admin, pending ack. by pro -->
-			<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
-				<div class="d-flex">
-					@if($bill->is_administrator_flag_acknowledged)
-						<div moe>
-							<a start show class="text-success"><i class="fas fa-flag  on-hover-opaque"></i> Clear Flag</a>
-							<form url="/api/bill/clearFlag" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control"></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-success mr-1">Clear Flag</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
-						</div>
-					@else
-						<div moe>
-							<a start show class="text-success"><i class="fas fa-flag  on-hover-opaque"></i> Unflag Bill</a>
-							<form url="/api/bill/undoFlagAsAdministrator" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control"></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-success mr-1">Unflag Bill</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
-						</div>
-					@endif
-					<span class="mx-1 text-muted">|</span>
-					@if($bill->is_administrator_flag_acknowledged)
-						<div moe>
-							<a start show class="text-danger"><i class="fas fa-flag  on-hover-opaque"></i> Flag Bill Again</a>
-							<form url="/api/bill/flagAsAdministrator" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control" required></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-danger mr-1">Flag Bill</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
+			@endif
+				<!-- Flagged by admin, pending ack. by pro -->
+				<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
+					<div class="d-flex">
+						@if($bill->is_administrator_flag_acknowledged)
+							<div moe>
+								<a start show class="text-success"><i class="fas fa-flag  on-hover-opaque"></i> Clear Flag</a>
+								<form url="/api/bill/clearFlag" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control"></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-success mr-1">Clear Flag</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
+						@else
+							<div moe>
+								<a start show class="text-success"><i class="fas fa-flag  on-hover-opaque"></i> Unflag Bill</a>
+								<form url="/api/bill/undoFlagAsAdministrator" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control"></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-success mr-1">Unflag Bill</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
+						@endif
+						<span class="mx-1 text-muted">|</span>
+						@if($bill->is_administrator_flag_acknowledged)
+							<div moe>
+								<a start show class="text-danger"><i class="fas fa-flag  on-hover-opaque"></i> Flag Bill Again</a>
+								<form url="/api/bill/flagAsAdministrator" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control" required></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-danger mr-1">Flag Bill</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
+						@else
+							<div moe>
+								<a start show class="text-primary">Update Memo</a>
+								<form url="/api/bill/updateFlagMemo" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control"><?= $bill->administrator_flag_memo ?></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-primary mr-1">Update</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
+						@endif
+						<span class="ml-1 text-muted">|</span>
+						@include('app.patient.note.partials.bill-flags-history')
+					</div>
+				</div>
+			
+		@else
+			<!-- Not flagged, show flag popup -->
+			<!-- //api/bill//flagAsAdministrator -->
+			<div class="d-flex align-items-center">
+				<div moe>
+					<a start show class="text-danger"><i class="fas fa-flag  on-hover-opaque"></i> Flag Bill</a>
+					<form url="/api/bill/flagAsAdministrator" class="mcp-theme-1">
+						<input type="hidden" name="uid" value="{{$bill->uid}}">
+						<div class="form-group">
+							<label>Memo:</label>
+							<textarea name="memo" rows="2" class="form-control" required></textarea>
 						</div>
-					@else
-						<div moe>
-							<a start show class="text-primary">Update Memo</a>
-							<form url="/api/bill/updateFlagMemo" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control"><?= $bill->administrator_flag_memo ?></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-primary mr-1">Update</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
+						<div>
+							<button submit class="btn btn-sm btn-danger mr-1">Flag Bill</button>
+							<button cancel class="btn btn-sm btn-default border">Cancel</button>
 						</div>
-					@endif
-					<span class="ml-1 text-muted">|</span>
-					@include('app.patient.note.partials.bill-flags-history')
+					</form>
 				</div>
+				@include('app.patient.note.partials.bill-flags-history')
 			</div>
-		
+			
+		@endif
+
 	@else
-		<!-- Not flagged, show flag popup -->
-		<!-- //api/bill//flagAsAdministrator -->
-		<div class="d-flex align-items-center">
-			<div moe>
-				<a start show class="text-danger"><i class="fas fa-flag  on-hover-opaque"></i> Flag Bill</a>
-				<form url="/api/bill/flagAsAdministrator" class="mcp-theme-1">
-					<input type="hidden" name="uid" value="{{$bill->uid}}">
-					<div class="form-group">
-						<label>Memo:</label>
-						<textarea name="memo" rows="2" class="form-control" required></textarea>
-					</div>
-					<div>
-						<button submit class="btn btn-sm btn-danger mr-1">Flag Bill</button>
-						<button cancel class="btn btn-sm btn-default border">Cancel</button>
-					</div>
-				</form>
+	<!-- HCP -->
+		@if($bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared)
+			<div class="d-flex flex-column">
+				<div class="d-flex align-items-center flex-wrap">
+					<span class="mr-2"><b>Flagged At:</b> {{ friendly_date_time($bill->flagged_administrator_at) }}</span>
+					<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByProAdmin->displayName() }}</small>
+				</div>			
+				<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque text-primary"></i></b> {{ $bill->administrator_flag_memo }}</small>
 			</div>
-			@include('app.patient.note.partials.bill-flags-history')
-		</div>
-		
-	@endif
-
-@else
-<!-- HCP -->
-	@if($bill->is_flagged_by_administrator && !$bill->is_administrator_flag_cleared)
-		<div class="d-flex flex-column">
-			<div class="d-flex align-items-center flex-wrap">
-				<span class="mr-2"><b>Flagged At:</b> {{ friendly_date_time($bill->flagged_administrator_at) }}</span>
-				<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByProAdmin->displayName() }}</small>
-			</div>			
-			<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque text-primary"></i></b> {{ $bill->administrator_flag_memo }}</small>
-		</div>
 
-		@if($bill->is_administrator_flag_acknowledged && $bill->administrator_flag_acknowledged_at > $bill->flagged_administrator_at)
-			<!-- hcp has ack. -->
-			<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
-				<div class="d-flex flex-column">
-					<div class="d-flex align-items-center flex-wrap">
-						<span class="mr-2"><b>Ack. At:</b> {{ friendly_date_time($bill->administrator_flag_acknowledged_at) }}</span>
-						<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByPro->displayName() }}</small>
-					</div>
-					
-					<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque"></i></b> {{ $bill->administrator_flag_acknowledgement_memo }}</small>
-					
-					<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
-						<div moe>
-							<a start show class="text-danger"><i class="fas fa-undo fa-fw  on-hover-opaque"></i> Undo Ack.</a>
-							<form url="/api/bill/undoAcknowledgeAdministratorFlag" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control"></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-danger mr-1">Undo Ack.</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
+			@if($bill->is_administrator_flag_acknowledged && $bill->administrator_flag_acknowledged_at > $bill->flagged_administrator_at)
+				<!-- hcp has ack. -->
+				<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
+					<div class="d-flex flex-column">
+						<div class="d-flex align-items-center flex-wrap">
+							<span class="mr-2"><b>Ack. At:</b> {{ friendly_date_time($bill->administrator_flag_acknowledged_at) }}</span>
+							<small class="text-sm">By: <i class="fas fa-user"></i> {{ $bill->billFlagAcknowledgedByPro->displayName() }}</small>
 						</div>
-						<span class="mx-1 text-muted">|</span>
-						<div moe>
-							<a start show class="text-primary">Update Memo</a>
-							<form url="/api/bill/updateAcknowledgementMemo" class="mcp-theme-1">
-								<input type="hidden" name="uid" value="{{$bill->uid}}">
-								<div class="form-group">
-									<label>Memo:</label>
-									<textarea name="memo" rows="2" class="form-control"><?= $bill->administrator_flag_acknowledgement_memo ?></textarea>
-								</div>
-								<div>
-									<button submit class="btn btn-sm btn-primary mr-1">Update</button>
-									<button cancel class="btn btn-sm btn-default border">Cancel</button>
-								</div>
-							</form>
+						
+						<small class="text-muted"><b><i class="fas fa-comment on-hover-opaque"></i></b> {{ $bill->administrator_flag_acknowledgement_memo }}</small>
+						
+						<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
+							<div moe>
+								<a start show class="text-danger"><i class="fas fa-undo fa-fw  on-hover-opaque"></i> Undo Ack.</a>
+								<form url="/api/bill/undoAcknowledgeAdministratorFlag" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control"></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-danger mr-1">Undo Ack.</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
+							<span class="mx-1 text-muted">|</span>
+							<div moe>
+								<a start show class="text-primary">Update Memo</a>
+								<form url="/api/bill/updateAcknowledgementMemo" class="mcp-theme-1">
+									<input type="hidden" name="uid" value="{{$bill->uid}}">
+									<div class="form-group">
+										<label>Memo:</label>
+										<textarea name="memo" rows="2" class="form-control"><?= $bill->administrator_flag_acknowledgement_memo ?></textarea>
+									</div>
+									<div>
+										<button submit class="btn btn-sm btn-primary mr-1">Update</button>
+										<button cancel class="btn btn-sm btn-default border">Cancel</button>
+									</div>
+								</form>
+							</div>
 						</div>
 					</div>
 				</div>
-			</div>
-		
-		@else
-			<!-- Needs hcp ack. -->
-			<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
-			<div moe>
-				<a start show class="text-primary"><i class="fa fa-check text-sm on-hover-opaque"></i> Ack.</a>
-				<form url="/api/bill/acknowledgeAdministratorFlag" class="mcp-theme-1">
-					<input type="hidden" name="uid" value="{{$bill->uid}}">
-					<div class="form-group">
-						<label>Memo:</label>
-						<textarea name="memo" rows="2" class="form-control" required></textarea>
-					</div>
-					<div>
-						<button submit class="btn btn-sm btn-primary mr-1">Ack. Flag</button>
-						<button cancel class="btn btn-sm btn-default border">Cancel</button>
-					</div>
-				</form>
-			</div>
-			</div>
+			
+			@else
+				<!-- Needs hcp ack. -->
+				<div class="border-top mt-1 pt-1" style="border-color: #f3bcc1!important;">
+				<div moe>
+					<a start show class="text-primary"><i class="fa fa-check text-sm on-hover-opaque"></i> Ack.</a>
+					<form url="/api/bill/acknowledgeAdministratorFlag" class="mcp-theme-1">
+						<input type="hidden" name="uid" value="{{$bill->uid}}">
+						<div class="form-group">
+							<label>Memo:</label>
+							<textarea name="memo" rows="2" class="form-control" required></textarea>
+						</div>
+						<div>
+							<button submit class="btn btn-sm btn-primary mr-1">Ack. Flag</button>
+							<button cancel class="btn btn-sm btn-default border">Cancel</button>
+						</div>
+					</form>
+				</div>
+				</div>
 
+			@endif
 		@endif
 	@endif
-@endif
-
-</div>
+	</div>
+@endif

+ 2 - 2
resources/views/app/patient/note/pdf.blade.php

@@ -354,10 +354,10 @@
     <!-- icds -->
     <div style="padding: 1rem; padding-bottom: 0;">
         <p><b style="font-size: 18px">ICDs</b></p>
-        @if(!count($note->reasons))
+        @if(!count($note->reasons()))
             Unavailable
         @else
-            @foreach ($note->reasons as $reason)
+            @foreach ($note->reasons() as $reason)
                 <div style="margin-bottom: 0.5rem;">
                     {{ $reason->description}} ({{ $reason->code }})
                 </div>

+ 1 - 1
resources/views/app/patient/note/segment/suggestions_and_updates.blade.php

@@ -106,7 +106,7 @@
                     @if($segment->accepted_suggestion_summary_html)
                         {!! $segment->accepted_suggestion_summary_html !!}
                     @else 
-                        {!! $segment->getRecalculatedHtml($performer)['summaryHtml'] !!}
+                        {!! $segment->getRecalculatedHtml($performer, $performer->session_key)['summaryHtml'] !!}
                     @endif 
                 </textarea>
                 <div class="mb-0 mt-2">

+ 2 - 2
resources/views/app/patient/notes.blade.php

@@ -304,8 +304,8 @@
                     {!! $note->hcpPro && $note->is_signed_by_hcp ? '<b class="text-success">Yes</b>' : 'No' !!}
                 </td>
                 <td class="max-width-200px">
-                    @if(count($note->reasons))
-                        @foreach ($note->reasons as $reason)
+                    @if(count($note->reasons()))
+                        @foreach ($note->reasons() as $reason)
                             <span class="d-inline-block mr-2" title="{{ $reason->description}}">{{ $reason->code }}</span>
                         @endforeach
                     @else

+ 0 - 1
resources/views/app/patient/partials/update-mcp-onboarding-visit-info.blade.php

@@ -56,7 +56,6 @@
 				if(self.form.hasMcpDoneOnboardingVisit == 'YES'){					
 					fields.prop('required', true);
 					fields.on('change keyup', function(){
-						alert('gg');
 						fields.prop('required', false);
 						$(this).prop('required', true);
 					});

+ 1 - 1
resources/views/app/patient/primary-coverage-manual-determination-medicaid-modal.blade.php

@@ -5,7 +5,7 @@
 	<div class="p-3">
 		<div class="d-flex flex-wrap">
 			@if($cpc->mcd_number)
-			<div class="mb-2">
+			<div class="mb-2 mr-2">
 				<span><b>Medicaid Number:</b> {{$cpc->mcd_number}}</span>
 				<span class="ml-3"><b>Medicaid State:</b> {{$cpc->mcd_payer_id ? $cpc->mcdPayer->name : '-'}}</span>
 			</div>

+ 1 - 1
resources/views/app/patient/primary-coverage-manual-determination-medicare-modal.blade.php

@@ -5,7 +5,7 @@
 	<div class="p-3">
 		<div class="d-flex flex-wrap">
 			@if($cpc->mcr_number)
-			<div class="mb-2">
+			<div class="mb-2 mr-2">
 				<b>Medicare Number:</b> {{$cpc->mcr_number}}
 			</div>
 			@endif

+ 2 - 0
resources/views/app/practice-management/all-notes.blade.php

@@ -25,6 +25,7 @@
                         <th class="border-0">Effective Date</th>
                         <th class="border-0">Patient</th>
                         <th class="border-0">MCP</th>
+                        <th class="border-0">All Pro</th>
                         <th class="border-0 w-50">Content</th>
                     </tr>
                 </thead>
@@ -44,6 +45,7 @@
                             <a href="/patients/view/{{ $note->client->uid }}">{{ $note->client->displayName() }}</a>
                         </td>
                         <td>{{ $note->hcpPro ? $note->hcpPro->displayName() : '-' }}</td>
+                        <td>{{ $note->allyPro ? $note->allyPro->displayName() : '-' }}</td>
                         <td class="">
                             <?php
                             $textContent = strip_tags($note->free_text_html);

+ 1 - 1
resources/views/app/practice-management/billing-manager-v1.blade.php

@@ -162,7 +162,7 @@
                                         </tr>
                                         </thead>
                                         <tbody>
-                                        @foreach($note->reasons as $reason)
+                                        @foreach($note->reasons() as $reason)
                                             <tr>
                                                 <td>{{$reason->code}}</td>
                                                 <td>{{$reason->description}}</td>

+ 1 - 1
resources/views/app/practice-management/billing-manager.blade.php

@@ -130,7 +130,7 @@
                             @if($performer->pro->pro_type == 'ADMIN')
                                 <td>
                                     <div class="d-flex flex-wrap width-100px">
-                                        @foreach($note->reasons as $reason)
+                                        @foreach($note->reasons() as $reason)
                                             <span class="border-bottom c-pointer mr-2 mb-1" title="{{$reason->description}}">{{$reason->code}}</span>
                                         @endforeach
                                     </div>

+ 134 - 0
resources/views/app/practice-management/client-pro-changes-filters.blade.php

@@ -0,0 +1,134 @@
+<style>
+	#client-pro-changes-filters label {
+		font-weight: bold;
+	}
+
+	#client-pro-changes-filters .mw-100px {
+		min-width: 100px;
+	}
+
+	.filter-container {
+		display: flex;
+		align-items: flex-start;
+		flex-wrap: wrap;
+	}
+
+	.filter-container>div {
+		width: 165px;
+	}
+
+	.filter-container>div:not(:last-child) {
+		margin-right: 15px;
+	}
+</style>
+<form id="client-pro-changes-filters" method="GET" action="{{ route('practice-management.client-pro-changes') }}" class="filter-container" v-cloak>
+	<!-- DATE	 -->
+	<div>
+		<div class="form-group">
+			<label>Date:</label>
+			<select name="date_category" class="form-control input-sm" v-model="filters.date_category">
+				<option value="">All</option>
+				<option value="EXACTLY">Exactly</option>
+				<option value="LESS_THAN">Less Than</option>
+				<option value="GREATER_THAN">Greater Than</option>
+				<option value="BETWEEN">Between</option>
+				<option value="NOT_BETWEEN">Not Between</option>
+			</select>
+			<div v-show="filters.date_category" class="mt-2">
+				<div>
+					<input name="date_value_1" v-model="filters.date_value_1" type="date" class="form-control input-sm" />
+				</div>
+				<div v-show="filters.date_category === 'BETWEEN' || filters.date_category === 'NOT_BETWEEN'" class="mt-2">
+					<input name="date_value_2" v-model="filters.date_value_2" type="date" class="form-control input-sm" />
+				</div>
+			</div>
+		</div>
+	</div>
+
+	<!-- STATUS -->
+	<div>
+		<div class="form-group">
+			<label>Association Type:</label>
+			<select name="responsibility_type" class="form-control input-sm" v-model="filters.responsibility_type">
+				<option value="">All</option>
+				@foreach($associationTypes as $at)
+				<option value="{{ $at }}">{{ $at }}</option>
+				@endforeach
+			</select>
+		</div>
+	</div>
+
+	<div>
+		<div class="form-group">
+			<div class="old-pro-filter-container">
+				<label>Old Pro:</label>
+			</div>
+		</div>
+	</div>
+
+	<div>
+		<div class="form-group">
+			<div class="new-pro-filter-container">
+				<label>New Pro:</label>
+			</div>
+		</div>
+	</div>
+
+	<div>
+		<div class="form-group">
+			<label>&nbsp;</label>
+			<div class="d-flex">
+				<button type="submit" v-on:click.prevent="doSubmit()" class="btn btn-primary btn-sm mr-2"><i class="fas fa-filter"></i> Filter</button>
+				<a href="#" v-on:click.prevent="fastLoad('{{route('practice-management.client-pro-changes')}}')" class="btn btn-link btn-sm text-danger">Clear Filters</a>
+			</div>
+		</div>
+	</div>
+</form>
+<?php
+$loadedFilters = $filters;
+$allFilterKeys = [
+	'date_category',
+	'date_value_1',
+	'date_value_2',
+	'responsibility_type',
+	'old_pro',
+	'new_pro'
+];
+for ($i = 0; $i < count($allFilterKeys); $i++) {
+	if (!isset($loadedFilters[$allFilterKeys[$i]]) || !$loadedFilters[$allFilterKeys[$i]]) {
+		$loadedFilters[$allFilterKeys[$i]] = '';
+	}
+}
+?>
+<script>
+	(function() {
+		function init() {
+			window.apapp = new Vue({
+				el: '#client-pro-changes-filters',
+				delimiters: ['@{{', '}}'],
+				data: {
+					filters: <?= json_encode($loadedFilters) ?>
+				},
+				methods: {
+					doSubmit: function() {
+						fastLoad('{{ route("practice-management.client-pro-changes") }}?' + $('#client-pro-changes-filters').serialize());
+						return false;
+					},
+					init: function() {
+
+					}
+				},
+				mounted: function() {
+					this.init();
+
+					let oldProSelect = $('<select name="old_pro" class="form-control min-width-unset input-sm" provider-search data-pro-uid="{{request()->input("old_pro")}}" provider-type="hcp"><option value="">--select--</option></select>').appendTo('.old-pro-filter-container');
+					let newProSelect = $('<select name="new_pro" class="form-control min-width-unset input-sm" provider-search data-pro-uid="{{request()->input("new_pro")}}" provider-type="hcp"><option value="">--select--</option></select>').appendTo('.new-pro-filter-container');
+					initProSuggest();
+				},
+			});
+
+
+		}
+		addMCInitializer('client-pro-changes-filters', init, '#client-pro-changes-filters');
+	})();
+</script>

+ 3 - 0
resources/views/app/practice-management/client-pro-changes.blade.php

@@ -9,6 +9,9 @@
                 </strong>
             </div>
             <div class="card-body p-0">
+                <div class="p-3">
+                    @include('app.practice-management.client-pro-changes-filters')
+                </div>
                 <table class="table table-striped table-sm table-bordered mb-3">
                     @if($rows && count($rows))
                         <thead class="bg-light">

+ 1 - 1
resources/views/app/practice-management/notes-processing-center.blade.php

@@ -146,7 +146,7 @@
                             </td>
                             <td>
                                 <div class="d-flex flex-wrap width-100px">
-                                    @foreach($note->reasons as $reason)
+                                    @foreach($note->reasons() as $reason)
                                         <span class="border-bottom c-pointer mr-2 mb-1" title="{{$reason->description}}">{{$reason->code}}</span>
                                     @endforeach
                                 </div>

+ 13 - 2
resources/views/app/practice-management/notes_filters.blade.php

@@ -75,18 +75,26 @@
 		<div class="form-group">
 			<label>Pro(s):</label>
 			<select multiple class="form-control form-control-sm mr-2" name="pros[]" v-model="filters.pros">
-				<option value="">All Pros</option>
 				@foreach($allProsWithNotes as $notePro)
 				<option value="{{ $notePro->id }}">{{ $notePro->displayName() }}</option>
 				@endforeach
 			</select>
 		</div>
 	</div>
+	<div>
+		<div class="form-group">
+			<label>Ally Pro(s):</label>
+			<select multiple class="form-control form-control-sm mr-2" name="ally_pros[]" v-model="filters.ally_pros">
+				@foreach($allAllyPros as $noteAllyPro)
+				<option value="{{ $noteAllyPro->id }}">{{ $noteAllyPro->displayName() }}</option>
+				@endforeach
+			</select>
+		</div>
+	</div>
 	<div>
 		<div class="form-group">
 			<label>Patients(s):</label>
 			<select multiple class="form-control form-control-sm mr-2" name="patients[]" v-model="filters.patients">
-				<option value="">All Patients</option>
 				@foreach($allPatientsWithNotes as $notePatient)
 				<option value="{{ $notePatient->id }}">{{ $notePatient->displayName() }}</option>
 				@endforeach
@@ -99,9 +107,11 @@
 			<label>Status:</label>
 			<select class="form-control form-control-sm mr-2" name="status" v-model="filters.status">
 				<option value="">All Notes</option>
+				<option value="SIGNED">Notes signed</option>
 				<option value="CANCELLED">Cancelled</option>
 				<option value="NOT_YET_SIGNED">Notes not yet signed</option>
 				<option value="NOT_YET_SIGNED_BUT_ALLY_SIGNED">Notes not yet signed (but ally signed)</option>
+				<option value="WITH_BILLS">With Bills</option>
 				<option value="WITHOUT_BILLS">Without Bills</option>
 			</select>
 		</div>
@@ -128,6 +138,7 @@ $allFilterKeys = [
 	'effective_date_value_1',
 	'effective_date_value_2',
 	'pros',
+	'all_pros',
 	'patients',
 	'status'
 ];

+ 11 - 0
resources/views/app/practice-management/remote-monitoring-admin-row-markup.blade.php

@@ -1,4 +1,15 @@
 <tr data-client-uid="{{$iPatient->client_uid}}" data-care-month-uid="{{$iPatient->care_month_uid}}">
+<td class="pl-2">{{ $loop->index + 1 }}</td>
+    <td class="pl-2">
+        <a href="/patients/view/{{ $iPatient->client_uid }}/care-months/view/{{$iPatient->care_month_uid}}" class="text-nowrap"
+           native target="_blank"
+           open-in-stag-popup
+           update-parent="refresh-rpm-row-{{$trIndex}}"
+           popup-style="tall overflow-visible"
+           mc-initer="care-month-dashboard-{{$iPatient->client_uid}}"
+           title="{{$iPatient->client_name}}"
+        ><span class="sort-data">{{ $iPatient->chart_number }}</span></a>
+    </td>
     <td class="pl-2">
         <a href="/patients/view/{{ $iPatient->client_uid }}/care-months/view/{{$iPatient->care_month_uid}}" class="text-nowrap"
            native target="_blank"

+ 2 - 0
resources/views/app/practice-management/remote-monitoring-admin.blade.php

@@ -84,6 +84,8 @@
                         <table class="table table-sm table-striped table-hover p-0 m-0 border-top" id="table-rm-matrix">
                             <thead class="bg-light">
                             <tr stag-title="Click to sort. Shift+Click to multi-sort.">
+                                <th class="border-0 pl-2">#</th>
+                                <th class="border-0 pl-2">Chart #</th>
                                 <th class="border-0 pl-2">Name</th>
                                 <th class="border-0">DOB</th>
                                 <th class="border-0">RPM?</th>

+ 8 - 0
resources/views/app/practice-management/visit-templates/index.blade.php

@@ -20,6 +20,7 @@
                         <th class="border-0">Title</th>
                         <th class="border-0">Created At</th>
                         <th class="border-0">Status</th>
+                        <th class="border-0">Accessiblity</th>
                         <th class="border-0">&nbsp;</th>
                     </tr>
                 </thead>
@@ -50,6 +51,13 @@
                                 @endif
                             </div>
                         </td>
+                        <td>
+                            @if($template->is_accessible_to_all)
+                                <small class="text-muted"><i class="fas fa-check text-success"></i> Accessible to All</small>
+                            @else
+                                <small class="text-muted"><i class="fas fa-ban"></i> Limited Access</small>
+                            @endif
+                        </td>
                         <td>
                             <div class="d-flex align-items-center">
                                 <div class="mr-2">

+ 12 - 9
resources/views/layouts/patient-header.blade.php

@@ -345,15 +345,18 @@ $addressParts .= implode(", ", $addressPart2);
         <div class="d-flex">
           <div>DOB: {{friendly_date($patient->dob, false,null, true)}} </div>
           @if($patient->getPrimaryCoverage() && $patient->getPrimaryCoverageStatus() === 'YES')
-          <div class="text-nowrap screen-only ml-2 pl-2 border-left">
-            {{$patient->getPrimaryCoverage()->insuranceDisplayName()}}
-            <span class="on-hover-show d-inline-block on-hover-opaque">
-              <i class="fa fa-check-circle text-success"></i>
-              <div class="on-hover-content py-2 pl-3 text-nowrap">
-                Covered
-              </div>
-            </span>
-          </div>
+            <div class="text-nowrap screen-only ml-2 pl-2 border-left">
+              {{$patient->getPrimaryCoverage()->insuranceDisplayName()}}
+              <span class="on-hover-show d-inline-block on-hover-opaque">
+                <i class="fa fa-check-circle text-success"></i>
+                <div class="on-hover-content py-2 pl-3 text-nowrap">
+                  Covered
+                </div>
+              </span> 
+            </div>
+            @if($performer->pro->pro_type == 'ADMIN')
+              <div class="ml-2">Deductible: {{@$patient->latestClientPrimaryCoverage->auto_medicare_mpb_remaining}} </div>
+            @endif 
           @endif
         </div>
       </div>