ソースを参照

fixed calendar data

Josh Kamau 5 年 前
コミット
7b64711ee9

+ 2 - 0
app/Http/Controllers/Controller.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers;
 
 use App\Models\AppSession;
+use App\Models\Note;
 use App\Models\Pro;
 use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 use Illuminate\Foundation\Bus\DispatchesJobs;
@@ -23,6 +24,7 @@ class Controller extends BaseController
             view()->share('pro', $session->pro);
         }
         view()->share('pros', Pro::all());
+        view()->share('notes', Note::all());
     }
 
     public function performer(){

+ 11 - 3
app/Http/Controllers/HomeController.php

@@ -2,13 +2,11 @@
 
 namespace App\Http\Controllers;
 
-use App\Models\AppSession;
 use App\Models\Client;
 use App\Models\Bill;
 use App\Models\Note;
 use App\Models\ProTransaction;
 use Illuminate\Http\Request;
-use Illuminate\Support\Facades\DB;
 
 class HomeController extends Controller
 {
@@ -84,7 +82,17 @@ class HomeController extends Controller
 
     public function patients(Request $request)
     {
-        $patients = Client::orderBy('name_last', 'asc')->orderBy('name_first', 'asc')->get();
+        $proID = $this->performer()->pro->id;
+        $patients = Client::where(function ($q) use($proID) {
+                $q->where('mcp_pro_id', $proID)
+                    ->orWhere('cm_pro_id', $proID)
+                    ->orWhere('rmm_pro_id', $proID)
+                    ->orWhere('rme_pro_id', $proID)
+                    ->orWhereRaw('id IN (SELECT client_id FROM client_pro_access WHERE is_active AND pro_id = ?)', [$proID]);
+            })
+            ->orderBy('name_last', 'asc')
+            ->orderBy('name_first', 'asc')
+            ->get();
         return view('app/patients', ['patients' => $patients]);
     }
 

+ 5 - 1
app/Models/Client.php

@@ -21,7 +21,7 @@ class Client extends Model
     public function cm(){
         return $this->hasOne(Pro::class, 'id', 'cm_pro_id');
     }
-    
+
     public function prosInMeetingWith() {
         return Pro::where('in_meeting_with_client_id', $this->id)->get();
     }
@@ -30,4 +30,8 @@ class Client extends Model
         return $this->hasMany(Note::class, 'client_id', 'id')->orderBy('id', 'desc');
     }
 
+    public function duplicateOf(){
+        return $this->hasOne(Client::class, 'id', 'duplicate_of_client_id');
+    }
+
 }

+ 22 - 0
public/css/style.css

@@ -136,3 +136,25 @@ body.stag_rhs_collapsed .app-right-panel {
     min-width: 200px;
     height: 60px;
 }
+.main-row {
+    display: flex;
+    flex-wrap: nowrap;
+    margin-right: -15px;
+    margin-left: -15px;
+}
+.main-row > .sidebar {
+    width: 180px;
+    min-width: 180px;
+}
+.main-row > main {
+    flex-grow: 1;
+}
+html, body {
+    height: 100%;
+}
+body>nav.navbar {
+    height: 55px;
+}
+.stag-content {
+    height: calc(100% - 55px);
+}

+ 191 - 123
public/js/mc.js

@@ -67,6 +67,7 @@ var findEventHandlers = function (eventType, jqSelector) {
     return results;
 };
 
+<<<<<<<HEAD
 window
     .top
     .addEventListener("popstate", function (event) {
@@ -83,140 +84,207 @@ window
                     fastLoad(state, false, true);
                 }
             , 0);
-    });
-$(document).ready(function () {
-    $(document)
-        .on("click", ".stag_rhs_toggle", function () {
-            var state = window
-                    .top
-                    .toggleRHS(),
-                icon = $(this).find("i");
-            if (state === "collapsed") {
-                icon
-                    .removeClass()
-                    .addClass("fa fa-arrow-left");
-            } else {
-                icon
-                    .removeClass()
-                    .addClass("fa fa-arrow-right");
+        =======window
+            .top
+            .addEventListener('popstate', function (event) {
+                window
+                    .setTimeout(function () {
+                        if (!event) 
+                            return;
+                        var state = event.state;
+                        if (state === '') 
+                            state = '/';
+                        if (state[0] !== '/') 
+                            state = '/' + state;
+                        if (!!state) 
+                            fastLoad(state, false, true);
+                        }
+                    , 0);
+            });
+        $(document).ready(function () {
+            if (window === window.top) {
+                window.location.href = '/mc' + window.location.pathname;
+                return;
             }
-        });
-    var body = $(window.top.document.body),
-        icon = $(".stag_rhs_toggle i");
-    if (body.is(".stag_rhs_collapsed")) {
-        icon
-            .removeClass()
-            .addClass("fa fa-arrow-left");
-    }
-    initFastLoad();
-});
-function enableTimeSpecificFields(_checked, _valueClass, _rangeClass) {
-    if (_valueClass) 
-        $("." + _valueClass).prop("disabled", _checked);
-    if (_rangeClass) 
-        $("." + _rangeClass).prop("disabled", !_checked);
-    }
-
-var fastCache = {};
-
-function initFastLoad(_parent = false) {
-    fastCache = {};
-
-    var allAs = $('a:not([onclick]):not([href="#"])');
-    if (_parent) {
-        allAs = _parent.find('a:not([onclick]):not([href="#"])');
-    }
-    // find links without event handlers
-    allAs
-        .each(function () {
-            if (!$(this).closest("[moe]").length) {
-                if ($(this).closest('.dropdown-menu[aria-labelledby="practice-management"]').length) {
-                    enableFastLoad(this, true);
+            window
+                .top
+                .ensureRHS();
+            $(document).on('click', '.stag_rhs_toggle', function () {
+                var state = window
+                        .top
+                        .toggleRHS(),
+                    icon = $(this).find('i');
+                if (state === 'collapsed') {
+                    icon
+                        .removeClass()
+                        .addClass('fa fa-arrow-left');
                 } else {
-                    var handlers = findEventHandlers("click", this);
-                    if (!handlers || !handlers.length) {
-                        enableFastLoad(this);
+                    icon
+                        .removeClass()
+                        .addClass('fa fa-arrow-right');
+                } >>>>>>> 8 a6acabd0b62f0eb47602d7d497e73c55fec82d5
+            });
+            $(document).ready(function () {
+                $(document)
+                    .on("click", ".stag_rhs_toggle", function () {
+                        var state = window
+                                .top
+                                .toggleRHS(),
+                            icon = $(this).find("i");
+                        if (state === "collapsed") {
+                            icon
+                                .removeClass()
+                                .addClass("fa fa-arrow-left");
+                        } else {
+                            icon
+                                .removeClass()
+                                .addClass("fa fa-arrow-right");
+                        }
+                    });
+                var body = $(window.top.document.body),
+                    icon = $(".stag_rhs_toggle i");
+                if (body.is(".stag_rhs_collapsed")) {
+                    icon
+                        .removeClass()
+                        .addClass("fa fa-arrow-left");
+                }
+                initFastLoad();
+                initializeCalendar();
+            });
+            function enableTimeSpecificFields(_checked, _valueClass, _rangeClass) {
+                if (_valueClass) 
+                    $('.' + _valueClass).prop('disabled', _checked);
+                if (_rangeClass) 
+                    $('.' + _rangeClass).prop('disabled', !_checked);
+                }
+            function toggleDisabledAsNeeded(_el, _targetValue, _enableClass, _disableClass) {
+                if (_el.value === _targetValue) {
+                    if (_enableClass) 
+                        $('.' + _enableClass).prop('disabled', false);
+                    if (_disableClass) 
+                        $('.' + _disableClass).prop('disabled', true);
+                    }
+                else {
+                    if (_enableClass) 
+                        $('.' + _enableClass).prop('disabled', true);
+                    if (_disableClass) 
+                        $('.' + _disableClass).prop('disabled', false);
                     }
                 }
-            }
-        });
+            function toggleVisibilityAsNeeded(_el, _targetValue, _visibleClass, _hiddenClass) {
+                if (_el.value === _targetValue) {
+                    if (_visibleClass) 
+                        $('.' + _visibleClass).removeClass('d-none');
+                    if (_hiddenClass) 
+                        $('.' + _hiddenClass).addClass('d-none');
+                    }
+                else {
+                    if (_visibleClass) 
+                        $('.' + _visibleClass).addClass('d-none');
+                    if (_hiddenClass) 
+                        $('.' + _hiddenClass).removeClass('d-none');
+                    }
+                }
+            var fastCache = {};
+
+            function initFastLoad(_parent = false) {
+                fastCache = {};
 
-    function enableFastLoad(_a, _menuItem = false) {
-        $(_a)
-            .on("click", function () {
-                fastLoad(this.href, true, true);
-                if (_menuItem) {
-                    $(this)
-                        .closest(".dropdown-menu")
-                        .removeClass("show")
-                        .prev(".dropdown-toggle")
-                        .attr("aria-expanded", "false");
+                var allAs = $('a:not([onclick]):not([href="#"])');
+                if (_parent) {
+                    allAs = _parent.find('a:not([onclick]):not([href="#"])');
                 }
-                return false;
-            });
-        // console.info('FastLoad enabled for ' + _a.innerText + ' [' + _a.href + ']');
-    }
+                // find links without event handlers
+                allAs
+                    .each(function () {
+                        if (!$(this).closest("[moe]").length) {
+                            if ($(this).closest('.dropdown-menu[aria-labelledby="practice-management"]').length) {
+                                enableFastLoad(this, true);
+                            } else {
+                                var handlers = findEventHandlers("click", this);
+                                if (!handlers || !handlers.length) {
+                                    enableFastLoad(this);
+                                }
+                            }
+                        }
+                    });
 
-    // fast cache
-    allAs = $('a:not([onclick]):not([href="#"])');
-    allAs.each(function () {
-        var a = this;
-        $.get(a.href, function (_data) {
-            fastCache[a.href] = _data;
-        });
-    });
-}
+                function enableFastLoad(_a, _menuItem = false) {
+                    $(_a)
+                        .on("click", function () {
+                            fastLoad(this.href, true, true);
+                            if (_menuItem) {
+                                $(this)
+                                    .closest(".dropdown-menu")
+                                    .removeClass("show")
+                                    .prev(".dropdown-toggle")
+                                    .attr("aria-expanded", "false");
+                            }
+                            return false;
+                        });
+                    // console.info('FastLoad enabled for ' + _a.innerText + ' [' + _a.href + ']');
+                }
+
+                // fast cache
+                allAs = $('a:not([onclick]):not([href="#"])');
+                allAs.each(function () {
+                    var a = this;
+                    $.get(a.href, function (_data) {
+                        fastCache[a.href] = _data;
+                    });
+                });
+            }
 
-function fastLoad(_href, _history = true, _useCache = true) {
-    function onData(_data) {
-        var targetParent = $(".stag-content");
-        _data = "<div>" + _data + "</div>";
-        var content = $(_data).find(".stag-content");
-        if (content && content.length) {
-            content = content.html();
-            content += '<script src="/js/yemi.js"></script>';
-            targetParent.html(content);
-            initFastLoad(targetParent);
-            initializeCalendar();
+            function fastLoad(_href, _history = true, _useCache = true) {
+                function onData(_data) {
+                    var targetParent = $(".stag-content");
+                    _data = "<div>" + _data + "</div>";
+                    var content = $(_data).find(".stag-content");
+                    if (content && content.length) {
+                        content = content.html();
+                        content += '<script src="/js/yemi.js"></script>';
+                        targetParent.html(content);
+                        initFastLoad(targetParent);
+                        initializeCalendar();
 
-            // push state
-            if (_history) {
-                var target = _href;
-                if (target.indexOf("//") !== -1) {
-                    target = target.split("//")[1];
-                    if (target.indexOf("/") !== -1) {
-                        target = target.substr(target.indexOf("/") + 1);
+                        // push state
+                        if (_history) {
+                            var target = _href;
+                            if (target.indexOf("//") !== -1) {
+                                target = target.split("//")[1];
+                                if (target.indexOf("/") !== -1) {
+                                    target = target.substr(target.indexOf("/") + 1);
+                                }
+                            }
+                            window
+                                .top
+                                .history
+                                .pushState(target, null, "/mc/" + target);
+                        }
+                    } else {
+                        console.warn("Target page not found: " + _href);
+                        window.location.href = _href; // fallback
                     }
+                    hideMask();
+                }
+                showMask();
+                if (_useCache && !!fastCache[_href]) {
+                    onData(fastCache[_href]);
+                } else {
+                    $.get(_href, onData);
                 }
+            }
+
+            function openInRHS(_url) {
                 window
                     .top
-                    .history
-                    .pushState(target, null, "/mc/" + target);
+                    .showRHS();
+                var icon = $(".stag_rhs_toggle i");
+                icon
+                    .removeClass()
+                    .addClass("fa fa-arrow-right");
+                window
+                    .top
+                    .openInRHS(_url);
+                return false;
             }
-        } else {
-            console.warn("Target page not found: " + _href);
-            window.location.href = _href; // fallback
-        }
-        hideMask();
-    }
-    showMask();
-    if (_useCache && !!fastCache[_href]) {
-        onData(fastCache[_href]);
-    } else {
-        $.get(_href, onData);
-    }
-}
-
-function openInRHS(_url) {
-    window
-        .top
-        .showRHS();
-    var icon = $(".stag_rhs_toggle i");
-    icon
-        .removeClass()
-        .addClass("fa fa-arrow-right");
-    window
-        .top
-        .openInRHS(_url);
-    return false;
-}

+ 1 - 0
public/js/yemi.js

@@ -290,6 +290,7 @@ jQuery(document).ready(function () {
                         if(isRealFormVisible){
                             hideMoeFormMask();
                         }else{
+                            $(realForm)[0].reset();
                             showMoeFormMask();
                             setTimeout(function() {
                                 $(realForm).find('input:not([type="hidden"]), textarea, select').first().select().focus();

+ 17 - 0
resources/views/app/dashboard.blade.php

@@ -1,6 +1,7 @@
 @extends ('layouts.template')
 
 @section('content')
+<<<<<<< HEAD
 <div class="mt-3">
     <div class="container m-0 mt-4">
         <div class="row">
@@ -15,6 +16,22 @@
                     <div class="card-body p-0">
                         <table class="table table-condensed table-bordered m-0">
                             <tbody>
+=======
+    <div class="p-3">
+        <div class="container m-0 mt-4">
+            <div class="row">
+                <div class="col-md-4">
+                    <div class="card">
+                        <div class="card-header">
+                            <strong>
+                                <i class="fas fa-chart-bar"></i>
+                                Key Numbers
+                            </strong>
+                        </div>
+                        <div class="card-body p-0">
+                            <table class="table table-condensed table-bordered m-0">
+                                <tbody>
+>>>>>>> 8a6acabd0b62f0eb47602d7d497e73c55fec82d5
                                 <tr>
                                     <th>{{$keyNumbers['totalPatients']}}</th>
                                     <th>Total patients</th>

+ 3 - 0
resources/views/app/mc.blade.php

@@ -27,6 +27,9 @@
             $('#stag_mcp_rhs').attr('src', _url);
             return false;
         };
+        window.ensureRHS = function() {
+            if(!$('#stag_mcp_rhs').length) window.location.reload();
+        }
         window.toggleRHS = function() {
             var body = $('body'), leftPanel = $('.app-left-panel');
             if(!body.is('.stag_rhs_collapsed')) {

+ 142 - 28
resources/views/app/patient/care-month/dashboard.blade.php

@@ -6,12 +6,30 @@
 @section('inner-content')
     <div class="">
         <div class="pt-2 d-flex align-items-start">
-            <h6 class="my-0 text-secondary d-flex align-items-center">
+            <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>
-                <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>
+                        <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>
+                    @if(!$careMonth->is_tm_this_month)
+                        <div moe class="mt-2">
+                            <a start show>Mark as Transitional Month</a>
+                            <form url="/api/careMonth/setIsTmThisMonthToTrue">
+                                <input type="hidden" name="uid" value="{{ $careMonth->uid }}">
+                                <p>Mark this care month as <b>Transitional Month</b>?</p>
+                                <div class="d-flex align-items-center">
+                                    <button class="btn btn-sm btn-primary mr-2" submit>Yes</button>
+                                    <button class="btn btn-sm btn-default mr-2 border" cancel>No</button>
+                                </div>
+                            </form>
+                        </div>
+                    @endif
+                </div>
             </h6>
+            @if(!$careMonth->is_tm_this_month)
             <div class="d-flex align-items-start ml-auto text-secondary">
                 <div class="d-inline-flex align-items-start">
                     <div>
@@ -60,8 +78,10 @@
                     </div>
                 </div>
             </div>
+            @endif
         </div>
 
+        @if(!$careMonth->is_tm_this_month)
         <hr class="m-negator mb-0">
 
         <div class="row m-negator bg-light py-1 text-sm-incl-children">
@@ -84,6 +104,27 @@
         </div>
 
         <hr class="m-negator mt-0">
+        @endif
+
+        @if($careMonth->is_tm_this_month)
+
+            <hr class="m-negator">
+            <div class="alert alert-secondary mb-0">
+                This care month has been marked as <b>Transitional Month</b>.
+                <span moe class="">
+                    <a start show class="font-weight-bold">Undo</a>
+                    <form url="/api/careMonth/setIsTmThisMonthToFalse">
+                        <input type="hidden" name="uid" value="{{ $careMonth->uid }}">
+                        <p>Undo mark as <b>Transitional Month</b>?</p>
+                        <div class="d-flex align-items-center">
+                            <button class="btn btn-sm btn-primary mr-2" submit>Yes</button>
+                            <button class="btn btn-sm btn-default mr-2 border" cancel>No</button>
+                        </div>
+                    </form>
+                </span>
+            </div>
+
+        @else
 
         <?php
         $entries = $careMonth->entries;
@@ -94,7 +135,6 @@
         foreach ($cmBills as $cmBill) {
             if(!$cmBill->is_cancelled && $careMonth->cm_bill_id === $cmBill->id) {
                 $activeCMBill = $cmBill;
-                break;
             }
             else if($cmBill->is_cancelled) {
                 $cancelledCMBills->add($cmBill);
@@ -107,7 +147,6 @@
         foreach ($rmBills as $rmBill) {
             if(!$rmBill->is_cancelled && $careMonth->rm_bill_id === $rmBill->id) {
                 $activeRMBill = $rmBill;
-                break;
             }
             else if($rmBill->is_cancelled) {
                 $cancelledRMBills->add($rmBill);
@@ -116,6 +155,7 @@
         ?>
 
         <div class="row">
+            @if($patient->is_enrolled_in_cm === 'YES')
             <div class="col-6">
                 <div class="d-flex align-items-center">
                     <h6 class="my-0 text-secondary font-weight-bold text-dark">CM Time Entries</h6>
@@ -149,7 +189,7 @@
                                            value="" placeholder="Effective Date">
                                 </div>
                                 <div class="mb-2">
-                                    <input type="number" min="0" max="9999" class="form-control form-control-sm cm-time-value" name="timeInSeconds"
+                                    <input type="number" min="0" max="5400" class="form-control form-control-sm cm-time-value" name="timeInSeconds"
                                            value="" placeholder="Time in Seconds">
                                 </div>
                                 <div class="mb-2 d-flex align-items-center">
@@ -180,7 +220,7 @@
                             </form>
                         </div>
                     @else
-                        <span class="text-secondary">Cannot modify. Bill existing.</span>
+                        <span class="text-secondary">Can't modify since a bill exists</span>
                     @endif
                 </div>
                 <table class="table table-striped table-sm table-bordered mt-2 mb-0">
@@ -208,8 +248,9 @@
                                 <div class="text-secondary text-sm">{{$entry->content_detail}}</div>
                             </td>
                             <td class="px-2 text-center delete-column">
+                                @if(!$activeCMBill)
                                 <div moe relative>
-                                    <a start show><i class="on-hover-opaque fa fa-trash text-danger"></i></a>
+                                    <a start show><i class="on-hover-opaque fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/careMonthEntry/remove" right>
                                         <input type="hidden" name="uid" value="{{ $entry->uid }}">
                                         <p class="small">Are you sure you want to delete this CM entry?</p>
@@ -219,6 +260,9 @@
                                         </div>
                                     </form>
                                 </div>
+                                @else
+                                    <a href="#" class="text-secondary" title="Can't modify since a bill exists"><i class="on-hover-opaque fa fa-trash-alt"></i></a>
+                                @endif
                             </td>
                         </tr>
                         @endif
@@ -226,6 +270,42 @@
                     </tbody>
                 </table>
             </div>
+            @else
+                <div class="col-6">
+                    <h6 class="mb-3 text-secondary font-weight-bold text-dark">CM Time Entries</h6>
+                    <div class="alert alert-secondary mb-0">
+                        <b>{{ $patient->displayName() }}</b> is currently not enrolled in <b>CM</b>.
+                        <span moe class="">
+                            <a start show class="font-weight-bold">Enroll Now</a>
+                            <form url="/api/client/setIsEnrolledInCmToTrue">
+                                <input type="hidden" name="uid" value="{{ $patient->uid }}">
+                                <div class="mb-2">
+                                    <input type="text" class="form-control form-control-sm" name="cmEnrollmentConsentMethod"
+                                           value="" placeholder="Consent Method">
+                                </div>
+                                <div class="mb-2">
+                                    <input type="text" class="form-control form-control-sm" name="cmEnrollmentConsentMethodMemo"
+                                           value="" placeholder="Consent Method Memo">
+                                </div>
+                                <div class="mb-2">
+                                    <input type="text" class="form-control form-control-sm" name="cmReason1"
+                                           value="" placeholder="CM Reason 1">
+                                </div>
+                                <div class="mb-2">
+                                    <input type="text" class="form-control form-control-sm" name="cmReason2"
+                                           value="" placeholder="CM Reason 2">
+                                </div>
+                                <div class="d-flex align-items-center">
+                                    <button class="btn btn-sm btn-success mr-2" submit>Enroll</button>
+                                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                </div>
+                            </form>
+                        </span>
+                    </div>
+                </div>
+            @endif
+
+            @if($patient->is_enrolled_in_rm === 'YES')
             <div class="col-6">
                 <div class="d-flex align-items-center">
                     <h6 class="my-0 text-secondary font-weight-bold text-dark">RM Time Entries</h6>
@@ -259,7 +339,7 @@
                                            value="" placeholder="Effective Date">
                                 </div>
                                 <div class="mb-2">
-                                    <input type="number" min="0" max="9999" class="form-control form-control-sm rm-time-value" name="timeInSeconds"
+                                    <input type="number" min="0" max="5400" class="form-control form-control-sm rm-time-value" name="timeInSeconds"
                                            value="" placeholder="Time in Seconds">
                                 </div>
                                 <div class="mb-2 d-flex align-items-center">
@@ -290,7 +370,7 @@
                             </form>
                         </div>
                     @else
-                        <span class="text-secondary">Cannot modify. Bill existing.</span>
+                        <span class="text-secondary">Can't modify since a bill exists</span>
                     @endif
                 </div>
                 <table class="table table-striped table-sm table-bordered mt-2 mb-0">
@@ -319,7 +399,7 @@
                                 </td>
                                 <td class="px-2 text-center delete-column">
                                     <div moe relative>
-                                        <a start show><i class="on-hover-opaque fa fa-trash text-danger"></i></a>
+                                        <a start show><i class="on-hover-opaque fa fa-trash-alt text-danger"></i></a>
                                         <form url="/api/careMonthEntry/remove" right>
                                             <input type="hidden" name="uid" value="{{ $entry->uid }}">
                                             <p class="small">Are you sure you want to delete this RM entry?</p>
@@ -336,18 +416,47 @@
                     </tbody>
                 </table>
             </div>
+            @else
+                <div class="col-6">
+                    <h6 class="mb-3 text-secondary font-weight-bold text-dark">RM Time Entries</h6>
+                    <div class="alert alert-secondary mb-0">
+                        <b>{{ $patient->displayName() }}</b> is currently not enrolled in <b>RM</b>.
+                        <span moe class="">
+                        <a start show class="font-weight-bold">Enroll Now</a>
+                        <form url="/api/client/setIsEnrolledInRmToTrue">
+                            <input type="hidden" name="uid" value="{{ $patient->uid }}">
+                            <div class="mb-2">
+                                <input type="text" class="form-control form-control-sm" name="rmReason1"
+                                       value="" placeholder="RM Reason 1">
+                            </div>
+                            <div class="mb-2">
+                                <input type="text" class="form-control form-control-sm" name="rmReason2"
+                                       value="" placeholder="RM Reason 2">
+                            </div>
+                            <div class="d-flex align-items-center">
+                                <button class="btn btn-sm btn-success mr-2" submit>Enroll</button>
+                                <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                            </div>
+                        </form>
+                    </span>
+                    </div>
+                </div>
+            @endif
         </div>
 
+        @if($patient->is_enrolled_in_cm === 'YES' || $patient->is_enrolled_in_rm === 'YES')
         <hr class="m-negator mt-4 mb-3">
+        @endif
 
         <div class="row">
 
             {{-- cm bills --}}
             <div class="col-6">
+                @if($patient->is_enrolled_in_cm === 'YES')
                 <div class="d-flex align-items-center">
                     <h6 class="my-0 text-secondary font-weight-bold text-dark">CM Bill
                         @if($activeCMBill && !$activeCMBill->is_signed_by_hcp)
-                            <span class="small ml-1 text-secondary">(Not yet signed by HCP)</span>
+                            <span class="small ml-1 text-secondary">(HCP Sign Pending)</span>
                         @else
                             @if($activeCMBill)
                                 <span class="small ml-1 text-secondary">(Signed by HCP)</span>
@@ -379,7 +488,7 @@
                         </form>
                     </div>
                     @else
-                        @if(!$activeCMBill->is_signed_by_hcp)
+                        @if(!$activeCMBill->is_signed_by_hcp && $activeCMBill->hcp_pro_id === $pro->id)
                         <div moe>
                             <a start show class="py-0 mb-3 text-success">Sign as HCP</a>
                             <form url="/api/bill/signAsHcp">
@@ -416,8 +525,8 @@
                             <div class="small text-secondary">Memo: {{$activeCMBill->memo}}</div>
                             <div class="small text-secondary">Created: {{friendly_date_time($activeCMBill->created_at)}}</div>
                         </div>
-                        <div class="font-weight-bold text-dark mt-2 mb-1">Transactions</div>
-                        @if(1) {{-- check if auther user is hcp pro --}}
+                        <div class="font-weight-bold text-dark mt-2 mb-1"></div>
+                        @if($activeCMBill->hcp_pro_id === $pro->id)
                         <div class="d-flex align-items-center">
                             @if($activeCMBill->has_hcp_been_paid)
                                 <span class="text-dark">Received HCP Amount: </span>
@@ -449,7 +558,7 @@
                             @endif
                         </div>
                         @endif
-                        @if(1) {{-- check if auther user is cm pro --}}
+                        @if($activeCMBill->cm_pro_id === $pro->id)
                         <div class="d-flex align-items-center">
                             @if($activeCMBill->has_cm_been_paid)
                                 <span class="text-dark">Received CM Pro Amount: </span>
@@ -495,8 +604,8 @@
                                 </div>
                                 <div class="ml-auto text-secondary font-weight-bold">CANCELLED BILL</div>
                             </div>
-                            <div class="font-weight-bold text-dark mt-2 mb-1">Transactions</div>
-                            @if(1) {{-- check if auther user is hcp pro --}}
+                            <div class="font-weight-bold text-dark mt-2 mb-1"></div>
+                            @if($cancelledBill->hcp_pro_id === $pro->id)
                             <div class="d-flex align-items-center">
                                 @if($cancelledBill->has_hcp_been_paid)
                                     <span class="text-dark">Received HCP Amount: </span>
@@ -507,7 +616,7 @@
                                 @endif
                             </div>
                             @endif
-                            @if(1) {{-- check if auther user is cm pro --}}
+                            @if($cancelledBill->cm_pro_id === $pro->id)
                             <div class="d-flex align-items-center">
                                 @if($cancelledBill->has_cm_been_paid)
                                     <span class="text-dark">Received CM Pro Amount: </span>
@@ -521,14 +630,16 @@
                         </div>
                     @endforeach
                 @endif
+                @endif
             </div>
 
             {{-- rm bills --}}
             <div class="col-6">
+                @if($patient->is_enrolled_in_rm === 'YES')
                 <div class="d-flex align-items-center">
                     <h6 class="my-0 text-secondary font-weight-bold text-dark">RM Bill
                         @if($activeRMBill && !$activeRMBill->is_signed_by_hcp)
-                            <span class="small ml-1 text-secondary">(Not yet signed by HCP)</span>
+                            <span class="small ml-1 text-secondary">(HCP Sign Pending)</span>
                         @else
                             @if($activeRMBill)
                                 <span class="small ml-1 text-secondary">(Signed by HCP)</span>
@@ -560,7 +671,7 @@
                             </form>
                         </div>
                     @else
-                        @if(!$activeRMBill->is_signed_by_hcp)
+                        @if(!$activeRMBill->is_signed_by_hcp && $activeRMBill->hcp_pro_id === $pro->id)
                         <div moe>
                             <a start show class="py-0 mb-3 text-success">Sign as HCP</a>
                             <form url="/api/bill/signAsHcp">
@@ -597,8 +708,8 @@
                             <div class="small text-secondary">Memo: {{$activeRMBill->memo}}</div>
                             <div class="small text-secondary">Created: {{friendly_date_time($activeRMBill->created_at)}}</div>
                         </div>
-                        <div class="font-weight-bold text-dark mt-2 mb-1">Transactions</div>
-                        @if(1) {{-- check if auther user is hcp pro --}}
+                        <div class="font-weight-bold text-dark mt-2 mb-1"></div>
+                        @if($activeRMBill->hcp_pro_id === $pro->id)
                         <div class="d-flex align-items-center">
                             @if($activeRMBill->has_hcp_been_paid)
                                 <span class="text-dark">Received HCP Amount: </span>
@@ -630,7 +741,7 @@
                             @endif
                         </div>
                         @endif
-                        @if(1) {{-- check if auther user is rmm pro --}}
+                        @if($activeRMBill->rmm_pro_id === $pro->id)
                         <div class="d-flex align-items-center">
                             @if($activeRMBill->has_rmm_been_paid)
                                 <span class="text-dark">Received RMM Pro Amount: </span>
@@ -662,7 +773,7 @@
                             @endif
                         </div>
                         @endif
-                        @if(1) {{-- check if auther user is rme pro --}}
+                        @if($activeRMBill->rme_pro_id === $pro->id)
                         <div class="d-flex align-items-center">
                             @if($activeRMBill->has_rme_been_paid)
                                 <span class="text-success">Received RME Pro Amount: </span>
@@ -708,8 +819,8 @@
                                 </div>
                                 <div class="ml-auto text-secondary font-weight-bold">CANCELLED BILL</div>
                             </div>
-                            <div class="font-weight-bold text-dark mt-2 mb-1">Transactions</div>
-                            @if(1) {{-- check if auther user is hcp pro --}}
+                            <div class="font-weight-bold text-dark mt-2 mb-1"></div>
+                            @if($cancelledBill->hcp_pro_id === $pro->id)
                             <div class="d-flex align-items-center">
                                 @if($cancelledBill->has_hcp_been_paid)
                                     <span class="text-dark">Received HCP Amount: </span>
@@ -720,7 +831,7 @@
                                 @endif
                             </div>
                             @endif
-                            @if(1) {{-- check if auther user is rmm pro --}}
+                            @if($cancelledBill->rmm_pro_id === $pro->id)
                             <div class="d-flex align-items-center">
                                 @if($cancelledBill->has_rmm_been_paid)
                                     <span class="text-dark">Received RMM Pro Amount: </span>
@@ -731,7 +842,7 @@
                                 @endif
                             </div>
                             @endif
-                            @if(1) {{-- check if auther user is rme pro --}}
+                            @if($cancelledBill->rme_pro_id === $pro->id)
                             <div class="d-flex align-items-center">
                                 @if($cancelledBill->has_rme_been_paid)
                                     <span class="text-success">Received RME Pro Amount: </span>
@@ -745,9 +856,12 @@
                         </div>
                     @endforeach
                 @endif
+                @endif
             </div>
 
         </div>
 
+        @endif
+
     </div>
 @endsection

+ 48 - 37
resources/views/app/patient/history.blade.php

@@ -5,18 +5,21 @@
 
 @section('inner-content')
     <div class="">
-        <div class="d-flex align-items-center" moe>
-            <h4 class="mr-3 mb-3 font-weight-normal">Medical History</h4>
-            <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
-            <form url="/api/clientInfoLine/create">
-                <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
-                <input type="hidden" name="category" value="history_medical">
-                <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="" placeholder="History"></div>
-                <div class="d-flex align-items-center">
-                    <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
-                    <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                </div>
-            </form>
+        <div class="d-flex align-items-center pb-2">
+            <h4 class="m-0 font-weight-bold">Medical History</h4>
+            <span class="mx-2 text-secondary">|</span>
+            <div moe>
+                <a start show class="py-0">Add</a>
+                <form url="/api/clientInfoLine/create">
+                    <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
+                    <input type="hidden" name="category" value="history_medical">
+                    <div class="mb-2"><input type="text" class="form-control form-control-sm" name="contentText" value="" placeholder="History"></div>
+                    <div class="d-flex align-items-center">
+                        <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                    </div>
+                </form>
+            </div>
         </div>
         <table class="table table-striped table-sm table-bordered">
             <thead>
@@ -35,7 +38,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -57,9 +60,10 @@
     {{-- history_surgical --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Surgical History</h4>
+            <h4 class="m-0 font-weight-bold">Surgical History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_surgical">
@@ -88,7 +92,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -110,9 +114,10 @@
     {{-- history_family --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Family History</h4>
+            <h4 class="m-0 font-weight-bold">Family History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_family">
@@ -141,7 +146,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -163,9 +168,10 @@
     {{-- history_social --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Social History</h4>
+            <h4 class="m-0 font-weight-bold">Social History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_social">
@@ -194,7 +200,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -216,9 +222,10 @@
     {{-- history_ob_and_preg --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">OB & Pregnancy History</h4>
+            <h4 class="m-0 font-weight-bold">OB & Pregnancy History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_ob_and_preg">
@@ -247,7 +254,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -269,9 +276,10 @@
     {{-- history_hospitalizations_procedures --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Hospitalizations / Procedures History</h4>
+            <h4 class="m-0 font-weight-bold">Hospitalizations / Procedures History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_hospitalizations_procedures">
@@ -300,7 +308,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -322,9 +330,10 @@
     {{-- history_screenings --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Screenings History</h4>
+            <h4 class="m-0 font-weight-bold">Screenings History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_screenings">
@@ -353,7 +362,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -375,9 +384,10 @@
     {{-- history_colonoscopy --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Colonoscopy History</h4>
+            <h4 class="m-0 font-weight-bold">Colonoscopy History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_colonoscopy">
@@ -406,7 +416,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>
@@ -428,9 +438,10 @@
     {{-- history_mammogram --}}
     <div class="mt-4">
         <div class="d-flex align-items-center pb-2">
-            <h4 class="mr-3 mb-3 font-weight-normal">Mammogram History</h4>
+            <h4 class="m-0 font-weight-bold">Mammogram History</h4>
+            <span class="mx-2 text-secondary">|</span>
             <div moe>
-                <a start show class="btn btn-sm btn-primary py-0 mb-3">+ Add</a>
+                <a start show class="py-0 mb-3">Add</a>
                 <form url="/api/clientInfoLine/create">
                     <input type="hidden" name="clientUid" value="{{ $patient->uid }}">
                     <input type="hidden" name="category" value="history_mammogram">
@@ -459,7 +470,7 @@
                             <td class="px-2">{{$line->contentText}}</td>
                             <td class="px-2 text-center delete-column">
                                 <div moe relative>
-                                    <a start show><i class="fa fa-trash text-danger"></i></a>
+                                    <a start show class="on-hover-opaque"><i class="fa fa-trash-alt text-danger"></i></a>
                                     <form url="/api/clientInfoLine/remove" right>
                                         <input type="hidden" name="uid" value="{{ $line->uid }}">
                                         <p class="small">Are you sure you want to delete this entry?</p>

+ 213 - 167
resources/views/app/patient/notes.blade.php

@@ -1,103 +1,179 @@
 @extends ('layouts.patient')
 
-
-@section('section-title')
-Notes
-@endsection
-
 @section('inner-content')
 @foreach ($patient->notes as $note)
-<div class="card mb-2">
-    <div class="card-header">
-        {{$note->title}}
-        <span moe>
-            <a href="" show start><i class="fa fa-edit"></i></a>
-            <form url="/api/note/putTitle">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <label for="" class="control-label">Title</label>
-                    <input type="text" name="title" value="{{$note->title}}" class="form-control">
-                </div>
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
-        </span>
-        | {{$note->effective_dateest}}
-        <span moe>
-            <a href="" show start><i class="fa fa-calendar"></i></a>
-            <form url="/api/note/putEffectiveDateEST">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <label for="" class="control-label">Effective date EST </label>
-                    <input type="date" name="effectiveDateEST" value="{{$note->effectiveTime}}" class="form-control">
-                </div>
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
-        </span>
-        <span moe>
-            <a href="" show start><i class="fa fa-clock"></i></a>
-            <form url="/api/note/putEffectiveTime">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <label for="" class="control-label">Effective time </label>
-                    <input type="time" name="effectiveTime" value="" class="form-control">
-                </div>
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
-        </span>
-        | HCP: {{$note->hcpPro->name_display}}
-        <div moe>
-            <a href="" show start><i class="fa fa-edit"></i></a>
-            <form url="/api/note/putHcp">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <label for="" class="control-label">Ally Pro</label>
-                    <select name="hcpProUid" class="form-control">
-                        <option value="">-- select hcp pro --</option>
-                        @foreach ($pros as $pro)
-                        <option value="{{$pro->uid}}">{{$pro->name_display}}</option>
-                        @endforeach
-                    </select>
-                </div>
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
+<div class="card mb-3">
+    <div class="card-header d-flex align-items-center px-3">
+        <div>
+            {{$note->title}}
+            <div moe>
+                <a href="" show start><i class="fa fa-edit"></i></a>
+                <form url="/api/note/putTitle">
+                    <input type="hidden" name="uid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <input type="text" name="title" value="{{$note->title}}" class="form-control form-control-sm"
+                               placeholder="Title">
+                    </div>
+                    <div class="form-group 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>
-        | Ally: {{$note->allyPro->name_display}}
-        <div moe>
-            <a href="" show start><i class="fa fa-edit"></i></a>
-            <form url="/api/note/putAlly">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <label for="" class="control-label">Ally Pro</label>
-                    <select name="allyProUid" class="form-control">
-                        <option value="">-- select ally pro --</option>
-                        @foreach ($pros as $pro)
-                        <option value="{{$pro->uid}}">{{$pro->name_display}}</option>
-                        @endforeach
-                    </select>
+        <span class="mx-2 text-secondary">|</span>
+        <div>
+            {{$note->effective_dateest}}
+            <span moe>
+                <a href="" show start><i class="fa fa-calendar"></i></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->effectiveTime}}" 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>
+            </span>
+            <span moe>
+                <a href="" show start><i class="fa fa-clock"></i></a>
+                <form url="/api/note/putEffectiveTime">
+                    <input type="hidden" name="uid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <label for="" class="text-secondary text-sm">Effective time </label>
+                        <input type="time" name="effectiveTime" value="" 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>
+            </span>
+        </div>
+        <span class="mx-2 text-secondary">|</span>
+        <div>
+            HCP: {{$note->hcpPro->name_display}}
+            <div moe>
+                <a href="" show start><i class="fa fa-edit"></i></a>
+                <form url="/api/note/putHcp">
+                    <input type="hidden" name="uid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <select name="hcpProUid" class="form-control form-control-sm">
+                            <option value="">-- Select HCP Pro --</option>
+                            @foreach ($pros as $pro)
+                            <option value="{{$pro->uid}}">{{$pro->name_display}}</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>
+        <span class="mx-2 text-secondary">|</span>
+        <div>
+            Ally: {{$note->allyPro->name_display}}
+            <div moe>
+                <a href="" show start><i class="fa fa-edit"></i></a>
+                <form url="/api/note/putAlly">
+                    <input type="hidden" name="uid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <select name="allyProUid" class="form-control form-control-sm">
+                            <option value="">-- Select Ally Pro --</option>
+                            @foreach ($pros as $pro)
+                            <option value="{{$pro->uid}}">{{$pro->name_display}}</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="ml-auto">
+            @if($note->is_signed_by_hcp)
+                <span class="text-secondary">
+                    <i class="fa fa-check"></i>
+                    HCP Signed
+                </span>
+            @else
+                <div moe>
+                    <a class="" href="" show start>Sign as HCP</a>
+                    <form url="/api/note/signAsHcp">
+                        <input type="hidden" name="uid" value="{{$note->uid}}">
+                        <p>Sign this note as HCP?</p>
+                        <div class="mb-0">
+                            <button class="btn btn-success btn-sm" submit>Sign</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    </form>
                 </div>
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
+            @endif
+            <span class="mx-2 text-secondary">|</span>
+            @if($note->is_signed_by_ally)
+                <span class="text-secondary">
+                    <i class="fa fa-check"></i>
+                    Ally Signed
+                </span>
+            @else
+                <div moe>
+                    <a class="" href="" show start>Sign as Ally</a>
+                    <form url="/api/note/signAsAlly">
+                        <input type="hidden" name="uid" value="{{$note->uid}}">
+                        <p>Sign this note as Ally?</p>
+                        <div class="mb-0">
+                            <button class="btn btn-success btn-sm" submit>Sign</button>
+                            <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                        </div>
+                    </form>
                 </div>
-            </form>
+            @endif
+            <span class="mx-2 text-secondary">|</span>
+            <div moe>
+                <a class="" href="" show start>Create Bill</a>
+                <form url="/api/bill/createForNote">
+                    <input type="hidden" name="noteUid" value="{{$note->uid}}">
+                    <div class="mb-2">
+                        <label for="" class="text-secondary text-sm">Effective Date</label>
+                        <input type="date" name="effectiveDate" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="text" name="code" placeholder="Code" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="text" name="reason1" placeholder="Reason 1" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="text" name="reason2" placeholder="Reason 2" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="text" name="serviceLocation" placeholder="Service Location" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="text" name="modifier" placeholder="Modifier" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <input type="number" name="numberOfUnits" placeholder="Number of Units" class="form-control form-control-sm">
+                    </div>
+                    <div class="">
+                        <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>
-    <div class="card-body">
+    <div class="card-body p-3">
         <div>
 
-            <div class="mt-2">
+            <div class="mb-2">
                 <div>
                     {!! $note->free_text_html !!}
                 </div>
@@ -105,20 +181,59 @@ Notes
 
             @if($note->bills->count())
             <div class="mt-2">
-                <table class="table table-sm tabe-striped">
-                    <thead>
+                <table class="table table-sm tabe-striped mb-0">
+                    <thead class="bg-light">
                         <tr>
-                            <th>Bill service type</th>
-                            <th>Code</th>
-                            <th></th>
+                            <th class="border-bottom-0 w-25">Code</th>
+                            <th class="border-bottom-0"></th>
                         </tr>
                     </thead>
                     <tbody>
                         @foreach ($note->bills as $bill)
                         <tr>
-                            <td>{{$bill->bill_service_type}}</td>
-                            <td>{{$bill->code}}</td>
-                            <td></td>
+                            <td class="{{ $bill->is_cancelled ? 'text-secondary' : '' }}">{{$bill->code}}</td>
+                            <td>
+                                <div class="d-flex align-items-center">
+                                    @if(!$bill->is_cancelled)
+                                        @if($bill->is_signed_by_hcp)
+                                            <span class="text-secondary">
+                                                <i class="fa fa-check"></i>
+                                                HCP Signed
+                                            </span>
+                                        @else
+                                            <div moe>
+                                                <a class="" href="" show start>Sign as HCP</a>
+                                                <form url="/api/bill/signAsHcp">
+                                                    <input type="hidden" name="uid" value="{{$bill->uid}}">
+                                                    <p>Sign this bill as HCP?</p>
+                                                    <div class="mb-0">
+                                                        <button class="btn btn-success btn-sm" submit>Sign</button>
+                                                        <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                                    </div>
+                                                </form>
+                                            </div>
+                                        @endif
+                                        <span class="mx-2 text-secondary">|</span>
+                                    @endif
+                                    @if($bill->is_cancelled)
+                                        <span class="text-secondary">
+                                            Cancelled
+                                        </span>
+                                    @else
+                                        <div moe>
+                                            <a class="" href="" show start>Cancel</a>
+                                            <form url="/api/bill/markCancelled">
+                                                <input type="hidden" name="uid" value="{{$bill->uid}}">
+                                                <p>Cancel this bill?</p>
+                                                <div class="mb-0">
+                                                    <button class="btn btn-danger btn-sm" submit>Yes</button>
+                                                    <button class="btn btn-default border btn-sm" cancel>No</button>
+                                                </div>
+                                            </form>
+                                        </div>
+                                    @endif
+                                </div>
+                            </td>
                         </tr>
                         @endforeach
                     </tbody>
@@ -127,75 +242,6 @@ Notes
             @endif
         </div>
     </div>
-    <div class="card-footer">
-        <div moe>
-            <a class="btn btn-outline-primary btn-sm" href="" show start>Sign as HCP</a>
-            <form url="/api/note/signAsHcp">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
-        </div>
-        <div moe>
-            <a class="btn  btn-outline-primary btn-sm" href="" show start>Sign as Ally</a>
-            <form url="/api/note/signAsAlly">
-                <input type="hidden" name="uid" value="{{$note->uid}}">
-                <div class="form-group">
-                    <button class="btn btn-primary btn-sm" submit>Submit</button>
-                    <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                </div>
-            </form>
-        </div>
-        <div moe>
-            <a class="btn  btn-outline-primary btn-sm" href="" show start>Create Bill</a>
-            <form url="/api/bill/createForNote">
-                <input type="hidden" name="noteUid" value="{{$note->uid}}">
-                <div class="row">
-                    <div class="col-md-6">
-                        <div class="form-group">
-                            <label for="" class="control-label">effective date</label>
-                            <input type="date" name="effectiveDate" class="form-control">
-                        </div>
-                        <div class="form-group">
-                            <label for="" class="control-label">code</label>
-                            <input type="text" name="code" class="form-control">
-                        </div>
-                        <div class="form-group">
-                            <label for="" class="control-label">reason 1</label>
-                            <input type="text" name="reason1" class="form-control">
-                        </div>
-                        <div class="form-group">
-                            <label for="" class="control-label">reason 2</label>
-                            <input type="text" name="reason2" class="form-control">
-                        </div>
-                    </div>
-                    <div class="col-md-6">
-                        <div class="form-group">
-                            <label for="" class="control-label">Service location</label>
-                            <input type="text" name="serviceLocation" class="form-control">
-                        </div>
-                        <div class="form-group">
-                            <label for="" class="control-label">Modifier</label>
-                            <input type="text" name="modifier" class="form-control">
-                        </div>
-                        <div class="form-group">
-                            <label for="" class="control-label">Number of units</label>
-                            <input type="number" name="numberOfUnits" class="form-control">
-                        </div>
-                    </div>
-                    <div class="col-md-12">
-                        <div class="form-group">
-                            <button class="btn btn-primary btn-sm" submit>Submit</button>
-                            <button class="btn btn-danger btn-sm" cancel>Cancel</button>
-                        </div>
-                    </div>
-                </div>
-
-            </form>
-        </div>
-    </div>
 </div>
 @endforeach
-@endsection
+@endsection

+ 7 - 5
resources/views/app/patients.blade.php

@@ -2,9 +2,10 @@
 
 @section('content')
 
-    <div class="card mt-3">
+    <div class="p-3 mcp-theme-1">
+    <div class="card">
 
-        <div class="card-header">
+        <div class="card-header px-3">
             <strong>
                 <i class="fas fa-user-injured"></i>
                 Patients
@@ -14,7 +15,7 @@
             <table class="table table-condensed p-0 m-0">
                 <thead>
                 <tr>
-                    <th>#</th>
+                    <th class="px-3">#</th>
                     <th>Name</th>
                     <th>DOB</th>
                     <th>Sex</th>
@@ -28,7 +29,7 @@
                 <tbody>
                 @foreach($patients as $patient)
                     <tr>
-                        <td>
+                        <td class="px-3">
                             <a href="{{route('patients.view.dashboard', $patient)}}">
                                 {{$patient->chart_number}}
                             </a>
@@ -48,9 +49,10 @@
                 </tbody>
             </table>
         </div>
-        <div class="card-footer">
+        <div class="card-footer px-3">
             Pagination Later
         </div>
     </div>
+    </div>
 
 @endsection

+ 108 - 52
resources/views/layouts/patient.blade.php

@@ -1,75 +1,77 @@
 @extends('layouts.template')
 
 @section('content')
-    <div class="container-fluid">
-        <div class="row">
-            <nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse px-0">
+    <div class="container-fluid h-100">
+        <div class="main-row h-100">
+            <nav id="sidebarMenu" class="d-md-block bg-light sidebar collapse px-0">
                 <div class="sidebar-sticky pt-3">
                     <ul class="nav flex-column mcp-theme-1">
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.dashboard', ['patient' => $patient]) }}">Dashboard</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.dashboard', ['patient' => $patient]) }}">Dashboard</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.care-plan', ['patient' => $patient]) }}">Care
-                                Plan</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.care-months', ['patient' => $patient]) }}">Care
-                                Months</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.medications', ['patient' => $patient]) }}">Medications</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.care-months', ['patient' => $patient]) }}">Care Months</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.dx-and-focus-areas', ['patient' => $patient]) }}">Dx
-                                and Focus Areas</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.care-team', ['patient' => $patient]) }}">Care
-                                Team</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.measurements', ['patient' => $patient]) }}">Measurements</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.notes', ['patient' => $patient]) }}">Notes</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.labs-and-studies', ['patient' => $patient]) }}">Labs
-                                and Studies</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.history', ['patient' => $patient]) }}">History</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.medications', ['patient' => $patient]) }}">Medications</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.immunizations', ['patient' => $patient]) }}">Immunizations</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.dx-and-focus-areas', ['patient' => $patient]) }}">Dx and Focus Areas</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.allergies', ['patient' => $patient]) }}">Allergies</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.care-team', ['patient' => $patient]) }}">Care Team</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.notes', ['patient' => $patient]) }}">Notes</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.history', ['patient' => $patient]) }}">History</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.flowsheets', ['patient' => $patient]) }}">Flowsheets</a>
+                        <?php /*
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.care-plan', ['patient' => $patient]) }}">Care Plan</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.demographics', ['patient' => $patient]) }}">Demographics</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.measurements', ['patient' => $patient]) }}">Measurements</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.account', ['patient' => $patient]) }}">Account</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.labs-and-studies', ['patient' => $patient]) }}">Labs and Studies</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.care-checklist', ['patient' => $patient]) }}">Care
-                                Checklist</a></li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.documents', ['patient' => $patient]) }}">Documents</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.immunizations', ['patient' => $patient]) }}">Immunizations</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.education', ['patient' => $patient]) }}">Education</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.allergies', ['patient' => $patient]) }}">Allergies</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.messaging', ['patient' => $patient]) }}">Messaging</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.flowsheets', ['patient' => $patient]) }}">Flowsheets</a>
                         </li>
-                        <li class="nav-item"><a class="nav-link"
-                                                href="{{ route('patients.view.duplicate', ['patient' => $patient]) }}">Duplicate</a>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.demographics', ['patient' => $patient]) }}">Demographics</a>
                         </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.account', ['patient' => $patient]) }}">Account</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.care-checklist', ['patient' => $patient]) }}">Care Checklist</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.documents', ['patient' => $patient]) }}">Documents</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.education', ['patient' => $patient]) }}">Education</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.messaging', ['patient' => $patient]) }}">Messaging</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link" href="{{ route('patients.view.duplicate', ['patient' => $patient]) }}">Duplicate</a>
+                        </li>
+                        */ ?>
                     </ul>
                 </div>
             </nav>
-            <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-md-4">
+            <main role="main" class="">
                 <div class="card mt-3">
                     <div class=card-header>
                         <?php
@@ -92,9 +94,15 @@
                             else if ($memberSince === 0) $memberSince = 'today';
                         ?>
 
-                        <div class=z><div class=header>
+                        <div class=z>
+                            <div class=header>
                             @if($patient->is_duplicate)
-                                <h5>This chart is a duplicate of <a href=javascript:void(0)>Cooper, Amiele</a>.</h5><br>
+                                <div class="alert alert-secondary border-dark mcp-theme-1">
+                                    <span class="text-dark">This chart is a duplicate of&nbsp;</span>
+                                    <a class="font-weight-bold" href="/patients/view/{{ $patient->duplicateOf->uid }}">
+                                        {{ $patient->duplicateOf->displayName() }}
+                                    </a>
+                                </div>
                             @endif
                             <div class=hbox>
                                 <div class="thumbnail {{$online}}" style="background-image:<?=$thumbnail?>"><?=$initials?></div>
@@ -170,6 +178,54 @@
                                         <div><label>PCP:</label> {{$mcpName}}</div>
                                         <div><label>MA:</label> {{$cmName}}</div>
                                     </div>
+                                    @if($patient->mcp && $patient->has_mcp_done_onboarding_visit !== 'YES')
+                                    <div class="text-dark d-flex align-items-center">
+                                        <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>
+                                    @endif
                                 </section>
                                 <section>
                                     <div><label>Allergies:</label> Grass, Pollen, Latex</div>