<!---
This file is Copyright ? 1998-2009 by Home Care Business Services. This work may not be reproduced, in whole or in part, 
using any medium, including, but not limited to, electronic transmission, CD-ROM or published in print, without the express 
permission of Home Care Business Services.

$Revision: 1.18 $
$Id: bill_medicare_final_action.cfm,v 1.18 2010/07/09 13:32:35 melissa Exp $
$Date: 2010/07/09 13:32:35 $--->

<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>

<cfform name="file" enctype="multipart/form-data">
<cfif #parameterexists(Form.ScheduleItems_ID)#>

<!---<cfoutput>#Form.ScheduleItems_ID#</cfoutput><cfabort>--->
<!--- the the visits selected by the user--->
<cfquery name="GetVisits" datasource="#Application.DataSrc#">
<cfsetting requesttimeout="5000">
 SELECT ScheduleItems.ScheduleItems_ID, ScheduleItems.Rev_Code, ScheduleItems.HCPCS, ScheduleItems.Visit_Date, 
 ScheduleItems.Total_Units, ScheduleItems.Total_EClaim, ScheduleItems.Payer_ID, ScheduleItems.Assessment_Tracker_ID 
 FROM #Request.prefix_db_agency#.ScheduleItems WHERE ScheduleItems_ID IN (#Form.ScheduleItems_ID#)
</cfquery>
    
    <!--- 2. insert them into the claim table --->
    
    <cfloop query="GetVisits">
      <cfquery name="InsertVisits" datasource="#Application.DataSrc#">
  <cfsetting requesttimeout="5000">
   Insert Into #Request.prefix_db_lookup#.Claim (Agency_Id, ScheduleItems_ID, Rev_Code, HCPCS, Total_Units, Visit_Date, Total_EClaim, Assessment_Tracker_ID, Payer_ID, Ticket) 
   values ('#session.AgencyId#', '#ScheduleItems_Id#', '#Rev_Code#', '#HCPCS#', #decimalformat(Total_Units)#, '#DateFormat(Visit_Date,"yyyy-mm-dd")#', #NumberFormat(Total_EClaim,'_____.__')#, #Assessment_Tracker_ID#, #Payer_ID#, 1)
  </cfquery>
    </cfloop>
    
    <!--- 3. insert them into the claimII table --->
    
    <cfloop query="GetVisits">
      <cfquery name="InsertVisits" datasource="#Application.DataSrc#">
  <cfsetting requesttimeout="5000">
   Insert Into #Request.prefix_db_lookup#.ClaimII (Agency_Id, ScheduleItems_ID) 
   values ('#session.AgencyId#', '#ScheduleItems_Id#')
  </cfquery>
    </cfloop>
    
    <!--- 4. get first billable visit --->
    <cfquery name="GetAssmt" datasource="#Application.DataSrc#">
<cfsetting requesttimeout="5000">
 SELECT s.ScheduleItems_ID, s.Rev_Code, s.HCPCS, s.Total_Units, a.Certification_Start, s.Assessment_Tracker_ID, s.Payer_ID, s.Total_EClaim,s.Visit_Date
 FROM #Request.prefix_db_agency#.ScheduleItems s, #Request.prefix_db_lookup#.Claim c,
   #Request.prefix_db_agency#.Assessment_New a 
 WHERE s.ScheduleItems_ID = c.ScheduleItems_ID
 and s.Assessment_Tracker_ID = a.Assessment_Tracker_ID
 and a.Assessment_Reason_M0100 = '1 - Start of care - further visits planned'
 and s.Deleted = 0
  </cfquery>
    <!--- 5. insert first billable into claim AND claimII table ---> 
    
    <!---  <cfquery name="GetAssesment" datasource="#Application.DataSrc#">
<cfsetting requesttimeout="5000">
 Insert Into #Request.prefix_db_lookup#.Claim (Agency_Id, ScheduleItems_ID, Rev_Code, HCPCS, Total_Units,  Assessment_Tracker_ID, Payer_ID, Total_EClaim) 
 SELECT '#session.AgencyId#', ScheduleItems_ID, Rev_Code, HCPCS, Total_Units,  Assessment_Tracker_ID, Payer_ID, Total_EClaim
 From #Request.prefix_db_lookup#.ClaimII
 Where Assessment_Tracker_ID != 0
  </cfquery>--->
    
    <!---<cfloop query="GetAssmt">
      <cfquery name="GetAssment" datasource="#Application.DataSrc#">
  <cfsetting requesttimeout="5000">
   Insert Into #Request.prefix_db_lookup#.Claim (ScheduleItems_ID, Rev_Code, HCPCS, Total_Units, Visit_Date, Total_EClaim, Assessment_Tracker_ID, Payer_ID) 
   values ('#ScheduleItems_Id#', '#Rev_Code#', '#HCPCS#', #decimalformat(Total_Units)#, '#DateFormat(Visit_Date,"yyyymmdd")#', #NumberFormat(Total_EClaim,'_____.__')#, #Assessment_Tracker_ID#, #Payer_ID#)
  </cfquery>
    </cfloop>--->
    
    <!--- 8. get supplies --->
    <cfquery name="GetSupplies" datasource="#Application.DataSrc#">
<cfsetting requesttimeout="5000">
 SELECT s.ScheduleItems_ID, s.Revenue_Code, s.HCPCS, s.Total_Units, c.Visit_Date, s.Assessment_Tracker_ID, s.Payer_ID, s.Total_Price, s.Ticket 
 FROM #Request.prefix_db_lookup#.Supply_Sched s, #Request.prefix_db_lookup#.Claim c 
 WHERE s.ScheduleItems_ID = c.ScheduleItems_ID
 and s.Deleted = 0
  </cfquery>
    
    <!--- 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,ScheduleItems_ID, Rev_Code, HCPCS, Total_Units,
   <cfif Visit_Date neq ''>Visit_Date,</cfif>  Total_EClaim,  Assessment_Tracker_ID, Payer_ID, Ticket) 
   values (#session.AgencyId#,'#ScheduleItems_Id#', '#Revenue_Code#', '#HCPCS#', #decimalformat(Total_Units)#,
   <cfif Visit_Date neq ''>'#DateFormat(Visit_Date,"yyyy-mm-dd")#',</cfif>
   #NumberFormat(Total_Price,'_____.__')#,  #Assessment_Tracker_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#.Assessment_New 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.Assessment_Tracker_ID =  c.Assessment_Tracker_ID
   AND  h.Employee_ID = e.Employee_ID
  </cfquery>
    
    <!--- 11. clear out claim II
    <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
 <cfsetting requesttimeout="5000">
  DELETE FROM #Request.prefix_db_lookup#.ClaimII
  </cfquery> ---> 
    
    <!--- 12. get ALL claim data now --->
    <cfquery name="Getdata" datasource="#Application.DataSrc#">
<cfsetting requesttimeout="5000">
 SELECT Claim.ScheduleItems_ID, Claim.Claim_ID, Claim.Rev_Code, Claim.HCPCS, Claim.Total_Units, Claim.Total_EClaim, 
  Claim.Visit_Date, 
  Assessment_New.Assessment_ID,
  Assessment_New.Assessment_Reason_M0100,Assessment_New.Start_of_Care_M0030, Assessment_New.Certification_Start, 
  Assessment_New.Certification_End, Assessment_New.Source_of_Admission, patient.Admission_Status, Assessment_New.HIPPS_Code AS HIPPS, 
  Assessment_New.Admission_Description,Assessment_New.Homebound_Status,Assessment_New.Assessment_Reason_M0100,
  Assessment_New.Assessment_Tracker_ID, patient.HI_Claim_Number, Assessment_New.Claim_Key, 
  Assessment_New.Information_Release, Assessment_New.HHRG_175_Score, Assessment_New.HHRG_230_Score, 
  Assessment_New.HHRG_250_Score, Assessment_New.HHRG_390_Score, Assessment_New.HHRG_420_Score, Assessment_New.HHRG_440_Score, Assessment_New.HHRG_450_Score, 
  patient.Patient_ID, 
  patient.Last_Name_M0040,patient.Patient_ID, patient.First_Name_M0040, patient.Middle_Initial_M0040, patient.Street_Address, 
  patient.Gender_M0069, patient.City, patient.State_M0050, patient.Zip_M0060, patient.DOB_M0066, patient.MSA_Code, patient.FIPS_Code, patient.Agency_Assigned_ID, 
  patient.Admission_Status, patient.Lives_With_M0340,  patient.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.Natl_Provider_ID AS ANPI, 
  Agency.Agency_ID, Agency.Hospice_Medicare_NPI AS HNPI,
  Physician.Natl_Provider_ID AS PNPI, 
  Employee.Last_Name as LastName, Employee.First_Name as FirstName, 
  Payer.Payer_ID, Payer.Submitter_ID, Payer.Receiver_ID, Payer.PayName, Payer.Payer_Number, Payer.Address1 AS PayAdd1, 
  Payer.Address2 AS PayAdd2, Payer.City AS PayCity, Payer.State AS PayState, Payer.Zip AS PayZip,Payer.TurboClaim,
(SELECT MIN(Visit_Date)
    FROM   #Request.prefix_db_lookup#.Claim
	WHERE  Agency_Id = '#session.AgencyId#'
	AND    Assessment_Tracker_Id = Assessment_New.Assessment_Tracker_Id
   ) AS FirstVisitDate
    ,(SELECT MIN(Total_Units)
    FROM   #Request.prefix_db_lookup#.Claim
	WHERE  Agency_Id = '#session.AgencyId#'
	AND    Assessment_Tracker_Id = Assessment_New.Assessment_Tracker_Id
   ) AS Units
 FROM  #Request.prefix_db_agency#.Assessment_New, #Request.prefix_db_agency#.patient, #Request.prefix_db_lookup#.Agency, #Request.prefix_db_lookup#.Physician, #Request.prefix_db_agency#.Payer, #Request.prefix_db_lookup#.Claim, #Request.prefix_db_lookup#.Employee 
 WHERE Claim.Agency_Id = '#session.AgencyId#'
 AND   Claim.Ticket = 1
 AND   Claim.Total_EClaim > '0.0000'
AND   (Claim.Visit_Date >= Assessment_New.Certification_Start or Claim.Visit_Date is null)
AND   Claim.Assessment_Tracker_ID = Assessment_New.Assessment_Tracker_ID
 AND   Assessment_New.Patient_ID = patient.Patient_ID 
 AND   Assessment_New.Agency_Number = Agency.Agency_ID 
 AND   patient.Primary_ReferringPhys_ID_M0072 = Physician.Physician_ID 
 AND   Claim.Payer_ID = Payer.Payer_ID
 AND   Employee.Employee_ID = Physician.Employee_ID
 ORDER BY Assessment_Tracker_ID, Visit_Date, Claim_ID
  </cfquery>
  <!---<cfabort>--->
    <cfset Turbo_Claim =0 />
    <cfset Paydate =''>
    <cfset Pad = 0 />
    <cfset PayerBalance =0 />
    <cfset invoiceTotal=0>
    <cfset c = 0 />
    <cfset finaldata = "">
    <!--- <cfset agencyIds = ArrayNew(1) />
  <cfset assessmentTrackerIds = ArrayNew(1) />
  <cfset patientIds = ArrayNew(1) />
  <cfset invoiceAmounts = ArrayNew(1) />
  <cfset patients = ArrayNew(1) />
  <cfset invAmts  = ArrayNew(1) /> --->
    
    <cfset finaldata = "">
    <cfset ctr = 0 />
    <cfoutput query="GetData" group="Assessment_Tracker_ID">
      <cfset total_Days = #DateDiff("d",Getdata.Certification_End,now())# >
      <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>
		
	   <cfquery name="GetFirst" datasource="#Application.DataSrc#">
	     SELECT * FROM  #Request.prefix_db_agency#.ScheduleItems where Assessment_ID = #Assessment_ID# order by Visit_date ASC limit 1 
	   </cfquery>
	
	  <cfif GetData.Admission_Description does not contain 'Q' or GetData.Admission_Description eq ''>
        <cfset QCode = 'Q5001'>
        <cfelse>
        <cfset QCode = #Trim(GetData.Admission_Description)#>
      </cfif>
      <cfset GetData.PayZip = #Left(GetData.PayZip,5)# & '9999'>
      <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>
	  <cfif #session.AgencyId# eq '318'>
      <!---<cfset finaldata = finaldata & 
		"ISA*00*          *00*          *ZZ*00             *ZZ*203806685*ZZ*MDONLINE*#DateFormat(Now(), "YYMMDD")#*#DateFormat(Now(), "HHMM")#*U*00501*#ISA13#*0*P*>~" & chr(13)& chr(10) & 
		"GS*HC*203806685*MDONLINE*#GetData.Submitter_ID#*#GetData.Receiver_ID#*#DateFormat(Now(), "YYYYMMDD")#*#DateFormat(Now(), "HHMM")#*#ISA13#*X*005010X223A2~" & chr(13)& chr(10) >--->
		<cfset finaldata = finaldata & 
		"ISA*00*          *00*          *ZZ*#GetData.Submitter_ID#*ZZ*00  *#DateFormat(Now(), "YYMMDD")#*#DateFormat(Now(), "HHMM")#*U*00501*#ISA13#*0*P*>~" & chr(13)& chr(10) & 
		"GS*HC*#GetData.Submitter_ID#*00*#DateFormat(Now(), "YYYYMMDD")#*#DateFormat(Now(), "HHMM")#*#ISA13#*X*005010X223A2~" & chr(13)& chr(10) >
		<cfelse>
		<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) > 
		 </cfif>
		  <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) & 
		<!--- "REF*87*005010X223A2~"  & 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.PayName)#*****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>
      <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**<!---#UCase(GetData.PayName)#--->*****MA~" & 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.PayName)#*****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#***32>A>9**A*Y*Y*********~"& chr(13)& chr(10) & 		"DTP*434*RD8*#DateFormat(GetData.Certification_start,"yyyymmdd")#-#DateFormat(GetData.Certification_end,"yyyymmdd")#~"& 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#*#GetData.Admission_Status#~"& chr(13)& chr(10) & 
		"REF*G1*#GetData.Claim_Key#~"& chr(13)& chr(10) &
		"HI*ABK>#Replace(GetData.HHRG_175_Score, ".", "", "ALL")#~"& chr(13)& chr(10) >
		<cfif GetData.HHRG_230_Score neq '' OR  GetData.HHRG_250_Score neq '' OR  GetData.HHRG_390_Score neq '' OR  GetData.HHRG_420_Score neq '' OR  GetData.HHRG_440_Score neq ''>
		<cfset  finaldata = finaldata & "HI*" >
		<cfif GetData.HHRG_230_Score neq '' >
		<cfset  finaldata = finaldata & "ABF>#Replace(GetData.HHRG_230_Score, ".", "", "ALL")#*" >
		</cfif>
		<cfif GetData.HHRG_250_Score neq '' >
		<cfset  finaldata = finaldata & "ABF>#Replace(GetData.HHRG_250_Score, ".", "", "ALL")#*" >
		</cfif>
		<cfif GetData.HHRG_390_Score neq '' >
		<cfset  finaldata = finaldata & "ABF>#Replace(GetData.HHRG_390_Score, ".", "", "ALL")#*" >
		</cfif>
		<cfif GetData.HHRG_420_Score neq '' >
		<cfset  finaldata = finaldata & "ABF>#Replace(GetData.HHRG_420_Score, ".", "", "ALL")#*" >
		</cfif>
		<cfif GetData.HHRG_440_Score neq '' >
		<cfset  finaldata = finaldata & "ABF>#Replace(GetData.HHRG_440_Score, ".", "", "ALL")#~" & chr(13)& chr(10) >
		<cfelse>
		<cfset finaldata = Left(finaldata, len(finaldata)-1) />
		<cfset finaldata = finaldata &"~"& chr(13)& chr(10) />
		</cfif>
		</cfif>
		<cfif session.AgencyId eq '318' >
		<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)>
		<cfelse>
		<!---"HI*ABK>#Replace(GetData.HHRG_175_Score, ".", "", "ALL")#~"& chr(13)& chr(10) &
		"HI*ABF>#Replace(GetData.HHRG_230_Score, ".", "", "ALL")#*ABF>#Replace(GetData.HHRG_250_Score, ".", "", "ALL")#*ABF>#Replace(GetData.HHRG_390_Score, ".", "", "ALL")#*ABF>#Replace(GetData.HHRG_420_Score, ".", "", "ALL")#*ABF>#Replace(GetData.HHRG_440_Score, ".", "", "ALL")#~"& chr(13)& chr(10) &--->
		<cfset  finaldata = finaldata &"HI*BE>85>>>#GetData.MSA_Code#~"& chr(13)& chr(10) & 
		"NM1*71*1*#UCase(GetData.LastName)#*#UCase(GetData.FirstName)#****XX*#GetData.PNPI#~"& chr(13)& chr(10)>
		</cfif>
	<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.ScheduleItems_ID, 
		s.Invoice_Id,s.Patient_ID,
		s.Assessment_Tracker_ID,
		s.Payer_ID,	
		s.Agency_ID,
        a.Homebound_Status,
        a.Assessment_Reason_M0100,
		(Select Amount from #Request.prefix_db_agency#.Payments where Invoice_ID = s.Invoice_ID limit 1) as Paid,
		(Select PaymentDate from #Request.prefix_db_agency#.Payments where Invoice_ID = s.Invoice_ID limit 1) as PaymentDate,
		(select PayerBalance from #Request.prefix_db_agency#.Invoices where Invoice_ID = s.Invoice_ID limit 1) AS PayerBalance 
		from #Request.prefix_db_agency#.ScheduleItems s, #Request.prefix_db_agency#.Assessment_New a
        where s.ScheduleItems_ID in (#FORM.ScheduleItems_ID#)
        and s.Assessment_Tracker_ID = a.Assessment_Tracker_ID
      </cfquery>
      <cfset Paydate = #Get_Inv.PaymentDate# />
      <cfset Pad= #Get_Inv.Paid# />
      <cfset PayerBalance =#Get_Inv.PayerBalance# />
      <cfquery name="dblist" dbtype="query">
          select distinct(scheduleitems_id) from GetData
     </cfquery>
      <cfset thelist=#ValueList(dblist.scheduleitems_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
	 ,Assessment_Tracker_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#'
	  ,'#Assessment_Tracker_ID#'
      ,'Final'
		,NOW()
		,'Electronic'
		,<cfif Assessment_Reason_M0100 contains '1 -' >#NumberFormat(Homebound_Status,'_____.__')*.40#<cfelse>#NumberFormat(Homebound_Status,'_____.__')*.50#</cfif>
		,<cfif Assessment_Reason_M0100 contains '1 -' >#NumberFormat(Homebound_Status,'_____.__')*.40#<cfelse>#NumberFormat(Homebound_Status,'_____.__')*.50#</cfif>
		,'#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
  ('32>A>9','','#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#',<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>
      <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
     <cfsetting requesttimeout="5000">
  	UPDATE  IGNORE  #Request.prefix_db_agency#.ScheduleItems SET 
	  EClaimed = 1
  	 ,EClaimed_Final = 1
   	 ,Invoice_ID = #Last_Invoice_ID.LastInsertID#
	 ,Export_Date = #CreateODBCDateTime(Now())#
	 ,Output_Type = 'Final'
    WHERE ScheduleItems_ID IN (#thelist#) 
    AND Assessment_Tracker_ID = #Assessment_Tracker_ID#
     </cfquery>
      <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 * from  #Request.prefix_db_agency#.Invoices  where Invoice_ID in ('#get_invoice_ID#')
</cfquery>

	<cfif #form.rejected# neq 1>
    <cfif Turbo_Claim eq 1 and #Session.TurboClaim# eq 1 >
      <cfset invoice= 'UB'&#Getdata.ScheduleItems_ID#&'.CLI' />
      <cfset strFilePath = "/var/www/Zirmed_Upload_files_Backup/" >
      <cffile
							action="write"
							file="#strFilePath##invoice#"
							output="#finaldata#"
							/>
      <cfset objFTPProperties = {
							Server = "sshftp.zirmed.com",
							Port = "22",
							Username = "124641",
							Password = "demriz41",
							fingerprint = "c3:a3:24:d4:50:75:d2:0f:b9:a4:34:d8:94:11:17:36",
							Secure = true
							} />
      <cfftp 
							action="open"
							connection="objConnection"
							attributeCollection="#objFTPProperties#"
							/>
      <cfftp action="putfile"  localfile="#strFilePath##invoice#" remotefile="/Upload/#invoice#" connection="objConnection" />
      <cfftp action="close" connection="objConnection" />
      <cfmail from="ticket@myhomecarebiz.com" 
						 to="debbie@myhomecarebiz.com"  bcc="velmurugan@msitl.com"
						 subject="Medicare final visits just submitted via TurboClaim" 
						 type="html">
        <cfoutput> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
          <p>Agency: <b>#Session.AgencyName#</b></p>
          <p>5-Digit ID: <b>#Session.AgencyLogin#</b> <b>3-Digit ID: #Session.AgencyID#</b></p>
          <p>Name: <b>#session.Display#</b></p>
          <p>Cell: <b>#Session.Phone#</b>&nbsp;&nbsp;Agency Phone: #Session.Agency_Phone#</p>
          </font> </cfoutput>
      </cfmail>
      <div class="portlet box blue">
        <div class="portlet-title">
          <div class="caption"> <i class="fa fa-report"></i>Final Claims 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>!!Files Submitted by TurboClaim</p>
        </div>
      </div>
      <cfelse>
      <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>
    </cfif>
	<cfelse>
	<cfmail from="ticket@myhomecarebiz.com" 
						 to="debbie@myhomecarebiz.com"  bcc="velmurugan@msitl.com"
						 subject="Medicare final visits just Moved  to REJECTED" 
						 type="html">
						 <p>This claims just moved into Rejected Claims</p><br />
        <cfoutput> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
          <p>Agency: <b>#Session.AgencyName#</b></p>
          <p>5-Digit ID: <b>#Session.AgencyLogin#</b> <b>3-Digit ID: #Session.AgencyID#</b></p>
          <p>Name: <b>#session.Display#</b></p>
          <p>Cell: <b>#Session.Phone#</b>&nbsp;&nbsp;Agency Phone: #Session.Agency_Phone#</p>
          </font> </cfoutput>
      </cfmail>
	<div class="portlet box blue">
					<div class="portlet-title">
							<div class="caption">
								<i class="fa fa-report"></i>Bill Medicare
							</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  Claims Moved to Rejected Now.</p>
						<p>So Please check that Claim in REJECTED </p>
						<cfinput type="button" name="back" id="back" title="Back" value="Back" onClick="javacsript:history.back();" />
					</div>
	   </div>
				
	</cfif>
    <cfquery name="dblist" dbtype="query">
<cfsetting requesttimeout="5000">
 select distinct(scheduleitems_id) from GetData
  </cfquery>
    <cfset thelist=#ValueList(dblist.scheduleitems_id,",")#>
    <cfif thelist neq ''>
      <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
 <cfsetting requesttimeout="5000">
	UPDATE #Request.prefix_db_agency#.ScheduleItems SET 
	EClaimed = 1, 
    EClaimed_Final = 1, 
	Nonbillable = 0,
	Export_Date = #CreateODBCDateTime(Now())#
	WHERE ScheduleItems_ID IN (#thelist#)
 </cfquery>
<!---  <cfif CGI.REMOTE_ADDR neq '103.66.78.232'>--->
      <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
<cfsetting requesttimeout="5000">
  DELETE FROM #Request.prefix_db_lookup#.Claim
 </cfquery>
      <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
<cfsetting requesttimeout="5000">
  DELETE FROM #Request.prefix_db_lookup#.ClaimII
 </cfquery>
<!--- </cfif>--->
    </cfif>
    <cfif #parameterexists(Form.ScheduleItems_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>
