<!---
This file handles the duplication of revenue codes with different contract rates and dates
--->

<cfparam name="form.Original_Rev_CodeID" default="0">
<cfparam name="form.Duplicate_Contract_Rate" default="0">
<cfparam name="form.Duplicate_Effective_Date" default="">
<cfparam name="form.Duplicate_End_Date" default="">
<cfparam name="form.Agency_ID" default="#Session.AgencyID#">

<cfif form.Original_Rev_CodeID NEQ 0 AND form.Duplicate_Contract_Rate NEQ 0>
	<!--- Get the original revenue code details --->
	<cfquery name="GetOriginal" datasource="#Application.DataSrc#">
		SELECT * FROM #Request.prefix_db_agency#.pRevenue_Code
		WHERE Rev_CodeID = <cfqueryparam cfsqltype="cf_sql_integer" value="#form.Original_Rev_CodeID#">
	</cfquery>
	
	<cfif GetOriginal.recordcount GT 0>
		<!--- Insert the duplicate with new contract rate and dates --->
		<cfquery name="InsertDuplicate" datasource="#Application.DataSrc#">
			INSERT INTO #Request.prefix_db_agency#.pRevenue_Code (
				Agency_ID, Payer_ID, Status, Rev_Code, HCPCS, Tier, Measure, 
				Visit_Type, Description, QB_Export, TimeAuthorization, Modifier, 
				GL_Account, Units, EClaim_Price, Balance, Quick_Books_Price, 
				New_EClaim_Price, New_EClaim_Price_Eff_Enddate, New_QuickBooks_Price, 
				New_QuickBooks_Effdate, Set_Units,
				Contract_Rate, Contract_Rate_Effective_Date, Contract_Rate_End_Date
			) VALUES (
				<cfqueryparam cfsqltype="cf_sql_integer" value="#form.Agency_ID#">,
				<cfqueryparam cfsqltype="cf_sql_integer" value="#GetOriginal.Payer_ID#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Status#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Rev_Code#" null="#NOT Len(Trim(GetOriginal.Rev_Code))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.HCPCS#" null="#NOT Len(Trim(GetOriginal.HCPCS))#">,
				<cfqueryparam cfsqltype="cf_sql_integer" value="#GetOriginal.Tier#" null="#NOT IsNumeric(GetOriginal.Tier)#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Measure#" null="#NOT Len(Trim(GetOriginal.Measure))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Visit_Type#" null="#NOT Len(Trim(GetOriginal.Visit_Type))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Description#" null="#NOT Len(Trim(GetOriginal.Description))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.QB_Export#" null="#NOT Len(Trim(GetOriginal.QB_Export))#">,
				<cfqueryparam cfsqltype="cf_sql_integer" value="#GetOriginal.TimeAuthorization#" null="#NOT IsNumeric(GetOriginal.TimeAuthorization)#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Modifier#" null="#NOT Len(Trim(GetOriginal.Modifier))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.GL_Account#" null="#NOT Len(Trim(GetOriginal.GL_Account))#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Units#" null="#NOT Len(Trim(GetOriginal.Units))#">,
				<cfqueryparam cfsqltype="cf_sql_decimal" value="#GetOriginal.EClaim_Price#" null="#NOT IsNumeric(GetOriginal.EClaim_Price)#">,
				<cfqueryparam cfsqltype="cf_sql_decimal" value="#GetOriginal.Balance#" null="#NOT IsNumeric(GetOriginal.Balance)#">,
				<cfqueryparam cfsqltype="cf_sql_decimal" value="#GetOriginal.Quick_Books_Price#" null="#NOT IsNumeric(GetOriginal.Quick_Books_Price)#">,
				<cfqueryparam cfsqltype="cf_sql_decimal" value="#GetOriginal.New_EClaim_Price#" null="#NOT IsNumeric(GetOriginal.New_EClaim_Price)#">,
				<cfqueryparam cfsqltype="cf_sql_date" value="#GetOriginal.New_EClaim_Price_Eff_Enddate#" null="#NOT IsDate(GetOriginal.New_EClaim_Price_Eff_Enddate)#">,
				<cfqueryparam cfsqltype="cf_sql_decimal" value="#GetOriginal.New_QuickBooks_Price#" null="#NOT IsNumeric(GetOriginal.New_QuickBooks_Price)#">,
				<cfqueryparam cfsqltype="cf_sql_date" value="#GetOriginal.New_QuickBooks_Effdate#" null="#NOT IsDate(GetOriginal.New_QuickBooks_Effdate)#">,
				<cfqueryparam cfsqltype="cf_sql_varchar" value="#GetOriginal.Set_Units#" null="#NOT Len(Trim(GetOriginal.Set_Units))#">,
			<!--- New values for duplicate --->
			<cfqueryparam cfsqltype="cf_sql_decimal" value="#form.Duplicate_Contract_Rate#" scale="2">,
			<cfqueryparam cfsqltype="cf_sql_date" value="#form.Duplicate_Effective_Date#">,
			<cfqueryparam cfsqltype="cf_sql_date" value="#form.Duplicate_End_Date#" null="#NOT Len(Trim(form.Duplicate_End_Date))#">
			)
		</cfquery>
		
		<script language="javascript" type="text/javascript">
			alert("Revenue code duplicated successfully with new contract rate!");
			window.location="index.cfm?page=agency&cat=AgencyManagement&rpt=revenue_list";
		</script>
	<cfelse>
		<script language="javascript" type="text/javascript">
			alert("Original revenue code not found!");
			window.history.back();
		</script>
	</cfif>
<cfelse>
	<script language="javascript" type="text/javascript">
		alert("Invalid data provided for duplication!");
		window.history.back();
	</script>
</cfif>
