ソースを参照

subjective_general_v2

Vijayakrishnan 3 年 前
コミット
13cedef22f

+ 72 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/allergies.blade.php

@@ -0,0 +1,72 @@
+<?php
+
+use App\Models\Point;
+
+/** @var \App\Models\Client $patient */
+
+$points = Point::getIntakePointsOfCategory($patient, 'ALLERGY', $note);
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
+$numRelevant = 0;
+$plural = 'Allergies';
+?>
+
+<?php if($tracker && @($tracker->data->no_known_drug_allergies)): ?>
+    <div class="text-secondary mb-2"><span>-</span></div>
+<?php endif; ?>
+<?php if($tracker && @($tracker->data->no_known_allergies_of_any_type)): ?>
+    <div class="text-secondary mb-2"><span>-</span></div>
+<?php endif; ?>
+
+<?php if(!$tracker || !@($tracker->data->no_known_allergies_of_any_type)): ?>
+<?php if (count($points)): ?>
+<p class="mt-2 mb-1 text-secondary font-weight-bold">Allergies</p>
+<table class="table table-bordered table-xs table-cage mb-0">
+    <?php $j = 0; foreach ($points as $point): $j++; ?>
+	<?php $rel = $point->relevanceToNote($note); ?>
+        <tr>
+            <td class="width-30px pr-2">
+                @if($rel)
+                    <?php $numRelevant++; ?>
+                    {{ $j }}.
+                @else
+                    {{ $j }}.
+                @endif
+            </td>
+            <td class="px-2 width-300px">
+                <div class="font-weight-bold <?= $point->is_removed ? 'strike-through' : '' ?>">
+                    <?= !!@($point->data->name) ? @($point->data->name) : '-' ?>
+                    
+                </div>
+		    </td>
+            <td class="width-300px">
+                <div class="pl-3">
+                    <?php $review = $point->childReviewAddedInNote($note); ?>
+                    <?php if(!!$review): ?>
+                            <span>{!! $review->data->value !!}</span>
+                    <?php elseif($rel): ?>
+                        <div class="relevant-without-review text-warning-mellow mt-1 text-sm" data-target-segment="<?= $segment->segmentTemplate->internal_name ?>"><i class="fa fa-exclamation-triangle mr-1"></i>Subjective missing</div>
+                    <?php endif; ?>
+                </div>	
+                <div class="pl-3">
+                    <?php if ($point->is_removed): ?>
+                            @if($point->removal_reason_category === 'DURING_VISIT')
+                                <span class="text-sm text-secondary">Removed during visit</span>
+                            @elseif($point->removal_reason_category === 'ON_INTAKE')
+                                <span class="text-sm text-secondary">Removed on intake</span>
+                            @endif
+                        <?php elseif ($point->added_in_note_id === $note->id): ?>
+                            <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+                                <span class="text-sm text-success">* Diagnosed during visit</span>
+                            <?php else: ?>
+                                <span class="text-sm text-info">* Added on intake</span>
+                            <?php endif;?>
+                        <?php endif; ?>
+                </div>	
+
+            </td>
+            <td></td>
+        </tr>
+    <?php endforeach; ?>
+</table>
+<?php endif; ?>
+<?php endif; ?>

+ 67 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/care_team.blade.php

@@ -0,0 +1,67 @@
+<?php
+
+use App\Models\Point;
+
+/** @var \App\Models\Client $patient */
+
+$points = Point::getIntakePointsOfCategory($patient, 'CARE_TEAM_MEMBER', $note);
+$numRelevant = 0;
+$plural = 'Care team members';
+?>
+
+<?php if (count($points)): ?>
+    <p class="mt-2 mb-1 text-secondary font-weight-bold">Care Team</p>
+    <table class="table table-bordered table-xs table-cage mb-0">
+    <?php $j = 0; foreach ($points as $point): $j++; ?>
+        <?php $rel = $point->relevanceToNote($note); ?>
+        <tr>
+            <td class="width-30px pr-2">
+                @if($rel)
+                    <?php $numRelevant++; ?>
+                    {{ $j }}.
+                @else
+                    {{ $j }}.
+                @endif
+            </td>
+            <td class="px-2 width-300px">
+                <div class="<?= $point->is_removed ? 'strike-through' : '' ?>">
+                    <b><?= !!@($point->data->name) ? @($point->data->name) : '-' ?></b>
+                    <?= !!@($point->data->specialty) ? '/&nbsp;' . @($point->data->specialty) . '' : '' ?>
+                    <?= !!@($point->data->organization) ? '/&nbsp;' . @($point->data->organization) . '' : '' ?><br>
+                    <?= !!@($point->data->phone) ? 'Ph: ' . @($point->data->phone) . '' : '' ?>
+                    <?= !!@($point->data->fax) ? '&nbsp;/&nbsp;Fax: ' . @($point->data->fax) . '<br>' : '' ?>
+                    <?= !!@($point->data->date) ? '&nbsp;/&nbsp;Date: ' . @($point->data->date) : '' ?>
+                </div>
+            </td>
+            <td class="px-2 width-300px">
+                <div>
+                    <?php $review = $point->childReviewAddedInNote($note); ?>
+                    <?php if(!!$review): ?>
+                        <div class="pl-3 mt-1 d-flex align-items-baseline">
+                            <span>{!! $review->data->value !!}</span>
+                        </div>
+                    <?php elseif($rel): ?>
+                        <div class="relevant-without-review text-warning-mellow mt-1 text-sm" data-target-segment="<?= $segment->segmentTemplate->internal_name ?>"><i class="fa fa-exclamation-triangle mr-1"></i>Subjective missing</div>
+                    <?php endif; ?>
+                </div>
+                <div class="d-flex align-items-baseline">
+                    <?php if ($point->is_removed): ?>
+                        @if($point->removal_reason_category === 'DURING_VISIT')
+                            <span class="ml-2 text-sm text-secondary">Removed during visit</span>
+                        @elseif($point->removal_reason_category === 'ON_INTAKE')
+                            <span class="ml-2 text-sm text-secondary">Removed on intake</span>
+                        @endif
+                    <?php elseif ($point->added_in_note_id === $note->id): ?>
+                        <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+                            <span class="ml-2 text-sm text-success">* Added during visit</span>
+                        <?php else: ?>
+                            <span class="ml-2 text-sm text-info">* Added on intake</span>
+                        <?php endif;?>
+                    <?php endif; ?>
+                </div>
+            </td>
+            <td></td>
+        </tr>
+    <?php endforeach; ?>
+    </table>
+<?php endif; ?>

+ 38 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/edit.blade.php

@@ -0,0 +1,38 @@
+<?php
+use App\Models\Point;
+
+$category = 'SUBJECTIVE_GENERAL';
+$endPoint = 'upsertNoteSingleton';
+
+$point = Point::where('added_in_note_id', $note->id)->where('category', $category)->orderBy('id', 'DESC')->first();
+$parsed = null;
+if (!!@$point->data) {
+    $parsed = json_decode($point->data);
+}
+?>
+<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 ?>">
+        <input type="hidden" name="data">
+        <div note-rte
+             class="form-group mb-2 border-left border-right rte-holder"
+             data-field-name="free_text"
+        ><?= $parsed && @$parsed->free_text ? $parsed->free_text : '' ?></div>
+        <div class="px-2">
+            @include('app.patient.segment-templates.subjective_general_v2.allergies')
+            @include('app.patient.segment-templates.subjective_general_v2.medications')
+            @include('app.patient.segment-templates.subjective_general_v2.problems')
+        </div>
+        <div class="m-2">
+            <button submit class="btn btn-sm btn-primary mr-2"><i class="fa fa-save"></i></button>
+            <div class="d-inline-flex align-self-stretch align-items-center">
+                <span class="autosave-indicator saving text-sm text-secondary">Saving changes &hellip;</span>
+                <span class="autosave-indicator saved text-sm text-secondary">
+                    <i class="fa fa-check"></i>
+                    Saved
+                </span>
+            </div>
+        </div>
+    </form>
+</div>

+ 62 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/goals.blade.php

@@ -0,0 +1,62 @@
+<?php
+
+use App\Models\Point;
+
+/** @var \App\Models\Client $patient */
+
+$points = Point::getIntakePointsOfCategory($patient, 'GOAL', $note);
+$numRelevant = 0;
+$plural = 'Goals';
+?>
+
+<?php if (count($points)): ?>
+    <p class="mt-2 mb-1 text-secondary font-weight-bold">Goals</p>
+    <table class="table table-bordered table-xs table-cage mb-0">
+    <?php $j = 0; foreach ($points as $point): $j++; ?>
+        <?php $rel = $point->relevanceToNote($note); ?>
+        <tr>
+            <td class="width-30px pr-2">
+                @if($rel)
+                    <?php $numRelevant++; ?>
+                    {{ $j }}.
+                @else
+                    {{ $j }}.
+                @endif
+            </td>
+            <td class="px-2 width-300px">
+                <div class="<?= $point->is_removed ? 'strike-through' : '' ?>">
+                    <b><?= !!@($point->data->goal) ? @($point->data->goal) : '-' ?></b>
+                </div>
+            </td>
+            <td class="px-2 width-300px">
+                <div>
+                    <?php $review = $point->childReviewAddedInNote($note); ?>
+                    <?php if(!!$review): ?>
+                        <div class="pl-3 mt-1 d-flex align-items-baseline">
+                            <span>{!! $review->data->value !!}</span>
+                        </div>
+                    <?php elseif(false && $rel): ?>
+                        <div class="relevant-without-review text-warning-mellow mt-1 text-sm" data-target-segment="<?= $segment->segmentTemplate->internal_name ?>"><i class="fa fa-exclamation-triangle mr-1"></i>Subjective missing</div>
+                    <?php endif; ?>
+                </div>
+                <div class="d-flex align-items-baseline">                
+                    <?php if ($point->is_removed): ?>
+                        @if($point->removal_reason_category === 'DURING_VISIT')
+                            <span class="ml-2 text-sm text-secondary">Removed during visit</span>
+                        @elseif($point->removal_reason_category === 'ON_INTAKE')
+                            <span class="ml-2 text-sm text-secondary">Removed on intake</span>
+                        @endif
+                    <?php elseif ($point->added_in_note_id === $note->id): ?>
+                        <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+                            <span class="ml-2 text-sm text-success">* Prescribed during visit</span>
+                        <?php else: ?>
+                            <span class="ml-2 text-sm text-info">* Added on intake</span>
+                        <?php endif;?>
+                    <?php endif; ?>
+                </div>
+            </td>
+            <td></td>
+        </tr>
+    <?php endforeach; ?>
+    </table>
+<?php endif; ?>

+ 64 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/medications.blade.php

@@ -0,0 +1,64 @@
+<?php
+
+use App\Models\Point;
+
+/** @var \App\Models\Client $patient */
+
+$points = Point::getIntakePointsOfCategory($patient, 'MEDICATION', $note);
+$tracker = Point::getGlobalSingletonOfCategory($patient, 'NO_KNOWN_TRACKER');
+$numRelevant = 0;
+$plural = 'Medications';
+?>
+<?php if(!$tracker || !@($tracker->data->no_known_medications)): ?>
+<?php if (count($points)): ?>
+	<p class="mt-2 mb-1 text-secondary font-weight-bold">Medications</p>
+	<table class="table table-bordered table-xs table-cage mb-0">
+    <?php $j = 0; foreach ($points as $point): $j++; ?>
+        <?php $rel = $point->relevanceToNote($note); ?>
+	<tr>
+		<td class="width-30px pr-2">
+			@if($rel)
+				<?php $numRelevant++; ?>
+				{{ $j }}.
+			@else
+				{{ $j }}.
+			@endif
+		</td>
+		<td class="px-2 width-300px">
+			<div class="font-weight-bold <?= $point->is_removed ? 'strike-through' : '' ?>">
+				<?= !!@($point->data->name) ? @($point->data->name) : '-' ?>
+			</div>
+		</td>
+		<td class="width-300px">
+			<div class="pl-3">
+				<?php $review = $point->childReviewAddedInNote($note); ?>
+				<?php if(!!$review): ?>
+					<div class="d-flex align-items-baseline">
+						<span>{!! $review->data->value !!}</span>
+					</div>
+				<?php elseif(false && $rel): ?>
+					<div class="relevant-without-review text-warning-mellow mt-1 text-sm" data-target-segment="<?= $segment->segmentTemplate->internal_name ?>"><i class="fa fa-exclamation-triangle mr-1"></i>Subjective missing</div>
+				<?php endif; ?>
+			</div>
+			<div class="pl-3 d-flex align-items-baseline">
+				<?php if ($point->is_removed): ?>
+					@if($point->removal_reason_category === 'DURING_VISIT')
+						<span class="text-sm text-secondary">Removed during visit</span>
+					@elseif($point->removal_reason_category === 'ON_INTAKE')
+						<span class="text-sm text-secondary">Removed on intake</span>
+					@endif
+				<?php elseif ($point->added_in_note_id === $note->id): ?>
+					<?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+						<span class="text-sm text-success">* Prescribed during visit</span>
+					<?php else: ?>
+						<span class="text-sm text-info">* Added on intake</span>
+					<?php endif;?>
+				<?php endif; ?>
+			</div>
+		</td>
+		<td></td>
+	</tr>
+    <?php endforeach; ?>
+	</table>
+<?php endif; ?>
+<?php endif; ?>

+ 63 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/problems.blade.php

@@ -0,0 +1,63 @@
+<?php
+
+use App\Models\Point;
+
+/** @var \App\Models\Client $patient */
+
+$points = Point::getIntakePointsOfCategory($patient, 'PROBLEM', $note);
+$numRelevant = 0;
+$plural = 'Problems';
+?>
+
+<?php if (count($points)): ?>
+    <p class="mt-2 mb-1 text-secondary font-weight-bold">Problems</p>
+    <table class="table table-bordered table-xs table-cage mb-0">
+    <?php $j = 0; foreach ($points as $point): $j++; ?>
+        <?php $rel = $point->relevanceToNote($note); ?>
+       <tr>
+            <td class="width-30px pr-2">
+                @if($rel)
+                    <?php $numRelevant++; ?>
+                    {{ $j }}.
+                @else
+                    {{ $j }}.
+                @endif
+            </td>
+            <td class="px-2 width-300px">
+                <div class="font-weight-bold <?= $point->is_removed ? 'strike-through' : '' ?>">
+                    <?= !!@($point->data->name) ? @($point->data->name) : '-' ?>
+                </div>
+            </td>
+            <td class="px-2 width-300px">
+                <div>
+                    <?php $review = $point->childReviewAddedInNote($note); ?>
+                    <?php if(!!$review): ?>
+                        <div class="pl-3 mt-1 d-flex align-items-baseline">
+                            <span>{!! $review->data->value !!}</span>
+                        </div>
+                    <?php elseif($rel): ?>
+                        <div class="relevant-without-review-critical text-danger mt-1 text-sm" data-target-segment="<?= $segment->segmentTemplate->internal_name ?>"><i class="fa fa-exclamation-triangle mr-1"></i>HPI missing</div>
+                    <?php endif; ?>
+                </div>
+                <div class="d-flex align-items-baseline">
+                    <?php if ($point->is_removed): ?>
+                        @if($point->removal_reason_category === 'DURING_VISIT')
+                            <span class="ml-2 text-sm text-secondary">Removed during visit</span>
+                        @elseif($point->removal_reason_category === 'ON_INTAKE')
+                            <span class="ml-2 text-sm text-secondary">Removed on intake</span>
+                        @endif
+                    <?php elseif ($point->added_in_note_id === $note->id): ?>
+                        <?php if ($point->addition_reason_category === 'DURING_VISIT'): ?>
+                            <span class="ml-2 text-sm text-success">* Diagnosed during visit</span>
+                        <?php else: ?>
+                            <span class="ml-2 text-sm text-info">* Added on intake</span>
+                        <?php endif;?>
+                    <?php endif; ?>
+                </div>
+            </td>
+           <td></td>
+        </tr>
+    <?php endforeach; ?>
+    </table>
+<?php endif; ?>
+

+ 10 - 0
resources/views/app/patient/segment-templates/subjective_general_v2/summary.blade.php

@@ -0,0 +1,10 @@
+<?php
+$category = 'SUBJECTIVE_GENERAL';
+include resource_path('views/app/patient/segment-templates/_simple_text_segment/summary.php');
+?>
+
+@include('app.patient.segment-templates.subjective_general_v2.allergies')
+@include('app.patient.segment-templates.subjective_general_v2.medications')
+@include('app.patient.segment-templates.subjective_general_v2.problems')
+@include('app.patient.segment-templates.subjective_general_v2.goals')
+@include('app.patient.segment-templates.subjective_general_v2.care_team')