<!---
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.7 $
$Id: bill_UB82_action.cfm,v 1.7 2010/06/02 15:41:09 melissa Exp $
$Date: 2010/06/02 15:41:09 $
--->
<cfset user = Session.EmployeeID>

<!--- Page specific code, such as queries and variable settings should go here --->
<cfquery  name="GetVisits" datasource="#Application.DataSrc#">
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#)
AND ScheduleItems.Deleted <> 1
</cfquery>
<cfloop query="GetVisits">
  <cfquery  name="InsertVisits" datasource="#Application.DataSrc#">
Insert Into
#Request.prefix_db_lookup#.Claim
(ScheduleItems_ID, Rev_Code, HCPCS, Total_Units, Visit_Date, Total_EClaim, Assessment_Tracker_ID, Payer_ID, Ticket)
values (#ScheduleItems_ID#, '#Rev_Code#', '#HCPCS#', #Total_Units#, #Visit_Date#, #Total_EClaim#, #Assessment_Tracker_ID#, #Payer_ID#, 1)
</cfquery>
</cfloop>
<cfoutput query="GetVisits">
  <cfquery  datasource="#Application.DataSrc#" name="UpdateTicket">
		UPDATE #Request.prefix_db_lookup#.Supply_Sched
		SET Ticket = 1,
		Visit_Date = #GetVisits.Visit_Date#
		WHERE ScheduleItems_ID = #GetVisits.ScheduleItems_ID#
	</cfquery>
</cfoutput>
<cfquery  name="InsertSupplies" datasource="#Application.DataSrc#">
Insert Into
#Request.prefix_db_lookup#.Claim
(ScheduleItems_ID, Rev_Code, HCPCS, Total_Units, Visit_Date, Assessment_Tracker_ID, Payer_ID, Total_EClaim, Ticket)

SELECT ScheduleItems_ID, Revenue_Code, HCPCS, Total_Units, Visit_Date, Assessment_Tracker_ID, Payer_ID, Total_Price, 1
From #Request.prefix_db_lookup#.Supply_Sched
Where Ticket = 1
</cfquery>
<cfquery  name="Getdata" datasource="#Application.DataSrc#">
SELECT Claim.ScheduleItems_ID, Claim.Claim_ID, Claim.Rev_Code, Claim.HCPCS, Claim.Total_Units, Claim.Total_EClaim, Claim.Visit_Date, 
	Assessment_New.Start_of_Care_M0030, Assessment_New.Certification_Start, Assessment_New.Assessment_Tracker_ID, 
	Assessment_New.Certification_End, Assessment_New.Source_of_Admission, 
	Assessment_New.HIPPS_Code, 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, HHRG_440_Score,
	patient.Patient_ID, patient.Last_Name_M0040, 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.Admission_Status, 
	patient.HI_Claim_Number AS HIC,
	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,
	Physician.Natl_Provider_ID AS NPI, 
	Employee.Last_Name as LastName, Employee.First_Name as FirstName, 
	Diagnosis.Text_ICD, 
	Payer.Payer_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.Submitter_ID AS SUBMT, Payer.Receiver_ID
	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#.Diagnosis,#Request.prefix_db_agency#.Payer, #Request.prefix_db_lookup#.Claim,#Request.prefix_db_lookup#.Employee
WHERE Claim.Ticket = 1
	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 Assessment_New.Assessment_Tracker_ID = Diagnosis.Assessment_Tracker_ID
	AND Claim.Payer_ID = Payer.Payer_ID
	AND Diagnosis.Primary_Diagnosis = 1
	AND (Diagnosis.Disabled is null or Diagnosis.Disabled = 0)
	AND Employee.Employee_ID = Physician.Employee_ID
	ORDER BY Patient_ID, Claim_ID
</cfquery>
<cfset GetData.Agency_Address1 = #Replace(GetData.Agency_Address1, ".", "", "ALL")#>
<cfset GetData.Agency_Name = #Replace(GetData.Agency_Name, ".", "", "ALL")#>
<cfset GetData.Street_Address = #Replace(GetData.Street_Address, ".", "", "ALL")#>
<!--- Initialize variables --->
<cfset finaldata = "">
<!--- GetData Value: <cfdump var="#GetData#"><br> --->
<cfoutput query="GetData" group="Patient_ID">
  <!--- Used for counting the number of 329 iterations --->
  <cfset ctr_329 = 1>
  <!--- Used for counting the number of 322 iterations --->
  <!--- Used for counting the number of Diagnoses --->
  <cfset GetData.Gender_M0069 = #Mid(GetData.Gender_M0069,5,1)#>
  <!--- Get first character from Source_of_Admission field value --->
  <cfset GetData.Source_of_Admission = #Left(GetData.Source_of_Admission,1)#>
  <cfset GetData.Admission_Status = #Left(GetData.Admission_Status,2)#>
  <!--- Create ISA Header --->
  <!--- Matches up with IEA Trailer | after data --->
  <cfset finaldata = finaldata & "ISA*00*          *00*          *ZZ*#GetData.SUBMT#             *ZZ*#GetData.Payer_Number#               *#DateFormat(Now(), "YYMMDD")#*#DateFormat(Now(), "HHMM")#*U*00401*#GetData.Agent_FEIN#*0*P*>~" & chr(13)& chr(10) & 
		"GS*HC*#GetData.Payer_Number#*#GetData.Receiver_ID#*#DateFormat(Now(), "YYMMDD")#*#DateFormat(Now(), "HHMM")#*6*X*004010X098A1~" & chr(13)& chr(10) & 
		"ST*837*000000001~" & chr(13)& chr(10) & 
		"BHT*0019*00*000002*#DateFormat(Now(), "YYYYMMDD")#*#DateFormat(Now(), "HHMM")#*CH~" & chr(13)& chr(10) & 
		"REF*87*004010X098A1~"  & chr(13)& chr(10) & 
		"NM1*41*2*#UCase(GetData.Agency_Name)#*****46*#GetData.SUBMT#~"  & 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*#GetData.HIC#~"& chr(13)& chr(10) & 
		"HL*1**20*1~" & chr(13)& chr(10) & 
		"NM1*85*1*#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) & 
		"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~SBR*P*18**UNKNOWN*****MC~" & chr(13)& chr(10) & 
		"NM1*IL*1*#UCase(GetData.Last_Name_M0040)#*#UCase(GetData.First_Name_M0040)#****MI*#GetData.HIC#~"& chr(13)& chr(10) & 
		"N3*#UCase(GetData.Street_Address)#~"& chr(13)& chr(10) & 
		"N4*#UCase(GetData.City)#*#UCase(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*#UCase(GetData.Last_Name_M0040)# #UCase(GetData.First_Name_M0040)#:#DateFormat(GetData.Certification_end,"mm/dd/yyyy")#*000***32>>1*Y*A*Y*Y*C~"& chr(13)& chr(10) & 
		"DTP*435*DT*#DateFormat(GetData.Start_of_Care_M0030,"yyyymmdd")#~"& chr(13)& chr(10) & 
		"REF*G1*#GetData.Claim_Key#~"& chr(13)& chr(10) &
		"HI*BK>#Replace(GetData.HHRG_175_Score, ".", "", "ALL")#*BF>#Replace(GetData.HHRG_230_Score, ".", "", "ALL")#*BF>#Replace(GetData.HHRG_250_Score, ".", "", "ALL")#*BF>#Replace(GetData.HHRG_390_Score, ".", "", "ALL")#*BF>#Replace(GetData.HHRG_420_Score, ".", "", "ALL")#*BF>#Replace(GetData.HHRG_440_Score, ".", "", "ALL")#~"& chr(13)& chr(10)>
	<cfoutput group="Claim_ID">
		<cfset finaldata = finaldata & "LX*#ctr_329#~"& chr(13)& chr(10) &
		"SV1*HC>#Trim(GetData.HCPCS)#*#NumberFormat(GetData.Total_EClaim)#*UN*#NumberFormat(GetData.Total_Units)#***1~"& chr(13)& chr(10) &
		"DTP*472*D8*#DateFormat(GetData.Visit_Date,"yyyymmdd")#~"& chr(13)& chr(10)>
  		<cfset ctr_329 = ctr_329 + 1>
	</cfoutput>
  <cfset finaldata = finaldata & "SE*40*000000001~"& chr(13)& chr(10) &"GE*85*6~"& chr(13)& chr(10)&"IEA*1*123456789~">
  <!--- Add Newline/CR to string --->
  <cfset finaldata = finaldata & chr(13)& chr(10)>
</cfoutput>
<!--- Write entire text string to file --->
<cffile action="write" file="#application.datapath#UB82_#user##Application.datatype#" output="#finaldata#">
<!--- After file creation is complete, flag the EClaimed field in the ScheduleItems table, by setting it to 1--->

<cfquery  name="dblist" dbtype="query">
select distinct(scheduleitems_id) from GetData
</cfquery>

<cfset thelist=#ValueList(dblist.scheduleitems_id,",")#>

<cfquery  datasource="#Application.DataSrc#" name="Update_Flags">
	UPDATE #Request.prefix_db_agency#.ScheduleItems SET 
	EClaimed = 1, 
	Export_Date = #CreateODBCDateTime(Now())#
	WHERE ScheduleItems_ID IN (#thelist#)
</cfquery>

<cfquery  datasource="#Application.DataSrc#" name="Update_Flags">
	UPDATE #Request.prefix_db_lookup#.Supply_Sched SET Ticket = 9 WHERE Ticket = 1 AND ScheduleItems_ID IN (#thelist#)
</cfquery>

<cfquery  datasource="#Application.DataSrc#" name="Update_Flags">
	DELETE FROM #Request.prefix_db_lookup#.Claim WHERE ScheduleItems_ID IN (#thelist#)
</cfquery>

<!--- End page specific code --->

        <h1>UB82 Claim Visits Ready for Export to PC-ACE</h1>
        <p>Your UB82 Claim visits have been prepared for export. Right click on the hyperlink<br>
          below and click Save Target As...</p>
      <cfoutput> <p><a href="#application.webdatapath#UB82_#user##Application.datatype#">Save as UB82_#user##Application.datatype# in c://winpcace/imp1500</a></p></cfoutput>

