Răsfoiți Sursa

Red/yellow measurements highlight + stamp

Vijayakrishnan 2 ani în urmă
părinte
comite
e468062486

+ 13 - 1
app/Http/Controllers/HomeController.php

@@ -564,12 +564,24 @@ WHERE cl.shadow_pro_id IS NULL
             ->whereNotNull('client_bdt_measurement_id')
             ->paginate(15);
 
+        $flaggedMeasurementsPendingStamping = Measurement::whereIn('care_month_id', $careMonthsWithMeasurementsPendingStamping)
+            ->orderBy('created_at', 'DESC')
+            ->whereNotNull('ts')
+            ->whereNotIn('label', ['SBP', 'DBP'])
+            ->where('is_cellular_zero', '<>', true)
+            ->where('is_active', true)
+            ->where('has_been_stamped_by_mcp', false)
+            ->whereRaw("(color = 'RED' OR color = 'YELLOW')")
+            ->whereNotNull('client_bdt_measurement_id')
+            ->paginate(15);
+
         return view('app/dashboard-mcp', compact('keyNumbers', 'reimbursement', 'milliseconds',
             'businessNumbers',
             'incomingReports', 'tickets', 'supplyOrders',
             'numERx', 'numLabs', 'numImaging', 'numSupplyOrders',
             'newMCPAssociations', 'newNAAssociations',
-            'measurementsPendingStamping', 'careMonthsWithMeasurementsPendingStamping',
+            'measurementsPendingStamping', 'flaggedMeasurementsPendingStamping',
+            'careMonthsWithMeasurementsPendingStamping',
             'mcpClientMemos', 'mcpClientMemosCount', 'naClientMemos', 'incomingSmsMessagesPendingReply'));
     }
 

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 104,
+    'asset_version' => 105,
 
 
     'temp_dir' => env('TEMP_DIR'),

+ 7 - 1
public/css/style.css

@@ -3730,4 +3730,10 @@ table.v-top th {
     background: #BBB;
     border-color: #BBB !important;
     padding: 0 !important;
-}
+}
+.mcp-theme-1 .yellow-measurement {
+    color: yellow !important;
+}
+.mcp-theme-1 .red-measurement {
+    color: red !important;
+}

+ 13 - 0
resources/views/app/dashboard-mcp.blade.php

@@ -418,6 +418,19 @@
 
                             </div>
 
+                            @if($flaggedMeasurementsPendingStamping && count($flaggedMeasurementsPendingStamping))
+                                <div class="card mb-4">
+                                    <div class="card-header pl-2">
+                                        <strong>
+                                            Flagged Measurements To be Stamped
+                                        </strong>
+                                    </div>
+                                    <div class="card-body p-0">
+                                        @include('app.mcp.dashboard.flagged-measurements-to-be-stamped')
+                                    </div>
+                                </div>
+                            @endif
+
                             <div class="card mb-4">
                                 <div class="card-header pl-2">
                                     <strong>

+ 45 - 0
resources/views/app/mcp/dashboard/flagged-measurements-to-be-stamped.blade.php

@@ -0,0 +1,45 @@
+<div id="dashboard-measurements-pending-stamping">
+@if($flaggedMeasurementsPendingStamping && count($flaggedMeasurementsPendingStamping))
+    <table class="table table-sm table-striped mb-0">
+        <thead>
+        <tr>
+            <th class="border-bottom-0 border-top-0 text-secondary">Patient</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Type</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Value</th>
+            <th class="border-bottom-0 border-top-0 text-secondary">Timestamp</th>
+        </tr>
+        </thead>
+        <tbody>
+        @foreach($flaggedMeasurementsPendingStamping as $row)
+            <tr>
+                <td class="pl-2">
+                    <a href="{{ route('patients.view.dashboard', $row->client) }}">
+                        {{$row->client->displayName()}}
+                    </a>
+                </td>
+                <td class="text-nowrap">
+                    {{$row->label}}
+                </td>
+                <td>
+                    @include('app.patient.partials.measurement-value', ['measurement' => $row])
+                </td>
+                <td class="text-secondary">
+                    <a href="/mc/patients/view/{{$row->client->uid}}/care-months/view/{{$row->careMonth->uid}}"
+                       native target="_blank"
+                       title="Care Month: {{date('M Y', strtotime($row->careMonth->start_date))}}">
+                        {{ friendly_date_time_short_with_tz_from_timestamp_divide1000($row->ts, 'EASTERN') }} EST
+                    </a>
+                </td>
+            </tr>
+        @endforeach
+        </tbody>
+    </table>
+    <div class="m-2">
+        {{ $flaggedMeasurementsPendingStamping->onEachSide(0)->withQueryString()->links() }}
+    </div>
+@else
+    <div class="p-3">
+        No flagged measurement pending stamping
+    </div>
+@endif
+</div>

+ 1 - 5
resources/views/app/mcp/dashboard/measurements-pending-stamping.blade.php

@@ -21,11 +21,7 @@
                     {{$row->label}}
                 </td>
                 <td>
-                    @if($row->label === 'BP')
-                        {{ $row->sbp_mm_hg }}/{{ $row->dbp_mm_hg }}
-                    @elseif($row->label === 'Wt. (lbs.)')
-                        {{ round(floatval($row->numeric_value), 2) }}
-                    @endif
+                    @include('app.patient.partials.measurement-value', ['measurement' => $row])
                 </td>
                 <td class="text-secondary">
                     <a href="/mc/patients/view/{{$row->client->uid}}/care-months/view/{{$row->careMonth->uid}}"

+ 1 - 9
resources/views/app/patient/measurements.blade.php

@@ -94,15 +94,7 @@
                             </td>
                             <td>{{ $measurement->label }}</td>
                             <td>
-                                @if($measurement->is_cellular_zero)
-                                    <i class="font-size-11 fa fa-rss"></i>
-                                @elseif($measurement->label === 'BP')
-                                    {{ $measurement->sbp_mm_hg }}/{{ $measurement->dbp_mm_hg }} mmHg  <span class="font-weight-normal d-inline-block pl-2">Pulse:</span> {{ $measurement->value_pulse }} {{ $measurement->value_irregular === 0?'Irregular':'' }} {{ $measurement->value_irregular === 1?'Regular':'' }}
-                                @elseif($measurement->label === 'Wt. (lbs.)')
-                                    {{ round($measurement->numeric_value) }} lbs
-                                @else
-                                    {{ $measurement->value }}
-                                @endif
+                                @include('app.patient.partials.measurement-value', ['measurement' => $measurement])
                             </td>
                             <td>{{$measurement->source}}</td>
                             <td class="px-2 text-nowrap">

+ 61 - 0
resources/views/app/patient/partials/measurement-value.blade.php

@@ -0,0 +1,61 @@
+<div class="d-flex flex-nowrap align-items-baseline">
+    @if($measurement->is_cellular_zero)
+        <i class="font-size-11 fa fa-rss"></i>
+    @elseif($measurement->label === 'BP')
+        {{ $measurement->sbp_mm_hg }}/{{ $measurement->dbp_mm_hg }} mmHg  <span class="font-weight-normal d-inline-block pl-2">Pulse:</span> {{ $measurement->value_pulse }} {{ $measurement->value_irregular === 0?'Irregular':'' }} {{ $measurement->value_irregular === 1?'Regular':'' }}
+    @elseif($measurement->label === 'Wt. (lbs.)')
+        {{ round($measurement->numeric_value) }} lbs
+    @else
+        {{ $measurement->value }}
+    @endif
+    @if($measurement->color === 'YELLOW' || $measurement->color === 'RED')
+        @if($measurement->color === 'YELLOW')
+            <i class="fa fa-circle text-warning-mellow ml-2"></i>
+        @else
+            <i class="fa fa-circle text-danger ml-2"></i>
+        @endif
+        @if($measurement->careMonth && (
+            ($measurement->careMonth->mcp && $pro->id === $measurement->careMonth->mcp->id) ||
+            ($measurement->careMonth->rmm && $pro->id === $measurement->careMonth->rmm->id)
+        ))
+            @if(!$measurement->has_been_stamped_by_mcp)
+                <div moe class="ml-2">
+                    <a href="#" start show>Stamp</a>
+                    <form url="/api/measurement/stamp" right class="width-300px">
+                        <input type="hidden" name="uid" value="{{$measurement->uid}}">
+                        <p class="mb-1">Stamp this measurement?</p>
+                        <div class="mt-2 bg-light border p-2">
+                            <div class="mb-1 text-secondary">{{ $measurement->label }}</div>
+                            <div class="font-weight-bold mb-1">
+                                @if($measurement->label === 'BP')
+                                    {{ round($measurement->sbp_mm_hg, 2) }}/{{ round($measurement->dbp_mm_hg, 2) }} mmHg
+                                    <span class="font-weight-normal d-inline-block pl-2">Pulse:</span>
+                                    {{ $measurement->value_pulse }} {{ $measurement->value_irregular === 0?'Irregular':'' }} {{ $measurement->value_irregular === 1?'Regular':'' }}
+                                @elseif($measurement->label === 'Wt. (lbs.)')
+                                    {{ round($measurement->numeric_value, 2) }} lbs
+                                @else
+                                    {{ $measurement->value }}
+                                @endif
+                            </div>
+                            <div class="text-sm">
+                                <?php $timestampInSec = floor($measurement->ts / 1000); ?>
+                                {{ friendly_date_time_short_with_tz_from_timestamp($timestampInSec, 'EASTERN') }} EST
+                            </div>
+                        </div>
+                        <div class="mb-2">
+                            <label class="mb-1 text-secondary text-sm">Memo</label>
+                            <textarea class="form-control form-control-sm" name="memo"></textarea>
+                        </div>
+                        <div class="form-group m-0">
+                            <button submit class="btn btn-primary btn-sm mr-2">Submit</button>
+                            <button cancel class="btn btn-default border btn-sm mr-2">Cancel</button>
+                        </div>
+                    </form>
+                </div>
+            @else
+                <i class="fa fa-check text-secondary ml-2 text-sm"></i>
+                <span class="text-secondary text-sm ml-1">Stamped</span>
+            @endif
+        @endif
+    @endif
+</div>