Procházet zdrojové kódy

Merge branch 'dev' of rav.triplestart.com:jmudaka/stagfe2

= před 3 roky
rodič
revize
8985e40030

+ 19 - 0
config/patient-intake-data.php

@@ -0,0 +1,19 @@
+<?php 
+
+return [
+    'height' => 'Height',
+    'weight' => 'Weight',
+    'last_vitamin_d' => 'Last Vitamin D',
+    'ethnicity' => 'Ethnicity',
+    'ethnicity_checkboxes' => [
+        'is_hispanic' => 'Hispanic',
+        'is_black_or_aa' => 'Black or African American',
+        'is_native_american' => 'Native American'
+    ],
+    'hypertension' => 'Hypertension',
+    'diabetes' => 'Diabetes',
+    'copd' => 'COPD',
+    'arthritis' => 'Arthritis',
+    'emailAddress' => 'Email Address',
+    'stickyNote' => 'Sticky Note'
+];

+ 3 - 0
resources/views/app/new-patient.blade.php

@@ -14,6 +14,9 @@ $medicaidStates = Config::get('constants.medicaid_states');
 	.form-control:focus {
 		color: rgb(0, 54, 175);
 	}
+	#newPatientContainer label {
+		font-size: 11px;
+	}
 </style>
 
 <div class="p-3 mcp-theme-1" id="newPatientContainer" v-cloak>

+ 24 - 24
resources/views/app/patient/create-patient/demographics-form.blade.php

@@ -14,16 +14,16 @@
 	</div>
 	<div class="col-md-12">
 		<div class="row form-group align-items-center">			
-				<label class="col-md-3 font-weight-bold m-0">Email:</label>
-			<div class="col-md-9">	
+				<label class="col col-label font-weight-bold m-0">Email:</label>
+			<div class="col-md-10">	
 				<input class='form-control' type='email' placeholder="Email Address" name='emailAddress'>
 			</div>
 		</div>
 	</div>
 	<div class="col-md-12">
 		<div class="row form-group align-items-center">			
-				<label class="col-md-3 font-weight-bold m-0">Gender:</label>
-				<div class="col-md-9">
+				<label class="col-md-2 pr-0 font-weight-bold m-0">Gender:</label>
+				<div class="col-md-10">
 					<select class="form-control input-sm" name="patientSex" select2>
 						<option value="">--</option>
 						<option value="M">Male</option>
@@ -36,18 +36,18 @@
 </div>
 <div class="row">
 	<div class="col-12">
-		<div class="row form-group">
-			<label class="col-md-3 font-weight-bold m-0">DOB: <span class="text-danger">*</span></label>
-			<div class="col-md-9">	
+		<div class="row align-items-center form-group">
+			<label class="col-md-2 pr-0 font-weight-bold m-0">DOB: <span class="text-danger">*</span></label>
+			<div class="col-md-10">	
 				<input type="date" required name="patientDob" value="" class="form-control input-sm">
 			</div>
 		</div>
 	</div>
 
 	<div class="col-12">
-		<div class="row form-group">			
-			<label class="col-md-3 font-weight-bold m-0">Service:</label>
-			<div class="col-md-9">	
+		<div class="row align-items-center form-group">			
+			<label class="col-md-2 pr-0 font-weight-bold m-0">Service:</label>
+			<div class="col-md-10">	
 				<input type="date" name="dateOfService" value="{{date('Y-m-d')}}" class="form-control input-sm">
 			</div>
 		</div>
@@ -59,9 +59,9 @@
 @if($pro->pro_type === 'ADMIN')
 <div class="row">
 	<div class="col-12">
-		<div class="row form-group">			
-			<label class="col-md-3 font-weight-bold m-0">HCP Pro:</label>
-			<div class="col-md-9">	
+		<div class="row align-items-center form-group">			
+			<label class="col-md-2 pr-0 font-weight-bold m-0">HCP Pro:</label>
+			<div class="col-md-10">	
 				<select name="hcpProUid" class="form-control input-sm" provider-search provider-type="hcp">
 					<option value="">--select--</option>
 				</select>
@@ -69,9 +69,9 @@
 		</div>
 	</div>
 	<div class="col-12">
-		<div class="row form-group">		
-			<label class='col-md-3 font-weight-bold m-0'>Coordinator:</label>
-			<div class="col-md-9">
+		<div class="row align-items-center form-group">		
+			<label class='col-md-2 pr-0 font-weight-bold m-0' style="font-size:10px !important;">Coordinator:</label>
+			<div class="col-md-10">
 				<select name="assistantProUid" class="form-control input-sm" provider-search provider-type="default-na">
 					<option value="">--select--</option>
 				</select>
@@ -83,8 +83,8 @@
 <div class="row">
 	<div class="col-md-12">
 		<div class='row form-group'>			
-				<label class="col-md-3 font-weight-bold m-0">HCP Pro:</label>
-			<div class="col-md-9">	
+				<label class="col-md-2 pr-0 font-weight-bold m-0">HCP Pro:</label>
+			<div class="col-md-10">	
 				<input type="text" class="form-control" readonly value="{{$pro->displayName()}}">
 				<input type="hidden" name="hcpProUid" value="{{$pro->uid}}">
 			</div>
@@ -94,9 +94,9 @@
 @elseif($pro->isDefaultNA())
 <div class="row">
 	<div class="col-12">
-		<div class="row form-group">			
-				<label class="col-md-3 font-weight-bold m-0">HCP Pro:</label>
-				<div class="col-md-9">
+		<div class="row align-items-center form-group">			
+				<label class="col-md-2 pr-0 font-weight-bold m-0">HCP Pro:</label>
+				<div class="col-md-10">
 				<?php $teams = $pro->teamsWhereAssistant; ?>
 				<select name="hcpProUid" class="form-control">
 					@if(count($teams) > 1)
@@ -111,9 +111,9 @@
 	</div>
 
 	<div class="col-12">
-		<div class="row form-group">			
-			<label class='col-md-3 font-weight-bold m-0'>Coordinator:</label>
-			<div class="col-md-9">	
+		<div class="row align-items-center form-group">			
+			<label class='col-md-2 pr-0 font-weight-bold m-0'>Coordinator:</label>
+			<div class="col-md-10">	
 				<input type="text" class="form-control" readonly value="{{$pro->displayName()}}">
 				<input type="hidden" name="assistantProUid" value="{{$pro->uid}}">
 			</div>

+ 1 - 6
resources/views/app/patient/intake-data/grid-patient-intake-data-display.blade.php

@@ -3,11 +3,6 @@
 		<tr>
 		<th colspan="2">Patient Intake Data</th>
 		</tr>
-		@foreach($intakeDataFields as $key=>$label)
-		<tr>
-			<td>{{ $label }}</td>
-			<td>{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}</td>
-		</tr>
-		@endforeach
+		@include('app.patient.intake-data.intake-data-display')
 	</table>
 </div>

+ 29 - 37
resources/views/app/patient/intake-data/grid-patient-intake-data-form.blade.php

@@ -1,19 +1,10 @@
 <?php
-	$intakeDataFields = [
-		'height' => 'Height',
-		'weight' => 'Weight',
-		'last_vitamin_d' => 'Last Vitamin D',
-		'ethnicity' => 'Ethnicity',
-		'hypertension' => 'Hypertension',
-		'diabetes' => 'Diabetes',
-		'copd' => 'COPD',
-		'arthritis' => 'Arthritis',
-	];
-	$patientCanvasData = json_decode($patient->canvas_data ?? null);
-	$patientIntakeData = null;
-	if($patientCanvasData && @$patientCanvasData->INTAKE_DATA){
-		$patientIntakeData = @$patientCanvasData->INTAKE_DATA;
-	}
+$intakeDataFields = config('patient-intake-data');
+$patientCanvasData = json_decode($patient->canvas_data ?? null);
+$patientIntakeData = null;
+if ($patientCanvasData && @$patientCanvasData->INTAKE_DATA) {
+	$patientIntakeData = @$patientCanvasData->INTAKE_DATA;
+}
 ?>
 
 <div id="grid-patient-intake-data-form" visit-moe moe relative wide class="ml-2 hide-inside-popup">
@@ -26,15 +17,7 @@
 			<input type="hidden" name="uid" value="{{$patient->uid}}">
 			<input type="hidden" name="key" value="INTAKE_DATA">
 			<input type="hidden" name="data">
-			<div class="row">
-				@foreach($intakeDataFields as $key=>$label)
-				<div class="col-md-6 mb-2">
-					<label class="text-secondary text-sm font-weight-bold">{{ $label }}</label>
-					<input name="{{$key}}" class="form-control" value="{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}" />
-				</div>
-				@endforeach
-			</div>
-
+			@include('app.patient.intake-data.intake-data-form-fields')
 			<div class="mb-2">
 				<button submit class="btn btn-sm btn-primary mr-1">Submit</button>
 				<button cancel class="btn btn-sm btn-default border">
@@ -48,47 +31,56 @@
 <script>
 	(function() {
 		function init() {
-			(function($){
+			(function($) {
 				var patientDataIntake = {
 					form: null,
-					data:{},
+					data: {},
 					showForm: false,
 					patientIntakeData: <?= json_encode($patientIntakeData) ?>,
-					initOnInputChange: function(){
+					initOnInputChange: function() {
 						var self = this;
-						self.form.find('input').change(function(evt){
+						self.form.find('input, textarea').change(function(evt) {
 							var input = evt.target;
 							var name = input.name;
 							var value = input.value;
-							self.data[name] = value;
+							if($(input).is(':checkbox')){
+								var isChecked =input.checked ? true:false;
+								if(isChecked){
+									self.data[name] = value;
+								}else{
+									delete self.data[name];
+								}
+							}else{
+								self.data[name] = value;	
+							}
 							self.updateJsonStringValue();
 						});
 					},
-					updateJsonStringValue: function(){
+					updateJsonStringValue: function() {
 						var self = this;
 						self.form.find('input[name=data]').val(JSON.stringify(self.data));
 					},
-					toggleForm: function(){
+					toggleForm: function() {
 						var target = $('#gridPatientIntakeFormSection');
 						var table = $('#gridPatientIntakeDataDisplay');
-						if(this.showForm){
+						if (this.showForm) {
 							target.removeClass('d-none');
 							table.addClass('d-none');
-						}else{
+						} else {
 							target.addClass('d-none');
 							table.removeClass('d-none');
 						}
 					},
-					setDefaultData: function(){
+					setDefaultData: function() {
 						var self = this;
-						if(!this.patientIntakeData) return;
-						for(var f in this.patientIntakeData){
+						if (!this.patientIntakeData) return;
+						for (var f in this.patientIntakeData) {
 							var value = this.patientIntakeData[f];
 							self.data[f] = value;
 						}
 						self.updateJsonStringValue();
 					},
-					init: function(){
+					init: function() {
 						this.form = $('#gridPatientIntakeDataForm');
 						this.initOnInputChange();
 						this.setDefaultData();

+ 15 - 0
resources/views/app/patient/intake-data/intake-data-display.blade.php

@@ -0,0 +1,15 @@
+@foreach($intakeDataFields as $key=>$label)
+	@if($key == 'ethnicity_checkboxes')
+		@foreach($label as $eKey => $eLabel)
+		<tr>
+			<td>{{ $eLabel }}</td>
+			<td>{{ $patientIntakeData ? @$patientIntakeData->{$eKey}:'' }}</td>
+		</tr>
+		@endforeach
+	@else
+	<tr>
+		<td>{{ $label }}</td>
+		<td>{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}</td>
+	</tr>
+	@endif
+@endforeach

+ 31 - 0
resources/views/app/patient/intake-data/intake-data-form-fields.blade.php

@@ -0,0 +1,31 @@
+<div class="row">
+	@foreach($intakeDataFields as $key=>$label)
+	@if($key == 'stickyNote')
+	<div class="col-md-12 mb-2">
+		<label class="text-secondary text-sm font-weight-bold">{{ $label }}</label>
+		<textarea name="{{$key}}" class="form-control">{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}</textarea>
+	</div>
+	@elseif($key == 'emailAddress')
+	<div class="col-md-12 mb-2">
+		<label class="text-secondary text-sm font-weight-bold">{{ $label }}</label>
+		<input name="{{$key}}" class="form-control" value="{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}" />
+	</div>
+	@elseif($key == 'ethnicity_checkboxes')
+	<div class="col-md-12 mt-2 mb-2">
+		@foreach($label as $eKey => $eLabel)
+		<div class="form-check form-check-inline">
+			<label class="form-check-label">
+				<input name="{{$eKey}}" class="form-check-input" type="checkbox" value="YES" <?= $patientIntakeData && @$patientIntakeData->{$eKey} === 'YES' ? 'checked':'' ?> />
+				{{$eLabel}}
+			</label>
+		</div>
+		@endforeach
+	</div>
+	@else
+	<div class="col-md-6 mb-2">
+		<label class="text-secondary text-sm font-weight-bold">{{ $label }}</label>
+		<input name="{{$key}}" class="form-control" value="{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}" />
+	</div>
+	@endif
+	@endforeach
+</div>

+ 1 - 10
resources/views/app/patient/intake-data/intake-data.blade.php

@@ -1,14 +1,5 @@
 <?php
-	$intakeDataFields = [
-		'height' => 'Height',
-		'weight' => 'Weight',
-		'last_vitamin_d' => 'Last Vitamin D',
-		'ethnicity' => 'Ethnicity',
-		'hypertension' => 'Hypertension',
-		'diabetes' => 'Diabetes',
-		'copd' => 'COPD',
-		'arthritis' => 'Arthritis',
-	];
+	$intakeDataFields = config('patient-intake-data');
 	$patientCanvasData = json_decode($patient->canvas_data ?? null);
 	$patientIntakeData = null;
 	if($patientCanvasData && @$patientCanvasData->INTAKE_DATA){

+ 1 - 6
resources/views/app/patient/intake-data/patient-intake-data-display.blade.php

@@ -3,11 +3,6 @@
 		<tr>
 		<th colspan="2">Patient Intake Data</th>
 		</tr>
-		@foreach($intakeDataFields as $key=>$label)
-		<tr>
-			<td>{{ $label }}</td>
-			<td>{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}</td>
-		</tr>
-		@endforeach
+		@include('app.patient.intake-data.intake-data-display')
 	</table>
 </div>

+ 14 - 22
resources/views/app/patient/intake-data/patient-intake-data-form.blade.php

@@ -1,14 +1,5 @@
 <?php
-	$intakeDataFields = [
-		'height' => 'Height',
-		'weight' => 'Weight',
-		'last_vitamin_d' => 'Last Vitamin D',
-		'ethnicity' => 'Ethnicity',
-		'hypertension' => 'Hypertension',
-		'diabetes' => 'Diabetes',
-		'copd' => 'COPD',
-		'arthritis' => 'Arthritis',
-	];
+	$intakeDataFields = config('patient-intake-data');
 	$patientCanvasData = json_decode($patient->canvas_data ?? null);
 	$patientIntakeData = null;
 	if($patientCanvasData && @$patientCanvasData->INTAKE_DATA){
@@ -36,15 +27,7 @@
 			<input type="hidden" name="uid" value="{{$patient->uid}}">
 			<input type="hidden" name="key" value="INTAKE_DATA">
 			<input type="hidden" name="data">
-			<div class="row">
-				@foreach($intakeDataFields as $key=>$label)
-				<div class="col-md-6 mb-2">
-					<label class="text-secondary text-sm font-weight-bold">{{ $label }}</label>
-					<input name="{{$key}}" class="form-control" value="{{ $patientIntakeData ? @$patientIntakeData->{$key}:'' }}" />
-				</div>
-				@endforeach
-			</div>
-
+				@include('app.patient.intake-data.intake-data-form-fields')
 			<div class="mb-2">
 				<button submit class="btn btn-sm btn-primary mr-1">Submit</button>
 				<button cancel class="btn btn-sm btn-default border">
@@ -66,11 +49,21 @@
 					patientIntakeData: <?= json_encode($patientIntakeData) ?>,
 					initOnInputChange: function(){
 						var self = this;
-						self.form.find('input').change(function(evt){
+						self.form.find('input, textarea').change(function(evt){
 							var input = evt.target;
 							var name = input.name;
 							var value = input.value;
-							self.data[name] = value;
+							if($(input).is(':checkbox')){
+								var isChecked =input.checked ? true:false;
+								if(isChecked){
+									self.data[name] = value;
+								}else{
+									delete self.data[name];
+								}
+							}else{
+								self.data[name] = value;	
+							}
+							
 							self.updateJsonStringValue();
 						});
 					},
@@ -110,7 +103,6 @@
 						for(var f in this.patientIntakeData){
 							var value = this.patientIntakeData[f];
 							self.data[f] = value;
-							console.log({f});
 						}
 						self.updateJsonStringValue();
 					},