Ver código fonte

Merge branch 'sleep-apnea-intake' of https://rav.triplestart.com/jmudaka/stagfe2 into sleep-apnea-intake

Peter Muturi 2 anos atrás
pai
commit
91e5b15837

+ 18 - 28
resources/views/app/patient/modules/sleep_study_intake/edit.blade.php

@@ -16,8 +16,8 @@ $point = Point::getOrCreateOnlyTopLevelPointOfCategory($note, 'SLEEP_STUDY_INTAK
 
 // replace content data
 $contentData = [
-	"cheif_complaint" => "",
-	"Dozing" => ""
+	"Dozing" => "",
+	"Score" => 0
 ];
 
 if ($point->lastChildReview && $point->lastChildReview->data) {
@@ -43,7 +43,6 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
 			<input type="hidden" name="noteUid" value="<?= $note->uid ?>">
 			<input type="hidden" name="segmentUid" value="<?= $note->coreSegment->uid ?>">
 			<input type="hidden" name="data" value="{{json_encode($contentData)}}">
-			<input type="hidden" name="mainData" value="{{json_encode($contentData)}}">
 
 			<div id="edit-sleep_study_intake-container" class="customized-form">
 
@@ -83,19 +82,19 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
 					defaultDropdownOptions: {
 						Dozing: [{
 								label: 'Never Chance of Doze',
-								value: 0
+								value: 'Never Chance of Doze'
 							},
 							{
 								label: 'Slight Chance of Dozing',
-								value: 1
+								value: 'Slight Chance of Dozing'
 							},
 							{
 								label: 'Moderate Chance of Dozing',
-								value: 2
+								value: 'Moderate Chance of Dozing'
 							},
 							{
 								label: 'High Chance of Dozing',
-								value: 3
+								value: 'High Chance of Dozing'
 							},
 						],
 						Sitting: [{
@@ -247,23 +246,11 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
 				methods: {
 					autoSaveForm: function(){
 						var self = this;
-                        var url = self.form.attr('url');
-                        var data = self.data;
-                        var dataInput = self.form.find('[name="mainData"]');
-                        dataInput.val(JSON.stringify(data));
-                        var dataArray = self.form.serializeArray();
-						var newDataArray = [];
-						for(var i = 0; i < dataArray.length; i++){
-							var field = dataArray[i];
-							console.log({field});
-							if(field.name !== 'data'){
-								console.log({name: field.name});
-								newDataArray.push(field);
-							}
-						}
-                        dataArray.push({name: 'data', value: dataInput.val()});
-						console.log({data, dataArray});
-                        // $.post(url, dataArray, function(response) {}, 'json');
+						var url = self.form.attr('url');
+						self.form.find('input[name=data]').val(JSON.stringify(self.data));
+						// autosave on change
+						var dataArray = self.form.serializeArray();
+						$.post(url, dataArray, function(response) {}, 'json');
 					},
 					_autoSaveForm: function(){
 						let parent = $('#edit-sleep_study_intake-container').closest('form');
@@ -273,9 +260,10 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
 							autoSaveSegment(parent.find('[submit]').first());
 					},
 					saveForm: function() {
-						let parent = $('#edit-sleep_study_intake-container').closest('form');
-						parent.find('[name="data"]').val(JSON.stringify(this.data));
-						autoSaveSegmentAndClose(parent.find('[submit]').first());
+						this.autoSaveForm();
+						closeStagPopup();
+						refreshSegment('omega_subjective_system');
+						refreshSegment('omega_plan_system');
 					},
 					undoChanges: function() {
 						$.post('/api/visitPoint/destroyCurrentChildReview', {
@@ -296,9 +284,11 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
                         $.each(fields, function(i, field) {
                             var value = parseInt($(field).val());
                             value = isNaN(value) ? 0 : value;
+							console.log({value});
                             score = score + value;
                         });
                         self.data.Score = score;
+						self.$forceUpdate();
                         self.autoSaveForm();
                     },
                     initOnSelectChange: function() {
@@ -314,7 +304,7 @@ if ($point->lastChildReview && $point->lastChildReview->data) {
 						this.$forceUpdate();
 					}
 					this.initOnSelectChange();
-					console.log('DATA: ', this.data);
+					console.log('1: DATA: ', this.data);
 				}
 			});
 

+ 111 - 121
resources/views/app/patient/modules/sleep_study_intake/partials/epworth_sleepiness_study.blade.php

@@ -1,123 +1,113 @@
 <div class="row mb-1">
-					<div class="col-md-12">
-						<h6 class="my-3"><b><u>Epworth Sleepiness Scale</u></b></h6>
-					</div>
-					<div class="col-md-12 section bg-light pt-2 mb-3">
-						<div class="mb-2">
-							<label class="text-sm text-secondary mb-1">How likely are you to doze off or fall asleep in the following situations, in contrast to feeling just tired? This refers to your usual way of life in recent times. Use the following scale (0, 1, 2, and 3) to choose the most appropriate number for each situation.</label>
-							<div class="d-flex align-items-center">
-								<select v-if="data.dropdownOptions" data-name="Dozing" class="form-control form-control-sm select-esc-option" score-input v-model="data.Dozing">
-									<option value=""></option>
-									<option v-for="o in data.dropdownOptions.Dozing" :value="o.value">@{{ o.label }}</option>
-								</select>
-								<div>
-									<span add-dropdown-option data-name="Dozing" data-title="Dozing" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-								</div>
+    <div class="col-md-12">
+        <h6 class="my-3"><b><u>Epworth Sleepiness Scale</u></b></h6>
+    </div>
+    <div class="col-md-12 section bg-light pt-2 mb-3">
+        <div class="mb-2">
+            <label class="text-sm text-secondary mb-1">How likely are you to doze off or fall asleep in the following situations, in contrast to feeling just tired? This refers to your usual way of life in recent times. Use the following scale (0, 1, 2, and 3) to choose the most appropriate number for each situation.</label>
+            <div class="d-flex align-items-center">
+                <select v-if="data.dropdownOptions" data-name="Dozing" class="form-control form-control-sm select-esc-option" v-model="data.Dozing">
+                    <option value=""></option>
+                    <option v-for="o in data.dropdownOptions.Dozing" :value="o.value">@{{ o.label }}</option>
+                </select>
+                <div>
+                    <span add-dropdown-option data-name="Dozing" data-title="Dozing" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+                </div>
 
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Sitting and reading</label>
-							<select v-if="data.dropdownOptions" data-name="Sitting" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Sitting" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Sitting" data-title="Sitting" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Sitting and reading</label>
-							<select v-if="data.dropdownOptions" data-name="Sitting" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Sitting" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Sitting" data-title="Sitting" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Watching TV</label>
-							<select v-if="data.dropdownOptions" data-name="Watching" class="form-control form-control-sm select-esc-option" score-input v-model="data.Watching">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Watching" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Watching" data-title="Watching" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Sitting inactive in a public place (e.g. a theatre or a meeting)</label>
-							<select v-if="data.dropdownOptions" data-name="Sitting_Inactive" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting_Inactive">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Sitting_Inactive" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Sitting_Inactive" data-title="Sitting Inactive" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">As a passenger in a car for an hour without a break</label>
-							<select v-if="data.dropdownOptions" data-name="Passenger_Car" class="form-control form-control-sm select-esc-option" score-input v-model="data.Passenger_Car">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Passenger_Car" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Passenger_Car" data-title="Passenger Car" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Sitting quietly after a lunch without alcohol</label>
-							<select v-if="data.dropdownOptions" data-name="Sitting_Quietly" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting_Quietly">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Sitting_Quietly" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Sitting_Quietly" data-title="Sitting Quietly" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Lying down to rest in the afternoon when circumstances permit</label>
-							<select v-if="data.dropdownOptions" data-name="LyingDown" class="form-control form-control-sm select-esc-option" score-input v-model="data.LyingDown">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.LyingDown" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="LyingDown" data-title="Lying Down" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">Sitting and talking to someone</label>
-							<select v-if="data.dropdownOptions" data-name="SittingandTalking" class="form-control form-control-sm select-esc-option" score-input v-model="data.SittingandTalking">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.SittingandTalking" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="SittingandTalking" data-title="Sitting and Talking" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="d-flex align-items-center flex-wrap mb-2">
-							<label class="text-sm text-secondary mb-0 mr-2">In a car, while stopped for a few minutes in traffic</label>
-							<select v-if="data.dropdownOptions" data-name="Traffic" class="form-control form-control-sm select-esc-option" score-input v-model="data.Traffic">
-								<option value=""></option>
-								<option v-for="o in data.dropdownOptions.Traffic" :value="o.value">@{{ o.label }}</option>
-							</select>
-							<div>
-								<span add-dropdown-option data-name="Traffic" data-title="Traffic" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
-							</div>
-						</div>
-						<div class="my-2">
-							<div class="d-flex align-items-center">
-								<span class="font-weight-bold">Score:</span>
-								<div class="border p-2 mx-1" style="width:50px;">
-									<input type="hidden" name="Score" v-model="data.Score">
-									<span id="scoreValue">@{{ data.Score }}</span>
-								</div>
-								<div class="d-none">
-									<span class="mr-1 text-primary c-pointer">Calculate</span>
-									<span class="text-danger c-pointer">Clear</span>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Sitting and reading</label>
+            <select v-if="data.dropdownOptions" data-name="Sitting" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Sitting" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Sitting" data-title="Sitting" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Watching TV</label>
+            <select v-if="data.dropdownOptions" data-name="Watching" class="form-control form-control-sm select-esc-option" score-input v-model="data.Watching">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Watching" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Watching" data-title="Watching" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Sitting inactive in a public place (e.g. a theatre or a meeting)</label>
+            <select v-if="data.dropdownOptions" data-name="Sitting_Inactive" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting_Inactive">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Sitting_Inactive" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Sitting_Inactive" data-title="Sitting Inactive" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">As a passenger in a car for an hour without a break</label>
+            <select v-if="data.dropdownOptions" data-name="Passenger_Car" class="form-control form-control-sm select-esc-option" score-input v-model="data.Passenger_Car">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Passenger_Car" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Passenger_Car" data-title="Passenger Car" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Sitting quietly after a lunch without alcohol</label>
+            <select v-if="data.dropdownOptions" data-name="Sitting_Quietly" class="form-control form-control-sm select-esc-option" score-input v-model="data.Sitting_Quietly">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Sitting_Quietly" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Sitting_Quietly" data-title="Sitting Quietly" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Lying down to rest in the afternoon when circumstances permit</label>
+            <select v-if="data.dropdownOptions" data-name="LyingDown" class="form-control form-control-sm select-esc-option" score-input v-model="data.LyingDown">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.LyingDown" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="LyingDown" data-title="Lying Down" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">Sitting and talking to someone</label>
+            <select v-if="data.dropdownOptions" data-name="SittingandTalking" class="form-control form-control-sm select-esc-option" score-input v-model="data.SittingandTalking">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.SittingandTalking" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="SittingandTalking" data-title="Sitting and Talking" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="d-flex align-items-center flex-wrap mb-2">
+            <label class="text-sm text-secondary mb-0 mr-2">In a car, while stopped for a few minutes in traffic</label>
+            <select v-if="data.dropdownOptions" data-name="Traffic" class="form-control form-control-sm select-esc-option" score-input v-model="data.Traffic">
+                <option value=""></option>
+                <option v-for="o in data.dropdownOptions.Traffic" :value="o.value">@{{ o.label }}</option>
+            </select>
+            <div>
+                <span add-dropdown-option data-name="Traffic" data-title="Traffic" class="ml-1 c-pointer" data-toggle="modal" data-target="#addDropdownOptionModal"><i class="fas fa-plus-circle fa-fw text-success"></i></span>
+            </div>
+        </div>
+        <div class="my-2">
+            <div class="d-flex align-items-center">
+                <span class="font-weight-bold">Score:</span>
+                <div class="border p-2 mx-1" style="width:50px;">
+                    <input type="hidden" data-name="Score" name="Score" v-model="data.Score">
+                    <span id="scoreValue">@{{ data.Score }}</span>
+                </div>
+                <div class="d-none">
+                    <span class="mr-1 text-primary c-pointer">Calculate</span>
+                    <span class="text-danger c-pointer">Clear</span>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 3 - 0
resources/views/app/patient/modules/sleep_study_intake/partials/obstructive_sleep_apnea.blade.php

@@ -0,0 +1,3 @@
+<div class="row mb-1">
+    
+</div>