Jelajahi Sumber

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

= 2 tahun lalu
induk
melakukan
ff258a3987
75 mengubah file dengan 2294 tambahan dan 818 penghapusan
  1. 4 0
      app/Http/Controllers/PatientController.php
  2. 39 0
      app/Models/Client.php
  3. 1 1
      config/app.php
  4. 2 0
      config/stag.php
  5. 1 1
      js-dev/shortcut.js
  6. 4 4
      js-dev/stag-popup.js
  7. 20 2
      js-dev/stag-suggest.js
  8. 3 3
      public/css/style.css
  9. 17 0
      resources/views/app/admin/patients-table-extended.blade.php
  10. 6 6
      resources/views/app/patient/allergies-center.blade.php
  11. 6 6
      resources/views/app/patient/careteam-center.blade.php
  12. 6 6
      resources/views/app/patient/goals-center.blade.php
  13. 6 6
      resources/views/app/patient/medications-center.blade.php
  14. 1 1
      resources/views/app/patient/module-specific-summary-renderers/allergy/plan.blade.php
  15. 1 1
      resources/views/app/patient/module-specific-summary-renderers/care_team_member/plan.blade.php
  16. 1 1
      resources/views/app/patient/module-specific-summary-renderers/goal/plan.blade.php
  17. 2 2
      resources/views/app/patient/module-specific-summary-renderers/medication/plan.blade.php
  18. 5 1
      resources/views/app/patient/module-specific-summary-renderers/nutrition/plan.blade.php
  19. 6 2
      resources/views/app/patient/module-specific-summary-renderers/nutrition/subjective.blade.php
  20. 1 1
      resources/views/app/patient/module-specific-summary-renderers/problem/plan.blade.php
  21. 5 0
      resources/views/app/patient/note/dashboard.blade.php
  22. 1 1
      resources/views/app/patient/note/dashboard_script.blade.php
  23. 1 0
      resources/views/app/patient/note/lhs-tree.blade.php
  24. 1 0
      resources/views/app/patient/note/sign-confirmation.blade.php
  25. 1 1
      resources/views/app/patient/nutrition-center.blade.php
  26. 84 85
      resources/views/app/patient/problems-center.blade.php
  27. 1 1
      resources/views/app/patient/segment-templates/_child_plan/exercise/AEROBIC_ACTIVITY/edit-plan.php
  28. 45 43
      resources/views/app/patient/segment-templates/_child_plan/exercise/AEROBIC_ACTIVITY/view-plan.php
  29. 8 7
      resources/views/app/patient/segment-templates/_child_plan/exercise/NEAT/edit-plan.php
  30. 20 18
      resources/views/app/patient/segment-templates/_child_plan/exercise/NEAT/view-plan.php
  31. 8 7
      resources/views/app/patient/segment-templates/_child_plan/exercise/STRENGTH_TRAINING/edit-plan.php
  32. 25 23
      resources/views/app/patient/segment-templates/_child_plan/exercise/STRENGTH_TRAINING/view-plan.php
  33. 1 1
      resources/views/app/patient/segment-templates/_child_review/exercise/AEROBIC_ACTIVITY/edit-review.php
  34. 45 43
      resources/views/app/patient/segment-templates/_child_review/exercise/AEROBIC_ACTIVITY/view-review.php
  35. 8 7
      resources/views/app/patient/segment-templates/_child_review/exercise/NEAT/edit-review.php
  36. 20 18
      resources/views/app/patient/segment-templates/_child_review/exercise/NEAT/view-review.php
  37. 8 7
      resources/views/app/patient/segment-templates/_child_review/exercise/STRENGTH_TRAINING/edit-review.php
  38. 25 23
      resources/views/app/patient/segment-templates/_child_review/exercise/STRENGTH_TRAINING/view-review.php
  39. 1 1
      resources/views/app/patient/segment-templates/intake_nutrition/summary.blade.php
  40. 5 1
      resources/views/app/patient/segment-templates/omega_allergies/summary.blade.php
  41. 5 1
      resources/views/app/patient/segment-templates/omega_care_team/summary.blade.php
  42. 5 1
      resources/views/app/patient/segment-templates/omega_goals/summary.blade.php
  43. 10 6
      resources/views/app/patient/segment-templates/omega_medications/summary.blade.php
  44. 17 13
      resources/views/app/patient/segment-templates/omega_problems/summary.blade.php
  45. 1 1
      resources/views/app/patient/segment-templates/plan_nutrition/summary.blade.php
  46. 233 0
      resources/views/app/patient/sleep-study-actions-from-note.blade.php
  47. 77 46
      resources/views/app/patient/sleep-study.blade.php
  48. 60 0
      resources/views/app/patient/sleep-study/app-installation.blade.php
  49. 55 0
      resources/views/app/patient/sleep-study/device-allocation.blade.php
  50. 4 4
      resources/views/app/patient/sleep-study/insurance-coverage.blade.php
  51. 77 0
      resources/views/app/patient/sleep-study/manager-bill.blade.php
  52. 26 4
      resources/views/app/patient/sleep-study/manager.blade.php
  53. 102 5
      resources/views/app/patient/sleep-study/medical-necessity.blade.php
  54. 4 4
      resources/views/app/patient/sleep-study/patient-interest.blade.php
  55. 55 0
      resources/views/app/patient/sleep-study/patient-ready.blade.php
  56. 46 0
      resources/views/app/patient/sleep-study/receipt-by-client.blade.php
  57. 46 0
      resources/views/app/patient/sleep-study/receipt-by-manager.blade.php
  58. 70 0
      resources/views/app/patient/sleep-study/results-comm-to-doctors.blade.php
  59. 38 0
      resources/views/app/patient/sleep-study/results-comm-to-patient.blade.php
  60. 55 0
      resources/views/app/patient/sleep-study/shipment-to-client.blade.php
  61. 55 0
      resources/views/app/patient/sleep-study/shipment-to-manager.blade.php
  62. 2 2
      resources/views/app/patient/sleep-study/signs-and-symptoms.blade.php
  63. 421 392
      resources/views/app/patient/sleep-study/sleep-apnea-background.blade.php
  64. 77 0
      resources/views/app/patient/sleep-study/sleep-specialist-bill.blade.php
  65. 25 0
      resources/views/app/patient/sleep-study/sleep-specialist.blade.php
  66. 2 2
      resources/views/app/patient/sleep-study/sleep-study-address.blade.php
  67. 58 0
      resources/views/app/patient/sleep-study/study-authorization.blade.php
  68. 60 0
      resources/views/app/patient/sleep-study/study-data-status.blade.php
  69. 38 0
      resources/views/app/patient/sleep-study/study-instructions.blade.php
  70. 59 0
      resources/views/app/patient/sleep-study/study-order.blade.php
  71. 42 0
      resources/views/app/patient/sleep-study/watchpat-results.blade.php
  72. 5 2
      resources/views/app/patient/wizard-partials/common-fields-add.blade.php
  73. 17 3
      resources/views/app/patient/wizard-partials/common-script.blade.php
  74. 1 1
      resources/views/layouts/patient-header.blade.php
  75. 1 0
      routes/web.php

+ 4 - 0
app/Http/Controllers/PatientController.php

@@ -525,6 +525,10 @@ class PatientController extends Controller
         return view('app.patient.sleep-study', compact('patient'));
     }
 
+    public function sleepStudyStep(Request $request, Client $patient) {
+        return view('app.patient.sleep-study.' . $request->input('step'), compact('patient'));
+    }
+
     public function tickets(Request $request, Client $patient, $type = '', String $currentTicket = '') {
         $pros = $this->pros;
         $allPros = Pro::all();

+ 39 - 0
app/Models/Client.php

@@ -140,6 +140,41 @@ class Client extends Model
         return $this->hasOne(Pro::class, 'id', 'watch_pat_manager_pro_id');
     }
 
+    public function watchPatManagerBill()
+    {
+        return $this->hasOne(Bill::class, 'id', 'watch_pat_manager_bill_id');
+    }
+
+    public function watchPatSleepSpecialistPro()
+    {
+        return $this->hasOne(Pro::class, 'id', 'watch_pat_sleep_specialist_id');
+    }
+
+    public function watchPatSleepSpecialistBill()
+    {
+        return $this->hasOne(Bill::class, 'id', 'watch_pat_sleep_specialist_bill_id');
+    }
+
+    public function watchPatMedicalNecessityNote()
+    {
+        return $this->hasOne(Note::class, 'id', 'watch_pat_medical_necessity_note_id');
+    }
+
+    public function watchPatStudyInstructionsNote()
+    {
+        return $this->hasOne(Note::class, 'id', 'watch_pat_study_instructions_note_id');
+    }
+
+    public function watchPatStudyOrderedNote()
+    {
+        return $this->hasOne(Note::class, 'id', 'watch_pat_study_ordered_note_id');
+    }
+
+    public function watchPatResultsCommunicatedToPatientNote()
+    {
+        return $this->hasOne(Note::class, 'id', 'watch_pat_results_communicated_to_patient_note_id');
+    }
+
     public function stickyNoteUpdatedBySession()
     {
         return $this->hasOne(AppSession::class, 'id', 'sticky_note_updated_by_session_id');
@@ -1090,4 +1125,8 @@ ORDER BY m.ts DESC
             ->orderBy('created_at', 'desc');
     }
 
+    public function lastMemo() {
+        return ClientMemo::where('client_id', $this->id)->orderBy('created_at', 'DESC')->first();
+    }
+
 }

+ 1 - 1
config/app.php

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

+ 2 - 0
config/stag.php

@@ -21,6 +21,7 @@ return [
                 'omega_allergies',
                 'omega_subjective_system',
                 'omega_plan_system',
+                'omega_assessment_system',
             ],
             'medication' => [
                 'intake_medications',
@@ -37,6 +38,7 @@ return [
                 'problems',
                 'omega_subjective_system',
                 'omega_plan_system',
+                'omega_assessment_system',
             ],
             'goal' => [
                 'intake_goals',

+ 1 - 1
js-dev/shortcut.js

@@ -91,7 +91,7 @@
                     document.execCommand("delete", true, null);
                 }
             }
-            if(_clearReturn) document.execCommand("delete", true, null);
+            // if(_clearReturn) document.execCommand("delete", true, null);
             document.execCommand("insertText", true, options[index].value);
             discard();
         }

+ 4 - 4
js-dev/stag-popup.js

@@ -48,12 +48,12 @@ function closeStagPopup(_noEvent = false) {
     else {
         if(popup.is('[update-parent]') && !_noEvent) {
             let hook = popup.attr('update-parent');
-            if(!!$.trim(hook)) {
+            if(!!$.trim(hook) && $.trim(hook) !== 'true') {
                 let hooks = hook.split(',');
                 for (let i = 0; i < hooks.length; i++) {
-                    hooks[i] = $.trim(hooks);
-                    if(hasMCHook(hooks)) {
-                        runMCHook(hooks);
+                    hooks[i] = $.trim(hooks[i]);
+                    if(hasMCHook(hooks[i])) {
+                        runMCHook(hooks[i]);
                     }
                 }
             }

+ 20 - 2
js-dev/stag-suggest.js

@@ -135,7 +135,16 @@
                                 .siblings().removeClass('active');
                             activeItem = suggestionsOuter.find('.suggest-item.active');
                             if (activeItem.length) {
-                                activeItem[0].scrollIntoView();
+                                if(activeItem[0].scrollIntoViewIfNeeded) {
+                                    activeItem[0].scrollIntoViewIfNeeded(false);
+                                }
+                                else {
+                                    activeItem[0].scrollIntoView({
+                                        behavior: "auto",
+                                        block: "start",
+                                        inline: "start"
+                                    });
+                                }
                             }
                         }
                         return false;
@@ -149,7 +158,16 @@
                                 .siblings().removeClass('active');
                             activeItem = suggestionsOuter.find('.suggest-item.active');
                             if (activeItem.length) {
-                                activeItem[0].scrollIntoView();
+                                if(activeItem[0].scrollIntoViewIfNeeded) {
+                                    activeItem[0].scrollIntoViewIfNeeded(false);
+                                }
+                                else {
+                                    activeItem[0].scrollIntoView({
+                                        behavior: "auto",
+                                        block: "end",
+                                        inline: "end"
+                                    });
+                                }
                             }
                         }
                         return false;

+ 3 - 3
public/css/style.css

@@ -1354,6 +1354,9 @@ body .node input[type="number"] {
     padding-top: 1rem;
     border-top: 1px solid #e1e1e1;
 }
+.stag-popup.fit-height .stag-fc-container {
+    max-height: calc(100vh - 180px);
+}
 
 /* draggable popup */
 .stag-popup.draggable .stag-popup-content {
@@ -3801,6 +3804,3 @@ table.v-top th {
     padding: 0.5rem 1.25rem;
     width: 250px;
 }
-.ss-content>[data-key] {
-    min-height: 100%;
-}

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

@@ -29,6 +29,7 @@
             <th class="border-0 text-secondary">Age</th>
             <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'Last Visit', 'key' => 'most_recent_completed_mcp_note_date'])</th>
             <th class="border-0 text-secondary"></th>
+            <th class="border-0 text-secondary">Last Memo</th>
             <th class="border-0 text-secondary">Notes</th>
             <th class="border-0 text-secondary">Next Appt.</th>
             <th class="border-0">@include('app.practice-management._sort_header', ['route' => route("admin.patients"), 'label' => 'BP/Pulse Timestamp', 'key' => 'most_recent_cellular_bp_measurement_at'])</th>
@@ -117,6 +118,22 @@
                         <small class="text-muted">{{ $patient->lastMcpAppointment->pro->displayName() }}</small>
                     @endif
                 </td>
+                <td>
+                    <?php $lastMemo = $patient->lastMemo(); ?>
+                    @if($lastMemo)
+                        {{friendly_date($lastMemo->created_at)}}
+                        <?php
+                        $daysAgo = date_diff(date_create($lastMemo->created_at), date_create('now'))->days;
+                        if ($daysAgo > 0) {
+                            ?>
+                            <span class="text-sm text-secondary">({{$daysAgo}} day{{$daysAgo > 1 ? 's' : ''}} ago)</span>
+                            <?php
+                        }
+                        ?>
+                    @else
+                        -
+                    @endif
+                </td>
                 <td class="p-0 pb-1">
                     <div if-details-view>
                     @if(count($patient->activeNotes))

+ 6 - 6
resources/views/app/patient/allergies-center.blade.php

@@ -281,13 +281,10 @@ if(!@$summaryView) {
         <div class="d-flex align-items-center">
             <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
                 <div class="d-flex align-items-baseline mb-3" tab-links="">
-                    <a class="tab-link-active" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
-                    <a class="" href="#" tab-link="add-single">Add Single</a>
+                    <a class="tab-link-active" href="#" tab-link="add-single">Add Single</a>
+                    <a class="" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
                 </div>
-                <div class="cm-tab" tab-key="add-multiple-pre-existing">
-                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'allergy', 'adder' => 'Diagnosed By'])
-                </div>
-                <div class="cm-tab d-none" tab-key="add-single">
+                <div class="cm-tab" tab-key="add-single">
                     <div class="row">
                         <div class="col-8">
                             <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-allergy" novalidate>
@@ -345,6 +342,9 @@ if(!@$summaryView) {
                         </div>
                     </div>
                 </div>
+                <div class="cm-tab d-none" tab-key="add-multiple-pre-existing">
+                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'allergy', 'adder' => 'Diagnosed By'])
+                </div>
             </div>
         </div>
         @endif

+ 6 - 6
resources/views/app/patient/careteam-center.blade.php

@@ -273,13 +273,10 @@ if(!@$careTeamMembers || !@$counts) {
             <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
 
                 <div class="d-flex align-items-baseline mb-3" tab-links="">
-                    <a class="tab-link-active" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
-                    <a class="" href="#" tab-link="add-single">Add Single</a>
+                    <a class="tab-link-active" href="#" tab-link="add-single">Add Single</a>
+                    <a class="" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
                 </div>
-                <div class="cm-tab" tab-key="add-multiple-pre-existing">
-                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'care team member', 'category' => 'CARE_TEAM_MEMBER', 'adder' => 'Added By'])
-                </div>
-                <div class="cm-tab d-none" tab-key="add-single">
+                <div class="cm-tab" tab-key="add-single">
                 <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-care-team-member" novalidate>
                     <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
                     <input type="hidden" name="category" value="CARE_TEAM_MEMBER">
@@ -361,6 +358,9 @@ if(!@$careTeamMembers || !@$counts) {
                     </div>
                 </form>
                 </div>
+                <div class="cm-tab d-none" tab-key="add-multiple-pre-existing">
+                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'care team member', 'category' => 'CARE_TEAM_MEMBER', 'adder' => 'Added By'])
+                </div>
             </div>
         </div>
         @endif

+ 6 - 6
resources/views/app/patient/goals-center.blade.php

@@ -207,13 +207,10 @@ if(!@$goals || !@$counts) {
             <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
 
                 <div class="d-flex align-items-baseline mb-3" tab-links="">
-                    <a class="tab-link-active" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
-                    <a class="" href="#" tab-link="add-single">Add Single</a>
+                    <a class="tab-link-active" href="#" tab-link="add-single">Add Single</a>
+                    <a class="" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
                 </div>
-                <div class="cm-tab" tab-key="add-multiple-pre-existing">
-                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'goal', 'adder' => 'Added By'])
-                </div>
-                <div class="cm-tab d-none" tab-key="add-single">
+                <div class="cm-tab" tab-key="add-single">
 
                 <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-goal" novalidate>
                     <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
@@ -253,6 +250,9 @@ if(!@$goals || !@$counts) {
                 </form>
 
                 </div>
+                <div class="cm-tab d-none" tab-key="add-multiple-pre-existing">
+                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'goal', 'adder' => 'Added By'])
+                </div>
             </div>
         </div>
         @endif

+ 6 - 6
resources/views/app/patient/medications-center.blade.php

@@ -284,13 +284,10 @@ if(!@$summaryView) {
         <div class="d-flex align-items-center">
             <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
                 <div class="d-flex align-items-baseline mb-3" tab-links="">
-                    <a class="tab-link-active" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
-                    <a class="" href="#" tab-link="add-single">Add Single</a>
+                    <a class="tab-link-active" href="#" tab-link="add-single">Add Single</a>
+                    <a class="" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
                 </div>
-                <div class="cm-tab" tab-key="add-multiple-pre-existing">
-                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'medication', 'adder' => 'Prescriber'])
-                </div>
-                <div class="cm-tab d-none" tab-key="add-single">
+                <div class="cm-tab" tab-key="add-single">
                     <div class="row">
                         <div class="col-8">
                             <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-medication" novalidate>
@@ -371,6 +368,9 @@ if(!@$summaryView) {
                         </div>
                     </div>
                 </div>
+                <div class="cm-tab d-none" tab-key="add-multiple-pre-existing">
+                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'medication', 'adder' => 'Prescriber'])
+                </div>
             </div>
         </div>
         @endif

+ 1 - 1
resources/views/app/patient/module-specific-summary-renderers/allergy/plan.blade.php

@@ -34,7 +34,7 @@
                             <?php if(!!$plan && @$plan->data->value): ?>
                             <span class="pr-2">{!! $plan->data->value !!}</span>
                             <?php endif; ?>
-                            <span class="text-nowrap d-none">
+                            <span class="text-nowrap">
                                 <?php if ($point->is_removed): ?>
                                 @if($point->removal_reason_category === 'DURING_VISIT')
                                     <span class="text-sm text-secondary">Removed during visit</span>

+ 1 - 1
resources/views/app/patient/module-specific-summary-renderers/care_team_member/plan.blade.php

@@ -34,7 +34,7 @@
                             <?php if(!!$plan && @$plan->data->value): ?>
                             <span class="pr-2">{!! $plan->data->value !!}</span>
                             <?php endif; ?>
-                            <span class="text-nowrap d-none">
+                            <span class="text-nowrap">
                                 <?php if ($point->is_removed): ?>
                                 @if($point->removal_reason_category === 'DURING_VISIT')
                                     <span class="text-sm text-secondary">Removed during visit</span>

+ 1 - 1
resources/views/app/patient/module-specific-summary-renderers/goal/plan.blade.php

@@ -34,7 +34,7 @@
                             <?php if(!!$plan): ?>
                             <span class="pr-2">{!! $plan->data->value !!}</span>
                             <?php endif; ?>
-                            <span class="text-nowrap d-none">
+                            <span class="text-nowrap">
                                 <?php if ($point->is_removed): ?>
                                 @if($point->removal_reason_category === 'DURING_VISIT')
                                     <span class="text-sm text-secondary">Removed during visit</span>

+ 2 - 2
resources/views/app/patient/module-specific-summary-renderers/medication/plan.blade.php

@@ -29,7 +29,7 @@
                             <?php
                             if($point->lastChildReview) {
                                 $review = json_decode($point->lastChildReview->data);
-                                if(isset($review->value) && isset($review->experience)) {
+                                if(isset($review->value) && !!$review->value && isset($review->experience)) {
                                     ?>
                                     <span class="text-dark text-sm ml-1">({{$review->value}})</span>
                                     <?php
@@ -44,7 +44,7 @@
                             <?php if(!!$plan && @$plan->data->value): ?>
                             <span class="pr-2">{!! $plan->data->value !!}</span>
                             <?php endif; ?>
-                            <span class="text-nowrap d-none">
+                            <span class="text-nowrap">
                                 <?php if ($point->is_removed): ?>
                                 @if($point->removal_reason_category === 'DURING_VISIT')
                                     <span class="text-sm text-secondary">Removed during visit</span>

+ 5 - 1
resources/views/app/patient/module-specific-summary-renderers/nutrition/plan.blade.php

@@ -25,7 +25,11 @@
                     </td>
                     <td class="px-2">
                         <div class=" <?= $point->is_removed ? 'strike-through' : '' ?> grow-till-300px">
-                            {{ucwords(str_replace('_', ' ', strtolower($point->category)))}}
+                            @if($point->category === 'HIGH_SUGAR_BEVERAGES')
+                                Beverages
+                            @else
+                                {{ucwords(str_replace('_', ' ', strtolower($point->category)))}}
+                            @endif
                         </div>
                     </td>
                     <td class="width-300px">

+ 6 - 2
resources/views/app/patient/module-specific-summary-renderers/nutrition/subjective.blade.php

@@ -20,12 +20,16 @@
                         @if($rel)
                             {{ $j }}.*
                         @else
-                            {{ $j }}.
+                            {{ $j }}.1
                         @endif
                     </td>
                     <td class="px-2">
                         <div class=" <?= $point->is_removed ? 'strike-through' : '' ?> grow-till-300px">
-                            {{ucwords(str_replace('_', ' ', strtolower($point->category)))}}
+                            @if($point->category === 'HIGH_SUGAR_BEVERAGES')
+                                Beverages
+                            @else
+                                {{ucwords(str_replace('_', ' ', strtolower($point->category)))}}
+                            @endif
                         </div>
                     </td>
                     <td class="width-300px">

+ 1 - 1
resources/views/app/patient/module-specific-summary-renderers/problem/plan.blade.php

@@ -35,7 +35,7 @@
                             <?php if(!!$plan && @$plan->data->value): ?>
                             <span class="pr-2">{!! $plan->data->value !!}</span>
                             <?php endif; ?>
-                            <span class="text-nowrap d-none">
+                            <span class="text-nowrap">
                                 <?php if ($point->is_removed): ?>
                                 @if($point->removal_reason_category === 'DURING_VISIT')
                                     <span class="text-sm text-secondary">Removed during visit</span>

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

@@ -1090,6 +1090,10 @@ use App\Models\Handout;
                     @include('app.patient.handouts-list', compact('patient', 'clientHandouts', 'handouts', 'note'))
                 </div>
 
+                <div class="p-3 border-bottom screen-only" data-non-segment-section="Sleep Study">
+                    @include('app.patient.sleep-study-actions-from-note', compact('patient', 'note'))
+                </div>
+
                 @if($pro->pro_type === 'ADMIN' && $note->hcpPro)
                 <div class="p-3 border-bottom mt-2 screen-only">
                     <div class="">
@@ -1846,6 +1850,7 @@ use App\Models\Handout;
                     @endif
                     addMCHook('onNoteMethodUpdate', function() {
                         refreshSegment('disclaimers');
+                        refreshSegment('omega_informed_consent');
                         fastReload();
                     });
                     $(document)

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

@@ -26,7 +26,7 @@
                                 'patient-calendar-{{$patient->id}}',
                                 'Book follow-up appointment for {{$patient->displayName()}}',
                                 true,
-                                'medium-large'
+                                'medium-large fit-height'
                             );
                         }
                         else {

+ 1 - 0
resources/views/app/patient/note/lhs-tree.blade.php

@@ -48,6 +48,7 @@
     <hr>
     <div class="note-tree-node"><a native="" target="_top" data-non-segment-target="ICDs" href="#">ICDs</a></div>
     <div class="note-tree-node"><a native="" target="_top" data-non-segment-target="Handouts" href="#">Handouts</a></div>
+    <div class="note-tree-node"><a native="" target="_top" data-non-segment-target="Sleep Study" href="#">Sleep Study</a></div>
     @if(!$note->is_non_medical || true)
     <div class="note-tree-node"><a native="" target="_top" data-non-segment-target="Prescriptions" href="#">ERx &amp; Orders</a></div>
     @endif

+ 1 - 0
resources/views/app/patient/note/sign-confirmation.blade.php

@@ -192,6 +192,7 @@
                         if(!hasResponseError(_data)) {
                             toastr.success('Note signed');
                             closeStagPopup();
+                            fastReload();
                         }
                     }, 'json');
                     return false;

+ 1 - 1
resources/views/app/patient/nutrition-center.blade.php

@@ -19,7 +19,7 @@ $dailyIntakeCarbohydrates = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAK
 $dailyIntakeCalories = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAKE_CALORIES');
 
 $points = [
-    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'High Sugar Beverages', "point" => $highSugarBeverages],
+    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'Beverages', "point" => $highSugarBeverages],
     ["category" => 'WATER_INTAKE', "name" => 'Water Intake', "point" => $waterIntake],
     ["category" => 'FAST_FOOD', "name" => 'Fast Food', "point" => $fastFood],
     ["category" => 'SNACKS', "name" => 'Snacks', "point" => $snacks],

+ 84 - 85
resources/views/app/patient/problems-center.blade.php

@@ -316,102 +316,101 @@ if(!@$summaryView) {
         <div class="d-flex align-items-center">
             <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
 
-                    <div class="d-flex align-items-baseline mb-3" tab-links="">
-                        <a class="tab-link-active" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
-                        <a class="" href="#" tab-link="add-single">Add Single</a>
-                    </div>
-                    <div class="cm-tab" tab-key="add-multiple-pre-existing">
-                        @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'problem', 'adder' => 'Diagnosed By'])
-                    </div>
-                    <div class="cm-tab d-none" tab-key="add-single">
-                        <div class="row">
-                            <div class="col-8">
-                                <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-problem" novalidate>
-                                    <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
-                                    <input type="hidden" name="category" value="PROBLEM">
-                                    <input type="hidden" name="data">
-
-                                    <input type="hidden" data-name="dxid">
-                                    <input type="hidden" data-name="icd-type">
-
-                                    <input type="hidden" name="isRemovedDueToEntryError" value="0">
-
-                                    <div class="d-flex align-items-baseline mb-2">
-                                        <b>Add Problem</b>
-                                        @if(count($favorites))
-                                            <div class="d-inline position-relative on-click-menu ml-4">
-                                                    <span class="text-primary c-pointer">
-                                                        <i class="fa fa-bookmark text-info mr-1"></i> Common Problems <i class="ml-1 fa fa-caret-down"></i>
-                                                    </span>
-                                                <div menu right class="bg-white border">
-                                                    @foreach($favorites as $favorite)
-                                                        <a native target="_blank" href="#"
-                                                           data-name="{{@($favorite->data->name)}}"
-                                                           data-dxid="{{@($favorite->data->dxid)}}"
-                                                           data-icd="{{@($favorite->data->icd)}}"
-                                                           data-icd-type="{{@($favorite->data->{'icd-type'})}}"
-                                                           class="px-2 py-1 d-block text-nowrap text-sm favorite-item">
-                                                            {{$favorite->data->name}}
-                                                        </a>
-                                                    @endforeach
-                                                </div>
+                <div class="d-flex align-items-baseline mb-3" tab-links="">
+                    <a class="tab-link-active" href="#" tab-link="add-single">Add Single</a>
+                    <a class="" href="#" tab-link="add-multiple-pre-existing">Add Multiple Pre-existing</a>
+                </div>
+                <div class="cm-tab" tab-key="add-single">
+                    <div class="row">
+                        <div class="col-8">
+                            <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-problem" novalidate>
+                                <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
+                                <input type="hidden" name="category" value="PROBLEM">
+                                <input type="hidden" name="data">
+
+                                <input type="hidden" data-name="dxid">
+                                <input type="hidden" data-name="icd-type">
+
+                                <input type="hidden" name="isRemovedDueToEntryError" value="0">
+
+                                <div class="d-flex align-items-baseline mb-2">
+                                    <b>Add Problem</b>
+                                    @if(count($favorites))
+                                        <div class="d-inline position-relative on-click-menu ml-4">
+                                                <span class="text-primary c-pointer">
+                                                    <i class="fa fa-bookmark text-info mr-1"></i> Common Problems <i class="ml-1 fa fa-caret-down"></i>
+                                                </span>
+                                            <div menu right class="bg-white border">
+                                                @foreach($favorites as $favorite)
+                                                    <a native target="_blank" href="#"
+                                                       data-name="{{@($favorite->data->name)}}"
+                                                       data-dxid="{{@($favorite->data->dxid)}}"
+                                                       data-icd="{{@($favorite->data->icd)}}"
+                                                       data-icd-type="{{@($favorite->data->{'icd-type'})}}"
+                                                       class="px-2 py-1 d-block text-nowrap text-sm favorite-item">
+                                                        {{$favorite->data->name}}
+                                                    </a>
+                                                @endforeach
                                             </div>
-                                        @endif
-                                    </div>
-                                    <div class="row mb-2">
-                                        <div class="col-8 pr-0">
-                                            <label class="text-sm mb-0 font-weight-bold">Name</label>
-                                            <input type="text"
-                                                   data-name="name"
-                                                   class="form-control form-control-sm"
-                                                   stag-suggest
-                                                   stag-suggest-bottom-left
-                                                   stag-suggest-ep="/fdb-dx-suggest-v2/json"
-                                                   stag-suggest-text-only
-                                                   value="{{trim(request()->input('dx')) ? trim(request()->input('dx')) : ''}}"
-                                                   required>
                                         </div>
-                                        <div class="col-4">
-                                            <label class="text-sm mb-0 font-weight-bold">ICD</label>
-                                            <input type="text"
-                                                   data-name="icd"
-                                                   class="form-control form-control-sm min-width-unset">
-                                        </div>
-                                    </div>
-
-                                    <?php $point = null; ?>
-                                    @include('app.patient.wizard-partials.common-fields-optimized', ['label' => 'problem', 'addVerbPT' => 'Added', 'reviewLabel' => 'Subjective/HPI', 'apTerm' => 'assessment/plan'])
-
-                                    <div class="d-flex align-items-center">
-                                        <button type="submit" class="btn btn-sm btn-primary mr-2">Save Problem</button>
-                                        <button type="button" class="btn btn-sm btn-default border-secondary bg-white border mr-2" onclick="return closeStagPopup()">Close</button>
+                                    @endif
+                                </div>
+                                <div class="row mb-2">
+                                    <div class="col-8 pr-0">
+                                        <label class="text-sm mb-0 font-weight-bold">Name</label>
+                                        <input type="text"
+                                               data-name="name"
+                                               class="form-control form-control-sm"
+                                               stag-suggest
+                                               stag-suggest-bottom-left
+                                               stag-suggest-ep="/fdb-dx-suggest-v2/json"
+                                               stag-suggest-text-only
+                                               value="{{trim(request()->input('dx')) ? trim(request()->input('dx')) : ''}}"
+                                               required>
                                     </div>
-                                </form>
-                            </div>
-                            <div class="col-4 border-left">
-
-                                <?php
-                                $medications = \App\Models\Point::getPointsOfCategory($patient, "MEDICATION");
-                                ?>
-                                @if(count($medications))
-                                    <h6 class="my-0 font-weight-bold text-secondary mb-2">Active Medications</h6>
-                                    <div class="bg-light border px-2 pt-2 pb-1 mb-0">
-                                        @foreach($medications as $medication)
-                                            <div class="mb-1">
-                                                <b><?= !!@($medication->data->name) ? @($medication->data->name) : '-' ?></b>
-                                            </div>
-                                        @endforeach
+                                    <div class="col-4">
+                                        <label class="text-sm mb-0 font-weight-bold">ICD</label>
+                                        <input type="text"
+                                               data-name="icd"
+                                               class="form-control form-control-sm min-width-unset">
                                     </div>
-                                    <hr class="my-3 m-neg-3">
-                                @endif
+                                </div>
 
-                                <div class="fdb-dx-vigilance max-height-400px overflow-auto">
+                                <?php $point = null; ?>
+                                @include('app.patient.wizard-partials.common-fields-optimized', ['label' => 'problem', 'addVerbPT' => 'Added', 'reviewLabel' => 'Subjective/HPI', 'apTerm' => 'assessment/plan'])
 
+                                <div class="d-flex align-items-center">
+                                    <button type="submit" class="btn btn-sm btn-primary mr-2">Save Problem</button>
+                                    <button type="button" class="btn btn-sm btn-default border-secondary bg-white border mr-2" onclick="return closeStagPopup()">Close</button>
                                 </div>
+                            </form>
+                        </div>
+                        <div class="col-4 border-left">
+
+                            <?php
+                            $medications = \App\Models\Point::getPointsOfCategory($patient, "MEDICATION");
+                            ?>
+                            @if(count($medications))
+                                <h6 class="my-0 font-weight-bold text-secondary mb-2">Active Medications</h6>
+                                <div class="bg-light border px-2 pt-2 pb-1 mb-0">
+                                    @foreach($medications as $medication)
+                                        <div class="mb-1">
+                                            <b><?= !!@($medication->data->name) ? @($medication->data->name) : '-' ?></b>
+                                        </div>
+                                    @endforeach
+                                </div>
+                                <hr class="my-3 m-neg-3">
+                            @endif
+
+                            <div class="fdb-dx-vigilance max-height-400px overflow-auto">
+
                             </div>
                         </div>
                     </div>
                 </div>
+                <div class="cm-tab d-none" tab-key="add-multiple-pre-existing">
+                    @include('app.patient.wizard-partials.add-multiple-pre-existing', ['label' => 'problem', 'adder' => 'Diagnosed By'])
+                </div>
             </div>
         </div>
         @endif

+ 1 - 1
resources/views/app/patient/segment-templates/_child_plan/exercise/AEROBIC_ACTIVITY/edit-plan.php

@@ -176,7 +176,7 @@
     </tbody>
 </table>
 
-<div if-active class="mb-2">
+<div class="mb-2">
     <label for="" class="mb-1">Memo</label>
     <div note-rte slim-rte
          class="form-group mb-2 border-left border-right rte-holder"

+ 45 - 43
resources/views/app/patient/segment-templates/_child_plan/exercise/AEROBIC_ACTIVITY/view-plan.php

@@ -1,49 +1,51 @@
 <?php
-if(@$plan && @($plan->active)) {
-    if (@($plan->walk->active)) {
-    ?>
-        <div class="mb-1 d-flex align-items-baseline">
-            <span><?= @($plan->walk->intensity) ?: '-' ?> Walk</span>
-            <span class="ml-2 text-sm"><?= @($plan->walk->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($plan->walk->time) ?: '-' ?> min(s)/day</span>
-        </div>
-    <?php
-    }
-    if (@($plan->jog->active)) {
-        ?>
-        <div class="mb-1 d-flex align-items-baseline">
-            <span><?= @($plan->jog->intensity) ?: '-' ?> Jog</span>
-            <span class="ml-2 text-sm"><?= @($plan->jog->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($plan->jog->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($plan->elliptical->active)) {
-        ?>
-        <div class="mb-1 d-flex align-items-baseline">
-            <span><?= @($plan->elliptical->intensity) ?: '-' ?> Elliptical</span>
-            <span class="ml-2 text-sm"><?= @($plan->elliptical->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($plan->elliptical->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($plan->swim->active)) {
-        ?>
-        <div class="mb-1 d-flex align-items-baseline">
-            <span><?= @($plan->swim->intensity) ?: '-' ?> Swim</span>
-            <span class="ml-2 text-sm"><?= @($plan->swim->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($plan->swim->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($plan->bike->active)) {
+if(@$plan) {
+    if(@($plan->active)) {
+        if (@($plan->walk->active)) {
         ?>
-        <div class="mb-1 d-flex align-items-baseline">
-            <span><?= @($plan->bike->intensity) ?: '-' ?> Bike</span>
-            <span class="ml-2 text-sm"><?= @($plan->bike->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($plan->bike->time) ?: '-' ?> min(s)/day</span>
-        </div>
+            <div class="mb-1 d-flex align-items-baseline">
+                <span><?= @($plan->walk->intensity) ?: '-' ?> Walk</span>
+                <span class="ml-2 text-sm"><?= @($plan->walk->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($plan->walk->time) ?: '-' ?> min(s)/day</span>
+            </div>
         <?php
+        }
+        if (@($plan->jog->active)) {
+            ?>
+            <div class="mb-1 d-flex align-items-baseline">
+                <span><?= @($plan->jog->intensity) ?: '-' ?> Jog</span>
+                <span class="ml-2 text-sm"><?= @($plan->jog->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($plan->jog->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($plan->elliptical->active)) {
+            ?>
+            <div class="mb-1 d-flex align-items-baseline">
+                <span><?= @($plan->elliptical->intensity) ?: '-' ?> Elliptical</span>
+                <span class="ml-2 text-sm"><?= @($plan->elliptical->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($plan->elliptical->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($plan->swim->active)) {
+            ?>
+            <div class="mb-1 d-flex align-items-baseline">
+                <span><?= @($plan->swim->intensity) ?: '-' ?> Swim</span>
+                <span class="ml-2 text-sm"><?= @($plan->swim->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($plan->swim->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($plan->bike->active)) {
+            ?>
+            <div class="mb-1 d-flex align-items-baseline">
+                <span><?= @($plan->bike->intensity) ?: '-' ?> Bike</span>
+                <span class="ml-2 text-sm"><?= @($plan->bike->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($plan->bike->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($plan->memo) ?: '' ?></div>

+ 8 - 7
resources/views/app/patient/segment-templates/_child_plan/exercise/NEAT/edit-plan.php

@@ -24,11 +24,12 @@
             <input type="text" data-name="stepsGoals" class="form-control form-control-sm" value="<?= @($currentValue->stepsGoals) ?>">
         </div>
     </div>
-    <div class="mb-2">
-        <label for="" class="mb-1">Other</label>
-        <div note-rte slim-rte
-             class="form-group mb-2 border-left border-right rte-holder"
-             data-container-name="<?= $point ? 'data' : 'childPlanData' ?>"
-             data-field-name="memo"><?= @($currentValue->memo) ?></div>
-    </div>
+</div>
+
+<div class="mb-2">
+    <label for="" class="mb-1">Memo</label>
+    <div note-rte slim-rte
+         class="form-group mb-2 border-left border-right rte-holder"
+         data-container-name="<?= $point ? 'data' : 'childPlanData' ?>"
+         data-field-name="memo"><?= @($currentValue->memo) ?></div>
 </div>

+ 20 - 18
resources/views/app/patient/segment-templates/_child_plan/exercise/NEAT/view-plan.php

@@ -1,24 +1,26 @@
 <?php
-if(@$plan && @($plan->active)) {
-    if (@($plan->parkAway)) {
-    ?>
-        <div class="mb-1">Park away from entrances.</div>
-    <?php
-    }
-    if (@($plan->stairsInsteadOfElevators)) {
-        ?>
-        <div class="mb-1">Take the stairs instead of elevator/escalator.</div>
-        <?php
-    }
-    if (@($plan->standInsteadOfSit)) {
-        ?>
-        <div class="mb-1">Prefer standing over sitting.</div>
-        <?php
-    }
-    if (@($plan->stepsGoals)) {
+if(@$plan) {
+    if(@($plan->active)) {
+        if (@($plan->parkAway)) {
         ?>
-        <div class="mb-1">Steps/day goal: <?= $plan->stepsGoals ?>.</div>
+            <div class="mb-1">Park away from entrances.</div>
         <?php
+        }
+        if (@($plan->stairsInsteadOfElevators)) {
+            ?>
+            <div class="mb-1">Take the stairs instead of elevator/escalator.</div>
+            <?php
+        }
+        if (@($plan->standInsteadOfSit)) {
+            ?>
+            <div class="mb-1">Prefer standing over sitting.</div>
+            <?php
+        }
+        if (@($plan->stepsGoals)) {
+            ?>
+            <div class="mb-1">Steps/day goal: <?= $plan->stepsGoals ?>.</div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($plan->memo) ?: '' ?></div>

+ 8 - 7
resources/views/app/patient/segment-templates/_child_plan/exercise/STRENGTH_TRAINING/edit-plan.php

@@ -28,11 +28,12 @@
         <input type="checkbox" data-name="resistanceBandsBodyWeight" <?= @($currentValue->resistanceBandsBodyWeight) ? 'checked' : ''?>>
         <span class="ml-2">Use resistance bands or using body weight to do exercises</span>
     </label>
-    <div if-active class="mb-2">
-        <label for="" class="mb-1">Memo</label>
-        <div note-rte slim-rte
-             class="form-group mb-2 border-left border-right rte-holder"
-             data-container-name="<?= $point ? 'data' : 'childPlanData' ?>"
-             data-field-name="memo"><?= @($currentValue->memo) ?></div>
-    </div>
+</div>
+
+<div class="mb-2">
+    <label for="" class="mb-1">Memo</label>
+    <div note-rte slim-rte
+         class="form-group mb-2 border-left border-right rte-holder"
+         data-container-name="<?= $point ? 'data' : 'childPlanData' ?>"
+         data-field-name="memo"><?= @($currentValue->memo) ?></div>
 </div>

+ 25 - 23
resources/views/app/patient/segment-templates/_child_plan/exercise/STRENGTH_TRAINING/view-plan.php

@@ -1,29 +1,31 @@
 <?php
-if(@$plan && @($plan->active)) {
-    if (@($plan->muscleStrengthening)) {
-    ?>
-        <div class="mb-1">Do muscle strengthening exercises on moderate or greater intensity at least two days per week.</div>
-    <?php
-    }
-    if (@($plan->allMajorMuscleGroups)) {
-        ?>
-        <div class="mb-1">Do exercises to strengthen all major muscle groups: legs, hips, back, chest, abdomen, shoulders and arms.</div>
-        <?php
-    }
-    if (@($plan->sets)) {
-        ?>
-        <div class="mb-1">Sets per exercise: <?= $plan->sets ?>.</div>
-        <?php
-    }
-    if (@($plan->reps)) {
-        ?>
-        <div class="mb-1">Repetitions per set: <?= $plan->reps ?>.</div>
-        <?php
-    }
-    if (@($plan->resistanceBandsBodyWeight)) {
+if(@$plan) {
+    if(@($plan->active)) {
+        if (@($plan->muscleStrengthening)) {
         ?>
-        <div class="mb-1">Use resistance bands or using body weight to do exercises.</div>
+            <div class="mb-1">Do muscle strengthening exercises on moderate or greater intensity at least two days per week.</div>
         <?php
+        }
+        if (@($plan->allMajorMuscleGroups)) {
+            ?>
+            <div class="mb-1">Do exercises to strengthen all major muscle groups: legs, hips, back, chest, abdomen, shoulders and arms.</div>
+            <?php
+        }
+        if (@($plan->sets)) {
+            ?>
+            <div class="mb-1">Sets per exercise: <?= $plan->sets ?>.</div>
+            <?php
+        }
+        if (@($plan->reps)) {
+            ?>
+            <div class="mb-1">Repetitions per set: <?= $plan->reps ?>.</div>
+            <?php
+        }
+        if (@($plan->resistanceBandsBodyWeight)) {
+            ?>
+            <div class="mb-1">Use resistance bands or using body weight to do exercises.</div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($plan->memo) ?: '' ?></div>

+ 1 - 1
resources/views/app/patient/segment-templates/_child_review/exercise/AEROBIC_ACTIVITY/edit-review.php

@@ -176,7 +176,7 @@
     </tbody>
 </table>
 
-<div if-active class="mb-2">
+<div class="mb-2">
     <label for="" class="mb-1">Memo</label>
     <div note-rte slim-rte
          class="form-group mb-2 border-left border-right rte-holder"

+ 45 - 43
resources/views/app/patient/segment-templates/_child_review/exercise/AEROBIC_ACTIVITY/view-review.php

@@ -1,49 +1,51 @@
 <?php
-if(@$review && @($review->active)) {
-    if (@($review->walk->active)) {
-    ?>
-        <div class=" d-flex align-items-baseline">
-            <span><?= @($review->walk->intensity) ?: '' ?> Walk</span>
-            <span class="ml-2 text-sm"><?= @($review->walk->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($review->walk->time) ?: '-' ?> min(s)/day</span>
-        </div>
-    <?php
-    }
-    if (@($review->jog->active)) {
-        ?>
-        <div class=" d-flex align-items-baseline">
-            <span><?= @($review->jog->intensity) ?: '' ?> Jog</span>
-            <span class="ml-2 text-sm"><?= @($review->jog->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($review->jog->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($review->elliptical->active)) {
-        ?>
-        <div class=" d-flex align-items-baseline">
-            <span><?= @($review->elliptical->intensity) ?: '' ?> Elliptical</span>
-            <span class="ml-2 text-sm"><?= @($review->elliptical->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($review->elliptical->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($review->swim->active)) {
-        ?>
-        <div class=" d-flex align-items-baseline">
-            <span><?= @($review->swim->intensity) ?: '' ?> Swim</span>
-            <span class="ml-2 text-sm"><?= @($review->swim->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($review->swim->time) ?: '-' ?> min(s)/day</span>
-        </div>
-        <?php
-    }
-    if (@($review->bike->active)) {
+if(@$review) {
+    if(@($review->active)) {
+        if (@($review->walk->active)) {
         ?>
-        <div class=" d-flex align-items-baseline">
-            <span><?= @($review->bike->intensity) ?: '' ?> Bike</span>
-            <span class="ml-2 text-sm"><?= @($review->bike->frequency) ?: '-' ?> day(s)/week</span>
-            <span class="ml-2 text-sm"><?= @($review->bike->time) ?: '-' ?> min(s)/day</span>
-        </div>
+            <div class=" d-flex align-items-baseline">
+                <span><?= @($review->walk->intensity) ?: '' ?> Walk</span>
+                <span class="ml-2 text-sm"><?= @($review->walk->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($review->walk->time) ?: '-' ?> min(s)/day</span>
+            </div>
         <?php
+        }
+        if (@($review->jog->active)) {
+            ?>
+            <div class=" d-flex align-items-baseline">
+                <span><?= @($review->jog->intensity) ?: '' ?> Jog</span>
+                <span class="ml-2 text-sm"><?= @($review->jog->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($review->jog->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($review->elliptical->active)) {
+            ?>
+            <div class=" d-flex align-items-baseline">
+                <span><?= @($review->elliptical->intensity) ?: '' ?> Elliptical</span>
+                <span class="ml-2 text-sm"><?= @($review->elliptical->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($review->elliptical->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($review->swim->active)) {
+            ?>
+            <div class=" d-flex align-items-baseline">
+                <span><?= @($review->swim->intensity) ?: '' ?> Swim</span>
+                <span class="ml-2 text-sm"><?= @($review->swim->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($review->swim->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
+        if (@($review->bike->active)) {
+            ?>
+            <div class=" d-flex align-items-baseline">
+                <span><?= @($review->bike->intensity) ?: '' ?> Bike</span>
+                <span class="ml-2 text-sm"><?= @($review->bike->frequency) ?: '-' ?> day(s)/week</span>
+                <span class="ml-2 text-sm"><?= @($review->bike->time) ?: '-' ?> min(s)/day</span>
+            </div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($review->memo) ?: '' ?></div>

+ 8 - 7
resources/views/app/patient/segment-templates/_child_review/exercise/NEAT/edit-review.php

@@ -24,11 +24,12 @@
             <input type="text" data-name="stepsGoals" class="form-control form-control-sm" value="<?= @($currentValue->stepsGoals) ?>">
         </div>
     </div>
-    <div class="mb-2">
-        <label for="" class="mb-1">Other</label>
-        <div note-rte slim-rte
-             class="form-group mb-2 border-left border-right rte-holder"
-             data-container-name="<?= $point ? 'data' : 'childReviewData' ?>"
-             data-field-name="memo"><?= @($currentValue->memo) ?></div>
-    </div>
+</div>
+
+<div class="mb-2">
+    <label for="" class="mb-1">Memo</label>
+    <div note-rte slim-rte
+         class="form-group mb-2 border-left border-right rte-holder"
+         data-container-name="<?= $point ? 'data' : 'childReviewData' ?>"
+         data-field-name="memo"><?= @($currentValue->memo) ?></div>
 </div>

+ 20 - 18
resources/views/app/patient/segment-templates/_child_review/exercise/NEAT/view-review.php

@@ -1,24 +1,26 @@
 <?php
-if(@$review && @($review->active)) {
-    if (@($review->parkAway)) {
-    ?>
-        <div class="">Currently parks away from entrances.</div>
-    <?php
-    }
-    if (@($review->stairsInsteadOfElevators)) {
-        ?>
-        <div class="">Currently takes the stairs instead of elevator/escalator.</div>
-        <?php
-    }
-    if (@($review->standInsteadOfSit)) {
-        ?>
-        <div class="">Currently prefers standing over sitting.</div>
-        <?php
-    }
-    if (@($review->stepsGoals)) {
+if(@$review) {
+    if(@($review->active)) {
+        if (@($review->parkAway)) {
         ?>
-        <div class="">Current steps/day: <?= $review->stepsGoals ?>.</div>
+            <div class="">Currently parks away from entrances.</div>
         <?php
+        }
+        if (@($review->stairsInsteadOfElevators)) {
+            ?>
+            <div class="">Currently takes the stairs instead of elevator/escalator.</div>
+            <?php
+        }
+        if (@($review->standInsteadOfSit)) {
+            ?>
+            <div class="">Currently prefers standing over sitting.</div>
+            <?php
+        }
+        if (@($review->stepsGoals)) {
+            ?>
+            <div class="">Current steps/day: <?= $review->stepsGoals ?>.</div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($review->memo) ?: '' ?></div>

+ 8 - 7
resources/views/app/patient/segment-templates/_child_review/exercise/STRENGTH_TRAINING/edit-review.php

@@ -28,11 +28,12 @@
         <input type="checkbox" data-name="resistanceBandsBodyWeight" <?= @($currentValue->resistanceBandsBodyWeight) ? 'checked' : ''?>>
         <span class="ml-2">Currently using resistance bands or using body weight to do exercises</span>
     </label>
-    <div if-active class="mb-2">
-        <label for="" class="mb-1">Memo</label>
-        <div note-rte slim-rte
-             class="form-group mb-2 border-left border-right rte-holder"
-             data-container-name="<?= $point ? 'data' : 'childReviewData' ?>"
-             data-field-name="memo"><?= @($currentValue->memo) ?></div>
-    </div>
+</div>
+
+<div class="mb-2">
+    <label for="" class="mb-1">Memo</label>
+    <div note-rte slim-rte
+         class="form-group mb-2 border-left border-right rte-holder"
+         data-container-name="<?= $point ? 'data' : 'childReviewData' ?>"
+         data-field-name="memo"><?= @($currentValue->memo) ?></div>
 </div>

+ 25 - 23
resources/views/app/patient/segment-templates/_child_review/exercise/STRENGTH_TRAINING/view-review.php

@@ -1,29 +1,31 @@
 <?php
-if(@$review && @($review->active)) {
-    if (@($review->muscleStrengthening)) {
-    ?>
-        <div class="">Currently doing muscle strengthening exercises on moderate or greater intensity at least two days per week.</div>
-    <?php
-    }
-    if (@($review->allMajorMuscleGroups)) {
-        ?>
-        <div class="">Currently doing exercises to strengthen all major muscle groups: legs, hips, back, chest, abdomen, shoulders and arms.</div>
-        <?php
-    }
-    if (@($review->sets)) {
-        ?>
-        <div class="">Sets per exercise: <?= $review->sets ?>.</div>
-        <?php
-    }
-    if (@($review->reps)) {
-        ?>
-        <div class="">Repetitions per set: <?= $review->reps ?>.</div>
-        <?php
-    }
-    if (@($review->resistanceBandsBodyWeight)) {
+if(@$review) {
+    if(@($review->active)) {
+        if (@($review->muscleStrengthening)) {
         ?>
-        <div class="">Currently using resistance bands or using body weight to do exercises.</div>
+            <div class="">Currently doing muscle strengthening exercises on moderate or greater intensity at least two days per week.</div>
         <?php
+        }
+        if (@($review->allMajorMuscleGroups)) {
+            ?>
+            <div class="">Currently doing exercises to strengthen all major muscle groups: legs, hips, back, chest, abdomen, shoulders and arms.</div>
+            <?php
+        }
+        if (@($review->sets)) {
+            ?>
+            <div class="">Sets per exercise: <?= $review->sets ?>.</div>
+            <?php
+        }
+        if (@($review->reps)) {
+            ?>
+            <div class="">Repetitions per set: <?= $review->reps ?>.</div>
+            <?php
+        }
+        if (@($review->resistanceBandsBodyWeight)) {
+            ?>
+            <div class="">Currently using resistance bands or using body weight to do exercises.</div>
+            <?php
+        }
     }
     ?>
     <div class="text-secondary"><?= @($review->memo) ?: '' ?></div>

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

@@ -14,7 +14,7 @@ $dailyIntakeCarbohydrates = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAK
 $dailyIntakeCalories = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAKE_CALORIES');
 
 $points = [
-    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'High Sugar Beverages', "point" => $highSugarBeverages],
+    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'Beverages', "point" => $highSugarBeverages],
     ["category" => 'WATER_INTAKE', "name" => 'Water Intake', "point" => $waterIntake],
     ["category" => 'FAST_FOOD', "name" => 'Fast Food', "point" => $fastFood],
     ["category" => 'SNACKS', "name" => 'Snacks', "point" => $snacks],

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

@@ -46,7 +46,11 @@ $plural = 'Allergies';
                     <span class="text-nowrap">
                         <?php if ($point->is_removed): ?>
                             @if($point->removal_reason_category === 'DURING_VISIT')
-                                <span class="text-sm text-secondary">Removed during visit</span>
+                                @if ($point->removed_in_note_id === $note->id)
+                                    <span class="text-sm text-secondary">Removed during visit</span>
+                                @else
+                                    <span class="text-sm text-secondary">Removed on a previous visit</span>
+                                @endif
                             @elseif($point->removal_reason_category === 'ON_INTAKE')
                                 <span class="text-sm text-secondary">Historic</span>
                             @endif

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

@@ -43,7 +43,11 @@ $plural = 'Care team members';
                         <span class="text-nowrap pl-2">
                         <?php if ($point->is_removed): ?>
                             @if($point->removal_reason_category === 'DURING_VISIT')
-                                <span class="text-sm text-secondary">Removed during visit</span>
+                                @if ($point->removed_in_note_id === $note->id)
+                                    <span class="text-sm text-secondary">Removed during visit</span>
+                                @else
+                                    <span class="text-sm text-secondary">Removed on a previous visit</span>
+                                @endif
                             @elseif($point->removal_reason_category === 'ON_INTAKE')
                                 <span class="text-sm text-secondary">Historic</span>
                             @endif

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

@@ -36,7 +36,11 @@ $plural = 'Goals';
                     <span class="text-nowrap">
                         <?php if ($point->is_removed): ?>
                         @if($point->removal_reason_category === 'DURING_VISIT')
-                            <span class="text-sm text-secondary">Removed during visit</span>
+                            @if ($point->removed_in_note_id === $note->id)
+                                <span class="text-sm text-secondary">Removed during visit</span>
+                            @else
+                                <span class="text-sm text-secondary">Removed on a previous visit</span>
+                            @endif
                         @elseif($point->removal_reason_category === 'ON_INTAKE')
                             <span class="text-sm text-secondary">Historic</span>
                         @endif

+ 10 - 6
resources/views/app/patient/segment-templates/omega_medications/summary.blade.php

@@ -62,16 +62,20 @@ $plural = 'Medications';
 				<span class="text-nowrap">
 				<?php if ($point->is_removed): ?>
 				@if($point->removal_reason_category === 'DURING_VISIT')
-					<span class="text-sm text-secondary">Removed during visit</span>
+					@if ($point->removed_in_note_id === $note->id)
+						<span class="text-sm text-secondary">Removed during visit</span>
+					@else
+						<span class="text-sm text-secondary">Removed on a previous visit</span>
+					@endif
 				@elseif($point->removal_reason_category === 'ON_INTAKE')
 					<span class="text-sm text-secondary">Historic</span>
 				@endif
 				<?php elseif ($point->added_in_note_id === $note->id): ?>
-				<?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
-					<span class="text-sm text-success">Added during visit</span>
-				<?php else: ?>
-					<span class="text-sm text-info">Added on intake</span>
-				<?php endif;?>
+					<?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+						<span class="text-sm text-success">Added during visit</span>
+					<?php else: ?>
+						<span class="text-sm text-info">Added on intake</span>
+					<?php endif;?>
 				<?php endif; ?>
 				</span>
 			</div>

+ 17 - 13
resources/views/app/patient/segment-templates/omega_problems/summary.blade.php

@@ -21,19 +21,23 @@ $plural = 'Problems';
                     <?= !!@($point->data->name) ? @($point->data->name) : '-' ?><?= !!@($point->data->icd) ? ' / ' . @($point->data->icd) : '' ?>:
                 </span>
 		        <span class="text-nowrap">
-                   <?php if ($point->is_removed): ?>
-                   @if($point->removal_reason_category === 'DURING_VISIT')
-                       <span class="text-sm text-secondary">Removed during visit</span>
-                   @elseif($point->removal_reason_category === 'ON_INTAKE')
-                       <span class="text-sm text-secondary">Historic</span>
-                   @endif
-                   <?php elseif ($point->added_in_note_id === $note->id): ?>
-                   <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
-                            <span class="text-sm text-success">* Added during visit</span>
-                        <?php else: ?>
-                            <span class="text-sm text-info">* Added on intake</span>
-                        <?php endif;?>
-                   <?php endif; ?>
+                <?php if ($point->is_removed): ?>
+                    @if($point->removal_reason_category === 'DURING_VISIT')
+                        @if ($point->removed_in_note_id === $note->id)
+                            <span class="text-sm text-secondary">Removed during visit</span>
+                        @else
+                            <span class="text-sm text-secondary">Removed on a previous visit</span>
+                        @endif
+                    @elseif($point->removal_reason_category === 'ON_INTAKE')
+                        <span class="text-sm text-secondary">Historic</span>
+                    @endif
+                <?php elseif ($point->added_in_note_id === $note->id): ?>
+                    <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+                        <span class="text-sm text-success">* Added during visit</span>
+                    <?php else: ?>
+                        <span class="text-sm text-info">* Added on intake</span>
+                    <?php endif;?>
+                <?php endif; ?>
                 </span>
             </span>
            <div class="ml-3 mb-1">

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

@@ -14,7 +14,7 @@ $dailyIntakeCarbohydrates = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAK
 $dailyIntakeCalories = Point::getOnlyPointOfCategory($patient, 'DAILY_INTAKE_CALORIES');
 
 $points = [
-    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'High Sugar Beverages', "point" => $highSugarBeverages],
+    ["category" => 'HIGH_SUGAR_BEVERAGES', "name" => 'Beverages', "point" => $highSugarBeverages],
     ["category" => 'WATER_INTAKE', "name" => 'Water Intake', "point" => $waterIntake],
     ["category" => 'FAST_FOOD', "name" => 'Fast Food', "point" => $fastFood],
     ["category" => 'SNACKS', "name" => 'Snacks', "point" => $snacks],

+ 233 - 0
resources/views/app/patient/sleep-study-actions-from-note.blade.php

@@ -0,0 +1,233 @@
+<div class="d-flex align-items-center pb-3">
+    <p class="font-weight-bold text-secondary m-0 font-size-14">Sleep Study</p>
+</div>
+
+<div class="mb-2 d-flex align-items-baseline">
+    <span class="mr-2">Medically Needed:</span>
+    <b>{{$patient->is_watch_pat_medically_needed ?: '-'}}</b>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatMedicalNecessity">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Watchpat Medical Necessity</div>
+
+            <p class="mb-2">Medical necessity ascertained during this visit?</p>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Medically Needed:</div>
+                <select name="isWatchPatMedicallyNeeded" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="YES" {{$patient->is_watch_pat_medically_needed === 'YES' ? 'selected' : ''}}>Yes</option>
+                    <option value="NO" {{$patient->is_watch_pat_medically_needed === 'NO' ? 'selected' : ''}}>No</option>
+                    <option value="UNKNOWN" {{$patient->is_watch_pat_medically_needed === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_medically_needed_for_memo}}" name="watchPatMedicallyNeededForMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <table class="table table-sm table-bordered m-0">
+                    <thead class="bg-light">
+                    <tr>
+                        <th class="text-sm text-secondary font-weight-normal border-bottom-0">ICD</th>
+                        <th class="text-sm text-secondary font-weight-normal border-bottom-0">Description</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd1" value="{{$patient->watch_pat_medically_needed_for_icd1}}" placeholder="ICD 1" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd1Description" value="{{$patient->watch_pat_medically_needed_for_icd1description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd2" value="{{$patient->watch_pat_medically_needed_for_icd2}}" placeholder="ICD 2" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd2Description" value="{{$patient->watch_pat_medically_needed_for_icd2description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd3" value="{{$patient->watch_pat_medically_needed_for_icd3}}" placeholder="ICD 3" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd3Description" value="{{$patient->watch_pat_medically_needed_for_icd3description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd4" value="{{$patient->watch_pat_medically_needed_for_icd4}}" placeholder="ICD 4" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd4Description" value="{{$patient->watch_pat_medically_needed_for_icd4description}}">
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
+
+            <input type="hidden" name="watchPatMedicalNecessityNoteUid" value="{{$note->uid}}">
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+@if($patient->is_watch_pat_medically_needed === 'YES')
+    <div class="mb-2 d-flex align-items-baseline">
+        <span class="mr-2">Study Instructions:</span>
+        @if($patient->watchPatStudyInstructionsNote)
+            @if($patient->watchPatStudyInstructionsNote->id === $note->id)
+                <b>Provided during this visit</b>
+            @else
+                <a native target="_blank" class="font-weight-bold"
+                   href="<?= route('patients.view.notes.view.dashboard', ['patient' => $patient, 'note' => $patient->watchPatStudyInstructionsNote]) ?>"
+                   >
+                    Provided on {{friendly_date($patient->watchPatStudyInstructionsNote->effective_dateest)}}
+                </a>
+            @endif
+        @else
+            -
+        @endif
+        <div moe class="ml-3">
+            <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+            <form url="/api/client/updateWatchPatStudyInstructionsGiven">
+                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Instructions</div>
+
+                <p class="mb-2">Sleep study instructions provided to patient during this visit?</p>
+
+                <input type="hidden" name="watchPatStudyInstructionsNoteUid" value="{{$note->uid}}">
+
+                <div class="mt-2 border-top pt-2 text-center">
+                    <button class="btn btn-primary btn-sm" submit>Submit</button>
+                    <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+    </div>
+@endif
+
+@if($patient->is_watch_pat_medically_needed === 'YES' && $patient->watchPatStudyInstructionsNote)
+    <div class="mb-2 d-flex align-items-baseline">
+        <span class="mr-2">Study Order:</span>
+        @if($patient->watchPatStudyOrderedNote)
+            @if($patient->watchPatStudyOrderedNote->id === $note->id)
+                <b>Ordered during this visit</b>
+            @else
+                <a native target="_blank" class="font-weight-bold"
+                   href="<?= route('patients.view.notes.view.dashboard', ['patient' => $patient, 'note' => $patient->watchPatStudyOrderedNote]) ?>"
+                >
+                    Ordered on {{friendly_date($patient->watchPatStudyOrderedNote->effective_dateest)}}
+                </a>
+            @endif
+        @endif
+        <div moe class="ml-3">
+            <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+            <form url="/api/client/updateWatchPatStudyOrdered">
+                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Order</div>
+
+                <p class="mb-2">Sleep study instructions provided to patient during this visit?</p>
+
+                <input type="hidden" name="isWatchPatStudyOrdered" value="1">
+
+                <div class="mb-2">
+                    <div class="mb-1">Memo:</div>
+                    <input type="text" value="{{$patient->watch_pat_study_ordered_memo}}" name="watchPatStudyOrderedMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+                </div>
+
+                <input type="hidden" name="watchPatStudyOrderedNoteUid" value="{{$note->uid}}">
+
+                <div class="mt-2 border-top pt-2 text-center">
+                    <button class="btn btn-primary btn-sm" submit>Submit</button>
+                    <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+    </div>
+@endif
+
+@if($patient->is_watch_pat_medically_needed === 'YES' && $patient->watchPatStudyInstructionsNote && $patient->is_watch_pat_study_ordered == '1' && $patient->watchPatStudyOrderedNote)
+    <div class="mb-2 d-flex align-items-baseline">
+        <span class="mr-2">WatchPat Results:</span>
+        <?php
+            $wpResults = [];
+            if($patient->watch_pat_results_category) $wpResults[] = $patient->watch_pat_results_category;
+            if($patient->watch_pat_results_memo) $wpResults[] = $patient->watch_pat_results_memo;
+            if($patient->watch_pat_results_effective_as_of) $wpResults[] = $patient->watch_pat_results_effective_as_of;
+            $wpResults = implode(' / ', $wpResults);
+        ?>
+        <b>{{$wpResults ?: '-'}}</b>
+        <div moe class="ml-3">
+            <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+            <form url="/api/client/updateWatchPatResults" hook="refreshSleepStudyStep">
+                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">WatchPat Results</div>
+
+                <div class="mb-2">
+                    <div class="mb-1">Category:</div>
+                    <input type="text" value="{{$patient->watch_pat_results_category}}" name="watchPatResultsCategory" class="form-control form-control-sm d-inline-block flex-grow-1">
+                </div>
+
+                <div class="mb-2">
+                    <div class="mb-1">Memo:</div>
+                    <input type="text" value="{{$patient->watch_pat_result_memo}}" name="watchPatResultMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+                </div>
+
+                <div class="mb-2">
+                    <div class="mb-1">Effective As Of:</div>
+                    <input type="date" value="{{$patient->watch_pat_results_effective_as_of}}" name="watchPatResultsEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+                </div>
+
+                <div class="mt-2 border-top pt-2 text-center">
+                    <button class="btn btn-primary btn-sm" submit>Submit</button>
+                    <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+    </div>
+@endif
+
+@if($patient->is_watch_pat_medically_needed === 'YES' && $patient->watchPatStudyInstructionsNote && $patient->is_watch_pat_study_ordered == '1' && $patient->watchPatStudyOrderedNote && !is_null($patient->watch_pat_results_category))
+    <div class="mb-2 d-flex align-items-baseline">
+        <span class="mr-2">WatchPat Results Comm. to Patient:</span>
+        @if($patient->watchPatResultsCommunicatedToPatientNote)
+            @if($patient->watchPatResultsCommunicatedToPatientNote->id === $note->id)
+                <b>Communicated to patient during this visit</b>
+            @else
+                <a native target="_blank" class="font-weight-bold"
+                   href="<?= route('patients.view.notes.view.dashboard', ['patient' => $patient, 'note' => $patient->watchPatResultsCommunicatedToPatientNote]) ?>"
+                >
+                    Communicated to patient on {{friendly_date($patient->watchPatResultsCommunicatedToPatientNote->effective_dateest)}}
+                </a>
+            @endif
+        @endif
+        <div moe class="ml-3">
+            <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+            <form url="/api/client/updateWatchPatResultsCommunicatedToPatient">
+                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">WatchPat Results</div>
+
+                <p class="mb-2">WatchPat results communicated to patient during this visit?</p>
+
+                <input type="hidden" name="watchPatResultsCommunicatedToPatientNoteUid" value="{{$note->uid}}">
+
+                <div class="mt-2 border-top pt-2 text-center">
+                    <button class="btn btn-primary btn-sm" submit>Submit</button>
+                    <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                </div>
+            </form>
+        </div>
+    </div>
+@endif

+ 77 - 46
resources/views/app/patient/sleep-study.blade.php

@@ -9,7 +9,7 @@
 
         <div class="d-flex align-items-start m-neg-4" id="sleepStudyContainer">
             <div class="ss-leftnav border-right h-100 mh-100 overflow-overlay-on-hover">
-                <a href="#" data-target-key="sleep-apnea-background" class="d-block py-1 border-bottom text-nowrap bg-aliceblue font-weight-bold">Sleep Apnea Background</a>
+                <a href="#" data-target-key="sleep-apnea-background" class="d-block py-1 border-bottom text-nowrap bg-aliceblue font-weight-bold ss-active">Sleep Apnea Background</a>
                 <a href="#" data-target-key="signs-and-symptoms" class="d-block py-1 border-bottom text-nowrap">Signs &amp; Symptoms</a>
                 <a href="#" data-target-key="patient-interest" class="d-block py-1 border-bottom text-nowrap">Patient Interest</a>
                 <a href="#" data-target-key="insurance-coverage" class="d-block py-1 border-bottom text-nowrap">Insurance Coverage</a>
@@ -22,8 +22,8 @@
                 <a href="#" data-target-key="device-allocation" class="d-block py-1 border-bottom text-nowrap">Device Allocation</a>
                 <a href="#" data-target-key="shipment-to-manager" class="d-block py-1 border-bottom text-nowrap">Shipment To Manager</a>
                 <a href="#" data-target-key="receipt-by-manager" class="d-block py-1 border-bottom text-nowrap">Receipt By Manager</a>
-                <a href="#" data-target-key="shipment-to-client" class="d-block py-1 border-bottom text-nowrap">Shipment To Client</a>
-                <a href="#" data-target-key="receipt-by-client" class="d-block py-1 border-bottom text-nowrap">Receipt By Client</a>
+                <a href="#" data-target-key="shipment-to-client" class="d-block py-1 border-bottom text-nowrap">Shipment To Patient</a>
+                <a href="#" data-target-key="receipt-by-client" class="d-block py-1 border-bottom text-nowrap">Receipt By Patient</a>
                 <a href="#" data-target-key="app-installation" class="d-block py-1 border-bottom text-nowrap">App Installation</a>
                 <a href="#" data-target-key="patient-ready" class="d-block py-1 border-bottom text-nowrap">Patient Ready</a>
                 <a href="#" data-target-key="study-data-status" class="d-block py-1 border-bottom text-nowrap">Study Data Status</a>
@@ -35,100 +35,100 @@
                 <a href="#" data-target-key="results-comm-to-doctors" class="d-block py-1 border-bottom text-nowrap">Results Comm. To Doctors</a>
             </div>
             <div class="ss-content flex-grow-1 h-100 mh-100 overflow-overlay-on-hover">
-                <div data-key="sleep-apnea-background">
+                <div class="border-bottom pb-4" data-key="sleep-apnea-background">
                     @include('app.patient.sleep-study.sleep-apnea-background')
                 </div>
 
-                <div data-key="signs-and-symptoms">
+                <div class="border-bottom pb-4" data-key="signs-and-symptoms">
                     @include('app.patient.sleep-study.signs-and-symptoms')
                 </div>
 
-                <div data-key="patient-interest">
+                <div class="border-bottom pb-4" data-key="patient-interest">
                     @include('app.patient.sleep-study.patient-interest')
                 </div>
 
-                <div data-key="insurance-coverage">
+                <div class="border-bottom pb-4" data-key="insurance-coverage">
                     @include('app.patient.sleep-study.insurance-coverage')
                 </div>
 
-                <div data-key="sleep-study-address">
+                <div class="border-bottom pb-4" data-key="sleep-study-address">
                     @include('app.patient.sleep-study.sleep-study-address')
                 </div>
 
-                <div data-key="manager">
+                <div class="border-bottom pb-4" data-key="manager">
                     @include('app.patient.sleep-study.manager')
                 </div>
 
-                <div data-key="medical-necessity">
+                <div class="border-bottom pb-4" data-key="medical-necessity">
                     @include('app.patient.sleep-study.medical-necessity')
                 </div>
 
-                <div data-key="study-instructions">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Study Instructions</h4>
+                <div class="border-bottom pb-4" data-key="study-instructions">
+                    @include('app.patient.sleep-study.study-instructions')
                 </div>
 
-                <div data-key="study-order">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Study Order</h4>
+                <div class="border-bottom pb-4" data-key="study-order">
+                    @include('app.patient.sleep-study.study-order')
                 </div>
 
-                <div data-key="study-authorization">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Study Authorization</h4>
+                <div class="border-bottom pb-4" data-key="study-authorization">
+                    @include('app.patient.sleep-study.study-authorization')
                 </div>
 
-                <div data-key="device-allocation">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Device Allocation</h4>
+                <div class="border-bottom pb-4" data-key="device-allocation">
+                    @include('app.patient.sleep-study.device-allocation')
                 </div>
 
-                <div data-key="shipment-to-manager">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Shipment To Manager</h4>
+                <div class="border-bottom pb-4" data-key="shipment-to-manager">
+                    @include('app.patient.sleep-study.shipment-to-manager')
                 </div>
 
-                <div data-key="receipt-by-manager">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Receipt By Manager</h4>
+                <div class="border-bottom pb-4" data-key="receipt-by-manager">
+                    @include('app.patient.sleep-study.receipt-by-manager')
                 </div>
 
-                <div data-key="shipment-to-client">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Shipment To Client</h4>
+                <div class="border-bottom pb-4" data-key="shipment-to-client">
+                    @include('app.patient.sleep-study.shipment-to-client')
                 </div>
 
-                <div data-key="receipt-by-client">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Receipt By Client</h4>
+                <div class="border-bottom pb-4" data-key="receipt-by-client">
+                    @include('app.patient.sleep-study.receipt-by-client')
                 </div>
 
-                <div data-key="app-installation">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">App Installation</h4>
+                <div class="border-bottom pb-4" data-key="app-installation">
+                    @include('app.patient.sleep-study.app-installation')
                 </div>
 
-                <div data-key="patient-ready">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Patient Ready</h4>
+                <div class="border-bottom pb-4" data-key="patient-ready">
+                    @include('app.patient.sleep-study.patient-ready')
                 </div>
 
-                <div data-key="study-data-status">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Study Data Status</h4>
+                <div class="border-bottom pb-4" data-key="study-data-status">
+                    @include('app.patient.sleep-study.study-data-status')
                 </div>
 
-                <div data-key="manager-bill">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Manager Bill</h4>
+                <div class="border-bottom pb-4" data-key="manager-bill">
+                    @include('app.patient.sleep-study.manager-bill')
                 </div>
 
-                <div data-key="sleep-specialist">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Sleep Specialist</h4>
+                <div class="border-bottom pb-4" data-key="sleep-specialist">
+                    @include('app.patient.sleep-study.sleep-specialist')
                 </div>
 
-                <div data-key="watchpat-results">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">WatchPat Results</h4>
+                <div class="border-bottom pb-4" data-key="watchpat-results">
+                    @include('app.patient.sleep-study.watchpat-results')
                 </div>
 
-                <div data-key="sleep-specialist-bill">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Sleep Specialist Bill</h4>
+                <div class="border-bottom pb-4" data-key="sleep-specialist-bill">
+                    @include('app.patient.sleep-study.sleep-specialist-bill')
                 </div>
 
-                <div data-key="results-comm-to-patient">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Results Comm. To Patient</h4>
+                <div class="border-bottom pb-4" data-key="results-comm-to-patient">
+                    @include('app.patient.sleep-study.results-comm-to-patient')
                 </div>
 
-                <div data-key="results-comm-to-doctors">
-                    <h4 class="p-2 bg-light font-weight-bold d-block py-1 border-bottom text-nowrap">Results Comm. To Doctors</h4>
+                <div class="border-bottom pb-4" data-key="results-comm-to-doctors">
+                    @include('app.patient.sleep-study.results-comm-to-doctors')
                 </div>
 
             </div>
@@ -151,14 +151,28 @@
                             inline: "start",
                             block: "start"
                         });*/
+                        let step = $('div[data-key="' + $(this).attr('data-target-key') + '"]');
                         $('.ss-content').scrollTop(0);
                         $('.ss-content').scrollTop(
-                            $('div[data-key="' + $(this).attr('data-target-key') + '"]').offset().top -
+                            step.offset().top -
                             $('.ss-content').offset().top
                         );
-                        $(this).addClass('bg-aliceblue font-weight-bold').siblings().removeClass('bg-aliceblue font-weight-bold');
+                        $(this).addClass('bg-aliceblue font-weight-bold ss-active').siblings().removeClass('bg-aliceblue font-weight-bold ss-active');
+                        step.addClass('spot-highlight');
+                        setTimeout(() => {
+                            step.removeClass('spot-highlight');
+                        }, 1500);
                         return false;
                     });
+
+                $(document)
+                    .off('mouseenter.ss-content', '.ss-content>[data-key]')
+                    .on('mouseenter.ss-content', '.ss-content>[data-key]', function() {
+                        let a = $('.ss-leftnav>a[data-target-key="' + $(this).attr('data-key') + '"]');
+                        if(a.length) {
+                            a.addClass('bg-aliceblue font-weight-bold ss-active').siblings().removeClass('bg-aliceblue font-weight-bold ss-active');
+                        }
+                    });
             }
             function adjustContainerHeight() {
                 let container = $('#sleepStudyContainer'),
@@ -170,6 +184,23 @@
                 });
             }
 
+            addMCHook('refreshSleepStudyStep', function() {
+                let step = $('a.ss-active').attr('data-target-key');
+                if(step) {
+                    $.get('{{route('patients.view.sleep-study-step', $patient)}}?step=' + step, _data => {
+                        let stepElem = $('div[data-key="' + step + '"]');
+                        stepElem.html(_data);
+                        stepElem.addClass('spot-highlight');
+                        setTimeout(() => {
+                            stepElem.removeClass('spot-highlight');
+                        }, 1500);
+                        initMoes();
+                        runMCInitializer('sleep-apnea-background');
+                    });
+                }
+                return false;
+            });
+
             addMCInitializer('sleepStudy', init, '#sleepStudyContainer');
         }).call(window);
     </script>

+ 60 - 0
resources/views/app/patient/sleep-study/app-installation.blade.php

@@ -0,0 +1,60 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">WatchPat App Installation</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatAppInstalled" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">WatchPat App Installation</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat App Installed:</div>
+                <select name="isWatchPatAppInstalled" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_app_installed == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_app_installed == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Verification Method:</div>
+                <select name="watchPatAppInstallationVerificationMethod" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="SCREENSHOT" {{$patient->watch_pat_app_installation_verification_method === 'SCREENSHOT' ? 'selected' : ''}}>Screenshot</option>
+                    <option value="IN_PERSON" {{$patient->watch_pat_app_installation_verification_method === 'IN_PERSON' ? 'selected' : ''}}>In Person</option>
+                    <option value="PATIENT_SELF_REPORT" {{$patient->watch_pat_app_installation_verification_method === 'PATIENT_SELF_REPORT' ? 'selected' : ''}}>Patient Self Report</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_app_installed_memo}}" name="watchPatAppInstalledMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_app_installed_effective_as_of}}" name="watchPatAppInstalledEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat App Installed: <b>{{+$patient->is_watch_pat_app_installed ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Verification Method: <b>{{$patient->watch_pat_app_installation_verification_method ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_app_installed_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_app_installed_effective_as_of ?: '-'}}</b>
+</div>

+ 55 - 0
resources/views/app/patient/sleep-study/device-allocation.blade.php

@@ -0,0 +1,55 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">WatchPat Allocation</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatAllocation" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">WatchPat Allocation</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Serial #:</div>
+                <input type="text" value="{{$patient->watch_pat_serial_number}}" name="watchPatSerialNumber" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">WatchPat Cloud Chart Created:</div>
+                <select name="isWatchPatCloudChartCreated" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_cloud_chart_created == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_cloud_chart_created == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_allocation_memo}}" name="watchPatAllocationMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_allocation_effective_as_of}}" name="watchPatAllocationEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Serial #: <b>{{$patient->watch_pat_serial_number ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    WatchPat Cloud Chart Created: <b>{{+$patient->is_watch_pat_cloud_chart_created ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_allocation_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_allocation_effective_as_of ?: '-'}}</b>
+</div>

+ 4 - 4
resources/views/app/patient/sleep-study/insurance-coverage.blade.php

@@ -2,11 +2,11 @@
     <h4 class="font-weight-bold text-nowrap m-0">Insurance Coverage</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateWatchPatInsuranceCoverage">
+        <form url="/api/client/updateWatchPatInsuranceCoverage" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Insurance Coverage</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Insurance Coverage</div>
             <div class="mb-2">
-                <div class="mb-1">Does Patient Want Watch Pat:</div>
+                <div class="mb-1">Does Insurance Cover WatchPat:</div>
                 <select name="doesInsuranceCoverWatchPat" class="form-control form-control-sm">
                     <option value="">-- select --</option>
                     <option value="YES" {{$patient->does_insurance_cover_watch_pat === 'YES' ? 'selected' : ''}}>Yes</option>
@@ -34,7 +34,7 @@
 </div>
 
 <div class="px-3 pt-2 pb-1">
-    Does Patient Want Watch Pat: <b>{{$patient->does_insurance_cover_watch_pat ?: '-'}}</b>
+    Does Patient Want WatchPat: <b>{{$patient->does_insurance_cover_watch_pat ?: '-'}}</b>
 </div>
 
 <div class="px-3 py-1">

+ 77 - 0
resources/views/app/patient/sleep-study/manager-bill.blade.php

@@ -0,0 +1,77 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">WatchPat Manager bill</h4>
+    @if($patient->watchPatManagerPro)
+        @if($patient->watchPatManagerBill)
+            <div moe class="ml-3">
+                <a start show href="#"><i class="fa fa-ban"></i> Cancel</a>
+                <form url="/api/bill/markCancelled" hook="refreshSleepStudyStep">
+                    <input type="hidden" name="uid" value="{{$patient->watchPatManagerBill->uid}}">
+                    <p class="mb-2">Cancel the bill?</p>
+                    <div class="mt-2 pt-2">
+                        <button class="btn btn-primary btn-sm" submit>Submit</button>
+                        <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                    </div>
+                </form>
+            </div>
+        @else
+            <div moe class="ml-3">
+                <a start show href="#"><i class="fa fa-edit"></i> Create</a>
+                <form url="/api/bill/createGenericForWatchPatManager" hook="refreshSleepStudyStep">
+                    <?php
+                    $code = 'Sleep Study Support';
+                    $rate = \App\Models\ProRate::where('code', $code)
+                        ->where('is_active', true)
+                        ->where('pro_id', $patient->watchPatManagerPro->id)
+                        ->where('responsibility', 'GENERIC')
+                        ->first();
+                    ?>
+                    @if($rate)
+                        <input type="hidden" name="clientUid" value="{{$patient->uid}}">
+                        <input type="hidden" name="watchPatManagerProUid" value="{{$patient->watchPatManagerPro->uid}}">
+                        <input type="hidden" name="numberOfUnits" value="1">
+                        <input type="hidden" name="genericDescription" value="WatchPat Manager Bill">
+                        <input type="hidden" name="code" value="{{$code}}">
+
+                        <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">
+                            Manager Bill
+                        </div>
+
+                        <div class="mb-2">
+                            Service: <b class="text-nowrap">{{$code}}</b>
+                        </div>
+
+                        <div class="mb-2">
+                            Amount: <b>${{$rate->amount}}</b>
+                        </div>
+
+                        <div class="mb-2">
+                            <div class="mb-1">Effective Date:</div>
+                            <input type="date" value="{{date('Y-m-d')}}" name="effectiveDate"
+                                   class="form-control form-control-sm d-inline-block flex-grow-1">
+                        </div>
+
+                        <div class="mt-2 border-top pt-2 text-center">
+                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    @else
+                        <div class="alert alert-warning m-0">Manager does not have a rate for <b>{{$code}}</b></div>
+                    @endif
+                </form>
+            </div>
+        @endif
+    @endif
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    @if($patient->watchPatManagerPro)
+        @if($patient->watchPatManagerBill)
+            <div class="mb-1 font-weight-bold">Billed ✓</div>
+            <div>${{$patient->watchPatManagerBill->generic_pro_expected_payment_amount}} - {{$patient->watchPatManagerBill->code}} - {{$patient->watchPatManagerBill->effective_date}}</div>
+        @else
+            Not billed yet.
+        @endif
+    @else
+        Manager not assigned yet.
+    @endif
+</div>

+ 26 - 4
resources/views/app/patient/sleep-study/manager.blade.php

@@ -2,16 +2,30 @@
     <h4 class="font-weight-bold text-nowrap m-0">Watchpat Manager Assignment</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateWatchPatManagerAssignment">
+        <form url="/api/client/updateWatchPatManagerAssignment" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Watchpat Manager Assignment</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Watchpat Manager Assignment</div>
             <div class="mb-2">
                 <div class="mb-1">Manager Pro:</div>
-                <select name="watchPatManagerProUid" class="form-control form-control-sm" provider-search data-uid="{{@$patient->watchPatManagerPro->uid}}">
+                <select name="watchPatManagerProUid" class="form-control form-control-sm" provider-search data-pro-uid="{{@$patient->watchPatManagerPro->uid}}">
                     <option value="">-- select --</option>
                 </select>
             </div>
 
+            <div class="mb-2">
+                <div class="mb-1">Distance To Patient (miles):</div>
+                <input type="number" value="{{$patient->watch_pat_manager_distance_to_patient}}" name="watchPatManagerDistanceToPatient" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Has Manager Acknowledged Assignment:</div>
+                <select name="hasWatchPatManagerAcknowledgedAssignment" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->has_watch_pat_manager_acknowledged_assignment == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->has_watch_pat_manager_acknowledged_assignment == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
             <div class="mb-2">
                 <div class="mb-1">Effective As Of:</div>
                 <input type="date" value="{{$patient->watch_pat_manager_assignment_effective_as_of}}" name="watchPatManagerAssignmentEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
@@ -25,10 +39,18 @@
     </div>
 </div>
 
-<div class="px-3 py-1">
+<div class="px-3 pt-2 pb-1">
     Manager Pro: <b>{{$patient->watchPatManagerPro ? $patient->watchPatManagerPro->displayName() : '-'}}</b>
 </div>
 
+<div class="px-3 py-1">
+    Distance To Patient (miles): <b>{{$patient->watch_pat_manager_distance_to_patient ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Has Manager Acknowledged Assignment: <b>{{+$patient->has_watch_pat_manager_acknowledged_assignment ? 'Yes' : 'No'}}</b>
+</div>
+
 <div class="px-3 py-1">
     Effective As Of: <b>{{$patient->watch_pat_manager_assignment_effective_as_of ?: '-'}}</b>
 </div>

+ 102 - 5
resources/views/app/patient/sleep-study/medical-necessity.blade.php

@@ -2,11 +2,82 @@
     <h4 class="font-weight-bold text-nowrap m-0">Watchpat Medical Necessity</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateWatchPatSignsAndSymptoms">
+        <form url="/api/client/updateWatchPatMedicalNecessity" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Watchpat Medical Necessity</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Watchpat Medical Necessity</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Medically Needed:</div>
+                <select name="isWatchPatMedicallyNeeded" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="YES" {{$patient->is_watch_pat_medically_needed === 'YES' ? 'selected' : ''}}>Yes</option>
+                    <option value="NO" {{$patient->is_watch_pat_medically_needed === 'NO' ? 'selected' : ''}}>No</option>
+                    <option value="UNKNOWN" {{$patient->is_watch_pat_medically_needed === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_medically_needed_for_memo}}" name="watchPatMedicallyNeededForMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <table class="table table-sm table-bordered m-0">
+                    <thead class="bg-light">
+                    <tr>
+                        <th class="text-sm text-secondary font-weight-normal border-bottom-0">ICD</th>
+                        <th class="text-sm text-secondary font-weight-normal border-bottom-0">Description</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd1" value="{{$patient->watch_pat_medically_needed_for_icd1}}" placeholder="ICD 1" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd1Description" value="{{$patient->watch_pat_medically_needed_for_icd1description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd2" value="{{$patient->watch_pat_medically_needed_for_icd2}}" placeholder="ICD 2" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd2Description" value="{{$patient->watch_pat_medically_needed_for_icd2description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd3" value="{{$patient->watch_pat_medically_needed_for_icd3}}" placeholder="ICD 3" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd3Description" value="{{$patient->watch_pat_medically_needed_for_icd3description}}">
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>
+                            <input type="text" class="icd-input search_field" icd-autocomplete-code="" name="watchPatMedicallyNeededForIcd4" value="{{$patient->watch_pat_medically_needed_for_icd4}}" placeholder="ICD 4" autocomplete="off" role="combobox" aria-expanded="false">
+                        </td>
+                        <td>
+                            <input type="text" class="form-control form-control-sm" icd-autocomplete-description="" name="watchPatMedicallyNeededForIcd4Description" value="{{$patient->watch_pat_medically_needed_for_icd4description}}">
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Note:</div>
+                <select name="watchPatMedicalNecessityNoteUid" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    @foreach($patient->notes as $note)
+                        <option value="{{$note->uid}}" {{$patient->watchPatMedicalNecessityNote && $patient->watchPatMedicalNecessityNote->uid === $note->uid ? 'selected' : '' }}>
+                            {{$note->hcpPro ? $note->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($note->effective_dateest, false)}})
+                        </option>
+                    @endforeach
+                </select>
+            </div>
 
-            TODO
             <div class="mt-2 border-top pt-2 text-center">
                 <button class="btn btn-primary btn-sm" submit>Submit</button>
                 <button class="btn btn-default border btn-sm" cancel>Cancel</button>
@@ -16,5 +87,31 @@
 </div>
 
 <div class="px-3 pt-2 pb-1">
-    TODO
-</div>
+    Is WatchPat Medically Needed: <b>{{$patient->is_watch_pat_medically_needed ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_medically_needed_for_memo ?: '-'}}</b>
+</div>
+
+<?php
+$icds = [];
+if($patient->watch_pat_medically_needed_for_icd1) $icds[] = $patient->watch_pat_medically_needed_for_icd1;
+if($patient->watch_pat_medically_needed_for_icd2) $icds[] = $patient->watch_pat_medically_needed_for_icd2;
+if($patient->watch_pat_medically_needed_for_icd3) $icds[] = $patient->watch_pat_medically_needed_for_icd3;
+if($patient->watch_pat_medically_needed_for_icd4) $icds[] = $patient->watch_pat_medically_needed_for_icd4;
+?>
+<div class="px-3 py-1">
+    ICDs: <b>{{count($icds) ? implode(', ', $icds) : '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Note:
+    @if($patient->watchPatMedicalNecessityNote)
+        <b>
+            {{$patient->watchPatMedicalNecessityNote->hcpPro ? $patient->watchPatMedicalNecessityNote->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($patient->watchPatMedicalNecessityNote->effective_dateest, false)}})
+        </b>
+    @else
+        <b>-</b>
+    @endif
+</div>

+ 4 - 4
resources/views/app/patient/sleep-study/patient-interest.blade.php

@@ -2,11 +2,11 @@
     <h4 class="font-weight-bold text-nowrap m-0">Patient Interest</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateWatchPatPatientInterest">
+        <form url="/api/client/updateWatchPatPatientInterest" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Patient Interest</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Patient Interest</div>
             <div class="mb-2">
-                <div class="mb-1">Does Patient Want Watch Pat:</div>
+                <div class="mb-1">Does Patient Want WatchPat:</div>
                 <select name="doesPatientWantWatchPat" class="form-control form-control-sm">
                     <option value="">-- select --</option>
                     <option value="YES" {{$patient->does_patient_want_watch_pat === 'YES' ? 'selected' : ''}}>Yes</option>
@@ -34,7 +34,7 @@
 </div>
 
 <div class="px-3 pt-2 pb-1">
-    Does Patient Want Watch Pat: <b>{{$patient->does_patient_want_watch_pat ?: '-'}}</b>
+    Does Patient Want WatchPat: <b>{{$patient->does_patient_want_watch_pat ?: '-'}}</b>
 </div>
 
 <div class="px-3 py-1">

+ 55 - 0
resources/views/app/patient/sleep-study/patient-ready.blade.php

@@ -0,0 +1,55 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Patient Ready</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatPatientReady" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Patient Ready</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Patient Ready:</div>
+                <select name="isWatchPatPatientReady" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_patient_ready == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_patient_ready == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Expected Study Date:</div>
+                <input type="date" value="{{$patient->watch_pat_expected_study_date}}" name="watchPatExpectedStudyDate" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_patient_ready_memo}}" name="watchPatPatientReadyMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_patient_ready_effective_as_of}}" name="watchPatPatientReadyEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Patient Ready: <b>{{+$patient->is_watch_pat_patient_ready ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Expected Study Date: <b>{{$patient->watch_pat_expected_study_date ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_patient_ready_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_patient_ready_effective_as_of ?: '-'}}</b>
+</div>

+ 46 - 0
resources/views/app/patient/sleep-study/receipt-by-client.blade.php

@@ -0,0 +1,46 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Receipt By Patient</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatReceivedByPatient" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Receipt By Patient</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Received By Patient:</div>
+                <select name="isWatchPatReceivedByPatient" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_received_by_patient == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_received_by_patient == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_received_by_patient_memo}}" name="watchPatReceivedByPatientMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_received_by_patient_effective_as_of}}" name="watchPatReceivedByPatientEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Received By Patient: <b>{{+$patient->is_watch_pat_received_by_patient ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_received_by_patient_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_received_by_patient_effective_as_of ?: '-'}}</b>
+</div>

+ 46 - 0
resources/views/app/patient/sleep-study/receipt-by-manager.blade.php

@@ -0,0 +1,46 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Receipt By Manager</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatReceivedByManager" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Receipt By Manager</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Received By Manager:</div>
+                <select name="isWatchPatReceivedByManager" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_received_by_manager == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_received_by_manager == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_received_by_manager_memo}}" name="watchPatReceivedByManagerMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_received_by_manager_effective_as_of}}" name="watchPatReceivedByManagerEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Received By Manager: <b>{{+$patient->is_watch_pat_received_by_manager ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_received_by_manager_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_received_by_manager_effective_as_of ?: '-'}}</b>
+</div>

+ 70 - 0
resources/views/app/patient/sleep-study/results-comm-to-doctors.blade.php

@@ -0,0 +1,70 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Results Communicated to Other Doctors</h4>
+    <div moe wide class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatResultsCommunicatedToOtherDoctors" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Results Communicated to Other Doctors</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Does Patient Want WatchPat Results Communicated To Other Doctors:</div>
+                <select name="doesPatientWantWatchPatResultsCommunicatedToOtherDoctors" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="YES" {{$patient->does_patient_want_watch_pat_results_comm_to_other_docs === 'YES' ? 'selected' : ''}}>Yes</option>
+                    <option value="NO" {{$patient->does_patient_want_watch_pat_results_comm_to_other_docs === 'NO' ? 'selected' : ''}}>No</option>
+                    <option value="UNKNOWN" {{$patient->does_patient_want_watch_pat_results_comm_to_other_docs === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Does Patient Want WatchPat Results Communicated To Other Doctors Memo:</div>
+                <input type="text" value="{{$patient->does_patient_want_watch_pat_results_comm_to_other_docs_memo}}" name="doesPatientWantWatchPatResultsCommunicatedToOtherDoctorsMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Has WatchPat Results Been Communicated To Other Doctors:</div>
+                <select name="hasWatchPatResultsBeenCommunicatedToOtherDoctors" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="YES" {{$patient->has_watch_pat_results_been_communicated_to_other_doctors === 'YES' ? 'selected' : ''}}>Yes</option>
+                    <option value="NO" {{$patient->has_watch_pat_results_been_communicated_to_other_doctors === 'NO' ? 'selected' : ''}}>No</option>
+                    <option value="UNKNOWN" {{$patient->has_watch_pat_results_been_communicated_to_other_doctors === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">WatchPat Results Communicated To Other Doctors Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_results_communicated_to_other_doctors_memo}}" name="watchPatResultsCommunicatedToOtherDoctorsMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_results_communicated_to_other_doctors_effective_as_of}}" name="watchPatResultsCommunicatedToOtherDoctorsEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Does Patient Want WatchPat Results Communicated To Other Doctors: <b>{{$patient->does_patient_want_watch_pat_results_comm_to_other_docs ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Does Patient Want WatchPat Results Communicated To Other Doctors Memo: <b>{{$patient->does_patient_want_watch_pat_results_comm_to_other_docs_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Has WatchPat Results Been Communicated To Other Doctors: <b>{{$patient->has_watch_pat_results_been_communicated_to_other_doctors ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    WatchPat Results Communicated To Other Doctors Memo: <b>{{$patient->watch_pat_results_communicated_to_other_doctors_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_results_communicated_to_other_doctors_effective_as_of ?: '-'}}</b>
+</div>

+ 38 - 0
resources/views/app/patient/sleep-study/results-comm-to-patient.blade.php

@@ -0,0 +1,38 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Results Communicated to Patient</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatResultsCommunicatedToPatient" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Results Communicated to Patient</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Note:</div>
+                <select name="watchPatResultsCommunicatedToPatientNoteUid" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    @foreach($patient->notes as $note)
+                        <option value="{{$note->uid}}" {{$patient->watchPatResultsCommunicatedToPatientNote && $patient->watchPatResultsCommunicatedToPatientNote->uid === $note->uid ? 'selected' : '' }}>
+                            {{$note->hcpPro ? $note->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($note->effective_dateest, false)}})
+                        </option>
+                    @endforeach
+                </select>
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Note:
+    @if($patient->watchPatResultsCommunicatedToPatientNote)
+        <b>
+            {{$patient->watchPatResultsCommunicatedToPatientNote->hcpPro ? $patient->watchPatResultsCommunicatedToPatientNote->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($patient->watchPatResultsCommunicatedToPatientNote->effective_dateest, false)}})
+        </b>
+    @else
+        <b>-</b>
+    @endif
+</div>

+ 55 - 0
resources/views/app/patient/sleep-study/shipment-to-client.blade.php

@@ -0,0 +1,55 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Shipment To Patient</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatShipmentToPatient" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Shipment To Patient</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Shipped To Patient:</div>
+                <select name="isWatchPatShippedToPatient" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_shipped_to_patient == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_shipped_to_patient == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">FedEx #:</div>
+                <input type="text" value="{{$patient->watch_pat_shipment_to_patient_fed_ex_number}}" name="watchPatShipmentToPatientFedExNumber" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_shipment_to_patient_memo}}" name="watchPatShipmentToPatientMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_shipment_to_patient_effective_as_of}}" name="watchPatShipmentToPatientEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Shipped To Patient: <b>{{+$patient->is_watch_pat_shipped_to_patient ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    FedEx #: <b>{{$patient->watch_pat_shipment_to_patient_fed_ex_number ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_shipment_to_patient_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_shipment_to_patient_effective_as_of ?: '-'}}</b>
+</div>

+ 55 - 0
resources/views/app/patient/sleep-study/shipment-to-manager.blade.php

@@ -0,0 +1,55 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Shipment To Manager</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatShipmentToManager" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Shipment To Manager</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Shipped To Manager:</div>
+                <select name="isWatchPatShippedToManager" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_shipped_to_manager == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_shipped_to_manager == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">FedEx #:</div>
+                <input type="text" value="{{$patient->watch_pat_shipment_to_manager_fed_ex_number}}" name="watchPatShipmentToManagerFedExNumber" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_shipment_to_manager_memo}}" name="watchPatShipmentToManagerMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_shipment_to_manager_effective_as_of}}" name="watchPatShipmentToManagerEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Shipped To Manager: <b>{{+$patient->is_watch_pat_shipped_to_manager ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    FedEx #: <b>{{$patient->watch_pat_shipment_to_manager_fed_ex_number ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_shipment_to_manager_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_shipment_to_manager_effective_as_of ?: '-'}}</b>
+</div>

+ 2 - 2
resources/views/app/patient/sleep-study/signs-and-symptoms.blade.php

@@ -2,9 +2,9 @@
     <h4 class="font-weight-bold text-nowrap m-0">Watchpat Signs &amp; Symptoms</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateWatchPatSignsAndSymptoms">
+        <form url="/api/client/updateWatchPatSignsAndSymptoms" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Watchpat Signs &amp; Symptoms</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Watchpat Signs &amp; Symptoms</div>
             <div class="mb-2">
                 <div class="mb-1">Patient seems to need WatchPat:</div>
                 <select name="doesPatientSeemToNeedWatchPat" class="form-control form-control-sm">

+ 421 - 392
resources/views/app/patient/sleep-study/sleep-apnea-background.blade.php

@@ -1,493 +1,522 @@
-<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
-    <h4 class="font-weight-bold text-nowrap m-0">Sleep Apnea Background</h4>
-    <div moe center huge-1100 class="ml-3">
-        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateSleepApneaBackground">
-            <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2">Sleep Apnea Background</div>
-            <div class="row mx-0">
-                <div class="col-5 px-0 pb-4">
-                    <div class="px-3 pt-2 pb-1">
-                        <span class="d-inline-block width-200px">Diagnosed with Sleep Apnea:</span>
-                        <select name="hasSleepApneaDiagnosis" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="CURRENTLY" {{$patient->has_sleep_apnea_diagnosis === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
-                            <option value="PREVIOUSLY" {{$patient->has_sleep_apnea_diagnosis === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
-                            <option value="NEVER" {{$patient->has_sleep_apnea_diagnosis === 'NEVER' ? 'selected' : ''}}>Never</option>
-                            <option value="UNKNOWN" {{$patient->has_sleep_apnea_diagnosis === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-
-                    <div class="px-3 py-1">
-                        <span class="d-inline-block width-200px">Has CPAP Machine:</span>
-                        <select name="hasCpapMachine" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="CURRENTLY" {{$patient->has_cpap_machine === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
-                            <option value="PREVIOUSLY" {{$patient->has_cpap_machine === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
-                            <option value="NEVER" {{$patient->has_cpap_machine === 'NEVER' ? 'selected' : ''}}>Never</option>
-                            <option value="UNKNOWN" {{$patient->has_cpap_machine === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-
-                    <div class="px-3 py-1">
-                        <span class="d-inline-block width-200px">Has Sleep Apnea Oral Appliance:</span>
-                        <select name="hasSleepApneaOralAppliance" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="CURRENTLY" {{$patient->has_sleep_apnea_oral_appliance === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
-                            <option value="PREVIOUSLY" {{$patient->has_sleep_apnea_oral_appliance === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
-                            <option value="NEVER" {{$patient->has_sleep_apnea_oral_appliance === 'NEVER' ? 'selected' : ''}}>Never</option>
-                            <option value="UNKNOWN" {{$patient->has_sleep_apnea_oral_appliance === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-
-                    <div class="px-3 py-1">
-                        <span class="d-inline-block width-200px">Has Sleep Physician:</span>
-                        <select name="hasSleepPhysician" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="CURRENTLY" {{$patient->has_sleep_physician === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
-                            <option value="PREVIOUSLY" {{$patient->has_sleep_physician === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
-                            <option value="NEVER" {{$patient->has_sleep_physician === 'NEVER' ? 'selected' : ''}}>Never</option>
-                            <option value="UNKNOWN" {{$patient->has_sleep_physician === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-
-                    <div class="px-3 py-1">
-                        <span class="d-inline-block width-200px">Has Sleep Dentist:</span>
-                        <select name="hasSleepDentist" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="CURRENTLY" {{$patient->has_sleep_dentist === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
-                            <option value="PREVIOUSLY" {{$patient->has_sleep_dentist === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
-                            <option value="NEVER" {{$patient->has_sleep_dentist === 'NEVER' ? 'selected' : ''}}>Never</option>
-                            <option value="UNKNOWN" {{$patient->has_sleep_dentist === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-
-                    <hr class="my-2">
+<div id="sleep-apnea-background">
+
+    <div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+        <h4 class="font-weight-bold text-nowrap m-0">Sleep Apnea Background</h4>
+        <div moe center huge-1100 class="ml-3">
+            <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+            <form url="/api/client/updateSleepApneaBackground" hook="refreshSleepStudyStep">
+                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2">Sleep Apnea Background</div>
+                <div class="row mx-0">
+                    <div class="col-5 px-0 pb-4">
+                        <div class="px-3 pt-2 pb-1">
+                            <span class="d-inline-block width-200px">Diagnosed with Sleep Apnea:</span>
+                            <select name="hasSleepApneaDiagnosis" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="CURRENTLY" {{$patient->has_sleep_apnea_diagnosis === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
+                                <option value="PREVIOUSLY" {{$patient->has_sleep_apnea_diagnosis === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
+                                <option value="NEVER" {{$patient->has_sleep_apnea_diagnosis === 'NEVER' ? 'selected' : ''}}>Never</option>
+                                <option value="UNKNOWN" {{$patient->has_sleep_apnea_diagnosis === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
+                        </div>
 
-                    <div class="px-3 py-1">
-                        Has Had Home Sleep Study:
-                        <select name="hasHadHomeSleepStudy" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="YES" {{$patient->has_had_home_sleep_study === 'YES' ? 'selected' : ''}}>Yes</option>
-                            <option value="NO" {{$patient->has_had_home_sleep_study === 'NO' ? 'selected' : ''}}>No</option>
-                            <option value="UNKNOWN" {{$patient->has_had_home_sleep_study === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-                    @if(1 || $patient->has_had_home_sleep_study === 'YES')
-                        <div class="ml-3 border-left">
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Memo</span>
-                                <input type="text" value="{{$patient->has_had_home_sleep_study_memo}}" name="hasHadHomeSleepStudyMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Findings</span>
-                                <input type="text" value="{{$patient->has_had_home_sleep_study_findings}}" name="hasHadHomeSleepStudyFindings" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Approx. Date</span>
-                                <input type="date" value="{{$patient->has_had_home_sleep_study_approximate_date}}" name="hasHadHomeSleepStudyApproximateDate" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Value As Of</span>
-                                <input type="date" value="{{$patient->has_had_home_sleep_study_value_as_of}}" name="hasHadHomeSleepStudyValueAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
+                        <div class="px-3 py-1">
+                            <span class="d-inline-block width-200px">Has CPAP Machine:</span>
+                            <select name="hasCpapMachine" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="CURRENTLY" {{$patient->has_cpap_machine === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
+                                <option value="PREVIOUSLY" {{$patient->has_cpap_machine === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
+                                <option value="NEVER" {{$patient->has_cpap_machine === 'NEVER' ? 'selected' : ''}}>Never</option>
+                                <option value="UNKNOWN" {{$patient->has_cpap_machine === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
                         </div>
-                    @endif
 
-                    <hr class="my-2">
+                        <div class="px-3 py-1">
+                            <span class="d-inline-block width-200px">Has Sleep Apnea Oral Appliance:</span>
+                            <select name="hasSleepApneaOralAppliance" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="CURRENTLY" {{$patient->has_sleep_apnea_oral_appliance === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
+                                <option value="PREVIOUSLY" {{$patient->has_sleep_apnea_oral_appliance === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
+                                <option value="NEVER" {{$patient->has_sleep_apnea_oral_appliance === 'NEVER' ? 'selected' : ''}}>Never</option>
+                                <option value="UNKNOWN" {{$patient->has_sleep_apnea_oral_appliance === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
+                        </div>
 
-                    <div class="px-3 py-1">
-                        Has Had Lab Sleep Study:
-                        <select name="hasHadLabSleepStudy" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                            <option value="">-- select --</option>
-                            <option value="YES" {{$patient->has_had_lab_sleep_study === 'YES' ? 'selected' : ''}}>Yes</option>
-                            <option value="NO" {{$patient->has_had_lab_sleep_study === 'NO' ? 'selected' : ''}}>No</option>
-                            <option value="UNKNOWN" {{$patient->has_had_lab_sleep_study === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                        </select>
-                    </div>
-                    @if(1 || $patient->has_had_lab_sleep_study === 'YES')
-                        <div class="ml-3 border-left">
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Memo</span>
-                                <input type="text" value="{{$patient->has_had_lab_sleep_study_memo}}" name="hasHadLabSleepStudyMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Findings</span>
-                                <input type="text" value="{{$patient->has_had_lab_sleep_study_findings}}" name="hasHadLabSleepStudyFindings" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Approx. Date</span>
-                                <input type="date" value="{{$patient->has_had_lab_sleep_study_approximate_date}}" name="hasHadLabSleepStudyApproximateDate" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="width-150px mr-2">Value As Of</span>
-                                <input type="date" value="{{$patient->has_had_lab_sleep_study_value_as_of}}" name="hasHadLabSleepStudyValueAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
-                            </div>
+                        <div class="px-3 py-1">
+                            <span class="d-inline-block width-200px">Has Sleep Physician:</span>
+                            <select name="hasSleepPhysician" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="CURRENTLY" {{$patient->has_sleep_physician === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
+                                <option value="PREVIOUSLY" {{$patient->has_sleep_physician === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
+                                <option value="NEVER" {{$patient->has_sleep_physician === 'NEVER' ? 'selected' : ''}}>Never</option>
+                                <option value="UNKNOWN" {{$patient->has_sleep_physician === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
                         </div>
-                    @endif
-                </div>
-                <div class="col-7 border-left px-0 pb-4">
-                    <div class="px-3 pt-2 pb-1 font-weight-bold text-secondary">STOPBANG Questionnaire</div>
 
-                    <hr class="my-2">
+                        <div class="px-3 py-1">
+                            <span class="d-inline-block width-200px">Has Sleep Dentist:</span>
+                            <select name="hasSleepDentist" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="CURRENTLY" {{$patient->has_sleep_dentist === 'CURRENTLY' ? 'selected' : ''}}>Currently</option>
+                                <option value="PREVIOUSLY" {{$patient->has_sleep_dentist === 'PREVIOUSLY' ? 'selected' : ''}}>Previously</option>
+                                <option value="NEVER" {{$patient->has_sleep_dentist === 'NEVER' ? 'selected' : ''}}>Never</option>
+                                <option value="UNKNOWN" {{$patient->has_sleep_dentist === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
+                        </div>
 
-                    <div class="px-3 py-1 d-flex align-items-baseline">
-                        <span class="mr-3">Value As Of</span>
-                        <input type="date" value="{{$patient->stop_bang_value_as_of}}" name="stopBangValueAsOf" class="form-control form-control-sm d-inline-block w-auto min-width-unset">
-                    </div>
+                        <hr class="my-2">
 
-                    <hr class="my-2">
-
-                    <div class="row mx-0">
-                        <div class="col-6 px-0">
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Snore:</span>
-                                <select name="stopBangSnore" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_snore === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_snore === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_snore === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
+                        <div class="px-3 py-1">
+                            Has Had Home Sleep Study:
+                            <select name="hasHadHomeSleepStudy" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="YES" {{$patient->has_had_home_sleep_study === 'YES' ? 'selected' : ''}}>Yes</option>
+                                <option value="NO" {{$patient->has_had_home_sleep_study === 'NO' ? 'selected' : ''}}>No</option>
+                                <option value="UNKNOWN" {{$patient->has_had_home_sleep_study === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
+                        </div>
+                        @if(1 || $patient->has_had_home_sleep_study === 'YES')
+                            <div class="ml-3 border-left">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_snore_memo}}" name="stopBangSnoreMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Memo</span>
+                                    <input type="text" value="{{$patient->has_had_home_sleep_study_memo}}" name="hasHadHomeSleepStudyMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
-                            </div>
-
-                            <hr class="my-2">
-
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Tired:</span>
-                                <select name="stopBangTired" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_tired === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_tired === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_tired === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_tired_memo}}" name="stopBangTiredMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Findings</span>
+                                    <input type="text" value="{{$patient->has_had_home_sleep_study_findings}}" name="hasHadHomeSleepStudyFindings" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
-                            </div>
-
-                            <hr class="my-2">
-
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Observed Apnea:</span>
-                                <select name="stopBangObservedApnea" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_observed_apnea === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_observed_apnea === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_observed_apnea === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_observed_apnea_memo}}" name="stopBangObservedApneaMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Approx. Date</span>
+                                    <input type="date" value="{{$patient->has_had_home_sleep_study_approximate_date}}" name="hasHadHomeSleepStudyApproximateDate" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
-                            </div>
-
-                            <hr class="my-2">
-
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">High BP:</span>
-                                <select name="stopBangHighBloodPressure" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_high_blood_pressure === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_high_blood_pressure === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_high_blood_pressure === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_high_blood_pressure_memo}}" name="stopBangHighBloodPressureMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Value As Of</span>
+                                    <input type="date" value="{{$patient->has_had_home_sleep_study_value_as_of}}" name="hasHadHomeSleepStudyValueAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
                             </div>
+                        @endif
+
+                        <hr class="my-2">
+
+                        <div class="px-3 py-1">
+                            Has Had Lab Sleep Study:
+                            <select name="hasHadLabSleepStudy" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                <option value="">-- select --</option>
+                                <option value="YES" {{$patient->has_had_lab_sleep_study === 'YES' ? 'selected' : ''}}>Yes</option>
+                                <option value="NO" {{$patient->has_had_lab_sleep_study === 'NO' ? 'selected' : ''}}>No</option>
+                                <option value="UNKNOWN" {{$patient->has_had_lab_sleep_study === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                            </select>
                         </div>
-                        <div class="col-6 px-0 border-left">
-
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">BMI &gt; 35:</span>
-                                <select name="stopBangBmiOver35" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_bmi_over35 === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_bmi_over35 === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_bmi_over35 === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-
-                            <div class="">
+                        @if(1 || $patient->has_had_lab_sleep_study === 'YES')
+                            <div class="ml-3 border-left">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2 width-50px">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_bmi_over35_memo}}" name="stopBangBmiOver35Memo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Memo</span>
+                                    <input type="text" value="{{$patient->has_had_lab_sleep_study_memo}}" name="hasHadLabSleepStudyMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2 width-50px">Weight</span>
-                                    <input type="text" value="{{$patient->stop_bang_weight_in_pounds}}" name="stopBangWeightInPounds" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Findings</span>
+                                    <input type="text" value="{{$patient->has_had_lab_sleep_study_findings}}" name="hasHadLabSleepStudyFindings" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2 width-50px">Height</span>
-                                    <input type="text" value="{{$patient->stop_bang_height_in_inches}}" name="stopBangHeightInInches" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Approx. Date</span>
+                                    <input type="date" value="{{$patient->has_had_lab_sleep_study_approximate_date}}" name="hasHadLabSleepStudyApproximateDate" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2 width-50px">BMI</span>
-                                    <input type="text" value="{{$patient->stop_bang_bmi}}" name="stopBangBmi" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="width-150px mr-2">Value As Of</span>
+                                    <input type="date" value="{{$patient->has_had_lab_sleep_study_value_as_of}}" name="hasHadLabSleepStudyValueAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
                                 </div>
                             </div>
+                        @endif
+                    </div>
+                    <div class="col-7 border-left px-0 pb-4">
+                        <div class="px-3 pt-2 pb-1 font-weight-bold text-secondary">STOPBANG Questionnaire</div>
 
-                            <hr class="my-2">
+                        <hr class="my-2">
 
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Age &gt; 50:</span>
-                                <select name="stopBangAgeOver50" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_age_over50 === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_age_over50 === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_age_over50 === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
+                        <div class="px-3 py-1 d-flex align-items-baseline">
+                            <span class="mr-3">Value As Of</span>
+                            <input type="date" value="{{$patient->stop_bang_value_as_of}}" name="stopBangValueAsOf" class="form-control form-control-sm d-inline-block w-auto min-width-unset">
+                        </div>
+
+                        <hr class="my-2">
+
+                        <div class="row mx-0">
+                            <div class="col-6 px-0">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_age_over50_memo}}" name="stopBangAgeOver50Memo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="mr-2 font-weight-bold">Snore:</span>
+                                    <select name="stopBangSnore" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_snore === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_snore === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_snore === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_snore_memo}}" name="stopBangSnoreMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
                                 </div>
-                            </div>
 
-                            <hr class="my-2">
+                                <hr class="my-2">
 
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Neck Circumf. &gt; 16 in.:</span>
-                                <select name="stopBangNeckCircumferenceOver16Inches" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_neck_circumference_over16_inches === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_neck_circumference_over16_inches === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_neck_circumference_over16_inches === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
-                            </div>
-                            <div class="">
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Memo</span>
-                                    <input type="text" value="{{$patient->stop_bang_neck_circumference_over16_inches_memo}}" name="stopBangNeckCircumferenceOver16InchesMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="mr-2 font-weight-bold">Tired:</span>
+                                    <select name="stopBangTired" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_tired === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_tired === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_tired === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
                                 </div>
-                            </div>
-                            <div class="">
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_tired_memo}}" name="stopBangTiredMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
+
+                                <hr class="my-2">
+
                                 <div class="px-3 py-1 d-flex align-items-baseline">
-                                    <span class="mr-2">Neck Circumference</span>
-                                    <input type="text" value="{{$patient->neck_circumference_in_inches}}" name="neckCircumferenceInInches" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    <span class="mr-2 font-weight-bold">Observed Apnea:</span>
+                                    <select name="stopBangObservedApnea" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_observed_apnea === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_observed_apnea === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_observed_apnea === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_observed_apnea_memo}}" name="stopBangObservedApneaMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
                                 </div>
-                            </div>
 
-                            <hr class="my-2">
+                                <hr class="my-2">
 
-                            <div class="px-3 py-1 d-flex align-items-baseline">
-                                <span class="mr-2 font-weight-bold">Gender is Male:</span>
-                                <select name="stopBangGenderMale" class="form-control form-control-sm min-width-unset d-inline w-auto">
-                                    <option value="">-- select --</option>
-                                    <option value="YES" {{$patient->stop_bang_gender_male === 'YES' ? 'selected' : ''}}>Yes</option>
-                                    <option value="NO" {{$patient->stop_bang_gender_male === 'NO' ? 'selected' : ''}}>No</option>
-                                    <option value="UNKNOWN" {{$patient->stop_bang_gender_male === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
-                                </select>
+                                <div class="px-3 py-1 d-flex align-items-baseline">
+                                    <span class="mr-2 font-weight-bold">High BP:</span>
+                                    <select name="stopBangHighBloodPressure" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_high_blood_pressure === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_high_blood_pressure === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_high_blood_pressure === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_high_blood_pressure_memo}}" name="stopBangHighBloodPressureMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
                             </div>
+                            <div class="col-6 px-0 border-left">
 
-                        </div>
-                    </div>
-
-                    <hr class="my-2">
+                                <div class="px-3 py-1 d-flex align-items-baseline">
+                                    <span class="mr-2 font-weight-bold">BMI &gt; 35:</span>
+                                    <select name="stopBangBmiOver35" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_bmi_over35 === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_bmi_over35 === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_bmi_over35 === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
 
-                    @if($patient->stop_bang_calculated_risk_category)
-                        <div class="px-3 py-1 bg-aliceblue font-weight-bold">
-                            Risk Category: {{$patient->stop_bang_calculated_risk_category ?: '-'}}
-                        </div>
-                    @endif
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2 width-50px">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_bmi_over35memo}}" name="stopBangBmiOver35Memo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2 width-50px">Weight</span>
+                                        <input type="text" value="{{$patient->stop_bang_weight_in_pounds}}" refresh-bmi name="stopBangWeightInPounds" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2 width-50px">Height</span>
+                                        <input type="text" value="{{$patient->stop_bang_height_in_inches}}" refresh-bmi name="stopBangHeightInInches" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2 width-50px">BMI</span>
+                                        <input type="text" readonly value="{{$patient->stop_bang_bmi}}" name="stopBangBmi" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
 
-                </div>
-            </div>
+                                <hr class="my-2">
 
-            <div class="mt-2 border-top pt-2 text-center">
-                <button class="btn btn-primary btn-sm" submit>Submit</button>
-                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
-            </div>
+                                <div class="px-3 py-1 d-flex align-items-baseline">
+                                    <span class="mr-2 font-weight-bold">Age &gt; 50:</span>
+                                    <select name="stopBangAgeOver50" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_age_over50 === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_age_over50 === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_age_over50 === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_age_over50memo}}" name="stopBangAgeOver50Memo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
 
-        </form>
-    </div>
-</div>
+                                <hr class="my-2">
 
-<div class="row mx-0">
-    <div class="col-5 px-0 pb-4">
-        <div class="px-3 pt-2 pb-1">
-            Diagnosed with Sleep Apnea: <b>{{$patient->has_sleep_apnea_diagnosis ?: '-'}}</b>
-        </div>
+                                <div class="px-3 py-1 d-flex align-items-baseline">
+                                    <span class="mr-2 font-weight-bold">Neck Circumf. &gt; 16 in.:</span>
+                                    <select name="stopBangNeckCircumferenceOver16Inches" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_neck_circumference_over16inches === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_neck_circumference_over16inches === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_neck_circumference_over16inches === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Memo</span>
+                                        <input type="text" value="{{$patient->stop_bang_neck_circumference_over16inches_memo}}" name="stopBangNeckCircumferenceOver16InchesMemo" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
+                                <div class="">
+                                    <div class="px-3 py-1 d-flex align-items-baseline">
+                                        <span class="mr-2">Neck Circumference</span>
+                                        <input type="text" value="{{$patient->neck_circumference_in_inches}}" name="neckCircumferenceInInches" class="form-control form-control-sm d-inline-block flex-grow-1 min-width-unset">
+                                    </div>
+                                </div>
 
-        <div class="px-3 py-1">
-            Has CPAP Machine: <b>{{$patient->has_cpap_machine ?: '-'}}</b>
-        </div>
+                                <hr class="my-2">
 
-        <div class="px-3 py-1">
-            Has Sleep Apnea Oral Appliance: <b>{{$patient->has_sleep_apnea_oral_appliance ?: '-'}}</b>
-        </div>
+                                <div class="px-3 py-1 d-flex align-items-baseline">
+                                    <span class="mr-2 font-weight-bold">Gender is Male:</span>
+                                    <select name="stopBangGenderMale" class="form-control form-control-sm min-width-unset d-inline w-auto">
+                                        <option value="">-- select --</option>
+                                        <option value="YES" {{$patient->stop_bang_gender_male === 'YES' ? 'selected' : ''}}>Yes</option>
+                                        <option value="NO" {{$patient->stop_bang_gender_male === 'NO' ? 'selected' : ''}}>No</option>
+                                        <option value="UNKNOWN" {{$patient->stop_bang_gender_male === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                                    </select>
+                                </div>
 
-        <div class="px-3 py-1">
-            Has Sleep Physician: <b>{{$patient->has_sleep_physician ?: '-'}}</b>
-        </div>
+                            </div>
+                        </div>
 
-        <div class="px-3 py-1">
-            Has Sleep Dentist: <b>{{$patient->has_sleep_dentist ?: '-'}}</b>
-        </div>
+                        <hr class="my-2">
 
-        <hr class="my-2">
+                        @if($patient->stop_bang_calculated_risk_category)
+                            <div class="px-3 py-1 bg-aliceblue font-weight-bold">
+                                Risk Category: {{$patient->stop_bang_calculated_risk_category ?: '-'}}
+                            </div>
+                        @endif
 
-        <div class="px-3 py-1">
-            Has Had Home Sleep Study: <b>{{$patient->has_had_home_sleep_study ?: '-'}}</b>
-        </div>
-        @if(1 || $patient->has_had_home_sleep_study === 'YES')
-            <div class="ml-3 border-left">
-                <div class="px-3 py-1">
-                    Memo: <b>{{$patient->has_had_home_sleep_study_memo ?: '-'}}</b>
-                </div>
-                <div class="px-3 py-1">
-                    Findings: <b>{{$patient->has_had_home_sleep_study_findings ?: '-'}}</b>
-                </div>
-                <div class="px-3 py-1">
-                    Approximate Date: <b>{{$patient->has_had_home_sleep_study_approximate_date ?: '-'}}</b>
+                    </div>
                 </div>
-                <div class="px-3 py-1">
-                    Value As Of: <b>{{$patient->has_had_home_sleep_study_value_as_of ?: '-'}}</b>
+
+                <div class="mt-2 border-top pt-2 text-center">
+                    <button class="btn btn-primary btn-sm" submit>Submit</button>
+                    <button class="btn btn-default border btn-sm" cancel>Cancel</button>
                 </div>
+
+            </form>
+        </div>
+    </div>
+
+    <div class="row mx-0">
+        <div class="col-5 px-0 pb-4">
+            <div class="px-3 pt-2 pb-1">
+                Diagnosed with Sleep Apnea: <b>{{$patient->has_sleep_apnea_diagnosis ?: '-'}}</b>
             </div>
-        @endif
 
-        <hr class="my-2">
+            <div class="px-3 py-1">
+                Has CPAP Machine: <b>{{$patient->has_cpap_machine ?: '-'}}</b>
+            </div>
 
-        <div class="px-3 py-1">
-            Has Had Lab Sleep Study: <b>{{$patient->has_had_lab_sleep_study ?: '-'}}</b>
-        </div>
-        @if(1 || $patient->has_had_lab_sleep_study === 'YES')
-            <div class="ml-3 border-left">
-                <div class="px-3 py-1">
-                    Memo: <b>{{$patient->has_had_lab_sleep_study_memo ?: '-'}}</b>
-                </div>
-                <div class="px-3 py-1">
-                    Findings: <b>{{$patient->has_had_lab_sleep_study_findings ?: '-'}}</b>
-                </div>
-                <div class="px-3 py-1">
-                    Approximate Date: <b>{{$patient->has_had_lab_sleep_study_approximate_date ?: '-'}}</b>
-                </div>
-                <div class="px-3 py-1">
-                    Value As Of: <b>{{$patient->has_had_lab_sleep_study_value_as_of ?: '-'}}</b>
-                </div>
+            <div class="px-3 py-1">
+                Has Sleep Apnea Oral Appliance: <b>{{$patient->has_sleep_apnea_oral_appliance ?: '-'}}</b>
             </div>
-        @endif
-    </div>
-    <div class="col-7 border-left px-0 pb-4">
-        <div class="px-3 pt-2 pb-1 font-weight-bold text-secondary">STOPBANG Questionnaire</div>
 
-        <hr class="my-2">
+            <div class="px-3 py-1">
+                Has Sleep Physician: <b>{{$patient->has_sleep_physician ?: '-'}}</b>
+            </div>
 
-        <div class="px-3 py-1">
-            Value As Of: <b>{{$patient->stop_bang_value_as_of ?: '-'}}</b>
-        </div>
+            <div class="px-3 py-1">
+                Has Sleep Dentist: <b>{{$patient->has_sleep_dentist ?: '-'}}</b>
+            </div>
 
-        <hr class="my-2">
+            <hr class="my-2">
 
-        <div class="row mx-0">
-            <div class="col-6 px-0">
-                <div class="px-3 py-1">
-                    Snore: <b>{{$patient->stop_bang_snore ?: '-'}}</b>
-                </div>
+            <div class="px-3 py-1">
+                Has Had Home Sleep Study: <b>{{$patient->has_had_home_sleep_study ?: '-'}}</b>
+            </div>
+            @if(1 || $patient->has_had_home_sleep_study === 'YES')
                 <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_snore_memo ?: '-'}}</b>
+                        Memo: <b>{{$patient->has_had_home_sleep_study_memo ?: '-'}}</b>
                     </div>
-                </div>
-
-                <div class="px-3 py-1">
-                    Tired: <b>{{$patient->stop_bang_tired ?: '-'}}</b>
-                </div>
-                <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_tired_memo ?: '-'}}</b>
+                        Findings: <b>{{$patient->has_had_home_sleep_study_findings ?: '-'}}</b>
                     </div>
-                </div>
-
-                <div class="px-3 py-1">
-                    Observed Apnea: <b>{{$patient->stop_bang_observed_apnea ?: '-'}}</b>
-                </div>
-                <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_observed_apnea_memo ?: '-'}}</b>
+                        Approximate Date: <b>{{$patient->has_had_home_sleep_study_approximate_date ?: '-'}}</b>
                     </div>
-                </div>
-
-                <div class="px-3 py-1">
-                    High BP: <b>{{$patient->stop_bang_high_blood_pressure ?: '-'}}</b>
-                </div>
-                <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_high_blood_pressure_memo ?: '-'}}</b>
+                        Value As Of: <b>{{$patient->has_had_home_sleep_study_value_as_of ?: '-'}}</b>
                     </div>
                 </div>
+            @endif
+
+            <hr class="my-2">
+
+            <div class="px-3 py-1">
+                Has Had Lab Sleep Study: <b>{{$patient->has_had_lab_sleep_study ?: '-'}}</b>
             </div>
-            <div class="col-6 px-0 border-left">
-                <div class="px-3 py-1">
-                    BMI &gt; 35: <b>{{$patient->stop_bang_bmi_over35 ?: '-'}}</b>
-                </div>
+            @if(1 || $patient->has_had_lab_sleep_study === 'YES')
                 <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_bmi_over35_memo ?: '-'}}</b>
+                        Memo: <b>{{$patient->has_had_lab_sleep_study_memo ?: '-'}}</b>
                     </div>
                     <div class="px-3 py-1">
-                        Weight: <b>{{$patient->stop_bang_weight_in_pounds ?: '-'}}</b>
+                        Findings: <b>{{$patient->has_had_lab_sleep_study_findings ?: '-'}}</b>
                     </div>
                     <div class="px-3 py-1">
-                        Height: <b>{{$patient->stop_bang_height_in_inches ?: '-'}}</b>
+                        Approximate Date: <b>{{$patient->has_had_lab_sleep_study_approximate_date ?: '-'}}</b>
                     </div>
                     <div class="px-3 py-1">
-                        BMI: <b>{{$patient->stop_bang_bmi ?: '-'}}</b>
+                        Value As Of: <b>{{$patient->has_had_lab_sleep_study_value_as_of ?: '-'}}</b>
                     </div>
                 </div>
+            @endif
+        </div>
+        <div class="col-7 border-left px-0 pb-4">
+            <div class="px-3 pt-2 pb-1 font-weight-bold text-secondary">STOPBANG Questionnaire</div>
 
-                <div class="px-3 py-1">
-                    Age &gt; 50: <b>{{$patient->stop_bang_age_over50 ?: '-'}}</b>
-                </div>
-                <div class="ml-3 border-left">
+            <hr class="my-2">
+
+            <div class="px-3 py-1">
+                Value As Of: <b>{{$patient->stop_bang_value_as_of ?: '-'}}</b>
+            </div>
+
+            <hr class="my-2">
+
+            <div class="row mx-0">
+                <div class="col-6 px-0">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_age_over50_memo ?: '-'}}</b>
+                        Snore: <b>{{$patient->stop_bang_snore ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_snore_memo ?: '-'}}</b>
+                        </div>
+                    </div>
+
+                    <div class="px-3 py-1">
+                        Tired: <b>{{$patient->stop_bang_tired ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_tired_memo ?: '-'}}</b>
+                        </div>
                     </div>
-                </div>
 
-                <div class="px-3 py-1">
-                    Neck Circumference &gt; 16 in.: <b>{{$patient->stop_bang_neck_circumference_over16_inches ?: '-'}}</b>
-                </div>
-                <div class="ml-3 border-left">
                     <div class="px-3 py-1">
-                        Memo: <b>{{$patient->stop_bang_neck_circumference_over16_inches_memo ?: '-'}}</b>
+                        Observed Apnea: <b>{{$patient->stop_bang_observed_apnea ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_observed_apnea_memo ?: '-'}}</b>
+                        </div>
                     </div>
+
                     <div class="px-3 py-1">
-                        Neck Circumference: <b>{{$patient->neck_circumference_in_inches ?: '-'}}</b>
+                        High BP: <b>{{$patient->stop_bang_high_blood_pressure ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_high_blood_pressure_memo ?: '-'}}</b>
+                        </div>
                     </div>
                 </div>
+                <div class="col-6 px-0 border-left">
+                    <div class="px-3 py-1">
+                        BMI &gt; 35: <b>{{$patient->stop_bang_bmi_over35 ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_bmi_over35memo ?: '-'}}</b>
+                        </div>
+                        <div class="px-3 py-1">
+                            Weight: <b>{{$patient->stop_bang_weight_in_pounds ?: '-'}}</b>
+                        </div>
+                        <div class="px-3 py-1">
+                            Height: <b>{{$patient->stop_bang_height_in_inches ?: '-'}}</b>
+                        </div>
+                        <div class="px-3 py-1">
+                            BMI: <b>{{$patient->stop_bang_bmi ?: '-'}}</b>
+                        </div>
+                    </div>
+
+                    <div class="px-3 py-1">
+                        Age &gt; 50: <b>{{$patient->stop_bang_age_over50 ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_age_over50memo ?: '-'}}</b>
+                        </div>
+                    </div>
+
+                    <div class="px-3 py-1">
+                        Neck Circumference &gt; 16 in.: <b>{{$patient->stop_bang_neck_circumference_over16inches ?: '-'}}</b>
+                    </div>
+                    <div class="ml-3 border-left">
+                        <div class="px-3 py-1">
+                            Memo: <b>{{$patient->stop_bang_neck_circumference_over16inches_memo ?: '-'}}</b>
+                        </div>
+                        <div class="px-3 py-1">
+                            Neck Circumference: <b>{{$patient->neck_circumference_in_inches ?: '-'}}</b>
+                        </div>
+                    </div>
 
-                <div class="px-3 py-1">
-                    Gender is Male: <b>{{$patient->stop_bang_gender_male ?: '-'}}</b>
+                    <div class="px-3 py-1">
+                        Gender is Male: <b>{{$patient->stop_bang_gender_male ?: '-'}}</b>
+                    </div>
                 </div>
             </div>
-        </div>
 
-        <hr class="my-2">
+            <hr class="my-2">
 
-        @if($patient->stop_bang_calculated_risk_category)
-            <div class="px-3 py-1 bg-aliceblue font-weight-bold">
-                Risk Category: {{$patient->stop_bang_calculated_risk_category ?: '-'}}
-            </div>
-        @endif
+            @if($patient->stop_bang_calculated_risk_category)
+                <div class="px-3 py-1 bg-aliceblue font-weight-bold">
+                    Risk Category: {{$patient->stop_bang_calculated_risk_category ?: '-'}}
+                </div>
+            @endif
 
+        </div>
     </div>
-</div>
 
+</div>
 
+<script>
+    (function() {
+        function init() {
+            let parentSegment = $('#sleep-apnea-background');
+            parentSegment.find('[refresh-bmi]').off('change input');
+            parentSegment.find('[refresh-bmi]').on('change input', function () {
+                refreshBMI();
+            });
+            refreshBMI();
+        }
+        function refreshBMI() {
+            let parentSegment = $('#sleep-apnea-background');
+            let w = parentSegment.find('[name="stopBangWeightInPounds"]').val(),
+                h = parentSegment.find('[name="stopBangHeightInInches"]').val();
+            let bmi = '';
+            try {
+                w = parseInt(w);
+                h = parseInt(h);
+                bmi = Math.round((w / (h * h)) * 703.06957964);
+                parentSegment.find('[name="stopBangBmi"]').val(!isNaN(bmi) ? bmi : '');
+            }
+            catch (e) {}
+        }
+        addMCInitializer('sleep-apnea-background', init, '#sleep-apnea-background');
+    }).call(window);
+</script>

+ 77 - 0
resources/views/app/patient/sleep-study/sleep-specialist-bill.blade.php

@@ -0,0 +1,77 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">WatchPat Sleep Specialist bill</h4>
+    @if($patient->watchPatSleepSpecialistPro)
+        @if($patient->watchPatSleepSpecialistBill)
+            <div moe class="ml-3">
+                <a start show href="#"><i class="fa fa-ban"></i> Cancel</a>
+                <form url="/api/bill/markCancelled" hook="refreshSleepStudyStep">
+                    <input type="hidden" name="uid" value="{{$patient->watchPatSleepSpecialistBill->uid}}">
+                    <p class="mb-2">Cancel the bill?</p>
+                    <div class="mt-2 pt-2">
+                        <button class="btn btn-primary btn-sm" submit>Submit</button>
+                        <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                    </div>
+                </form>
+            </div>
+        @else
+            <div moe class="ml-3">
+                <a start show href="#"><i class="fa fa-edit"></i> Create</a>
+                <form url="/api/bill/createForGenericForWatchPatSleepSpecialist" hook="refreshSleepStudyStep">
+                        <?php
+                        $code = 'Sleep Study Result Analysis';
+                        $rate = \App\Models\ProRate::where('code', $code)
+                            ->where('is_active', true)
+                            ->where('pro_id', $patient->watchPatSleepSpecialistPro->id)
+                            ->where('responsibility', 'GENERIC')
+                            ->first();
+                        ?>
+                    @if($rate)
+                        <input type="hidden" name="clientUid" value="{{$patient->uid}}">
+                        <input type="hidden" name="watchPatSleepSpecialistProUid" value="{{$patient->watchPatSleepSpecialistPro->uid}}">
+                        <input type="hidden" name="numberOfUnits" value="1">
+                        <input type="hidden" name="genericDescription" value="WatchPat Sleep Specialist Bill">
+                        <input type="hidden" name="code" value="{{$code}}">
+
+                        <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">
+                            Sleep Specialist Bill
+                        </div>
+
+                        <div class="mb-2">
+                            Service: <b class="text-nowrap">{{$code}}</b>
+                        </div>
+
+                        <div class="mb-2">
+                            Amount: <b>${{$rate->amount}}</b>
+                        </div>
+
+                        <div class="mb-2">
+                            <div class="mb-1">Effective Date:</div>
+                            <input type="date" value="{{date('Y-m-d')}}" name="effectiveDate"
+                                   class="form-control form-control-sm d-inline-block flex-grow-1">
+                        </div>
+
+                        <div class="mt-2 border-top pt-2 text-center">
+                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    @else
+                        <div class="alert alert-warning text-nowrap m-0">Sleep Specialist does not have a rate for <b>{{$code}}</b></div>
+                    @endif
+                </form>
+            </div>
+        @endif
+    @endif
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    @if($patient->watchPatSleepSpecialistPro)
+        @if($patient->watchPatSleepSpecialistBill)
+            <div class="mb-1 font-weight-bold">Billed ✓</div>
+            <div>${{$patient->watchPatSleepSpecialistBill->generic_pro_expected_payment_amount}} - {{$patient->watchPatSleepSpecialistBill->code}} - {{$patient->watchPatSleepSpecialistBill->effective_date}}</div>
+        @else
+            Not billed yet.
+        @endif
+    @else
+        Sleep Specialist not assigned yet.
+    @endif
+</div>

+ 25 - 0
resources/views/app/patient/sleep-study/sleep-specialist.blade.php

@@ -0,0 +1,25 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Sleep Specialist Assignment</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatSleepSpecialistAssignment" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Specialist Assignment</div>
+            <div class="mb-2">
+                <div class="mb-1">Sleep Specialist:</div>
+                <select name="watchPatSleepSpecialistUid" class="form-control form-control-sm" provider-search data-pro-uid="{{@$patient->watchPatSleepSpecialistPro->uid}}">
+                    <option value="">-- select --</option>
+                </select>
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Sleep Specialist: <b>{{$patient->watchPatSleepSpecialistPro ? $patient->watchPatSleepSpecialistPro->displayName() : '-'}}</b>
+</div>

+ 2 - 2
resources/views/app/patient/sleep-study/sleep-study-address.blade.php

@@ -2,9 +2,9 @@
     <h4 class="font-weight-bold text-nowrap m-0">Sleep Study Address</h4>
     <div moe class="ml-3">
         <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
-        <form url="/api/client/updateHomeAddressForWatchPatStudy">
+        <form url="/api/client/updateHomeAddressForWatchPatStudy" hook="refreshSleepStudyStep">
             <input type="hidden" name="uid" value="{{$patient->uid}}">
-            <div class="font-weight-bold font-size-14 text-secondary border-bottom px-2 pb-2 mb-2 text-nowrap">Sleep Study Address</div>
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Address</div>
 
             <div class="mb-2">
                 <div class="mb-1">Address Line 1:</div>

+ 58 - 0
resources/views/app/patient/sleep-study/study-authorization.blade.php

@@ -0,0 +1,58 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Sleep Study Authorization</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatStudyAuthorized" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Authorization</div>
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Study Authorized:</div>
+                <select name="isWatchPatStudyAuthorized" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_study_authorized == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_study_authorized == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_study_authorized_memo}}" name="watchPatStudyAuthorizedMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Deliver To:</div>
+                <select name="watchPatDeliverToClientOrManagerPro" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="CLIENT" {{$patient->watch_pat_deliver_to_client_or_manager_pro === 'CLIENT' ? 'selected' : ''}}>Client</option>
+                    <option value="PRO" {{$patient->watch_pat_deliver_to_client_or_manager_pro === 'PRO' ? 'selected' : ''}}>Manager Pro</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_study_authorized_effective_as_of}}" name="watchPatStudyAuthorizedEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Study Authorized: <b>{{+$patient->is_watch_pat_study_authorized ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_study_authorized_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Deliver To: <b>{{$patient->watch_pat_deliver_to_client_or_manager_pro ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_study_authorized_effective_as_of ?: '-'}}</b>
+</div>

+ 60 - 0
resources/views/app/patient/sleep-study/study-data-status.blade.php

@@ -0,0 +1,60 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Study Data Status</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatStudyRawDataStatus" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Study Data Status</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Has WatchPat Device Been Used:</div>
+                <select name="hasWatchPatDeviceBeenUsed" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->has_watch_pat_device_been_used == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->has_watch_pat_device_been_used == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Was WatchPat Study Raw Data Successful:</div>
+                <select name="wasWatchPatStudyRawDataSuccessful" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="YES" {{$patient->was_watch_pat_study_raw_data_successful === 'YES' ? 'selected' : ''}}>Yes</option>
+                    <option value="NO" {{$patient->was_watch_pat_study_raw_data_successful === 'NO' ? 'selected' : ''}}>No</option>
+                    <option value="UNKNOWN" {{$patient->was_watch_pat_study_raw_data_successful === 'UNKNOWN' ? 'selected' : ''}}>Unknown</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_study_raw_data_status_memo}}" name="watchPatStudyRawDataStatusMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_study_raw_data_status_effective_as_of}}" name="watchPatStudyRawDataStatusEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Has WatchPat Device Been Used: <b>{{+$patient->has_watch_pat_device_been_used ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Was WatchPat Study Raw Data Successful: <b>{{$patient->was_watch_pat_study_raw_data_successful ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_study_raw_data_status_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_study_raw_data_status_effective_as_of ?: '-'}}</b>
+</div>

+ 38 - 0
resources/views/app/patient/sleep-study/study-instructions.blade.php

@@ -0,0 +1,38 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Sleep Study Instructions</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatStudyInstructionsGiven" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Instructions</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Note:</div>
+                <select name="watchPatStudyInstructionsNoteUid" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    @foreach($patient->notes as $note)
+                        <option value="{{$note->uid}}" {{$patient->watchPatStudyInstructionsNote && $patient->watchPatStudyInstructionsNote->uid === $note->uid ? 'selected' : '' }}>
+                            {{$note->hcpPro ? $note->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($note->effective_dateest, false)}})
+                        </option>
+                    @endforeach
+                </select>
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Note:
+    @if($patient->watchPatStudyInstructionsNote)
+        <b>
+            {{$patient->watchPatStudyInstructionsNote->hcpPro ? $patient->watchPatStudyInstructionsNote->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($patient->watchPatStudyInstructionsNote->effective_dateest, false)}})
+        </b>
+    @else
+        <b>-</b>
+    @endif
+</div>

+ 59 - 0
resources/views/app/patient/sleep-study/study-order.blade.php

@@ -0,0 +1,59 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">Sleep Study Order</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatStudyOrdered" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">Sleep Study Order</div>
+            <div class="mb-2">
+                <div class="mb-1">Is WatchPat Study Ordered:</div>
+                <select name="isWatchPatStudyOrdered" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    <option value="1" {{$patient->is_watch_pat_study_ordered == '1' ? 'selected' : ''}}>Yes</option>
+                    <option value="0" {{$patient->is_watch_pat_study_ordered == '0' ? 'selected' : ''}}>No</option>
+                </select>
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_study_ordered_memo}}" name="watchPatStudyOrderedMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Note:</div>
+                <select name="watchPatStudyOrderedNoteUid" class="form-control form-control-sm">
+                    <option value="">-- select --</option>
+                    @foreach($patient->notes as $note)
+                        <option value="{{$note->uid}}" {{$patient->watchPatStudyOrderedNote && $patient->watchPatStudyOrderedNote->uid === $note->uid ? 'selected' : '' }}>
+                            {{$note->hcpPro ? $note->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($note->effective_dateest, false)}})
+                        </option>
+                    @endforeach
+                </select>
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Is WatchPat Study Ordered: <b>{{+$patient->is_watch_pat_study_ordered ? 'Yes' : 'No'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_study_ordered_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Note:
+    @if($patient->watchPatStudyOrderedNote)
+        <b>
+            {{$patient->watchPatStudyOrderedNote->hcpPro ? $patient->watchPatStudyOrderedNote->hcpPro->displayName() : 'Note'}} ({{friendly_date_time($patient->watchPatStudyOrderedNote->effective_dateest, false)}})
+        </b>
+    @else
+        <b>-</b>
+    @endif
+</div>

+ 42 - 0
resources/views/app/patient/sleep-study/watchpat-results.blade.php

@@ -0,0 +1,42 @@
+<div class="d-flex px-3 py-2 bg-light align-items-baseline border-bottom">
+    <h4 class="font-weight-bold text-nowrap m-0">WatchPat Results</h4>
+    <div moe class="ml-3">
+        <a start show href="#"><i class="fa fa-edit"></i> Edit</a>
+        <form url="/api/client/updateWatchPatResults" hook="refreshSleepStudyStep">
+            <input type="hidden" name="uid" value="{{$patient->uid}}">
+            <div class="font-weight-bold font-size-14 text-secondary border-bottom pb-2 mb-2 text-nowrap">WatchPat Results</div>
+
+            <div class="mb-2">
+                <div class="mb-1">Category:</div>
+                <input type="text" value="{{$patient->watch_pat_results_category}}" name="watchPatResultsCategory" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Memo:</div>
+                <input type="text" value="{{$patient->watch_pat_result_memo}}" name="watchPatResultMemo" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mb-2">
+                <div class="mb-1">Effective As Of:</div>
+                <input type="date" value="{{$patient->watch_pat_results_effective_as_of}}" name="watchPatResultsEffectiveAsOf" class="form-control form-control-sm d-inline-block flex-grow-1">
+            </div>
+
+            <div class="mt-2 border-top pt-2 text-center">
+                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+            </div>
+        </form>
+    </div>
+</div>
+
+<div class="px-3 pt-2 pb-1">
+    Category: <b>{{$patient->watch_pat_results_category ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Memo: <b>{{$patient->watch_pat_result_memo ?: '-'}}</b>
+</div>
+
+<div class="px-3 py-1">
+    Effective As Of: <b>{{$patient->watch_pat_results_effective_as_of ?: '-'}}</b>
+</div>

+ 5 - 2
resources/views/app/patient/wizard-partials/common-fields-add.blade.php

@@ -53,8 +53,7 @@
             <div class="d-flex align-items-baseline mt-1">
                 <label class="my-0 d-inline-flex align-items-center">
                     <input type="radio" name="additionReasonCategory" value="ON_INTAKE"
-				{{ !$point ? 'checked' : '' }}
-                            {{$point && $point->addition_reason_category === 'ON_INTAKE' ? 'checked' : ''}}
+				            {{$point && $point->addition_reason_category === 'ON_INTAKE' ? 'checked' : ''}}
                             {{0 && $point && $point->added_in_note_id !== $note->id ? 'readonly disabled' : ''}}>
                     <span class="ml-1">Pre-existing</span>
                 </label>
@@ -121,6 +120,8 @@
 
 </div>
 
+<div if-entry-type-not-empty class="d-none">
+
 <div {{@$point ? 'if-not-entry-error class="d-none"' : ''}}>
     <div if-addition-or-removal-on-intake-or-during-visit class="d-none">
         <div class="row mb-2">
@@ -240,3 +241,5 @@
 
     </div>
 </div>
+
+</div>

+ 17 - 3
resources/views/app/patient/wizard-partials/common-script.blade.php

@@ -170,7 +170,7 @@ parentSegment.find('[name="additionReasonCategory"]')
     .off('change')
     .on('change', function () {
         let form = $(this).closest('form');
-        form.find('[if-addition-on-intake-or-during-visit], [if-addition-on-intake], [if-addition-during-visit], [if-active-and-pre-existing-or-not-active], [if-active-and-not-pre-existing]').addClass('d-none');
+        form.find('[if-addition-on-intake-or-during-visit], [if-addition-on-intake], [if-addition-during-visit], [if-active-and-pre-existing-or-not-active], [if-active-and-not-pre-existing], [if-entry-type-not-empty]').addClass('d-none');
         if(form.find('[name="additionReasonCategory"]:checked').length) form.find('[if-addition-on-intake-or-during-visit]').removeClass('d-none');
         form.find('[if-addition-or-removal-on-intake-or-during-visit]').addClass('d-none');
         if(form.find('[name="additionReasonCategory"]:checked').length || form.find('[name="removalReasonCategory"]:checked').length) {
@@ -192,6 +192,9 @@ parentSegment.find('[name="additionReasonCategory"]')
         if(form.find('[name="isRemoved"]:checked').val() === '0' && form.find('[name="additionReasonCategory"]:checked').val() !== 'ON_INTAKE') {
             form.find('[if-active-and-not-pre-existing]').removeClass('d-none');
         }
+        if(form.find('[name="additionReasonCategory"]:checked').length || form.find('[name="removalReasonCategory"]:checked').length) {
+            form.find('[if-entry-type-not-empty]').removeClass('d-none');
+        }
         return false;
     })
     .trigger('change');
@@ -200,7 +203,7 @@ parentSegment.find('[name="removalReasonCategory"]')
     .off('change')
     .on('change', function () {
         let form = $(this).closest('form');
-        form.find('[if-removal-on-intake-or-during-visit], [if-removal-on-intake], [if-removal-during-visit]').addClass('d-none');
+        form.find('[if-removal-on-intake-or-during-visit], [if-removal-on-intake], [if-removal-during-visit], [if-entry-type-not-empty]').addClass('d-none');
         if(form.find('[name="removalReasonCategory"]:checked').length) form.find('[if-removal-on-intake-or-during-visit]').removeClass('d-none');
         form.find('[if-addition-or-removal-on-intake-or-during-visit]').addClass('d-none');
         if(form.find('[name="additionReasonCategory"]:checked').length || form.find('[name="removalReasonCategory"]:checked').length) {
@@ -220,6 +223,9 @@ parentSegment.find('[name="removalReasonCategory"]')
             form.find('[name="removalEffectiveDate"]').val('{{$patient->core_note_id !== $note->id ? $note->effective_dateest : date("Y-m-d")}}');
             form.find('[name="removalReasonMemo"]').val('{{$patient->core_note_id !== $note->id ? ($note->hcpPro ? $note->hcpPro->displayName() : "")  : ""}}');
         }
+        if(form.find('[name="additionReasonCategory"]:checked').length || form.find('[name="removalReasonCategory"]:checked').length) {
+            form.find('[if-entry-type-not-empty]').removeClass('d-none');
+        }
         return false;
     })
     .trigger('change');
@@ -260,6 +266,12 @@ parentSegment.find('#frm-add-{{$label}}')
             }
         }
 
+        // ensure an entry-type is selected
+        if(!form.find('[name="additionReasonCategory"]:checked').length && !form.find('[name="removalReasonCategory"]:checked').length) {
+            toastr.error('Entry type not selected.')
+            return false;
+        }
+
         if (!form[0].checkValidity()) {
             form[0].reportValidity();
             return false;
@@ -730,7 +742,9 @@ parentSegment.find('.btn-entry-type')
 
         return false;
     });
-parentSegment.find('.btn-entry-type[data-entry-type="Pre-Existing"]').trigger('click');
+
+// do not default to Pre-Existing
+// parentSegment.find('.btn-entry-type[data-entry-type="Pre-Existing"]').trigger('click');
 
 const debounce = (func, wait) => {
     let timeout;

+ 1 - 1
resources/views/layouts/patient-header.blade.php

@@ -634,7 +634,7 @@ $addressParts .= implode(", ", $addressPart2);
     @if($missingDefaultMCPCPAndLocation)
         <div class="mx-2 mb-2 alert alert-warning p-2 mcp-theme-1 d-flex align-items-baseline rounded-0 border-warning">
             <i class="fa fa-exclamation-triangle"></i>
-            <span class="ml-2 font-weight-bold">This patient is missing the default MCP company pro and or location!</span>
+            <span class="ml-2 font-weight-bold">This patient is missing the default MCP company pro and/or location!</span>
             <a href="{{route('patients.view.settings', ['patient' => $patient])}}" class="ml-2 font-weight-bold">Settings</a>
         </div>
     @endif

+ 1 - 0
routes/web.php

@@ -593,6 +593,7 @@ Route::middleware('pro.auth')->group(function () {
 
             // sleep study
             Route::get('sleep-study/{filter?}', 'PatientController@sleepStudy')->name('sleep-study');
+            Route::get('sleep-study-step', 'PatientController@sleepStudyStep')->name('sleep-study-step');
 
             // tickets (old/deprecated)
             Route::get('tickets/{type?}/{currentTicket?}', 'PatientController@tickets')->name('patient-tickets');