|
@@ -0,0 +1,159 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+use App\Models\Client;
|
|
|
|
+use App\Models\Point;
|
|
|
|
+use App\Models\Note;
|
|
|
|
+/** @var Client $patient */
|
|
|
|
+/** @var Note $note */
|
|
|
|
+
|
|
|
|
+if(!@$note) {
|
|
|
|
+ $note = $patient->coreNote;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+$fields = [
|
|
|
|
+ [
|
|
|
|
+ "Head" => ["Trauma"],
|
|
|
|
+ "Eyes" => ["Blindness", "Cataracts", "Glaucoma", "Wears glasses/contacts"],
|
|
|
|
+ "Ears" => ["Hearing aids"],
|
|
|
|
+ "Nose/Sinuses" => ["Allergic Rhinitis", "Sinus infections"],
|
|
|
|
+ "Mouth/Throat/Teeth" => ["Dentures"],
|
|
|
|
+ "Cardiovascular" => ["Aneurysm", "Angina", "DVT", "Dysrhythmia", "HTN", "Murmur", "Myocardial infarction", "Other heart disease"],
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ "Respiratory" => ["Asthma", "Bronchitis", "COPD - Bronchitis/Emphysema", "Pleuritis", "Pneumonia"],
|
|
|
|
+ "Gastrointestinal" => ["Cirrhosis", "GERD", "Gallbladder disease", "Heartburn", "Hemorrhoids", "Hepatitis", "Hiatal hernia", "Jaundice", "Ulcer"],
|
|
|
|
+ "Genitourinary" => ["Hernia", "Incontinence", "Nephrolithiasis", "Other kidney disease", "STDs", "UTI(s)"],
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ "Musculoskeletal" => ["Arthritis", "Gout", "M/S injury"],
|
|
|
|
+ "Skin" => ["Dermatitis", "Mole(s)", "Other skin condition(s)", "Psoriasis"],
|
|
|
|
+ "Neurological" => ["Epilepsy", "Seizures", "Severe headaches, migraines", "Stroke", "TIA"],
|
|
|
|
+ "Psychiatric" => ["Bipolar disorder", "Depression", "Hallucinations, delusions", "Suicidal ideation", "Suicide attempts"],
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ "Endocrine" => ["Goiter", "Hyperlipidemia", "Hypothyroidism", "Thyroid disease", "Thyroiditis", "Type I DM", "Type II DM"],
|
|
|
|
+ "Heme/Onc" => ["Anemia", "Cancer"],
|
|
|
|
+ "Infectious" => ["HIV", "STDs", "Tuberculosis (dz)", "Tuberculosis (exposure)"],
|
|
|
|
+ ]
|
|
|
|
+];
|
|
|
|
+
|
|
|
|
+$contentData = [
|
|
|
|
+ "bloodType" => "",
|
|
|
|
+ "bloodRH" => "",
|
|
|
|
+ "common" => [],
|
|
|
|
+ "customFields" => [],
|
|
|
|
+ "comments" => "",
|
|
|
|
+];
|
|
|
|
+$isempty = false;
|
|
|
|
+
|
|
|
|
+if(!@$sessionKey) {
|
|
|
|
+ $sessionKey = request()->cookie('sessionKey');
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+$point = Point::getOrCreateOnlyTopLevelPointOfCategory($note, 'PAST_MEDICAL_HISTORY', $sessionKey, true);
|
|
|
|
+
|
|
|
|
+$contentData = $parsed = false;
|
|
|
|
+
|
|
|
|
+$rel = !!$point->relevanceToNote($note);
|
|
|
|
+
|
|
|
|
+if ($point->lastChildReview && $point->lastChildReview->data && ($rel || $point->lastChildReview->added_in_note_id === $note->id)) {
|
|
|
|
+ $point->lastChildReview->data = json_decode($point->lastChildReview->data, true);
|
|
|
|
+ $contentData = $parsed = $point->lastChildReview->data;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+if ($contentData) {
|
|
|
|
+
|
|
|
|
+ $blood = [];
|
|
|
|
+ if(isset($contentData['bloodType'])) {
|
|
|
|
+ $blood[] = $contentData['bloodType'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($contentData['bloodRH'])) {
|
|
|
|
+ $blood[] = $contentData['bloodRH'];
|
|
|
|
+ }
|
|
|
|
+ $blood = implode(" ", $blood);
|
|
|
|
+ if(!empty(trim($blood))) { ?>
|
|
|
|
+ <div class="mb-2">
|
|
|
|
+ <div>Blood Type & RH: <b><?= $blood ?></b></div>
|
|
|
|
+ </div>
|
|
|
|
+ <?php }
|
|
|
|
+
|
|
|
|
+ $commonMap = [];
|
|
|
|
+
|
|
|
|
+ for ($i = 0; $i < count($fields); $i++):
|
|
|
|
+ foreach($fields[$i] as $head => $values):
|
|
|
|
+ for($k = 0; $k < count($values); $k++):
|
|
|
|
+ $value = $values[$k];
|
|
|
|
+ $fName = $head . '_' . sanitize_field_name($values[$k]);
|
|
|
|
+ if(@$contentData['common'][$fName]) {
|
|
|
|
+ if(!isset($commonMap[$head])) {
|
|
|
|
+ $commonMap[$head] = [];
|
|
|
|
+ }
|
|
|
|
+ $commonMap[$head][] = ['value' => $value, 'fName' => $fName, 'comments' => @$contentData['common'][$fName.'__comments']];
|
|
|
|
+ ?>
|
|
|
|
+ <div class="d-none">
|
|
|
|
+ <?= ucwords($head) ?>
|
|
|
|
+ <i class="fa fa-arrow-right text-sm text-secondary"></i>
|
|
|
|
+ <span class="font-weight-bold"><?= $values[$k] ?></span>
|
|
|
|
+ <?php if(@$contentData['common'][$fName . '__comments']): ?>
|
|
|
|
+ <span class="text-sm ml-1 text-secondary">(<?= $contentData['common'][$fName . '__comments'] ?>)</span>
|
|
|
|
+ <?php endif; ?>
|
|
|
|
+ </div>
|
|
|
|
+ <?php
|
|
|
|
+ }
|
|
|
|
+ endfor;
|
|
|
|
+ endforeach;
|
|
|
|
+ endfor;
|
|
|
|
+
|
|
|
|
+ // var_dump(json_encode($commonMap));
|
|
|
|
+ ?> <table class="table-bordered table-xs table-cage mb-0"> <?php
|
|
|
|
+ foreach($commonMap as $head => $set):
|
|
|
|
+ ?>
|
|
|
|
+ <tr>
|
|
|
|
+ <td class="font-weight-bold"><?= ucwords($head) ?></td>
|
|
|
|
+ <td class="px-2">
|
|
|
|
+ <?php $out = []; foreach($set as $item) { $out[] = '<span class="__font-weight-bold">' . $item['value'] . '</span>' . ($item['comments'] ? ('<span class="text-sm ml-1 text-secondary">(' . $item['comments'] . ')</span>') : ''); } echo implode(', ', $out); ?>
|
|
|
|
+ </td>
|
|
|
|
+ <td></td>
|
|
|
|
+ </tr>
|
|
|
|
+ <?php
|
|
|
|
+ endforeach;
|
|
|
|
+ ?>
|
|
|
|
+
|
|
|
|
+ <?php
|
|
|
|
+
|
|
|
|
+ // custom fields
|
|
|
|
+
|
|
|
|
+ if(isset($contentData['customFields']) && count($contentData['customFields'])):
|
|
|
|
+ ?> <tr class=""> <?php
|
|
|
|
+ for ($i = 0; $i < count($contentData['customFields']); $i++):
|
|
|
|
+ $item = $contentData['customFields'][$i];
|
|
|
|
+ if($item['value']): ?>
|
|
|
|
+ <td>
|
|
|
|
+ <span class="font-weight-bold">Other</span>
|
|
|
|
+ </td>
|
|
|
|
+ <td>
|
|
|
|
+ <span class="__font-weight-bold"><?= $item['label'] ?></span>
|
|
|
|
+ <?php if($item['comments']): ?>
|
|
|
|
+ <span class="text-sm ml-1 text-secondary">(<?= $item['comments'] ?>)</span>
|
|
|
|
+ <?php endif; ?>
|
|
|
|
+ </td>
|
|
|
|
+ <td></td>
|
|
|
|
+ <?php
|
|
|
|
+ endif;
|
|
|
|
+ endfor;
|
|
|
|
+ ?> </tr> <?php
|
|
|
|
+ endif;
|
|
|
|
+
|
|
|
|
+ echo '</table>';
|
|
|
|
+
|
|
|
|
+ if(isset($contentData['comments']) && !empty(trim($contentData['comments']))) { ?>
|
|
|
|
+ <div class="mt-2 mb-1">
|
|
|
|
+ <b>Comments: </b><?= $contentData['comments'] ?>
|
|
|
|
+ </div>
|
|
|
|
+ <?php }
|
|
|
|
+
|
|
|
|
+} else {
|
|
|
|
+ echo '<div class="text-secondary">-</div>';
|
|
|
|
+}
|
|
|
|
+?>
|
|
|
|
+
|