<cfparam name="PAYER_ID" default="" />
<cfif isDefined("url.id")>
  <cfset PAYER_ID=url.id />
</cfif>
<cfset invoiceTotal=0>
<cfset invoicePayerId=0>
<cfset get_invoice_ID = ''>
<cfset user = Session.EmployeeID>
<cfparam name="form.TOB" default="329" />
<cfparam name='url.Schedule_ID'  default='0' >
<cfparam name="form.rejected"  default = "0">
<cfparam name ="form.UBform" default="0" >
<cfif url.Schedule_ID NEQ '0'  and len(url.Schedule_ID)  gt 0 >
  <cfset Form.Schedule_ID = url.Schedule_ID />
</cfif>

<cfform name="file" enctype="multipart/form-data">
  <cfif #parameterexists(Form.Schedule_ID)#>
    
    <!--- 1. the the visits selected by the user--->
    <cfquery name="GetVisits" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="5000">
			  SELECT pSchedules.* , pSchedules.Schedule_ID, pSchedules.Total_Units, pSchedules.Visit_Date, pSchedules.Rev_ID,
				pAssessments.F300  AS HIPPS_Code,pAssessments.Assmt_ID,pAssessments.F26 AS  Assessment_Reason_M0100,pAssessments.F177 Certification_Start,pAssessments.F178 Certification_End,pAssessments.Patient_ID 
      	FROM  #Request.prefix_db_agency#.pSchedules, #Request.prefix_db_agency#.pAssessments
      	WHERE pSchedules.Schedule_ID IN (#Form.Schedule_ID#)
      	AND   pAssessments.Assmt_ID = pSchedules.Assmt_ID
        AND pSchedules.Status = 0
         AND pAssessments.Status = 0
		</cfquery>
    
    <!--- 2. insert them into the claim table --->
    <cfloop query="GetVisits">
      <cfquery name="GetRevenue" datasource="#Application.DataSrc#">
             SELECT * FROM #Request.prefix_db_agency#.pRevenue_Code 
             WHERE Rev_CodeID = '#Rev_ID#'
        </cfquery>
        <cfif GetRevenue.Measure EQ 'Visit'>
          <cfset totalUnits = 1>
        <cfelse>
          <cfset totalUnits = GetVisits.Total_Units>
        </cfif>
      <cfset Request.Total_Price = totalUnits * GetRevenue.EClaim_Price />
      <cfquery name="InsertVisits" datasource="#Application.DataSrc#">
        		Insert Into #Request.prefix_db_lookup#.Claim (Agency_Id, Schedule_ID, Visit_Date, Rev_Code, HCPCS,Total_EClaim, Total_Units, Assmt_ID, Payer_ID, Ticket) 
        		VALUES ('#session.AgencyId#', #Schedule_ID#, '#Visit_Date#', '#GetRevenue.Rev_Code#', '#GetRevenue.HCPCS#',#NumberFormat(Request.Total_Price,'_____.__')#, #totalUnits#, #Assmt_ID#, #PAYER_ID#, 1)
  		  </cfquery>
      <cfquery name="Update_VisitsEclaims" datasource="#Application.DataSrc#">
        		UPDATE #Request.prefix_db_agency#.pSchedules SET Total_Eclaim = #NumberFormat(Request.Total_Price,'_____.__')#
        		WHERE Schedule_ID = #Schedule_ID#
  		  </cfquery>
    </cfloop>
    
    <!--- 8. get supplies --->
    <cfquery name="GetSupplies" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="5000">
				SELECT s.Schedule_ID, s.Revenue_Code, s.HCPCS, s.Total_Units, c.Visit_Date, s.Assmt_ID, s.Payer_ID, s.Total_Price, s.Ticket 
				FROM #Request.prefix_db_agency#.Supply_Sched s, #Request.prefix_db_lookup#.Claim c 
				WHERE s.Schedule_ID = c.Schedule_ID
				and s.Deleted = 0
	  </cfquery>
    
    <!--- <cfif CGI.REMOTE_ADDR eq '103.66.78.232'>	
	<cfdump var="#GetSupplies#">
	<cfabort>
</cfif> ---> 
    <!--- 9. insert supplies into claim  --->
    <cfloop query="GetSupplies">
      <cfquery name="InsertSupplies" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="5000">
				Insert IGNORE Into #Request.prefix_db_lookup#.Claim (Agency_Id,Schedule_ID, Rev_Code, HCPCS, Total_Units,
				<cfif Visit_Date neq ''>Visit_Date,</cfif>  Total_EClaim,  Assmt_ID, Payer_ID, Ticket) 
				values (#session.AgencyId#,'#Schedule_ID#', '#Revenue_Code#', '#HCPCS#', #decimalformat(Total_Units)#,
				<cfif Visit_Date neq ''>'#DateFormat(Visit_Date,"yyyy-mm-dd")#',</cfif>
				#NumberFormat(Total_Price,'_____.__')#,  #Assmt_ID#, #Payer_ID#, 1)
			</cfquery>
    </cfloop>
    
    <!--- 10. update assessment with certifying physician
		<cfquery name="GetCertPhys" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="5000">
				UPDATE  IGNORE  #Request.prefix_db_agency#.patient p, #Request.prefix_db_lookup#.Physician h, #Request.prefix_db_lookup#.Employee e, #Request.prefix_db_agency#.pAssessments a, #Request.prefix_db_lookup#.Claim c
				set a.HHRG_450_Score = h.Natl_Provider_ID,
				p.Lives_With_M0340 = e.Last_Name,
				p.Race_M0140_NA = e.First_Name
				WHERE p.Agency_ID = #session.AgencyId#
				AND p.Certifying_Physician = h.Physician_ID
				AND p.Certifying_Physician != 0
				and p.Patient_ID = a.Patient_ID
				and a.Assmt_ID =  c.Assmt_ID
				AND  h.Employee_ID = e.Employee_ID
		</cfquery> ---> 
    
    <!--- 12. get ALL claim data now --->
    <cfquery name="Getdata" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="5000">
			SELECT 
				 Claim.Schedule_ID, Claim.Claim_ID, Claim.Total_EClaim, Claim.Visit_Date as RAP_Date, Claim.Rev_Code, Claim.HCPCS, Claim.Total_Units
			  , pAssessments.F177 Certification_Start, pAssessments.Assmt_ID,
			  pAssessments.F26 AS Assessment_Reason_M0100,Claim.Visit_Date,
			    pAdmit.M0030_START_CARE_DT AS Start_of_Care_M0030,pAssessments.F178 AS Certification_End, pAdmit.Admission_Source AS Source_of_Admission,
			     pAssessments.F300 AS HIPPS
			  ,"" AS Claim_Key, "" AS Information_Release, "" AS Admission_Description ,"" AS Homebound_Status
			  ,"" AS HHRG_175_Score, "" AS HHRG_230_Score,"" AS HHRG_250_Score 
			  ,"" AS HHRG_390_Score, "" AS HHRG_420_Score, "" AS HHRG_440_Score,"" AS HHRG_450_Score
			  ,pAssessments.F176 AS Assessment_Completed_M0090,pAssessments.Assmt_ID  
			  ,pPatients.Patient_ID, pAssessments.F25 AS Admission_Status, pPtPayer.Sub_HIC AS HI_Claim_Number, pPtPayer.Policy_Group_Number AS GRNO, pPtPayer.Plan_Type, pAuths.Auth_No
			  ,pPatients.Pt_Last AS Last_Name_M0040, pPatients.Patient_ID,pPatients.Pt_First AS First_Name_M0040, pPatients.Pt_Middle AS Middle_Initial_M0040, pPatients.Pt_Street AS Street_Address
			  ,pPatients.Pt_Gender AS Gender_M0069, pPatients.Pt_City AS City, pPatients.Pt_State AS State_M0050, 
			  pPatients.Pt_Zip AS Zip_M0060, pPatients.Pt_DOB AS DOB_M0066,CBSA_Code AS MSA_Code, FIPS_Code, pPatients.Pt_Agy_ID AS Agency_Assigned_ID,"" AS Lives_With_M0340,  pPatients.Pt_Race AS Race_M0140_NA 
			  ,Agency.Agency_Name, Agency.Agency_Medicare_ID, Agency.Agency_Address1, Agency.Agency_City, Agency.Agent_FEIN
			  ,Agency.Agency_State, Agency.Agency_Zip, Agency.Agency_Contact, Agency.Agency_Contact_Phone,Agency.Hospice_Medicare_NPI AS HNPI, Agency.Natl_Provider_ID AS ANPI ,Agency.Agency_ID, Agency.Wage_Index, Agency.Rural, "" AS NPI
			  ,pPhysicians.Phys_Last as LastName, pPhysicians.Phys_First as FirstName, pPhysicians.Phys_NPI as PNPI
			  ,pPayer.Pay_ID AS Payer_ID, pPayer.Submitter_ID, pPayer.Receiver_ID, pPayer.Pay_Name, pPayer.Payer_No AS Payer_Number, pPayer.Pay_Street AS PayAdd1,"" AS PayAdd2, pPayer.Pay_City AS PayCity, pPayer.Pay_State AS PayState, pPayer.Pay_Zip AS PayZip , 0 AS TurboClaim,
			  (SELECT MIN(c.Visit_Date)
			    FROM   #Request.prefix_db_lookup#.Claim c
				WHERE  c.Agency_Id = '#session.AgencyId#'
				AND    c.Assmt_ID = pAssessments.Assmt_ID
			   ) AS FirstVisitDate , "" AS FVD,
	     (SELECT MIN(Total_Units)
				FROM   #Request.prefix_db_lookup#.Claim
				WHERE  Agency_Id = '#session.AgencyId#'
				AND    Assmt_ID = pAssessments.Assmt_ID
				) AS Units  
			FROM  
			#Request.prefix_db_agency#.pAssessments,#Request.prefix_db_agency#.pAdmit, #Request.prefix_db_agency#.pSchedules, #Request.prefix_db_agency#.pPatients, #Request.prefix_db_lookup#.Agency, #Request.prefix_db_lookup#.pEmployee, #Request.prefix_db_agency#.pPayer, #Request.prefix_db_agency#.pAuths, #Request.prefix_db_lookup#.Claim, #Request.prefix_db_agency#.pPtPayer, #Request.prefix_db_lookup#.pPhysicians
			WHERE Claim.Agency_Id = '#session.AgencyId#'
				 AND   Claim.Ticket = 1 
				 -- AND   Claim.Total_EClaim > '0.0000'
				 AND   Claim.Assmt_ID = pAssessments.Assmt_ID
				 AND   pAssessments.Patient_Id = pPatients.Patient_Id
                 AND   pPtPayer.Patient_Id = pPatients.Patient_Id
				 AND   pPatients.Loc_ID = Agency.Agency_ID 
				 AND   pSchedules.Assmt_ID = pAssessments.Assmt_ID
                 AND   pSchedules.Assmt_ID = pAuths.Assmt_ID
				 AND   Claim.Payer_Id = pPayer.Pay_Id
				 AND   pAssessments.Admit_ID   = pAdmit.Admit_ID
                 AND   pAdmit.Render_Phys_ID = pPhysicians.Phys_ID
				 AND   pSchedules.Emp_Id = pEmployee.Emp_Id
				 AND   (Claim.Visit_Date >= pAssessments.F177 or Claim.Visit_Date is null)
				 AND pSchedules.status = 0 
				 AND pAssessments.status = 0 
				 AND pPatients.status < 2
			ORDER BY pAssessments.Assmt_ID, Claim.Visit_Date, Claim.Claim_ID
		<!--- AND   patient.Primary_ReferringPhys_ID_M0072 = Physician.Physician_ID
			AND   Employee.Employee_ID = Physician.Employee_ID  ---> 			
		</cfquery>
    <!---<cfabort>--->
    <cfset Turbo_Claim =0 />
    <cfset Paydate =''>
    <cfset Pad = 0 />
    <cfset PayerBalance =0 />
    <cfset invoiceTotal=0>
    <cfset c = 0 />
    <cfset finaldata = "">
    <cfset finaldata = "">
    <cfset ctr = 0 />
    <cfoutput query="GetData" group="Assmt_ID">
      <cfset total_Days = #DateDiff("d",Getdata.Certification_End,now())# >
      <cfset sch_dates = ''>
      <cfoutput group="Claim_ID">
        <cfset sch_dates = listappend(sch_dates,DateFormat(GetData.Visit_Date, "yyyy-mm-dd")) />
      </cfoutput>
      <cfset sch_dates = listsort(sch_dates,"numeric") />
      <cfset min_date = listfirst(sch_dates) />
      <cfset max_date = listlast(sch_dates) />
      <cfset diff_Days = #DateDiff("d",Getdata.Certification_start,max_date)# >
      <cfif diff_Days lt 30>
        <cfset cert_start_date = #Getdata.Certification_start# />
        <cfset cert_end_date = #DateAdd('d', 30,  Getdata.Certification_start)#>
        <cfelse>
        <cfset cert_start_date = #DateAdd('d', 30,  Getdata.Certification_start)#>
        <cfset cert_end_date = #Getdata.Certification_End# />
      </cfif>
      <cfset Certificat_End = #Getdata.Certification_End# />
      <cfset ctr_329 = 2>
      <!--- <cfset GetData.Gender_M0069 = #Mid(GetData.Gender_M0069,5,1)#> --->
      <cfset YB = '4'>
      <cfset GetData.Source_of_Admission = #Left(GetData.Source_of_Admission,1)#>
      <cfset GetData.Admission_Status = #Left(GetData.Admission_Status,2)#>
      <cfif len(GetData.Agency_Zip) GT 5>
        <cfset GetData.Agency_Zip = #Replace(GetData.Agency_Zip,"-","","ALL" )#>
        <cfelse>
        <cfset GetData.Agency_Zip = #Left(GetData.Agency_Zip,5)# & '1357'>
      </cfif>
      <cfif GetData.Assessment_Reason_M0100 contains '1 -' OR GetData.Assessment_Reason_M0100 contains '4 -'>
        <cfset FirstVisit = #GetData.Certification_Start#>
        <cfelse>
        <cfset FirstVisit = #GetData.FirstVisitDate#>
      </cfif>
      <cfif GetData.Admission_Description does not contain 'Q' or GetData.Admission_Description eq ''>
        <cfset QCode = 'Q5001'>
        <cfelse>
        <cfset QCode = #Trim(GetData.Admission_Description)#>
      </cfif>
      <cfif len(GetData.PayZip) GT 5>
        <cfset GetData.Agency_Zip = #Replace(GetData.PayZip,"-","","ALL" )#>
        <cfelse>
        <cfset GetData.PayZip = #Left(GetData.PayZip,5)# & '1357'>
      </cfif>
      <cfif len(GetData.Zip_M0060) GT 5>
        <cfset GetData.Zip_M0060 = #Replace(GetData.Zip_M0060,"-","","ALL" )#>
        <cfelse>
        <cfset GetData.Zip_M0060 = #Left(GetData.Zip_M0060,5)# & '1357'>
      </cfif>
      <cfset var1 = "">
      <cfset CONTRO = #DateFormat(Now(),"YYMMDDHHMMSS")#>
      <cfset CONTROL = #session.AgencyId#&'-'&#CONTRO# />
      <cfset ISA = #DateFormat(Now(),"MMDDHHMMSS")#>
      <cfset ISA13 = #Right(ISA,9)#>
      <cfset GS06 = #DateFormat(Now(), "MMSS")#>
      <cfset ST02 = #DateFormat(Now(), "hmmss")#>
      <cfif c eq 0>
      </cfif>
      <cfset c = c + 1>
      <cfset finaldata = finaldata & 
		"ISA*00*          *00*          *ZZ*00             *ZZ*               *#DateFormat(Now(), "YYMMDD")#*#DateFormat(Now(), "HHMM")#*U*00501*#ISA13#*0*P*>~" & chr(13)& chr(10) & 
		"GS*HC*#GetData.Submitter_ID#*#GetData.Receiver_ID#*#DateFormat(Now(), "YYYYMMDD")#*#DateFormat(Now(), "HHMM")#*#ISA13#*X*005010X223A2~" & chr(13)& chr(10) >
      <cfset finaldata = finaldata & "ST*837*#ST02#*005010X223A2~" & chr(13)& chr(10) & 
		"BHT*0019*00*00000#YB#*#DateFormat(Now(), "YYYYMMDD")#*#DateFormat(Now(), "HHMM")#*CH~" & chr(13)& chr(10) & 
		"NM1*41*2*#UCase(GetData.Agency_Name)#*****46*#GetData.Agent_FEIN#~"  & chr(13)& chr(10) & 
		"PER*IC*#UCase(GetData.Agency_Contact)#*TE*#Left(GetData.Agency_Contact_Phone,3)##Mid(GetData.Agency_Contact_Phone,5,3)##Mid(GetData.Agency_Contact_Phone,9,4)#~" & chr(13)& chr(10) & 
		"NM1*40*2*#UCase(GetData.Pay_Name)#*****46~"& chr(13)& chr(10) & 
		"HL*1**20*1~" & chr(13)& chr(10) & 
		"PRV*BI*PXC*251E00000X~" & chr(13)& chr(10) &
		"NM1*85*2*#UCase(GetData.Agency_Name)#*****XX*#GetData.ANPI#~"  & chr(13)& chr(10) & 
		"N3*#UCase(GetData.Agency_Address1)#~"  & chr(13)& chr(10) & 
		"N4*#UCase(GetData.Agency_City)#*#UCase(GetData.Agency_State)#*#GetData.Agency_Zip#~" & chr(13)& chr(10)>
      <cfoutput group="Claim_ID">
        <cfif GetData.Total_EClaim neq ''>
          <cfset invoiceTotal=invoiceTotal+GetData.Total_EClaim>
        </cfif>
        <cfif GetData.Total_EClaim eq ''>
          <cfset invoiceTotal=invoiceTotal>
        </cfif>
        <cfset invoicePayerId=#Payer_ID#>
      </cfoutput>
      <cfif len(trim(form.TOB)) NEQ 2>
        <cfset tobRight = right(trim(form.TOB),len(trim(form.TOB)) - 2)>
      <cfelse>
        <cfset tobRight = ''>
      </cfif> 
      <cfset finaldata = finaldata & 
		"REF*EI*#GetData.Agent_FEIN#~"  & chr(13)& chr(10) & 
		"PER*IC*#UCase(GetData.Agency_Contact)#*TE*#Left(GetData.Agency_Contact_Phone,3)##Mid(GetData.Agency_Contact_Phone,5,3)##Mid(GetData.Agency_Contact_Phone,9,4)#~" & chr(13)& chr(10) & 
		"HL*2*1*22*0~" & chr(13)& chr(10) & 
		"SBR*P*18*#GRNO#******#Left(GetData.Plan_Type,2)#~" & chr(13)& chr(10) & 
		"NM1*IL*1*#UCase(GetData.Last_Name_M0040)#*#UCase(GetData.First_Name_M0040)#****MI*#GetData.HI_Claim_Number#~"& chr(13)& chr(10) & 
		"N3*#UCase(GetData.Street_Address)#~"& chr(13)& chr(10) & 
		"N4*#UCase(GetData.City)#*#GetData.State_M0050#*#GetData.Zip_M0060#~"  & chr(13)& chr(10) & 
		"DMG*D8*#DateFormat(GetData.DOB_M0066,"yyyymmdd")#*#GetData.Gender_M0069#~"& chr(13)& chr(10) &
		"NM1*PR*2*#UCase(GetData.Pay_Name)#*****PI*#GetData.Payer_Number#~"& chr(13)& chr(10) &
		"N3*#UCase(GetData.PayAdd1)#~"& chr(13)& chr(10) &
		"N4*#UCase(GetData.PayCity)#*#GetData.PayState#*#GetData.PayZip#~"& chr(13)& chr(10) & 
		"CLM*#CONTROL#*#invoiceTotal#***#left(trim(form.TOB),2)#>A>#tobRight#**A*Y*Y*********~"& chr(13)& chr(10) & 		
        "DTP*434*RD8*#DateFormat(cert_start_date,"yyyymmdd")#-#DateFormat(cert_end_date,"yyyymmdd")#~"& chr(13)& chr(10) &
        "REF*G1*#GetData.Auth_No#*~"& chr(13)& chr(10) &      
		"DTP*435*DT*#DateFormat(GetData.Start_of_Care_M0030,"yyyymmdd")#0001~"& chr(13)& chr(10) & 
		"CL1*9*#GetData.Source_of_Admission#*30~"& chr(13)& chr(10) >
      <!---"CL1*9*#GetData.Source_of_Admission#*#GetData.Admission_Status#~"& chr(13)& chr(10) >--->
      
      <cfquery  name="M0230Diagnosis" datasource="#Application.DataSrc#">
      SELECT pProblem.*,vetted_190924.ICD FROM #Request.prefix_db_agency#.pProblem 
      JOIN #Request.prefix_db_lookup#.vetted_190924 ON vetted_190924.Diagnosis = pProblem.Description
      WHERE pProblem.Assmt_ID IN (<cfqueryparam value="#GetData.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
      AND pProblem.status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
      AND (M0_No like 'M1021%' OR M0_No like 'M1023%')
      ORDER BY dx_order,RIGHT(M0_No, 1) ASC
    </cfquery>
      <cfloop query="M0230Diagnosis">
        <cfif M0_No contains 'M1021'>
          <cfset finaldata = finaldata &  "HI*ABK>#Replace(M0230Diagnosis.ICD, ".", "", "ALL")#~"& chr(13)& chr(10) >
        </cfif>
      </cfloop>
      <cfset other_diagnosis_count = 0>
      <cfset finaldata = finaldata &  "HI*" />
      <cfloop query="M0230Diagnosis">
        <cfif M0_No contains 'M1023'>
          <cfset finaldata = finaldata & "ABF>#Replace(M0230Diagnosis.ICD, ".", "", "ALL")#*" >
          <cfset other_diagnosis_count = 1>
        </cfif>
      </cfloop>
      <cfset finaldata = Left(finaldata, len(finaldata)-1) />
      <cfset finaldata = finaldata &"~"& chr(13)& chr(10) />
      <cfset  finaldata = finaldata &"HI*BE*61***#GetData.MSA_Code#~"& chr(13)& chr(10) & "HI*BE*85***#GetData.FIPS_Code#~"& chr(13)& chr(10) & "NM1*71*1*#Trim(UCase(GetData.LastName))#*#Trim(UCase(GetData.FirstName))#****XX*#GetData.PNPI#~"& chr(13)& chr(10)>
      <cfif GetData.Lives_With_M0340 neq ''>
        <cfset finaldata = finaldata & "NM1*72*1*#UCase(GetData.Lives_With_M0340)#*#UCase(GetData.Race_M0140_NA)#****XX*#GetData.HHRG_450_Score#~"& chr(13)& chr(10)>
      </cfif>
      <cfset finaldata = finaldata & 
				"LX*1~"& chr(13)& chr(10) &
				"SV2*0023*HP>#Trim(GetData.HIPPS)#*0*UN*#Trim(GetData.Units)#~"& chr(13)& chr(10)  &
				"DTP*472*D8*#DateFormat(FirstVisit,"yyyymmdd")#~"	& chr(13)& chr(10) &
				"LX*2~"& chr(13)& chr(10) &
				"SV2*0551*HC>#Trim(QCode)#*.01*UN*1~"& chr(13)& chr(10)  &
				"DTP*472*D8*#DateFormat(FirstVisit,"yyyymmdd")#~"	& chr(13)& chr(10)>
      <cfoutput group="Claim_ID">
        <cfif GetData.Rev_Code eq '0270' and GetData.Total_Units eq 0>
          <cfelse>
          <cfset ctr_329 = ctr_329 + 1>
          <cfif GetData.Assessment_Reason_M0100 contains '1 -' and  ctr_329 eq 3 >
            <cfset finaldata = finaldata & "LX*#ctr_329#~"& chr(13)& chr(10) &
							  "SV2*#Trim(GetData.Rev_Code)#*HC>#Trim(GetData.HCPCS)#*#Trim(NumberFormat(GetData.Total_EClaim,'_____.__'))#*UN*#NumberFormat(GetData.Total_Units)#~"& chr(13)& chr(10)  &
							      "DTP*472*D8*#DateFormat(FirstVisit,"yyyymmdd")#~"
							  & chr(13)& chr(10)>
            <cfset ctr_329 = ctr_329 + 1>
          </cfif>
          <cfset finaldata = finaldata & var1 & 
							"LX*#ctr_329#~"& chr(13)& chr(10) & 
							"SV2*#Trim(GetData.Rev_Code)#*HC>#Trim(GetData.HCPCS)#*#Trim(NumberFormat(GetData.Total_EClaim,'_____.__'))#*UN*#NumberFormat(GetData.Total_Units)#~"& chr(13)& chr(10) &
							"DTP*472*D8*#DateFormat(GetData.Visit_Date,"yyyymmdd")#~"& chr(13)& chr(10)>
        </cfif>
      </cfoutput> 
      <!---<cfif len(GetData.HHRG_450_Score) GT 8>--->
      <cfset  TS = (ctr_329 * 3) + 32>
      <!---  <cfelse>
        <cfset  TS = (ctr_329 * 3) + 31>
      </cfif>--->
      <cfset finaldata = finaldata & var1>
      <cfset finaldata = finaldata & "SE*#TS#*#ST02#~"& chr(13)& chr(10) &"GE*1*#ISA13#~"& chr(13)& chr(10)&"IEA*1*#ISA13#~">
      <cfset finaldata = finaldata & chr(13)& chr(10)>
      <cfset ctr = ctr + 1 />
      <cfquery name="Get_Inv" datasource="#Application.DataSrc#">
        		Select
    		s.Schedule_ID, 
    		s.Invoice_Id,s.Patient_ID,
    		s.Assmt_ID,
    		#url.ID# AS Payer_ID,	
    		#session.agencyid# AS Agency_ID,
        "" AS Homebound_Status,
            a.F26 AS Assessment_Reason_M0100,
    		"" as Paid,
    		"" as PaymentDate,
    		"" AS PayerBalance 
    		from   #Request.prefix_db_agency#.pSchedules s, #Request.prefix_db_agency#.pAssessments a 
        WHERE s.Schedule_ID in (#FORM.Schedule_ID#)
        and s.Assmt_ID = a.Assmt_ID
    </cfquery>
      <cfset Paydate = #Get_Inv.PaymentDate# />
      <cfset Pad= #Get_Inv.Paid# />
      <cfset PayerBalance =#Get_Inv.PayerBalance# />
      <cfquery name="dblist" dbtype="query">
          select distinct(Schedule_ID) from GetData
     </cfquery>
      <cfset thelist=#ValueList(dblist.Schedule_ID,",")#>
      <cfquery datasource="#Application.DataSrc#" name="Insert_Invoice">
					<cfsetting requesttimeout="5000">
					  INSERT IGNORE INTO #Request.prefix_db_agency#.Invoices (
						  PatientPayer_ID
						 ,Agency_ID
						 ,Patient_ID
						 ,Assmt_ID
					     ,Output
						 ,DateSent
						 ,MethodSent
						 ,InvoiceTotal
						 ,PayerBalance
						 ,Internal_control_number
						 ,WhereTreated
						 ,Certification_End
						 ,No_Days
						 ,Record_Created_By
             ,Record_Created_Date
             ,Record_Modified_By
             ,Record_Modified_Date

					  ) VALUES (
						   '#Payer_ID#'
						  ,'#Agency_ID#'
						  ,'#Patient_ID#'
						  ,'#Assmt_ID#'
					      ,'Final'
							,NOW()
							,'Electronic'
							,#NumberFormat(InvoiceTotal,'_____.__')#
							,#NumberFormat(InvoiceTotal,'_____.__')#
							,'#CONTROL#'
							,''
							,#Certificat_End#
							,#total_Days#
							,#Session.EmployeeId#
              ,#now()#
              ,'#Session.EmployeeId#'
              ,#now()#
					  )
      </cfquery>
      <cfquery datasource="#Application.DataSrc#" name="Last_Invoice_ID">
      <cfsetting requesttimeout="5000">
	      SELECT LAST_INSERT_ID() as LastInsertID
      </cfquery>
      <cfquery datasource="#Application.DataSrc#" name="Insert_Payments">
						 INSERT IGNORE INTO #Request.prefix_db_agency#.Payments (
						  Invoice_ID
						 ,PatientPayer_ID
						 ,PaymentDate
						 ,Amount
						 ,PaymentMethod
						 ,WriteOffAmount
						 ,WriteOffType
						 ,Internal_control_number
             ,Record_Created_By
             ,Record_Created_Date
             ,Record_Modified_By
             ,Record_Modified_Date

					  ) VALUES (
					  	'#Last_Invoice_ID.LastInsertID#',
						 '#Payer_ID#',
						 <cfif Paydate neq ''>
						 #CreateODBCDateTime(Now())#,
						 <cfelse>
						 	 #CreateODBCDateTime(Now())#,
						 </cfif>
						 <!---<cfif Pad neq ''>
						  #Pad#,
						 <cfelse>--->
						 	 0.00,
						 <!---</cfif>--->
						 'Electronic',
						 '0.00',
						 '0.00'
						 ,'#CONTROL#'  
             ,'#Session.EmployeeId#'
              ,#now()#
              ,'#Session.EmployeeId#'
              ,#now()#
					  )
     </cfquery>
      
      <!--- Insert ALL claimdat into claim_bill table --->
      
      <cfquery name="Insert_claim_bill" datasource="#Application.DataSrc#"> 
				INSERT IGNORE INTO  #Request.prefix_db_agency#.claim_bill(
				  Type_of_Bill , Assignment_Accept ,Submitter_ID , Receiver_ID , Agency_Name ,Agent_FEIN , Agency_Contact ,Agency_Contact_Phone , PayName ,
				  ANPI ,Agency_Address1 ,Agency_City , Agency_State ,Agency_Zip , Last_Name_M0040 ,First_Name_M0040 , HI_Claim_Number ,Street_Address ,City ,
				  State_M0050 ,Zip_M0060 ,DOB_M0066 ,Gender_M0069 ,Payer_Number ,PayAdd1 ,PayCity ,PayState ,PayZip ,Certification_start ,Certification_end ,
				  Start_of_Care_M0030 ,Source_of_Admission ,Admission_Status ,Claim_Key ,HHRG_175_Score ,HHRG_230_Score ,HHRG_250_Score ,HHRG_390_Score ,
				  HHRG_420_Score ,HHRG_440_Score ,MSA_Code ,Referring_LastName ,Referring_FirstName ,Referring_PNPI ,Certifying_LastName ,Certifying_FirstName ,
				  Certifying_PNPI,Invoice_ID,Telephone,Assessment_Reason_M0100,Agency_Assigned_ID)
				  VALUES
				  ('#form.TOB#','','#Submitter_ID#','#Receiver_ID#','#Agency_Name#','#Agent_FEIN#','#Agency_Contact#','#Agency_Contact_Phone#','#Pay_Name#',
				'#ANPI#','#Agency_Address1#','#Agency_City#','#Agency_State#' ,'#Agency_Zip#','#Last_Name_M0040#','#First_Name_M0040#','#HI_Claim_Number#','#Street_Address#','#City#',
				'#State_M0050#','#Zip_M0060#',<cfif DOB_M0066 neq ''>'#DATEFORMAT(DOB_M0066,'yyyy-mm-dd')#'<cfelse>null</cfif>,'#Gender_M0069#','#Payer_Number#','#PayAdd1#','#PayCity#','#PayState#','#PayZip#',
				<cfif Certification_Start neq ''>'#DATEFORMAT(Certification_Start,'yyyy-mm-dd')#'<cfelse>null</cfif>,
				<cfif Certification_End neq ''>'#DATEFORMAT(Certification_End,'yyyy-mm-dd')#'<cfelse>null</cfif>,
				'#Start_of_Care_M0030#','#Source_of_Admission#','#Admission_Status#','#Claim_Key#','#HHRG_175_Score#','#HHRG_230_Score#','#HHRG_250_Score#','#HHRG_390_Score#',
				'#HHRG_420_Score#','#HHRG_440_Score#','#MSA_Code#','#LastName#','#FirstName#' ,'#PNPI#' ,'','','',#Last_Invoice_ID.LastInsertID#,'','#Assessment_Reason_M0100#','#Agency_Assigned_ID#')
		</cfquery>
      <cfset Turbo_Claim = #GetData.TurboClaim# />
      <cfif Turbo_Claim eq 1 and #Session.TurboClaim# eq 1 >
        <cfset getsucess= generalCFC.AddInvoiceHistory(Last_Invoice_ID.LastInsertID) />
        <cfquery datasource="#Application.DataSrc#" name="Insert_Status">
					Update IGNORE #Request.prefix_db_agency#.Invoices SET 
					Updated_by = 'Automatic',
					<cfif #form.rejected# neq 1>claim_status = 'Waiting'<cfelse>claim_status = 'Rejected'</cfif>
          ,Record_Modified_By = '#Session.EmployeeId#'
          ,Record_Modified_Date = #now()#
					WHERE Invoice_ID = #Last_Invoice_ID.LastInsertID#
					</cfquery>
      </cfif>

      <cfif trim(form.rejected) EQ 0>
      	<cfquery datasource="#Application.DataSrc#" name="Update_Flags">
     		<cfsetting requesttimeout="5000">
		  	UPDATE  IGNORE  #Request.prefix_db_agency#.pSchedules SET 
			  		Invoice_ID = #Last_Invoice_ID.LastInsertID# 
		    WHERE Schedule_ID IN (#thelist#) 
		    AND status = 0
		    AND Assmt_ID = #Assmt_ID#
     	</cfquery>
     </cfif>
	 
      <cfset invoiceTotal = 0>
      <cfset Paydate =''>
      <cfset Pad =0 >
      <cfset PayerBalance =0 />
      <cfif get_invoice_ID eq ''>
        <cfset get_invoice_ID = #Last_Invoice_ID.LastInsertID# />
        <cfelse>
        <cfset get_invoice_ID = get_invoice_ID&','&#Last_Invoice_ID.LastInsertID# />
      </cfif>
    </cfoutput>
    <cfset Turbo_Claim = #GetData.TurboClaim# />
    <cfquery datasource="#Application.DataSrc#" name="Get_claim">
 Select Invoice_ID from  #Request.prefix_db_agency#.Invoices  where Invoice_ID in ('#get_invoice_ID#')
</cfquery>
    <cffile action="write" file="#application.datapath##user##application.datatype#" output="#finaldata#">
    <div class="portlet box blue">
      <div class="portlet-title">
        <div class="caption"> <i class="fa fa-report"></i>Final Claims Ready for Export </div>
        <div class="tools"> <a href="" class="collapse"> </a> </div>
        <div class="actions">
          <input class="btn btn-default" type="button" title="Back" onclick="javacsript:history.back();" id="back" value="Back" name="back">
        </div>
      </div>
      <div class="portlet-body">
        <p>!!Your Final Claim visits have been prepared for export. Right click on the hyperlink <br />
          below and click Save Target As... </p>
        <p><cfoutput>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#application.webdatapath##user##application.datatype#" 
				  target='export'>Save as final_claim.dat in c://winpcace/impub92</a></cfoutput> </p>
      </div>
    </div>
    <cfquery name="dblist" dbtype="query">
<cfsetting requesttimeout="5000">
 select distinct(Schedule_ID) from GetData
  </cfquery>
    <cfset thelist=#ValueList(dblist.Schedule_ID,",")#>
    <cfif thelist neq ''>
      <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
				<cfsetting requesttimeout="5000">
				  DELETE FROM #Request.prefix_db_lookup#.Claim
			</cfquery>
    </cfif>
    <cfif #parameterexists(Form.Schedule_ID)#>
    </cfif>
    <cfelse>
    <h4>Final Claim Visits Ready for Export</h4>
    <p>No Final Claim visits ready</p>
    <cfinput type="button" name="back" id="back" title="Back" value="Back" onClick="javacsript:history.back();" />
  </cfif>
</cfform>
