Преглед на файлове

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

= преди 3 години
родител
ревизия
6e643736f4
променени са 49 файла, в които са добавени 835 реда и са изтрити 592 реда
  1. 13 13
      app/Http/Controllers/AdminController.php
  2. 9 9
      app/Http/Controllers/HomeController.php
  3. 7 3
      app/Http/Controllers/PatientController.php
  4. 78 6
      app/Http/Controllers/PracticeManagementController.php
  5. 8 21
      app/Models/Client.php
  6. 1 1
      config/app.php
  7. 164 1
      js-dev/stag-popup.js
  8. 27 0
      public/css/style.css
  9. 1 1
      resources/views/app/patient/canvas-sections/vitals/form.blade.php
  10. 1 1
      resources/views/app/patient/canvas-sections/vitals/summary.php
  11. 3 1
      resources/views/app/patient/care-month/_create-claim.blade.php
  12. 4 1
      resources/views/app/patient/coverage_column_renderer.blade.php
  13. 1 35
      resources/views/app/patient/eligible-refreshes.blade.php
  14. 1 1
      resources/views/app/patient/note/dashboard-bu-b4-pure-soap.blade.php
  15. 1 1
      resources/views/app/patient/note/dashboard-old.blade.php
  16. 1 3
      resources/views/app/patient/note/dashboard.blade.php
  17. 2 2
      resources/views/app/patient/note/rhs-sidebar-nrc.blade.php
  18. 2 2
      resources/views/app/patient/note/rhs-sidebar.blade.php
  19. 5 5
      resources/views/app/patient/note/rm-setup.blade.php
  20. 9 41
      resources/views/app/patient/notes.blade.php
  21. 1 1
      resources/views/app/patient/page-sections/vitals/form.blade.php
  22. 1 1
      resources/views/app/patient/page-sections/vitals/summary.php
  23. 37 32
      resources/views/app/patient/partials/coverage-information.blade.php
  24. 11 0
      resources/views/app/patient/partials/display-coverage-details.blade.php
  25. 1 1
      resources/views/app/patient/partials/latest-vitals.blade.php
  26. 171 176
      resources/views/app/patient/partials/rm-setup.blade.php
  27. 7 7
      resources/views/app/patient/primary-coverage-manual-determination-view-commercial.blade.php
  28. 1 1
      resources/views/app/patient/primary-coverage-manual-determination-view-medicaid.blade.php
  29. 6 6
      resources/views/app/patient/primary-coverage-manual-determination-view-medicare.blade.php
  30. 2 2
      resources/views/app/patient/primary-coverage-refresh.blade.php
  31. 56 16
      resources/views/app/patient/primary-coverage-view.blade.php
  32. 5 70
      resources/views/app/patient/primary-coverage.blade.php
  33. 1 1
      resources/views/app/patient/segment-templates/mc_vitals/edit.blade.php
  34. 1 1
      resources/views/app/patient/segment-templates/mc_vitals/summary.blade.php
  35. 3 3
      resources/views/app/patient/segment-templates/omega_vitals/edit.blade.php
  36. 1 1
      resources/views/app/patient/segment-templates/omega_vitals/summary.blade.php
  37. 3 3
      resources/views/app/patient/segment-templates/psych_vitals/edit.blade.php
  38. 1 1
      resources/views/app/patient/segment-templates/psych_vitals/summary.blade.php
  39. 3 3
      resources/views/app/patient/segment-templates/sigma_vitals/edit.blade.php
  40. 1 1
      resources/views/app/patient/segment-templates/sigma_vitals/summary.blade.php
  41. 3 3
      resources/views/app/patient/segment-templates/vitals/edit.blade.php
  42. 1 1
      resources/views/app/patient/segment-templates/vitals/summary.blade.php
  43. 1 1
      resources/views/app/patient/vitals-settings.blade.php
  44. 16 2
      resources/views/app/practice-management/pro-financials.blade.php
  45. 29 29
      resources/views/app/practice-management/remote-monitoring-row-markup-for-admin.blade.php
  46. 65 0
      resources/views/app/practice-management/rpm-matrix-for-admin-table.blade.php
  47. 67 79
      resources/views/app/practice-management/rpm-matrix-for-admin.blade.php
  48. 1 1
      resources/views/layouts/patient-header.blade.php
  49. 1 1
      resources/views/layouts/template.blade.php

+ 13 - 13
app/Http/Controllers/AdminController.php

@@ -174,11 +174,11 @@ class AdminController extends Controller
         $insurance = $request->get('insurance');
         if($insurance){
             if($insurance === 'MEDICARE'){
-                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });
             }else{
-                $patients = $patients->whereDoesntHave('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereDoesntHave('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });
             }
@@ -265,33 +265,33 @@ class AdminController extends Controller
 
             switch($keyName) {
                 case 'EXACTLY':
-                        $patients = $patients->whereHas('latestClientPrimaryCoverage', function($q) use ($request){
+                        $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($q) use ($request){
                             return $q->where('auto_medicare_mpb_deductible', '=', $request->input('deductible_value_1'));
                         });
                     break;
                 case 'LESS_THAN':
                     if($request->input('deductible_value_1')) {
-                        $patients = $patients->whereHas('latestClientPrimaryCoverage', function($q) use ($request){
+                        $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($q) use ($request){
                             return $q->where('auto_medicare_mpb_deductible', '<=', $request->input('deductible_value_1'));
                         });
                     }
                     break;
                 case 'GREATER_THAN':
                     if($request->input('deductible_value_1')) {
-                        $patients = $patients->whereHas('latestClientPrimaryCoverage', function($q) use ($request){
+                        $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($q) use ($request){
                             return $q->where('auto_medicare_mpb_deductible', '>=', $request->input('deductible_value_1'));
                         });
                     }
                     break;
                 case 'BETWEEN':
-                    $patients = $patients->whereHas('latestClientPrimaryCoverage', function($q) use ($request){
+                    $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($q) use ($request){
                         return $q->where('auto_medicare_mpb_deductible', '>=', $request->input('deductible_value_1'))
                         ->where('auto_medicare_mpb_deductible', '<=', $request->input('deductible_value_2'));
                     });
                     break;
                 case 'NOT_BETWEEN':
                     if($request->input('deductible_value_1') && $request->input('deductible_value_2')) {
-                        $patients = $patients->whereHas('latestClientPrimaryCoverage', function($q) use ($request){
+                        $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($q) use ($request){
 
                             return $q->where(function($qq) use ($request){
                                 return $qq->where('auto_medicare_mpb_deductible', '<', $request->input('deductible_value_1'))
@@ -339,7 +339,7 @@ class AdminController extends Controller
             });
         }
 
-        $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+        $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
             return $cpcQuery->where('is_partbprimary', '=', 'YES');
         });
 
@@ -527,24 +527,24 @@ class AdminController extends Controller
         $insurance = $request->get('insurance');
         if($insurance){
             if($insurance === 'MEDICARE'){
-                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });
             }elseif($insurance === 'MEDICARE_PENDING'){
-                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('plan_type', 'MEDICARE')->where('is_covered', '!=', 'YES');
                 });
             }elseif($insurance === 'NOT_COVERED'){
-                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_covered', '!=', 'YES');
                 });
             }elseif($insurance === 'PENDING'){
-                $patients = $patients->whereHas('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereHas('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_covered', '=', 'UNKNOWN');
                 });
             }
             else{
-                $patients = $patients->whereDoesntHave('latestClientPrimaryCoverage', function($cpcQuery){
+                $patients = $patients->whereDoesntHave('effectiveClientPrimaryCoverage', function($cpcQuery){
                     return $cpcQuery->where('is_partbprimary', '=', 'YES');
                 });
             }

+ 9 - 9
app/Http/Controllers/HomeController.php

@@ -519,16 +519,16 @@ WHERE ((client.mcp_pro_id = {$performer->pro->id}) OR (client.rmm_pro_id = {$per
             $keyNumbers['patientsWithoutCoverageInformation'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-WHERE cl.shadow_pro_id IS NULL AND cl.latest_client_primary_coverage_id IS NULL -- no coverage record"
+WHERE cl.shadow_pro_id IS NULL AND cl.effective_client_primary_coverage_id IS NULL -- no coverage record"
             ))[0]->cnt;
 
             // patients pending coverage verification
             $keyNumbers['patientsPendingCoverageVerification'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-         LEFT JOIN client_primary_coverage cpc ON cl.latest_client_primary_coverage_id = cpc.id
+         LEFT JOIN client_primary_coverage cpc ON cl.effective_client_primary_coverage_id = cpc.id
 WHERE cl.shadow_pro_id IS NULL
-    AND (cl.latest_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
+    AND (cl.effective_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
     AND (
                (cpc.plan_type = 'MEDICARE' AND (cpc.is_partbprimary = 'UNKNOWN' OR cpc.is_partbprimary IS NULL))
                OR
@@ -900,16 +900,16 @@ WHERE ((client.mcp_pro_id = {$performer->pro->id}) OR (client.rmm_pro_id = {$per
             $keyNumbers['patientsWithoutCoverageInformation'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-WHERE cl.shadow_pro_id IS NULL AND cl.latest_client_primary_coverage_id IS NULL -- no coverage record"
+WHERE cl.shadow_pro_id IS NULL AND cl.effective_client_primary_coverage_id IS NULL -- no coverage record"
             ))[0]->cnt;
 
             // patients pending coverage verification
             $keyNumbers['patientsPendingCoverageVerification'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-         LEFT JOIN client_primary_coverage cpc ON cl.latest_client_primary_coverage_id = cpc.id
+         LEFT JOIN client_primary_coverage cpc ON cl.effective_client_primary_coverage_id = cpc.id
 WHERE cl.shadow_pro_id IS NULL
-    AND (cl.latest_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
+    AND (cl.effective_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
     AND (
                (cpc.plan_type = 'MEDICARE' AND (cpc.is_partbprimary = 'UNKNOWN' OR cpc.is_partbprimary IS NULL))
                OR
@@ -1355,16 +1355,16 @@ WHERE ((client.mcp_pro_id = {$performer->pro->id}) OR (client.rmm_pro_id = {$per
             $keyNumbers['patientsWithoutCoverageInformation'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-WHERE cl.shadow_pro_id IS NULL AND cl.latest_client_primary_coverage_id IS NULL -- no coverage record"
+WHERE cl.shadow_pro_id IS NULL AND cl.effective_client_primary_coverage_id IS NULL -- no coverage record"
             ))[0]->cnt;
 
             // patients pending coverage verification
             $keyNumbers['patientsPendingCoverageVerification'] = DB::select(DB::raw("
 SELECT count(DISTINCT (cl.id)) as cnt
 FROM client cl
-         LEFT JOIN client_primary_coverage cpc ON cl.latest_client_primary_coverage_id = cpc.id
+         LEFT JOIN client_primary_coverage cpc ON cl.effective_client_primary_coverage_id = cpc.id
 WHERE cl.shadow_pro_id IS NULL
-    AND (cl.latest_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
+    AND (cl.effective_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
     AND (
                (cpc.plan_type = 'MEDICARE' AND (cpc.is_partbprimary = 'UNKNOWN' OR cpc.is_partbprimary IS NULL))
                OR

+ 7 - 3
app/Http/Controllers/PatientController.php

@@ -8,6 +8,7 @@ use App\Models\CareMonth;
 use App\Models\Client;
 use App\Models\ClientBDTDevice;
 use App\Models\ClientInfoLine;
+use App\Models\ClientPrimaryCoverage;
 use App\Models\ClientProAccess;
 use App\Models\CompanyPro;
 use App\Models\Erx;
@@ -608,14 +609,17 @@ class PatientController extends Controller
     }
 
     public function primaryCoverageManualDeterminationModal(Request $request, Client $patient) {
+        $coverageUid = $request->get('coverageUid');
+        $coverage = ClientPrimaryCoverage::where('uid', $coverageUid)->first();
+
         if($patient->latestClientPrimaryCoverage->plan_type === 'MEDICARE'){
-            return view('app.patient.primary-coverage-manual-determination-medicare-modal', compact('patient'));
+            return view('app.patient.primary-coverage-manual-determination-medicare-modal', compact('patient', 'coverage'));
         }
         if($patient->latestClientPrimaryCoverage->plan_type === 'MEDICAID'){
-            return view('app.patient.primary-coverage-manual-determination-medicaid-modal', compact('patient'));
+            return view('app.patient.primary-coverage-manual-determination-medicaid-modal', compact('patient', 'coverage'));
         }
         if($patient->latestClientPrimaryCoverage->plan_type === 'COMMERCIAL'){
-            return view('app.patient.primary-coverage-manual-determination-commercial-modal', compact('patient'));
+            return view('app.patient.primary-coverage-manual-determination-commercial-modal', compact('patient', 'coverage'));
         }
 
         return "Plan Type is missing!";

+ 78 - 6
app/Http/Controllers/PracticeManagementController.php

@@ -167,7 +167,7 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
         if($zero_deductible){
             $rows = $rows->whereHas('client', function($clientQuery){
                 return $clientQuery->where('client_engagement_status_category','<>' ,'DUMMY')
-                ->whereHas('latestClientPrimaryCoverage', function($lcpcQuery){
+                ->whereHas('effectiveClientPrimaryCoverage', function($lcpcQuery){
                     return $lcpcQuery->where('auto_medicare_mpb_deductible', 0);
                 });
             });
@@ -588,10 +588,10 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
 
         $sql = "SELECT cl.uid, cl.name_first, cl.name_last FROM client cl ";
 
-        $joinClause = 'LEFT JOIN client_primary_coverage cpc ON cl.latest_client_primary_coverage_id = cpc.id ';
-        $withoutCondition = "cl.latest_client_primary_coverage_id IS NULL";
+        $joinClause = 'LEFT JOIN client_primary_coverage cpc ON cl.effective_client_primary_coverage_id = cpc.id ';
+        $withoutCondition = "cl.effective_client_primary_coverage_id IS NULL";
         $pendingCondition = "
-(cl.latest_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
+(cl.effective_client_primary_coverage_id IS NOT NULL -- coverage exists, but status is null or unknown
     AND (
                (cpc.plan_type = 'MEDICARE' AND (cpc.is_partbprimary = 'UNKNOWN' OR cpc.is_partbprimary IS NULL))
                OR
@@ -1001,6 +1001,24 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
         } else {
             $targetPro = $performerPro;
         }
+
+        // calculate totals (without pagination)
+        $fPros = Pro::whereNotNull('balance')->where('balance', '>', 0)->get();
+        $grandTotal = 0;
+        $companies = [];
+        foreach ($fPros as $row) {
+            foreach($row->companyPros as $companyPro) {
+                if($companyPro->balance) {
+                    if(!isset($companies[$companyPro->company->name])) {
+                        $companies[$companyPro->company->name] = 0;
+                    }
+                    $companies[$companyPro->company->name] += $companyPro->balance;
+                    $grandTotal += $companyPro->balance;
+                }
+            }
+        }
+        arsort($companies);
+
         $fPros = Pro::whereNotNull('balance');
         if($targetPro) {
             $fPros = $fPros->where('uid', $targetPro->uid);
@@ -1010,7 +1028,7 @@ SELECT effective_date, count(*), sum(number_of_units) as units FROM bill WHERE c
             ->orderBy('name_first')
             ->orderBy('name_last')
             ->paginate();
-        return view('app.practice-management.pro-financials', compact('fPros', 'targetPro'));
+        return view('app.practice-management.pro-financials', compact('fPros', 'targetPro', 'grandTotal', 'companies'));
     }
 
     public function hcpBillMatrix(Request $request, $proUid = null)
@@ -1654,11 +1672,41 @@ 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_ces'))) {
+            $v = trim($request->input('f_ces'));
+            if($v === 'ACTIVE') {
+                $conditions[] = "(client.client_engagement_status_category IS NULL OR client.client_engagement_status_category = '{$v}')";
+            }
+            else {
+                $conditions[] = "(client.client_engagement_status_category = '{$v}')";
+            }
+        }
         if(trim($request->input('f_name'))) {
             $v = trim($request->input('f_name'));
             $conditions[] = "(client.name_first ILIKE '%{$v}%' OR client.name_last ILIKE '%{$v}%')";
         }
+        if(trim($request->input('f_mcp'))) {
+            $v = trim($request->input('f_mcp'));
+            $conditions[] = "(mcpPro.uid = '{$v}')";
+        }
         if(trim($request->input('f_dob_op')) && trim($request->input('f_dob'))) {
             $o = trim($request->input('f_dob_op'));
             $v = trim($request->input('f_dob'));
@@ -1691,6 +1739,23 @@ WHERE
                 $conditions[] = "(client.is_assigned_cellular_weight_scale_device IS NULL OR client.is_assigned_cellular_weight_scale_device = FALSE)";
             }
         }
+        if(trim($request->input('f_lmb'))) {
+            $v = trim($request->input('f_lmb'));
+            switch($v) {
+                case '1':
+                    $conditions[] = "(GREATEST(client.most_recent_cellular_bp_measurement_at::DATE, client.most_recent_cellular_weight_measurement_at::DATE)::DATE < (NOW() - INTERVAL '1 DAY')::DATE)";
+                    break;
+                case '2':
+                    $conditions[] = "(GREATEST(client.most_recent_cellular_bp_measurement_at::DATE, client.most_recent_cellular_weight_measurement_at::DATE)::DATE < (NOW() - INTERVAL '2 DAYS')::DATE)";
+                    break;
+                case '3':
+                    $conditions[] = "(GREATEST(client.most_recent_cellular_bp_measurement_at::DATE, client.most_recent_cellular_weight_measurement_at::DATE)::DATE < (NOW() - INTERVAL '3 DAYS')::DATE)";
+                    break;
+                case '3+':
+                    $conditions[] = "(GREATEST(client.most_recent_cellular_bp_measurement_at::DATE, client.most_recent_cellular_weight_measurement_at::DATE)::DATE < (NOW() - INTERVAL '4 DAYS')::DATE)";
+                    break;
+            }
+        }
         if(trim($request->input('f_comm'))) {
             $v = trim($request->input('f_comm'));
             if($v === 'yes') {
@@ -1742,6 +1807,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,
@@ -3791,7 +3863,7 @@ ORDER BY c.name_last, c.name_first
             row_to_json(lmcpc_payer.*) as latest_manual_client_primary_coverage_payer
             ";
         $from = "FROM client AS c
-            LEFT JOIN client_primary_coverage lcpc on c.latest_client_primary_coverage_id = lcpc.id
+            LEFT JOIN client_primary_coverage lcpc on c.effective_client_primary_coverage_id = lcpc.id
             LEFT JOIN client_primary_coverage lacpc on c.latest_auto_refresh_client_primary_coverage_id = lacpc.id
             LEFT JOIN client_primary_coverage lmcpc on c.latest_manual_client_primary_coverage_id = lmcpc.id
             LEFT JOIN payer lmcpc_payer on lmcpc.commercial_payer_id = lmcpc_payer.id

+ 8 - 21
app/Models/Client.php

@@ -20,6 +20,13 @@ class Client extends Model
             ->orderBy('created_at', 'desc');
     }
 
+    
+    public function latestManualParentClientPrimaryCoverage(){
+        return $this->hasOne(ClientPrimaryCoverage::class, 'id', 'latest_manual_parent_client_primary_coverage_id');
+    }
+    public function effectiveClientPrimaryCoverage(){
+        return $this->hasOne(ClientPrimaryCoverage::class, 'id', 'effective_client_primary_coverage_id');
+    }
     public function latestClientPrimaryCoverage(){
         return $this->hasOne(ClientPrimaryCoverage::class, 'id', 'latest_client_primary_coverage_id');
     }
@@ -889,27 +896,7 @@ ORDER BY m.ts DESC
 
     public function getPrimaryCoverage()
     {
-        $coverage = $this->latestManualClientPrimaryCoverage;
-        if ($coverage) {
-            return  $coverage;
-        }
-
-        $latestAutoRefreshCoverage = $this->latestAutoRefreshClientPrimaryCoverage;
-        $latestNewCoverage = $this->latestNewClientPrimaryCoverage;
-
-        if($latestAutoRefreshCoverage && $latestNewCoverage){
-            if($latestAutoRefreshCoverage->created_at > $latestNewCoverage->created_at){
-                return $latestAutoRefreshCoverage;
-            }else {
-                return $latestNewCoverage;
-            }
-        }else if($latestAutoRefreshCoverage) {
-            return $latestAutoRefreshCoverage;
-        }else if( $latestNewCoverage){
-            return  $latestNewCoverage;
-        }
-        
-        return null;
+        return $this->effectiveClientPrimaryCoverage;
     }
 
     // return value will be YES, NO or UNKNOWN

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 91,
+    'asset_version' => 93,
 
     'temp_dir' => env('TEMP_DIR'),
 

+ 164 - 1
js-dev/stag-popup.js

@@ -116,7 +116,7 @@ function openDynamicStagPopup(_url, initer, title, updateParent, style = '', rep
             popup = $('.dynamic-popup[stag-popup-key="' + url + '"]');
             if(!popup.length) {
                 $('main.stag-content').append(
-                    '<div class="stag-popup ' + (style ? style : 'stag-popup-lg') + ' dynamic-popup mcp-theme-1" stag-popup-key="' + url + '">' +
+                    '<div class="stag-popup ' + (style ? style : 'stag-popup-lg') + ' dynamic-popup draggable resizable mcp-theme-1" stag-popup-key="' + url + '">' +
                     '<div class="stag-popup-content p-0">' +
                     '<h3 class="stag-popup-title mb-0 mt-3 mx-3 pb-0 border-bottom-0"><span></span>' +
                     '<a href="#" class="ml-auto text-secondary" onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>\n' +
@@ -296,6 +296,169 @@ function hasResponseError(_data) {
                 closeStagPopup();
                 return false;
             });
+
+        // draggable
+        let dragging = false, dragX, dragY;
+        $(document)
+            .off('mousedown.start-drag', '.stag-popup.dynamic-popup.draggable .stag-popup-title')
+            .on('mousedown.start-drag', '.stag-popup.dynamic-popup.draggable .stag-popup-title', function(_e) {
+                if(dragging && dragging.length) {
+                    dragging = false;
+                }
+                dragging = $(this).closest('.stag-popup-content');
+                dragX = _e.screenX;
+                dragY = _e.screenY;
+            });
+        $(document)
+            .off('mousemove.drag')
+            .on('mousemove.drag', function(_e) {
+                if(dragging && dragging.length) {
+                    let targetX = dragging.position().left + (_e.screenX - dragX),
+                        targetY = dragging.position().top + (_e.screenY - dragY);
+                    if(targetX >= 0) dragX = _e.screenX;
+                    if(targetY >= 0) dragY = _e.screenY;
+                    if(targetX < 0) targetX = 0;
+                    if(targetY < 0) targetY = 0;
+                    dragging[0].style.left = targetX + 'px';
+                    dragging[0].style.top = targetY + 'px';
+                    dragging[0].style.transform = 'none';
+                    return false;
+                }
+            });
+
+        // resizable
+        let resizeHighlighting = false, resizeDirection = false, resizeAnchor = false, resizing = false, resizeGutter = 8, resizeX, resizeY;
+        $(document)
+            .off('mousemove.highlight-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content')
+            .on('mousemove.highlight-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content', function(_e) {
+                if(dragging && dragging.length) return;
+                if(resizing && resizing.length) return;
+                let mouseX = _e.pageX - $(this).offset().left,
+                    mouseY = _e.pageY - $(this).offset().top;
+                if((mouseX >= 0 && mouseX <= resizeGutter) || (mouseX >= $(this).outerWidth() - resizeGutter && mouseX <= $(this).outerWidth())) {
+                    $(this).addClass('resizing-x');
+                    resizeHighlighting = $(this);
+                    resizeDirection = 'x';
+                    resizeAnchor = (mouseX >= 0 && mouseX <= resizeGutter) ? 'left' : 'right';
+                }
+                else if((mouseY >= 0 && mouseY <= resizeGutter) || (mouseY >= $(this).outerHeight() - resizeGutter && mouseY <= $(this).outerHeight())) {
+                    $(this).addClass('resizing-y');
+                    resizeHighlighting = $(this);
+                    resizeDirection = 'y';
+                    resizeAnchor = (mouseY >= 0 && mouseY <= resizeGutter) ? 'top' : 'bottom';
+                }
+                else {
+                    $(this).removeClass('resizing-x');
+                    $(this).removeClass('resizing-y');
+                    resizeHighlighting = false;
+                }
+            });
+        $(document)
+            .off('mousedown.start-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content')
+            .on('mousedown.start-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content', function(_e) {
+                if(resizeHighlighting && resizeHighlighting.length) {
+                    if(resizing && resizing.length) {
+                        resizing.removeClass('resizing-x resizing-y');
+                        resizing = false;
+                    }
+                    resizing = $(this);
+                    resizeX = _e.screenX;
+                    resizeY = _e.screenY;
+                }
+            });
+        $(document)
+            .off('mousemove.resize')
+            .on('mousemove.resize', function(_e) {
+                if(resizing && resizing.length) {
+
+                    console.log(resizeDirection);
+                    console.log(resizeAnchor);
+
+                    // x
+                    if(resizeDirection === 'x') {
+
+                        let deltaX = _e.screenX - resizeX;
+
+                        // anchor: left => update left and width of the popup
+                        if(resizeAnchor === 'left') {
+                            resizing[0].style.left = resizing.position().left + deltaX + 'px';
+                            resizing[0].style.width = resizing.outerWidth() - deltaX + 'px';
+                            resizing[0].style.transform = 'none';
+                        }
+
+                        // anchor: right => update width of the popup
+                        else if(resizeAnchor === 'right') {
+                            resizing[0].style.left = resizing.position().left + 'px'
+                            resizing[0].style.width = resizing.outerWidth() + deltaX + 'px';
+                            resizing[0].style.transform = 'none';
+                        }
+                    }
+
+                    // x
+                    if(resizeDirection === 'y') {
+
+                        let deltaY = _e.screenY - resizeY;
+
+                        // anchor: top => update top and height of the popup
+                        if(resizeAnchor === 'top') {
+                            resizing[0].style.top = resizing.position().top + deltaY + 'px';
+                            resizing[0].style.height = resizing.outerHeight() - deltaY + 'px';
+                        }
+
+                        // anchor: bottom => update height of the popup
+                        else if(resizeAnchor === 'bottom') {
+                            resizing[0].style.height = resizing.outerHeight() + deltaY + 'px';
+                        }
+                    }
+
+                    resizeX = _e.screenX;
+                    resizeY = _e.screenY;
+                    return false;
+                }
+            });
+        $(document)
+            .off('mouseleave.stop-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content')
+            .on('mouseleave.stop-resize', '.stag-popup.dynamic-popup.resizable .stag-popup-content', function(_e) {
+                if(resizing && resizing.length) return;
+                if(resizeHighlighting && resizeHighlighting.length) {
+                    resizeHighlighting.removeClass('resizing-x resizing-y');
+                    resizeHighlighting = false;
+                    return false;
+                }
+            });
+
+        // common
+        $(document)
+            .off('mouseleave.stop-drag-resize')
+            .on('mouseleave.stop-drag-resize', function() {
+                if(dragging && dragging.length) {
+                    dragging = false;
+                }
+                if(resizeHighlighting && resizeHighlighting.length) {
+                    resizeHighlighting.removeClass('resizing-x resizing-y');
+                    resizeHighlighting = false;
+                }
+                if(resizing && resizing.length) {
+                    resizing.removeClass('resizing-x resizing-y');
+                    resizing = false;
+                }
+            });
+        $(document)
+            .off('mouseup.stop-drag-resize')
+            .on('mouseup.stop-drag-resize', function() {
+                if(dragging && dragging.length) {
+                    dragging = false;
+                }
+                if(resizeHighlighting && resizeHighlighting.length) {
+                    resizeHighlighting.removeClass('resizing-x resizing-y');
+                    resizeHighlighting = false;
+                }
+                if(resizing && resizing.length) {
+                    resizing.removeClass('resizing-x resizing-y');
+                    resizing = false;
+                }
+            });
+
     }
     addMCInitializer('stag-popups', window.initStagPopupEvents);
 })();

+ 27 - 0
public/css/style.css

@@ -1325,6 +1325,29 @@ body .node input[type="number"] {
     border-top: 1px solid #e1e1e1;
 }
 
+/* draggable popup */
+.stag-popup.draggable .stag-popup-content {
+    position: absolute;
+    left: 50%;
+    transform: translate(-50%, 0);
+}
+.stag-popup.dynamic-popup.draggable .stag-popup-title {
+    cursor: move;
+}
+
+/* resizable popup */
+.stag-popup.resizable .stag-popup-content.resizing-x {
+    outline: 1px solid rgba(0, 128, 128, 0.3);
+    cursor: ew-resize;
+}
+.stag-popup.resizable .stag-popup-content.resizing-y {
+    outline: 1px solid rgba(0, 128, 128, 0.3);
+    cursor: ns-resize;
+}
+.stag-popup.resizable .stag-popup-content {
+    overflow: auto !important;
+}
+
 /* slide-in stag-popups */
 .stag-popup.stag-slide {
     display: block;
@@ -3579,3 +3602,7 @@ table.v-top th {
 .note-container .segments-list p:empty {
     display: none;
 }
+.no-column-wrap th:first-child,
+.no-column-wrap td:first-child {
+    white-space: nowrap;
+}

+ 1 - 1
resources/views/app/patient/canvas-sections/vitals/form.blade.php

@@ -114,7 +114,7 @@ $formID = rand(0, 100000);
                                data-field="value" v-model="bmi">
                         <p class="py-1 m-0 px-2 font-weight-bold bg-white" v-if="!!bmi">
                             <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
-                            <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
+                            <!--<span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>-->
                             <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>
                             <span class="text-sm text-warning-mellow" v-if="+bmi >= 30">Obese</span>
                         </p>

+ 1 - 1
resources/views/app/patient/canvas-sections/vitals/summary.php

@@ -112,7 +112,7 @@ foreach ($vitalLabels as $k => $v) {
                         <span class="text-sm text-warning-mellow">(Underweight)</span>
                     <?php endif; ?>
                     <?php if($bmi >= 18.5 && $bmi < 25): ?>
-                        <span class="text-sm text-success">(Healthy Weight)</span>
+                        <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                     <?php endif; ?>
                     <?php if($bmi >= 25 && $bmi < 30): ?>
                         <span class="text-sm text-warning-mellow">(Overweight)</span>

+ 3 - 1
resources/views/app/patient/care-month/_create-claim.blade.php

@@ -236,8 +236,10 @@
             }
         },
         mounted: function () {
-            this.initICDAutoSuggest();
             this.getPrefillValues();
+            Vue.nextTick(() => {
+                this.initICDAutoSuggest();
+            });
         }
     });
 </script>

+ 4 - 1
resources/views/app/patient/coverage_column_renderer.blade.php

@@ -35,4 +35,7 @@
     @else
         <small class="ml-2 text-muted">(No insurance)</small>
     @endif
-</div>
+</div>
+@if(@$patient->mpb_remaining)
+    <small class="text-muted d-block ml-3">Deductible: {{format_number(@$patient->mpb_remaining)}} </small>
+@endif

+ 1 - 35
resources/views/app/patient/eligible-refreshes.blade.php

@@ -1,41 +1,7 @@
 @extends ('layouts.patient')
 
 @section('inner-content')
-    <?php
-    function toHumanReadable($name) {
-        return ucwords(preg_replace("/[^0-9a-z]/i", " ", $name));
-    }
-    function parseRender($_data) {
-        if($_data) {
-            $type = gettype($_data);
-            if(is_string($_data) || is_numeric($_data)) {
-                echo $_data;
-            }
-            else {
-                echo "<table class='table table-sm border w-100'>";
-                foreach($_data as $k => $v) {
-                    echo "<tr>";
-                    echo "<td><b class='text-secondary'>" . toHumanReadable($k) . "</b></td>";
-                    echo "<td>";
-                    if(is_object($v)) {
-                        parseRender($v);
-                    }
-                    elseif(is_array($v)) {
-                        foreach($v as $k2 => $v2) {
-                            parseRender($v2);
-                        }
-                    }
-                    else {
-                        echo $v;
-                    }
-                    echo "</td>";
-                    echo "</tr>";
-                }
-                echo "</table>";
-            }
-        }
-    }
-    ?>
+    
     <style>
         .eligible-table td {
             white-space: nowrap;

+ 1 - 1
resources/views/app/patient/note/dashboard-bu-b4-pure-soap.blade.php

@@ -979,7 +979,7 @@
                                         bmiCategory = '(Underweight)';
                                     }
                                     if (bmi >= 18.5 && bmi < 25) {
-                                        bmiCategory = '(Healthy)';
+                                        bmiCategory = '';
                                     }
                                     if (bmi >= 25 && bmi < 30) {
                                         bmiCategory = '(Overweight)';

+ 1 - 1
resources/views/app/patient/note/dashboard-old.blade.php

@@ -1125,7 +1125,7 @@ use App\Models\Handout;
                                         bmiCategory = '(Underweight)';
                                     }
                                     if (bmi >= 18.5 && bmi < 25) {
-                                        bmiCategory = '(Healthy)';
+                                        bmiCategory = '';
                                     }
                                     if (bmi >= 25 && bmi < 30) {
                                         bmiCategory = '(Overweight)';

+ 1 - 3
resources/views/app/patient/note/dashboard.blade.php

@@ -896,7 +896,7 @@ use App\Models\Handout;
                                         bmiCategory = '(Underweight)';
                                     }
                                     if (bmi >= 18.5 && bmi < 25) {
-                                        bmiCategory = '(Healthy)';
+                                        bmiCategory = '';
                                     }
                                     if (bmi >= 25 && bmi < 30) {
                                         bmiCategory = '(Overweight)';
@@ -1464,10 +1464,8 @@ use App\Models\Handout;
                 if(!noteCardHeader.length) return;
                 let resultTop = (noteCardHeader.offset().top + noteCardHeader.outerHeight(true)) - $(window).scrollTop();
                 if(resultTop <= 55) {
-                    @if(!$note->is_signed_by_hcp)
                     rhsSidebar.addClass('fixed');
                     rhsSidebar.closest('.note-container').addClass('rhs-sidebar-fixed');
-                    @endif
                 }
                 else {
                     rhsSidebar.removeClass('fixed');

+ 2 - 2
resources/views/app/patient/note/rhs-sidebar-nrc.blade.php

@@ -21,8 +21,8 @@
             ->whereNotNull('ts')
             ->whereRaw("(is_cellular_zero IS NULL OR is_cellular_zero = FALSE)")
             ->whereRaw("(label = 'BP' OR label = 'Wt. (lbs.)')")
-            ->where('ts', '>=', $start)
-            ->where('ts', '<=', $end)
+            /*->where('ts', '>=', $start)
+            ->where('ts', '<=', $end)*/
             ->orderBy('ts', 'desc')
             ->skip(0)
             ->take(10)

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

@@ -31,8 +31,8 @@
             ->whereNotNull('ts')
             ->whereRaw("(is_cellular_zero IS NULL OR is_cellular_zero = FALSE)")
             ->whereRaw("(label = 'BP' OR label = 'Wt. (lbs.)')")
-            ->where('ts', '>=', $start)
-            ->where('ts', '<=', $end)
+            /*->where('ts', '>=', $start)
+            ->where('ts', '<=', $end)*/
             ->orderBy('ts', 'desc')
             ->skip(0)
             ->take(10)

+ 5 - 5
resources/views/app/patient/note/rm-setup.blade.php

@@ -112,10 +112,10 @@
                         @endif
                     </div>
                 </div>
-                
-            </div> 
+
+            </div>
         @endif
-        
+
         <div class="d-flex align-items-baseline mb-1">
             <div class="flex-grow-1">
                 <div>
@@ -321,7 +321,7 @@
         <div class="border-top mt-1 pt-2">
             @include('app.patient.partials.client_bp_weight_phone_number_status')
         </div>
-        
+
     </div>
     <div class="col-5 border-left">
         <?php
@@ -492,4 +492,4 @@
         }
         addMCInitializer('rm-setup', init, '#rm-setup')
     }).call(window);
-</script>
+</script>

+ 9 - 41
resources/views/app/patient/notes.blade.php

@@ -146,32 +146,21 @@
                     @if($pro->pro_type === 'ADMIN')
                         <div class="form-group mb-2 pt-2 d-flex">
                             <label class="my-0 mr-3 d-flex align-items-center">
-                                <input type="radio" class="mr-1" name="noteType" value="regular" required>
-                                Regular Note
+                                <input type="radio" class="mr-1" name="isNonMedical" value="0" required {{$pro->is_hcp ? 'checked' : ''}}>
+                                <span class="text-nowrap">Regular Note</span>
                             </label>
                             <label class="my-0 mr-3 d-flex align-items-center">
-                                <input type="radio" class="mr-1" name="noteType" value="admin" required>
-                                Admin Note
+                                <input type="radio" class="mr-1" name="isNonMedical" value="1" required {{$pro->is_hcp ? '' : 'checked'}}>
+                                <span class="text-nowrap">Admin Note</span>
                             </label>
                         </div>
-
-                        <div if-admin-note class="d-none">
-                            <input type="hidden" x-name="hcpProUid" value="{{config('app.adminNoteHcpProUid')}}">
-                        </div>
-
-                        <div class="form-group d-none" if-regular-note>
-                            <label for="" class="text-secondary text-sm mb-1">HCP Pro *</label>
-                            <select x-name="hcpProUid" class="form-control" provider-search required data-pro-uid="{{$pro->is_hcp ? $pro->uid : ''}}">
-                            </select>
-                        </div>
-                    @else
-                        <div class="form-group mb-2">
-                            <label for="" class="text-secondary text-sm mb-1">HCP Pro *</label>
-                            <select name="hcpProUid" class="form-control" provider-search required data-pro-uid="{{$pro->is_hcp ? $pro->uid : ''}}">
-                            </select>
-                        </div>
                     @endif
 
+                    <div class="form-group mb-2">
+                        <label for="" class="text-secondary text-sm mb-1">HCP Pro *</label>
+                        <select name="hcpProUid" class="form-control" provider-search required data-pro-uid="{{$pro->is_hcp ? $pro->uid : ''}}">
+                        </select>
+                    </div>
 
                     <div class="form-group mb-2">
                         <label for="" class="text-secondary text-sm mb-1">Note Template *</label>
@@ -443,27 +432,6 @@
                     }
                 });
 
-                $('[name="noteType"]').change(function() {
-                    let form = $(this).closest('form');
-                    form.find('[if-regular-note]').addClass('d-none');
-                    form.find('[if-regular-note] [x-name]').removeAttr('name');
-                    form.find('[if-admin-note]').addClass('d-none');
-                    form.find('[if-admin-note] [x-name]').removeAttr('name');
-                    if(form.find('[name="noteType"]:checked').attr('value') === 'regular') {
-                        form.find('[if-regular-note]').removeClass('d-none');
-                        form.find('[if-regular-note] [x-name]').each(function() {
-                            $(this).attr('name', $(this).attr('x-name'));
-                        });
-                    }
-                    else if(form.find('[name="noteType"]:checked').attr('value') === 'admin') {
-                        form.find('[if-admin-note]').removeClass('d-none');
-                        form.find('[if-admin-note] [x-name]').each(function() {
-                            $(this).attr('name', $(this).attr('x-name'));
-                        });
-                    }
-                    return false;
-                });
-
             }
             addMCInitializer('notes-list', initNotesList, '#notes-list-{{$patient->id}}');
         })();

+ 1 - 1
resources/views/app/patient/page-sections/vitals/form.blade.php

@@ -125,7 +125,7 @@ $formID = rand(0, 100000);
                                    data-field="value" v-model="bmi">
                             <p class="py-1 m-0 px-2 font-weight-bold bg-white" v-if="!!bmi">
                                 <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
-                                <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
+                                <!--<span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>-->
                                 <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>
                                 <span class="text-sm text-warning-mellow" v-if="+bmi >= 30">Obese</span>
                             </p>

+ 1 - 1
resources/views/app/patient/page-sections/vitals/summary.php

@@ -111,7 +111,7 @@ foreach ($vitalLabels as $k => $v) {
                         <span class="text-sm text-warning-mellow">(Underweight)</span>
                     <?php endif; ?>
                     <?php if($bmi >= 18.5 && $bmi < 25): ?>
-                        <span class="text-sm text-success">(Healthy Weight)</span>
+                        <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                     <?php endif; ?>
                     <?php if($bmi >= 25 && $bmi < 30): ?>
                         <span class="text-sm text-warning-mellow">(Overweight)</span>

+ 37 - 32
resources/views/app/patient/partials/coverage-information.blade.php

@@ -1,6 +1,7 @@
 <div class="mt-2 pt-2">
     @php
         $cpc = $coverage;
+        $latestCpc = $patient->latestClientPrimaryCoverage;
     @endphp
 </div>
     @if(!$cpc)
@@ -23,6 +24,7 @@
             }
         ?>
         <div class="d-flex align-items-center mb-2">
+            <span class="mr-2">Plan Type: <b>{{ $latestCpc->plan_type }}</b></span>
             @if($cpc->is_manually_determined)
                 <div>
                     <span class="d-inline bg-warning px-2 rounded mr-1"><i class="fas fa-map-pin"></i> Manually Determined</span> 
@@ -38,39 +40,42 @@
 
             @endif
             <h1 class="mr-2 mb-0">Is Covered: {{$cpc->is_covered}}</h1>
-            @if($cpc->plan_type == 'MEDICARE')
-                @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForMedicare'])
-                <span class="mx-2 text-secondary text-sm">|</span>
-                <a native target="_blank"
-                   open-in-stag-popup
-                   mc-initer="manual-determination-form-{{$patient->uid}}"
-                   title="Medicare Part B (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
-                    Manual Determination for Medicare Part B (Primary)
-                </a>
-            @endif
-            @if($cpc->plan_type == 'MEDICAID')
-                @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForMedicaid'])
-                <span class="mx-2 text-secondary text-sm">|</span>
-                <a native target="_blank"
-                   open-in-stag-popup
-                   mc-initer="manual-determination-form-{{$patient->uid}}"
-                   title="Medicaid (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
-                    Manual Determination for Medicaid (Primary)
-                </a>
-            @endif
-            @if($cpc->plan_type == 'COMMERCIAL')
-                @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForCommercial'])
-                <span class="mx-2 text-secondary text-sm">|</span>
-                <a native target="_blank"
-                   open-in-stag-popup
-                   mc-initer="manual-determination-form-{{$patient->uid}}"
-                   title="Commercial (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
-                    Manual Determination for Commercial (Primary)
-                </a>
+            @if(!$cpc->is_manually_determined)
+                @if($cpc->plan_type == 'MEDICARE')
+                    @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForMedicare'])
+                    <span class="mx-2 text-secondary text-sm">|</span>
+                    <a native target="_blank"
+                    open-in-stag-popup
+                    mc-initer="manual-determination-form-{{$patient->uid}}"
+                    title="Medicare Part B (Primary)"
+                    href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}?coverageUid={{ $cpc->uid }}">
+                        Manual Determination for Medicare Part B (Primary)
+                    </a>
+                @endif
+                @if($cpc->plan_type == 'MEDICAID')
+                    @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForMedicaid'])
+                    <span class="mx-2 text-secondary text-sm">|</span>
+                    <a native target="_blank"
+                    open-in-stag-popup
+                    mc-initer="manual-determination-form-{{$patient->uid}}"
+                    title="Medicaid (Primary)"
+                    href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}?coverageUid={{ $cpc->uid }}">
+                        Manual Determination for Medicaid (Primary)
+                    </a>
+                @endif
+                @if($cpc->plan_type == 'COMMERCIAL')
+                    @include('app.patient.primary-coverage-refresh', ['endpoint'=>'refreshCoverageForCommercial'])
+                    <span class="mx-2 text-secondary text-sm">|</span>
+                    <a native target="_blank"
+                    open-in-stag-popup
+                    mc-initer="manual-determination-form-{{$patient->uid}}"
+                    title="Commercial (Primary)"
+                    href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}?coverageUid={{ $cpc->uid }}">
+                        Manual Determination for Commercial (Primary)
+                    </a>
+                @endif
             @endif
+            <span class="mx-2">Created At: {{ friendly_date_time($cpc->created_at) }}</span>
         </div>
 
         <div class="mt-4 {{ $cpc->is_cancelled ? 'cpc-cancelled':'' }}">

+ 11 - 0
resources/views/app/patient/partials/display-coverage-details.blade.php

@@ -0,0 +1,11 @@
+<?php
+//DEV ONLY
+//$displayCoverage = $patient->getPrimaryCoverage();
+$displayCoverageObject = $displayCoverage ? json_decode($displayCoverage->toJson()) : null;
+?>
+
+@if($displayCoverageObject)
+<div class="table-responsive">
+<?php parseRender(@$displayCoverageObject); ?>
+</div>
+@endif

+ 1 - 1
resources/views/app/patient/partials/latest-vitals.blade.php

@@ -52,7 +52,7 @@ if (!!@$point->data) {
                         <span class="text-sm text-warning-mellow">(Underweight)</span>
                     @endif
                     @if($bmi >= 18.5 && $bmi < 25)
-                        <span class="text-sm text-success">(Healthy Weight)</span>
+                         <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                     @endif
                     @if($bmi >= 25 && $bmi < 30)
                         <span class="text-sm text-warning-mellow">(Overweight)</span>

+ 171 - 176
resources/views/app/patient/partials/rm-setup.blade.php

@@ -1,122 +1,125 @@
 <div class="row">
     <div class="col-6">
-        @if($pro->pro_type === 'ADMIN')
-            <div class="d-flex align-items-baseline mb-3">
-                <span class="width-200px">Is Eligible for RM?</span>
-                <div class="ml-3">
-                    <div class="d-inline-flex align-items-start">
-                        <b>{{ ucwords($patient->is_eligible_for_rm ? $patient->is_eligible_for_rm : '-') }}</b>
-                        <div moe class="ml-2">
-                            <a start show><i class="fa fa-edit"></i></a>
-                            <form url="/api/client/updateRmEligibility" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                <div class="mb-2">
-                                    <label class="text-sm mb-1 text-secondary">Is Eligible?</label>
-                                    <select name="isEligibleForRm"
-                                            class="form-control form-control-sm"
-                                            onchange="toggleDisabledAsNeeded(this, 'NO', 'not-eligible-for-rm')">
-                                        <option value="">-- Select Status --</option>
-                                        <option value="YES" {{ $patient->is_eligible_for_rm === 'YES' ? 'selected' : '' }}>YES</option>
-                                        <option value="NO" {{ $patient->is_eligible_for_rm === 'NO' ? 'selected' : '' }}>NO</option>
-                                        <option value="UNKNOWN" {{ $patient->is_eligible_for_rm === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
-                                    </select>
-                                </div>
-                                <div class="mb-2">
-                                    <label class="text-sm mb-1 text-secondary">Why not eligible category</label>
-                                    <input type="text" class="not-eligible-for-rm form-control form-control-sm"
-                                           {{$patient->is_eligible_for_rm === 'NO' ? '' : 'disabled' }}
-                                           name="whyNotEligibleForRmCategory" value="{{$patient->why_not_eligible_for_rm_category}}">
-                                </div>
-                                <div class="mb-2">
-                                    <label class="text-sm mb-1 text-secondary">Why not eligible memo</label>
-                                    <input type="text" class="not-eligible-for-rm form-control form-control-sm"
-                                           {{$patient->is_eligible_for_rm === 'NO' ? '' : 'disabled' }}
-                                           name="whyNotEligibleForRmMemo" value="{{$patient->why_not_eligible_for_rm_memo}}">
-                                </div>
-                                <div>
-                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                </div>
-                            </form>
-                        </div>
-                    </div>
-                    @if($patient->is_eligible_for_rm === 'NO')
-                        <div class="mt-1">
-                            <span>{{$patient->why_not_eligible_for_rm_category ?: '-'}}</span>
-                            /
-                            <span class="text-secondary">{{$patient->why_not_eligible_for_rm_memo ?: '-'}}</span>
-                        </div>
-                    @endif
-                </div>
-            </div>
-        @endif
+        <div class="d-flex mb-2">
+          @if($pro->pro_type === 'ADMIN')
+              <div class="d-flex align-items-center">
+                  <div class="d-flex align-items-center">
+                    <span class="mr-2 text-secondary">Eligible for RM?</span>
+                    <span class="mr-1">{{ ucwords($patient->is_eligible_for_rm ? $patient->is_eligible_for_rm : '-') }}</span>
+                    <div moe>
+                      <a start show><i class="fa fa-edit on-hover-opaque"></i></a>
+                      <form url="/api/client/updateRmEligibility" class="mcp-theme-1">
+                        <input type="hidden" name="uid" value="{{$patient->uid}}">
+                        <div class="mb-2">
+                          <label class="text-sm mb-1 text-secondary">Is Eligible?</label>
+                          <select name="isEligibleForRm"
+                          class="form-control form-control-sm"
+                          onchange="toggleDisabledAsNeeded(this, 'NO', 'not-eligible-for-rm')">
+                          <option value="">-- Select Status --</option>
+                          <option value="YES" {{ $patient->is_eligible_for_rm === 'YES' ? 'selected' : '' }}>YES</option>
+                          <option value="NO" {{ $patient->is_eligible_for_rm === 'NO' ? 'selected' : '' }}>NO</option>
+                          <option value="UNKNOWN" {{ $patient->is_eligible_for_rm === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
+                        </select>
+                      </div>
+                      <div class="mb-2">
+                        <label class="text-sm mb-1 text-secondary">Why not eligible category</label>
+                        <input type="text" class="not-eligible-for-rm form-control form-control-sm"
+                        {{$patient->is_eligible_for_rm === 'NO' ? '' : 'disabled' }}
+                        name="whyNotEligibleForRmCategory" value="{{$patient->why_not_eligible_for_rm_category}}">
+                      </div>
+                      <div class="mb-2">
+                        <label class="text-sm mb-1 text-secondary">Why not eligible memo</label>
+                        <input type="text" class="not-eligible-for-rm form-control form-control-sm"
+                        {{$patient->is_eligible_for_rm === 'NO' ? '' : 'disabled' }}
+                        name="whyNotEligibleForRmMemo" value="{{$patient->why_not_eligible_for_rm_memo}}">
+                      </div>
+                      <div>
+                        <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                        <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                      </div>
+                    </form>
+                  </div>
+                  @if($patient->is_eligible_for_rm === 'NO')
+                  <span class="ml-1 on-hover-show d-inline-block on-hover-opaque">
+                      <i class="fa fa-info-circle"></i>
+                      <div class="on-hover-content py-2 pl-3 text-nowrap text-dark" style="left:0;right:auto;">
+                          <div>
+                              <small class="text-sm"><b>Category:</b> {{$patient->why_not_eligible_for_rm_category ?: '-'}}</small>
+                          </div>
+                          <div>
+                              <small class="text-sm"><b>Memo:</b> {{$patient->why_not_eligible_for_rm_memo ?: '-'}}</small>
+                          </div>
+                      </div>
+                  </span>
+                  @endif
+                  </div>
+              </div>
+              <span class="text-secondary mx-2">|</span>
+          @endif
 
-        <div class="d-flex align-items-baseline mb-3">
-            <span class="width-200px">RM Enrollment Status:</span>
-            <div class="ml-3">
-                <div class="d-inline-flex align-items-start">
-                    <b>{{ ucwords($patient->is_enrolled_in_rm ? $patient->is_enrolled_in_rm : '-') }}</b>
-                    @if($patient->is_enrolled_in_rm === 'YES')
-                        <div moe wide class="ml-2">
-                            <a start show>Toggle</a>
-                            <form url="/api/client/setIsEnrolledInRmToFalse" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                <h2 class="alert alert-warning"><i class="fa fa-warning"></i> RPM Enrollment Cancellation</h2>
-                                <div>
-                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                </div>
-                            </form>
-                        </div>
-                    @else
-                        <div moe wide class="ml-2">
-                            <a start show>Toggle</a>
-                            <form url="/api/client/setIsEnrolledInRmToTrue" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                <h2>RPM Enrollment:</h2>
-                                <h3>Please confirm the following with patient:</h3>
-                                <p>I understand that:</p>
-                                <ul>
-                                    <li>
-                                        <input type="checkbox" required="true" name="x" class="form-control input-sm">
-                                        I am the only person who should be using the remote monitoring equipment as instructed. I will
-                                        not use the device for reasons other than my own personal health monitoring. I understand that
-                                        I can only participate in this program with one Medical Provider at a time.
-                                    </li>
-                                    <li>
-                                        <input type="checkbox" required="true" name="y" class="form-control input-sm">
-                                        I will not tamper with the equipment. I understand that I am responsible for any fees associated
-                                        with misuse of the equipment.
-                                    </li>
-                                    <li>
-                                        <input type="checkbox" required="true" name="z" class="form-control input-sm">
-                                        I understand the devices are only designed for the RPM program.
-                                    </li>
-                                </ul>
+          <div class="d-flex align-items-center">
+              <span class="mr-1 text-secondary">Enrollment:</span>
+              <span>{{ ucwords($patient->is_enrolled_in_rm ? $patient->is_enrolled_in_rm : '-') }}</span>
+              @if($patient->is_enrolled_in_rm === 'YES')
+                  <div moe wide class="ml-2">
+                      <a start show><i class="fa fa-edit on-hover-opaque"></i></a>
+                      <form url="/api/client/setIsEnrolledInRmToFalse" class="mcp-theme-1">
+                          <input type="hidden" name="uid" value="{{$patient->uid}}">
+                          <h2 class="alert alert-warning"><i class="fa fa-warning"></i> RPM Enrollment Cancellation</h2>
+                          <div>
+                              <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                              <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                          </div>
+                      </form>
+                  </div>
+              @else
+                  <div moe wide class="ml-2">
+                      <a start show><i class="fa fa-edit on-hover-opaque"></i></a>
+                      <form url="/api/client/setIsEnrolledInRmToTrue" class="mcp-theme-1">
+                          <input type="hidden" name="uid" value="{{$patient->uid}}">
+                          <h2>RPM Enrollment:</h2>
+                          <h3>Please confirm the following with patient:</h3>
+                          <p class="mb-2">I understand that:</p>
+                          <ul style="list-style:none;" class="pl-2">
+                              <li class="d-flex mb-1">
+                                  <input type="checkbox" required="true" class="mt-1 mr-2" id="x" name="x">
+                                  <label class="c-pointer" for="x">I am the only person who should be using the remote monitoring equipment as instructed. I will
+                                  not use the device for reasons other than my own personal health monitoring. I understand that
+                                  I can only participate in this program with one Medical Provider at a time.</label>
+                              </li>
+                              <li class="d-flex mb-1">
+                                  <input type="checkbox" required="true" class="mt-1 mr-2" id="y" name="y">
+                                  <label class="c-pointer" for="y">I will not tamper with the equipment. I understand that I am responsible for any fees associated
+                                  with misuse of the equipment.</label>
+                              </li>
+                              <li class="d-flex mb-1">
+                                  <input type="checkbox" required="true" class="mt-1 mr-2" id="z" name="z">
+                                  <label class="c-pointer" for="z">I understand the devices are only designed for the RPM program.</label>
+                              </li>
+                          </ul>
 
-                                <div>
-                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                </div>
-                            </form>
-                        </div>
-                    @endif
-                </div>
-            </div>
+                          <div class="mb-2">
+                              <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                              <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                          </div>
+                      </form>
+                  </div>
+              @endif
+          </div>
         </div>
 
-        <div class="d-flex align-items-start flex-column mb-1">
-            <div class="mr-2 width-200px">
-                <span class="mr-2">RM Reasons:</span>
+        <div class="d-flex align-items-start flex-column mb-2">
+            <div>
+                <span class="mr-2 text-secondary">RM Reasons:</span>
                 @include('app.patient.partials.put-rm-reasons', ['recordType' => 'CLIENT', 'record' => $patient])
             </div>
-            <div class="pl-3">
+            <div class="pl-3 mt-1">
                 @include('app.patient.partials.rm-reasons-display', ['recordType' => 'CLIENT', 'record' => $patient])
             </div>
         </div>
-        
+
         {{--<div class="d-flex align-items-baseline mb-3">
-            <span class="width-200px">RM Reasons:</span>
+            <span>RM Reasons:</span>
             <div class="ml-3">
                 @if(!$patient->rmReasons || !count($patient->rmReasons))
                     <span class="text-secondary">None</span>
@@ -181,79 +184,71 @@
         </div>--}}
 
         @if($pro->pro_type === 'ADMIN')
-            <div class="d-flex align-items-baseline mb-3">
-                <span class="width-200px">RME Pro:</span>
-                <div class="ml-3">
-                    <div class="d-inline-flex align-items-start">
-                        <b>{{ $patient->rme ? $patient->rme->displayName() : '-' }}</b>
-                        <div moe class="ml-2">
-                            <a start show><i class="fa fa-edit"></i></a>
-                            <form url="/api/client/putRmePro" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                <div class="mb-2">
-                                    <label class="text-secondary text-sm">RME Pro</label>
-                                    <select provider-search data-pro-uid="{{ @$patient->rme->uid }}" name="rmeProUid" class="form-control form-control-sm">
-                                        <option value=""> --select--</option>
-                                    </select>
-                                </div>
-                                <div>
-                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                </div>
-                            </form>
+            <div class="d-flex align-items-center mb-2">
+                <span class="text-secondary">RME Pro:</span>
+                <span>{{ $patient->rme ? $patient->rme->displayName() : '-' }}</span>
+                <div moe class="ml-2">
+                    <a start show><i class="fa fa-edit on-hover-opaque"></i></a>
+                    <form url="/api/client/putRmePro" class="mcp-theme-1">
+                        <input type="hidden" name="uid" value="{{$patient->uid}}">
+                        <div class="mb-2">
+                            <label class="text-secondary text-sm">RME Pro</label>
+                            <select provider-search data-pro-uid="{{ @$patient->rme->uid }}" name="rmeProUid" class="form-control form-control-sm">
+                                <option value=""> --select--</option>
+                            </select>
+                        </div>
+                        <div>
+                            <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                            <button cancel class="btn btn-sm btn-default border">Cancel</button>
                         </div>
-                        @if($patient->rme)
-                            <div moe class="ml-2">
-                                <a start show><i class="fa fa-trash-alt text-danger on-hover-opaque"></i></a>
-                                <form url="/api/client/removeRmePro" class="mcp-theme-1">
-                                    <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                    <p>Remove RME Pro?</p>
-                                    <div>
-                                        <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                        <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                    </div>
-                                </form>
+                    </form>
+                </div>
+                @if($patient->rme)
+                    <div moe class="ml-2">
+                        <a start show><i class="fa fa-trash-alt text-danger on-hover-opaque"></i></a>
+                        <form url="/api/client/removeRmePro" class="mcp-theme-1">
+                            <input type="hidden" name="uid" value="{{$patient->uid}}">
+                            <p>Remove RME Pro?</p>
+                            <div>
+                                <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                                <button cancel class="btn btn-sm btn-default border">Cancel</button>
                             </div>
-                        @endif
+                        </form>
                     </div>
-                </div>
+                @endif
             </div>
-            <div class="d-flex align-items-baseline mb-3">
-                <span class="width-200px">RMM Pro:</span>
-                <div class="ml-3">
-                    <div class="d-inline-flex align-items-start">
-                        <b>{{ $patient->rmm ? $patient->rmm->displayName() : '-' }}</b>
-                        <div moe class="ml-2">
-                            <a start show><i class="fa fa-edit"></i></a>
-                            <form url="/api/client/putRmmPro" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                <div class="mb-2">
-                                    <label class="text-secondary text-sm">RMM Pro</label>
-                                    <select provider-search data-pro-uid="{{ @$patient->rmm->uid }}" name="rmmProUid" class="form-control form-control-sm">
-                                        <option value=""> --select--</option>
-                                    </select>
-                                </div>
-                                <div>
-                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                </div>
-                            </form>
+            <div class="d-flex align-items-center mb-2">
+                <span class="text-secondary">RMM Pro:</span>
+                <span>{{ $patient->rmm ? $patient->rmm->displayName() : '-' }}</span>
+                <div moe class="ml-2">
+                    <a start show><i class="fa fa-edit on-hover-opaque"></i></a>
+                    <form url="/api/client/putRmmPro" class="mcp-theme-1">
+                        <input type="hidden" name="uid" value="{{$patient->uid}}">
+                        <div class="mb-2">
+                            <label class="text-secondary text-sm">RMM Pro</label>
+                            <select provider-search data-pro-uid="{{ @$patient->rmm->uid }}" name="rmmProUid" class="form-control form-control-sm">
+                                <option value=""> --select--</option>
+                            </select>
                         </div>
-                        @if($patient->rmm)
-                            <div moe class="ml-2">
-                                <a start show><i class="fa fa-trash-alt text-danger on-hover-opaque"></i></a>
-                                <form url="/api/client/removeRmmPro" class="mcp-theme-1">
-                                    <input type="hidden" name="uid" value="{{$patient->uid}}">
-                                    <p>Remove RMM Pro?</p>
-                                    <div>
-                                        <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
-                                        <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                    </div>
-                                </form>
+                        <div>
+                            <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                            <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                        </div>
+                    </form>
+                </div>
+                @if($patient->rmm)
+                    <div moe class="ml-2">
+                        <a start show><i class="fa fa-trash-alt text-danger on-hover-opaque"></i></a>
+                        <form url="/api/client/removeRmmPro" class="mcp-theme-1">
+                            <input type="hidden" name="uid" value="{{$patient->uid}}">
+                            <p>Remove RMM Pro?</p>
+                            <div>
+                                <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                                <button cancel class="btn btn-sm btn-default border">Cancel</button>
                             </div>
-                        @endif
+                        </form>
                     </div>
-                </div>
+                @endif
             </div>
         @endif
         <div class="border-top mt-2 pt-2">
@@ -352,7 +347,7 @@
             </div>
         @else
             <div class="d-flex align-items-baseline mb-3">
-                <span class="width-200px">Cellular BP Device</span>
+                <span>Cellular BP Device</span>
                 <b class="ml-3">No</b>
             </div>
         @endif
@@ -401,14 +396,14 @@
             </div>
         @else
             <div class="d-flex align-items-baseline mb-3">
-                <span class="width-200px">Cellular Weight Scale</span>
+                <span>Cellular Weight Scale</span>
                 <b class="ml-3">No</b>
             </div>
         @endif
 
         @if($careMonth && ($bpDevice || $weightScale))
             <div class="d-flex align-items-baseline mb-1">
-                <span class="width-200px">Measurement days this month:</span>
+                <span>Measurement days this month:</span>
                 <div class="ml-3">
                     <b>{{$careMonth->number_of_days_with_remote_measurements}} days</b>
                 </div>

+ 7 - 7
resources/views/app/patient/primary-coverage-manual-determination-view-commercial.blade.php

@@ -11,7 +11,7 @@
 		<tbody>
 			<tr>
 				<td>Record Found?</td>
-				<td>{{$cpc->auto_commercial_is_match_found ? 'YES' : 'NO'}}</td>
+				<td>{{$cpc->manual_commercial_is_matched ? 'YES' : 'NO'}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Manual Determination Category</p>
@@ -22,7 +22,7 @@
 
 			<tr>
 				<td>Part B Active?</td>
-				<td>{{$cpc->auto_medicare_is_partbactive}}</td>
+				<td>{{$cpc->manual_medicare_is_partbactive}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Is Part B Active?</p>
@@ -32,7 +32,7 @@
 			</tr>
 			<tr>
 				<td>Part B Primary?</td>
-				<td>{{$cpc->auto_medicare_is_partbprimary}}</td>
+				<td>{{$cpc->manual_medicare_is_partbprimary}}</td>
 				<td>
 					<div class="form-group mb-1">
 						<p class="mb-1 text-secondary">Manual Determination Category</p>
@@ -46,10 +46,10 @@
 			</tr>
 			<tr>
 				<td>Part C Active?</td>
-				<td>{{$cpc->auto_medicare_is_partcactive}}</td>
+				<td>{{$cpc->manual_medicare_is_partcactive}}</td>
 				<td>
 					<div class="form-group mb-0">
-						<div class="alert alert-danger" v-if="(cpc.auto_medicare_is_partcactive == 'YES' && cpc.auto_medicare_is_partbprimary == 'YES')">
+						<div class="alert alert-danger" v-if="(cpc.manual_medicare_is_partcactive == 'YES' && cpc.manual_medicare_is_partbprimary == 'YES')">
 							Oops! Patient Medicare Part B Primary is set to <b>Yes</b>.
 						</div>
 						<p class="mb-1 text-secondary">Is Part C Active?</p>
@@ -59,7 +59,7 @@
 			</tr>
 			<tr>
 				<td>Inpatient?</td>
-				<td>{{$cpc->auto_medicare_is_inpatient}}</td>
+				<td>{{$cpc->manual_medicare_is_inpatient}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Inpatient?</p>
@@ -89,7 +89,7 @@
 			</tr>
 			<tr>
 				<td>MSP?</td>
-				<td>{{$cpc->auto_medicare_is_msp}}</td>
+				<td>{{$cpc->manual_medicare_is_msp}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">MSP?</p>

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

@@ -11,7 +11,7 @@
 		<tbody>
 			<tr>
 				<td>Record Found?</td>
-				<td>{{$cpc->auto_medicaid_is_match_found ? 'YES' : 'NO'}}</td>
+				<td>{{$cpc->manual_medicaid_is_matched ? 'YES' : 'NO'}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Is Matched?</p>

+ 6 - 6
resources/views/app/patient/primary-coverage-manual-determination-view-medicare.blade.php

@@ -15,7 +15,7 @@
 			</tr>
 			<tr>
 				<td>Record Found?</td>
-				<td>{{$cpc->auto_medicare_is_match_found ? 'YES' : 'NO'}}</td>
+				<td>{{$cpc->manual_medicare_is_matched ? 'YES' : 'NO'}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Is Matched?</p>
@@ -27,7 +27,7 @@
 
 			<tr>
 				<td>Part B Active?</td>
-				<td>{{$cpc->auto_medicare_is_partbactive}}</td>
+				<td>{{$cpc->manual_medicare_is_partbactive}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Is Part B Active?</p>
@@ -37,7 +37,7 @@
 			</tr>
 			<tr>
 				<td>Part B Primary?</td>
-				<td>{{$cpc->auto_medicare_is_partbprimary}}</td>
+				<td>{{$cpc->manual_medicare_is_partbprimary}}</td>
 				<td>
 					<div class="form-group mb-1">
 						<p class="mb-1 text-secondary">Manual Determination Category</p>
@@ -51,7 +51,7 @@
 			</tr>
 			<tr>
 				<td>Part C Active?</td>
-				<td>{{$cpc->auto_medicare_is_partcactive}}</td>
+				<td>{{$cpc->manual_medicare_is_partcactive}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<div class="alert alert-danger" v-if="cpc.auto_medicare_is_partcactive == 'YES' && cpc.auto_medicare_is_partbprimary == 'YES'">
@@ -64,7 +64,7 @@
 			</tr>
 			<tr>
 				<td>Inpatient?</td>
-				<td>{{$cpc->auto_medicare_is_inpatient}}</td>
+				<td>{{$cpc->manual_medicare_is_inpatient}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">Inpatient?</p>
@@ -95,7 +95,7 @@
 			</tr>
 			<tr>
 				<td>MSP?</td>
-				<td>{{$cpc->auto_medicare_is_msp}}</td>
+				<td>{{$cpc->manual_medicare_is_msp}}</td>
 				<td>
 					<div class="form-group mb-0">
 						<p class="mb-1 text-secondary">MSP?</p>

+ 2 - 2
resources/views/app/patient/primary-coverage-refresh.blade.php

@@ -1,8 +1,8 @@
 <div moe relative>
-	<a href="" start show class=""><i class="fas fa-sync"></i></a>
+	<a href="" start show class="" title="Auto refresh"><i class="fas fa-sync"></i></a>
 
 	<form url="/api/clientPrimaryCoverage/{{$endpoint}}" class="mcp-theme-1">
-		<input type="hidden" name="uid" value="{{$cpc->uid}}" class="form-control input-sm" />
+		<input type="hidden" name="uid" value="{{$patient->uid}}" class="form-control input-sm" />
 		<div class="form-group">
 			<p>Refresh?</p>
 		</div>

+ 56 - 16
resources/views/app/patient/primary-coverage-view.blade.php

@@ -111,7 +111,7 @@
 								<td>Medicare Number</td>
 								<td class="text-uppercase">{{$cpc->mcr_number ?? '-'}}</td>
 							</tr>
-							
+
 						</tbody>
 					</table>
 				</div>
@@ -119,7 +119,7 @@
 					<h4 class="font-weight-bold">Other Coverage Details</h4>
 					<table class="table table-sm table-bordered table-striped">
 						<tbody>
-						<tr>
+							<tr>
 								<td>Plan Effective Date</td>
 								<td>{{ $cpc->plan_effective_date }}</td>
 							</tr>
@@ -226,12 +226,12 @@
 							<tr>
 								<td>Mcn Response Detail</td>
 								<td>
-								@if($cpc->autoMedicareResult->mcn_response_detail)
-									<?php $parsed = json_decode($cpc->autoMedicareResult->mcn_response_detail);?>
+									@if($cpc->autoMedicareResult->mcn_response_detail)
+									<?php $parsed = json_decode($cpc->autoMedicareResult->mcn_response_detail); ?>
 									<?php parseRender($parsed); ?>
-								@else
+									@else
 									&hyphen;
-								@endif
+									@endif
 								</td>
 							</tr>
 							<tr>
@@ -262,16 +262,56 @@
 
 		</div>
 		<div class="col-lg-7">
-
-			<h4 class="font-weight-bold">Manual Determination Information</h4>
-			@if($cpc->plan_type == 'MEDICARE')
-				@include('app.patient.primary-coverage-manual-determination-view-medicare')
-			@elseif($cpc->plan_type == 'MEDICAID')
-			@include('app.patient.primary-coverage-manual-determination-view-medicaid')
-			@elseif($cpc->plan_type == 'COMMERCIAL')
-			@include('app.patient.primary-coverage-manual-determination-view-commercial')
-			@else
+			<div class="mb-3">
+				<h4 class="font-weight-bold">Manual Determination Information</h4>
+				@if($cpc->creation_strategy === 'MANUAL_DETERMINATION')
+				@if($cpc->plan_type == 'MEDICARE')
+				@include('app.patient.primary-coverage-manual-determination-view-medicare', ['coverage' => $patient->getPrimaryCoverage()])
+				@elseif($cpc->plan_type == 'MEDICAID')
+				@include('app.patient.primary-coverage-manual-determination-view-medicaid', ['coverage' => $patient->getPrimaryCoverage()])
+				@elseif($cpc->plan_type == 'COMMERCIAL')
+				@include('app.patient.primary-coverage-manual-determination-view-commercial', ['coverage' => $patient->getPrimaryCoverage()])
+				@else
 				No plan Type specified.
+				@endif
+				@else
+				<small class="text-muted">Not manually determined.</small>
+				@endif
+			</div>
+
+			@if($cpc->is_manually_determined)
+			<!-- Accordion -->
+			<div class="card mb-1" stag-collapsible-card="mcp-key-numbers">
+				<div class="card-header pl-2">
+					<div class="d-flex align-items-center">
+						<strong>
+							Parent Coverage Information
+						</strong>
+						<a href="#" class="stag-collapse-trigger ml-auto"></a>
+					</div>
+				</div>
+				<div class="card-body p-0 no-column-wrap">
+					@include('app.patient.partials.display-coverage-details', ['displayCoverage' => $patient->latestManualParentClientPrimaryCoverage ])
+				</div>
+			</div>
+			<!-- Accordion -->
+			@endif
+			@if($patient->latestAutoRefreshClientPrimaryCoverage)
+			<!-- Accordion -->
+			<div class="card mb-1" stag-collapsible-card="mcp-key-numbers">
+				<div class="card-header pl-2">
+					<div class="d-flex align-items-center">
+						<strong>
+							Latest Auto Refresh Coverage Information
+						</strong>
+						<a href="#" class="stag-collapse-trigger ml-auto"></a>
+					</div>
+				</div>
+				<div class="card-body p-0 no-column-wrap">
+					@include('app.patient.partials.display-coverage-details', ['displayCoverage' => $patient->latestAutoRefreshClientPrimaryCoverage ])
+				</div>
+			</div>
+			<!-- Accordion -->
 			@endif
 		</div>
 	</div>
@@ -284,4 +324,4 @@
 			cpc: <?= json_encode($cpc); ?>,
 		}
 	})
-</script>
+</script>

+ 5 - 70
resources/views/app/patient/primary-coverage.blade.php

@@ -13,77 +13,12 @@
         </a>
     </div>
 </div>
-<div class="page-tabs coverage-tabs-display mt-3">
-        <div class="links">
-            @if($patient->latestNewClientPrimaryCoverage)
-                <a class="c-pointer {{ $patient->getPrimaryCoverage()->id == $patient->latestNewClientPrimaryCoverage->id ? 'active':'' }}" data-link="latest_new_client_primary_coverage">
-                    Latest New Client Primary Coverage
-                    @if($patient->getPrimaryCoverage()->id == $patient->latestNewClientPrimaryCoverage->id)
-                        <i class="fas fa-star ml-2"></i>
-                    @endif
-                </a>
-            @endif
-            @if($patient->latestAutoRefreshClientPrimaryCoverage)
-                <a class="c-pointer {{ $patient->getPrimaryCoverage()->id == $patient->latestAutoRefreshClientPrimaryCoverage->id ? 'active':'' }}" data-link="latest_auto_refresh_client_primary_coverage">
-                    Latest Auto Refresh Client Primary Coverage
-                    @if($patient->getPrimaryCoverage()->id == $patient->latestAutoRefreshClientPrimaryCoverage->id)
-                        <i class="fas fa-star ml-2"></i>
-                    @endif
-                </a>
-            @endif
-            @if($patient->latestManualClientPrimaryCoverage)
-                <a class="c-pointer {{ $patient->getPrimaryCoverage()->id == $patient->latestManualClientPrimaryCoverage->id ? 'active':'' }}" data-link="latest_manual_client_primary_coverage">
-                    Latest Manual Client Primary Coverage
-                    @if($patient->getPrimaryCoverage()->id == $patient->latestManualClientPrimaryCoverage->id)
-                        <i class="fas fa-star ml-2"></i>
-                    @endif
-                </a>   
-            @endif     
-        </div>
-        <div class="page-tab">
-            @if($patient->latestNewClientPrimaryCoverage)
-            <div tab id="latest_new_client_primary_coverage" class="{{ $patient->getPrimaryCoverage()->id == $patient->latestNewClientPrimaryCoverage->id ? '':'d-none' }}">
-                @include('app.patient.partials.coverage-information', ['coverage' => $patient->latestNewClientPrimaryCoverage])
-            </div>
-            @endif
-            @if($patient->latestAutoRefreshClientPrimaryCoverage)
-            <div tab id="latest_auto_refresh_client_primary_coverage" class="{{ $patient->getPrimaryCoverage()->id == $patient->latestAutoRefreshClientPrimaryCoverage->id ? '':'d-none' }}">
-                @include('app.patient.partials.coverage-information', ['coverage' => $patient->latestAutoRefreshClientPrimaryCoverage])
-            </div>
-            @endif
-            @if($patient->latestManualClientPrimaryCoverage)
-            <div tab id="latest_manual_client_primary_coverage" class="{{ $patient->getPrimaryCoverage()->id == $patient->latestManualClientPrimaryCoverage->id ? '':'d-none' }}">
-                @include('app.patient.partials.coverage-information', ['coverage' => $patient->latestManualClientPrimaryCoverage])
-            </div>
-            @endif
-        </div>
+<?php $clientPrimaryCoverage = $patient->getPrimaryCoverage(); ?>
+<div class="mt-3">
+    <div>
+        @include('app.patient.partials.coverage-information', ['coverage' => $patient->getPrimaryCoverage()])
+    </div>
 </div>
 
-<script>
-    (function($){
-        var coverageTabsComponent = {
-            initTabs: function(){
-                var section = $('.coverage-tabs-display');
-                var sectionContent = section.find('.page-tab');
-                var tabsLinks = section.find('.links a');
-
-                $.each(tabsLinks, function(i, link){
-                    $(link).click(function(evt){
-                        evt.preventDefault();
-                        var target = $(link).data('link');
-                        tabsLinks.removeClass('active');
-                        $(link).addClass('active');
-                        sectionContent.find('[tab]').addClass('d-none');
-                        sectionContent.find('#'+target).removeClass('d-none'); 
-                    });                   
-                });
-            },
-            init: function(){
-                this.initTabs();
-            }
-        };
-        coverageTabsComponent.init();
-    })(jQuery);
-</script>
 
 @endsection

+ 1 - 1
resources/views/app/patient/segment-templates/mc_vitals/edit.blade.php

@@ -125,7 +125,7 @@ $copyTriggerAdded = [];
                                                 <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
                                             @endif
                                             @if($bmi >= 18.5 && $bmi < 25)
-                                                <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
+                                                <!--<span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>-->
                                             @endif
                                             @if($bmi >= 25 && $bmi > 30)
                                                 <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>

+ 1 - 1
resources/views/app/patient/segment-templates/mc_vitals/summary.blade.php

@@ -69,7 +69,7 @@ if(!$contentData) {
                         <span class="text-sm text-warning-mellow">(Underweight)</span>
                      @endif
                     @if($bmi >= 18.5 && $bmi < 25)
-                        <span class="text-sm text-success">(Healthy Weight)</span>
+                         <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                     @endif
                     @if($bmi >= 25 && $bmi < 30)
                         <span class="text-sm text-warning-mellow">(Overweight)</span>

+ 3 - 3
resources/views/app/patient/segment-templates/omega_vitals/edit.blade.php

@@ -130,7 +130,7 @@ if(!@$segment) {
                                                 <span class="text-sm text-warning-mellow">Underweight</span>
                                             @endif
                                             @if($bmi >= 18.5 && $bmi < 25)
-                                                <span class="text-sm text-success">Healthy Weight</span>
+                                                <!--<span class="text-sm text-success">Healthy Weight</span>-->
                                             @endif
                                             @if($bmi >= 25 && $bmi < 30)
                                                 <span class="text-sm text-warning-mellow">Overweight</span>
@@ -206,7 +206,7 @@ if(!@$segment) {
                                             <span class="text-sm text-warning-mellow ml-1">Underweight</span>
                                         @endif
                                         @if($prevBMI >= 18.5 && $prevBMI < 25)
-                                            <span class="text-sm text-success ml-1">Healthy Weight</span>
+                                            <!--<span class="text-sm text-success ml-1">Healthy Weight</span>-->
                                         @endif
                                         @if($prevBMI >= 25 && $prevBMI < 30)
                                             <span class="text-sm text-warning-mellow ml-1">Overweight</span>
@@ -256,7 +256,7 @@ if(!@$segment) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Underweight</span>';
                 }
                 else if(bmi >= 18.5 && bmi < 25) {
-                    bmiCategory = '<span class="text-sm text-success">Healthy Weight</span>';
+                    bmiCategory = '<span class="text-sm text-success"></span>';
                 }
                 else if(bmi >= 25 && bmi < 30) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Overweight</span>';

+ 1 - 1
resources/views/app/patient/segment-templates/omega_vitals/summary.blade.php

@@ -83,7 +83,7 @@ if(!$contentData) {
                             <span class="text-warning-mellow">(Underweight)</span>
                          @endif
                         @if($bmi >= 18.5 && $bmi < 25)
-                            <span class="text-success">(Healthy Weight)</span>
+                             <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                         @endif
                         @if($bmi >= 25 && $bmi < 30)
                             <span class="text-warning-mellow">(Overweight)</span>

+ 3 - 3
resources/views/app/patient/segment-templates/psych_vitals/edit.blade.php

@@ -132,7 +132,7 @@ if(!@$segment) {
                                                 <span class="text-sm text-warning-mellow">Underweight</span>
                                             @endif
                                             @if($bmi >= 18.5 && $bmi < 25)
-                                                <span class="text-sm text-success">Healthy Weight</span>
+                                                <!--<span class="text-sm text-success">Healthy Weight</span>-->
                                             @endif
                                             @if($bmi >= 25 && $bmi < 30)
                                                 <span class="text-sm text-warning-mellow">Overweight</span>
@@ -226,7 +226,7 @@ if(!@$segment) {
                                             <span class="text-sm text-warning-mellow ml-1">Underweight</span>
                                         @endif
                                         @if($prevBMI >= 18.5 && $prevBMI < 25)
-                                            <span class="text-sm text-success ml-1">Healthy Weight</span>
+                                            <!--<span class="text-sm text-success ml-1">Healthy Weight</span>-->
                                         @endif
                                         @if($prevBMI >= 25 && $prevBMI < 30)
                                             <span class="text-sm text-warning-mellow ml-1">Overweight</span>
@@ -276,7 +276,7 @@ if(!@$segment) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Underweight</span>';
                 }
                 else if(bmi >= 18.5 && bmi < 25) {
-                    bmiCategory = '<span class="text-sm text-success">Healthy Weight</span>';
+                    bmiCategory = '<span class="text-sm text-success"></span>';
                 }
                 else if(bmi >= 25 && bmi < 30) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Overweight</span>';

+ 1 - 1
resources/views/app/patient/segment-templates/psych_vitals/summary.blade.php

@@ -85,7 +85,7 @@ if(!$contentData) {
                             <span class="text-warning-mellow">(Underweight)</span>
                          @endif
                         @if($bmi >= 18.5 && $bmi < 25)
-                            <span class="text-success">(Healthy Weight)</span>
+                             <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                         @endif
                         @if($bmi >= 25 && $bmi < 30)
                             <span class="text-warning-mellow">(Overweight)</span>

+ 3 - 3
resources/views/app/patient/segment-templates/sigma_vitals/edit.blade.php

@@ -130,7 +130,7 @@ if(!@$segment) {
                                                 <span class="text-sm text-warning-mellow">Underweight</span>
                                             @endif
                                             @if($bmi >= 18.5 && $bmi < 25)
-                                                <span class="text-sm text-success">Healthy Weight</span>
+                                                <!--<span class="text-sm text-success">Healthy Weight</span>-->
                                             @endif
                                             @if($bmi >= 25 && $bmi < 30)
                                                 <span class="text-sm text-warning-mellow">Overweight</span>
@@ -206,7 +206,7 @@ if(!@$segment) {
                                             <span class="text-sm text-warning-mellow ml-1">Underweight</span>
                                         @endif
                                         @if($prevBMI >= 18.5 && $prevBMI < 25)
-                                            <span class="text-sm text-success ml-1">Healthy Weight</span>
+                                            <!--<span class="text-sm text-success ml-1">Healthy Weight</span>-->
                                         @endif
                                         @if($prevBMI >= 25 && $prevBMI < 30)
                                             <span class="text-sm text-warning-mellow ml-1">Overweight</span>
@@ -256,7 +256,7 @@ if(!@$segment) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Underweight</span>';
                 }
                 else if(bmi >= 18.5 && bmi < 25) {
-                    bmiCategory = '<span class="text-sm text-success">Healthy Weight</span>';
+                    bmiCategory = '<span class="text-sm text-success"></span>';
                 }
                 else if(bmi >= 25 && bmi < 30) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Overweight</span>';

+ 1 - 1
resources/views/app/patient/segment-templates/sigma_vitals/summary.blade.php

@@ -83,7 +83,7 @@ if(!$contentData) {
                             <span class="text-warning-mellow">(Underweight)</span>
                          @endif
                         @if($bmi >= 18.5 && $bmi < 25)
-                            <span class="text-success">(Healthy Weight)</span>
+                             <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                         @endif
                         @if($bmi >= 25 && $bmi < 30)
                             <span class="text-warning-mellow">(Overweight)</span>

+ 3 - 3
resources/views/app/patient/segment-templates/vitals/edit.blade.php

@@ -125,7 +125,7 @@ $copyTriggerAdded = [];
                                                 <span class="text-sm text-warning-mellow">Underweight</span>
                                             @endif
                                             @if($bmi >= 18.5 && $bmi < 25)
-                                                <span class="text-sm text-success">Healthy Weight</span>
+                                                <!--<span class="text-sm text-success">Healthy Weight</span>-->
                                             @endif
                                             @if($bmi >= 25 && $bmi < 30)
                                                 <span class="text-sm text-warning-mellow">Overweight</span>
@@ -201,7 +201,7 @@ $copyTriggerAdded = [];
                                             <span class="text-sm text-warning-mellow ml-1">Underweight</span>
                                         @endif
                                         @if($prevBMI >= 18.5 && $prevBMI < 25)
-                                            <span class="text-sm text-success ml-1">Healthy Weight</span>
+                                            <!--<span class="text-sm text-success ml-1">Healthy Weight</span>-->
                                         @endif
                                         @if($prevBMI >= 25 && $prevBMI < 30)
                                             <span class="text-sm text-warning-mellow ml-1">Overweight</span>
@@ -251,7 +251,7 @@ $copyTriggerAdded = [];
                     bmiCategory = '<span class="text-sm text-warning-mellow">Underweight</span>';
                 }
                 else if(bmi >= 18.5 && bmi < 25) {
-                    bmiCategory = '<span class="text-sm text-success">Healthy Weight</span>';
+                    bmiCategory = '<span class="text-sm text-success"></span>';
                 }
                 else if(bmi >= 25 && bmi < 30) {
                     bmiCategory = '<span class="text-sm text-warning-mellow">Overweight</span>';

+ 1 - 1
resources/views/app/patient/segment-templates/vitals/summary.blade.php

@@ -86,7 +86,7 @@ if(!$contentData) {
                             <span class="text-warning-mellow">(Underweight)</span>
                          @endif
                         @if($bmi >= 18.5 && $bmi < 25)
-                            <span class="text-success">(Healthy Weight)</span>
+                             <!--<span class="text-sm text-success">(Healthy Weight)</span>-->
                         @endif
                         @if($bmi >= 25 && $bmi < 30)
                             <span class="text-warning-mellow">(Overweight)</span>

+ 1 - 1
resources/views/app/patient/vitals-settings.blade.php

@@ -64,7 +64,7 @@
                         bmiCategory = '(Underweight)';
                     }
                     if (bmi >= 18.5 && bmi < 25) {
-                        bmiCategory = '(Healthy)';
+                        bmiCategory = '';
                     }
                     if (bmi >= 25 && bmi < 30) {
                         bmiCategory = '(Overweight)';

+ 16 - 2
resources/views/app/practice-management/pro-financials.blade.php

@@ -5,8 +5,22 @@
     <div class="p-3 mcp-theme-1" id="processing-bill-matrix">
 
         <div class="card">
-
-            <div class="card-header px-2 py-1 d-flex align-items-center">
+            <!-- totals -->
+            <div class="card-header px-2 py-2 font-weight-bold bg-white">
+                <div class="d-flex align-items-baseline mb-1">
+                    <div class="font-size-16 width-100px">{{friendly_money($grandTotal)}}</div>
+                    <div class="font-size-16">Total</div>
+                </div>
+                @foreach($companies as $name => $total)
+                    @if(intval(round($total)) !== 0)
+                        <div class="d-flex align-items-baseline">
+                            <div class="width-100px">{{friendly_money($total)}}</div>
+                            <div>{{$name}}</div>
+                        </div>
+                    @endif
+                @endforeach
+            </div>
+            <div class="card-header px-2 py-1 d-flex align-items-center border-bottom-0">
                 <strong class="text-nowrap">
                     <i class="fas fa-user"></i>
                     Pro Financials

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

@@ -12,26 +12,34 @@
     </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>
-        <div class="text-nowrap">
-            <span class="sort-data">{{$iPatient->most_recent_cellular_bp_sbp_mm_hg ?: '-'}}</span>/{{$iPatient->most_recent_cellular_bp_dbp_mm_hg ?: '-'}}
-            @if($iPatient->most_recent_cellular_bp_measurement_at)
-                <span class="text-sm text-secondary text-nowrap ml-1"
-                      title="{{friendly_date_time($iPatient->most_recent_cellular_bp_measurement_at)}}">({{friendly_date_est($iPatient->most_recent_cellular_bp_measurement_at)}})</span>
-            @endif
-        </div>
+        @if($iPatient->most_recent_cellular_bp_sbp_mm_hg && $iPatient->most_recent_cellular_bp_dbp_mm_hg)
+            <div class="text-nowrap">
+                <span class="sort-data">{{$iPatient->most_recent_cellular_bp_sbp_mm_hg ?: '-'}}</span>/{{$iPatient->most_recent_cellular_bp_dbp_mm_hg ?: '-'}}
+                @if($iPatient->most_recent_cellular_bp_measurement_at)
+                    <span class="text-sm text-secondary text-nowrap ml-1"
+                          title="{{friendly_date_time($iPatient->most_recent_cellular_bp_measurement_at)}}">({{friendly_date_est($iPatient->most_recent_cellular_bp_measurement_at)}})</span>
+                @endif
+            </div>
+        @else
+            -
+        @endif
     </td>
     <td>
-        <div class="text-nowrap">
-            <span class="sort-data">{{$iPatient->most_recent_cellular_weight_value ? round($iPatient->most_recent_cellular_weight_value, 1) : '-'}}</span>
-            @if($iPatient->most_recent_cellular_weight_measurement_at)
-                <span class="text-sm text-secondary text-nowrap ml-1"
-                      title="{{friendly_date_time($iPatient->most_recent_cellular_weight_measurement_at)}}">({{friendly_date_est($iPatient->most_recent_cellular_weight_measurement_at)}})</span>
-            @endif
-        </div>
+        @if($iPatient->most_recent_cellular_weight_value)
+            <div class="text-nowrap">
+                <span class="sort-data">{{$iPatient->most_recent_cellular_weight_value ? round($iPatient->most_recent_cellular_weight_value, 1) : '-'}}</span>
+                @if($iPatient->most_recent_cellular_weight_measurement_at)
+                    <span class="text-sm text-secondary text-nowrap ml-1"
+                          title="{{friendly_date_time($iPatient->most_recent_cellular_weight_measurement_at)}}">({{friendly_date_est($iPatient->most_recent_cellular_weight_measurement_at)}})</span>
+                @endif
+            </div>
+        @else
+            -
+        @endif
     </td>
     
     <td>
@@ -80,34 +88,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>

+ 67 - 79
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">
@@ -73,14 +73,36 @@
                     <div class="d-flex align-items-start mt-2 pt-1 border-top">
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_name') ? 'text-info' : 'text-secondary'}}">Name</label>
+                            <label class="mb-0 text-sm {{request()->input('f_ces') && request()->input('f_ces') !== 'ACTIVE' ? 'font-weight-bold text-info' : 'text-secondary'}}">Status</label>
+                            <select name="f_ces" class="mr-2 form-control form-control-sm min-width-unset max-width-110px pl-0">
+                                <option {{!request()->input('f_ces') || request()->input('f_ces') === 'ACTIVE' ? 'selected' : ''}} value="ACTIVE">Active</option>
+                                <option {{request()->input('f_ces') === 'INACTIVE' ? 'selected' : ''}} value="INACTIVE">Inactive</option>
+                                <option {{request()->input('f_ces') === 'ENTRY_ERROR' ? 'selected' : ''}} value="ENTRY_ERROR">Entry Error</option>
+                                <option {{request()->input('f_ces') === 'DUMMY' ? 'selected' : ''}} value="DUMMY">Test Chart</option>
+                                <option {{request()->input('f_ces') === 'DECEASED' ? 'selected' : ''}} value="DECEASED">Deceased</option>
+                                <option {{request()->input('f_ces') === 'DUPLICATE' ? 'selected' : ''}} value="DUPLICATE">Duplicate</option>
+                                <option {{request()->input('f_ces') === 'NO_LONGER_INTERESTED' ? 'selected' : ''}} value="NO_LONGER_INTERESTED">No Longer Interested</option>
+                                <option {{request()->input('f_ces') === 'BAD_RECORD' ? 'selected' : ''}} value="BAD_RECORD">Bad Record</option>
+                                <option {{request()->input('f_ces') === 'NO_LONGER_ELIGIBLE' ? 'selected' : ''}} value="NO_LONGER_ELIGIBLE">No Longer Eligible</option>
+                            </select>
+                        </div>
+
+                        <div>
+                            <label class="mb-0 text-sm {{request()->input('f_name') ? 'font-weight-bold text-info' : 'text-secondary'}}">Name</label>
                             <input type="text"
                                    class="mr-2 form-control form-control-sm min-width-unset max-width-110px"
                                    name="f_name" value="{{request()->input('f_name')}}">
                         </div>
 
+                        <div class="max-width-110px mr-2">
+                            <label class="mb-0 text-sm {{request()->input('f_mcp') ? 'font-weight-bold text-info' : 'text-secondary'}}">MCP</label>
+                            <select name="f_mcp" class="form-control form-control-sm min-width-unset" provider-search provider-type="hcp" data-pro-uid="{{request()->input('f_mcp')}}">
+                                <option value="">--select--</option>
+                            </select>
+                        </div>
+
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_dob') ? 'text-info' : 'text-secondary'}}">DOB</label>
+                            <label class="mb-0 text-sm {{request()->input('f_dob') ? 'font-weight-bold text-info' : 'text-secondary'}}">DOB</label>
                             <div class="d-flex align-items-start">
                                 <select name="f_dob_op"
                                         class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
@@ -96,18 +118,18 @@
                             </div>
                         </div>
 
-                        <div>
-                            <label class="mb-0 text-sm {{request()->input('f_rpm') && request()->input('f_rpm') !== 'any' ? 'text-info' : 'text-secondary'}}">RPM</label>
+                        {{--<div>
+                            <label class="mb-0 text-sm {{request()->input('f_rpm') && request()->input('f_rpm') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">RPM</label>
                             <select name="f_rpm"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_rpm') === 'any' ? 'selected' : ''}} value="any">Any</option>
                                 <option {{request()->input('f_rpm') === 'yes' ? 'selected' : ''}} value="yes">Yes</option>
                                 <option {{request()->input('f_rpm') === 'no' ? 'selected' : ''}} value="no">No</option>
                             </select>
-                        </div>
+                        </div>--}}
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_cell_bp') && request()->input('f_cell_bp') !== 'any' ? 'text-info' : 'text-secondary'}}">Cell. BP</label>
+                            <label class="mb-0 text-sm {{request()->input('f_cell_bp') && request()->input('f_cell_bp') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">Cell. BP</label>
                             <select name="f_cell_bp"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_cell_bp') === 'any' ? 'selected' : ''}} value="any">Any</option>
@@ -117,7 +139,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_cell_wt') && request()->input('f_cell_wt') !== 'any' ? 'text-info' : 'text-secondary'}}">Cell. Wt</label>
+                            <label class="mb-0 text-sm {{request()->input('f_cell_wt') && request()->input('f_cell_wt') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">Cell. Wt</label>
                             <select name="f_cell_wt"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_cell_wt') === 'any' ? 'selected' : ''}} value="any">Any</option>
@@ -127,7 +149,18 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_comm') && request()->input('f_comm') !== 'any' ? 'text-info' : 'text-secondary'}}">Comm.</label>
+                            <label class="mb-0 text-sm {{request()->input('f_lmb') && request()->input('f_lmb') !== 'ACTIVE' ? 'font-weight-bold text-info' : 'text-secondary'}}">LMB</label>
+                            <select name="f_lmb" class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
+                                <option {{request()->input('f_lmb') === 'any' ? 'selected' : ''}} value="any">Any</option>
+                                <option {{request()->input('f_lmb') === '1' ? 'selected' : ''}} value="1">1 day</option>
+                                <option {{request()->input('f_lmb') === '2' ? 'selected' : ''}} value="2">2 days</option>
+                                <option {{request()->input('f_lmb') === '3' ? 'selected' : ''}} value="3">3 days</option>
+                                <option {{request()->input('f_lmb') === '3+' ? 'selected' : ''}} value="3+">3+ days</option>
+                            </select>
+                        </div>
+
+                        <div>
+                            <label class="mb-0 text-sm {{request()->input('f_comm') && request()->input('f_comm') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">Comm.</label>
                             <select name="f_comm"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_comm') === 'any' ? 'selected' : ''}} value="any">Any</option>
@@ -137,7 +170,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_md') ? 'text-info' : 'text-secondary'}}">Meas. Days</label>
+                            <label class="mb-0 text-sm {{request()->input('f_md') ? 'font-weight-bold text-info' : 'text-secondary'}}">Meas. Days</label>
                             <div class="d-flex align-items-start">
                                 <select name="f_md_op"
                                         class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
@@ -154,7 +187,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_unst') ? 'text-info' : 'text-secondary'}}">Unstamped</label>
+                            <label class="mb-0 text-sm {{request()->input('f_unst') ? 'font-weight-bold text-info' : 'text-secondary'}}">Unstamped</label>
                             <div class="d-flex align-items-start">
                                 <select name="f_unst_op"
                                         class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
@@ -171,7 +204,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_mcp_mins') ? 'text-info' : 'text-secondary'}}">MCP Mins.</label>
+                            <label class="mb-0 text-sm {{request()->input('f_mcp_mins') ? 'font-weight-bold text-info' : 'text-secondary'}}">MCP Mins.</label>
                             <div class="d-flex align-items-start">
                                 <select name="f_mcp_mins_op"
                                         class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
@@ -188,7 +221,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_rmm_mins') ? 'text-info' : 'text-secondary'}}">RMM Mins.</label>
+                            <label class="mb-0 text-sm {{request()->input('f_rmm_mins') ? 'font-weight-bold text-info' : 'text-secondary'}}">RMM Mins.</label>
                             <div class="d-flex align-items-start">
                                 <select name="f_rmm_mins_op"
                                         class="mr-1 form-control form-control-sm min-width-unset width-40px pl-0">
@@ -204,8 +237,9 @@
                             </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>
+                            <label class="mb-0 text-sm {{request()->input('f_mcp_billable') && request()->input('f_mcp_billable') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">MCP Billable</label>
                             <select name="f_mcp_billable"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_mcp_billable') === 'all' ? 'selected' : ''}} value="any">All</option>
@@ -215,7 +249,7 @@
                         </div>
 
                         <div>
-                            <label class="mb-0 text-sm {{request()->input('f_rmm_billable') && request()->input('f_rmm_billable') !== 'any' ? 'text-info' : 'text-secondary'}}">RMM Billable</label>
+                            <label class="mb-0 text-sm {{request()->input('f_rmm_billable') && request()->input('f_rmm_billable') !== 'any' ? 'font-weight-bold text-info' : 'text-secondary'}}">RMM Billable</label>
                             <select name="f_rmm_billable"
                                     class="mr-2 form-control form-control-sm min-width-unset width-70px pl-0">
                                 <option {{request()->input('f_rmm_billable') === 'all' ? 'selected' : ''}} value="any">All</option>
@@ -223,6 +257,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 +268,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/patient-header.blade.php

@@ -344,7 +344,7 @@ $addressParts .= implode(", ", $addressPart2);
               </span> 
             </div>
             @if($performer->pro->pro_type == 'ADMIN')
-              @if(true || @$patient->mpb_remaining)
+              @if(@$patient->mpb_remaining)
                 <div class="ml-2">Deductible: {{format_number(@$patient->mpb_remaining)}} </div>
               @endif
             @endif 

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