Browse Source

Dx wizard - show fdb info on dx selection

Vijayakrishnan 3 years ago
parent
commit
dfa30f958d

+ 45 - 0
resources/views/app/fdb-pg/dx-vigilance.blade.php

@@ -0,0 +1,45 @@
+<?php
+
+// info from patient chart
+$drugs = \App\Models\Point::getPointsOfCategory($patient, "MEDICATION");
+
+// filter out drugs without fdb info on them
+$drugs = $drugs->filter(function ($_drug) {
+    return @$_drug->data &&
+        $_drug->data->name &&
+        $_drug->data->medId &&
+        $_drug->data->routedMedId &&
+        $_drug->data->routedDosageFormMedId &&
+        $_drug->data->gcnSeqno;
+});
+
+// get pivot drug
+$pivotDx = json_decode(json_encode([
+    "data" => [
+        "name" => request()->input('name'),
+        "dxid" => request()->input('dxid'),
+    ]
+]));
+
+// contraindications
+// TODO: check against patient's dx
+$contraindications = contraindications_info($drugs, [$pivotDx]);
+
+?>
+
+@if(count($contraindications))
+    <div class="p-3 mb-3 mt-2 border bg-white mr-0">
+        <p class="font-weight-bold m-0 font-size-14 text-info">Contraindications</p>
+        @foreach($contraindications as $drug => $contraindication)
+            <div class="mt-3">
+                <p class="font-weight-bold mb-2">{{$drug}}</p>
+                <div class="flex-grow-1 d-inline-flex flex-wrap">
+                    @foreach($contraindication as $ci)
+                        <span class="mr-2 px-2 py-0 border bg-light mb-1 {{@$ci['flag'] ? 'text-danger border-danger' : ''}}">{{$ci['dxid_desc56']}}</span>
+                    @endforeach
+                </div>
+            </div>
+        @endforeach
+    </div>
+@endif
+

+ 15 - 4
resources/views/app/patient/problems-center.blade.php

@@ -326,7 +326,7 @@ $ccSegment = $note->getSegmentByInternalName('chief_complaint');
         </table>
 
         <div class="d-flex align-items-center">
-            <div class="mt-1 w-100 border p-2 bg-aliceblue border-info rounded">
+            <div class="mt-1 w-100 border p-3 bg-aliceblue border-info rounded">
                 <form action="/api/visitPoint/addTopLevel" class="mcp-theme-1 w-100" id="frm-add-problem">
                     <input type="hidden" name="noteUid" value="<?= $note->uid ?>">
                     <input type="hidden" name="category" value="PROBLEM">
@@ -335,10 +335,9 @@ $ccSegment = $note->getSegmentByInternalName('chief_complaint');
                     <input type="hidden" data-name="dxid">
                     <input type="hidden" data-name="icd-type">
 
-                    <p class="mb-2"><b>Add Problem</b></p>
-
                     <div class="row">
                         <div class="col-7">
+                            <p class="mb-2"><b>Add Problem</b></p>
                             <div class="row mb-2">
                                 <div class="col-8 pr-0">
                                     <label class="text-sm text-secondary mb-0">Name</label>
@@ -434,12 +433,14 @@ $ccSegment = $note->getSegmentByInternalName('chief_complaint');
 
                         </div>
                         <div class="col-5 border-left">
+                            <div class="fdb-dx-vigilance max-height-400px overflow-auto">
 
+                            </div>
                         </div>
                     </div>
 
                     <div class="d-flex align-items-center">
-                        <button type="submit" class="btn btn-sm btn-primary mr-2 my-1">Save Problem</button>
+                        <button type="submit" class="btn btn-sm btn-primary mr-2 mt-1">Save Problem</button>
                     </div>
                 </form>
             </div>
@@ -512,6 +513,16 @@ $ccSegment = $note->getSegmentByInternalName('chief_complaint');
                 .on('stag-suggest-selected', (_e, _input, _data) => {
                     $(_input).closest('form').find('input[data-name="dxid"]').val(_data.dxid);
                     let icdSelect = $(_input).closest('form').find('[data-name="icd"]').empty().prop('disabled', true);
+
+                    $('.fdb-dx-vigilance').html('<span class="text-secondary font-italic">Please wait ...</span>');
+                    $.post('/fdb-dx-vigilance/{{$patient->uid}}', {
+                        _token: '{{csrf_token()}}',
+                        dxid: _data.dxid,
+                        name: _input.val(),
+                    }, _data => {
+                        $('.fdb-dx-vigilance').html(_data);
+                    });
+
                     $.get('/fdb-dx-icds-for-dxid?dxid=' + _data.dxid, _data => {
                         icdSelect.empty().append('<option value="">-- select --</option>');
                         for (let i = 0; i < _data.length; i++) {