|
@@ -12,13 +12,21 @@ use \App\Models\Segment;
|
|
|
$problems = Point::getPlanPointsOfCategory($patient, 'PROBLEM', $note);
|
|
|
$intakeOrVisit = 'PLAN';
|
|
|
|
|
|
+$relevance = Point::where('added_in_segment_id', $segment->id)->where('category', 'PROBLEMS_RELEVANT_TO_NOTE')->orderBy('id', 'DESC')->first();
|
|
|
+if (!!@$relevance->data) {
|
|
|
+ $relevance = json_decode($relevance->data, true);
|
|
|
+}
|
|
|
+else {
|
|
|
+ $relevance = [];
|
|
|
+}
|
|
|
+
|
|
|
?>
|
|
|
<div>
|
|
|
|
|
|
- <div class="d-flex mb-2">
|
|
|
- <table class="table table-sm table-bordered table-striped mb-0 bg-white">
|
|
|
+ <table class="table table-sm table-bordered table-striped mb-0 bg-white mb-2">
|
|
|
<thead>
|
|
|
<tr class="">
|
|
|
+ <th class="border-bottom-0 width-100px text-info">Relevant to<br>this visit</th>
|
|
|
<th class="border-bottom-0">Problem</th>
|
|
|
<th class="border-bottom-0">Last Review</th>
|
|
|
<th class="border-bottom-0">Review Today</th>
|
|
@@ -26,6 +34,13 @@ $intakeOrVisit = 'PLAN';
|
|
|
</thead>
|
|
|
<?php foreach($problems as $problem): ?>
|
|
|
<tr>
|
|
|
+ <td>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <input type="checkbox" class="m-0 chk-relevance"
|
|
|
+ data-uid="{{$problem->uid}}" {{in_array($problem->uid, $relevance) ? 'checked' : ''}}>
|
|
|
+ <span> </span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
<td>
|
|
|
<div class="d-flex align-items-baseline">
|
|
|
<div class="<?= $problem->is_removed ? 'strike-through' : '' ?>">
|
|
@@ -59,45 +74,54 @@ $intakeOrVisit = 'PLAN';
|
|
|
</tr>
|
|
|
<?php endforeach; ?>
|
|
|
</table>
|
|
|
- </div>
|
|
|
|
|
|
- <div visit-moe large class="mt-1 max-width-500px">
|
|
|
- <a href="#" start show class="btn btn-sm btn btn-outline-primary">+ Add new problem, added during this visit</a>
|
|
|
- <form url="/api/visitPoint/addTopLevelDuringVisit" class="mcp-theme-1">
|
|
|
- <input type="hidden" name="segmentUid" value="<?= $segment->uid ?>">
|
|
|
- <input type="hidden" name="category" value="PROBLEM">
|
|
|
- <input type="hidden" name="data">
|
|
|
-
|
|
|
- <input type="hidden" data-name="dxid">
|
|
|
- <input type="hidden" data-name="icd-type">
|
|
|
-
|
|
|
- <p class="mb-2"><b>Add Problem (plan)</b></p>
|
|
|
-
|
|
|
- <div class="mb-2">
|
|
|
- <label class="text-sm text-secondary mb-1">Name</label>
|
|
|
- <input type="text" data-name="name" class="form-control form-control-sm"
|
|
|
- stag-suggest
|
|
|
- stag-suggest-ep="/fdb-dx-suggest/json">
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="mb-2">
|
|
|
- <label class="text-sm text-secondary mb-1">ICD</label>
|
|
|
- <select data-name="icd"
|
|
|
- class="form-control form-control-sm"
|
|
|
- disabled>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="mb-2">
|
|
|
- <label class="text-sm text-secondary mb-1">Description</label>
|
|
|
- <textarea type="text" data-name="description" class="form-control form-control-sm"></textarea>
|
|
|
- </div>
|
|
|
-
|
|
|
- <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 class="d-flex align-items-center">
|
|
|
+ <div visit-moe>
|
|
|
+ <form start show url="/api/visitPoint/upsertNoteSingleton" class="mcp-theme-1" id="relevance-form">
|
|
|
+ <input type="hidden" name="segmentUid" value="<?= $segment->uid ?>">
|
|
|
+ <input type="hidden" name="category" value="PROBLEMS_RELEVANT_TO_NOTE">
|
|
|
+ <input type="hidden" name="data">
|
|
|
+ <button submit class="btn btn-sm btn-info font-weight-bold">Save Relevance</button>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <div visit-moe large class="ml-auto mt-1 max-width-500px">
|
|
|
+ <a href="#" start show class="btn btn-sm btn btn-outline-primary">+ Add new problem, added during this visit</a>
|
|
|
+ <form url="/api/visitPoint/addTopLevelDuringVisit" class="mcp-theme-1">
|
|
|
+ <input type="hidden" name="segmentUid" value="<?= $segment->uid ?>">
|
|
|
+ <input type="hidden" name="category" value="PROBLEM">
|
|
|
+ <input type="hidden" name="data">
|
|
|
+
|
|
|
+ <input type="hidden" data-name="dxid">
|
|
|
+ <input type="hidden" data-name="icd-type">
|
|
|
+
|
|
|
+ <p class="mb-2"><b>Add Problem (plan)</b></p>
|
|
|
+
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-sm text-secondary mb-1">Name</label>
|
|
|
+ <input type="text" data-name="name" class="form-control form-control-sm"
|
|
|
+ stag-suggest
|
|
|
+ stag-suggest-ep="/fdb-dx-suggest/json">
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-sm text-secondary mb-1">ICD</label>
|
|
|
+ <select data-name="icd"
|
|
|
+ class="form-control form-control-sm"
|
|
|
+ disabled>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="mb-2">
|
|
|
+ <label class="text-sm text-secondary mb-1">Description</label>
|
|
|
+ <textarea type="text" data-name="description" class="form-control form-control-sm"></textarea>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <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>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -132,11 +156,35 @@ $intakeOrVisit = 'PLAN';
|
|
|
}, 'json');
|
|
|
});
|
|
|
|
|
|
- // on route selection
|
|
|
+ // on icd selection
|
|
|
$(document).off('change', '[data-segment-template-name="<?= $segment->segmentTemplate->internal_name ?>"] [data-name="icd"]');
|
|
|
$(document).on('change', '[data-segment-template-name="<?= $segment->segmentTemplate->internal_name ?>"] [data-name="icd"]', function () {
|
|
|
parentSegment.find('input[data-name="icd-type"]').val($(this).find('option:selected').attr('data-icd-type'));
|
|
|
});
|
|
|
|
|
|
+ // relevance
|
|
|
+ $(document).off('change', '[data-segment-template-name="<?= $segment->segmentTemplate->internal_name ?>"] .chk-relevance');
|
|
|
+ $(document).on('change', '[data-segment-template-name="<?= $segment->segmentTemplate->internal_name ?>"] .chk-relevance', function () {
|
|
|
+ let uids = $('#relevance-form').find('[name="data"]').val();
|
|
|
+ if(!!uids) {
|
|
|
+ uids = JSON.parse(uids);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ uids = [];
|
|
|
+ }
|
|
|
+ let uid = $(this).attr('data-uid'), found = uids.indexOf(uid) > -1;
|
|
|
+ if(this.checked === found) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(this.checked) {
|
|
|
+ uids.push(uid);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ uids = uids.filter(_x => _x !== uid);
|
|
|
+ }
|
|
|
+ $('#relevance-form').find('[name="data"]').val(JSON.stringify(uids));
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
};
|
|
|
</script>
|