Преглед изворни кода

Client devices and measurements - individual pages

Vijayakrishnan Krishnan пре 4 година
родитељ
комит
24e90d7688

+ 6 - 0
app/Http/Controllers/PatientController.php

@@ -72,6 +72,12 @@ class PatientController extends Controller
         return view('app.patient.care-team', compact('patient', 'infoLines'));
     }
 
+    public function devices(Request $request, Client $patient )
+    {
+        $devices = BDTDevice::where('is_active', true)->get();
+        return view('app.patient.devices', compact('patient', 'devices'));
+    }
+
     public function measurements(Request $request, Client $patient )
     {
         return view('app.patient.measurements', compact('patient'));

+ 72 - 0
resources/views/app/patient/devices.blade.php

@@ -0,0 +1,72 @@
+@extends ('layouts.patient')
+@section('inner-content')
+    <div class="">
+        <div class="d-flex align-items-start pb-2">
+            <h4 class="font-weight-bold m-0">Devices</h4>
+            <span class="mx-2 text-secondary">|</span>
+            <div moe>
+                <a start show>Add</a>
+                <form url="/api/clientBdtDevice/create" class="mcp-theme-1">
+                    <input type="hidden" name="clientUid" value="{{$patient->uid}}">
+                    <div class="mb-2">
+                        <label class="text-secondary text-sm">Device</label>
+                        <select name="deviceUid" class="form-control form-control-sm">
+                            <option value=""> --select-- </option>
+                            @foreach($devices as $device)
+                                <option value="{{$device->uid}}">
+                                    {{$device->category}} (IMEI: {{$device->imei}})
+                                </option>
+                            @endforeach
+                        </select>
+                    </div>
+                    <div class="mb-2">
+                        <label class="text-secondary text-sm">Instructions</label>
+                        <input type="text" name="instructions" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <label class="text-secondary text-sm">Internal Memo</label>
+                        <input type="text" name="internalMemo" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <label class="text-secondary text-sm">Status</label>
+                        <input type="text" name="status" class="form-control form-control-sm">
+                    </div>
+                    <div class="mb-2">
+                        <label class="text-secondary text-sm">Status Memo</label>
+                        <input type="text" name="statusMemo" class="form-control form-control-sm">
+                    </div>
+                    <div>
+                        <button submit class="btn btn-sm btn-primary mr-1">Submit</button>
+                        <button cancel class="btn btn-sm btn-default border">Cancel</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+        <table class="table table-striped table-sm table-bordered mb-0">
+            @if($patient->devices && count($patient->devices))
+                <thead>
+                <tr>
+                    <th class="px-2 text-secondary">Created</th>
+                    <th class="px-2 text-secondary w-25">Category</th>
+                    <th class="px-2 text-secondary w-50">IMEI</th>
+                </tr>
+                </thead>
+                <tbody>
+                @foreach($patient->devices as $device)
+                    <tr>
+                        <td class="px-2">{{ friendly_date_time($device->device->created_at) }}</td>
+                        <td class="px-2">{{ $device->device->category }}</td>
+                        <td class="px-2"><pre class="m-0">{{ $device->device->imei }}</pre></td>
+                    </tr>
+                @endforeach
+                </tbody>
+            @else
+                <tbody>
+                    <tr>
+                        <td class="text-secondary p-3">No devices for this patient</td>
+                    </tr>
+                </tbody>
+            @endif
+        </table>
+    </div>
+@endsection

+ 37 - 7
resources/views/app/patient/measurements.blade.php

@@ -1,10 +1,40 @@
 @extends ('layouts.patient')
-
-
-@section('section-title')
-    Measurements
-@endsection
-
 @section('inner-content')
-    CONTENT
+    <div class="">
+        <div class="d-flex align-items-start pb-2">
+            <h4 class="font-weight-bold m-0">Measurements</h4>
+        </div>
+        <table class="table table-striped table-sm table-bordered mb-0">
+            @if($patient->measurements && count($patient->measurements))
+                <thead>
+                <tr>
+                    <th class="px-2 text-secondary">Created</th>
+                    <th class="px-2 text-secondary w-25">Category</th>
+                    <th class="px-2 text-secondary w-50">Value</th>
+                </tr>
+                </thead>
+                <tbody>
+                @foreach($patient->deviceMeasurements as $measurement)
+                    <tr>
+                        <td class="px-2">{{ friendly_date_time($measurement->created_at) }}</td>
+                        <td class="px-2">{{ $measurement->measurement->device_category }}</td>
+                        <td class="px-2">
+                            @if($measurement->measurement->device_category === 'WEIGHT')
+                                <b>{{ round($measurement->measurement->value_weight / 1000, 1) }} Kg</b>
+                            @elseif($measurement->measurement->device_category === 'BP')
+                                <b>{{ $measurement->measurement->value_systolic }}/{{ $measurement->measurement->value_diastolic }} mmHg</b>
+                            @endif
+                        </td>
+                    </tr>
+                @endforeach
+                </tbody>
+            @else
+                <tbody>
+                <tr>
+                    <td class="text-secondary p-3">No device measurements for this patient</td>
+                </tr>
+                </tbody>
+            @endif
+        </table>
+    </div>
 @endsection

+ 8 - 0
resources/views/layouts/patient.blade.php

@@ -13,6 +13,14 @@
                             <a class="nav-link {{ strpos($routeName, 'patients.view.dashboard') === 0 ? 'active' : '' }}"
                                href="{{ route('patients.view.dashboard', ['patient' => $patient]) }}">Dashboard</a>
                         </li>
+                        <li class="nav-item">
+                            <a class="nav-link {{ strpos($routeName, 'patients.view.devices') === 0 ? 'active' : '' }}"
+                               href="{{ route('patients.view.devices', ['patient' => $patient]) }}">Devices</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link {{ strpos($routeName, 'patients.view.measurements') === 0 ? 'active' : '' }}"
+                               href="{{ route('patients.view.measurements', ['patient' => $patient]) }}">Measurements</a>
+                        </li>
                         <li class="nav-item">
                             <a class="nav-link {{ strpos($routeName, 'patients.view.care-months') === 0 ? 'active' : '' }}"
                                href="{{ route('patients.view.care-months', ['patient' => $patient]) }}">Care Months</a>

+ 1 - 0
routes/web.php

@@ -80,6 +80,7 @@ Route::middleware('pro.auth')->group(function () {
         Route::get('medications', 'PatientController@medications')->name('medications');
         Route::get('dx-and-focus-areas', 'PatientController@dxAndFocusAreas')->name('dx-and-focus-areas');
         Route::get('care-team', 'PatientController@careTeam')->name('care-team');
+        Route::get('devices', 'PatientController@devices')->name('devices');
         Route::get('measurements', 'PatientController@measurements')->name('measurements');
         Route::get('labs-and-studies', 'PatientController@labsAndStudies')->name('labs-and-studies');
         Route::get('history', 'PatientController@history')->name('history');