			<cfparam name="session.display" default="">
			<cfset dbAgencyName = Replace(Trim(Request.prefix_db_agency), "`", "", "all")>
			<cfset dbAgencyFallback = dbAgencyName>
			<cfif FindNoCase(".dat.", dbAgencyName)>
				<cfset dbAgencyFallback = Left(dbAgencyName, FindNoCase(".dat.", dbAgencyName) - 1)>
			<cfelse>
				<cfset dbAgencyFallback = ReReplace(dbAgencyName, "\.[0-9]+\.[0-9]+$", "", "one")>
			</cfif>
			<cfif dbAgencyFallback NEQ dbAgencyName>
				<cfquery name="qCheckDbPrimary" datasource="#Application.DataSrc#">
					SELECT SCHEMA_NAME
					FROM INFORMATION_SCHEMA.SCHEMATA
					WHERE SCHEMA_NAME = <cfqueryparam value="#dbAgencyName#" cfsqltype="cf_sql_varchar" maxlength="128">
				</cfquery>
				<cfif qCheckDbPrimary.recordcount EQ 0>
					<cfquery name="qCheckDbFallback" datasource="#Application.DataSrc#">
						SELECT SCHEMA_NAME
						FROM INFORMATION_SCHEMA.SCHEMATA
						WHERE SCHEMA_NAME = <cfqueryparam value="#dbAgencyFallback#" cfsqltype="cf_sql_varchar" maxlength="128">
					</cfquery>
					<cfif qCheckDbFallback.recordcount GT 0>
						<cfset dbAgencyName = dbAgencyFallback>
					</cfif>
				</cfif>
			</cfif>
			<cfset dbAgencyQuoted = "`" & dbAgencyName & "`">
			<!--- Only import eligibility when Agency.svc_eligibility = 1 (#10480) --->
			<cfset eligibilityAgencyId = 0>
			<cfif Len(Trim(dbAgencyName)) GT 0>
				<cfif FindNoCase("agency_", dbAgencyName) EQ 1>
					<cfset eligibilityAgencyId = Val(ListLast(dbAgencyName, "_"))>
				<cfelseif IsNumeric(dbAgencyName)>
					<cfset eligibilityAgencyId = Val(dbAgencyName)>
				</cfif>
			</cfif>
			<cfif eligibilityAgencyId EQ 0 AND structKeyExists(session, "AgencyID")>
				<cfset eligibilityAgencyId = Val(session.AgencyID)>
			</cfif>
			<cfif eligibilityAgencyId EQ 0 AND structKeyExists(session, "agencyid")>
				<cfset eligibilityAgencyId = Val(session.agencyid)>
			</cfif>
			<cfset agencySvcEligibility = 0>
			<cfif eligibilityAgencyId GT 0>
				<cfquery name="qAgencyEligibility" datasource="#Application.DataSrc#">
					SELECT svc_eligibility
					FROM #Request.prefix_db_lookup#.Agency
					WHERE Agency_ID = <cfqueryparam value="#eligibilityAgencyId#" cfsqltype="cf_sql_integer">
					LIMIT 1
				</cfquery>
				<cfif qAgencyEligibility.recordcount GT 0>
					<cfset agencySvcEligibility = Val(qAgencyEligibility.svc_eligibility)>
				</cfif>
			</cfif>
			<cfset filearray  =ListToArray(#fileContent#,'~')/>
            <cfset thirdlinearray  =ListToArray(#filearray[3]#,'*')/>  
            <cfset Pay_No = ""/> 
            <cfset Sub_HIC = ""/> 
            <cfset eligibility_start_date = ""/> 
            <cfset eligibility_end_date = ""/> 
            <cfset PtPayer_ID = "0"/> 
            <cfset PtPayer_IDs = "0"/> 
            <cfset Patient_ID = "0"/> 
            <cfset Verification_Date = "">
            <cfset Sub_DOB = "">
            <cfset Sub_Gender = "">
            <cfset Plan_Program = "">
            <cfset Plan_type = "">
            <cfset Policy_Group_Number = "">
            <cfset Policy_Group_Name = "">
            <cfset Deductible_Amount = "0">
            <cfset Deductible_In_Net = "0">
            <cfset Deductible_Out_Net = "0">
            <cfset Deductible_Remaining = "0">
            <cfset Deductible_Met = "0">
            <cfset Copay_Amount = "0">
            <cfset Copay_In_Net = "0">
            <cfset Copay_Out_Net = "0">
            <cfset OP_Amount = "0">
            <cfset OP_In_Net = "0">
            <cfset OP_Out_Net = "0">
            <cfset OP_Remaining = "0">
            <cfset OP_Amount_Met = "0">
            <cfset Coinsurance = "0">
            <cfset Coinsurance_In_Net = "0">
            <cfset Coinsurance_Out_Net = "0">
            <cfset valid_submission = "">
            <cfset Error_code = "">
            <cfset Rejection_code = "">
            <cfset PRP  = 0/> 
            <cfset PRP_linefound  = 0/> 
            <cfset PartA_B = "">
            <cfset Part_A_Start = "">
            <cfset Part_B_Start = "">
            <cfset payername = "">
            <cfset donotinsert = "0">
            <cfset  primarypayer = 0 >
            <cfset Eligibility_date = "">
            <cfset Eligibility_time = "">
            <cfset Eligibility_status = 0>
            <cfset EB_1_30 = 0 >
            <cfset alert_message = "">
            <cfset alert_class = "">
            <!--- Initialize getpatients query to prevent undefined errors --->
            <cfset getpatients = queryNew("Patient_ID,PtPayer_ID,Pay_Name,Payer_Responsibility")>
            <cfloop from="1" to="#arraylen(filearray)#"  index="arrayitem">
                <cfif  Left(Trim(filearray[arrayitem]),6) EQ 'NM1*PR'>
					<cfset PRP  = 1/> 
					<cfset PRP_linefound  = 1/> 
					<cfset PRParray  =ListToArray(#filearray[arrayitem]#,'*')/> 
					<cfset lastIndex = ArrayLen(PRParray)>
					 <cfset payername = PRParray[lastIndex] /> 
					 <cfif payername EQ 'KAISER FDTN HLTH PLAN OF THE MID-ATLANTIC STATES'
					 OR payername EQ 'MAS KP-MEDICARE ADVANTAGE' OR payername EQ 'KAISER FOUNDATION HEALTH PLAN OF THE MID-ATLANTIC'
					 OR payername EQ 'MAS KP-MID ATLANTIC'>
					 		<cfset payername = 'Kaiser Permanente, Kaiser Permanente Medicare Advantage 1, Kaiser Permanente Commercial - PT Safety Assessment,Kaiser Permanente Advantage - PT Safety Assessment'>
					 <cfelseif payername EQ 'AETNA LIFE INSURANCE COMPANY'> 
					 		<cfset payername = 'Aetna,Aetna Better health of VA,Aetna Innovation health Episodic,Aetna Medicare Advantage'>	
					 </cfif>
				</cfif>
				
				 <cfif  Left(Trim(filearray[arrayitem]),7) EQ 'ISA*00*'>
					<cfset ISA_array  =ListToArray(#filearray[arrayitem]#,'*')/> 
          			<cfset dateString = ISA_array[10] />	
          			<!--- Extract day, month, and year --->
					<cfset year = Left(dateString, 2)>
					<cfset month = Mid(dateString, 3, 2)>
					<cfset day = Right(dateString, 2)>
					<!--- Convert year to four digits --->
					<cfset year = "20" & year> <!--- Assuming the year is in the 21st century, adjust as needed --->
					<!--- Create the date --->
					<cfset Verification_Date = CreateDate(year, month, day)>
					<cfset Verification_Date = #dateformat(Verification_Date,"yyyy-mm-dd")# />							              			
				</cfif>

			    <cfif  Left(Trim(filearray[arrayitem]),7) EQ 'REF*6P*' OR Left(Trim(filearray[arrayitem]),7) EQ 'NM1*85*'>
					<cfset ptpayerarray  =ListToArray(#filearray[arrayitem]#,'*')/> 
          			<cfset Policy_Group_Number = ptpayerarray[3] />	
          		</cfif>
				<cfif  Left(Trim(filearray[arrayitem]),7) EQ 'NM1*IL*' OR Left(Trim(filearray[arrayitem]),7) EQ 'NM1*QC*'>
					<cfset ptpayerarray  =ListToArray(#filearray[arrayitem]#,'*')/> 
					<cfset lastIndex = ArrayLen(ptpayerarray)>
          			 <cfset Sub_HIC = ptpayerarray[lastIndex] /> 
          			<cfset Pt_Last = trim(ptpayerarray[4]) />
          			<cfset Pt_First = trim(ptpayerarray[5]) />
					<cftry>
						<cfquery  name='getpatients' datasource='#Application.DataSrc#'>
							SELECT  p.*,pp.PtPayer_ID, py.Pay_Name, pp.Payer_Responsibility 
							 FROM  #dbAgencyQuoted#.pPatients p
							JOIN  #dbAgencyQuoted#.pPtPayer pp ON pp.Patient_ID = p.Patient_ID
							JOIN  #dbAgencyQuoted#.pPayer py ON pp.Payer_ID = py.Pay_ID
							WHERE  p.Status IN (0,1,4) AND pp.status = 0
							AND pp.SUB_HIC = <cfqueryparam value="#trim(Sub_HIC)#" cfsqltype="cf_sql_varchar" maxlength="50">
							AND trim(p.Pt_Last) = <cfqueryparam value="#trim(Pt_Last)#" cfsqltype="cf_sql_varchar" maxlength="100">
							AND trim(p.Pt_First) = <cfqueryparam value="#trim(Pt_First)#" cfsqltype="cf_sql_varchar" maxlength="100">
							order by pp.Payer_Responsibility ASC
						</cfquery>
						<cfcatch type="database">
							<cflog file="eligibility_file_reading" type="error" text="Eligibility patient lookup failed. Sub_HIC=#Sub_HIC#, Pt_Last=#Pt_Last#, Pt_First=#Pt_First#, datasource=#Application.DataSrc#, detail=#cfcatch.detail#" />
							<cfset getpatients = queryNew("Patient_ID,PtPayer_ID,Pay_Name,Payer_Responsibility")>
						</cfcatch>
					</cftry>
					
					<!--- Only access query fields if records were returned --->
					<cfif getpatients.recordcount gt 0>
						<cfset PtPayer_ID = #getpatients.PtPayer_ID#/> 
						<cfset PtPayer_IDs = ValueList(getpatients.PtPayer_ID) />
						<cfset Patient_ID = #getpatients.Patient_ID#/> 	
						<cfif getpatients.Payer_Responsibility EQ 'P - Primary'>
							<cfset  primarypayer = 1 >
						</cfif>
					<cfelse>
						<!--- Initialize variables if no records found --->
						<cfset PtPayer_ID = "0" />
						<cfset PtPayer_IDs = "0" />
						<cfset Patient_ID = "0" />
					</cfif>
            		
            		<cfif  getpatients.recordcount gt 0 >
            			<cfset alert_message = "Eligibility Uploaded Successfully">
            			<cfset alert_class = "alert-success">
            			<cfset donotinsert = 0 >
            		<cfelse>
            			<cfset alert_message = "Eligibility Uploaded Failed due to patients name or policy ID is incorrect or does not exist. <br>">
            			<cfset alert_class = "alert-danger">
            			<cfset donotinsert = 2 >
            		</cfif>
				</cfif>

				<cfif  (Left(Trim(filearray[arrayitem]),8) EQ 'DTP*346*' OR Left(Trim(filearray[arrayitem]),8) EQ 'DTP*356*' 
					OR (Left(Trim(filearray[arrayitem]),8) EQ 'DTP*290*' AND PRP EQ 1))
						 AND eligibility_start_date EQ '' >
					<cfset eligibility_start  =ListToArray(#filearray[arrayitem]#,'*')/> 
          			<cfset eligibility_start_date = eligibility_start[4] />	
          			<cfset eligibility_start_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_start_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
					<cfset eligibility_start_date = #dateformat(eligibility_start_date,"yyyy-mm-dd")# />

					<cfset enddate_array = filearray[arrayitem + 1] />
					<cfif  (Left(Trim(enddate_array),8) EQ 'DTP*347*' OR Left(Trim(enddate_array),8) EQ 'DTP*357*' OR
					 Left(Trim(enddate_array),8) EQ 'DTP*290*')
					       AND eligibility_end_date EQ '' >
						<cfset eligibility_end  =ListToArray(#enddate_array#,'*')/> 
	          			<cfset eligibility_end_date = eligibility_end[4] />	
	          			<cfset eligibility_end_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_end_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
						<cfset eligibility_end_date = #dateformat(eligibility_end_date,"yyyy-mm-dd")# />
					</cfif>
					filearray - <cfdump var="#filearray[arrayitem]#"><br>
					enddate_array - <cfdump var="#enddate_array#"><br>
					
				<cfelseif Left(Trim(filearray[arrayitem]),4) EQ 'DTP*' AND eligibility_start_date EQ ''>
						<cfif  Left(Trim(filearray[arrayitem+2]),9) EQ 'EB*1**42*'
						 OR Left(Trim(filearray[arrayitem+2]),9) EQ 'EB*1**30*'>
							<cfset eligibility_start  =ListToArray(#filearray[arrayitem]#,'*')/> 
		          			<cfset eligibility_start_date = eligibility_start[4] />	
		          			<cfset eligibility_start_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_start_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
							<cfset eligibility_start_date = #dateformat(eligibility_start_date,"yyyy-mm-dd")# />
							<cfset PRP = 1 >
						</cfif>

				</cfif>

				<cfif  (Left(Trim(filearray[arrayitem]),8) EQ 'DTP*347*' OR Left(Trim(filearray[arrayitem]),8) EQ 'DTP*357*' OR
					 Left(Trim(filearray[arrayitem]),8) EQ 'DTP*290*')
					       AND eligibility_end_date EQ '' >
						<cfset eligibility_end  =ListToArray(#filearray[arrayitem]#,'*')/> 
	          			<cfset eligibility_end_date = eligibility_end[4] />	
	          			<cfset eligibility_end_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_end_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
						<cfset eligibility_end_date = #dateformat(eligibility_end_date,"yyyy-mm-dd")# />
				</cfif>

				<cfif  (Left(Trim(filearray[arrayitem]),8) EQ 'DTP*472*') >
						<cfset dtp472_array  =ListToArray(#filearray[arrayitem]#,'*')/> 
	          			<cfset date_range = dtp472_array[4] />
	          			<!--- Remove trailing ~ if present --->
	          			<cfset date_range = Replace(date_range, "~", "", "all") />
	          			<!--- Split date range by - to get start and end dates --->
	          			<cfset date_parts = ListToArray(date_range, '-') />
	          			<cfif ArrayLen(date_parts) GTE 2>
	          				<!--- Set start date if not already set --->
	          				<cfif eligibility_start_date EQ ''>
	          					<cfset eligibility_start_date = date_parts[1] />
	          					<cfset eligibility_start_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_start_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
							<cfset eligibility_start_date = #dateformat(eligibility_start_date,"yyyy-mm-dd")# />
	          				</cfif>
	          				<!--- Set end date if not already set --->
	          				<cfif eligibility_end_date EQ ''>
	          					<cfset eligibility_end_date = date_parts[2] />
	          					<cfset eligibility_end_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#eligibility_end_date#,createObject("java","java.text.ParsePosition").init(0*0)) />             
							<cfset eligibility_end_date = #dateformat(eligibility_end_date,"yyyy-mm-dd")# />
	          				</cfif>
	          			</cfif>
				</cfif>

				

				<cfif  Left(Trim(filearray[arrayitem]),7) EQ 'DMG*D8*'>
						<cfset Sub_details  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset Sub_DOB = Sub_details[3] />	
						<cfif ArrayIsDefined(Sub_details, 4)>
							<cfset Sub_Gender = Sub_details[4] />
						</cfif>
          				<cfset Sub_DOB = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#Sub_DOB#,createObject("java","java.text.ParsePosition").init(0*0)) />             
						<cfset Sub_DOB = #dateformat(Sub_DOB,"yyyy-mm-dd")# />
				</cfif>
				<cfif  Left(Trim(filearray[arrayitem]),8) EQ 'EB*1**30' AND Plan_type EQ ''>
						<cfset plans  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfif ArrayIsDefined(plans, 6)>
							<cfset Plan_Program = plans[5] />
							<cfset Plan_type = plans[4] />	
						<cfelseif ArrayIsDefined(plans, 5)>
							<cfset Plan_Program = plans[5] />
						<cfelseif ArrayIsDefined(plans, 4)>
							<cfset Plan_Program = plans[4] />
						</cfif>
				</cfif>

				<cfif  Left(Trim(filearray[arrayitem]),16) EQ 'EB*C*IND*30***23'
				       OR  Left(Trim(filearray[arrayitem]),16) EQ 'EB*C*IND*30***25'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
          			 	<cfset plan_network = EBarry[lastIndex] /> 
          			 	<cfif plan_network EQ 'Y' OR plan_network EQ 'W' >
          			 		<cfset Deductible_Amount = EBarry[6] />	
          			 	</cfif>
          			 	<cfif plan_network EQ 'Y' >
          			 		<cfset Deductible_In_Net = EBarry[6] >
          			 	<cfelseif plan_network EQ 'N' >
          			 		<cfset Deductible_Out_Net = EBarry[6] > 
          			 	<cfelseif plan_network EQ 'W' >
          			 		<cfset Deductible_In_Net = EBarry[6] > 
          			 		<cfset Deductible_Out_Net = EBarry[6] > 
          			 	</cfif>
				</cfif>

				<cfif  Left(Trim(filearray[arrayitem]),16) EQ 'EB*C*IND*30***29'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
          			 	<cfset plan_network = EBarry[lastIndex] /> 
          			 	<cfif plan_network EQ 'Y' OR plan_network EQ 'W' >
          			 		<cfset Deductible_Remaining = EBarry[6] />	
          			 		<cfset Deductible_Met = 1 />
          			 	</cfif>
				</cfif>


				<cfif  Left(Trim(filearray[arrayitem]),16) EQ 'EB*C**30*MA**26*'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
          			 	<cfset plan_network = EBarry[lastIndex] /> 
      			 		<cfset Deductible_Amount = EBarry[lastIndex] />	
      			 		<cfset Deductible_In_Net = EBarry[lastIndex] >
      			 		<cfset Deductible_Out_Net = EBarry[lastIndex] >
				</cfif>

				<cfif  Left(Trim(filearray[arrayitem]),16) EQ 'EB*C**30*MA**29*'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
          			 	<cfset plan_network = EBarry[lastIndex] /> 
      			 		<cfset Deductible_Remaining =  EBarry[lastIndex] />	
      			 		<cfset Deductible_Met = 1 />
      			 		<cfif Deductible_Remaining gt 0 >
      			 			<cfset Deductible_Met = 0 />
      			 		</cfif>
				</cfif>
								
				<cfif  Left(Trim(filearray[arrayitem]),12) EQ 'EB*G*IND*30*'>
						<cfset OPAmountarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(OPAmountarry)>
          			 	<cfset plan_network = OPAmountarry[lastIndex] /> 
          			 	<cfif plan_network EQ 'Y' OR plan_network EQ 'W' >
          			 		<cfloop from="1" to ="#lastIndex#" index="a">
          			 			<cfif OPAmountarry[a] EQ '23' OR OPAmountarry[a] EQ '25' >
          			 				<cfset OP_Amount = OPAmountarry[a+1] />	
          			 			</cfif>	
          			 			<cfif OPAmountarry[a] EQ '29'>
          			 				<cfset OP_Remaining = OPAmountarry[a+1] />
          			 				<cfif OP_Remaining GT 0 >
          			 				<cfelse>	
          			 					<cfset OP_Amount_Met = 1 />	
          			 				</cfif>
          			 			</cfif>	
          			 		</cfloop>
          			 	</cfif>
          			 	<cfif plan_network EQ 'Y' >
          			 		<cfset OP_In_Net = OP_Amount >
          			 	<cfelseif plan_network EQ 'N' >
          			 		<cfset OP_Out_Net = OP_Amount > 
          			 	<cfelseif plan_network EQ 'W' >
          			 		<cfset OP_In_Net = OP_Amount > 
          			 		<cfset OP_Out_Net = OP_Amount > 
          			 	</cfif>
				</cfif>


				<cfif  Left(Trim(filearray[arrayitem]),15) EQ 'EB*B**30*MA**7*'>
						<cfset CO_Amountarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(CO_Amountarry)>
          			 	<cfset Copay_Amount = CO_Amountarry[lastIndex] /> 
          			 	<cfset Copay_In_Net = CO_Amountarry[lastIndex] /> 
          			 	<cfset Copay_Out_Net = CO_Amountarry[lastIndex] />
				</cfif>

					
				<cfif  Left(Trim(filearray[arrayitem]),16) EQ 'EB*A**30*MB**27*'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
          			 	<cfset Coinsurance = EBarry[lastIndex] /> 
				</cfif>	


				<cfif  Left(Trim(filearray[arrayitem]),4) EQ 'AAA*'>
					<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
					<cfset lastIndex = ArrayLen(EBarry)>
      			 	<cfset Rejection_code = EBarry[lastIndex] /> 
      			 	<cfset Error_code = EBarry[3] />
      			 	<cfset valid_submission = EBarry[2] />
				</cfif>	

				<cfif  Left(Trim(filearray[arrayitem]),9) EQ 'EB*1**42*'>
						<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
						<cfset lastIndex = ArrayLen(EBarry)>
						<cfset PartA_B = EBarry[lastIndex] >
				</cfif>

				
				<cfif  Left(Trim(filearray[arrayitem]),11) EQ 'DTP*291*D8*' >
					<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 
					<cfset lastIndex = ArrayLen(EBarry)>
					<cfset Part_Start_Date = EBarry[lastIndex] >
      				<cfset Part_Start_Date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#Part_Start_Date#,createObject("java","java.text.ParsePosition").init(0*0)) />             											
					<cfif PartA_B EQ 'MA' AND Part_A_Start EQ ''>
						<cfset Part_A_Start  = #dateformat(Part_Start_Date,"yyyy-mm-dd")# />
					<cfelseif PartA_B EQ 'MB' AND Part_B_Start EQ ''>
						<cfset Part_B_Start = #dateformat(Part_Start_Date,"yyyy-mm-dd")# />
					</cfif>
				</cfif>

				<cfif Left(Trim(filearray[arrayitem]),4) EQ 'BHT*' >
					<cfset EBarry  =ListToArray(#filearray[arrayitem]#,'*')/> 	
					<cfset lastIndex = ArrayLen(EBarry)>
					<cfset eligi_time = LEFT(EBarry[lastIndex],2) & ":" & RIGHT(EBarry[lastIndex],2) & ":00"/>
					<cfset Eligibility_time = eligi_time >
					<cfif ArrayIsDefined(EBarry, 5)>
						<cfset Eligibility_date = EBarry[5] />
						<cfset Eligibility_date = createObject("java","java.text.SimpleDateFormat").init("yyyyMMdd").parse(#Eligibility_date#,createObject("java","java.text.ParsePosition").init(0*0)) />
						<cfset Eligibility_date  = #dateformat(Eligibility_date,"yyyy-mm-dd")# />
					</cfif>		
				</cfif>


				<cfif  Left(Trim(filearray[arrayitem]),8) EQ 'EB*6**30'>
						<cfset Eligibility_status = 1 /> 							
				</cfif>
				<cfif  eligibility_end_date GTE now() >
						<cfset Eligibility_status = 0 /> 							
				</cfif>
				<cfif  Left(Trim(filearray[arrayitem]),8) EQ 'EB*1**30'>
					<cfset EB_1_30 = 1 >
				</cfif>
			</cfloop>

			<cfif  EB_1_30 EQ 1>
				<cfset eligibility_end_date = ''>
			</cfif>

			<cfif PartA_B EQ 'MA' OR PartA_B EQ 'MB'>
				<cfset Deductible_Amount = "0">
	            <cfset Deductible_In_Net = "0">
	            <cfset Deductible_Out_Net = "0">
	            <cfset Deductible_Remaining = "0">
	            <cfset Deductible_Met = "0">
	            <cfset Copay_Amount = "0">
	            <cfset Copay_In_Net = "0">
	            <cfset Copay_Out_Net = "0">
	            <cfset OP_Amount = "0">
	            <cfset OP_In_Net = "0">
	            <cfset OP_Out_Net = "0">
	            <cfset OP_Remaining = "0">
	            <cfset OP_Amount_Met = "0">
	            <cfset Coinsurance = "0">
	            <cfset Coinsurance_In_Net = "0">
	            <cfset Coinsurance_Out_Net = "0">
			</cfif>
			<cfset payerList = listToArray(payername, ',')>
			<cfset foundpayer = 0 >
			<!--- Loop through each item in the array to check for 'Kaiser Permanente' --->
			<cfif isDefined("getpatients") AND getpatients.recordcount gt 0>
				<cfloop array="#payerList#" index="payer">
				    <cfif trim(payer) EQ getpatients.Pay_Name>
				       <cfset foundpayer = 1 >
				    </cfif>
				</cfloop>
			</cfif>
			<cfif foundpayer EQ 0 AND  PRP EQ 1 AND primarypayer EQ 1 AND PRP_linefound EQ 1>
			        <cfset alert_message = "Other payer is primary <br>">
	    			<cfset alert_class = "alert-danger"> 
	    			<cfset donotinsert = 1 >
			 </cfif>

			 <cfif CGI.REMOTE_ADDR EQ '103.143.7.161'>
				<cfoutput>
						Pay_No 		- #Pay_No# <br>
						Patient_ID  - <cfif isDefined("getpatients") AND getpatients.recordcount gt 0>#getpatients.Patient_ID#<cfelse>Not Found</cfif> <br>
						Sub_HIC 		- #Sub_HIC# <br>
						eligibility_start_date 		- #eligibility_start_date# <br>
						eligibility_end_date 		- #eligibility_end_date# <br>
						PRP 		- #PRP# <br>
						primarypayer 		- #primarypayer# <br>
						foundpayer 		- #foundpayer# <br>
						payername 		- #payername# <br>
						pay_name 		- <cfif isDefined("getpatients") AND getpatients.recordcount gt 0>#getpatients.Pay_Name#<cfelse>Not Found</cfif> <br>
						alert_message- #alert_message# <br>
						PartA_B - #PartA_B# <br>
						Part_A_Start - #Part_A_Start# <br>
						Part_B_Start - #Part_B_Start# <br>
						Query Record Count - <cfif isDefined("getpatients")>#getpatients.recordcount#<cfelse>0 (Query not executed)</cfif> <br>
				</cfoutput>
				

			</cfif> 

			<!--- <cfif CGI.REMOTE_ADDR EQ '103.143.7.161'>
				 <cfabort>  
			</cfif> --->

			<cfif agencySvcEligibility NEQ 1>
				<cfset donotinsert = 2>
				<cfset alert_message = "Eligibility import is not enabled for this agency.">
				<cfset alert_class = "alert-danger">
			</cfif>

			<cfif listLen(PtPayer_IDs) gt 0 AND trim(PtPayer_IDs) NEQ "0" AND agencySvcEligibility EQ 1>
				<cfquery name="Update_ptPayer" dataSource="#Application.DataSrc#">
			        UPDATE  #dbAgencyQuoted#.pPtPayer
			          SET 
			         Eligi_messages = <cfif donotinsert EQ 1 AND alert_message NEQ ''>'#alert_message#'<cfelse>NULL</cfif>
				    WHERE PtPayer_ID IN (#PtPayer_IDs#)
					AND status = '0'					 
				</cfquery> 
			</cfif>

			<cfif (donotinsert EQ 0 OR donotinsert EQ 1) AND listLen(PtPayer_IDs) gt 0 AND trim(PtPayer_IDs) NEQ "0" AND agencySvcEligibility EQ 1>
				<cfloop list="#PtPayer_IDs#" index="ptpayer_id">
					<cfset eligibilityVerificationForDup = "">
					<cfset eligibilityStartForDup = "">
					<cfset eligibilityEndForDup = "">
					<cfif Verification_Date NEQ '' AND len(Error_code) EQ 0>
						<cfset eligibilityVerificationForDup = Verification_Date>
					</cfif>
					<cfif len(Error_code) EQ 0>
						<cfif Part_A_Start NEQ ''>
							<cfset eligibilityStartForDup = Part_A_Start>
						<cfelseif eligibility_start_date NEQ ''>
							<cfset eligibilityStartForDup = eligibility_start_date>
						</cfif>
					</cfif>
					<cfif eligibility_end_date NEQ ''>
						<cfset eligibilityEndForDup = eligibility_end_date>
					</cfif>

					<cfquery name="qExistingEligibility" datasource="#Application.DataSrc#">
						SELECT Elig_ID
						FROM #dbAgencyQuoted#.Eligibility
						WHERE Patient_ID = <cfqueryparam value="#Patient_ID#" cfsqltype="cf_sql_integer">
						AND PtPayer_ID = <cfqueryparam value="#ptpayer_id#" cfsqltype="cf_sql_integer">
						AND IFNULL(DATE_FORMAT(Verification_Date, '%Y-%m-%d'), '') = <cfqueryparam value="#eligibilityVerificationForDup#" cfsqltype="cf_sql_varchar" maxlength="10">
						AND IFNULL(DATE_FORMAT(Start_Date, '%Y-%m-%d'), '') = <cfqueryparam value="#eligibilityStartForDup#" cfsqltype="cf_sql_varchar" maxlength="10">
						AND IFNULL(DATE_FORMAT(Expiration_Date, '%Y-%m-%d'), '') = <cfqueryparam value="#eligibilityEndForDup#" cfsqltype="cf_sql_varchar" maxlength="10">
						ORDER BY Elig_ID DESC
						LIMIT 1
					</cfquery>

					<cfif qExistingEligibility.recordcount GT 0>
						<cfset Elig_ID = qExistingEligibility.Elig_ID>
					<cfelse>
						<cfquery name="qInsertEligibility" dataSource="#Application.DataSrc#">
					         INSERT IGNORE into #dbAgencyQuoted#.Eligibility
								( Patient_ID, PtPayer_ID, Status, line270, line271,batch,
								    <cfif Verification_Date NEQ '' AND len(Error_code) EQ 0> Verification_Date,</cfif>
							 	<cfif (eligibility_start_date NEQ '' OR  Part_A_Start NEQ '') AND  len(Error_code) EQ 0>Start_Date,</cfif> 
							 	<cfif eligibility_end_date NEQ ''>Expiration_Date, </cfif>
							 	Notes, Date_Create, Created_by, Date_Change, Change_by)
							VALUES 
								('#Patient_ID#','#ptpayer_id#', #Eligibility_status#, '#fileContent#',NULL,1, 
							 	<cfif Verification_Date NEQ '' AND len(Error_code) EQ 0> '#Verification_Date#',</cfif>
							 	<cfif len(Error_code) EQ 0><cfif Part_A_Start NEQ ''>'#Part_A_Start#',<cfelseif eligibility_start_date NEQ ''>'#eligibility_start_date#',</cfif></cfif>
								<cfif eligibility_end_date NEQ ''>'#eligibility_end_date#',</cfif>
								'Automated eligibility', #now()#, #session.employeeid#, #now()#, #session.employeeid#)
						</cfquery>

					    <cfquery datasource="#Application.DataSrc#" name="Last_Eligibility">
					      <cfsetting requesttimeout="5000">
						      SELECT LAST_INSERT_ID() as LastInsertID
					    </cfquery>
					    <cfset Elig_ID = Last_Eligibility.LastInsertID>
					</cfif>

					<cfquery name="qExistingEligibilityDetail" datasource="#Application.DataSrc#">
						SELECT Elig_ID
						FROM #dbAgencyQuoted#.Eligibility_Detail
						WHERE Elig_ID = <cfqueryparam value="#Elig_ID#" cfsqltype="cf_sql_integer">
						AND IFNULL(DATE_FORMAT(Date_Start, '%Y-%m-%d'), '') = <cfqueryparam value="#eligibilityStartForDup#" cfsqltype="cf_sql_varchar" maxlength="10">
						AND IFNULL(DATE_FORMAT(Date_End, '%Y-%m-%d'), '') = <cfqueryparam value="#eligibilityEndForDup#" cfsqltype="cf_sql_varchar" maxlength="10">
						AND IFNULL(Sub_HIC, '') = <cfqueryparam value="#trim(Sub_HIC)#" cfsqltype="cf_sql_varchar" maxlength="50">
						LIMIT 1
					</cfquery>

					<cfif qExistingEligibilityDetail.recordcount EQ 0>
						<cfquery name="qInsertEligibilityDetail" dataSource="#Application.DataSrc#">
					         INSERT IGNORE into #dbAgencyQuoted#.Eligibility_Detail
								(  Elig_ID, Status, Date_Start, Date_End, Duration, Rev_CodeID,
								 Sub_HIC, <cfif Sub_DOB NEQ ''> Sub_Gender,  Sub_DOB,</cfif> 
								 Plan_Program, Plan_type, Policy_Group_Number, Policy_Group_Name, 
								 Deductible_Amount, Deductible_Met, Copay_Amount, OP_Amount, 
								 OP_Amount_Met, Coinsurance, valid_submission, Error_code, Rejection_code,
								 <cfif Eligibility_date NEQ ''>Eligibility_date,</cfif>
								 <cfif Eligibility_time NEQ ''>Eligibility_time,</cfif>
								 Date_Create, Created_by, Date_Change, Change_by)
							VALUES 
								('#Elig_ID#',0,<cfif Part_A_Start NEQ ''>'#Part_A_Start#'<cfelseif  eligibility_start_date NEQ ''>'#eligibility_start_date#'<cfelse>NULL</cfif>,
									<cfif eligibility_end_date NEQ ''>'#eligibility_end_date#'<cfelse>NULL</cfif>,NULL,0,'#SUB_HIC#',
									<cfif Sub_DOB NEQ ''>'#Sub_Gender#','#Sub_DOB#',</cfif>
									'#Plan_Program#','#Plan_type#','#Policy_Group_Number#','#Policy_Group_Name#',
									'#Deductible_Amount#','#Deductible_Met#','#Copay_Amount#','#OP_Amount#', 
									'#OP_Amount_Met#','#Coinsurance#','#valid_submission#','#Error_code#','#Rejection_code#',
									 <cfif Eligibility_date NEQ ''>"#Eligibility_date#",</cfif>
							 	 	<cfif Eligibility_time NEQ ''>"#Eligibility_time#",</cfif>
									 #now()#, #session.employeeid#, #now()#, #session.employeeid#)
						</cfquery>
					</cfif>

					

					<cfquery name="Update_ptPayer" dataSource="#Application.DataSrc#">
				        UPDATE  #dbAgencyQuoted#.pPtPayer
				          SET 
				          	<cfif eligibility_start_date NEQ '' AND PRP EQ 1 AND primarypayer EQ 1 AND foundpayer EQ 1 >
				          		Date_Start = '#eligibility_start_date#',
				          	</cfif>
				          	<cfif eligibility_end_date NEQ '' AND PRP EQ 1 AND primarypayer EQ 1 AND foundpayer EQ 1>
				          		Date_End = '#eligibility_end_date#',
				          	</cfif>
				          	<cfif Part_A_Start NEQ ''>
				          		Part_A_Start = '#Part_A_Start#',
				          	</cfif>
				          	<cfif Part_B_Start NEQ ''>
				          		Part_B_Start = '#Part_B_Start#',
				          	</cfif>
				          	<cfif Plan_type NEQ ''>
				          		Plan_type = '#Plan_type#',
				          	</cfif>
				          	  Eligi_messages = <cfif donotinsert EQ 1 AND alert_message NEQ '' >'#alert_message#'<cfelse>NULL</cfif>,
					          Deductible_Amount =  '#Deductible_Amount#',
					          Deductible_In_Net =  '#Deductible_In_Net#',
					          Deductible_Out_Net =  '#Deductible_Out_Net#',
					          Deductible_Remaining = '#Deductible_Remaining#',
					          Deductible_Met = '#Deductible_Met#',
					          OP_Amount =  '#OP_Amount#',
					          OP_In_Net =  '#OP_In_Net#',
					          OP_Out_Net =  '#OP_Out_Net#',
					          OP_Remaining = '#OP_Remaining#',
					          OP_Amount_Met = '#OP_Amount_Met#',
					          Copay_Amount = '#Copay_Amount#',
					          Copay_In_Net = '#Copay_In_Net#',
					          Copay_Out_Net = '#Copay_Out_Net#',
					          Coinsurance = '#Coinsurance#',
					          Coinsurance_In_Net = '#Coinsurance#',
					          Coinsurance_Out_Net = '#Coinsurance#' 
						WHERE PtPayer_ID = '#ptpayer_id#'
						AND status = '0'					 
					</cfquery> 
					<!--- <cfif CGI.REMOTE_ADDR EQ '103.143.7.161'>
						<cfabort> 
					</cfif> --->
				</cfloop>
			</cfif>

			