Quellcode durchsuchen

Support for NKDA and related in allergies and rx

Vijayakrishnan vor 3 Jahren
Ursprung
Commit
e56f6056e3

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

@@ -11,9 +11,27 @@ use App\Models\Segment;
 list($allergies, $counts) = Point::getPointsOfCategoryExtended($patient, 'ALLERGY', $note);
 ?>
 
-<div class="mt-3 p-3 border-top min-height-500px" id="allergies-center-{{$note->id}}">
+<div class="mt-3 p-3 border-top" id="allergies-center-{{$note->id}}">
     <div>
 
+        <?php $tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER'); ?>
+        <textarea class="no_known_tracker d-none">{!! $tracker && @($tracker->data) ? json_encode($tracker->data) : '{}' !!}</textarea>
+        <div class="d-flex align-items-center mb-3">
+            <label class="border border-info d-inline-flex align-items-center my-0 mr-3 p-2 rounded">
+                <input type="checkbox" class="tracker-input mr-2"
+                       {{$tracker && @($tracker->data->no_known_drug_allergies) ? 'checked' : ''}}
+                       data-field-name="no_known_drug_allergies">
+                <span>No Known Drug Allergies</span>
+            </label>
+            <label class="border border-info d-inline-flex align-items-center my-0 mr-3 p-2 rounded">
+                <input type="checkbox" class="tracker-input mr-2"
+                       {{$tracker && @($tracker->data->no_known_allergies_of_any_type) ? 'checked' : ''}}
+                       data-field-name="no_known_allergies_of_any_type">
+                <span>No Known Allergies of Any Type</span>
+            </label>
+        </div>
+
+        @if(!$tracker || !@($tracker->data->no_known_allergies_of_any_type))
         <table class="table table-sm table-bordered mb-0 bg-white mb-2">
             <thead>
             <tr class="">
@@ -212,6 +230,7 @@ list($allergies, $counts) = Point::getPointsOfCategoryExtended($patient, 'ALLERG
                 </form>
             </div>
         </div>
+        @endif
     </div>
 </div>
 

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

@@ -12,9 +12,21 @@ list($medications, $counts) = Point::getPointsOfCategoryExtended($patient, 'MEDI
 
 ?>
 
-<div class="mt-3 p-3 border-top min-height-500px" id="medications-center-{{$note->id}}">
+<div class="mt-3 p-3 border-top" id="medications-center-{{$note->id}}">
     <div>
 
+        <?php $tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER'); ?>
+        <textarea class="no_known_tracker d-none">{!! $tracker && @($tracker->data) ? json_encode($tracker->data) : '{}' !!}</textarea>
+        <div class="d-flex align-items-center mb-3">
+            <label class="border border-info d-inline-flex align-items-center my-0 mr-3 p-2 rounded">
+                <input type="checkbox" class="tracker-input mr-2"
+                       {{$tracker && @($tracker->data->no_known_medications) ? 'checked' : ''}}
+                       data-field-name="no_known_medications">
+                <span>No Known Medications</span>
+            </label>
+        </div>
+
+        @if(!$tracker || !@($tracker->data->no_known_medications))
         <table class="table table-sm table-bordered mb-0 bg-white mb-2">
             <thead>
             <tr class="">
@@ -173,73 +185,74 @@ list($medications, $counts) = Point::getPointsOfCategoryExtended($patient, 'MEDI
                     </td>
                 </tr>
             <?php endforeach; ?>
-    </table>
-
-    <div class="d-flex align-items-center">
-        <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
-            <!--<a href="#" start show class="btn btn-sm btn btn-outline-primary">+ Add new medication, prescribed during this visit</a>-->
-            <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-medication" novalidate>
-                <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
-                <input type="hidden" name="category" value="MEDICATION">
-                <input type="hidden" name="data">
-
-                <input type="hidden" data-name="medId">
-                <input type="hidden" data-name="routedMedId">
-                <input type="hidden" data-name="routedDosageFormMedId">
-                <input type="hidden" data-name="gcnSeqno">
-
-                <input type="hidden" name="isRemovedDueToEntryError" value="0">
-
-                <div class="row">
-                    <div class="col-8">
-                        <p class="mb-2"><b>Add Medication</b></p>
-                        <div class="mb-2">
-                            <label class="mb-0 font-weight-bold">Name</label>
-                            <input type="text"
-                                   data-name="name"
-                                   class="form-control form-control-sm"
-                                   stag-suggest
-                                   stag-suggest-bottom-left
-                                   stag-suggest-ep="/fdb-med-suggest-v2/json"
-                                   required>
-                        </div>
+        </table>
+
+        <div class="d-flex align-items-center">
+            <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
+                <!--<a href="#" start show class="btn btn-sm btn btn-outline-primary">+ Add new medication, prescribed during this visit</a>-->
+                <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-medication" novalidate>
+                    <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
+                    <input type="hidden" name="category" value="MEDICATION">
+                    <input type="hidden" name="data">
+
+                    <input type="hidden" data-name="medId">
+                    <input type="hidden" data-name="routedMedId">
+                    <input type="hidden" data-name="routedDosageFormMedId">
+                    <input type="hidden" data-name="gcnSeqno">
+
+                    <input type="hidden" name="isRemovedDueToEntryError" value="0">
+
+                    <div class="row">
+                        <div class="col-8">
+                            <p class="mb-2"><b>Add Medication</b></p>
+                            <div class="mb-2">
+                                <label class="mb-0 font-weight-bold">Name</label>
+                                <input type="text"
+                                       data-name="name"
+                                       class="form-control form-control-sm"
+                                       stag-suggest
+                                       stag-suggest-bottom-left
+                                       stag-suggest-ep="/fdb-med-suggest-v2/json"
+                                       required>
+                            </div>
 
-                        <?php $point = null; ?>
-                        @include('app.patient.wizard-partials.common-fields', ['label' => 'medication', 'addVerbPT' => 'Prescribed'])
+                            <?php $point = null; ?>
+                            @include('app.patient.wizard-partials.common-fields', ['label' => 'medication', 'addVerbPT' => 'Prescribed'])
 
-                    </div>
-                    <div class="col-4 border-left">
-
-                        <?php
-                        $problems = \App\Models\Point::getPointsOfCategory($patient, "PROBLEM");
-                        ?>
-                        @if(count($problems))
-                            <h6 class="my-0 font-weight-bold text-secondary mb-2">Active Problems</h6>
-                            <div class="bg-light border px-2 pt-2 pb-1 mb-0">
-                                @foreach($problems as $problem)
-                                    <div class="mb-1">
-                                        <b><?= !!@($problem->data->name) ? @($problem->data->name) : '-' ?></b>
-                                    </div>
-                                @endforeach
-                            </div>
-                            <hr class="my-3 m-neg-3">
-                        @endif
+                        </div>
+                        <div class="col-4 border-left">
+
+                            <?php
+                            $problems = \App\Models\Point::getPointsOfCategory($patient, "PROBLEM");
+                            ?>
+                            @if(count($problems))
+                                <h6 class="my-0 font-weight-bold text-secondary mb-2">Active Problems</h6>
+                                <div class="bg-light border px-2 pt-2 pb-1 mb-0">
+                                    @foreach($problems as $problem)
+                                        <div class="mb-1">
+                                            <b><?= !!@($problem->data->name) ? @($problem->data->name) : '-' ?></b>
+                                        </div>
+                                    @endforeach
+                                </div>
+                                <hr class="my-3 m-neg-3">
+                            @endif
 
-                        <div class="fdb-rx-vigilance max-height-400px overflow-auto">
+                            <div class="fdb-rx-vigilance max-height-400px overflow-auto">
 
+                            </div>
                         </div>
                     </div>
-                </div>
 
-                <div class="d-flex align-items-center">
-                    <button type="submit" class="btn btn-sm btn-primary mr-2">Save Medication</button>
-                    <button type="button" class="btn btn-sm btn-default border-secondary bg-white border mr-2" onclick="return closeStagPopup()">Close</button>
-                </div>
-            </form>
+                    <div class="d-flex align-items-center">
+                        <button type="submit" class="btn btn-sm btn-primary mr-2">Save Medication</button>
+                        <button type="button" class="btn btn-sm btn-default border-secondary bg-white border mr-2" onclick="return closeStagPopup()">Close</button>
+                    </div>
+                </form>
+            </div>
         </div>
+        @endif
     </div>
 </div>
-</div>
 
 <script>
 (function() {

+ 34 - 20
resources/views/app/patient/note/rhs-sidebar.blade.php

@@ -6,6 +6,7 @@
     $problems = \App\Models\Point::getPointsOfCategory($patient, "PROBLEM");
     $goals = \App\Models\Point::getPointsOfCategory($patient, "GOAL");
     $prescriptions = $patient->prescriptionsCreatedInNote($note);
+    $tracker = \App\Models\Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
     ?>
     <div id="active-allergies" class="p-2 border-bottom c-pointer on-hover-aliceblue"
          open-in-stag-popup
@@ -17,16 +18,24 @@
             Allergies
             <i class="fa fa-bolt text-primary ml-1"></i>
         </div>
-        @if($allergies && count($allergies))
-            @foreach($allergies as $allergy)
-                <?php $rel = $allergy->relevanceToNote($note); ?>
-                <div class="d-inline-flex align-items-baseline px-1 {{$rel ? 'bg-warning-mellow' : ''}}">
-                    <span class="mr-1">•</span>
-                    <span>{{$allergy->data->name}}</span>
-                </div>
-            @endforeach
-        @else
-            <span class="px-1 text-secondary">None</span>
+        @if($tracker && @($tracker->data->no_known_drug_allergies))
+            <div class="text-secondary mb-2"><span>No Known Drug Allergies</span></div>
+        @endif
+        @if($tracker && @($tracker->data->no_known_allergies_of_any_type))
+            <div class="text-secondary mb-2"><span>No Known Allergies of Any Type</span></div>
+        @endif
+        @if(!$tracker || !@($tracker->data->no_known_allergies_of_any_type))
+            @if($allergies && count($allergies))
+                @foreach($allergies as $allergy)
+                    <?php $rel = $allergy->relevanceToNote($note); ?>
+                    <div class="d-inline-flex align-items-baseline px-1 {{$rel ? 'bg-warning-mellow' : ''}}">
+                        <span class="mr-1">•</span>
+                        <span>{{$allergy->data->name}}</span>
+                    </div>
+                @endforeach
+            @else
+                <span class="px-1 text-secondary">None</span>
+            @endif
         @endif
     </div>
     <div id="active-medications" class="p-2 border-bottom c-pointer on-hover-aliceblue"
@@ -39,16 +48,21 @@
             Medications
             <i class="fa fa-bolt text-primary ml-1"></i>
         </div>
-        @if($medications && count($medications))
-            @foreach($medications as $medication)
-                <?php $rel = $medication->relevanceToNote($note); ?>
-                <div class="d-inline-flex align-items-baseline px-1 {{$rel ? 'bg-warning-mellow' : ''}}">
-                    <span class="mr-1">•</span>
-                    <span>{{$medication->data->name}}</span>
-                </div>
-            @endforeach
-        @else
-            <span class="px-1 text-secondary">None</span>
+        @if($tracker && @($tracker->data->no_known_medications))
+            <div class="text-secondary mb-2"><span>No Known Medications</span></div>
+        @endif
+        @if(!$tracker || !@($tracker->data->no_known_medications))
+            @if($medications && count($medications))
+                @foreach($medications as $medication)
+                    <?php $rel = $medication->relevanceToNote($note); ?>
+                    <div class="d-inline-flex align-items-baseline px-1 {{$rel ? 'bg-warning-mellow' : ''}}">
+                        <span class="mr-1">•</span>
+                        <span>{{$medication->data->name}}</span>
+                    </div>
+                @endforeach
+            @else
+                <span class="px-1 text-secondary">None</span>
+            @endif
         @endif
     </div>
     <div id="active-supplements" class="p-2 border-bottom c-pointer on-hover-aliceblue"

+ 10 - 2
resources/views/app/patient/segment-templates/intake_allergies/summary.blade.php

@@ -5,10 +5,18 @@ use App\Models\Point;
 /** @var \App\Models\Client $patient */
 
 $allergies = Point::getIntakePointsOfCategory($patient, 'ALLERGY', $note);
-
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
 $numRelevant = 0;
 ?>
 
+<?php if($tracker && @($tracker->data->no_known_drug_allergies)): ?>
+    <div class="text-secondary"><span>No Known Drug Allergies</span></div>
+<?php endif; ?>
+<?php if($tracker && @($tracker->data->no_known_allergies_of_any_type)): ?>
+    <div class="text-secondary"><span>No Known Allergies of Any Type</span></div>
+<?php endif; ?>
+
+<?php if(!$tracker || !@($tracker->data->no_known_allergies_of_any_type)): ?>
 <?php if (!count($allergies)): ?>
     <div class="text-secondary">No allergies</div>
 <?php else: ?>
@@ -54,4 +62,4 @@ $numRelevant = 0;
         </div>
     @endif
 <?php endif; ?>
-
+<?php endif; ?>

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

@@ -5,11 +5,15 @@ use App\Models\Point;
 /** @var \App\Models\Client $patient */
 
 $medications = Point::getIntakePointsOfCategory($patient, 'MEDICATION', $note);
-
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
 $numRelevant = 0;
 
 ?>
 
+<?php if($tracker && @($tracker->data->no_known_medications)): ?>
+    <div class="text-secondary"><span>No Known Medications</span></div>
+<?php endif; ?>
+
 <?php if (!count($medications)): ?>
     <div class="text-secondary">No medications</div>
 <?php else: ?>

+ 10 - 2
resources/views/app/patient/segment-templates/plan_allergies/summary.blade.php

@@ -5,11 +5,19 @@ use App\Models\Point;
 /** @var \App\Models\Client $patient */
 
 list($allergies, $counts) = Point::getPointsOfCategoryExtended($patient, 'ALLERGY', $note);
-
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
 $numRelevant = 0;
 $numVisible = 0;
 ?>
 
+<?php if($tracker && @($tracker->data->no_known_drug_allergies)): ?>
+    <div class="text-secondary"><span>No Known Drug Allergies</span></div>
+<?php endif; ?>
+<?php if($tracker && @($tracker->data->no_known_allergies_of_any_type)): ?>
+    <div class="text-secondary"><span>No Known Allergies of Any Type</span></div>
+<?php endif; ?>
+
+<?php if(!$tracker || !@($tracker->data->no_known_allergies_of_any_type)): ?>
 <?php if (!count($allergies)): ?>
     <div class="text-secondary">No allergies</div>
 <?php else: ?>
@@ -75,4 +83,4 @@ $numVisible = 0;
         </div>
     @endif
 <?php endif; ?>
-
+<?php endif; ?>

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

@@ -5,11 +5,15 @@ use App\Models\Point;
 /** @var \App\Models\Client $patient */
 
 list($medications, $counts) = Point::getPointsOfCategoryExtended($patient, 'MEDICATION', $note);
-
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
 $numRelevant = 0;
 $numVisible = 0;
 ?>
 
+<?php if($tracker && @($tracker->data->no_known_medications)): ?>
+    <div class="text-secondary"><span>No Known Medications</span></div>
+<?php endif; ?>
+
 <?php if (!count($medications)): ?>
     <div class="text-secondary">No medications</div>
 <?php else: ?>

+ 19 - 0
resources/views/app/patient/wizard-partials/common-script.blade.php

@@ -424,4 +424,23 @@ parentSegment.find('.toggle-relevance')
         return false;
     });
 
+parentSegment.find('.tracker-input')
+    .off('change.tracker-input')
+    .on('change.tracker-input', function () {
+        let trackerData = JSON.parse($.trim(parentSegment.find('.no_known_tracker').first().val()));
+        trackerData[$(this).attr('data-field-name')] = this.checked;
+        trackerData = JSON.stringify(trackerData);
+        $.post('/api/visitPoint/upsertGlobalSingleton', {
+            category: 'NO_KNOWN_TRACKER',
+            data: trackerData,
+            noteUid: '{{$note->uid}}'
+        }, _data => {
+            if(!hasResponseError(_data)) {
+                refreshDynamicStagPopup();
+                $('.visit-segment[data-segment-template-name="intake_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
+                $('.visit-segment[data-segment-template-name="plan_{{$segment_part}}"]').find('.refresh-segment').trigger('click');
+            }
+        }, 'json');
+    });
+
 initStagSuggest();