Bladeren bron

finished markup for dna dashboard

Josh 3 jaren geleden
bovenliggende
commit
735a15b869

+ 118 - 0
resources/views/app/dna/dashboard/appointments_pending_confirmation.blade.php

@@ -0,0 +1,118 @@
+@php 
+    $appointmentPendingConfirmation = $performer->pro->appointmentsPendingConfirmationRecordsAsDna();
+@endphp 
+<div class="card">
+    <div class="card-body p-0">
+        @if(@$appointmentPendingConfirmation && count($appointmentPendingConfirmation))
+            <table class="mb-0 table table-sm appointments border-top-0">
+                @foreach($appointmentPendingConfirmation as $appointment)
+                    <tr class="{{$appointment->bgColor}}">
+                        <td>
+                            <a href="/patients/view/{{$appointment->clientUid}}" class="font-weight-bold d-block">
+                                {{$appointment->client->name_first }} {{$appointment->client->name_last }}
+                            </a>
+                            <div class="mt-1">
+                                <a href="/patients/view/{{$appointment->clientUid}}/calendar/{{$appointment->uid}}">
+                                    {{ friendly_date_time($appointment->start_time) }} - {{ friendly_date_time($appointment->end_time) }}</a>
+                                <span class="text-secondary">{{ friendly_timezone($appointment->timezone) }}</span>
+                            </div>
+                            @if($appointment->title)
+                                <span class="d-inline-block mt-1 text-secondary text-sm">
+                            {{ $appointment->title }}
+                        </span>
+                            @endif
+                        </td>
+                        <td>
+                            <div class="d-flex flex-column">
+                                <div class="d-flex align-items-baseline flex-nowrap">
+                                    @if($appointment->status === 'PENDING')
+                                        <div class="text-warning-mellow font-weight-bold text-nowrap">
+                                            <i class="fa fa-exclamation-triangle"></i>
+                                            Pending
+                                        </div>
+                                    @elseif($appointment->status === 'CONFIRMED')
+                                        <div class="text-success font-weight-bold text-nowrap">
+                                            <i class="fa fa-check"></i>
+                                            Confirmed
+                                        </div>
+                                    @elseif($appointment->status === 'CANCELLED')
+                                        <div class="text-danger font-weight-bold text-nowrap">
+                                            <i class="fa fa-stop"></i>
+                                            Cancelled
+                                        </div>
+                                    @elseif($appointment->status === 'COMPLETED')
+                                        <div class="text-success font-weight-bold text-nowrap">
+                                            <i class="far fa-calendar-check"></i>
+                                            Completed
+                                        </div>
+                                    @endif
+                                    <div class="ml-2" moe relative center>
+                                        <a href="#" start show><i class="fa fa-edit"></i></a>
+                                        <form url="/api/appointment/updateStatus" hook="refreshDashboardAppointments" center>
+                                            <input type="hidden" name="uid" value="{{$appointment->uid}}">
+                                            <p class="text-nowrap mb-3 font-weight-bold text-secondary">Change appointment status</p>
+                                            <div class="mb-3 border bg-light p-2">
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Patient</span>
+                                                    <b>{{$appointment->clientName }}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Pro</span>
+                                                    <b>{{$appointment->proName}}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Date</span>
+                                                    <b>{{friendly_date($appointment->raw_date)}}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Time</span>
+                                                    <span>
+                                                        <b>{{ $appointment->friendlyStartTime }}</b> - <b>{{ $appointment->friendlyEndTime }}</b>
+                                                        <span class="text-secondary">{{ friendly_timezone($appointment->timezone) }}</span>
+                                                    </span>
+                                                </div>
+                                                <div class="d-flex align-items-baseline ">
+                                                    <span class="width-70px">Status</span>
+                                                    <b>{{ucwords(strtolower($appointment->status))}}</b>
+                                                </div>
+                                            </div>
+                                            <label for="" class="mb-2">New Status</label>
+                                            <select name="status" class="form-control form-control-sm input-sm bg-light mb-2">
+                                                <option value="PENDING" {{$appointment->status === 'PENDING' ? 'selected' : ''}}>PENDING</option>
+                                                <option value="CONFIRMED" {{$appointment->status === 'CONFIRMED' ? 'selected' : ''}}>CONFIRMED</option>
+                                                <option value="CANCELLED" {{$appointment->status === 'CANCELLED' ? 'selected' : ''}}>CANCELLED</option>
+                                                <option value="COMPLETED" {{$appointment->status === 'COMPLETED' ? 'selected' : ''}}>COMPLETED</option>
+                                            </select>
+                                            <div class="mb-0">
+                                                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                            </div>
+                                        </form>
+                                    </div>
+                                </div>
+                                
+                            </div>
+                        </td>
+                        <td>
+                            <div>
+                                @if($appointment->coverage === 'YES')
+                                    <b class="text-success">Covered</b>
+                                @elseif($appointment->coverage === 'NO')
+                                    <b class="text-danger">Not Covered</b>
+                                @else
+                                    <b v-else class="text-warning-mellow">Pending</b>
+                                @endif
+                            </div>
+                        </td>
+                    </tr>
+                @endforeach
+            </table>
+        @else
+            <div class="bg-light p-3 text-secondary">
+                <span>You have no appointments pending confirmation.</span>
+            </div>
+            
+        @endif
+    </div>
+</div>
+

+ 118 - 0
resources/views/app/dna/dashboard/cancelled_appointments_pending_ack.blade.php

@@ -0,0 +1,118 @@
+@php 
+    $cancelledApptsPendingAck = $performer->pro->cancelledAppointmentsPendingAckRecordsAsDna();
+@endphp 
+<div class="card">
+    <div class="card-body p-0">
+        @if(@$cancelledApptsPendingAck && count($cancelledApptsPendingAck))
+            <table class="mb-0 table table-sm appointments border-top-0">
+                @foreach($cancelledApptsPendingAck as $appointment)
+                    <tr class="{{$appointment->bgColor}}">
+                        <td>
+                            <a href="/patients/view/{{$appointment->clientUid}}" class="font-weight-bold d-block">
+                                {{$appointment->client->name_first }} {{$appointment->client->name_last }}
+                            </a>
+                            <div class="mt-1">
+                                <a href="/patients/view/{{$appointment->clientUid}}/calendar/{{$appointment->uid}}">
+                                    {{ friendly_date_time($appointment->start_time) }} - {{ friendly_date_time($appointment->end_time) }}</a>
+                                <span class="text-secondary">{{ friendly_timezone($appointment->timezone) }}</span>
+                            </div>
+                            @if($appointment->title)
+                                <span class="d-inline-block mt-1 text-secondary text-sm">
+                            {{ $appointment->title }}
+                        </span>
+                            @endif
+                        </td>
+                        <td>
+                            <div class="d-flex flex-column">
+                                <div class="d-flex align-items-baseline flex-nowrap">
+                                    @if($appointment->status === 'PENDING')
+                                        <div class="text-warning-mellow font-weight-bold text-nowrap">
+                                            <i class="fa fa-exclamation-triangle"></i>
+                                            Pending
+                                        </div>
+                                    @elseif($appointment->status === 'CONFIRMED')
+                                        <div class="text-success font-weight-bold text-nowrap">
+                                            <i class="fa fa-check"></i>
+                                            Confirmed
+                                        </div>
+                                    @elseif($appointment->status === 'CANCELLED')
+                                        <div class="text-danger font-weight-bold text-nowrap">
+                                            <i class="fa fa-stop"></i>
+                                            Cancelled
+                                        </div>
+                                    @elseif($appointment->status === 'COMPLETED')
+                                        <div class="text-success font-weight-bold text-nowrap">
+                                            <i class="far fa-calendar-check"></i>
+                                            Completed
+                                        </div>
+                                    @endif
+                                    <div class="ml-2" moe relative center>
+                                        <a href="#" start show><i class="fa fa-edit"></i></a>
+                                        <form url="/api/appointment/updateStatus" hook="refreshDashboardAppointments" center>
+                                            <input type="hidden" name="uid" value="{{$appointment->uid}}">
+                                            <p class="text-nowrap mb-3 font-weight-bold text-secondary">Change appointment status</p>
+                                            <div class="mb-3 border bg-light p-2">
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Patient</span>
+                                                    <b>{{$appointment->clientName }}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Pro</span>
+                                                    <b>{{$appointment->proName}}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Date</span>
+                                                    <b>{{friendly_date($appointment->raw_date)}}</b>
+                                                </div>
+                                                <div class="d-flex align-items-baseline mb-1">
+                                                    <span class="width-70px">Time</span>
+                                                    <span>
+                                                        <b>{{ $appointment->friendlyStartTime }}</b> - <b>{{ $appointment->friendlyEndTime }}</b>
+                                                        <span class="text-secondary">{{ friendly_timezone($appointment->timezone) }}</span>
+                                                    </span>
+                                                </div>
+                                                <div class="d-flex align-items-baseline ">
+                                                    <span class="width-70px">Status</span>
+                                                    <b>{{ucwords(strtolower($appointment->status))}}</b>
+                                                </div>
+                                            </div>
+                                            <label for="" class="mb-2">New Status</label>
+                                            <select name="status" class="form-control form-control-sm input-sm bg-light mb-2">
+                                                <option value="PENDING" {{$appointment->status === 'PENDING' ? 'selected' : ''}}>PENDING</option>
+                                                <option value="CONFIRMED" {{$appointment->status === 'CONFIRMED' ? 'selected' : ''}}>CONFIRMED</option>
+                                                <option value="CANCELLED" {{$appointment->status === 'CANCELLED' ? 'selected' : ''}}>CANCELLED</option>
+                                                <option value="COMPLETED" {{$appointment->status === 'COMPLETED' ? 'selected' : ''}}>COMPLETED</option>
+                                            </select>
+                                            <div class="mb-0">
+                                                <button class="btn btn-primary btn-sm" submit>Submit</button>
+                                                <button class="btn btn-default border btn-sm" cancel>Cancel</button>
+                                            </div>
+                                        </form>
+                                    </div>
+                                </div>
+                                
+                            </div>
+                        </td>
+                        <td>
+                            <div>
+                                @if($appointment->coverage === 'YES')
+                                    <b class="text-success">Covered</b>
+                                @elseif($appointment->coverage === 'NO')
+                                    <b class="text-danger">Not Covered</b>
+                                @else
+                                    <b v-else class="text-warning-mellow">Pending</b>
+                                @endif
+                            </div>
+                        </td>
+                    </tr>
+                @endforeach
+            </table>
+        @else
+            <div class="bg-light p-3 text-secondary">
+                <span>You have no cancelled appointments.</span>
+            </div>
+            
+        @endif
+    </div>
+</div>
+

+ 53 - 0
resources/views/app/dna/dashboard/patients.blade.php

@@ -0,0 +1,53 @@
+<div>
+@php 
+    $patientsRecordsAsDna = $performer->pro->patientsRecordsAsDna();
+@endphp 
+@if($patientsRecordsAsDna && count($patientsRecordsAsDna))
+    <table class="table table-sm table-striped mb-0">
+        <thead>
+        <tr>
+            <th class="border-bottom-0 border-top-0 text-secondary">Chart #</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Name</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">DOB</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Gender</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Insurance</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">HCP</th>
+        </tr>
+        </thead>
+        <tbody>
+        @foreach($patientsRecordsAsDna as $row)
+            <tr>
+                <td class="text-nowrap">
+                    {{$row->chart_number}}
+                </td>
+                <td class="pl-2">
+                    <a href="{{ route('patients.view.dashboard', $row) }}">
+                        {{$row->displayName()}}
+                    </a>
+                </td>
+                <td class="text-nowrap">
+                    {{friendly_date($row->dob)}}
+                </td>
+                <td class="text-nowrap">
+                    {{$row->sex}}
+                </td>
+                <td class="text-nowrap">
+                    @include('app.dna.dashboard.coverage_renderer', ['patient'=>$row])
+                </td>
+                <td class="text-nowrap">
+                    {{$row->mcp->name_display ?? '' }}
+                </td>
+               
+            </tr>
+        @endforeach
+        </tbody>
+    </table>
+    <div class="m-2">
+        {{ $patientsRecordsAsDna->onEachSide(0)->withQueryString()->links() }}
+    </div>
+@else
+    <div class="p-3">
+        No patients
+    </div>
+@endif
+</div>

+ 53 - 0
resources/views/app/dna/dashboard/patients_awaiting_mcp_visit.blade.php

@@ -0,0 +1,53 @@
+<div>
+@php 
+    $patientsAwaitingMcpVisit = $performer->pro->patientsAwaitingMcpVisitRecordsAsDna();
+@endphp 
+@if($patientsAwaitingMcpVisit && count($patientsAwaitingMcpVisit))
+    <table class="table table-sm table-striped mb-0">
+        <thead>
+        <tr>
+            <th class="border-bottom-0 border-top-0 text-secondary">Chart #</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Name</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">DOB</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Gender</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Insurance</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">HCP</th>
+        </tr>
+        </thead>
+        <tbody>
+        @foreach($patientsAwaitingMcpVisit as $row)
+            <tr>
+                <td class="text-nowrap">
+                    {{$row->chart_number}}
+                </td>
+                <td class="pl-2">
+                    <a href="{{ route('patients.view.dashboard', $row) }}">
+                        {{$row->displayName()}}
+                    </a>
+                </td>
+                <td class="text-nowrap">
+                    {{friendly_date($row->dob)}}
+                </td>
+                <td class="text-nowrap">
+                    {{$row->sex}}
+                </td>
+                <td class="text-nowrap">
+                    @include('app.dna.dashboard.coverage_renderer', ['patient'=>$row])
+                </td>
+                <td class="text-nowrap">
+                    {{$row->mcp->name_display ?? '' }}
+                </td>
+               
+            </tr>
+        @endforeach
+        </tbody>
+    </table>
+    <div class="m-2">
+        {{ $patientsAwaitingMcpVisit->onEachSide(0)->withQueryString()->links() }}
+    </div>
+@else
+    <div class="p-3">
+        No patients awaiting mcp visit
+    </div>
+@endif
+</div>

+ 69 - 0
resources/views/app/dna/dashboard/reports_pending_ack.blade.php

@@ -0,0 +1,69 @@
+@php 
+    $reportsPendingAck = $performer->pro->reportsPendingAckRecordsAsDna();
+@endphp 
+<div class="p-3 mcp-theme-1" id="patients-list">
+    <div class="card">
+
+        <div class="card-header px-3 py-2 d-flex align-items-center">
+            <strong class="mr-4">
+                <i class="fas fa-file-invoice-dollar"></i>
+                Reports Pending Acknowledgement
+            </strong>
+        </div>
+
+        <div class="card-body p-0">
+            
+            <table class="table table-condensed p-0 m-0">
+                <thead class="bg-light">
+                    <tr>
+                        <th class="px-3 border-0">Patient</th>
+                        <th class="px-3 border-0">Title</th>
+                        <th class="px-3 border-0">Category</th>
+                        <th class="px-3 border-0">Report Date</th>
+                        <th class="px-3 border-0">Sign</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    @foreach($reportsPendingAck as $report)
+                    <tr class="{{$report->is_entry_error ? 'entry-error' : ''}}">
+                        <td class="border-bottom-0">{{$report->client->displayName()}}</td>
+                        <td>
+                            <a native target="_blank" href="{{route('patients.view.incoming-reports', ['patient' => $report->client, 'currentReport' => $report])}}" class="{{@$currentReport->uid === $report->uid ? 'font-weight-bold' : ''}}">
+                                {{ $report->title ? $report->title : '(not set)' }}
+                            </a>
+                        </td>
+                        <td>{{ $report->category }}{{ $report->subcategory ? ' / ' . $report->subcategory : '' }}</td>
+                        <td>{{ friendly_date_time($report->report_date, false) }}</td>
+                        <td>
+                            @if(!$report->has_hcp_pro_signed)
+                            -
+                            @else
+                            <div class="text-success mb-1">
+                                <i class="fa fa-check"></i>
+                                Signed
+                            </div>
+                            @if($report->hcp)
+                            <div class="text-secondary">
+                                <div class="text-sm font-weight-bold">{{$report->hcp->displayName()}}</div>
+                                <div class="text-sm">{{friendlier_date_time($report->hcp_pro_signed_at)}}</div>
+                            </div>
+                            @endif
+                            @endif
+                        </td>
+                    </tr>
+                    @endforeach
+
+                    @if(count($reportsPendingAck) === 0)
+                    <tr>
+                        <td colspan="5">No records found!</td>
+                    </tr>
+                    @endif
+                </tbody>
+
+            </table>
+            <div class="ml-2 mt-2">
+                {{ $reportsPendingAck->appends(request()->input())->links() }}
+            </div>
+        </div>
+    </div>
+</div>

+ 67 - 0
resources/views/app/dna/dashboard/supply_orders_pending_hcp_approval.blade.php

@@ -0,0 +1,67 @@
+@php 
+    $supplyOrdersPendingHcpApproval = $performer->pro->supplyOrdersPendingHcpApprovalRecordsAsDna();
+@endphp
+<div class="p-3 mcp-theme-1" id="patients-list">
+    <div class="card">
+
+        <div class="card-header px-3 py-2 d-flex align-items-center">
+            <strong class="mr-4">
+                <i class="fas fa-file-invoice-dollar"></i>
+                Supply Orders
+            </strong>
+        </div>
+
+        <div class="card-body p-0">
+           
+            <table class="table table-condensed p-0 m-0">
+                <thead class="bg-light">
+                    <tr>
+                        <th class="px-3 border-0">Date</th>
+                        <th class="px-3 border-0">Patient</th>
+                        <th class="px-3 border-0">Product</th>
+                        <th class="px-3 border-0">Reason</th>
+                        <th class="px-3 border-0">Is Cancelled</th>
+                        <th class="px-3 border-0">Shipment</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    @foreach($supplyOrdersPendingHcpApproval as $supplyOrder)
+                    <tr>
+                        <td>{{ friendlier_date_time($supplyOrder->created_at)}}</td>
+                        <td>{{ $supplyOrder->client->displayName() }} -</td>
+                        <td>{{ $supplyOrder->product->title }}</td>
+                        <td style="width: 300px;">{{ $supplyOrder->reason }}</td>
+                        <td>{{ $supplyOrder->is_cancelled ? 'Yes' : 'No' }}</td>
+                        <td class="px-2">
+                            @if($supplyOrder->shipment_id)
+                            <i class="fa fa-building"></i>
+                            {{$supplyOrder->shipment->status ? $supplyOrder->shipment->status : 'CREATED'}}
+                            @elseif($supplyOrder->is_cleared_for_shipment)
+                            <span class="text-info">
+                                <i class="fa fa-user-nurse"></i>
+                                Cleared for shipment
+                            </span>
+                            @else
+                            <span class="text-warning-mellow">
+                                <i class="fa fa-user-nurse"></i>
+                                Not cleared for shipment
+                            </span>
+                            @endif
+                        </td>
+                    </tr>
+                    @endforeach
+
+                    @if(count($supplyOrdersPendingHcpApproval) === 0)
+                    <tr>
+                        <td colspan="6">No records found!</td>
+                    </tr>
+                    @endif
+                </tbody>
+
+            </table>
+            <div class="ml-2 mt-2">
+                {{ $supplyOrdersPendingHcpApproval->appends(request()->input())->links() }}
+            </div>
+        </div>
+    </div>
+</div>

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

@@ -0,0 +1,66 @@
+@php 
+    $supplyOrdersPendingMyAck = $performer->pro->supplyOrdersPendingMyAckRecordsAsDna();
+@endphp
+<div class="p-3 mcp-theme-1" id="patients-list">
+    <div class="card">
+
+        <div class="card-header px-3 py-2 d-flex align-items-center">
+            <strong class="mr-4">
+                <i class="fas fa-file-invoice-dollar"></i>
+                Supply Orders
+            </strong>
+        </div>
+
+        <div class="card-body p-0">
+            <table class="table table-condensed p-0 m-0">
+                <thead class="bg-light">
+                    <tr>
+                        <th class="px-3 border-0">Date</th>
+                        <th class="px-3 border-0">Patient</th>
+                        <th class="px-3 border-0">Product</th>
+                        <th class="px-3 border-0">Reason</th>
+                        <th class="px-3 border-0">Is Cancelled</th>
+                        <th class="px-3 border-0">Shipment</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    @foreach($supplyOrdersPendingMyAck as $supplyOrder)
+                    <tr>
+                        <td>{{ friendlier_date_time($supplyOrder->created_at)}}</td>
+                        <td>{{ $supplyOrder->client->displayName() }} -</td>
+                        <td>{{ $supplyOrder->product->title }}</td>
+                        <td style="width: 300px;">{{ $supplyOrder->reason }}</td>
+                        <td>{{ $supplyOrder->is_cancelled ? 'Yes' : 'No' }}</td>
+                        <td class="px-2">
+                            @if($supplyOrder->shipment_id)
+                            <i class="fa fa-building"></i>
+                            {{$supplyOrder->shipment->status ? $supplyOrder->shipment->status : 'CREATED'}}
+                            @elseif($supplyOrder->is_cleared_for_shipment)
+                            <span class="text-info">
+                                <i class="fa fa-user-nurse"></i>
+                                Cleared for shipment
+                            </span>
+                            @else
+                            <span class="text-warning-mellow">
+                                <i class="fa fa-user-nurse"></i>
+                                Not cleared for shipment
+                            </span>
+                            @endif
+                        </td>
+                    </tr>
+                    @endforeach
+
+                    @if(count($supplyOrdersPendingMyAck) === 0)
+                    <tr>
+                        <td colspan="6">No records found!</td>
+                    </tr>
+                    @endif
+                </tbody>
+
+            </table>
+            <div class="ml-2 mt-2">
+                {{ $supplyOrdersPendingMyAck->appends(request()->input())->links() }}
+            </div>
+        </div>
+    </div>
+</div>