Browse Source

Restrict MCP actions on patient if OB visit pending

Vijayakrishnan Krishnan 4 years ago
parent
commit
444464f70a

+ 7 - 0
public/css/style.css

@@ -165,3 +165,10 @@ body>nav.navbar {
 .stag-content {
     height: calc(100% - 55px);
 }
+.moe-disabled[moe] {
+    cursor: not-allowed;
+}
+.moe-disabled[moe] [start][show] {
+    opacity: 0.5;
+    pointer-events: none;
+}

+ 63 - 0
resources/views/app/patient/care-month/dashboard.blade.php

@@ -4,6 +4,67 @@
 @extends ('layouts.patient')
 
 @section('inner-content')
+    @if($patient->has_mcp_done_onboarding_visit !== 'YES')
+        <div class="pt-2 d-flex align-items-start">
+            <h6 class="my-0 text-secondary d-flex align-items-start">
+                <a href="/patients/view/{{ $patient->uid }}/care-months" class="small text-decoration-none mr-3">
+                    <i class="fa fa-chevron-left"></i>
+                </a>
+                <div>
+                    <div>
+                        <span class="text-dark font-weight-bold">Care Month</span>&nbsp;for&nbsp;<span class="text-dark font-weight-bold">{{friendly_month($careMonth->start_date)}}</span>
+                    </div>
+                    <div class="text-dark d-inline-flex align-items-center mt-2">
+                                    <span class="mr-2">
+                                        <i class="fa fa-exclamation-triangle"></i>
+                                        MCP Onboarding Visit Pending
+                                    </span>
+                        <div moe>
+                            <a start show>Update</a>
+                            <form url="/api/client/updateMcpOnboardingVisitInfo" class="mcp-theme-1">
+                                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                                <div class="mb-2">
+                                    <select name="hasMcpDoneOnboardingVisit"
+                                            class="form-control form-control-sm"
+                                            onchange="toggleDisabledAsNeeded(this, 'YES', 'if-visit-done')">
+                                        <option value="">-- Select Status --</option>
+                                        <option value="YES" {{ $patient->has_mcp_done_onboarding_visit === 'YES' ? 'selected' : '' }}>YES</option>
+                                        <option value="NO" {{ $patient->has_mcp_done_onboarding_visit === 'NO' ? 'selected' : '' }}>NO</option>
+                                        <option value="UNKNOWN" {{ $patient->has_mcp_done_onboarding_visit === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
+                                    </select>
+                                </div>
+                                <div class="mb-2">
+                                    <input type="date" class="if-visit-done form-control form-control-sm" disabled name="mcpOnboardingVisitDate" max="{{ date('Y-m-d') }}">
+                                </div>
+                                <div class="mb-2">
+                                    <select name="mcpOnboardingVisitNoteUid" disabled
+                                            class="form-control form-control-sm if-visit-done"
+                                            onchange="toggleVisibilityAsNeeded(this, '', 'if-note-outside-system')">
+                                        <option value="">-- Visit Note --</option>
+                                        @foreach ($notes as $note)
+                                            @if(!empty($note->title))
+                                                <option value="{{$note->uid}}">{{$note->title}}</option>
+                                            @endif
+                                        @endforeach
+                                    </select>
+                                </div>
+                                <div class="mb-2 if-note-outside-system">
+                                                <textarea class="form-control form-control-sm"
+                                                          name="reasonOnboardingVisitNoteOutsideSystem"
+                                                          placeholder="Visit note outside the system reason"></textarea>
+                                </div>
+                                <div>
+                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                </div>
+                            </form>
+                        </div>
+                    </div>
+                </div>
+            </h6>
+        </div>
+    @else
+
     <div class="">
         <div class="pt-2 d-flex align-items-start">
             <h6 class="my-0 text-secondary d-flex align-items-start">
@@ -876,4 +937,6 @@
         </div>
 
     </div>
+
+    @endif
 @endsection

+ 61 - 0
resources/views/app/patient/care-months.blade.php

@@ -1,6 +1,65 @@
 @extends ('layouts.patient')
 
 @section('inner-content')
+
+    @if($patient->has_mcp_done_onboarding_visit !== 'YES')
+        <div class="pt-2 d-flex align-items-start">
+            <h6 class="my-0 text-secondary d-flex align-items-start">
+                <div>
+                    <div>
+                        <span class="text-dark font-weight-bold">Care Months</span>
+                    </div>
+                    <div class="text-dark d-inline-flex align-items-center mt-2">
+                                    <span class="mr-2">
+                                        <i class="fa fa-exclamation-triangle"></i>
+                                        MCP Onboarding Visit Pending
+                                    </span>
+                        <div moe>
+                            <a start show>Update</a>
+                            <form url="/api/client/updateMcpOnboardingVisitInfo" class="mcp-theme-1">
+                                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                                <div class="mb-2">
+                                    <select name="hasMcpDoneOnboardingVisit"
+                                            class="form-control form-control-sm"
+                                            onchange="toggleDisabledAsNeeded(this, 'YES', 'if-visit-done')">
+                                        <option value="">-- Select Status --</option>
+                                        <option value="YES" {{ $patient->has_mcp_done_onboarding_visit === 'YES' ? 'selected' : '' }}>YES</option>
+                                        <option value="NO" {{ $patient->has_mcp_done_onboarding_visit === 'NO' ? 'selected' : '' }}>NO</option>
+                                        <option value="UNKNOWN" {{ $patient->has_mcp_done_onboarding_visit === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
+                                    </select>
+                                </div>
+                                <div class="mb-2">
+                                    <input type="date" class="if-visit-done form-control form-control-sm" disabled name="mcpOnboardingVisitDate" max="{{ date('Y-m-d') }}">
+                                </div>
+                                <div class="mb-2">
+                                    <select name="mcpOnboardingVisitNoteUid" disabled
+                                            class="form-control form-control-sm if-visit-done"
+                                            onchange="toggleVisibilityAsNeeded(this, '', 'if-note-outside-system')">
+                                        <option value="">-- Visit Note --</option>
+                                        @foreach ($notes as $note)
+                                            @if(!empty($note->title))
+                                                <option value="{{$note->uid}}">{{$note->title}}</option>
+                                            @endif
+                                        @endforeach
+                                    </select>
+                                </div>
+                                <div class="mb-2 if-note-outside-system">
+                                                <textarea class="form-control form-control-sm"
+                                                          name="reasonOnboardingVisitNoteOutsideSystem"
+                                                          placeholder="Visit note outside the system reason"></textarea>
+                                </div>
+                                <div>
+                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                </div>
+                            </form>
+                        </div>
+                    </div>
+                </div>
+            </h6>
+        </div>
+    @else
+
     <div class="">
         <div class="d-flex align-items-center pt-2">
             <h6 class="my-0 font-weight-bold text-secondary">Care Months</h6>
@@ -74,4 +133,6 @@
             </tbody>
         </table>
     </div>
+
+    @endif
 @endsection

+ 71 - 0
resources/views/app/patient/notes.blade.php

@@ -1,6 +1,75 @@
 @extends ('layouts.patient')
 
 @section('inner-content')
+
+    @if($patient->has_mcp_done_onboarding_visit !== 'YES')
+        <div class="pt-2 d-flex align-items-start">
+            <h6 class="my-0 text-secondary d-flex align-items-start">
+                <div>
+                    <div>
+                        <span class="text-dark font-weight-bold">Notes</span>
+                    </div>
+                    <div class="text-dark d-inline-flex align-items-center mt-2">
+                                    <span class="mr-2">
+                                        <i class="fa fa-exclamation-triangle"></i>
+                                        MCP Onboarding Visit Pending
+                                    </span>
+                        <div moe>
+                            <a start show>Update</a>
+                            <form url="/api/client/updateMcpOnboardingVisitInfo" class="mcp-theme-1">
+                                <input type="hidden" name="uid" value="{{$patient->uid}}">
+                                <div class="mb-2">
+                                    <select name="hasMcpDoneOnboardingVisit"
+                                            class="form-control form-control-sm"
+                                            onchange="toggleDisabledAsNeeded(this, 'YES', 'if-visit-done')">
+                                        <option value="">-- Select Status --</option>
+                                        <option value="YES" {{ $patient->has_mcp_done_onboarding_visit === 'YES' ? 'selected' : '' }}>YES</option>
+                                        <option value="NO" {{ $patient->has_mcp_done_onboarding_visit === 'NO' ? 'selected' : '' }}>NO</option>
+                                        <option value="UNKNOWN" {{ $patient->has_mcp_done_onboarding_visit === 'UNKNOWN' ? 'selected' : '' }}>UNKNOWN</option>
+                                    </select>
+                                </div>
+                                <div class="mb-2">
+                                    <input type="date" class="if-visit-done form-control form-control-sm" disabled name="mcpOnboardingVisitDate" max="{{ date('Y-m-d') }}">
+                                </div>
+                                <div class="mb-2">
+                                    <select name="mcpOnboardingVisitNoteUid" disabled
+                                            class="form-control form-control-sm if-visit-done"
+                                            onchange="toggleVisibilityAsNeeded(this, '', 'if-note-outside-system')">
+                                        <option value="">-- Visit Note --</option>
+                                        @foreach ($notes as $note)
+                                            @if(!empty($note->title))
+                                                <option value="{{$note->uid}}">{{$note->title}}</option>
+                                            @endif
+                                        @endforeach
+                                    </select>
+                                </div>
+                                <div class="mb-2 if-note-outside-system">
+                                                <textarea class="form-control form-control-sm"
+                                                          name="reasonOnboardingVisitNoteOutsideSystem"
+                                                          placeholder="Visit note outside the system reason"></textarea>
+                                </div>
+                                <div>
+                                    <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                </div>
+                            </form>
+                        </div>
+                    </div>
+                </div>
+            </h6>
+        </div>
+    @else
+
+        <div class="pt-2 pb-3 d-flex align-items-start">
+            <h6 class="my-0 text-secondary d-flex align-items-start">
+                <div>
+                    <div>
+                        <span class="text-dark font-weight-bold">Notes</span>
+                    </div>
+                </div>
+            </h6>
+        </div>
+
 @foreach ($patient->notes as $note)
 <div class="card mb-3">
     <div class="card-header d-flex align-items-start px-3">
@@ -253,4 +322,6 @@
     </div>
 </div>
 @endforeach
+
+    @endif
 @endsection

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

@@ -236,7 +236,9 @@
                                     </div>
                                 </section>
                                 <section class=vbox>
-                                    <div moe relative>
+                                    <div moe relative
+                                         class="{{ $patient->has_mcp_done_onboarding_visit !== 'YES' ? 'moe-disabled' : '' }}"
+                                         title="{{ $patient->has_mcp_done_onboarding_visit !== 'YES' ? 'MCP Onboarding Visit Pending' : 'Create Note' }}">
                                         <a start show>
                                             <!-- <i class="fa fa-plus-circle"></i> -->
                                             <button>+ Note</button>