Browse Source

implemented vitals

= 3 years ago
parent
commit
37760df56e

+ 7 - 7
app/Http/Controllers/NoteController.php

@@ -103,15 +103,15 @@ class NoteController extends Controller
 
         $data = compact('performer', 'pro', 'segment', 'segmentTemplate', 'note', 'patient');
 
-        try {
+        //try {
             $summaryHtml = view('app.patient.segment-templates.' . $segmentTemplate->internal_name . '/summary', $data)->render();
             $editHtml = view('app.patient.segment-templates.' . $segmentTemplate->internal_name . '/edit', $data)->render();
-        } catch (\Throwable $e) {
-            return response()->json([
-                'success'=>false,
-                'message'=>$e->getMessage()
-            ]);
-        }
+      //  } catch (\Throwable $e) {
+//            return response()->json([
+//                'success'=>false,
+//                'message'=>$e->getMessage()
+//            ]);
+       // }
 
         return response()->json([
             'success'=>true,

+ 30 - 28
resources/views/app/patient/segment-templates/vitals/edit.blade.php

@@ -21,7 +21,7 @@ $vitalLabels = [
 $point = Point::where('added_in_segment_id', $segment->id)->where('category', $category)->orderBy('id', 'DESC')->first();
 $contentData = null;
 if (!!@$point->data) {
-    $contentData = json_decode($point->data);
+    $contentData = json_decode($point->data, true);
 }
 
 if(!$contentData) {
@@ -90,7 +90,7 @@ if(!$contentData) {
 }
 
 ?>
-<div>
+<div visit-moe close-on-save close-on-cancel class="d-block">
     <form show url="/api/visitPoint/<?= $endPoint ?>" class="mcp-theme-1">
         <input type="hidden" name="segmentUid" value="<?= $segment->uid ?>">
         <input type="hidden" name="category" value="<?= $category ?>">
@@ -110,50 +110,52 @@ if(!$contentData) {
                     <td>
                         <input type="text" tabindex="-1"
                                class="form-control form-control-sm events-none"
-                               data-field="title" value="{{ $v }}" readonly>
+                               value="{{ $v }}" readonly>
                     </td>
                     <td class="position-relative">
                         @if($k === "bmi")
-                        <input type="text" readonly
-                               class="form-control form-control-sm vitals-title"
-                               data-field="value" v-model="bmi">
-                        <p class="py-1 m-0 px-2 font-weight-bold bg-white" v-if="!!bmi">
-                            <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
-                            <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
-                            <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>
-                            <span class="text-sm text-warning-mellow" v-if="+bmi >= 30">Obese</span>
-                        </p>
+                            <input type="text" readonly
+                                   class="form-control form-control-sm vitals-title"
+                                   data-name="bmi->value" value="{{$contentData['bmi']['value']}}">
+                        @if(isset($contentData['bmi']['value']) && $contentData['bmi']['value'] != "" )
+                            <p class="py-1 m-0 px-2 font-weight-bold bg-white">
+                                <span class="text-sm text-warning-mellow" v-if="+bmi < 18.5">Underweight</span>
+                                <span class="text-sm text-success" v-if="+bmi >= 18.5 && +bmi < 25">Healthy Weight</span>
+                                <span class="text-sm text-warning-mellow" v-if="+bmi >= 25 && +bmi < 30">Overweight</span>
+                                <span class="text-sm text-warning-mellow" v-if="+bmi >= 30">Obese</span>
+                            </p>
+                        @endif
                         @elseif($k === "smokingStatus")
-                        <input type="text"
-                               class="form-control form-control-sm"
-                               data-field="value" v-model="items['smokingStatus'].value"
-                               data-option-list="smokingStatus"
-                               v-on:change="autoDate(items['smokingStatus'], 'smokingStatus')" v-on:keyup="autoDate(items['smokingStatus'], 'smokingStatus')">
-                        <div id="smoking-status-options" class="data-option-list">
-                            <div>Current</div>
-                            <div>Former</div>
-                            <div>Never</div>
-                        </div>
+                            <input type="text"
+                                   class="form-control form-control-sm"
+                                   data-name="smokingStatus->value"
+                                   data-option-list="smokingStatus" value="{{$contentData['smokingStatus']['value']}}">
+                            <div id="smoking-status-options" class="data-option-list">
+                                <div>Current</div>
+                                <div>Former</div>
+                                <div>Never</div>
+                            </div>
                         @else
-                        <input type="text"
-                               class="form-control form-control-sm"
-                               data-field="value" v-model="items['{{ $k }}'].value"
-                               v-on:change="autoDate(items['{{ $k }}'], '{{ $k }}')" v-on:keyup="autoDate(items['{{ $k }}'], '{{ $k }}')">
+                            <input type="text" class="form-control form-control-sm" data-name="{{$k}}->value" value="{{$contentData[$k]['value']}}">
                         @endif
                     </td>
                     <td>
                         <input type="date" {{ $k === 'bmi' ? 'readonly' : '' }}
                         class="form-control form-control-sm vitals-title"
-                        data-field="date" v-model="items['{{ $k }}'].date">
+                        data-name="{{$k}}->date" value="{{$contentData[$k]['date']}}">
                     </td>
                 </tr>
                 @endforeach
             </tbody>
         </table>
+        <div>
+            <button submit class="btn btn-sm btn-primary mr-2">Submit</button>
+            <button cancel class="btn btn-sm btn-default border">Cancel</button>
+        </div>
     </form>
 </div>
 <script>
     window.segmentInitializers.<?= $segment->segmentTemplate->internal_name ?> = function() {
-        alert("Initializing...");
+        //some js here
     };
 </script>

+ 123 - 3
resources/views/app/patient/segment-templates/vitals/summary.blade.php

@@ -1,7 +1,127 @@
 <?php
+
+use App\Models\Point;
+
 $category = 'VITALS';
-include resource_path('views/app/patient/segment-templates/_simple_text_segment/summary.php');
+$endPoint = 'upsertNoteSingleton';
+
+$vitalLabels = [
+    "heightInInches" => "Ht. (in.)",
+    "weightPounds" => "Wt. (lbs.)",
+    "temperatureF" => "Temp. (F)",
+    "systolicBP" => "SBP",
+    "diastolicBP" => "DBP",
+    "pulseRatePerMinute" => "Pulse",
+    "respirationRatePerMinute" => "Resp.",
+    "pulseOx" => "Pulse Ox.",
+    "smokingStatus" => "Smoking Status",
+    "bmi" => "BMI (kg/m²)",
+];
 
-$message = "TEST MESSAGE";
+$point = Point::where('added_in_segment_id', $segment->id)->where('category', $category)->orderBy('id', 'DESC')->first();
+$contentData = null;
+if (!!@$point->data) {
+    $contentData = json_decode($point->data, true);
+}
+
+if(!$contentData) {
+    $contentData = [
+        "heightInInches" => [
+            "label" => "Ht. (in.)",
+            "value" => "",
+            "date" => "",
+        ],
+        "weightPounds" => [
+            "label" => "Wt. (lbs.)",
+            "value" => "",
+            "date" => "",
+        ],
+        "temperatureF" => [
+            "label" => "Temp. (F)",
+            "value" => "",
+            "date" => "",
+        ],
+        "systolicBP" => [
+            "label" => "SBP",
+            "value" => "",
+            "date" => "",
+        ],
+        "diastolicBP" => [
+            "label" => "DBP",
+            "value" => "",
+            "date" => "",
+        ],
+        "pulseRatePerMinute" => [
+            "label" => "Pulse",
+            "value" => "",
+            "date" => "",
+        ],
+        "respirationRatePerMinute" => [
+            "label" => "Resp.",
+            "value" => "",
+            "date" => "",
+        ],
+        "pulseOx" => [
+            "label" => "Pulse Ox.",
+            "value" => "",
+            "date" => "",
+        ],
+        "smokingStatus" => [
+            "label" => "Smoking Status",
+            "value" => "",
+            "date" => "",
+        ],
+        "bmi" => [
+            "label" => "BMI (kg/m²)",
+            "value" => "",
+            "date" => "",
+        ],
+    ];
+}else {
+    foreach ($vitalLabels as $k => $v) {
+        if (!isset($contentData[$k])) {
+            $contentData[$k] = [
+                "label" => $v,
+                "value" => "",
+                "date" => "",
+            ];
+        }
+    }
+}
 ?>
-<h1>{{$message}}</h1>
+
+@foreach ($vitalLabels as $k => $v)
+<div class="d-flex vital-item align-items-center">
+        <span class="content-html text-nowrap">
+            <span>{{$v}}:</span>
+            <?php
+            $vital = [];
+            if(isset($contentData[$k])) {
+                $vital = $contentData[$k];
+            }
+            ?>
+            <b>{{ isset($vital["value"]) && !empty($vital["value"]) ? $vital["value"] : '-' }}</b>
+            @if($k === 'bmi' && isset($vital["value"]) && !empty($vital["value"]))
+                <?php $bmi = floatval($vital["value"]); ?>
+                <span class="ml-2 py-1 m-0 font-weight-bold">
+                     @if($bmi < 18.5)
+                        <span class="text-sm text-warning-mellow">(Underweight)</span>
+                     @endif
+                    @if($bmi >= 18.5 && $bmi < 25)
+                        <span class="text-sm text-success">(Healthy Weight)</span>
+                    @endif
+                    @if($bmi >= 25 && $bmi < 30)
+                        <span class="text-sm text-warning-mellow">(Overweight)</span>
+                    @endif
+                    @if($bmi >= 30)
+                        <span class="text-sm text-warning-mellow">(Obese)</span>
+                    @endif
+                </span>
+            @endif
+            @if(!!$vital["date"])
+                <span class="font-weight-normal text-secondary ml-2 text-sm">(as on {{ friendly_date_time($vital["date"], false) }})</span>
+            @endif
+        </span>
+</div>
+@endforeach
+