<cfset myarray[1] = "empty value">
<cfset Eligibility[1] = "empty value">

<cfquery name="Agency" datasource="#Application.DataSrc#">
	select agency_id from #Request.prefix_db_lookup#.Agency where status='active' ORDER BY agency_id
</cfquery>

<cfset myarray=arraynew(1)>
<cfloop query="Agency">
<cfset myarray[CurrentRow]=agency_id>
</cfloop>

<cfquery name="Get_Agency" datasource="#Application.DataSrc#">
select agency_id from #Request.prefix_db_lookup#.Agency where status='active' <!--- AND   svc_eligibility = 1 --->
 AND Agency_ID  =  #url.Agency_ID#    ORDER BY agency_id
</cfquery>

<cfset Eligibility=arraynew(1)>
<cfloop query="Get_Agency">
	<cfset Eligibility[CurrentRow]=agency_id>
</cfloop>
	
	
<!---Eligibility report send to Innovalon --->

<cfloop from=1 to=#ArrayLen(Eligibility)# index=ind>

	<cfset Request.prefix_db_agency = 'agency_'&Eligibility[ind] />
	<cfset Request.prefix_db_lookup = 'hhapowerpath'/>

	<cfquery  datasource="#Application.DataSrc#" name="GetData">
		SELECT pPayer.*, pPtPayer.PtPayer_ID,
		Agency.Agency_Name, Agency.Agency_ID, Agency.Natl_Provider_ID,
		pPatients.Pt_Last,pPatients.Pt_First,pPatients.Pt_DOB,pPatients.Pt_Gender,
		pPtPayer.Sub_HIC,pPatients.Patient_ID   
		FROM  #Request.prefix_db_agency#.pPtPayer   
		JOIN #Request.prefix_db_agency#.pPayer  ON pPtPayer.Payer_ID =  pPayer.Pay_ID AND pPayer.Status = 0
		JOIN #Request.prefix_db_agency#.pPatients  ON pPatients.Patient_ID =  pPtPayer.Patient_ID 
		AND pPatients.Status  IN (0)
		JOIN #Request.prefix_db_lookup#.Agency  ON Agency.Agency_ID =   pPatients.Loc_ID
		WHERE pPtPayer.Status = 0
		AND pPatients.Loc_ID =   '#Eligibility[ind]#'
		<!--- AND pPatients.Patient_ID = 41 --->
		GROUP BY pPtPayer.PtPayer_ID
	</cfquery>
	<cfoutput query = "GetData">
		<cfset finaldata = "">
		<cfset ctr = 0 />
		<cfset DATEFROM = #Now()#>
		<cfset DATETO = #DateAdd('d', 90,  Now())#>
		<!--- For remove zero using #NumberFormat( 1, "L999" )# --->
		<cfset creationdate = #DateFormat(Now(), "YYMMDD")# /> 
		<cfset creationtime = #DateFormat(Now(),"HHMM")# />

		<cfquery  name="geteligi" datasource="#Application.DataSrc#">
		         SELECT IFNULL(MAX(Elig_ID),0)+1 As pElig_ID FROM #Request.prefix_db_agency#.Eligibility 
		</cfquery>
		<cfset pElig_ID = #geteligi.pElig_ID# />
		<cfset Eligiunique_ID = #NumberFormat( pElig_ID, "C000000000" )# />

		 <cfset finaldata = "ISA*00*          *00*          *ZZ*#LJustify(Submitter_ID,15)#*ZZ*#LJustify(Receiver_ID,15)#*#DateFormat(NOW(),"yymmdd")#*#creationtime#*^*00501*#Eligiunique_ID#*0*P*>~" & chr(13)& chr(10) &
		 "GS*HS*#Receiver_ID#*#Receiver_ID#*#DateFormat(NOW(),"yymmdd")#*#creationtime#*#Natl_Provider_ID#*X*005010X279A1~"& chr(13)& chr(10) &     
         "ST*270*#Eligiunique_ID#*005010X279A1~"& chr(13)& chr(10) &
         "BHT*0022*13*#Eligiunique_ID#*#creationdate#*#creationtime#~"& chr(13)& chr(10) &
		 "HL*1**20*1~" & chr(13)& chr(10)>
		 <cfset finaldata = finaldata & "NM1*PR*2*#UCase(Pay_Name)#*****PI*#Payer_No#~" & chr(13)& chr(10) &
		 "HL*2*1*21*1~" & chr(13)& chr(10) &
			 "NM1*1P*2*#UCase(Agency_Name)#*****XX*#Natl_Provider_ID#~" & chr(13)& chr(10) & 
			 "HL*3*2*22*0~"& chr(13)& chr(10) &
		 "NM1*IL*1*#UCase(Pt_Last)#*#UCase(Pt_First)#****MI*#Sub_HIC#~"& chr(13)& chr(10) />
		  <cfset finaldata = finaldata & "DMG*D8*#DateFormat(Pt_DOB,"yyyymmdd")#*#Left(Pt_Gender,1)#~" & chr(13)& chr(10) &
		 "DTP*291*RD8*#DateFormat(DATEFROM,"yyyymmdd")#-#DateFormat(DATETO,"yyyymmdd")#~" & chr(13)& chr(10) &
		 "EQ*42~" & chr(13)& chr(10) & 
			 "EQ*30~" & chr(13)& chr(10) & 
			 "SE*14*#Eligiunique_ID#~" & chr(13)& chr(10) & 
			 "GE*1*#pElig_ID#~" & chr(13)& chr(10) & 
		 "IEA*1*#Eligiunique_ID#~"& chr(13)& chr(10) />

		<cfquery name="InsertEligibility" datasource="#Application.DataSrc#">
			Insert Into #Request.prefix_db_agency#.Eligibility
				(Patient_ID, PtPayer_ID, Status,batch,donot_display,line270,Verification_Date, Start_Date, Date_Create, Created_by, Date_Change, Change_by)
			VALUES
			(
				<cfqueryparam value = "#Patient_ID#" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "#PtPayer_ID#" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "1" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "1" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "#finaldata#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value="#DateFormat(now(),'yyyy-mm-dd')#" cfsqltype="cf_sql_date">, 
				<cfqueryparam value="#DateFormat(now(),'yyyy-mm-dd')#" cfsqltype="cf_sql_date">,
				<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				<cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">,
			    <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			    <cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">
			)
		</cfquery> 

		<cfset invoice= #GetData.Pt_First# >
		<cfset strFilePath = "/var/www/Inovalon_files/Eligibility_upload_files" >
		<cfset CONTRO = #DateFormat(Now(),"YYMMDDHHMMSS")#>
		<cfset CONTROL = #GetData.Agency_ID#&'-'&#CONTRO# />
		<cfset filename= 'ELG'&#CONTROL#&'.270' />
		<cffile action="write" file="#strFilePath##filename#" output="#finaldata#" >
		 <cfset billingSFTP = createObject("component", "components.billing.billing_sftp") />
		 <cfset objFTPProperties = billingSFTP.getConnectionProperties(GetData.Agency_ID) />

		<cfftp action="open" connection="objConnection" attributeCollection="#objFTPProperties#" >
		<cfftp action="putfile" localfile="#strFilePath##filename#" remotefile="/incoming/eligibility/#filename#" connection="objConnection" >
	 </cfoutput>
	 <cfif GetData.recordcount gt 0 >
		<cfftp action="close" connection="objConnection" >
	</cfif>

	<!--- <cfset eligi_ids =  ValueList(GetData.pElig_ID) />
	<cfif len(eligi_ids) gt 0>
		<cfquery  datasource="#Application.DataSrc#" name="GetData">
			UPDATE #Request.prefix_db_agency#.Eligibility 
			SET batch = 1
			WHERE Elig_ID IN (#eligi_ids#)
		</cfquery>
	</cfif>--->

</cfloop>

<!---End  Eligibility report send to Innovalon --->