Răsfoiți Sursa

Merge branch 'master' of rav.triplestart.com:jmudaka/stagfe2

= 3 ani în urmă
părinte
comite
a03bab45c6

+ 2 - 2
app/Helpers/helpers.php

@@ -14,12 +14,12 @@ use App\Models\Bill;
 use Soundasleep\Html2Text as Html2Text;
 
 if(!function_exists('toFeetAndInches')) {
-    function toFeetAndInches($value) {
+    function toFeetAndInches($value, $ftLabel = ' ft.', $inLabel = ' in.') {
         if(!$value) return '-';
         $value = round($value);
         $ft = round(floor($value / 12));
         $in = $value % 12;
-        return "$ft ft. $in in.";
+        return "$ft$ftLabel $in$inLabel";
     }
 }
 

+ 7 - 3
app/Http/Controllers/PracticeManagementController.php

@@ -805,8 +805,6 @@ class PracticeManagementController extends Controller
 
         $filters = $request->all();
 
-        $name = $request->get('name');
-        $wildCardedName = '%'.$name.'%';
         $from_date = $request->get('from_date');
         if(!$from_date) {
             $from_date = '2010-01-01';
@@ -833,7 +831,13 @@ class PracticeManagementController extends Controller
             (SELECT note.created_at FROM note WHERE note.hcp_pro_id = pro.id AND note.is_cancelled = false ORDER BY note.created_at DESC LIMIT 1) as last_note_created_at,
             (SELECT COUNT(*) FROM note WHERE note.hcp_pro_id = pro.id AND note.is_cancelled = false AND created_at::DATE >= '${startOfCurrentMonth}'::DATE AND created_at::DATE <= '${endOfCurrentMonth}'::DATE ) AS notes_this_month,
             (SELECT COUNT(*) FROM note WHERE note.hcp_pro_id = pro.id AND note.is_cancelled = false AND created_at >= '${from_date}'::DATE AND created_at <= '${to_date}'::DATE  ) AS notes_this_period");
-        $rows = $rows->where('name_first', 'ilike', $wildCardedName)->orWhere('name_last', 'ilike', $wildCardedName);
+
+        $prosIDs = $request->get('pros_ids');
+        if($prosIDs){
+            $pros = 
+            $rows = $rows->whereIn('pro.id', $prosIDs);
+        }
+
         $rows = $rows->orderBy('name_first');
         $rows = $rows->paginate(50);
 

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 34,
+    'asset_version' => 35,
 
     'temp_dir' => env('TEMP_DIR'),
 

+ 12 - 8
public/js/stag-scrollbar.js

@@ -10,7 +10,7 @@
                 'stag-h-scroll-width': scrollWidth,
                 'stag-h-width': width,
             });
-            if($container.offset().top + $container.outerHeight() > $(window).height() + $(window).scrollTop()) {
+            if($container.offset().top + $container.outerHeight() > $(window).height() + $(window).scrollTop() - _bottomThreshold) {
                 stagScrollbarUI.css({
                     display: 'block',
                     left: ($container.offset().left + 4) + 'px',
@@ -82,14 +82,18 @@
                 .off('mousemove.' + scrollbarID)
                 .on('mousemove.' + scrollbarID, function (_e) {
                     if (!scrolling) return;
-                    let delta = _e.screenX - origX;
-                    if((origLeft + delta) >= 0 && (origLeft + delta + tracker.width()) <= stagScrollbarUI.width()) {
-                        tracker.css({
-                            marginLeft: (origLeft + delta) + 'px'
-                        });
-                        let percentScrolled = delta/(stagScrollbarUI.width() - tracker.width());
-                        $(self).scrollLeft((self.scrollWidth - $(self).width()) * percentScrolled);
+                    let delta = _e.screenX - origX, finalML = origLeft + delta;
+                    if(finalML < 0) {
+                        finalML = 0;
                     }
+                    else if(finalML + tracker.width() > stagScrollbarUI.width()) {
+                        finalML = stagScrollbarUI.width() - tracker.width();
+                    }
+                    tracker.css({
+                        marginLeft: finalML + 'px'
+                    });
+                    let percentScrolled = delta/(stagScrollbarUI.width() - tracker.width());
+                    $(self).scrollLeft((self.scrollWidth - $(self).width()) * percentScrolled);
                 })
                 .off('mouseup.' + scrollbarID)
                 .on('mouseup.' + scrollbarID, function (_e) {

+ 1 - 1
resources/views/app/dna/dashboard/supply_orders_pending_my_ack.blade.php

@@ -55,7 +55,7 @@ $supplyOrdersPendingMyAck = $performer->pro->supplyOrdersPendingMyAckRecordsAsDn
 
                     @if(count($supplyOrdersPendingMyAck) === 0)
                     <tr>
-                        <td colspan="6">No records found!</td>
+                        <td colspan="7">No records found!</td>
                     </tr>
                     @endif
                 </tbody>

+ 17 - 11
resources/views/app/patient/note/dashboard.blade.php

@@ -306,7 +306,7 @@
                     @if(!$note->is_signed_by_hcp || $pro->pro_type === 'ADMIN')
                         <div moe class="ml-auto">
                             <a href="" show start><i class="fa fa-edit"></i></a>
-                            <form url="/api/note/updateMethod">
+                            <form url="/api/note/updateMethod" {!! $isVisitTemplateBased && $note->visitTemplate->internal_name === 'soap_visit' ? 'hook="onNoteMethodUpdate"' : '' !!}>
                                 <input type="hidden" name="uid" value="{{$note->uid}}">
                                 <div class="mb-2">
                                     <select name="method" class="form-control form-control-sm note-method-select" required>
@@ -2747,15 +2747,21 @@
             addMCInitializer('note-tree', init, '#note-lhs-tree');
         })();
     </script>
-    <script>
-        (function() {
-            function init() {
-                initVSplitter('stag-note', $('.note-left-panel'), $('.note-right-panel'));
-                initStagScrollbar(34);
-            }
-            addMCInitializer('note-splitter', init, '#note-single-header');
-        })();
-    </script>
+        @if($isVisitTemplateBased && $note->visitTemplate->internal_name === 'soap_visit')
+        <script>
+            (function() {
+                function init() {
+                    initVSplitter('stag-note', $('.note-left-panel'), $('.note-right-panel'));
+                    initStagScrollbar(34);
+                    addMCHook('onNoteMethodUpdate', function() {
+                        $('.visit-segment[data-segment-template-name="disclaimers"]').find('.refresh-segment').trigger('click');
+                        fastReload();
+                    });
+                }
+                addMCInitializer('soap-visit', init, '#note-single-header');
+            })();
+        </script>
+        @endif
     @endif
 @endsection
 @if(!$isVisitTemplateBased)
@@ -2797,7 +2803,7 @@
             </div>
         </div>
     </div>
-                <script>
+    <script>
         (function() {
             function initSectionsWidget() {
                 var allSections = <?= json_encode($allSections) ?>;

+ 33 - 21
resources/views/app/patient/segment-templates/vitals/summary.blade.php

@@ -49,44 +49,56 @@ if(!$contentData) {
 ?>
 
 {{--<div class="mb-2">Effective Date: <b>{{friendly_date($contentData['date'])}}</b></div>--}}
+<div class="d-flex flex-wrap">
 @foreach ($vitalLabels as $k => $v)
     @if($k !== 'diastolicBP')
-        <div class="d-inline-flex vital-item align-items-center mr-4 mb-1">
+        <div class="d-inline-flex vital-item align-items-center mr-3 mb-1">
             <span class="content-html text-nowrap">
                 <?php $vital = @$contentData[$k]; ?>
-                    @if($k === 'systolicBP')
-                        <span>Blood Pressure:</span>
-                        <b>{{ @$contentData['systolicBP'] ?: '-' }}/{{ @$contentData['diastolicBP'] ?: '-' }}</b>
-                    @elseif($k === 'diastolicBP')
-                        <!--ignore-->
-                    @elseif($k === 'heightInInches')
-                        <span>Height:</span>
-                        <b>{{ !empty($vital) ? toFeetAndInches($vital) : '-' }}</b>
-                    @else
-                        <span>{{$v}}:</span>
-                        <b>{{ !empty($vital) ? $vital : '-' }}</b>
-                    @endif
+                @if($k === 'systolicBP')
+                    <span>BP:</span>
+                    <b>{{ @$contentData['systolicBP'] ?: '-' }}/{{ @$contentData['diastolicBP'] ?: '-' }}</b>
+                @elseif($k === 'diastolicBP')
+                    <!--ignore-->
+                @elseif($k === 'heightInInches')
+                    <span>Ht:</span>
+                    <b>{{ !empty($vital) ? toFeetAndInches($vital, "'", '"') : '-' }}</b>
+                @elseif($k === 'weightPounds')
+                    <span>Wt:</span>
+                    <b>{{ !empty($vital) ? $vital : '-' }}</b>
+                @elseif($k === 'bmi')
+                    <span>BMI:</span>
+                    <b>{{ !empty($vital) ? $vital : '-' }}</b>
+                @elseif($k === 'temperatureF')
+                    <span>Temp:</span>
+                    <b>{{ !empty($vital) ? $vital : '-' }}</b>
+                @elseif($k === 'smokingStatus')
+                    <span>Smoking:</span>
+                    <b>{{ !empty($vital) ? $vital : '-' }}</b>
+                @else
+                    <span>{{$v}}:</span>
+                    <b>{{ !empty($vital) ? $vital : '-' }}</b>
+                @endif
                 @if($k === 'bmi' && !empty($vital))
                     <?php $bmi = floatval($vital); ?>
-                    <span class="ml-2 py-1 m-0 font-weight-bold">
+                    <span class="ml-1 py-1 m-0">
                          @if($bmi < 18.5)
-                            <span class="text-sm text-warning-mellow">(Underweight)</span>
+                            <span class="text-warning-mellow">(Underweight)</span>
                          @endif
                         @if($bmi >= 18.5 && $bmi < 25)
-                            <span class="text-sm text-success">(Healthy Weight)</span>
+                            <span class="text-success">(Healthy Weight)</span>
                         @endif
                         @if($bmi >= 25 && $bmi < 30)
-                            <span class="text-sm text-warning-mellow">(Overweight)</span>
+                            <span class="text-warning-mellow">(Overweight)</span>
                         @endif
                         @if($bmi >= 30)
-                            <span class="text-sm text-warning-mellow">(Obese)</span>
+                            <span class="text-warning-mellow">(Obese)</span>
                         @endif
                     </span>
                 @endif
             </span>
         </div>
-        @if(in_array($k, ['weightPounds', 'bmi', 'temperatureF', 'respirationRatePerMinute']))<br>@endif
+        @if(in_array($k, ['bmi', 'temperatureF', 'respirationRatePerMinute']))<br>@endif
     @endif
 @endforeach
-
-
+</div>

+ 43 - 7
resources/views/app/practice-management/hcp-note-activity.blade.php

@@ -1,7 +1,8 @@
 @extends ('layouts/template')
 
 @section('content')
-
+<link href="/select2/select2.min.css" rel="stylesheet" />
+<script src="/select2/select2.min.js"></script>
 <style>
     #hcp-note-activity-filters label {
         font-weight: bold;
@@ -42,11 +43,17 @@
         <div class="card-body p-0 border-0 table-responsive">
             <div class="m-2">
             
-            <form id="hcp-note-activity-filters" method="GET" action="{{ route('practice-management.hcp-note-activity') }}" class="filter-container" v-cloak>
-                <div class="sm-section">
+            <form id="hcp-note-activity-filters" method="GET" action="{{ route('practice-management.hcp-note-activity') }}" class="filter-container" v-cloak>                
+                <div class="sm-section" style="width: 250px !important;">
                     <div class="form-group">
-                        <label>Name:</label>
-                        <input name="name" class="form-control input-sm" v-model="filters.name">
+                        <label>Pros:</label>
+                        <select id="searchForProInput" multiple name="pros_ids[]" class="form-control input-sm" v-model="filters.pros_ids">
+                            @if(@$filters['pros_ids'])
+                                @foreach($rows as $p)
+                                    <option value="{{ $p->id }}" selected>{{$p->name_first}} {{$p->name_last}}</option>
+                                @endforeach
+                            @endif
+                        </select>
                     </div>
                 </div>
                
@@ -111,7 +118,7 @@
 <?php
 $loadedFilters = $filters;
 $allFilterKeys = [
-	'name',
+	'pros_ids',
 	'from_date',
 	'to_date'
 ];
@@ -131,8 +138,37 @@ for ($i = 0; $i < count($allFilterKeys); $i++) {
 					filters: <?= json_encode($loadedFilters) ?>
 				},
 				methods: {
+                    initSelect2: function(){
+                        var select2 = $("#searchForProInput").select2({
+                            placeholder: "Search Pro(s) by Name",
+                            minimumInputLength: 2,
+                            ajax: {
+                                url: '/pro-suggest',
+                                dataType: 'json',
+                                type: "GET",
+                                quietMillis: 50,
+                                data: function (params) {
+                                    return {
+                                        term: params.term,
+                                        json: true
+                                    };
+                                },
+                                results: function (data) {
+                                    return {
+                                        results: $.map(data, function (item) {
+                                            return {
+                                                text: item.completeName,
+                                                slug: item.slug,
+                                                id: item.id
+                                            }
+                                        })
+                                    };
+                                }
+                            }
+                        });
+                    },
 					init: function() {
-
+                        this.initSelect2();
 					},
 					doSubmit: function() {
 						fastLoad('{{ route("practice-management.hcp-note-activity") }}?' + $('#hcp-note-activity-filters').serialize());