Samson Mutunga 3 年之前
父節點
當前提交
75e9a83a7b

+ 11 - 2
app/Http/Controllers/PatientController.php

@@ -541,8 +541,17 @@ class PatientController extends Controller
         return view('app.patient.primary-coverage-form', compact('patient', 'mbPayers'));
     }
 
-    public function primaryCoverageManualDeterminationForm(Request $request, Client $patient) {
-        return view('app.patient.primary-coverage-manual-determination-form', compact('patient'));
+    public function primaryCoverageManualDeterminationModal(Request $request, Client $patient) {
+        if($patient->latestClientPrimaryCoverage->plan_type === 'MEDICARE'){
+            return view('app.patient.primary-coverage-manual-determination-medicare-modal', compact('patient'));
+        }
+        if($patient->latestClientPrimaryCoverage->plan_type === 'MEDICAID'){
+            return view('app.patient.primary-coverage-manual-determination-medicaid-modal', compact('patient'));
+        }
+        if($patient->latestClientPrimaryCoverage->plan_type === 'COMMERCIAL'){
+            return view('app.patient.primary-coverage-manual-determination-commercial-modal', compact('patient'));
+        }
+        
     }
 
     public function mbClaim(Request $request, MBClaim $mbClaim) {

+ 2 - 1
app/Http/Controllers/PayerController.php

@@ -16,9 +16,10 @@ class PayerController extends Controller
 		if (empty($term)) return '';
 		$matches = DB::select(
 			"
-			SELECT id, uid, name as text FROM payer WHERE name ILIKE :term OR memo ILIKE :term", 
+			SELECT id, uid, (name || ' (' || COALESCE(availity_payer_id, '--') || ')') as text FROM payer WHERE name ILIKE :term OR memo ILIKE :term", 
 			['term' => '%' . $term . '%']
 		);
+
 		return json_encode([
 			"success" => true,
 			"data" => $matches

+ 2 - 2
resources/views/app/patient/primary-coverage-form.blade.php

@@ -4,7 +4,7 @@
 				<input type="hidden" name="clientUid" value="{{$patient->uid}}" class="form-control input-sm" />
 				<div class="row">
 					<div class="form-group col-md-12">
-						<p class="mb-1">Type of insurance card:</p>
+						<p class="mb-1 font-weight-bold">Type of insurance card:</p>
 						<div class="form-check form-check-inline">
 							<label class="form-check-label"><input class="form-check-input" type="radio" v-model="insuranceCardType" @change="updateUrl" name="insuranceCardType" value="medicare">Medicare Part B (Primary)</label>
 						</div>
@@ -66,7 +66,7 @@
 				</div>
 				<div class="row">
 					<div class="form-group col-md-12" v-if="insuranceCardType == 'medicaid' || insuranceCardType == 'commercial'">
-						<p class="mb-1">Is Patient The Subscriber?</p>
+						<p class="mb-1 font-weight-bold">Is Patient The Subscriber?</p>
 						<div class="form-check form-check-inline">
 							<label class="form-check-label"><input class="form-check-input" type="radio" name="isPatientSubscriber" v-model="isPatientSubscriber" value="1">Yes</label>
 						</div>

+ 251 - 0
resources/views/app/patient/primary-coverage-manual-determination-commercial-modal.blade.php

@@ -0,0 +1,251 @@
+<div id="manual-determination-form-{{$patient->uid}}">
+	@php
+	$cpc = $patient->latestClientPrimaryCoverage;
+	@endphp
+	<div class="p-3">
+		<form @submit.prevent="submitForm" method="post" class="mcp-theme-1">
+			<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
+			<div class="row">
+				<div class="form-group col-md-12">
+					<p class="mb-1">How did you manually check coverage?</p>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="REVIEWED_ELECTRONIC">Reviewed Electronically</label>
+					</div>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="CALLED_PAYER">Called Payer</label>
+					</div>
+				</div>
+			</div>
+			<div class="table-responsive">
+				<table class="table table-bordered table-striped">
+					<thead>
+						<tr>
+							<th></th>
+							<th>Automatic</th>
+							<th>Override</th>
+						</tr>
+					</thead>
+					<tbody>
+						<tr>
+							<td>Record Found?</td>
+							<td>{{$cpc->auto_commercial_is_match_found ? 'YES' : 'NO'}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<label for="" class="control-label">Manual Determination Category</label>
+									<select name="manualDeterminationCategory" class="form-control input-sm">
+										<option value="">--select--</option>
+										<option value="COVERED">Covered</option>
+										<option value="NOT_COVERED">Not Covered</option>
+										<option value="INVALID" :selected="cpc.auto_commercial_is_match_found == 'NO'">Invalid</option>
+										<option value="UNKNOWN">Unknown</option>
+									</select>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Medicaid Number</td>
+							<td colspan="2">{{$cpc->mcd_number}}</td>
+						</tr>
+						<tr>
+							<td>Medicaid State</td>
+							<td colspan="2">{{$cpc->mcd_payer_name}}</td>
+						</tr>
+						<tr>
+							<td>Was Medicaid Record Found?</td>
+							<td colspan="2">{{$cpc->auto_medicaid_is_match_found}}</td>
+						</tr>
+						<tr>
+							<td>Medicare Number</td>
+							<td colspan="2">{{$cpc->mcr_number}}</td>
+						</tr>
+
+						<tr>
+							<td>Part B Active?</td>
+							<td>{{$cpc->auto_medicare_is_partbactive}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" :checked="cpc.auto_medicare_is_partbprimary == 'YES'" name="manualMedicareIsPartBActive" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBActive" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Is Part B Primary?</td>
+							<td>{{$cpc->auto_medicare_is_partbprimary}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBPrimary" v-model="uiState.manualMedicareIsPartBPrimary" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBPrimary" v-model="uiState.manualMedicareIsPartBPrimary" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Is Part C Active?</td>
+							<td>{{$cpc->auto_medicare_is_partcactive}}</td>
+							<td>
+								<div class="alert alert-danger" v-if="(cpc.auto_medicare_is_partcactive == 'YES' && cpc.auto_medicare_is_partbprimary == 'YES') || (uiState.manualMedicareIsPartBPrimary == 'YES' && uiState.manualMedicareIsPartCActive == 'YES')">
+									Oops! Patient Medicare Part B Primary is set to <b>Yes</b>.
+								</div>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartCActive" v-model="uiState.manualMedicareIsPartCActive" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartCActive" v-model="uiState.manualMedicareIsPartCActive" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Inpatient?</td>
+							<td>{{$cpc->auto_medicare_is_inpatient}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Hospice?</td>
+							<td>UNKNOWN</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Home Health?</td>
+							<td>UNKNOWN</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>MSP?</td>
+							<td>{{$cpc->auto_medicare_is_msp}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+			</div>
+			<div class="row">
+				<div class="form-group col-md-12">
+					<label for="" class="control-label">Memo</label>
+					<textarea name="manualMedicareMemo" class="form-control"></textarea>
+				</div>
+			</div>
+
+
+			<div v-if="response" :class="response.success ? 'alert success' : 'alert alert-danger'">
+				@{{ response.message }}
+			</div>
+
+			<div class="form-group text-nowrap mb-0">
+				<button v-if="!processing" class="btn btn-sm btn-primary" type="submit" :disabled="url == ''">Submt</button>
+				<button v-else class="btn btn-sm btn-primary" type="button"><i class="fas fa-circle-notch fa-spin"></i> Processing...</button>
+			</div>
+		</form>
+	</div>
+</div>
+<script>
+	(function() {
+		function init() {
+			new Vue({
+				el: '#manual-determination-form-{{$patient->uid}}',
+				delimiters: ['@{{', '}}'],
+				data: {
+					url: '/api/clientPrimaryCoverage/manualDeterminationForCommercial',
+					uiState: {
+						manualMedicareIsPartBPrimary: '',
+						manualMedicareIsPartCActive: ''
+					},
+					cpc: <?= json_encode($cpc); ?>,
+					processing: false,
+					response: null
+				},
+				methods: {
+					submitForm: function(evt) {
+						var self = this;
+						if (self.processing) return;
+						var form = evt.target;
+						var data = $(form).serializeArray();
+						var url = self.url;
+						if (!url) {
+							self.response = {
+								success: false,
+								message: 'Invalid url'
+							};
+							return;
+						}
+
+						self.processing = true;
+						$.post(url, data, function(response) {
+							self.processing = false;
+							if (response.success) {
+								closeStagPopup();
+								fastReload();
+							} else {
+								self.response = response;
+							}
+						}, 'json');
+					},
+				},
+				mounted: function() {
+					if (this.cpc.auto_medicare_is_partbprimary == 'YES') {
+						this.uiState.manualMedicareIsPartBPrimary = 'YES';
+						this.uiState.manualMedicareIsPartCActive = 'NO';
+					};
+
+				}
+			});
+		}
+		addMCInitializer('manual-determination-form-{{$patient->uid}}', init, '#manual-determination-form-{{$patient->uid}}')
+	}).call(window);
+</script>

+ 0 - 118
resources/views/app/patient/primary-coverage-manual-determination-commercial.blade.php

@@ -1,118 +0,0 @@
-<?php
-	$mdc = 'UNKNOWN';
-?>
-<div moe relative wide>
-	<a href="" start show class="">Manual Determination for Commercial</a>
-	<form url="/api/clientPrimaryCoverage/manualDeterminationForCommercial" class="mcp-theme-1">
-		<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
-		<div class="row">
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Strategy</label>
-				<select name="manualDeterminationStrategy" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="REVIEWED_ELECTRONIC">Reviewed electronic</option>
-					<option value="CALLED_PAYER">Called payer</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Category</label>
-				<select name="manualDeterminationCategory" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="COVERED">Covered</option>
-					<option value="NOT_COVERED">Not Covered</option>
-					<option value="INVALID">Invalid</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Determination Category Memo</label>
-				<textarea name="manualDeterminationCategoryMemo" class="form-control"></textarea>
-			</div>
-			@if($cpc->mcr_number)
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Matched</label>
-				<select name="manualMedicareIsMatched" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part B Active</label>
-				<select name="manualMedicareIsPartBActive" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part B Primary</label>
-				<select name="manualMedicareIsPartBPrimary" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part C Active</label>
-				<select name="manualMedicareIsPartCActive" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Inpatient</label>
-				<select name="manualMedicareIsInpatient" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Is Hospice Or Home Health</label>
-				<select name="manualMedicareIsHospiceOrHomeHealth" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Is Msp</label>
-				<select name="manualMedicareIsMsp" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Msp Memo</label>
-				<textarea name="manualMedicareMspMemo" class="form-control"></textarea>
-			</div>
-			@endif
-			@if($cpc->mcd_number)
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicaid Is Matched</label>
-				<select name="manualMedicaidIsMatched" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			@endif
-		</div>
-
-		<div class="form-group text-nowrap mb-0">
-			<button class="btn btn-sm btn-primary" submit>Submt</button>
-			<button class="btn btn-sm btn-default border" cancel>Close</button>
-		</div>
-	</form>
-</div>

+ 0 - 0
resources/views/app/patient/primary-coverage-manual-determination-form.blade.php → resources/views/app/patient/primary-coverage-manual-determination-form_depricated.blade.php


+ 125 - 0
resources/views/app/patient/primary-coverage-manual-determination-medicaid-modal.blade.php

@@ -0,0 +1,125 @@
+<div id="manual-determination-form-{{$patient->uid}}">
+	@php
+	$cpc = $patient->latestClientPrimaryCoverage;
+	@endphp
+	<div class="p-3">
+		<form @submit.prevent="submitForm" method="post" class="mcp-theme-1">
+			<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
+			<div class="row">
+				<div class="form-group col-md-12">
+					<p class="mb-1">How did you manually check coverage?</p>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="REVIEWED_ELECTRONIC">Reviewed Electronically</label>
+					</div>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="CALLED_PAYER">Called Payer</label>
+					</div>
+				</div>
+			</div>
+			<div class="table-responsive">
+				<table class="table table-bordered table-striped">
+					<thead>
+						<tr>
+							<th></th>
+							<th>Automatic</th>
+							<th>Override</th>
+						</tr>
+					</thead>
+					<tbody>
+						
+						<tr>
+							<td>Record Found?</td>
+							<td>{{$cpc->auto_medicaid_is_match_found ? 'YES' : 'NO'}}</td>
+							<td>
+								<div class="form-group">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" :checked="cpc.auto_medicaid_is_match_found == 'YES'" name="manualMedicaidIsMatched" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicaidIsMatched" value="NO">No</label>
+									</div>
+								</div>
+								<div class="form-group mb-0">
+									<label for="" class="control-label">Manual Determination Category</label>
+									<select name="manualDeterminationCategory" class="form-control input-sm">
+										<option value="">--select--</option>
+										<option value="COVERED" :selected="cpc.auto_medicaid_is_match_found == 'YES'">Covered</option>
+										<option value="NOT_COVERED">Not Covered</option>
+										<option value="INVALID" :selected="cpc.auto_medicaid_is_match_found == 'NO'">Invalid</option>
+										<option value="UNKNOWN">Unknown</option>
+									</select>
+								</div>
+							</td>
+						</tr>
+						
+					</tbody>
+				</table>
+			</div>
+			<div class="row">
+				<div class="form-group col-md-12">
+					<label for="" class="control-label">Memo</label>
+					<textarea name="manualMedicareMemo" class="form-control"></textarea>
+				</div>
+			</div>
+
+
+			<div v-if="response" :class="response.success ? 'alert success' : 'alert alert-danger'">
+				@{{ response.message }}
+			</div>
+
+			<div class="form-group text-nowrap mb-0">
+				<button v-if="!processing" class="btn btn-sm btn-primary" type="submit" :disabled="url == ''">Submt</button>
+				<button v-else class="btn btn-sm btn-primary" type="button"><i class="fas fa-circle-notch fa-spin"></i> Processing...</button>
+			</div>
+		</form>
+	</div>
+</div>
+<script>
+	(function() {
+		function init() {
+			new Vue({
+				el: '#manual-determination-form-{{$patient->uid}}',
+				delimiters: ['@{{', '}}'],
+				data: {
+					url: '/api/clientPrimaryCoverage/manualDeterminationForMedicaid',
+					uiState: {
+					},
+					cpc: <?= json_encode($cpc); ?>,
+					processing: false,
+					response: null
+				},
+				methods: {
+					submitForm: function(evt) {
+						var self = this;
+						if (self.processing) return;
+						var form = evt.target;
+						var data = $(form).serializeArray();
+						var url = self.url;
+						if (!url) {
+							self.response = {
+								success: false,
+								message: 'Invalid url'
+							};
+							return;
+						}
+
+						self.processing = true;
+						$.post(url, data, function(response) {
+							self.processing = false;
+							if (response.success) {
+								closeStagPopup();
+								fastReload();
+							} else {
+								self.response = response;
+							}
+						}, 'json');
+					},
+				},
+				mounted: function() {
+					
+				}
+			});
+		}
+		addMCInitializer('manual-determination-form-{{$patient->uid}}', init, '#manual-determination-form-{{$patient->uid}}')
+	}).call(window);
+</script>

+ 0 - 38
resources/views/app/patient/primary-coverage-manual-determination-medicaid.blade.php

@@ -1,38 +0,0 @@
-<?php
-	$mdc = 'UNKNOWN';
-?>
-<div moe relative wide>
-	<a href="" start show class="">Manual Determination for Medicaid</a>
-	<form url="/api/clientPrimaryCoverage/manualDeterminationForMedicaid" class="mcp-theme-1">
-		<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
-		<div class="row">
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Strategy</label>
-				<select name="manualDeterminationStrategy" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="REVIEWED_ELECTRONIC">Reviewed electronic</option>
-					<option value="CALLED_PAYER">Called payer</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Category</label>
-				<select name="manualDeterminationCategory" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="COVERED">Covered</option>
-					<option value="NOT_COVERED">Not Covered</option>
-					<option value="INVALID">Invalid</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Determination Category Memo</label>
-				<input type="text" name="manualDeterminationCategoryMemo" class="form-control input-sm" />
-			</div>
-		</div>
-
-		<div class="form-group text-nowrap mb-0">
-			<button class="btn btn-sm btn-primary" submit>Submt</button>
-			<button class="btn btn-sm btn-default border" cancel>Close</button>
-		</div>
-	</form>
-</div>

+ 240 - 0
resources/views/app/patient/primary-coverage-manual-determination-medicare-modal.blade.php

@@ -0,0 +1,240 @@
+<div id="manual-determination-form-{{$patient->uid}}">
+	@php
+	$cpc = $patient->latestClientPrimaryCoverage;
+	@endphp
+	<div class="p-3">
+		<form @submit.prevent="submitForm" method="post" class="mcp-theme-1">
+			<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
+			<div class="row">
+				<div class="form-group col-md-12">
+					<p class="mb-1">How did you manually check coverage?</p>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="REVIEWED_ELECTRONIC">Reviewed Electronically</label>
+					</div>
+					<div class="form-check form-check-inline">
+						<label class="form-check-label"><input class="form-check-input" type="radio" v-model="uiState.manualDeterminationStrategy" name="manualDeterminationStrategy" value="CALLED_PAYER">Called Payer</label>
+					</div>
+				</div>
+			</div>
+			<div class="table-responsive">
+				<table class="table table-bordered table-striped">
+					<thead>
+						<tr>
+							<th></th>
+							<th>Automatic</th>
+							<th>Override</th>
+						</tr>
+					</thead>
+					<tbody>
+						<tr>
+							<td>Record Found?</td>
+							<td>{{$cpc->auto_medicare_is_match_found ? 'YES' : 'NO'}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" :checked="cpc.auto_medicare_is_partbactive == 'YES'" name="manualMedicareIsMatched" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMatched" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						
+						
+
+						<tr>
+							<td>Part B Active?</td>
+							<td>{{$cpc->auto_medicare_is_partbactive}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" :checked="cpc.auto_medicare_is_partbprimary == 'YES'" name="manualMedicareIsPartBActive" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBActive" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Is Part B Primary?</td>
+							<td>{{$cpc->auto_medicare_is_partbprimary}}</td>
+							<td>
+								<input type="hidden" name="manualDeterminationCategory" :value="
+							!cpc.auto_medicare_is_match_found ? 'INVALID' :
+							cpc.auto_medicare_is_partbprimary == 'YES' ? 'COVERED' :
+							cpc.auto_medicare_is_partbprimary == 'NO' ? 'NOT_COVERED' : 'UNKNOWN'
+							">
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBPrimary" v-model="uiState.manualMedicareIsPartBPrimary" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartBPrimary" v-model="uiState.manualMedicareIsPartBPrimary" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Is Part C Active?</td>
+							<td>{{$cpc->auto_medicare_is_partcactive}}</td>
+							<td>
+								<div class="alert alert-danger" v-if="(cpc.auto_medicare_is_partcactive == 'YES' && cpc.auto_medicare_is_partbprimary == 'YES') || (uiState.manualMedicareIsPartBPrimary == 'YES' && uiState.manualMedicareIsPartCActive == 'YES')">
+									Oops! Patient Medicare Part B Primary is set to <b>Yes</b>.
+								</div>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartCActive" v-model="uiState.manualMedicareIsPartCActive" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsPartCActive" v-model="uiState.manualMedicareIsPartCActive" value="NO">No</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Inpatient?</td>
+							<td>{{$cpc->auto_medicare_is_inpatient}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsInpatient" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Hospice?</td>
+							<td>UNKNOWN</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHospice" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>Home Health?</td>
+							<td>UNKNOWN</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsHomeHealth" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td>MSP?</td>
+							<td>{{$cpc->auto_medicare_is_msp}}</td>
+							<td>
+								<div class="form-group mb-0">
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="YES">Yes</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="NO">No</label>
+									</div>
+									<div class="form-check form-check-inline">
+										<label class="form-check-label"><input class="form-check-input" type="radio" name="manualMedicareIsMsp" value="UNKNOWN">Unknown</label>
+									</div>
+								</div>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+			</div>
+			<div class="row">
+				<div class="form-group col-md-12">
+					<label for="" class="control-label">Memo</label>
+					<textarea name="manualMedicareMemo" class="form-control"></textarea>
+				</div>
+			</div>
+
+
+			<div v-if="response" :class="response.success ? 'alert success' : 'alert alert-danger'">
+				@{{ response.message }}
+			</div>
+
+			<div class="form-group text-nowrap mb-0">
+				<button v-if="!processing" class="btn btn-sm btn-primary" type="submit" :disabled="url == ''">Submt</button>
+				<button v-else class="btn btn-sm btn-primary" type="button"><i class="fas fa-circle-notch fa-spin"></i> Processing...</button>
+			</div>
+		</form>
+	</div>
+</div>
+<script>
+	(function() {
+		function init() {
+			new Vue({
+				el: '#manual-determination-form-{{$patient->uid}}',
+				delimiters: ['@{{', '}}'],
+				data: {
+					url: '/api/clientPrimaryCoverage/manualDeterminationForMedicare',
+					uiState: {
+						manualMedicareIsPartBPrimary: '',
+						manualMedicareIsPartCActive: ''
+					},
+					cpc: <?= json_encode($cpc); ?>,
+					processing: false,
+					response: null
+				},
+				methods: {
+					submitForm: function(evt) {
+						var self = this;
+						if (self.processing) return;
+						var form = evt.target;
+						var data = $(form).serializeArray();
+						var url = self.url;
+						if (!url) {
+							self.response = {
+								success: false,
+								message: 'Invalid url'
+							};
+							return;
+						}
+
+						self.processing = true;
+						$.post(url, data, function(response) {
+							self.processing = false;
+							if (response.success) {
+								closeStagPopup();
+								fastReload();
+							} else {
+								self.response = response;
+							}
+						}, 'json');
+					},
+				},
+				mounted: function() {
+					if (this.cpc.auto_medicare_is_partbprimary == 'YES') {
+						this.uiState.manualMedicareIsPartBPrimary = 'YES';
+						this.uiState.manualMedicareIsPartCActive = 'NO';
+					};
+					
+				}
+			});
+		}
+		addMCInitializer('manual-determination-form-{{$patient->uid}}', init, '#manual-determination-form-{{$patient->uid}}')
+	}).call(window);
+</script>

+ 0 - 98
resources/views/app/patient/primary-coverage-manual-determination-medicare.blade.php

@@ -1,98 +0,0 @@
-<?php
-	$mdc = 'UNKNOWN';
-?>
-<div moe relative wide>
-	<a href="" start show class="">Manual Determination for Medicare Part B (Primary)</a>
-	<form url="/api/clientPrimaryCoverage/manualDeterminationForMedicare" class="mcp-theme-1">
-		<input type="hidden" name="clientPrimaryCoverageUid" value="{{$cpc->uid}}" class="form-control input-sm" />
-		<div class="row">
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Strategy</label>
-				<select name="manualDeterminationStrategy" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="REVIEWED_ELECTRONIC">Reviewed electronic</option>
-					<option value="CALLED_PAYER">Called payer</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Determination Category</label>
-				<select name="manualDeterminationCategory" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="COVERED">Covered</option>
-					<option value="NOT_COVERED">Not Covered</option>
-					<option value="INVALID">Invalid</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Determination Category Memo</label>
-				<textarea name="manualDeterminationCategoryMemo" class="form-control"></textarea>
-			</div>
-
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part B Active</label>
-				<select name="manualMedicareIsPartBActive" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part B Primary</label>
-				<select name="manualMedicareIsPartBPrimary" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Part C Active</label>
-				<select name="manualMedicareIsPartCActive" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-6">
-				<label for="" class="control-label">Manual Medicare Is Inpatient</label>
-				<select name="manualMedicareIsInpatient" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Is Hospice Or Home Health</label>
-				<select name="manualMedicareIsHospiceOrHomeHealth" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Is Msp</label>
-				<select name="manualMedicareIsMsp" class="form-control input-sm">
-					<option value="">--select--</option>
-					<option value="YES">Yes</option>
-					<option value="NO">No</option>
-					<option value="UNKNOWN">Unknown</option>
-				</select>
-			</div>
-			<div class="form-group col-md-12">
-				<label for="" class="control-label">Manual Medicare Msp Memo</label>
-				<textarea name="manualMedicareMspMemo" class="form-control"></textarea>
-			</div>
-		</div>
-
-
-		<div class="form-group text-nowrap mb-0">
-			<button class="btn btn-sm btn-primary" submit>Submt</button>
-			<button class="btn btn-sm btn-default border" cancel>Close</button>
-		</div>
-	</form>
-</div>

+ 9 - 5
resources/views/app/patient/primary-coverage.blade.php

@@ -7,9 +7,9 @@
         <a native target="_blank"
            open-in-stag-popup
            mc-initer="new-coverage-form-{{$patient->uid}}"
-           title="Add/Update New Primary Insurance"
+           title="New Primary Insurance Card"
            href="/patients/view/primary-coverage-form/{{$patient->uid}}">
-            + Add/Update New Primary Insurance
+            + New Primary Insurance Card
         </a>
     </div>
 </div>
@@ -33,7 +33,7 @@
                    open-in-stag-popup
                    mc-initer="manual-determination-form-{{$patient->uid}}"
                    title="Medicare Part B (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-form/{{$patient->uid}}">
+                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
                     Manual Determination for Medicare Part B (Primary)
                 </a>
             @endif
@@ -44,7 +44,7 @@
                    open-in-stag-popup
                    mc-initer="manual-determination-form-{{$patient->uid}}"
                    title="Medicaid (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-form/{{$patient->uid}}">
+                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
                     Manual Determination for Medicaid (Primary)
                 </a>
             @endif
@@ -55,7 +55,7 @@
                    open-in-stag-popup
                    mc-initer="manual-determination-form-{{$patient->uid}}"
                    title="Commercial (Primary)"
-                   href="/patients/view/primary-coverage-manual-determination-form/{{$patient->uid}}">
+                   href="/patients/view/primary-coverage-manual-determination-modal/{{$patient->uid}}">
                     Manual Determination for Commercial (Primary)
                 </a>
             @endif
@@ -88,6 +88,10 @@
                       <td>Patient Dob</td>
                       <td>{{$cpc->patient_dob ? date_format(date_create($cpc->patient_dob), 'm/d/Y') : '-'}}</td>
                     </tr>
+                    <tr>
+                      <td>Patient Sex</td>
+                      <td>{{$cpc->patient_sex ?? '-'}}</td>
+                    </tr>
                     <tr>
                       <td>Date of Service</td>
                       <td>{{$cpc->date_of_service ? date_format(date_create($cpc->date_of_service), 'm/d/Y') : '-'}}</td>

+ 1 - 1
routes/web.php

@@ -219,7 +219,7 @@ Route::middleware('pro.auth')->group(function () {
         Route::get('patients/view/client-primarycoverages/{patient}', 'PatientController@clientPrimaryCoverages')->name('patients.view.client-primary-coverages');
         Route::get('patients/view/primary-coverage/{patient}', 'PatientController@primaryCoverage')->name('patients.view.primary-coverage');
         Route::get('patients/view/primary-coverage-form/{patient}', 'PatientController@primaryCoverageForm')->name('patients.view.primary-coverage-form');
-        Route::get('patients/view/primary-coverage-manual-determination-form/{patient}', 'PatientController@primaryCoverageManualDeterminationForm')->name('patients.view.primary-coverage-manual-determination-form');
+        Route::get('patients/view/primary-coverage-manual-determination-modal/{patient}', 'PatientController@primaryCoverageManualDeterminationModal')->name('patients.view.primary-coverage-manual-determination-modal');
     });
 
     Route::name('patients.view.')->prefix('patients/view/{patient}')->group(function () {