Pārlūkot izejas kodu

Merge branch 'dev' into dev-vj

Vijayakrishnan 3 gadi atpakaļ
vecāks
revīzija
bac3ff48f7

+ 25 - 0
app/Http/Controllers/PracticeManagementController.php

@@ -2160,6 +2160,31 @@ ORDER BY c.name_last, c.name_first
                 break;
         }
 
+
+        if($request->input('is_eligible_for_cm')){
+            $patients->where('is_eligible_for_cm', '=', $request->input('is_eligible_for_cm'));
+        }
+
+        if($request->input('is_enrolled_in_cm')){
+            $patients->where('is_enrolled_in_cm', '=', $request->input('is_enrolled_in_cm'));
+        }
+
+        if($request->input('has_cm_setup_been_performed')){
+            $patients->where('has_cm_setup_been_performed', '=', $request->input('has_cm_setup_been_performed')=='YES'? true : false);
+        }
+
+        if($request->input('is_eligible_for_rm')){
+            $patients->where('is_eligible_for_rm', '=', $request->input('is_eligible_for_rm'));
+        }
+
+        if($request->input('is_enrolled_in_rm')){
+            $patients->where('is_enrolled_in_rm', '=', $request->input('is_enrolled_in_rm'));
+        }
+
+        if($request->input('has_rm_setup_been_performed')){
+            $patients->where('has_rm_setup_been_performed', '=', $request->input('has_rm_setup_been_performed') =='YES'? true : false);
+        }
+
         $patients = $patients->orderBy('created_at', 'DESC')->paginate(20);
         return view('app.admin.client-ccm-rm-status', compact('patients', 'filters'));
     }

+ 5 - 0
app/Models/Client.php

@@ -698,6 +698,11 @@ class Client extends Model
         return $this->hasOne(Note::class, 'id', 'cm_setup_note_id');
     }
 
+    public function rmSetupCareMonth()
+    {
+        return $this->hasOne(CareMonth::class, 'id', 'rm_setup_care_month_id');
+    }
+
     public function defaultMcpCompanyPro()
     {
         return $this->hasOne(CompanyPro::class, 'id', 'default_mcp_company_pro_id');

+ 40 - 29
resources/views/app/admin/client-ccm-rm-status-table.blade.php

@@ -58,43 +58,54 @@
 				<td>{{$patient->nextMcpAppointment ? friendly_date_time($patient->nextMcpAppointment->raw_date.' '.$patient->nextMcpAppointment->raw_start_time) : '-'}}</td>
 				<td>{{$patient->nextMcpAppointment ? $patient->nextMcpAppointment->status : '-'}}</td>
 
-	
-
-	
-	YesNoOrUnknown isEligibleForRm = YesNoOrUnknown.UNKNOWN;
-	String whyNotEligibleForRmCategory;
-	String whyNotEligibleForRmMemo;
-
-	YesNoOrUnknown isEnrolledInRm = YesNoOrUnknown.UNKNOWN;
-
-	String whyNotEnrolledInRmCategory;
-	String whyNotEnrolledInRmMemo;
-
-	Boolean hasRmSetupBeenPerformed = Boolean.FALSE;
-
-	CareMonth rmSetupCareMonth;
 				<td>
-					YesNoOrUnknown isEligibleForCm = YesNoOrUnknown.UNKNOWN;
-					String whyNotEligibleForCmCategory;
-					String whyNotEligibleForCmMemo;
+					<div>{{$patient->is_eligible_for_cm}}</div>
+					@if(!$patient->is_eligible_for_cm)
+						<div>
+							@if($patient->why_not_eligible_for_cm_category)[{{$patient->why_not_eligible_for_cm_category}}] @endif {{$patient->why_not_eligible_for_cm_cmemo}}
+						</div>
+					@endif 
 				</td>
 				<td>
-					YesNoOrUnknown isEnrolledInCm = YesNoOrUnknown.UNKNOWN;
-					String cmEnrollmentConsentMethod;
-					String cmEnrollmentConsentMethodMemo;
-
-					String whyNotEnrolledInCmCategory;
-					String whyNotEnrolledInCmMemo;
+					<div>{{$patient->is_enrolled_in_cm}}</div>
+					@if($patient->is_enrolled_in_cm)
+						<div>
+							@if($patient->cm_enrollment_consent_method)[{{$patient->cm_enrollment_consent_method}}] @endif {{$patient->cm_enrollment_consent_method_memo}}
+						</div>
+					@else 
+						<div>
+							@if($patient->why_not_enrolled_in_cm_category)[{{$patient->why_not_enrolled_in_cm_category}}] @endif {{$patient->why_not_enrolled_in_cm_memo}}
+						</div>
+					@endif
+				</td>
+				<td>
+					{{$patient->has_cm_setup_been_performed ? 'YES': 'NO'}}
+					@if($patient->has_cm_setup_been_performed && $patient->cmSetupNote)
+						<a href="{{route('patients.view.notes.view.dashboard', ['patient' => $patient, 'note' => $patient->cmSetupNote])}}">CM Setup Note</a>
+					@endif
+				</td>
+				<td>
+					<div>{{$patient->is_eligible_for_rm}}</div>
+					@if(!$patient->is_eligible_for_rm)
+						<div>
+							@if($patient->why_not_eligible_for_rm_category)[{{$patient->why_not_eligible_for_rm_category}}] @endif {{$patient->why_not_eligible_for_rm_cmemo}}
+						</div>
+					@endif 
 				</td>
 				<td>
-					Boolean hasCmSetupBeenPerformed = Boolean.FALSE;
-					Note cmSetupNote;
+					<div>{{$patient->is_enrolled_in_rm}}</div>
+					@if(!$patient->is_enrolled_in_rm)
+						<div>
+							@if($patient->why_not_enrolled_in_rm_category)[{{$patient->why_not_enrolled_in_rm_category}}] @endif {{$patient->why_not_enrolled_in_rm_cmemo}}
+						</div>
+					@endif 
 				</td>
 				<td>
-					
+					{{$patient->has_rm_setup_been_performed  ? 'YES': 'NO'}}
+					@if($patient->has_rm_setup_been_performed && $patient->rmSetupCareMonth)
+						<a href="{{route('patients.view.care-months.view.dashboard', ['patient' => $patient, 'careMonth' => $patient->rmSetupCareMonth])}}">RM Setup Care Month</a>
+					@endif
 				</td>
-				<td></td>
-				<td></td>
 				
 				@if($pro->pro_type == 'ADMIN')
 				<td>{{$patient->mcp->display_name ?? '--'}}</td>

+ 67 - 47
resources/views/app/admin/client_ccm_rm_status_filters.blade.php

@@ -1,9 +1,9 @@
 <style>
-	#mcp-patients-filters label {
+	#client-ccm-rm-status-filters label {
 		font-weight: bold;
 	}
 
-	#mcp-patients-filters .mw-100px {
+	#client-ccm-rm-status-filters .mw-100px {
 		min-width: 100px;
 	}
 	.filter-container{
@@ -21,7 +21,7 @@
 		width: 125px !important;
 	}
 </style>
-<form id="mcp-patients-filters" method="GET" action="{{ route('mcp.patients') }}" class="filter-container" v-cloak>
+<form id="client-ccm-rm-status-filters" method="GET" action="{{ route('mcp.patients') }}" class="filter-container" v-cloak>
 	<div class="sm-section">
 		<div class="form-group">
 			<label>Name:</label>
@@ -143,60 +143,74 @@
 		</div>
 	</div>
 
-	Filters 
+	<!-- CM -->
+	<div class="sm-section">
+		<div class="form-group">
+			<label>Eligible For CM:</label>
+			<select name="is_eligible_for_cm" class="form-control input-sm" v-model="filters.is_eligible_for_cm">
+				<option value="">All</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
+				<option value="UNKNOWN">Uknown</option>
+			</select>
+		</div>
+	</div>
 
-	isEligibleForCm 
-	isEnrolledInCm 
-	hasCmSetupBeenPerformed 
+	<div class="sm-section">
+		<div class="form-group">
+			<label>Enrolled In CM:</label>
+			<select name="is_enrolled_in_cm" class="form-control input-sm" v-model="filters.is_enrolled_in_cm">
+				<option value="">All</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
+				<option value="UNKNOWN">Uknown</option>
+			</select>
+		</div>
+	</div>
 
-	isEligibleForRm 
-	isEnrolledInRm 
-	hasRmSetupBeenPerformed 
+	<div class="sm-section">
+		<div class="form-group">
+			<label>CM Setup Performed:</label>
+			<select name="has_cm_setup_been_performed" class="form-control input-sm" v-model="filters.has_cm_setup_been_performed">
+				<option value="">All</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
+			</select>
+		</div>
+	</div>
 
+	<div class="sm-section">
+		<div class="form-group">
+			<label>Eligible For RM:</label>
+			<select name="is_eligible_for_rm" class="form-control input-sm" v-model="filters.is_eligible_for_rm">
+				<option value="">All</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
+				<option value="UNKNOWN">Uknown</option>
+			</select>
+		</div>
+	</div>
 
-	<!-- LAST WEIGHED-IN -->
-	<div class="col-md-2">
+	<div class="sm-section">
 		<div class="form-group">
-			<label>Last Weighed-In:</label>
-			<select name="last_weighed_in_category" class="form-control input-sm" v-model="filters.last_weighed_in_category">
+			<label>Enrolled In RM:</label>
+			<select name="is_enrolled_in_rm" class="form-control input-sm" v-model="filters.is_enrolled_in_rm">
 				<option value="">All</option>
-				<option value="EXACTLY">Exactly</option>
-				<option value="LESS_THAN">Less Than</option>
-				<option value="GREATER_THAN">Greater Than</option>
-				<option value="BETWEEN">Between</option>
-				<option value="NOT_BETWEEN">Not Between</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
+				<option value="UNKNOWN">Uknown</option>
 			</select>
-			<div v-show="filters.last_weighed_in_category" class="mt-2">
-				<div>
-					<input  name="last_weighed_in_value_1" v-model="filters.last_weighed_in_value_1" type="number" class="form-control input-sm" :placeholder="(filters.last_weighed_in_category === 'BETWEEN' || filters.last_weighed_in_category === 'NOT_BETWEEN') ? 'From' : 'Last Weighed'" />
-				</div>
-				<div v-show="filters.last_weighed_in_category === 'BETWEEN' || filters.last_weighed_in_category === 'NOT_BETWEEN'" class="mt-2">
-					<input name="last_weighed_in_value_2" v-model="filters.last_weighed_in_value_2" type="number" class="form-control input-sm" placeholder="To" />
-				</div>
-			</div>
 		</div>
 	</div>
 
-	<!-- LAST BP -->
-	<div class="col-md-2">
+	<div class="sm-section">
 		<div class="form-group">
-			<label>Last BP:</label>
-			<select name="last_bp_category" class="form-control input-sm" v-model="filters.last_bp_category">
+			<label>RM Setup Performed:</label>
+			<select name="has_rm_setup_been_performed" class="form-control input-sm" v-model="filters.has_rm_setup_been_performed">
 				<option value="">All</option>
-				<option value="EXACTLY">Exactly</option>
-				<option value="LESS_THAN">Less Than</option>
-				<option value="GREATER_THAN">Greater Than</option>
-				<option value="BETWEEN">Between</option>
-				<option value="NOT_BETWEEN">Not Between</option>
+				<option value="YES">Yes</option>
+				<option value="NO">No</option>
 			</select>
-			<div v-show="filters.last_bp_category" class="mt-2">
-				<div>
-					<input  name="last_bp_value_1" v-model="filters.last_bp_value_1" type="number" class="form-control input-sm" :placeholder="(filters.last_bp_category === 'BETWEEN' || filters.last_bp_category === 'NOT_BETWEEN') ? 'From' : 'Last BP'" />
-				</div>
-				<div v-show="filters.last_bp_category === 'BETWEEN' || filters.last_bp_category === 'NOT_BETWEEN'" class="mt-2">
-					<input name="last_bp_value_2" v-model="filters.last_bp_value_2" type="number" class="form-control input-sm" placeholder="To" />
-				</div>
-			</div>
 		</div>
 	</div>
 
@@ -233,6 +247,12 @@ $allFilterKeys = [
 	'next_appointment_value_1',
 	'sex',
 	'status',
+	'is_eligible_for_cm',
+	'is_enrolled_in_cm',
+	'has_cm_setup_been_performed',
+	'is_eligible_for_rm',
+	'is_enrolled_in_rm',
+	'has_rm_setup_been_performed',
 ];
 for ($i=0; $i < count($allFilterKeys); $i++) {
 	if (!isset($loadedFilters[$allFilterKeys[$i]]) || !$loadedFilters[$allFilterKeys[$i]]) {
@@ -244,7 +264,7 @@ for ($i=0; $i < count($allFilterKeys); $i++) {
 	(function() {
 		function init() {
 			new Vue({
-				el: '#mcp-patients-filters',
+				el: '#client-ccm-rm-status-filters',
 				delimiters: ['@{{', '}}'],
 				data: {
 					filters: <?= json_encode($loadedFilters) ?>
@@ -254,7 +274,7 @@ for ($i=0; $i < count($allFilterKeys); $i++) {
 
 					},
 					doSubmit: function() {
-						fastLoad('{{ route('mcp.patients') }}?' + $('#mcp-patients-filters').serialize());
+						fastLoad('{{  route('practice-management.client-ccm-rm-status') }}?' + $('#client-ccm-rm-status-filters').serialize());
 						return false;
 					}
 				},
@@ -266,6 +286,6 @@ for ($i=0; $i < count($allFilterKeys); $i++) {
 
 
 		}
-		addMCInitializer('mcp-patients-filters', init, '#mcp-patients-filters');
+		addMCInitializer('client-ccm-rm-status-filters', init, '#client-ccm-rm-status-filters');
 	})();
 </script>