Procházet zdrojové kódy

New patient form InsuranceCard integration

Vijayakrishnan Krishnan před 2 týdny
rodič
revize
7a4d76b08d

+ 36 - 6
resources/views/app/new-patient.blade.php

@@ -40,11 +40,11 @@ $medicaidStates = Config::get('constants.medicaid_states');
 							<div class="px-3">
 								@include('app.patient.create-patient.demographics-form')
 							</div>
-							@if($pro->pro_type === 'ADMIN')
+							{{--@if($pro->pro_type === 'ADMIN')
 							<div class="border-bottom">
 								@include('app.patient.create-patient.insurance-coverage-form')
 							</div>
-							@endif
+							@endif--}}
 							<div class="px-3 pt-3">
 								<div class="row m-0">
 									<div class='form-group mb-3 checkbox'>
@@ -67,11 +67,11 @@ $medicaidStates = Config::get('constants.medicaid_states');
 						</div>
 						<div class="col-md-6">
 							<div class="border-lighter">
-							@if($pro->pro_type === 'ADMIN')
+							{{--@if($pro->pro_type === 'ADMIN')
 								@include('app.patient.create-patient.create-patient-script-templates')
-							@else
+							@else--}}
 								@include('app.patient.create-patient.insurance-coverage-form')
-							@endif
+							{{--@endif--}}
 							</div>
 						</div>
 					</div>
@@ -112,10 +112,40 @@ $medicaidStates = Config::get('constants.medicaid_states');
 		el: '#newPatientContainer',
 		data: {
 			form: {},
-			planType: 'MEDICARE',
+			skip: false,
+			isSelfPay: false,
+			carrierCategory: '',
+			carrierCategoryInternal: '',
 			isPatientSubscriber: true
 		},
 		methods: {
+			setSkipInsurance: function(_event) {
+				if(!$(_event.target).prop('checked')) return;
+				this.skip = true;
+				this.isSelfPay = false;
+				this.carrierCategory = '';
+				Vue.nextTick(() => {
+					console.log($('#createNewPatientForm').serialize());
+				});
+			},
+			setSelfPay: function(_event) {
+				if(!$(_event.target).prop('checked')) return;
+				this.isSelfPay = true;
+				this.skip = false;
+				this.carrierCategory = '';
+				Vue.nextTick(() => {
+					console.log($('#createNewPatientForm').serialize());
+				});
+			},
+			setCarrierCategory: function(_event, _carrierCategory) {
+				if(!$(_event.target).prop('checked')) return;
+				this.isSelfPay = false;
+				this.skip = false;
+				this.carrierCategory = _carrierCategory;
+				Vue.nextTick(() => {
+					console.log($('#createNewPatientForm').serialize());
+				});
+			},
 			hpnToCpn: function() {
 				this.form.cellNumber = this.form.homeNumber;
 				this.form.homeNumber = null;

+ 111 - 69
resources/views/app/patient/create-patient/insurance-coverage-form.blade.php

@@ -4,45 +4,80 @@
 <div class="px-3">
 	<div class="row">
 		<div class="form-group col-md-12">
-			<p class="mb-1 font-weight-bold">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="planType" name="planType" value="">Skip</label>
+				<label class="form-check-label"><input class="form-check-input" type="radio" v-on:change="setSkipInsurance(event)" v-model="carrierCategoryInternal" value="">Skip</label>
 			</div>
 			<div class="form-check form-check-inline">
-				<label class="form-check-label"><input class="form-check-input" type="radio" v-model="planType" name="planType" value="MEDICARE">Medicare Part B</label>
+				<label class="form-check-label"><input class="form-check-input" type="radio" v-on:change="setCarrierCategory(event, 'MEDICARE')" v-model="carrierCategoryInternal" value="MEDICARE">Medicare Part B</label>
 			</div>
 			<div class="form-check form-check-inline">
-				<label class="form-check-label"><input class="form-check-input" type="radio" v-model="planType" name="planType" value="MEDICAID">Medicaid</label>
+				<label class="form-check-label"><input class="form-check-input" type="radio" v-on:change="setCarrierCategory(event, 'MEDICAID')" v-model="carrierCategoryInternal" value="MEDICAID">Medicaid</label>
 			</div>
 			<div class="form-check form-check-inline">
-				<label class="form-check-label"><input class="form-check-input" type="radio" v-model="planType" name="planType" value="COMMERCIAL">Other Provider</label>
+				<label class="form-check-label"><input class="form-check-input" type="radio" v-on:change="setCarrierCategory(event, 'COMMERCIAL')" v-model="carrierCategoryInternal" value="COMMERCIAL">Commercial</label>
 			</div>
 			<div class="form-check form-check-inline">
-				<label class="form-check-label"><input class="form-check-input" type="radio" v-model="planType" name="planType" value="SELF_PAY">Self Pay</label>
+				<label class="form-check-label"><input class="form-check-input" type="radio" v-on:change="setSelfPay(event)" v-model="carrierCategoryInternal" value="SELF_PAY">Self Pay</label>
+			</div>
+			<div class="d-none">
+				<input type="checkbox" name="isSelfPay" v-model="isSelfPay">
+				<input v-if="!!carrierCategory" type="hidden" name="carrierCategory" v-model="carrierCategory">
 			</div>
 		</div>
 	</div>
-	<div class="px-2">
-		<div class="row" v-show="planType == 'COMMERCIAL'">
+
+	<div class="px-0" v-if="!!carrierCategory">
+
+		<div class="row">
+			<div class="form-group col-md-12">
+				<p class="mb-1 font-weight-bold">Coverage Type:</p>
+				<div class="form-check form-check-inline">
+					<label class="form-check-label"><input class="form-check-input" type="radio" name="coverageOrder" value="PRIMARY">Primary</label>
+				</div>
+				<div class="form-check form-check-inline">
+					<label class="form-check-label"><input class="form-check-input" type="radio" name="coverageOrder" value="SECONDARY">Secondary</label>
+				</div>
+				<div class="form-check form-check-inline">
+					<label class="form-check-label"><input class="form-check-input" type="radio" name="coverageOrder" value="TERTIARY">Tertiary</label>
+				</div>
+			</div>
+		</div>
+
+		{{-- commercial --}}
+		<div class="row" v-if="carrierCategory == 'COMMERCIAL'">
+			<div class="col-md-12">
+				<div class="px-0 pb-2 mb-2 border-bottom">
+					<h5 class="m-0 font-weight-bold">Commercial Insurance Information:</h5>
+				</div>
+			</div>
+			<div class="form-group col-md-6">
+				<label class="control-label">Carrier Name</label>
+				<input type="text" name="carrierName"  class="form-control input-sm">
+			</div>
 			<div class="form-group col-md-6">
-				<label class="control-label">Insurance</label>
-				<input type="text" name="carrierFreeText"  class="form-control input-sm">
+				<label class="control-label">Carrier Memo</label>
+				<input type="text" name="carrierMemo"  class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-6">
-				<label class="control-label">ID Number</label>
-				<input type="text" name="commercialMemberIdentifier" class="form-control input-sm">
+				<label class="control-label">Member/Subscriber ID</label>
+				<input type="text" name="memberId" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-6">
 				<label class="control-label">Group Number</label>
-				<input type="text" name="commercialGroupNumber" class="form-control input-sm">
+				<input type="text" name="groupId" class="form-control input-sm">
+			</div>
+			<div class="form-group col-md-6">
+				<label class="control-label">Phone Number for Providers</label>
+				<input type="text" name="phoneNumberForProvider" class="form-control input-sm phone">
 			</div>
 			<div class="form-group col-md-6">
-				<label class="control-label">Support Phone Number</label>
-				<input type="text" name="primaryInsurancePhoneNumberForHcps" class="form-control input-sm phone">
+				<label class="control-label">Phone Number for Subscribers</label>
+				<input type="text" name="phoneNumberForMembers" class="form-control input-sm phone">
 			</div>
 		</div>
 
-		<div class="row" v-if="planType">
+		{{--<div class="row" v-if="carrierCategory">
 			<div class="col-12">
 				<hr class="mt-0 mb-2">
 			</div>
@@ -70,35 +105,84 @@
 					<label class="form-check-label"><input class="form-check-input" type="radio" name="isTelevisitCoveredIfMedicallyNeeded" value="UNKNOWN">Unknown</label>
 				</div>
 			</div>
+		</div>--}}
+
+		{{-- medicaid --}}
+		<div class="row" v-if="carrierCategory == 'MEDICAID'{{-- || carrierCategory == 'COMMERCIAL'--}}">
+			<div class="col-md-12">
+				<div class="px-0 pb-2 mb-2 border-bottom">
+					<h5 class="m-0 font-weight-bold">Medicaid Information:</h5>
+				</div>
+			</div>
+			<div class="col-12">
+				<div class="row">
+
+					<div class="form-group col-md-6">
+						<label for="" class="control-label">Medicaid State</label>
+						<input class="form-control input-sm" list="mcdPayerOptions" name="carrierName" id="carrierName">
+						<datalist id="mcdPayerOptions">
+							<option value="">--</option>
+							@foreach($medicaidStates as $state)
+							<option>{{ $state }}</option>
+							@endforeach
+						</datalist>
+					</div>
+
+					<div class="form-group col-md-6">
+						<label class="control-label">Medicaid Number</label>
+						<input type="text" name="memberId" class="form-control input-sm" oninput="this.value = this.value.toUpperCase()">
+					</div>
+				</div>
+			</div>
 		</div>
 
-		<div class="row">
-			<div class="form-group col-md-12" v-if="planType == 'MEDICAID' || planType == 'COMMERCIAL'">
+		{{-- medicare --}}
+		<div class="row" v-if="carrierCategory == 'MEDICARE'{{-- || carrierCategory == 'COMMERCIAL'--}}">
+			<div class="col-md-12">
+				<div class="px-0 pb-2 mb-2 border-bottom">
+					<h5 class="m-0 font-weight-bold">Medicare Information:</h5>
+				</div>
+			</div>
+			<div class="col-12">
+				<div class="row">
+					<div class="form-group col-md-6">
+						<label class="control-label">Medicare Number </label>
+						<input type="text" name="memberId" class="form-control input-sm" oninput="this.value = this.value.toUpperCase()">
+					</div>
+				</div>
+			</div>
+
+		</div>
+
+		{{-- is subcr == patient? application only for medicaid and commercial --}}
+		<div class="row" v-if="carrierCategory == 'MEDICAID' || carrierCategory == 'COMMERCIAL'">
+			<div class="form-group col-md-12">
 				<div class="form-check form-check-inline">
 					<label class="form-check-label"><input class="form-check-input" type="checkbox" name="isPatientSubscriber" v-model="isPatientSubscriber">Is Patient The Subscriber?</label>
 				</div>
 			</div>
 		</div>
 
-		<div v-if="!isPatientSubscriber && (planType == 'MEDICAID' || planType == 'COMMERCIAL')" class="row">
+		{{-- if subcr != patient. application only for medicaid and commercial --}}
+		<div v-if="!isPatientSubscriber && (carrierCategory == 'MEDICAID' || carrierCategory == 'COMMERCIAL')" class="row">
 			<div class="col-md-12 bg-light p-3 mb-2">
 				<h5 class="m-0 font-weight-bold">Subscriber Details:</h5>
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber First Name</label>
-				<input type="text" name="subscriberNameFirst" value="" class="form-control input-sm">
+				<input type="text" name="subscriberFirstName" value="" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber Middle Name / MI</label>
-				<input type="text" name="subscriberNameMiddle" value="" class="form-control input-sm">
+				<input type="text" name="subscriberMiddleName" value="" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber Last Name</label>
-				<input type="text" name="subscriberNameLast" value="" class="form-control input-sm">
+				<input type="text" name="subscriberLastName" value="" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber Suffix</label>
-				<input type="text" name="subscriberNameSuffix" value="" class="form-control input-sm">
+				<input type="text" name="subscriberSuffix" value="" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber Sex</label>
@@ -111,11 +195,11 @@
 			</div>
 			<div class="form-group col-md-4">
 				<label class="control-label">Subscriber Dob</label>
-				<input type="date" name="subscriberDob" value="" class="form-control input-sm">
+				<input type="date" name="subscriberBirthDate" value="" class="form-control input-sm">
 			</div>
 			<div class="form-group col-md-12">
 				<label class="control-label">What is the patient's relationship to the subscriber?</label>
-				<select name="patientRelationshipToSubscriber" class="form-control input-sm">
+				<select name="relationshipToSubscriber" class="form-control input-sm">
 					<option value="">--</option>
 					<option value="SPOUSE">Spouse</option>
 					<option value="CHILD">Child</option>
@@ -128,51 +212,9 @@
 				</select>
 			</div>
 		</div>
-		<div class="mb-1" v-if="planType == 'COMMERCIAL'">
+		{{--<div class="mb-1" v-if="carrierCategory == 'COMMERCIAL'">
 			<h6 class="font-weight-bold">Does the patient also have either a Medicare or Medicaid #? (optional)</h6>
-		</div>
-		<div class="row" v-if="planType == 'MEDICAID' || planType == 'COMMERCIAL'" :class="planType == 'COMMERCIAL' ? 'mx-0' : ''">
-			<div class="col-md-12">
-				<div class="bg-light p-2 mb-2">
-					<h5 class="m-0 font-weight-bold">Medicaid Information:</h5>
-				</div>
-			</div>
-			<div class="col-12">
-				<div class="row">
-
-
-					<div class="form-group col-md-6">
-						<label for="" class="control-label">Medicaid State</label>
-						<input class="form-control input-sm" list="mcdPayerOptions" name="mcdPayerName" id="mcdPayerName">
-						<datalist id="mcdPayerOptions">
-							<option value="">--</option>
-							@foreach($medicaidStates as $state)
-							<option>{{ $state }}</option>
-							@endforeach
-						</datalist>
-					</div>
+		</div>--}}
 
-					<div class="form-group col-md-6">
-						<label class="control-label">Medicaid Number</label>
-						<input type="text" name="mcdNumber" class="form-control input-sm" oninput="this.value = this.value.toUpperCase()">
-					</div>
-				</div>
-			</div>
-		</div>
-
-		<div class="row" v-if="planType == 'MEDICARE' || planType == 'COMMERCIAL'" :class="planType == 'COMMERCIAL' ? 'mx-0' : ''">
-			<div class="col-md-12">
-				<div class="bg-light p-2 mb-2">
-					<h5 class="m-0 font-weight-bold">Medicare Information:</h5>
-				</div>
-			</div>
-			<div class="col-12">
-				<div class="form-group col-md-6">
-					<label class="control-label">Medicare Number </label>
-					<input type="text" name="mcrNumber" class="form-control input-sm" oninput="this.value = this.value.toUpperCase()">
-				</div>
-			</div>
-
-		</div>
 	</div>
 </div>