Răsfoiți Sursa

For problems, show relevant-to-note ones as well in plan

Vijayakrishnan 3 ani în urmă
părinte
comite
1c37f15a1d

+ 39 - 2
resources/views/app/patient/segment-templates/omega_plan_system/summary.blade.php

@@ -11,11 +11,48 @@ use App\Models\Point;
 
 $allPoints = Point::getPlanPoints($patient, $note);
 
-// allergies/meds/problems/goals/careteam
+// allergies/meds
 $topLevelPointToRendererMap = [
     'ALLERGY' => 'allergy',
-    'MEDICATION' => 'medication',
+    'MEDICATION' => 'medication'
+];
+
+$pointMap = [];
+
+foreach($allPoints as $point){
+    if(!isset($topLevelPointToRendererMap[$point->category])) continue;
+    $renderer = $topLevelPointToRendererMap[$point->category];
+    if(!isset($pointMap[$renderer])) $pointMap[$renderer] = [];
+    $pointMap[$renderer][] = $point;
+}
+
+foreach ($pointMap as $renderer => $points) {
+?>
+@include('app.patient.module-specific-summary-renderers.' . $renderer . '.plan', compact('points'))
+<?php
+}
+
+// for problems, include relevant to note ones too
+$dxPoints = Point::getPlanPointsOfCategory($patient, 'PROBLEM', $note);
+$topLevelPointToRendererMap = [
     'PROBLEM' => 'problem',
+];
+$pointMap = [];
+foreach($dxPoints as $point){
+    if(!isset($topLevelPointToRendererMap[$point->category])) continue;
+    $renderer = $topLevelPointToRendererMap[$point->category];
+    if(!isset($pointMap[$renderer])) $pointMap[$renderer] = [];
+    $pointMap[$renderer][] = $point;
+}
+foreach ($pointMap as $renderer => $points) {
+?>
+@include('app.patient.module-specific-summary-renderers.' . $renderer . '.plan', compact('points'))
+<?php
+}
+
+
+// allergies/meds/problems/goals/careteam
+$topLevelPointToRendererMap = [
     'GOAL' => 'goal',
     'CARE_TEAM_MEMBER' => 'care_team_member'
 ];