Quellcode durchsuchen

Goals wizard - new add/edit implementations

Vijayakrishnan vor 3 Jahren
Ursprung
Commit
af7a9ebbab
1 geänderte Dateien mit 181 neuen und 159 gelöschten Zeilen
  1. 181 159
      resources/views/app/patient/goals-center.blade.php

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

@@ -37,7 +37,6 @@ $goals = $points;
                 <th class="border-bottom-0 text-secondary">Category</th>
                 <th class="border-bottom-0 text-secondary">Active?</th>
                 <th class="border-bottom-0 text-secondary">Edit</th>
-                <th class="border-bottom-0 text-secondary">Delete</th>
                 <th class="border-bottom-0 text-secondary">Started</th>
                 <th class="border-bottom-0 text-secondary">Ended</th>
                 <th class="border-bottom-0 text-secondary">Last Review</th>
@@ -54,7 +53,7 @@ $goals = $points;
             @endif
             <?php $prevRowRemoved = $goal->is_removed; ?>
             <?php $rel = $goal->relevanceToNote($note); ?>
-            <tr class="{{$goal->is_removed ? 'on-hover-opaque' : ''}}">
+            <tr class="">
                 <td class="text-center">
                     <a href="#" class="toggle-relevance"
                        data-relevant="{{$rel ? '1' : '0'}}"
@@ -103,20 +102,16 @@ $goals = $points;
                     @endif
                 </td>
                 <td>
-                    @if($goal->added_in_note_id === $note->id)
-                        <div moe wide>
-                            <a start show href="#" title="Edit">Edit</a>
-                            <form url="/api/visitPoint/updateTopLevel" class="mcp-theme-1 frm-edit-goal">
-                                <input type="hidden" name="uid" value="<?= $goal->uid ?>">
-                                <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
-                                <p class="mb-2"><b>Update Goal</b></p>
+                    <div moe wide>
+                        <a start show href="#" title="Edit">Edit</a>
+                        <form url="/api/visitPoint/updateTopLevel" class="mcp-theme-1 frm-edit-goal">
+                            <input type="hidden" name="uid" value="<?= $goal->uid ?>">
+                            <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
+                            <p class="mb-2"><b>Update Goal</b></p>
 
-                                <input type="hidden" name="data">
+                            @if($goal->added_in_note_id === $note->id)
 
-                                <input type="hidden" name="additionReasonCategory" value="{{@$goal->addition_reason_category}}">
-                                <input type="hidden" name="isRemoved" value="{{@$goal->is_removed}}">
-                                <input type="hidden" name="removalReasonCategory" value="{{@$goal->removal_reason_category}}">
-                                <input type="hidden" name="isRemovedDueToEntryError" value="{{@$goal->is_removed_due_to_entry_error}}">
+                                <input type="hidden" name="data">
 
                                 <div class="mb-2">
                                     <label class="text-sm text-secondary mb-1">Category</label>
@@ -197,121 +192,105 @@ $goals = $points;
                                            value="{{@$goal->data->goal}}">
                                 </div>
 
-                                <div class="mb-2">
-                                    <label class="text-sm text-secondary mb-0">Historic / Preexisting / New</label>
-                                    <select class="form-control form-control-sm additionReasonCategory_ui" name="additionReasonCategory_ui" required>
+                                <div class="row mb-2">
+                                    <div class="col-6 pr-0">
+                                        <label class="text-sm mb-0">Start Date</label>
+                                        <input type="date"
+                                               data-name="start_date"
+                                               value="{{@$goal->data->start_date}}"
+                                               class="form-control form-control-sm min-width-unset">
+                                    </div>
+                                    <div class="col-6">
+                                        <label class="text-sm mb-0">Added By</label>
+                                        <input type="text"
+                                               data-name="prescriber"
+                                               value="{{@$goal->data->prescriber}}"
+                                               class="form-control form-control-sm min-width-unset">
+                                    </div>
+                                </div>
+
+                            @else
+
+                                <div class="mb-2 bg-light p-2 border">
+                                    <p class="mb-1 font-weight-bold">
+                                        {{ @$goal->data->name }}
+                                    </p>
+                                    <div class="text-secondary text-sm">Clinical details cannot be modified since the goal was added prior to this visit.</div>
+                                </div>
+
+                            @endif
+
+                            <hr class="my-3">
+
+                            <div class="row mb-2">
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0">When Added</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="additionReasonCategory" required>
                                         <option value="">-- select --</option>
-                                        <option value="HISTORIC" {{$goal->addition_reason_category === 'ON_INTAKE' && $goal->is_removed ? 'selected' : ''}}>Historic</option>
-                                        <option value="PRE_EXISTING" {{$goal->addition_reason_category === 'ON_INTAKE' && !$goal->is_removed ? 'selected' : ''}}>Preexisting</option>
-                                        <option value="NEW" {{$goal->addition_reason_category === 'DURING_VISIT' ? 'selected' : ''}}>New (Prescribed during this visit)</option>
+                                        <option value="ON_INTAKE" {{$goal->addition_reason_category === 'ON_INTAKE' ? 'selected' : ''}}>On Intake</option>
+                                        <option value="DURING_VISIT" {{$goal->addition_reason_category === 'DURING_VISIT' ? 'selected' : ''}}>During Visit</option>
                                     </select>
                                 </div>
+                                <div class="col-8">
+                                    <label class="text-sm mb-0 min-width-unset">Addition Memo</label>
+                                    <input type="text"
+                                           name="additionReasonMemo"
+                                           value="{{$goal->addition_reason_memo}}"
+                                           class="form-control form-control-sm min-width-unset">
+                                </div>
+                            </div>
 
-                                <div class="d-flex align-items-start">
-                                    <div class="w-50 mb-2">
-                                        <div class="start_date_ui" style="display: none">
-                                            <label class="text-sm text-secondary mb-0">Start Date</label>
-                                            <input type="date"
-                                                   data-name="start_date"
-                                                   class="form-control form-control-sm min-width-unset">
-                                        </div>
-                                    </div>
-                                    <div class="w-50 pl-2 mb-2">
-                                        <div class="prescriber_ui" style="display: none">
-                                            <label class="text-sm text-secondary mb-0">Prescribed By</label>
-                                            <input type="text"
-                                                   data-name="prescriber"
-                                                   class="form-control form-control-sm min-width-unset">
-                                        </div>
-                                    </div>
+                            <hr class="my-3">
+
+                            <div class="row mb-2">
+                                <div class="col-6 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">Is goal active?</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="isRemoved" required>
+                                        <option value="">-- select --</option>
+                                        <option value="0" {{!$goal->is_removed ? 'selected' : ''}}>Yes</option>
+                                        <option value="1" {{$goal->is_removed ? 'selected' : ''}}>No</option>
+                                    </select>
                                 </div>
-                                <div class="d-flex align-items-start">
-                                    <div class="w-50 mb-2">
-                                        <div class="removalEffectiveDate_ui" style="display: none">
-                                            <label class="text-sm text-secondary mb-0">End Date</label>
-                                            <input type="date"
-                                                   name="removalEffectiveDate"
-                                                   class="form-control form-control-sm min-width-unset">
-                                        </div>
-                                    </div>
-                                    <div class="w-50 pl-2 mb-2">
-                                        <div class="removalReasonMemo_ui" style="display: none">
-                                            <label class="text-sm text-secondary mb-0">Removal By/Memo</label>
-                                            <input type="text"
-                                                   name="removalReasonMemo"
-                                                   class="form-control form-control-sm min-width-unset">
-                                        </div>
-                                    </div>
+                                <div class="col-6 is_removed_ui_1" style="display: none">
+                                    <label class="text-sm mb-0 min-width-unset">Is entry error?</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="isRemovedDueToEntryError">
+                                        <option value="1" {{$goal->is_removed_due_to_entry_error ? 'selected' : ''}}>Yes</option>
+                                        <option value="0" {{!$goal->is_removed_due_to_entry_error ? 'selected' : ''}}>No</option>
+                                    </select>
                                 </div>
+                            </div>
 
-                                <div class="mb-2">
-                                    <label class="text-sm text-secondary mb-1">Description</label>
-                                    <textarea rows="1" data-name="description" class="form-control form-control-sm">{{@$goal->data->description}}</textarea>
+                            <div class="row mb-2 is_removed_ui_2" style="display: none">
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">When Removed</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="removalReasonCategory">
+                                        <option value="">-- select --</option>
+                                        <option value="ON_INTAKE" {{$goal->removal_reason_category === 'ON_INTAKE' ? 'selected' : ''}}>On Intake</option>
+                                        <option value="DURING_VISIT" {{$goal->removal_reason_category === 'DURING_VISIT' ? 'selected' : ''}}>During Visit</option>
+                                    </select>
                                 </div>
-
-                                <div>
-                                    <button type="submit" class="btn-save-goal btn btn-sm btn-primary mr-2">Save</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">End Date</label>
+                                    <input type="date"
+                                           name="removalEffectiveDate"
+                                           value="{{$goal->removal_effective_date ? $goal->removal_effective_date : ''}}"
+                                           class="form-control form-control-sm min-width-unset">
                                 </div>
-                            </form>
-                        </div>
-                    @endif
-                </td>
-                <td>
-                    @if($goal->added_in_note_id === $note->id)
-                        <div moe>
-                            <a start show href="#" title="Delete">Delete</a>
-                            <form url="/api/visitPoint/updateTopLevel" class="mcp-theme-1">
-                                <input type="hidden" name="uid" value="<?= $goal->uid ?>">
-                                <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
-                                <input type="hidden" name="isRemoved" value="1">
-                                <input type="hidden" name="isRemovedDueToEntryError" value="1">
-                                <input type="hidden" name="removalReasonMemo" value="Entry Error">
-                                <input type="hidden" name="removalEffectiveDate" value="<?= date('Y-m-d') ?>">
-                                <p class="mb-2"><b>Delete this goal?</b></p>
-                                <div>
-                                    <button submit class="btn btn-sm btn-danger mr-2">Delete</button>
-                                    <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                                <div class="col-4">
+                                    <label class="text-sm mb-0 min-width-unset">Removal By/Memo</label>
+                                    <input type="text"
+                                           name="removalReasonMemo"
+                                           value="{{$goal->removal_reason_memo}}"
+                                           class="form-control form-control-sm min-width-unset">
                                 </div>
-                            </form>
-                        </div>
-                    @else
-                        @if(!$goal->is_removed)
-                            <div moe>
-                                <a start show href="#" title="Discontinue">Delete</a>
-                                <form url="/api/visitPoint/updateTopLevel" class="mcp-theme-1">
-                                    <input type="hidden" name="uid" value="<?= $goal->uid ?>">
-                                    <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
-                                    <input type="hidden" name="isRemoved" value="1">
-                                    <input type="hidden" name="isRemovedDueToEntryError" value="0">
-                                    <p class="mb-2"><b>Delete this goal?</b></p>
-                                    <div class="mb-2">
-                                        <label class="text-sm text-secondary mb-1">Already stopped / Stop now</label>
-                                        <select class="form-control form-control-sm" name="removalReasonCategory" required>
-                                            <option value="">-- select --</option>
-                                            <option value="ON_INTAKE">Already stopped (before this visit)</option>
-                                            <option value="DURING_VISIT">Stop now</option>
-                                        </select>
-                                    </div>
-                                    <div class="mb-2">
-                                        <label class="text-sm text-secondary mb-1">Removal Reason</label>
-                                        <textarea name="removalReasonMemo" class="form-control form-control-sm" rows="2"></textarea>
-                                    </div>
-                                    <div class="mb-2">
-                                        <label class="text-sm text-secondary mb-1">Removal Effective Date</label>
-                                        <input type="date" name="removalEffectiveDate"
-                                               value="<?= date('Y-m-d') ?>"
-                                               max="<?= date('Y-m-d') ?>"
-                                               class="form-control form-control-sm">
-                                    </div>
-                                    <div>
-                                        <button submit class="btn btn-sm btn-danger mr-2">Delete</button>
-                                        <button cancel class="btn btn-sm btn-default border">Cancel</button>
-                                    </div>
-                                </form>
                             </div>
-                        @endif
-                    @endif
+
+                            <div>
+                                <button type="submit" class="btn-save-goal btn btn-sm btn-primary mr-2">Save</button>
+                                <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                            </div>
+                        </form>
+                    </div>
                 </td>
                 <td>
                     <?= !!@($goal->data->start_date) ? @($goal->data->start_date) : '-' ?>
@@ -387,11 +366,6 @@ $goals = $points;
                     <input type="hidden" name="category" value="GOAL">
                     <input type="hidden" name="data">
 
-                    <input type="hidden" name="additionReasonCategory">
-                    <input type="hidden" name="isRemoved">
-                    <input type="hidden" name="removalReasonCategory">
-                    <input type="hidden" name="isRemovedDueToEntryError">
-
                     <p class="mb-2"><b>Add Goal</b></p>
 
                     <div class="row">
@@ -478,51 +452,81 @@ $goals = $points;
                                            required>
                                 </div>
                             </div>
+
                             <div class="row mb-2">
-                                <div class="col-12">
-                                    <label class="text-sm text-secondary mb-0">Historic / Preexisting / New</label>
-                                    <select class="form-control form-control-sm additionReasonCategory_ui" name="additionReasonCategory_ui" required>
+                                <div class="col-6 pr-0">
+                                    <label class="text-sm mb-0">Start Date</label>
+                                    <input type="date"
+                                           data-name="start_date"
+                                           class="form-control form-control-sm min-width-unset">
+                                </div>
+                                <div class="col-6">
+                                    <label class="text-sm mb-0">Added By</label>
+                                    <input type="text"
+                                           data-name="prescriber"
+                                           class="form-control form-control-sm min-width-unset">
+                                </div>
+                            </div>
+                            <!--<div class="mb-2">
+                                <label class="text-sm mb-1">Description</label>
+                                <textarea rows="1" data-name="description" class="form-control form-control-sm"></textarea>
+                            </div>-->
+
+                            <hr class="my-3">
+
+                            <div class="row mb-2">
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0">When Added</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="additionReasonCategory" required>
                                         <option value="">-- select --</option>
-                                        <option value="HISTORIC">Historic</option>
-                                        <option value="PRE_EXISTING">Preexisting</option>
-                                        <option value="NEW">New (Prescribed during this visit)</option>
+                                        <option value="ON_INTAKE">On Intake</option>
+                                        <option value="DURING_VISIT">During Visit</option>
                                     </select>
                                 </div>
+                                <div class="col-8">
+                                    <label class="text-sm mb-0 min-width-unset">Addition Memo</label>
+                                    <input type="text"
+                                           name="additionReasonMemo"
+                                           class="form-control form-control-sm min-width-unset">
+                                </div>
                             </div>
-                            <div class="d-flex align-items-start mb-2">
-                                <div class="w-25">
-                                    <div class="start_date_ui" style="display: none">
-                                        <label class="text-sm text-secondary mb-0">Start Date</label>
-                                        <input type="date"
-                                               data-name="start_date"
-                                               class="form-control form-control-sm min-width-unset">
-                                    </div>
+
+                            <hr class="my-3">
+
+                            <div class="row mb-2">
+                                <div class="col-6 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">Is goal active?</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="isRemoved" required>
+                                        <option value="0" selected>Yes</option>
+                                        <option value="1">No</option>
+                                    </select>
                                 </div>
-                                <div class="w-25 pl-2">
-                                    <div class="prescriber_ui" style="display: none">
-                                        <label class="text-sm text-secondary mb-0">Prescribed By</label>
-                                        <input type="text"
-                                               data-name="prescriber"
-                                               class="form-control form-control-sm min-width-unset">
-                                    </div>
+                                <input type="hidden" name="isRemovedDueToEntryError" value="0">
+                            </div>
+
+                            <div class="row mb-2 is_removed_ui_2" style="display: none">
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">When Removed</label>
+                                    <select class="form-control form-control-sm min-width-unset" name="removalReasonCategory">
+                                        <option value="">-- select --</option>
+                                        <option value="ON_INTAKE">On Intake</option>
+                                        <option value="DURING_VISIT">During Visit</option>
+                                    </select>
                                 </div>
-                                <div class="w-25 pl-2">
-                                    <div class="removalEffectiveDate_ui" style="display: none">
-                                        <label class="text-sm text-secondary mb-0">End Date</label>
-                                        <input type="date"
-                                               name="removalEffectiveDate"
-                                               class="form-control form-control-sm min-width-unset">
-                                    </div>
+                                <div class="col-4 pr-0">
+                                    <label class="text-sm mb-0 min-width-unset">End Date</label>
+                                    <input type="date"
+                                           name="removalEffectiveDate"
+                                           class="form-control form-control-sm min-width-unset">
                                 </div>
-                                <div class="w-25 pl-2">
-                                    <div class="removalReasonMemo_ui" style="display: none">
-                                        <label class="text-sm text-secondary mb-0">Removal By/Memo</label>
-                                        <input type="text"
-                                               name="removalReasonMemo"
-                                               class="form-control form-control-sm min-width-unset">
-                                    </div>
+                                <div class="col-4">
+                                    <label class="text-sm mb-0 min-width-unset">Removal By/Memo</label>
+                                    <input type="text"
+                                           name="removalReasonMemo"
+                                           class="form-control form-control-sm min-width-unset">
                                 </div>
                             </div>
+
                         </div>
                         <div class="col-5 border-left">
 
@@ -638,6 +642,23 @@ $goals = $points;
 
                 });
 
+            parentSegment.find('[name="isRemoved"], [name="isRemovedDueToEntryError"]')
+                .off('change')
+                .on('change', function () {
+                    let form = $(this).closest('form');
+
+                    form.find('.is_removed_ui_1').hide();
+                    if(form.find('[name="isRemoved"]').val() === '1') {
+                        form.find('.is_removed_ui_1').show();
+                    }
+
+                    form.find('.is_removed_ui_2').hide();
+                    if(form.find('[name="isRemoved"]').val() === '1' && form.find('[name="isRemovedDueToEntryError"]').val() !== '1') {
+                        form.find('.is_removed_ui_2').show();
+                    }
+                    return false;
+                });
+
             parentSegment.find('#frm-add-goal')
                 .off('submit')
                 .on('submit', function () {
@@ -778,7 +799,8 @@ $goals = $points;
 
             initStagSuggest();
 
-            $('.additionReasonCategory_ui').trigger('change');
+            parentSegment.find('.additionReasonCategory_ui').trigger('change');
+            parentSegment.find('[name="isRemoved"]').trigger('change');
 
             initSegmentMoes($('#goals-center-{{$note->id}}'));
             initVisitMoeRTEs();