<cfoutput query="GetData" group="Assmt_ID">
  <cfset total_Days =  0 />
  <cfset occurancecode = 50 />
  <!--- 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#>
  <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>
  <cfif LEFT(GetData.Assessment_Reason_M0100,1) eq  '4'>
      <cfset FirstVisit = #GetData.FirstVisitDate#>
  <cfelse>
     <cfset FirstVisit = #GetData.Start_of_Care_M0030#>
  </cfif>
  <cfset var1 = "">
  <cfset Turbo_Claim = 0 />
  <cfset curren_date = #dateFormat(Now(),"yymmdd")#>
  <cfset CONTRO = #timeFormat(Now(),"HHMMSS")#>
  <cfset CONTROL = #session.AgencyId#&'-'&#curren_date#&#CONTRO# />
  <cfset ISA_1 = #dateFormat(Now(),"mmdd")#>
  <cfset ISA =  ISA_1 & #timeFormat(Now(),"HHMMSS")# >
  <cfset ISA13 = #Right(ISA,9)#>
  <cfset GS06 = #timeFormat(Now(), "MMSS")#>
  <cfset ST02 = #timeFormat(Now(), "HHMMSS")#>
  <cfset invoice_Total  = 0 />
  <cfset rap = 0 />
  <cfif c eq 0>
  </cfif>
  <cfoutput group="Schedule_ID">
      <cfset var1 = var1 &
        "LX*#ctr_322#~"& chr(13)& chr(10) &
        "SV2*0023*HP>1AA11*0.00*UN*1.00~"& chr(13)& chr(10) &
        "DTP*472*D8*#DateFormat(GetData.Start_of_Care_M0030,"yyyymmdd")#~"& chr(13)& chr(10)>
      <cfset ctr_322 = ctr_322 + 1>
      <cfif GetData.Total_EClaim neq '' and GetData.Total_EClaim gt 0>
        <cfset TotalEClaim = REPLACE(GetData.Total_EClaim, ",", "", "all")>
        <cfset invoice_Total = invoice_Total + #TotalEClaim#>
      </cfif>
      <cfset invoicePayerId = #Payer_Id#>
  </cfoutput>
   <cfif len(trim(GetData.TOB)) NEQ 2>
    <cfset tobRight = right(trim(GetData.TOB),len(trim(GetData.TOB)) - 2)>
  <cfelse>
    <cfset tobRight = ''>
  </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")#*#TimeFormat(Now(), "HHmm")#*U*00501*#ISA13#*0*P*>~" & chr(13)& chr(10) & 
        "GS*HC*#GetData.Submitter_ID#*#GetData.Receiver_ID#*#DateFormat(Now(), "yyyymmdd")#*#TimeFormat(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*#GetData.Pay_Name#*****46*#GetData.Receiver_ID#~"& 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(REReplace(GetData.Agency_Address1,"[^0-9A-Za-z ]","","all"))# ~"  & chr(13)& chr(10) & 
        "N4*#UCase(GetData.Agency_City)#*#UCase(GetData.Agency_State)#*#GetData.Agency_Zip#~" & chr(13)& chr(10)>
        <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*******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) &
        "CLM*#CONTROL#*#invoice_Total#***#left(trim(GetData.TOB),2)#>A>#tobRight#**A*Y*Y*********~"& chr(13)& chr(10) & 
        "DTP*434*RD8*#DateFormat(GetData.F6a,"yyyymmdd")#-#DateFormat(GetData.F6b,"yyyymmdd")#~"& chr(13)& chr(10) & 
        "DTP*435*DT*#DateFormat(GetData.Start_of_Care_M0030,"yyyymmdd")#0000~"& chr(13)& chr(10) & 
        "CL1*9*#LEFT(GetData.Admission_Source,1)#*30~"& chr(13)& chr(10)  >
        <cfif GetData.F66 NEQ ''>
            <cfset finaldata = finaldata &  "HI*APR>#GetData.F66#~"& chr(13)& chr(10) >
            <cfset finaldata = finaldata &  "HI*ABK>#GetData.F66#~"& chr(13)& chr(10) >
        </cfif>
        <cfset other_diagnosis_count = 0>
        <cfif GetData.F67a  NEQ 0 >
          <cfset finaldata = finaldata &  "HI*" />
            <cfif GetData.F67a NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67a#*" >
              <cfset other_diagnosis_count = 1>
            </cfif>
            <cfif GetData.F67b NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67b#*" >
            </cfif>
             <cfif GetData.F67c NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67c#*" >
            </cfif>
             <cfif GetData.F67d NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67d#*" >
            </cfif>
             <cfif GetData.F67e NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67e#*" >
            </cfif>
             <cfif GetData.F67f NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67f#*" >
            </cfif>
             <cfif GetData.F67g NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67g#*" >
            </cfif>
             <cfif GetData.F67h NEQ ''>
              <cfset finaldata = finaldata & "ABF>#GetData.F67h#*" >
            </cfif>
            <cfset finaldata = Left(finaldata, len(finaldata)-1) />
             <cfset finaldata = finaldata &"~"& chr(13)& chr(10) />
        </cfif>
        <!--- <cfset  finaldata = finaldata &
           "HI*BH>#GetData.occurancecode#>D8>#GetData.discharge_date#~"& chr(13)& chr(10) & 
           "HI*BE>61>>>#GetData.MSA_Code#.00~"& chr(13)& chr(10) & "HI*BE>85>>>000#GetData.FIPS_Code#.00~"& chr(13)& chr(10)>  --->                  
        <cfset  finaldata = finaldata & 
        "NM1*71*1*#UCase(GetData.F76a)#*#UCase(GetData.F76b)#****XX*#GetData.F76c#~"& 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)>
  <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 INTO #Request.prefix_db_agency#.Invoices (
        PatientPayer_ID
        ,Agency_ID
        ,Patient_ID
        ,Assmt_ID
        ,Output
        ,DateSent
        ,MethodSent
        ,InvoiceTotal
        ,PayerBalance
        ,Internal_control_number
        ,WhereTreated
        ,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'
        ,#NumberFormat(invoice_Total,'_____.__')#
        ,#NumberFormat(invoice_Total,'_____.__')#
        ,'#CONTROL#'
        ,''
        ,#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>
         0.00,         
       'Electronic',
       '0.00',
       '0.00' 
       ,'#CONTROL#'
        ,'#Session.EmployeeId#'
        ,#now()#
        ,'#Session.EmployeeId#'
        ,#now()# 
      )
  </cfquery> 

  <cfquery datasource="#Application.DataSrc#" name="UpdateSchedules">
      <cfsetting requesttimeout="5000">
          UPDATE #Request.prefix_db_agency#.pSchedules SET 
            NOA = #Last_Invoice_ID.LastInsertID# ,
            Export_Date = #CreateODBCDateTime(Now())#
          WHERE Schedule_ID IN (#thelist#) 
          AND   pSchedules.Assmt_ID = #Assmt_ID#
          ANd pSchedules.status = 0
  </cfquery>
</cfoutput> 