Explorar o código

Collaboration & signing column

Vijayakrishnan %!s(int64=4) %!d(string=hai) anos
pai
achega
d36c31a2a9

+ 10 - 5
app/Http/Controllers/PatientController.php

@@ -45,32 +45,37 @@ class PatientController extends Controller
 
     public function actionItemsErx(Request $request, Client $patient, $filter = 'open')
     {
+        $allPros = Pro::all();
         $facilities = Facility::where('is_active', true)->get();
-        return view('app.patient.action-items-erx', compact('patient', 'facilities', 'filter'));
+        return view('app.patient.action-items-erx', compact('patient', 'facilities', 'filter', 'allPros'));
     }
 
     public function actionItemsLab(Request $request, Client $patient, $filter = 'open')
     {
+        $allPros = Pro::all();
         $facilities = Facility::where('is_active', true)->get();
-        return view('app.patient.action-items-lab', compact('patient', 'facilities', 'filter'));
+        return view('app.patient.action-items-lab', compact('patient', 'facilities', 'filter', 'allPros'));
     }
 
     public function actionItemsImaging(Request $request, Client $patient, $filter = 'open')
     {
+        $allPros = Pro::all();
         $facilities = Facility::where('is_active', true)->get();
-        return view('app.patient.action-items-imaging', compact('patient', 'facilities', 'filter'));
+        return view('app.patient.action-items-imaging', compact('patient', 'facilities', 'filter', 'allPros'));
     }
 
     public function actionItemsEquipment(Request $request, Client $patient, $filter = 'open')
     {
+        $allPros = Pro::all();
         $facilities = Facility::where('is_active', true)->get();
-        return view('app.patient.action-items-equipment', compact('patient', 'facilities', 'filter'));
+        return view('app.patient.action-items-equipment', compact('patient', 'facilities', 'filter', 'allPros'));
     }
 
     public function actionItemsOther(Request $request, Client $patient, $filter = 'open')
     {
+        $allPros = Pro::all();
         $facilities = Facility::where('is_active', true)->get();
-        return view('app.patient.action-items-other', compact('patient', 'facilities', 'filter'));
+        return view('app.patient.action-items-other', compact('patient', 'facilities', 'filter', 'allPros'));
     }
 
     public function intake(Request $request, Client $patient )

+ 7 - 1
resources/views/app/patient/partials/equipment.blade.php

@@ -16,6 +16,7 @@
             <th class="px-2 text-secondary border-bottom-0 width-30px">#</th>
             <th class="px-2 text-secondary border-bottom-0">Equipment</th>
             <th class="px-2 text-secondary border-bottom-0">Memo</th>
+            <th class="px-2 text-secondary border-bottom-0 width-200px">Collaboration</th>
         </tr>
         </thead>
         <tbody>
@@ -35,6 +36,7 @@
                     </div>
                 </td>
                 <td class="px-2">@{{item.memo}}</td>
+                @include('app.patient.partials.ticket_vue_collab_column')
                 {{--<td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('equipment-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
@@ -103,10 +105,14 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->assigned_pro_id = $ticket->assigned_pro_id;
+            $item->manager_pro_id = $ticket->manager_pro_id;
+            $item->ordering_pro_id = $ticket->ordering_pro_id;
+            $item->initiating_pro_id = $ticket->initiating_pro_id;
             $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
-            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
             $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }

+ 10 - 6
resources/views/app/patient/partials/erx.blade.php

@@ -16,6 +16,7 @@
             <th class="px-2 text-secondary border-bottom-0 width-30px">#</th>
             <th class="px-2 text-secondary border-bottom-0">Medication</th>
             <th class="px-2 text-secondary border-bottom-0 width-200px">Pharmacy</th>
+            <th class="px-2 text-secondary border-bottom-0 width-200px">Collaboration</th>
         </tr>
         </thead>
         <tbody>
@@ -41,11 +42,9 @@
                             <span>@{{item.frequency}}</span>
                         </span>
                         <span class="d-inline-flex align-items-center" v-if="item.dispense">
-                            <span>
-                                <span class="mx-2 text-secondary">•</span>
-                                <span>Dispense:</span> @{{item.dispense}}
-                                <span class="text-secondary ml-1" v-html="inWords(item.dispense)"></span>
-                            </span>
+                            <span class="mx-2 text-secondary">•</span>
+                            <span>Dispense:</span> @{{item.dispense}}
+                            <span class="text-secondary ml-1" v-html="inWords(item.dispense)"></span>
                         </span>
                         <span class="d-inline-flex align-items-center" v-if="item.refills">
                             <span class="mx-2 text-secondary">•</span>
@@ -58,6 +57,7 @@
                     </div>
                 </td>
                 <td class="px-2">@{{item.pharmacy ? item.pharmacy : '-'}}</td>
+                @include('app.patient.partials.ticket_vue_collab_column')
                 {{--<td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('erx-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
@@ -200,10 +200,14 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->assigned_pro_id = $ticket->assigned_pro_id;
+            $item->manager_pro_id = $ticket->manager_pro_id;
+            $item->ordering_pro_id = $ticket->ordering_pro_id;
+            $item->initiating_pro_id = $ticket->initiating_pro_id;
             $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
-            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
             $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }

+ 7 - 1
resources/views/app/patient/partials/imaging.blade.php

@@ -16,6 +16,7 @@
             <th class="px-2 text-secondary border-bottom-0 width-30px">#</th>
             <th class="px-2 text-secondary border-bottom-0">Tests</th>
             <th class="px-2 text-secondary border-bottom-0">Memo</th>
+            <th class="px-2 text-secondary border-bottom-0 width-200px">Collaboration</th>
         </tr>
         </thead>
         <tbody>
@@ -35,6 +36,7 @@
                 </div>
             </td>
             <td class="px-2">@{{item.memo ? item.memo : '-'}}</td>
+            @include('app.patient.partials.ticket_vue_collab_column')
             {{--<td class="px-2">
                 <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('imaging-popup', item)">Edit</a>
                 <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
@@ -119,10 +121,14 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->assigned_pro_id = $ticket->assigned_pro_id;
+            $item->manager_pro_id = $ticket->manager_pro_id;
+            $item->ordering_pro_id = $ticket->ordering_pro_id;
+            $item->initiating_pro_id = $ticket->initiating_pro_id;
             $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
-            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
             $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }

+ 7 - 1
resources/views/app/patient/partials/lab.blade.php

@@ -16,6 +16,7 @@
             <th class="px-2 text-secondary border-bottom-0 width-30px">#</th>
             <th class="px-2 text-secondary border-bottom-0">Tests</th>
             <th class="px-2 text-secondary border-bottom-0">Memo</th>
+            <th class="px-2 text-secondary border-bottom-0 width-200px">Collaboration</th>
         </tr>
         </thead>
         <tbody>
@@ -35,6 +36,7 @@
                     </div>
                 </td>
                 <td class="px-2">@{{item.memo ? item.memo : '-'}}</td>
+                @include('app.patient.partials.ticket_vue_collab_column')
                 {{--<td class="px-2">
                     <a class="mr-2 c-pointer" v-on:click.prevent="showPopup('lab-popup', item)">Edit</a>
                     <a class="mr-2 c-pointer" v-if="item.is_open" v-on:click.prevent="closeItem(item)">Close</a>
@@ -123,10 +125,14 @@
             $item = json_decode($ticket->data);
             $item->uid = $ticket->uid;
             $item->is_open = $ticket->is_open;
+            $item->assigned_pro_id = $ticket->assigned_pro_id;
+            $item->manager_pro_id = $ticket->manager_pro_id;
+            $item->ordering_pro_id = $ticket->ordering_pro_id;
+            $item->initiating_pro_id = $ticket->initiating_pro_id;
             $item->has_assigned_pro_signed = $ticket->has_assigned_pro_signed;
-            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->has_manager_pro_signed = $ticket->has_manager_pro_signed;
             $item->has_ordering_pro_signed = $ticket->has_ordering_pro_signed;
+            $item->has_initiating_pro_signed = $ticket->has_initiating_pro_signed;
             $item->is_entry_error = $ticket->is_entry_error;
             $items[] = $item;
         }

+ 37 - 0
resources/views/app/patient/partials/ticket_vue_collab_column.blade.php

@@ -0,0 +1,37 @@
+<td class="px-2">
+    <span class="d-inline-flex align-items-center" v-if="item.assigned_pro_id">
+        <span class="mr-2 text-secondary">•</span>
+        <span class="text-nowrap">
+            <span class="text-secondary">Assigned:</span>
+            <b>@{{proNameFromId(item.assigned_pro_id)}}</b>
+            <span v-html="item.has_assigned_pro_signed ? '(signed)' : ''"></span>
+        </span>
+    </span>
+    <br>
+    <span class="d-inline-flex align-items-center" v-if="item.manager_pro_id">
+        <span class="mr-2 text-secondary">•</span>
+        <span class="text-nowrap">
+            <span class="text-secondary">Manager:</span>
+            <b>@{{proNameFromId(item.manager_pro_id)}}</b>
+            <span v-html="item.has_manager_pro_signed ? '(signed)' : ''"></span>
+        </span>
+    </span>
+    <br>
+    <span class="d-inline-flex align-items-center" v-if="item.initiating_pro_id">
+        <span class="mr-2 text-secondary">•</span>
+        <span class="text-nowrap">
+            <span class="text-secondary">Initiating:</span>
+            <b>@{{proNameFromId(item.initiating_pro_id)}}</b>
+            <span v-html="item.has_ordering_pro_signed ? '(signed)' : ''"></span>
+        </span>
+    </span>
+    <br>
+    <span class="d-inline-flex align-items-center" v-if="item.ordering_pro_id">
+        <span class="mr-2 text-secondary">•</span>
+        <span class="text-nowrap">
+            <span class="text-secondary">Ordering:</span>
+            <b>@{{proNameFromId(item.ordering_pro_id)}}</b>
+            <span v-html="item.has_initiating_pro_signed ? '(signed)' : ''"></span>
+        </span>
+    </span>
+</td>

+ 2 - 1
resources/views/app/patient/partials/ticket_vue_data.blade.php

@@ -1,3 +1,4 @@
+allPros: {!! json_encode($allPros) !!},
 proToUpdate: '',
 proTypes: ['Assigned', 'Manager', 'Initiating', 'Ordering'],
-newProUid:''
+newProUid:''

+ 23 - 12
resources/views/app/patient/partials/ticket_vue_methods.blade.php

@@ -1,3 +1,14 @@
+proNameFromId: function(_id) {
+    let matched = this.allPros.filter(_pro => {
+        return _pro.id === _id;
+    });
+    if(matched && matched.length) {
+        matched = matched[0];
+        return [matched.name_last, matched.name_first].filter(Boolean).join(', ');
+    }
+    return '-';
+},
+
 showProUpdatePopup: function(_name, _proToUpdate, _item) {
     closeStagPopup();
     this.proToUpdate = _proToUpdate
@@ -19,7 +30,7 @@ updateTicketPro: function() {
     showMask();
     let payload = this.popupItem;
     payload.newProUid = self.newProUid;
-    
+
     $.post(
         '/api/ticket/update' + self.proToUpdate +'Pro',
         payload,
@@ -39,7 +50,7 @@ setIsEntryErrorToTrue: function(_item){
     $.post('/api/ticket/setIsEntryErrorToTrue', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     });
 },
 
@@ -48,7 +59,7 @@ setIsEntryErrorToFalse: function(_item){
     $.post('/api/ticket/setIsEntryErrorToFalse', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -57,7 +68,7 @@ signAsAssignedPro: function(_item){
     $.post('/api/ticket/signAsAssignedPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -66,7 +77,7 @@ undoSignAsAssignedPro: function(_item){
     $.post('/api/ticket/undoSignAsAssignedPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -75,7 +86,7 @@ signAsManagerPro: function(_item){
     $.post('/api/ticket/signAsManagerPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -84,7 +95,7 @@ undoSignAsManagerPro: function(_item){
     $.post('/api/ticket/undoSignAsManagerPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -93,7 +104,7 @@ signAsOrderingPro: function(_item){
     $.post('/api/ticket/signAsOrderingPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -102,7 +113,7 @@ undoSignAsOrderingPro: function(_item){
     $.post('/api/ticket/undoSignAsOrderingPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -111,7 +122,7 @@ signAsInitiatingPro: function(_item){
     $.post('/api/ticket/signAsInitiatingPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
 },
 
@@ -120,6 +131,6 @@ undoSignAsInitiatingPro: function(_item){
     $.post('/api/ticket/undoSignAsInitiatingPro', {
         uid:_item.uid
     }, function(_data){
-        fastReload();     
+        fastReload();
     })
-}
+}

+ 2 - 2
resources/views/layouts/patient.blade.php

@@ -69,10 +69,10 @@
                                         <a class="nav-link {{ strpos($routeName, 'patients.view.action-items-equipment') === 0 ? 'active' : '' }}"
                                            href="{{ route('patients.view.action-items-equipment', ['patient' => $patient]) }}">Equipment</a>
                                     </li>
-                                    <li class="nav-item">
+                                    {{--<li class="nav-item">
                                         <a class="nav-link {{ strpos($routeName, 'patients.view.action-items-other') === 0 ? 'active' : '' }}"
                                            href="{{ route('patients.view.action-items-other', ['patient' => $patient]) }}">Other</a>
-                                    </li>
+                                    </li>--}}
                                 </ul>
                             </li>
                         <li class="nav-item">