Explorar o código

Note - sign confirmation UI

Vijayakrishnan %!s(int64=3) %!d(string=hai) anos
pai
achega
72c1f057f1

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

@@ -71,6 +71,10 @@ class NoteController extends Controller
             'supplyOrdersOnNote', 'otherOpenSupplyOrders'));
     }
 
+    public function signConfirmation(Request $request, Client $patient, Note $note) {
+        return view('app.patient.note.sign-confirmation', compact('patient', 'note'));
+    }
+
     public function renderNote($noteUid, Request $request)
     {
 

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

@@ -373,6 +373,16 @@
                                     </div>
                                 </form>
                             </div>
+                            <a native target="_blank"
+                               open-in-stag-popup
+                               update-parent
+                               mc-initer="note-sign-confirmation-{{$note->id}}"
+                               popup-style="stag-popup-md"
+                               title="Confirm and Sign"
+                               class="ml-2 text-info font-weight-bold"
+                               href="{{route('patients.view.notes.view.sign-confirmation', compact('patient', 'note'))}}">
+                                Sign*
+                            </a>
                         @endif
                     </div>
                 </div>

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

@@ -0,0 +1,177 @@
+<div class="mt-3 p-3 border-top min-height-500px" id="note-sign-confirmation-{{$note->id}}">
+    <p class="mb-2 font-weight-bold font-size-13 text-secondary">Visit Information</p>
+    <div class="pl-3 border-left">
+        <div class="mb-2 d-flex align-items-baseline">
+            <span class="width-150px">New or Follow-up visit:</span>
+            @if($note->new_or_fu_or_na === "NEW")
+                <b class="mr-3 width-70px">New</b>
+                <div moe relative>
+                    <a href="#" start show>Change to <b>Follow-up</b></a>
+                    <form url="/api/note/updateNewOrFuOrNa">
+                        <p class="text-nowrap">Change to <b>Follow-up</b> visit?</p>
+                        <input type="hidden" name="uid" value="{{$note->uid}}">
+                        <input type="hidden" name="newOrFuOrNa" value="FU">
+                        <div class="mb-0">
+                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    </form>
+                </div>
+            @elseif($note->new_or_fu_or_na === "FU")
+                <b class="mr-3 width-70px">Follow-up</b>
+                <div moe relative>
+                    <a href="#" start show>Change to <b>New</b></a>
+                    <form url="/api/note/updateNewOrFuOrNa">
+                        <p class="text-nowrap">Change to <b>New</b> visit?</p>
+                        <input type="hidden" name="uid" value="{{$note->uid}}">
+                        <input type="hidden" name="newOrFuOrNa" value="NEW">
+                        <div class="mb-0">
+                            <button class="btn btn-primary btn-sm" submit>Submit</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    </form>
+                </div>
+            @endif
+        </div>
+        <div class="mb-2 d-flex align-items-baseline">
+        <span class="width-150px">Visit Method:</span>
+        @if(!!$note->method)
+            <b class="mr-3 text-capitalize width-70px">{{strtolower(str_replace("_", " ", $note->method))}}</b>
+        @else
+            <span class="mr-3 text-danger width-70px">(not set)</span>
+        @endif
+        <div moe relative>
+            <a href="" show start>Change</a>
+            <form url="/api/note/updateMethod">
+                <input type="hidden" name="uid" value="{{$note->uid}}">
+                <div class="mb-2">
+                    <select name="method" class="form-control form-control-sm note-method-select" required>
+                        <option value="AUDIO" {{ $note->method === "AUDIO" ? "selected" : "" }}>Audio</option>
+                        <option value="VIDEO" {{ $note->method === "VIDEO" ? "selected" : "" }}>Video</option>
+                        <option value="IN_CLINIC" {{ $note->method === "IN_CLINIC" ? "selected" : "" }}>In-Clinic</option>
+                        <option value="HOUSE_CALL" {{ $note->method === "HOUSE_CALL" ? "selected" : "" }}>House Call</option>
+                    </select>
+                </div>
+                <div class="form-group if-in-clinic">
+                    <label for="" class="text-secondary text-sm mb-1">Location</label>
+                    <select name="hcpCompanyLocationUid" class="form-control">
+                        <option value=""></option>
+                        @foreach($note->hcpPro->companyLocations() as $location)
+                            <option value="{{$location->uid}}" {{$location->id === $note->hcp_company_location_id ? 'selected' : ''}}>{{$location->line1}} {{$location->city}}</option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="mb-0">
+                    <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="mb-2 d-flex align-items-baseline">
+            <span class="width-150px">Visit Date:</span>
+            @if(!!$note->effective_dateest)
+                <b class="mr-3 text-capitalize width-70px">{{friendly_date_time($note->effective_dateest, false, '')}}</b>
+            @else
+                <span class="mr-3 text-danger width-70px">(not set)</span>
+            @endif
+            <div moe relative>
+                <a href="" show start>Change</a>
+                <form url="/api/note/putEffectiveDateEST">
+                    <input type="hidden" name="uid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <label for="" class="text-secondary text-sm">Effective date EST</label>
+                        <input type="date" name="effectiveDateEST" value="{{$note->effective_dateest}}" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-0">
+                        <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>
+
+    @if($patient->mcp_pro_id === $pro->id && !$patient->has_cm_setup_been_performed)
+    <hr class="m-neg-3">
+    <p class="mb-2 font-weight-bold font-size-13 text-secondary">CCM</p>
+    <div class="pl-3 border-left">
+        <div class="mb-2">
+            <i class="fa fa-exclamation-triangle text-warning-mellow"></i>
+            WARNING: You are the MCP and patient is not currently enrolled in CCM.
+        </div>
+        <div class="mb-2">Would you like to mark them as enrolled?</div>
+        <div moe class="d-block">
+            <a href="" show start><b>Yes, mark as enrolled</b></a>
+            <form url="/api/note/markCmSetupPerformedAsMcp">
+                <input type="hidden" name="uid" value="{{$note->uid}}">
+                <p>Mark as enrolled in CCM?</p>
+                <div class="mb-0">
+                    <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
+
+    {{-- get problems(plan) and medications(plan) segments --}}
+    <?php
+    $problemsPlan = null;
+    $medicationsPlan = null;
+    foreach($note->segments as $segment) {
+        if($segment->segmentTemplate->internal_name === 'plan_problems') {
+            $problemsPlan = $segment;
+        }
+        if($segment->segmentTemplate->internal_name === 'plan_medications') {
+            $medicationsPlan = $segment;
+        }
+        if($problemsPlan && $medicationsPlan) break;
+    }
+    ?>
+    @if($problemsPlan)
+        <hr class="m-neg-3">
+        <p class="mb-2 font-weight-bold font-size-13 text-secondary">Problems (Plan)</p>
+        <div class="pl-3 border-left">
+            <div>{!! $problemsPlan->summary_html !!}</div>
+        </div>
+    @endif
+    @if($problemsPlan)
+        <hr class="m-neg-3">
+        <p class="mb-2 font-weight-bold font-size-13 text-secondary">Medications (Plan)</p>
+        <div class="pl-3 border-left">
+            <div>{!! $medicationsPlan->summary_html !!}</div>
+        </div>
+    @endif
+
+    <hr class="m-neg-3">
+    <p class="my-3">After signing - you will not be able to modify content. You may only add addendums.</p>
+
+    <div class="d-flex align-items-center justify-content-center">
+        <button class="btn btn-success btn-sm font-weight-bold px-3 btn-sign">Sign</button>
+        <button class="ml-3 btn btn-default border btn-sm px-3" onclick="return closeStagPopup()">Close</button>
+    </div>
+
+</div>
+
+<script>
+    (function() {
+
+        function init() {
+            $('#note-sign-confirmation-{{$note->id}} .btn-sign')
+                .off('click')
+                .on('click', function() {
+                    $.post('/api/note/signAsHcp', {uid: '{{$note->uid}}'}, _data => {
+                        if(!hasResponseError(_data)) {
+                            toastr.success('Note signed');
+                            closeStagPopup();
+                        }
+                    }, 'json');
+                    return false;
+                });
+        }
+
+        addMCInitializer('note-sign-confirmation-{{$note->id}}', init, '#note-sign-confirmation-{{$note->id}}')
+
+    }).call(window);
+</script>

+ 1 - 0
routes/web.php

@@ -249,6 +249,7 @@ Route::middleware('pro.auth')->group(function () {
             Route::get('notes/{filter?}', 'PatientController@notes')->name('notes');
             Route::name('notes.view.')->prefix('notes/view/{note}')->group(function () {
                 Route::get('', 'NoteController@dashboard')->name('dashboard');
+                Route::get('sign-confirmation', 'NoteController@signConfirmation')->name('sign-confirmation');
                 Route::get('section-view/{section}/{view}/{page?}', 'NoteController@sectionView')->name('section-view');
             });
             Route::get('generic-bills', 'PatientController@genericBills')->name('generic-bills');