Samson Mutunga 1 жил өмнө
parent
commit
b8192a3eaa

+ 8 - 0
app/Models/Pro.php

@@ -849,6 +849,7 @@ WHERE
                     ->orWhere('rme_pro_id', $proID)
                     ->orWhere('physician_pro_id', $proID)
                     ->orWhere('default_na_pro_id', $proID)
+                    ->orWhere('rd_pro_id', $proID)
                     ->orWhereRaw('id IN (SELECT client_id FROM client_pro_access WHERE is_active AND pro_id = ?)', [$proID])
                     ->orWhereRaw('id IN (SELECT client_id FROM appointment WHERE status NOT IN (\'CANCELLED\') AND pro_id = ?)', [$proID])
                     ->orWhereRaw('id IN (SELECT mcp_pro_id FROM client_program WHERE client_id = client.id AND is_active = TRUE)')
@@ -1089,6 +1090,10 @@ WHERE
         // WHERE na_pro_id = :me.id
         return Client::where('default_na_pro_id', $this->id);
     }
+    private function patientsQueryAsRd(){
+        // WHERE na_pro_id = :me.id
+        return Client::where('rd_pro_id', $this->id);
+    }
 
     private function patientsAwaitingMcpVisitQueryAsDna(){
         // WHERE has_mcp_done_onboarding_visit <> 'YES'
@@ -1167,6 +1172,9 @@ WHERE
     public function patientsCountAsDna(){
         return $this->patientsQueryAsDna()->count();
     }
+    public function patientsCountAsRd(){
+        return $this->patientsQueryAsRd()->count();
+    }
     public function patientsAwaitingMcpVisitCountAsDna(){
         return $this->patientsAwaitingMcpVisitQueryAsDna()->count();
     }

+ 0 - 3
resources/views/app/ca/patients-table.blade.php

@@ -26,9 +26,6 @@
 			</td>
 			<td>
 				{{$patient->displayName()}}
-				@if($patient->default_na_pro_id != $pro->id)
-					<span class="text-danger ml-1" title="This is not your patient but you have been granted access!"><i class="fas fa-user-clock fa-fw"></i></span>
-				@endif
 			</td>
 			<td class="text-nowrap">{{ friendly_date_time($patient->dob, false) }}</td>
 			<td>{{ $patient->age_in_years ?  $patient->age_in_years : '-' }}</td>

+ 0 - 3
resources/views/app/dna/patients-table.blade.php

@@ -26,9 +26,6 @@
 			</td>
 			<td>
 				{{$patient->displayName()}}
-				@if($patient->default_na_pro_id != $pro->id)
-					<span class="text-danger ml-1" title="This is not your patient but you have been granted access!"><i class="fas fa-user-clock fa-fw"></i></span>
-				@endif
 			</td>
 			<td class="text-nowrap">{{ friendly_date_time($patient->dob, false) }}</td>
 			<td>{{ $patient->age_in_years ?  $patient->age_in_years : '-' }}</td>

+ 0 - 3
resources/views/app/mcp/patients-table.blade.php

@@ -41,9 +41,6 @@
 				</td>
 				<td>
 					{{$patient->displayName()}}
-					@if($patient->mcp_pro_id != $pro->id)
-						<span class="text-danger ml-1" title="This is not your patient but you have been granted access!"><i class="fas fa-user-clock fa-fw"></i></span>
-					@endif
 				</td>
 				<td>{{ friendly_date_time($patient->dob, false) }}</td>
 				<td>{{ $patient->age_in_years ?  $patient->age_in_years : '-' }}</td>

+ 125 - 109
resources/views/app/rd/dashboard.blade.php

@@ -1,7 +1,6 @@
 @extends ('layouts.template')
 
 @section('content')
-
     <style>
         #dashboard-mcp tr.thin th,
         #dashboard-mcp tr.thin td,
@@ -17,113 +16,130 @@
     </style>
 
     <div id="dashboard-dna">
-    <div class="p-3">
-        <div class="">
-            <div class="row mcp-theme-1" id="pro-dashboard-container">
-                <div class="col-md-3 mcp-theme-1">
-                    <div class="mb-4">
-                        <div class="pro-dashboard-inline-calendar"></div>
-                    </div>
-                    <div class="card mb-4" stag-collapsible-card="dna-key-numbers">
-                        <div class="card-header pl-2">
-                            <strong>
-                                Key Numbers
-                            </strong>
-                        </div>
-                        <div class="card-body p-0">
-                            <table class="table table-sm mb-0">
-                                <tbody>
-                                    <tr>
-                                        <th class="px-2 text-center">{{$pro->activeClientReviewRequests->count()}}<th>  
-                                        <th class="pl-2">
-                                            <a class="font-weight-normal" href="{{route('rd.client-review-requests', ['hideTitle' => true])}}" native target="_blank" open-in-stag-popup popup-style="tall" title="Charts Pending My Review">Charts Pending My Review </a>
-                                        </th>
-                                    </tr>
-                                    
-                                </tbody>
-                            </table>
+        <div class="p-3">
+            <div class="">
+                <div class="row mcp-theme-1" id="pro-dashboard-container">
+                    <div class="col-md-3 mcp-theme-1">
+                        <div class="mb-4">
+                            <div class="pro-dashboard-inline-calendar"></div>
                         </div>
-                    </div>
-                    
-                    <div class="card mb-4" stag-collapsible-card="dna-practice-management" collapsed>
-                        <div class="card-header pl-2">
-                            <strong>
-                                Practice Management
-                            </strong>
-                        </div>
-                        <div class="card-body p-0">
-                            <table class="table table-sm mb-0">
-                                <tbody>
-                                <tr class="thin">
-                                    <th colspan="2" class="font-weight-normal px-2 pl-2">Billing & Reimbursement</th>
-                                </tr>
-                                <tr class="thin">
-                                    <th class="font-weight-normal px-2 pl-4">{{friendly_date_time($performer->pro->getNextPaymentDateAsDna(), false)}}</th>
-                                    <th class="font-weight-normal pl-2">Next Payment Date</th>
-                                </tr>
-                                <tr class="thin">
-                                    <th class="font-weight-normal px-2 pl-4">
-                                        ${{friendly_money($performer->pro->balance)}}</th>
-                                    <th class="font-weight-normal pl-2 w-100"><a
-                                            href="/practice-management/financial-transactions">Current balance</a></th>
-                                </tr>
-                                <tr class="thin">
-                                    <th class="font-weight-normal px-2 pl-4">
-                                        ${{friendly_money($performer->pro->getProcessingAmountAsDna())}}</th>
-                                    <th class="font-weight-normal pl-2"><a
-                                            href="/practice-management/bills-under-processing">Processing</a></th>
-                                </tr>
-
-                               
-                                </tbody>
-                            </table>
+                        <div class="card mb-4" stag-collapsible-card="dna-key-numbers">
+                            <div class="card-header pl-2">
+                                <strong>
+                                    Key Numbers
+                                </strong>
+                            </div>
+                            <div class="card-body p-0">
+                                <table class="table table-sm mb-0">
+                                    <tbody>
+                                        <tr>
+                                            <th class="px-2 text-center">{{ $pro->patientsCountAsRd() }}
+                                            <th>
+                                            <th class="pl-2">
+                                                <a class="font-weight-normal" href="{{ route('rd.patients') }}" native
+                                                    target="_blank" open-in-stag-popup popup-style="tall"
+                                                    title="Patients ">Patients </a>
+                                            </th>
+                                        </tr>
+                                        <tr>
+                                            <th class="px-2 text-center">{{ $pro->activeClientReviewRequests->count() }}
+                                            <th>
+                                            <th class="pl-2">
+                                                <a class="font-weight-normal"
+                                                    href="{{ route('rd.client-review-requests', ['hideTitle' => true]) }}"
+                                                    native target="_blank" open-in-stag-popup popup-style="tall"
+                                                    title="Charts Pending My Review">Charts Pending My Review </a>
+                                            </th>
+                                        </tr>
+
+                                    </tbody>
+                                </table>
+                            </div>
                         </div>
-                    </div>
-                </div>
-                <div class="col-md-9">
-                    <div class="row mcp-theme-1">
-                        <div class="col-md-6 mcp-theme-1">
-                          
-
-                            <!-- ENCOUNTERS PENDING MY REVIEW -->
-                            <div class="card mb-4">
-                                <div class="card-header pl-2">
-                                    <strong>
-                                        Charts Pending My Review
-                                    </strong>
-                                </div>
-                                <div class="card-body p-0">
-                                    @include('app.rd.dashboard.client-charts-pending-my-review')
-                                </div>
+
+                        <div class="card mb-4" stag-collapsible-card="dna-practice-management" collapsed>
+                            <div class="card-header pl-2">
+                                <strong>
+                                    Practice Management
+                                </strong>
                             </div>
+                            <div class="card-body p-0">
+                                <table class="table table-sm mb-0">
+                                    <tbody>
+                                        <tr class="thin">
+                                            <th colspan="2" class="font-weight-normal px-2 pl-2">Billing & Reimbursement
+                                            </th>
+                                        </tr>
+                                        <tr class="thin">
+                                            <th class="font-weight-normal px-2 pl-4">
+                                                {{ friendly_date_time($performer->pro->getNextPaymentDateAsDna(), false) }}
+                                            </th>
+                                            <th class="font-weight-normal pl-2">Next Payment Date</th>
+                                        </tr>
+                                        <tr class="thin">
+                                            <th class="font-weight-normal px-2 pl-4">
+                                                ${{ friendly_money($performer->pro->balance) }}</th>
+                                            <th class="font-weight-normal pl-2 w-100"><a
+                                                    href="/practice-management/financial-transactions">Current balance</a>
+                                            </th>
+                                        </tr>
+                                        <tr class="thin">
+                                            <th class="font-weight-normal px-2 pl-4">
+                                                ${{ friendly_money($performer->pro->getProcessingAmountAsDna()) }}</th>
+                                            <th class="font-weight-normal pl-2"><a
+                                                    href="/practice-management/bills-under-processing">Processing</a></th>
+                                        </tr>
 
-                          
 
+                                    </tbody>
+                                </table>
+                            </div>
                         </div>
-                        <div class="col-md-6 mcp-theme-1">
-                            <div class="card mb-4">
-                                <div class="card-header pl-2">
-                                    <strong>
-                                        Messages
-                                    </strong>
+                    </div>
+                    <div class="col-md-9">
+                        <div class="row mcp-theme-1">
+                            <div class="col-md-6 mcp-theme-1">
+
+
+                                <!-- ENCOUNTERS PENDING MY REVIEW -->
+                                <div class="card mb-4">
+                                    <div class="card-header pl-2">
+                                        <strong>
+                                            Charts Pending My Review
+                                        </strong>
+                                    </div>
+                                    <div class="card-body p-0">
+                                        @include('app.rd.dashboard.client-charts-pending-my-review')
+                                    </div>
                                 </div>
-                                <div class="card-body p-0">
-                                    @include('app.dna.dashboard.messages')
+
+
+
+                            </div>
+                            <div class="col-md-6 mcp-theme-1">
+                                <div class="card mb-4">
+                                    <div class="card-header pl-2">
+                                        <strong>
+                                            Messages
+                                        </strong>
+                                    </div>
+                                    <div class="card-body p-0">
+                                        @include('app.dna.dashboard.messages')
+                                    </div>
                                 </div>
+
                             </div>
-                            
                         </div>
                     </div>
                 </div>
             </div>
         </div>
     </div>
-    </div>
 
     <div class="stag-popup stag-popup-md ticket-popup mcp-theme-1" stag-popup-key="ticket-popup"></div>
 
     <script>
-        (function () {
+        (function() {
 
             let datesWithEvents = [],
                 selectedDate = '{{ date('Y-m-d') }}',
@@ -149,7 +165,7 @@
             function onDateChange(_newDate) {
                 // ajax load appts list as markup directly from server
                 selectedDate = _newDate;
-                $.get('/pro-dashboard-events-display/' + selectedDate + '/' + selectedDate, function (_data) {
+                $.get('/pro-dashboard-events-display/' + selectedDate + '/' + selectedDate, function(_data) {
                     let apptscontainer = $('#dna-dashboard-appointments');
                     apptscontainer.html(_data);
                     initFastLoad(apptscontainer);
@@ -158,7 +174,7 @@
             }
 
             function loadEventDates(_refDate = false) {
-                let today = new Date(_refDate ? _refDate : '{{date('Y-m-d')}}'),
+                let today = new Date(_refDate ? _refDate : '{{ date('Y-m-d') }}'),
                     firstOfMonth = new Date(today.getFullYear(), today.getMonth(), 1),
                     lastOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
                 selectedDate = null;
@@ -166,15 +182,15 @@
                 $.get('/pro-dashboard-event-dates/' +
                     formatDate(firstOfMonth) + '/' +
                     formatDate(lastOfMonth), (_data) => {
-                    datesWithEvents = _data;
-                    calendarElem.datepicker('refresh');
-                    currentMonth = firstOfMonth.getMonth();
-                    currentYear = firstOfMonth.getFullYear();
-                    if (!_refDate && $('td.day[data-date="{{$milliseconds}}"]:visible').length) {
-                        $('td.day[data-date="{{$milliseconds}}"]:visible').first().click();
-                    }
-                    appointmentsLoaded = true;
-                }, 'json');
+                        datesWithEvents = _data;
+                        calendarElem.datepicker('refresh');
+                        currentMonth = firstOfMonth.getMonth();
+                        currentYear = firstOfMonth.getFullYear();
+                        if (!_refDate && $('td.day[data-date="{{ $milliseconds }}"]:visible').length) {
+                            $('td.day[data-date="{{ $milliseconds }}"]:visible').first().click();
+                        }
+                        appointmentsLoaded = true;
+                    }, 'json');
             }
 
             function getFormattedCurrentDate() {
@@ -186,19 +202,19 @@
 
             function init(_target = null) {
 
-                if(_target && _target !== '.stag-content') return;
+                if (_target && _target !== '.stag-content') return;
 
                 calendarElem = $('.pro-dashboard-inline-calendar');
                 calendarElem.datepicker({
                     dateFormat: 'yy-mm-dd',
-                    onSelect: function (_date) {
+                    onSelect: function(_date) {
                         onDateChange(_date);
                     },
-                    onChangeMonthYear: function (_year, _month) {
+                    onChangeMonthYear: function(_year, _month) {
                         let date = _year + '-' + (_month < 10 ? '0' : '') + _month + '-05';
                         loadEventDates(date);
                     },
-                    beforeShowDay: function (d) {
+                    beforeShowDay: function(d) {
                         if (datesWithEvents && datesWithEvents.indexOf(formatDate(d)) !== -1) {
                             return [true, 'has-events'];
                         }
@@ -220,7 +236,7 @@
 
                 $(document)
                     .off('click', '.ack-client-pro-change')
-                    .on('click', '.ack-client-pro-change', function () {
+                    .on('click', '.ack-client-pro-change', function() {
                         let trigger = $(this).text('…');
                         $.post('/api/clientProChange/accept', {
                             uid: $(this).attr('data-uid')
@@ -231,7 +247,7 @@
                                 doneElem.insertAfter(trigger);
                                 setTimeout(() => {
                                     let ackContainer = trigger.closest('.ack-container');
-                                    trigger.closest('div').slideUp('fast', function () {
+                                    trigger.closest('div').slideUp('fast', function() {
                                         $(this).remove();
                                         if (!ackContainer.find('>div').length) {
                                             ackContainer.remove();
@@ -245,7 +261,7 @@
 
                 $(document)
                     .off('click', '.ack-client-memo')
-                    .on('click', '.ack-client-memo', function () {
+                    .on('click', '.ack-client-memo', function() {
                         let trigger = $(this).text('…');
                         $.post('/api/clientMemo/stamp', {
                             uid: $(this).attr('data-uid')
@@ -268,7 +284,7 @@
 
                 $(document)
                     .off('click', '.ack-pro-appt-update')
-                    .on('click', '.ack-pro-appt-update', function () {
+                    .on('click', '.ack-pro-appt-update', function() {
                         let trigger = $(this).text('…');
                         $.post('/api/appointmentConfirmationDecision/acknowledgeAsAppointmentPro', {
                             uid: $(this).attr('data-uid')
@@ -279,7 +295,7 @@
                                 doneElem.insertAfter(trigger);
                                 setTimeout(() => {
                                     let ackContainer = trigger.closest('tbody');
-                                    trigger.closest('tr').slideUp('fast', function () {
+                                    trigger.closest('tr').slideUp('fast', function() {
                                         $(this).remove();
                                         if (!ackContainer.find('>tr').length) {
                                             ackContainer.remove();

+ 0 - 3
resources/views/app/rd/patients-table.blade.php

@@ -26,9 +26,6 @@
 			</td>
 			<td>
 				{{$patient->displayName()}}
-				@if($patient->rd_pro_id != $pro->id)
-					<span class="text-danger ml-1" title="This is not your patient but you have been granted access!"><i class="fas fa-user-clock fa-fw"></i></span>
-				@endif
 			</td>
 			<td class="text-nowrap">{{ friendly_date_time($patient->dob, false) }}</td>
 			<td>{{ $patient->age_in_years ?  $patient->age_in_years : '-' }}</td>

+ 5 - 3
resources/views/app/rd/patients.blade.php

@@ -12,9 +12,11 @@
         </div>
 
         <div class="card-body p-0">
-            <div class="p-3">
-                @include('app.rd.patients_filters')
-            </div>
+            @if(!request()->input('popupmode'))
+                <div class="p-3">
+                    @include('app.rd.patients_filters')
+                </div>
+            @endif
             @include('app.rd.patients-table')
         </div>
     </div>

+ 0 - 17
resources/views/layouts/patient-header.blade.php

@@ -45,23 +45,6 @@ $addressParts .= implode(", ", $addressPart2);
     }
 </style>
 <div class="px-2 pb-2 mcp-theme-1 patient-header">
-    @if($pro->pro_type !== 'ADMIN')
-        <?php
-            $showNotYourPatientAlert = false;
-            if($pro->is_hcp && $patient->mcp_pro_id != $pro->id){
-                $showNotYourPatientAlert = true;
-            }
-            if($pro->profession_mode == 'NHCP' && $patient->default_na_pro_id != $pro->id){
-                $showNotYourPatientAlert = true;
-            }
-
-            ?>
-        @if($showNotYourPatientAlert)
-        <div class="alert alert-danger p-1 rounded-0 mb-0">
-            <span class="ml-1"><i class="fas fa-user-clock fa-fw"></i> This is not your patient but you have been granted access!</span>
-        </div>
-        @endif
-    @endif
     @if($patient->is_duplicate)
         <div class="alert alert-warning p-1 mb-2 border-dark mcp-theme-1 screen-only">
             <span class="text-dark">This chart is a duplicate of&nbsp;</span>