浏览代码

Care months - ensure measurements show manual and cellular measurements

Vijayakrishnan 4 年之前
父节点
当前提交
30a8ee1b16

+ 1 - 3
app/Models/Client.php

@@ -90,9 +90,8 @@ class Client extends Model
 
     public function measurements() {
         return $this->hasMany(Measurement::class, 'client_id', 'id')
-            ->distinct('label')
+            /*->distinct('label')*/
             ->where('is_removed', false)
-            ->orderBy('label', 'asc')
             ->orderBy('effective_date', 'desc');
     }
 
@@ -106,7 +105,6 @@ class Client extends Model
             ->whereRaw('EXTRACT(YEAR FROM effective_date) = ?', [$year])
             ->where('is_removed', false)
             ->orderBy('effective_date', 'desc')
-            ->orderBy('label', 'asc')
             ->get();
         return $measurements;
     }

+ 5 - 0
app/Models/Measurement.php

@@ -13,6 +13,11 @@ class Measurement extends Model
         return $this->hasOne(Client::class, 'id', 'client_id');
     }
 
+    public function clientBDTMeasurement()
+    {
+        return $this->hasOne(ClientBDTMeasurement::class, 'id', 'client_bdt_measurement_id');
+    }
+
     public function numCPMEntries() {
         return ClientProgramMonthEntry::where('measurement_id', $this->id)->where('is_cancelled', false)->count();
     }

+ 117 - 6
resources/views/app/patient/care-month/dashboard.blade.php

@@ -237,11 +237,108 @@
                                 </div>
                             </form>
                         </div>
-                        {{--<span class="mx-2 text-secondary">|</span>
-                        <a start show class="py-0 font-weight-normal"
-                           href="/patients/view/{{ $patient->uid }}/measurements">
-                            View All
-                        </a>--}}
+                        @if($pro->pro_type === 'ADMIN')
+                            <span class="mx-2 text-secondary">|</span>
+                            <div moe>
+                                <a start show class="py-0 font-weight-normal text-secondary">+ BP BDT Measurement</a>
+                                <form url="/api/bdtMeasurement/create">
+                                    <div class="mb-2">
+                                        <input autofocus type="text" class="form-control form-control-sm" name="imei" value="987987987983" placeholder="imei">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="ts" value="1600727786754" placeholder="ts">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="batteryVoltage" value="6308" placeholder="batteryVoltage">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="signalStrength" value="85" placeholder="signalStrength">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueTare" value="" placeholder="valueTare">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueWeight" value="" placeholder="valueWeight">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueSystolic" value="20700" placeholder="valueSystolic">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueDiastolic" value="9700" placeholder="valueDiastolic">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valuePulse" value="64" placeholder="valuePulse">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueUnit" value="" placeholder="valueUnit">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueIrregular" value="0" placeholder="valueIrregular">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="rssi" value="71" placeholder="rssi">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="deviceId" value="86011204403081" placeholder="deviceId">
+                                    </div>
+                                    <input type="hidden" name="secret" value="LTZS20QAFE">
+                                    <div class="d-flex align-items-center">
+                                        <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                    </div>
+                                </form>
+                            </div>
+                            <span class="mx-2 text-secondary">|</span>
+                            <div moe>
+                                <a start show class="py-0 font-weight-normal text-secondary">+ Weight BDT Measurement</a>
+                                <form url="/api/bdtMeasurement/create">
+                                    <div class="mb-2">
+                                        <input autofocus type="text" class="form-control form-control-sm" name="imei" value="987987987984" placeholder="imei">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="ts" value="1600727786754" placeholder="ts">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="batteryVoltage" value="6308" placeholder="batteryVoltage">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="signalStrength" value="85" placeholder="signalStrength">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueTare" value="0" placeholder="valueTare">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueWeight" value="61400" placeholder="valueWeight">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueSystolic" value="" placeholder="valueSystolic">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueDiastolic" value="" placeholder="valueDiastolic">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valuePulse" value="" placeholder="valuePulse">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueUnit" value="1" placeholder="valueUnit">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="valueIrregular" value="" placeholder="valueIrregular">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="rssi" value="78" placeholder="rssi">
+                                    </div>
+                                    <div class="mb-2">
+                                        <input type="text" class="form-control form-control-sm" name="deviceId" value="86528404866623" placeholder="deviceId">
+                                    </div>
+                                    <input type="hidden" name="secret" value="LTZS20QAFE">
+                                    <div class="d-flex align-items-center">
+                                        <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
+                                        <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
+                                    </div>
+                                </form>
+                            </div>
+                        @endif
                     </div>
                     <table class="table table-striped table-sm table-bordered mt-2 mb-0">
                         <thead>
@@ -260,7 +357,21 @@
                                 <tr>
                                     <td class="px-2">{{ friendly_date_time($measurement->created_at) }}</td>
                                     <td class="px-2">{{ $measurement->label }}</td>
-                                    <td class="px-2">{{ $measurement->value }}</td>
+                                    <td class="px-2">
+                                        @if(empty($measurement->client_bdt_measurement_id))
+                                            {{ $measurement->value }}
+                                        @else
+                                            @if($measurement->label === 'BP')
+                                                {{ $measurement->clientBDTMeasurement->measurement->systolic_bp_in_mm_hg }}/{{ $measurement->clientBDTMeasurement->measurement->diastolic_bp_in_mm_hg }} mmHg
+                                            @elseif($measurement->label === 'SBP')
+                                                {{ $measurement->clientBDTMeasurement->measurement->systolic_bp_in_mm_hg }} mmHg
+                                            @elseif($measurement->label === 'DBP')
+                                                {{ $measurement->clientBDTMeasurement->measurement->diastolic_bp_in_mm_hg }} mmHg
+                                            @elseif($measurement->label === 'Wt. (lbs.)')
+                                                {{ $measurement->clientBDTMeasurement->measurement->weight_in_pounds }} lbs
+                                            @endif
+                                        @endif
+                                    </td>
                                     <td></td>
                                     <td></td>
 

+ 83 - 69
resources/views/app/patient/measurements.blade.php

@@ -1,7 +1,7 @@
 @extends ('layouts.patient')
 @section('inner-content')
 
-    <div class="mb-3">
+    <div class="">
         <div class="mt-0 pb-1">
             <div class="d-flex align-items-center mb-2">
                 <h6 class="my-0 font-weight-bold text-dark">Measurements</h6>
@@ -29,7 +29,7 @@
             <table class="table table-striped table-sm table-bordered mt-2 mb-0">
                 <thead>
                 <tr>
-                    <th class="px-2 text-secondary w-25">Created</th>
+                    <th class="px-2 text-secondary w-25">Effective Date</th>
                     <th class="px-2 text-secondary w-25">Category</th>
                     <th class="px-2 text-secondary w-25">Value</th>
                     {{--<th class="px-2 text-secondary">Status</th>
@@ -41,9 +41,23 @@
                 @foreach($patient->measurements as $measurement)
                     @if(!empty($measurement->label))
                         <tr>
-                            <td class="px-2">{{ friendly_date_time($measurement->created_at) }}</td>
+                            <td class="px-2">{{ friendly_date_time($measurement->effective_date) }}</td>
                             <td class="px-2">{{ $measurement->label }}</td>
-                            <td class="px-2">{{ $measurement->value }}</td>
+                            <td class="px-2">
+                                @if(empty($measurement->client_bdt_measurement_id))
+                                    {{ $measurement->value }}
+                                @else
+                                    @if($measurement->label === 'BP')
+                                        {{ $measurement->clientBDTMeasurement->measurement->systolic_bp_in_mm_hg }}/{{ $measurement->clientBDTMeasurement->measurement->diastolic_bp_in_mm_hg }} mmHg
+                                    @elseif($measurement->label === 'SBP')
+                                        {{ $measurement->clientBDTMeasurement->measurement->systolic_bp_in_mm_hg }} mmHg
+                                    @elseif($measurement->label === 'DBP')
+                                        {{ $measurement->clientBDTMeasurement->measurement->diastolic_bp_in_mm_hg }} mmHg
+                                    @elseif($measurement->label === 'Wt. (lbs.)')
+                                        {{ round($measurement->clientBDTMeasurement->measurement->weight_in_pounds, 1) }} lbs
+                                    @endif
+                                @endif
+                            </td>
                             {{--<td></td>
                             <td></td>--}}
                             <td class="px-2">
@@ -97,70 +111,70 @@
         </div>
     </div>
 
-    <hr class="m-negator mt-4 mb-3">
+{{--    <hr class="m-negator mt-4 mb-3">--}}
 
-    <div class="">
-        <div class="d-flex align-items-start pb-2">
-            <h4 class="font-weight-bold m-0">Cellular 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 w-25">Created</th>
-                    <th class="px-2 text-secondary w-25">Category</th>
-                    <th class="px-2 text-secondary w-25">Value</th>
-                    <th class="px-2 text-secondary">Status</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)*2.20462, 1) }} lb</b>
-                            @elseif($measurement->measurement->device_category === 'BP')
-                                <b>{{ $measurement->measurement->systolic_bp_in_mm_hg }}/{{ $measurement->measurement->diastolic_bp_in_mm_hg }} mmHg</b>
-                            @endif
-                        </td>
-                        <td class="px-2">
-                            <span>
-                                <span>{{ $measurement->status }}</span>
-                                <span moe class="ml-2" relative>
-                                    <a href="#" start show><i class="fa fa-edit text-primary"></i></a>
-                                    <form url="/api/clientBdtMeasurement/updateStatus" right>
-                                        <input type="hidden" name="uid" value="{{ $measurement->uid }}">
-                                        <div class="mb-2">
-                                            <select name="status" class="form-control form-control-sm" required>
-                                                <option value="">-- select --</option>
-                                                <option {{$measurement->status === 'NEW' ? 'selected' : ''  }} value="NEW">NEW</option>
-                                                <option {{$measurement->status === 'ACCEPTED' ? 'selected' : ''  }} value="ACCEPTED">ACCEPTED</option>
-                                                <option {{$measurement->status === 'REJECTED' ? 'selected' : ''  }} value="REJECTED">REJECTED</option>
-                                            </select>
-                                        </div>
-                                        <div class="mb-2">
-                                            <input type="text" name="statusMemo" placeholder="Status memo" class="form-control form-control-sm">
-                                        </div>
-                                        <div class="d-flex align-items-center">
-                                            <button class="btn btn-sm btn-primary mr-2" submit>Save</button>
-                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>
-                                        </div>
-                                    </form>
-                                </span>
-                            </span>
-                        </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>
+{{--    <div class="">--}}
+{{--        <div class="d-flex align-items-start pb-2">--}}
+{{--            <h4 class="font-weight-bold m-0">Cellular 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 w-25">Created</th>--}}
+{{--                    <th class="px-2 text-secondary w-25">Category</th>--}}
+{{--                    <th class="px-2 text-secondary w-25">Value</th>--}}
+{{--                    <th class="px-2 text-secondary">Status</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)*2.20462, 1) }} lb</b>--}}
+{{--                            @elseif($measurement->measurement->device_category === 'BP')--}}
+{{--                                <b>{{ $measurement->measurement->systolic_bp_in_mm_hg }}/{{ $measurement->measurement->diastolic_bp_in_mm_hg }} mmHg</b>--}}
+{{--                            @endif--}}
+{{--                        </td>--}}
+{{--                        <td class="px-2">--}}
+{{--                            <span>--}}
+{{--                                <span>{{ $measurement->status }}</span>--}}
+{{--                                <span moe class="ml-2" relative>--}}
+{{--                                    <a href="#" start show><i class="fa fa-edit text-primary"></i></a>--}}
+{{--                                    <form url="/api/clientBdtMeasurement/updateStatus" right>--}}
+{{--                                        <input type="hidden" name="uid" value="{{ $measurement->uid }}">--}}
+{{--                                        <div class="mb-2">--}}
+{{--                                            <select name="status" class="form-control form-control-sm" required>--}}
+{{--                                                <option value="">-- select --</option>--}}
+{{--                                                <option {{$measurement->status === 'NEW' ? 'selected' : ''  }} value="NEW">NEW</option>--}}
+{{--                                                <option {{$measurement->status === 'ACCEPTED' ? 'selected' : ''  }} value="ACCEPTED">ACCEPTED</option>--}}
+{{--                                                <option {{$measurement->status === 'REJECTED' ? 'selected' : ''  }} value="REJECTED">REJECTED</option>--}}
+{{--                                            </select>--}}
+{{--                                        </div>--}}
+{{--                                        <div class="mb-2">--}}
+{{--                                            <input type="text" name="statusMemo" placeholder="Status memo" class="form-control form-control-sm">--}}
+{{--                                        </div>--}}
+{{--                                        <div class="d-flex align-items-center">--}}
+{{--                                            <button class="btn btn-sm btn-primary mr-2" submit>Save</button>--}}
+{{--                                            <button class="btn btn-sm btn-default mr-2 border" cancel>Cancel</button>--}}
+{{--                                        </div>--}}
+{{--                                    </form>--}}
+{{--                                </span>--}}
+{{--                            </span>--}}
+{{--                        </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