<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='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)#>

<!--- the the visits selected by the user--->
  <cfquery name="GetVisits" datasource="#Application.DataSrc#">
     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>
         
  <!--- first get SOC visits--->
  <cfloop query="GetVisits">
        <cfquery name="GetRevenue" datasource="#Application.DataSrc#">
             SELECT * FROM #Request.prefix_db_agency#.pRevenue_Code 
             WHERE Rev_CodeID = '#Rev_ID#'
        </cfquery>
        <cfset Request.Total_Price = Total_Units * #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#', '#HIPPS_Code#', #NumberFormat(Request.Total_Price,'_____.__')#, #Total_Units#, #Assmt_ID#, #PAYER_ID#, 1)
        </cfquery>   
        <cfquery name="Update_VisitsEclaims" datasource="#Application.DataSrc#">
            UPDATE IGNORE #Request.prefix_db_agency#.pSchedules SET Total_Eclaim = #NumberFormat(Request.Total_Price,'_____.__')#
            WHERE Schedule_ID = #Schedule_ID#
        </cfquery>   
     
  </cfloop>
 
  <cfquery name="GetFirstVisit" datasource="#Application.DataSrc#">
       SELECT Claim.Schedule_ID, Claim.Claim_ID, Claim.Total_Units, Claim.Visit_Date, pAssessments.F300 AS HIPPS_Code
       FROM   #Request.prefix_db_lookup#.Claim, #Request.prefix_db_agency#.pAssessments
       WHERE  Claim.Agency_Id = '#session.AgencyId#' 
       AND    Claim.Ticket = 1 
       AND    Claim.Assmt_ID = pAssessments.Assmt_ID 
       ORDER BY Patient_ID, Visit_Date
       Limit 1
  </cfquery>

  <cfset c = 0 />
  <cfset Paydate =''>
  <cfset Pad = 0 />
  <cfset PayerBalance =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) />

  <cfquery name="PrefetchData" datasource="#Application.DataSrc#">
       SELECT pAssessments.Assmt_ID, pPatients.patient_id, SUM(Claim.Total_EClaim) AS invAmt
       FROM   #Request.prefix_db_agency#.pAssessments, #Request.prefix_db_agency#.pPatients, #Request.prefix_db_lookup#.Agency, #Request.prefix_db_agency#.pPayer, #Request.prefix_db_lookup#.Claim
       WHERE Claim.Agency_Id = '#session.AgencyId#'
       AND  Claim.Ticket = 1 
       AND  Claim.Assmt_ID = pAssessments.Assmt_ID 
       AND  pAssessments.Patient_ID = pPatients.Patient_ID
       AND  Claim.Payer_ID = pPayer.Pay_ID 
       GROUP BY pAssessments.Assmt_ID, pPatients.patient_id
       ORDER BY pPatients.patient_id
  </cfquery>

  <cfoutput query="PrefetchData">
    <cfscript>
      ArrayAppend(patients, #PrefetchData.patient_id#);
      RAPCalc = CreateObject("component", "MC_RAP_Calc");
      rap = RAPCalc.getRAP(PrefetchData.Assmt_ID);
      ArrayAppend(invAmts, #Replace(rap, ",", "", "All")#);
     </cfscript>
  </cfoutput>
  <cfquery name="Getdata" datasource="#Application.DataSrc#">
 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.F179 AS Start_of_Care_M0030, pAssessments.F177 Certification_Start, pAssessments.Assmt_ID,
  pAssessments.F26 AS Assessment_Reason_M0100
  ,pAssessments.F178 AS Certification_End, '' AS Source_of_Admission, pAssessments.F300 AS HIPPS_Code
  ,"" AS Claim_Key, "" AS Information_Release, "" 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, pPatients.Pt_Agy_ID AS HI_Claim_Number
  ,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,"" AS MSA_Code, "" AS 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.Natl_Provider_ID AS ANPI ,Agency.Agency_ID, Agency.Wage_Index, Agency.Rural, "" AS NPI
  ,pEmployee.Emp_Last as LastName, pEmployee.Emp_First as FirstName
  ,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_State AS PayZip , 0 AS TurboClaim,
  (SELECT MIN(Visit_Date)
    FROM   #Request.prefix_db_lookup#.Claim
  WHERE  Agency_Id = '#session.AgencyId#'
  AND    Assmt_ID = pAssessments.Assmt_ID
   ) AS FirstVisitDate    
 FROM  #Request.prefix_db_agency#.pAssessments, #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_lookup#.Claim
 WHERE Claim.Agency_Id = '#session.AgencyId#'
 AND   Claim.Ticket = 1 
 AND   Claim.Assmt_ID = pAssessments.Assmt_ID
 AND   pAssessments.Patient_Id = pPatients.Patient_Id
 AND   pPatients.Loc_ID = Agency.Agency_ID 
 AND   pSchedules.Assmt_ID = pAssessments.Assmt_ID
 AND   Claim.Payer_Id = pPayer.Pay_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 Patient_Id, Claim_Id
</cfquery>
  <!--- Initialize variables --->
  <cfset finaldata = "">
   
  <!--- GetData Value: <cfdump var="#GetData#"><br> ---> 
  <!---<cfoutput query="GetData" group="Patient_ID">--->
  <cfoutput query="GetData" group="Assmt_ID">
    <cfscript>
   ArrayAppend(agencyIds, #GetData.Agency_ID#);
   ArrayAppend(assessmentTrackerIds, #GetData.Assmt_ID#);
   ArrayAppend(patientIds, #GetData.Patient_ID#);
   ArrayAppend(invoiceAmounts, #GetData.Total_EClaim#);
  </cfscript>
  
 <cfset total_Days = #DateDiff("d",Getdata.Assessment_Completed_M0090,now())# >
<cfset Assessment_Completed = #Getdata.Assessment_Completed_M0090# />

    <!--- Used for counting the number of 322 iterations --->
    <cfset ctr_322 = 1>
    <cfif len(GetData.HHRG_450_Score) GT 8>
      <cfset TS = 34>
    <cfelse>
      <cfset TS = 33>
    </cfif>
    <cfset YB = '4'>
    <cfset OC = ''>
    <cfset claim = #GetData.HI_Claim_Number#>
    <cfset HIPPS2 = #GetData.HIPPS_Code#>
    <cfset REV2 = '0023'>
    <cfset DESC = 'HOME HEALTH SERVICES'>
    <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)# & '1901'></cfif>
    <cfif len(GetData.PayZip) lte 5 >
      <cfset GetData.PayZip = #Left(GetData.PayZip,5)# & '9999'>
    </cfif>
    <!--- Remove '.' from the Text_ICD field value ---> 
    <!--- <cfset GetData.Text_ICD = #Replace(GetData.Text_ICD, ".", "", "ALL")#> ---> 
    <!--- Retrieve 1 character (M/F) from Gender_M0069 field value 
    <cfset GetData.Gender_M0069 = #Mid(GetData.Gender_M0069,5,1)#>--->
    <!--- Get first character from Source_of_Admission field value ---> 
  
  
  <cfif LEFT(GetData.Assessment_Reason_M0100,1) eq  '4'>
      <cfset FirstVisit = #GetData.FirstVisitDate#>
  <cfelse>
     <cfset FirstVisit = #GetData.Start_of_Care_M0030#>
    </cfif>
   <!--- <cfset diff_Days = #DateDiff("d",Getdata.Certification_start,Getdata.RAP_Date)# > 
    <cfif diff_Days gt 30>
    <cfset RAP_date = #DateAdd('d', 30,  Getdata.Certification_start)#>
        <cfelse>
    <cfset RAP_date = #GetData.Certification_Start#>
     </cfif> --->
    <cfset var1 = "">
   <cfset Turbo_Claim = 0 />
    <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")#>

    <cfoutput group="Claim_ID">
       <!--- <cfif Trim(GetData.Rev_Code) eq '0023'> --->
        <cfset var1 = var1 &
      "LX*#ctr_322#~"& chr(13)& chr(10) &
      "SV2*#Trim(GetData.Rev_Code)#*HP>#Trim(GetData.HCPCS)#*#Trim(NumberFormat(GetData.Total_EClaim,'_____.__'))#*UN*1.00~"& chr(13)& chr(10) &
      "DTP*472*D8*#DateFormat(GetData.FirstVisitDate,"yyyymmdd")#~"& chr(13)& chr(10)>
        <cfset ctr_322 = ctr_322 + 1>
        <cfif GetData.Total_EClaim neq '' and GetData.Total_EClaim gt 0>
          <cfset invoiceTotal = invoiceTotal + GetData.Total_EClaim>
        </cfif>
        <cfset invoicePayerId = #Payer_Id#>
      <!--- </cfif> --->
    </cfoutput>
    <cfset rap = 0 />
    <cfif c eq 0>
    </cfif>
    <!--- <cfif CGI.REMOTE_ADDR EQ '157.51.218.172'><cfoutput>#RAP_date# - #DateFormat(RAP_date,"yyyymmdd")#</cfoutput><cfabort></cfif> --->
    <!--- JDB: Move the cfset below back inside the c eq 0 above when the time comes --->
    <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) & 
    "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#~">
    <cfset c = c + 1>
    <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.Pay_Name)#--->*****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(REReplace(GetData.Street_Address,"[^0-9A-Za-z ]","","all"))#~"& chr(13)& chr(10) & 
    "N4*#UCase(GetData.City)#*#UCase(GetData.State_M0050)#*#Left(GetData.Zip_M0060,5)#~"  & chr(13)& chr(10) & 
    "DMG*D8*#DateFormat(GetData.DOB_M0066,"yyyymmdd")#*#LEFT(GetData.Gender_M0069,1)#~"& 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#***32>A>2**A*Y*Y*********~"& chr(13)& chr(10) & 
    "DTP*434*RD8*#DateFormat(RAP_Date,"yyyymmdd")#-#DateFormat(RAP_Date,"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#*30~"& 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*#UCase(GetData.LastName)#*#UCase(GetData.FirstName)#****XX*#GetData.NPI#~"& 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 & ""  >
    <cfset finaldata = finaldata & var1>
    <cfset finaldata = finaldata & "SE*#TS#*#ST02#~"& chr(13)& chr(10) &"GE*1*#ISA13#~"& chr(13)& chr(10)&"IEA*1*#ISA13#~">
    <!--- Add Newline/CR to string --->
    <cfset finaldata = finaldata & chr(13)& chr(10)>
  <!---</cfoutput>--->
    <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,",")#>

<!---  <cfoutput query="Get_Inv" group="Assmt_ID">--->
    <cfquery datasource="#Application.DataSrc#" name="Insert_Invoice">
 <cfsetting requesttimeout="5000">
 
  INSERT INTO #Request.prefix_db_agency#.Invoices (
    PatientPayer_ID
   ,Agency_ID
   ,Patient_ID
   ,Assmt_ID
     ,Output
   ,DateSent
   ,MethodSent
   ,InvoiceTotal
   ,PayerBalance
   ,Internal_control_number
   ,WhereTreated
   ,Assessment_Completed_M0090
   ,No_Days
   ,Record_Created_By
   ,Record_Created_Date
   ,Record_Modified_By
   ,Record_Modified_Date

  ) VALUES (
     '#Payer_ID#'
    ,'#Agency_ID#'
    ,'#Patient_ID#'
    ,'#Assmt_ID#'
      ,'RAP'
    ,NOW()
    ,'Electronic'
    <!--- ,<cfif Assessment_Reason_M0100 contains '1 -' >#NumberFormat(Homebound_Status,'_____.__')*.60#<cfelse>#NumberFormat(Homebound_Status,'_____.__')*.50#</cfif>
    ,<cfif Assessment_Reason_M0100 contains '1 -' >#NumberFormat(Homebound_Status,'_____.__')*.60#<cfelse>#NumberFormat(Homebound_Status,'_____.__')*.50#</cfif> --->
    ,#NumberFormat(InvoiceTotal,'_____.__')#
              ,#NumberFormat(InvoiceTotal,'_____.__')#
    ,'#CONTROL#'
    ,''
    ,'#Assessment_Completed#'
    ,#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 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 Paid neq ''>
    #Paid#,
   <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
  ('32A','','#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>,
 <cfif Start_of_Care_M0030 neq ''>'#Start_of_Care_M0030#<cfelse>null</cfif>,'#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#' ,'#NPI#' ,'','','',#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 #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="get_schedule">
    SELECT * FROM #Request.prefix_db_agency#.pSchedules WHERE Schedule_ID IN (#thelist#) 
</cfquery>

  <cfif trim(form.UBform) EQ 0>
    <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
      <cfsetting requesttimeout="5000">
      UPDATE #Request.prefix_db_agency#.pSchedules SET 
        Invoice_ID = #Last_Invoice_ID.LastInsertID# 
      WHERE Schedule_ID IN (#thelist#) 
      AND   pSchedules.Assmt_ID = #Assmt_ID#
      ANd pSchedules.status = 0
    </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> 

<cfquery datasource="#Application.DataSrc#" name="Get_claim">
     Select * from  #Request.prefix_db_agency#.Invoices  where Invoice_ID in ('#get_invoice_ID#')
</cfquery>
  
  
<cfset Turbo_Claim = #GetData.TurboClaim# /> 
<cfif #form.UBform# EQ 1> 
   <cflocation url="index.cfm?page=agency&cat=BillingReports&rpt=form_edit&inv=#Get_claim.Invoice_ID#" addtoken="no"/>
</cfif>


<cfif #form.rejected# neq 1>
     <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>NOAs Ready for Export to PC-ACE
              </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 NOAs have been prepared for export. Right click on the hyperlink<br>
            below and click Save Target As...</p>
            <p><cfoutput><a target='NOA' href="#application.webdatapath##user##Application.datatype#">Save as NOA.dat in c://winpcace/impub92</a></cfoutput></p>
            <cfinput type="button" name="back" id="back" title="Back" value="Back" onClick="javacsript:history.back();" />
          </div>
        </div>
<cfelse>
  <cfmail from="ticket@myhomecarebiz.com" 
             to="melissa@myhomecarebiz.com"  bcc="velmurugan@myhomecarebiz.com"
             subject="Medicare final visits just Moved  to REJECTED" 
             type="html">
             <p>This claims just moved into Rejectec 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 NOA
              </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 NOA 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>
    
  
<!--- After file creation is complete, flag the EClaimed field in the pSchedules table, by setting it to 1--->
  
  <cfquery name="dblist" dbtype="query">
 select distinct(Schedule_ID) from GetData
</cfquery>
  <cfset thelist=#ValueList(dblist.Schedule_ID,",")#>
  <cfif thelist neq ''>
    <!--- <cfquery datasource="#Application.DataSrc#" name="Update_Flags">
  UPDATE #Request.prefix_db_agency#.pSchedules SET 
      EClaimed = 1
   ,Export_Date = #CreateODBCDateTime(Now())#
  WHERE Schedule_ID IN (#thelist#)
 </cfquery> --->
<cfquery datasource="#Application.DataSrc#" name="Update_Flags">
  UPDATE #Request.prefix_db_agency#.Supply_Sched SET Ticket = 9 WHERE Ticket = 1 AND Schedule_ID IN (#thelist#)
 </cfquery>
<cfquery datasource="#Application.DataSrc#" name="Update_Flags">
  DELETE FROM #Request.prefix_db_lookup#.Claim WHERE Agency_Id = '#session.AgencyId#' AND Schedule_ID IN (#thelist#)
 </cfquery> 
  </cfif>
   <cfelse>
  <h4>NOAs Ready for Export to PC-ACE</h4>
  <p>No NOA Visits Selected</p>
  <cfinput type="button" name="back" id="back" title="Back" value="Back" onClick="javacsript:history.back();" />
  </cfif>
</cfform>
