<!---coding.cfc--->
<cfcomponent displayname="coding"   hint="ColdFusion Component for Patients">
 <cffunction name="getCompletdcount"  hint="Gets all customer from the database" access="public" output="Yes"  returntype="query">
     <cfargument name="date_type" required="yes" hint="date_type">          
				  <cfset yesterday = DateAdd("d",-1,Now())>
				  <cfset sevenday = DateAdd("d",-7,Now())>
				   <cfquery  name="GetList" datasource="#Application.DataSrc#">
								SELECT *
								FROM #Request.prefix_db_lookup#.Coding_Request
								 JOIN #Request.prefix_db_lookup#.Agency on Agency.Agency_ID = Coding_Request.Agency_ID
								Where  Coding_Request.Deleted <> 1
								AND Coding_Request.Coding_status = 'Complete'  
								 <cfif date_type eq 'today'>
								AND Coding_Request.Completed_Date = '#DATEFORMAT(now(),"yy-mm-dd")#'
								<cfelseif date_type eq 'yesterday'>
								AND Coding_Request.Completed_Date = '#DATEFORMAT(yesterday,"yy-mm-dd")#'
								<cfelseif date_type eq 'sevendays'>
								AND Coding_Request.Completed_Date < '#DATEFORMAT(now(),"yy-mm-dd")#'  AND Coding_Request.Completed_Date >= '#DATEFORMAT(sevenday,"yy-mm-dd")#'
								</cfif>
								ORDER BY Coding_Request.Created_Date DESC
				   </cfquery>
              <cfreturn GetList>
	 </cffunction>
	 
	 <cffunction name="get_national_provider"  hint="Gets  duplicate  National Provider from the database" access="remote" output="Yes" returnformat="plain">
                  <cfargument name="Natl_Provider_ID" required="yes" hint="Natl_Provider_ID">
				   <cfquery  name="get_agency" datasource="#Application.DataSrc#">
								SELECT * FROM #Request.prefix_db_lookup#.Agency
								WHERE  Natl_Provider_ID  = '#Natl_Provider_ID#'
					 </cfquery>
              <cfreturn #get_agency.recordcount#>
	 </cffunction>
                      
      <cffunction name="GetCodingRequest"  hint="Gets all coding request from the database" access="public" output="Yes"  returntype="query">
               <cfargument name="report_type"  default = "0" hint="report type">                    
                      <cfquery  name="GetCoding" datasource="#Application.DataSrc#">
                            SELECT *
                            FROM #Request.prefix_db_lookup#.Coding_Request
                             JOIN #Request.prefix_db_lookup#.Agency on Agency.Agency_ID = Coding_Request.Agency_ID
                            Where  Coding_Request.Deleted <> 1
                            and Coding_Request.Coding_status != 'Complete'
                            -- AND (message_indicate  NOT LIKE '%Identified%' OR message_indicate is null)
                            -- AND YEAR(Coding_Request.Request_Date) = YEAR(CURRENT_DATE)
                            -- AND (MONTH(Coding_Request.Request_Date) >= MONTH(CURRENT_DATE - INTERVAL 1 MONTH)) 
                            AND  Coding_Request.Request_Date >= now() - INTERVAL 3 month 
                            <cfif arguments.report_type eq 1>
                             AND   Coding_status like '%waiting%'
                            <cfelseif  arguments.report_type eq 2>
                                  AND Coding_status like '%Error%' or Coding_status like '%Unable%'
                             <cfelseif  arguments.report_type eq 3>
                                   AND Coding_status NOT like '%Error%'  AND Coding_status NOT like '%waiting%' and Coding_status NOT like '%Unable%'
                            </cfif>
                             ORDER BY Coding_Request.Created_Date DESC
                        </cfquery>
                <cfreturn GetCoding>
	 </cffunction>
                          
       <cffunction name="GetCodingRequests"  hint="Gets all coding request from the database" access="public" output="Yes"  returntype="query">
               <cfargument name="report_type"  default = "0" hint="report type">                    
                      <cfquery  name="GetCoding" datasource="#Application.DataSrc#">
                            SELECT *,now() as time_now,datediff(Request_Date,MHCB_Entered) as elspse
                            FROM #Request.prefix_db_lookup#.Coding_Request
                             JOIN #Request.prefix_db_lookup#.Agency on Agency.Agency_ID = Coding_Request.Agency_ID
                             JOIN #Request.prefix_db_lookup#.SuperUsers on SuperUsers.User_ID = Coding_Request.Updated_by
                            Where  Coding_Request.Deleted <> 1
                            and Coding_Request.Coding_status != 'Complete'
                            -- AND (message_indicate  NOT LIKE '%Identified%' OR message_indicate is null)
                            -- AND YEAR(Coding_Request.Request_Date) = YEAR(CURRENT_DATE)
                            -- AND (MONTH(Coding_Request.Request_Date) >= MONTH(CURRENT_DATE - INTERVAL 1 MONTH))
                            AND  Coding_Request.Request_Date >= now() - INTERVAL 3 month 
                            <cfif arguments.report_type eq 1>
                             AND  (Coding_status like 'coding' OR Coding_status like 'completed_H_P_Review' )
                            <cfelseif  arguments.report_type eq 2>
                                  AND   (Coding_status like 'completed_EMR_update'  OR Coding_status like 'waiting_for_OASIS')
                             <cfelseif  arguments.report_type eq 'uploadEMR'>
                                  AND   (Coding_status like 'completed_coding' )
                             <cfelseif  arguments.report_type eq 'codingreview'>
                                  AND   (Coding_status like 'completed_OASIS' OR Coding_status like 'coding_review' )
                            <cfelseif  arguments.report_type eq 'initialoasis'>
                                  AND   (Coding_status like 'completed_coding_review'  )
                             <cfelseif  arguments.report_type eq 3>
                                  AND   (Coding_status like 'completed_initial_OASIS_review' )
                             <cfelseif  arguments.report_type eq 'completed_OASIS_Review'>
                                  AND   ( Coding_status like  'Waiting_for_PT_OT_Eval' OR Coding_status like  'completed_update_485')
                             <cfelseif  arguments.report_type eq 'Med_Recon'>
                                  AND   ( Coding_status like  'completed_send_1st_approval') 
                             <cfelseif  arguments.report_type eq 4>
                                  AND   (Coding_status like 'completed_Med_Recon'  )
                             <cfelseif  arguments.report_type eq 'approval_received'>
                                  AND   ( Coding_status like 'approval_received'  )
                             <cfelseif  arguments.report_type eq 5>
                                  AND   (Coding_status like 'completed_1st_approval' OR Coding_status like 'completed_OASIS_Review' )
                             <cfelseif  arguments.report_type eq 6>
                                  AND   (  Coding_status like 'approval_received')
                              <cfelseif  arguments.report_type eq 7>
                                  AND   (Coding_status like 'completed_update_OASIS' )
                               <cfelseif  arguments.report_type eq 9>
                                  AND   (Coding_status like 'completed_final_reports_send' )
                              <cfelseif  arguments.report_type eq 8>
                                  AND   (Coding_status like 'error' OR Coding_status like 'unable_to_complete' )
                            <cfelseif  arguments.report_type eq 'codingdelay'>
                                  AND   (Coding_status like 'unable_to_complete_coding')
                            <cfelseif  arguments.report_type eq 'hpdelay'>
                                  AND   (Coding_status like 'unable_to_complete_H_P_Review')                            
                            <cfelseif  arguments.report_type eq 'oasisdelay'>
                                  AND   (Coding_status like 'unable_to_complete_OASIS' )
                            <cfelseif  arguments.report_type eq 'send1stapprovaldelay'>
                                  AND   (Coding_status like 'unable_to_send_1st_approval' )
                            <cfelseif  arguments.report_type eq 'oasisreviewdelay'>
                                  AND   (Coding_status like 'unable_to_complete_OASIS_Review' )
                            <cfelseif  arguments.report_type eq 'updateOASISdelay'>
                              AND   (Coding_status like 'unable_to_update_OASIS' )
                             <cfelseif  arguments.report_type eq 'update485delay'>
                              AND   (Coding_status like 'unable_to_update_485' )
                            <cfelseif  arguments.report_type eq 'Medication_Review'>
                              AND   (Coding_status = 'Medication_Review' )
                            <cfelseif  arguments.report_type eq 'H_P_Review'>
                              AND   (Coding_status like 'H_P_Review' OR  Coding_status like 'completed_Med_Review' )
                            </cfif>
                             ORDER BY Coding_Request.Created_Date DESC 
                        </cfquery>
                <cfreturn GetCoding>
	 </cffunction>


      <cffunction name="GetpowerpathRequests"  hint="Gets all GetpowerpathRequests request from the database" access="public" output="Yes"  returntype="query">
               <cfargument name="report_type"  default = "0" hint="report type">  
               <cfargument name="Agency_ID"  default = "0" hint="Agency_ID">  
                    <cfquery  name="GetCoding" datasource="#Application.DataSrc#">
                        SELECT *,now() as time_now,datediff(Request_Date,MHCB_Entered) as elspse
                        FROM #Request.prefix_db_lookup#.Coding_Request
                        JOIN #Request.prefix_db_lookup#.Agency on Agency.Agency_ID = Coding_Request.Agency_ID
                        LEFT OUTER JOIN #Request.prefix_db_lookup#.SuperUsers on SuperUsers.User_ID = Coding_Request.Updated_by
                        LEFT OUTER JOIN #Request.prefix_db_lookup#.pEmployee on pEmployee.Emp_ID = Coding_Request.Updated_by
                        Where  Coding_Request.Deleted <> 1
                        and Coding_Request.Coding_status != 'Complete'
                        <!--- <cfif arguments.Agency_ID neq 0 > --->
                            AND Coding_Request.Agency_ID = '#arguments.Agency_ID#'
                        <!---  </cfif> --->
                         <cfif arguments.report_type eq 1>
                             AND Agency.svc_coding = 1
                        </cfif>
                        AND Agency.Status = 'active'
                        -- AND (message_indicate  NOT LIKE '%Identified%' OR message_indicate is null)
                        -- AND YEAR(Coding_Request.Request_Date) = YEAR(CURRENT_DATE)
                        -- AND (MONTH(Coding_Request.Request_Date) >= MONTH(CURRENT_DATE - INTERVAL 1 MONTH))
                        AND  Coding_Request.Request_Date >= now() - INTERVAL 3 month 
                        <cfif  arguments.report_type NEQ 'eligibility'  AND arguments.report_type NEQ 'authorization' AND arguments.report_type NEQ 'eligibilitydelay' AND   arguments.report_type NEQ 'intake_dataentry'  AND   arguments.report_type NEQ 'intake_dataentry_transition' AND arguments.report_type NEQ 'intakedelay' AND arguments.report_type NEQ 'intakedelay_transition'
                        AND  arguments.report_type NEQ 'meds_dataentry' AND arguments.report_type NEQ 'medsdataentry_delay'>
                            <cfif  arguments.report_type EQ '1'>
                             AND ((svc_soc = 1 AND LEFT(Assessment_Type,1) = '1') OR 
                                (svc_resumption = 1 AND LEFT(Assessment_Type,1) = '3') OR 
                                (svc_recertification = 1 AND LEFT(Assessment_Type,1) = '4'))
                            <cfelse>
                               AND  (Assessment_Type like '1%' OR Assessment_Type like '3%' OR Assessment_Type like '4%')
                            </cfif>
                        </cfif>
                         <cfif  arguments.report_type EQ 'eligibility' OR arguments.report_type EQ 'eligibilitydelay' >
                                AND Agency.svc_eligibility =  1
                         <cfelseif arguments.report_type EQ 'authorization' OR  arguments.report_type eq 'authdelay' >
                                AND  Agency.svc_authorization =  1
                        <cfelseif arguments.report_type EQ 'intake_dataentry' OR  arguments.report_type EQ 'intake_dataentry_transition' OR arguments.report_type EQ 'intakedelay' OR arguments.report_type EQ 'intakedelay_transition'>
                                 AND  Agency.svc_intake_dataentry =  1
                        <cfelseif arguments.report_type EQ 'H_P_Review' OR  arguments.report_type eq 'hpdelay' >
                                AND  Agency.svc_QA =  1
                        <cfelseif arguments.report_type EQ 'meds_dataentry' OR  arguments.report_type eq 'medsdataentry_delay' >
                                AND  Agency.meds_dataentry =  1
                         </cfif>

                        <cfif arguments.report_type eq 1>
                         AND  (Coding_status like 'coding')
                        <cfelseif  arguments.report_type eq 2>
                              AND   (Coding_status like 'completed_EMR_update'  OR Coding_status like 'waiting_for_OASIS')
                         <cfelseif  arguments.report_type eq 'uploadEMR'>
                              AND   (Coding_status like 'completed_coding' )
                         <cfelseif  arguments.report_type eq 'codingreview'>
                              AND   (Coding_status like 'completed_OASIS' OR Coding_status like 'coding_review' )
                        <cfelseif  arguments.report_type eq 'initialoasis'>
                              AND   (Coding_status like 'completed_coding_review'  )
                         <cfelseif  arguments.report_type eq 3>
                              AND   (Coding_status like 'completed_initial_OASIS_review' )
                         <cfelseif  arguments.report_type eq 'completed_OASIS_Review'>
                              AND   ( Coding_status like  'Waiting_for_PT_OT_Eval' OR Coding_status like  'completed_update_485')
                         <cfelseif  arguments.report_type eq 'Med_Recon'>
                              AND   ( Coding_status like  'completed_send_1st_approval') 
                         <cfelseif  arguments.report_type eq 4>
                              AND   (Coding_status like 'completed_Med_Recon'  )
                         <cfelseif  arguments.report_type eq 'approval_received'>
                              AND   ( Coding_status like 'approval_received'  )
                         <cfelseif  arguments.report_type eq 5>
                              AND   (Coding_status like 'completed_1st_approval' OR Coding_status like 'completed_OASIS_Review' )
                         <cfelseif  arguments.report_type eq 6>
                              AND   (  Coding_status like 'approval_received')
                          <cfelseif  arguments.report_type eq 7>
                              AND   (Coding_status like 'completed_update_OASIS' )
                           <cfelseif  arguments.report_type eq 9>
                              AND   (Coding_status like 'completed_final_reports_send' )
                          <cfelseif  arguments.report_type eq 8>
                              AND   (Coding_status like 'error' OR Coding_status like 'unable_to_complete' )
                        <cfelseif  arguments.report_type eq 'codingdelay'>
                              AND   (Coding_status like 'unable_to_complete_coding')
                        <cfelseif  arguments.report_type eq 'hpdelay'>
                              AND   (Coding_status like 'unable_to_complete_H_P_Review')
                        <cfelseif  arguments.report_type eq 'oasisdelay'>
                              AND   (Coding_status like 'unable_to_complete_OASIS' )
                        <cfelseif  arguments.report_type eq 'send1stapprovaldelay'>
                              AND   (Coding_status like 'unable_to_send_1st_approval' )
                        <cfelseif  arguments.report_type eq 'oasisreviewdelay'>
                              AND   (Coding_status like 'unable_to_complete_OASIS_Review' )
                        <cfelseif  arguments.report_type eq 'updateOASISdelay'>
                          AND   (Coding_status like 'unable_to_update_OASIS' )
                         <cfelseif  arguments.report_type eq 'update485delay'>
                          AND   (Coding_status like 'unable_to_update_485' )
                        <cfelseif  arguments.report_type eq 'Medication_Review'>
                          AND   (Coding_status = 'Medication_Review' )
                        <cfelseif  arguments.report_type eq 'meds_dataentry'>
                          AND   (Coding_status = 'meds_dataentry' )
                        <cfelseif  arguments.report_type eq 'medsdataentry_delay'>
                          AND   (Coding_status = 'unable_to_complete_meds_dataentry' )
                        <cfelseif  arguments.report_type eq 'H_P_Review' >
                          AND   (Coding_status like 'H_P_Review' OR  Coding_status like 'completed_Med_Review'
                                OR Coding_status like 'completed_meds_dataentry' )
                        <cfelseif  arguments.report_type eq 'eligibility'>
                          AND   (Coding_status like 'eligibility' )
                        <cfelseif  arguments.report_type eq 'eligibilitydelay'>
                          AND   (  Coding_status like  'unable_to_complete_eligibility')
                        <cfelseif  arguments.report_type eq 'authdelay'>
                          AND   (  Coding_status like  'unable_to_complete_authorization')
                        <cfelseif  arguments.report_type eq 'authorization'>
                          AND   (Coding_status like 'authorization'  OR Coding_status like 'Authorization_Required' OR  Coding_status like 'completed_eligibility_require_auth' )
                        <cfelseif  arguments.report_type eq 'intake_dataentry' OR arguments.report_type eq 'intake_dataentry_transition'>
                          AND   (Coding_status like 'intake_dataentry'  OR Coding_status like 'intake_dataentry_transition')
                        <cfelseif  arguments.report_type eq 'intakedelay'>
                          AND   (Coding_status like 'unable_to_complete_intake_dataentry' )
                        <cfelseif  arguments.report_type eq 'intakedelay_transition'>
                          AND   (Coding_status like 'unable_to_complete_intake_dataentry_transition' )
                        </cfif>
                         ORDER BY Coding_Request.Created_Date DESC 
                    </cfquery>
                <cfreturn GetCoding>
     </cffunction>
	 
        <cffunction name="get_coding_users"  hint="Get Coding Users from the database" access="public" output="Yes" returntype="query" >
				   <cfquery  name="get_users" datasource="#Application.DataSrc#">
								SELECT * FROM #Request.prefix_db_lookup#.codingusers_lookup WHERE deleted <> 1 ORDER BY name ASC
					</cfquery>
              <cfreturn get_users>
	 </cffunction>
                                      
       <cffunction name="get_codingstatus"  hint="Get Coding Status from the database" access="public" output="Yes"  returntype="query" >
                   <cfargument name="status_type"  default = "0" hint="status_type type">
                   <cfargument name="pagetype"  default = "0" hint="status_type type">
                   <cfargument name="tabs"  default = "H_P_Review" hint="status_type type">
				   <cfquery  name="get_status" datasource="#Application.DataSrc#">
							SELECT * FROM #Request.prefix_db_lookup#.cod_status_lookup 
                            WHERE deleted <> 1

                                <cfif arguments.pagetype EQ 'powerpath'>
                                    <!---  AND  ID IN ( 25,26)  --->
                                     <cfif arguments.tabs  EQ 'coding'>
                                         AND  (  status like 'coding' OR status like 'completed_coding'  )
                                     <cfelseif  arguments.tabs  EQ 'H_P_Review'>
                                         AND  (  status like 'H_P_Review'  OR status like 'completed_H_P_Review' )
                                     <cfelseif  arguments.tabs  EQ 'eligibility'>
                                         AND  (  status like 'eligibility'  OR status like 'completed_eligibility'
                                         OR  status like 'completed_eligibility_require_auth'  OR status like 'Authorization_Required'  OR status like 'unable_to_complete_eligibility')
                                     <cfelseif  arguments.tabs  EQ 'authorization'>
                                         AND  (  status like 'authorization' OR status like 'unable_to_complete_authorization' OR status like 'completed_authorization' )
                                     </cfif>
                               <cfelseif arguments.status_type eq 1 OR arguments.status_type eq 'codingdelay'>
                                     AND  (status like 'completed_coding' OR status like 'unable_to_complete_coding')
                               <cfelseif   arguments.status_type eq 'uploadEMR'>      
                                   AND  ( status like 'completed_EMR_update')  
                               <cfelseif  arguments.status_type eq 2>
                                     AND  ( status like 'completed_OASIS'  OR status like 'unable_to_complete_OASIS')
                                  <cfelseif arguments.status_type eq 'codingreview'>
                                      AND  (status like 'completed_coding_review')

                                <cfelseif arguments.status_type eq 'initialoasis'>
                                      AND  (  status like 'completed_initial_OASIS_review')
                                <cfelseif  arguments.status_type eq 3 OR arguments.status_type eq 'send1stapprovaldelay'>
                                    AND  (status like 'completed_send_1st_approval' OR status like 'unable_to_send_1st_approval') 
                                <cfelseif  arguments.status_type eq 'completed_OASIS_Review'>
                                     AND  (status like 'completed_OASIS_Review' OR status like 'unable_to_complete_OASIS_Review')
                                 <cfelseif  arguments.status_type eq 'Med_Recon'>
                                     AND  (status like 'completed_Med_Recon')
                                  <cfelseif  arguments.status_type eq 4>
                                     AND  (status like 'approval_received')
                                 <cfelseif  arguments.status_type eq 'approval_received'>
                                     AND  (status like 'approval_received' OR  status like 'error' OR status like 'unable_to_complete')
                                <cfelseif  arguments.status_type eq 5>
                                     AND  (status like 'completed_update_OASIS' OR status like 'unable_to_update_OASIS')
                                <cfelseif  arguments.status_type eq 6>
                                     AND  (status like 'completed_update_485' OR status like 'unable_to_update_485')
                                <cfelseif  arguments.status_type eq 7>
                                     AND  (status like 'completed_final_reports_send' OR status like 'error')
                                 <cfelseif  arguments.status_type eq 8>
                                     AND  (status like 'completed_final_reports_send' OR status like 'error' OR status like 'unable_to_complete')
                               <cfelseif   arguments.status_type eq 'oasisdelay'>
                                     AND  ( status like 'completed_OASIS'  OR status like 'unable_to_complete_OASIS')
                               <cfelseif   arguments.status_type eq 'oasisreviewdelay'>
                                     AND  ( status like 'completed_OASIS_Review'  OR status like 'unable_to_complete_OASIS_Review')
                               <cfelseif   arguments.status_type eq 'updateOASISdelay'>
                                     AND  ( status like 'completed_update_OASIS'  OR status like 'unable_to_update_OASIS')
                                 <cfelseif   arguments.status_type eq 'update485delay'>
                                     AND  ( status like 'completed_update_485'  OR status like 'unable_to_update_485')
                               <cfelseif   arguments.status_type eq 'updatemedsreview'>
                                     AND  ( status like 'completed_Med_Review'  OR status like 'unable_to_complete_Med_Review')
                                <cfelseif   arguments.status_type eq 'updatehpreview'>
                                     AND  ( status like 'completed_H_P_Review'  OR status like 'unable_to_complete_H_P_Review')
                               </cfif>

                        ORDER BY list_order ASC
					</cfquery>
              <cfreturn get_status>
	   </cffunction>   
                                    
       
 <cffunction  name="update_status" access="remote" returnformat="plain" returntype="string">
	   <cfargument name="ID" required="yes" hint="Coding Request ID">
	   <cfargument name="Status" required="yes" hint="Status">
		<cfif arguments.ID neq ''>
		    <cfquery  name="update_Status" datasource="#Application.DataSrc#">
		            UPDATE  #Request.prefix_db_lookup#.Coding_Request
		                   SET Coding_status = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.Status#">,
		                    <cfif  url.status eq  'completed_coding'>
		                       completed_coding = #now()# ,
		                    <cfelseif url.status eq 'unable_to_complete_coding'>   
		                         unable_to_complete_coding = #now()# ,
                            <cfelseif url.status eq 'completed_H_P_Review'>   
                                 completed_H_P_Review = #now()# ,
                            <cfelseif url.status eq 'unable_to_complete_H_P_Review'>   
                                 unable_to_complete_H_P_Review = #now()# ,
                            <cfelseif url.status eq 'completed_eligibility'>   
                                 completed_eligibility = #now()# ,
                            <cfelseif url.status eq 'unable_to_complete_eligibility'>   
                                 unable_to_complete_eligibility = #now()# ,
                            <cfelseif url.status eq 'completed_authorization'>   
                                 completed_authorization = #now()# ,
                            <cfelseif url.status eq 'unable_to_complete_authorization'>   
                                 unable_to_complete_authorization = #now()# ,
                            <cfelseif url.status eq 'completed_OASIS'>   
                                 completed_oasis = #now()# ,
		                    <cfelseif url.status eq 'completed_send_1st_approval'>   
		                         completed_1st_message_send = #now()# ,
                            <cfelseif url.status eq 'completed_Med_Recon'>   
                                completed_Med_Recon_send = #now()# ,
		                    <cfelseif url.status eq 'completed_OASIS_review'>   
		                         completed_OASIS_review = #now()# ,
		                    <cfelseif url.status eq 'approval_received'>   
		                         approval_received = #now()# ,
		                     <cfelseif url.status eq 'completed_1st_approval'>   
		                         completed_1st_approval = #now()# ,
		                     <cfelseif url.status eq 'completed_update_OASIS'>   
		                         completed_OASIS_update = #now()# ,
		                     <cfelseif url.status eq 'completed_update_485'>   
		                         completed_485_update = #now()# ,
		                     <cfelseif url.status eq 'completed_final_reports_send'>   
		                         completed_final_send = #now()# ,
		                    </cfif>
		                     Updated_by = <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.MM_USID#"> 
		            WHERE ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.ID#">
		     </cfquery>
		      <cfquery  name="get_request" datasource="#Application.DataSrc#">
		            SELECT * FROM  #Request.prefix_db_lookup#.Coding_Request
		            WHERE ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.ID#">
		       </cfquery>
			       <cfif  url.status eq  'completed_coding'>
			              <cfset completed_coding_elapsed = calc_elapse(#get_request.MHCB_Entered#,#get_request.completed_coding#) > 
			        <cfelseif url.status eq 'completed_OASIS'>   
			               <cfset completed_oasis_elapsed = calc_elapse(#get_request.completed_coding#,#get_request.completed_oasis#) >
			        <cfelseif url.status eq 'completed_send_1st_approval'>   
			             <cfset completed_1st_message_send_elapsed = calc_elapse(#get_request.completed_oasis#,#get_request.completed_1st_message_send#) >
                    <cfelseif url.status eq 'completed_Med_Recon'>   
                         <cfset completed_Med_Recon_send_elapsed = calc_elapse(#get_request.completed_1st_message_send#,#get_request.completed_Med_Recon_send#) > 
			        <cfelseif url.status eq 'approval_received'>  
			             <cfset approval_received_elapsed = calc_elapse(#get_request.completed_1st_message_send#,#get_request.approval_received#) > 
			        <cfelseif url.status eq 'completed_OASIS_review'>   
			             <cfset completed_OASIS_review_elapsed = calc_elapse(#get_request.approval_received#,#get_request.completed_OASIS_review#) >  
			         <cfelseif url.status eq 'completed_1st_approval'>   
			             <cfset completed_1st_approval_elapsed = calc_elapse(#get_request.approval_received#,#get_request.completed_1st_approval#) > 
			         <cfelseif url.status eq 'completed_update_OASIS'>   
			             <cfset completed_OASIS_update_elapsed = calc_elapse(#get_request.completed_1st_approval#,#get_request.completed_OASIS_update#) >
			         <cfelseif url.status eq 'completed_update_485'>   
			            <cfset completed_485_update_elapsed = calc_elapse(#get_request.completed_OASIS_review#,#get_request.completed_485_update#) > 
			         <cfelseif url.status eq 'completed_final_reports_send'>   
			             <cfset completed_final_send_elapsed = calc_elapse(#get_request.completed_485_update#,#get_request.completed_final_send#) >
			        </cfif>
				       <cfquery  name="update_elapse_time" datasource="#Application.DataSrc#">
				            UPDATE  #Request.prefix_db_lookup#.Coding_Request
			                   SET 
			                    <cfif  url.status eq  'completed_coding'>
			                       completed_coding_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_coding_elapsed#">,
			                    <cfelseif url.status eq 'completed_OASIS'>   
			                         completed_oasis_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_oasis_elapsed#">,
			                    <cfelseif url.status eq 'completed_send_1st_approval'>   
			                         completed_1st_message_send_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_1st_message_send_elapsed#">,
                                <cfelseif url.status eq 'completed_Med_Recon'>   
                                    completed_Med_Recon_send_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_Med_Recon_send_elapsed#">,
                                 <cfelseif url.status eq 'completed_OASIS_review'>   
			                         completed_OASIS_review_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_OASIS_review_elapsed#">,
                                <cfelseif url.status eq 'approval_received'>   
			                         approval_received_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#approval_received_elapsed#">,
			                     <cfelseif url.status eq 'completed_1st_approval'>   
			                         completed_1st_approval_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_1st_approval_elapsed#">,
			                     <cfelseif url.status eq 'completed_update_OASIS'>   
			                         completed_OASIS_update_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_OASIS_update_elapsed#">,
			                     <cfelseif url.status eq 'completed_update_485'>   
			                         completed_485_update_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_485_update_elapsed#">,
			                     <cfelseif url.status eq 'completed_final_reports_send'>   
			                          completed_final_send_elapsed = <cfqueryparam cfsqltype="cf_sql_varchar" value="#completed_final_send_elapsed#">,
			                    </cfif>
			                     Updated_by = <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.MM_USID#"> 
				             WHERE ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.ID#">
				       </cfquery>
			         </cfif>
       <cfreturn 'success'>
    </cffunction>
   
 <cffunction  name="calc_elapse" access="remote" returnformat="plain" returntype="string">
			<cfargument name="start_date" required="yes" hint="start date">
			<cfargument name="end_date" required="yes" hint="End date">
			<cfif  arguments.start_date eq ''><cfset start_date =  now()></cfif>
			<cfif  arguments.end_date eq ''><cfset end_date =  now()></cfif>
			<!--- <cfif arguments.end_date lt arguments.start_date>
              <cfset temp = arguments.end_date />
              <cfset arguments.end_date = arguments.start_date />
              <cfset arguments.start_date = temp />
			</cfif> --->
			   <cfset requested_logged_elapsed = ''>
			   <cfset totalMinutes = datediff("n", start_date, end_date) />
		        <cfset days = int(totalMinutes /(24 * 60))  />
		        <cfset  minutesRemaining = totalMinutes - (days * 24 * 60) />
		        <cfset  hours = int(minutesRemaining / 60)  />
		        <cfset  minutes = minutesRemaining mod 60 />
		        <cfif days neq 0 >
		        <cfset requested_logged_elapsed = '#days# Days' & ' ' />
		        </cfif>
		        <cfif hours neq 0 >
		        <cfset requested_logged_elapsed = requested_logged_elapsed & #hours# & 'Hrs '/>
		        </cfif>
		        <cfif minutes neq 0 >
		        <cfset requested_logged_elapsed = requested_logged_elapsed & #minutes# & 'Mins '/>
		        </cfif>
		        <cfif requested_logged_elapsed eq ''>
		        <cfset requested_logged_elapsed =  '0 Mins '/>
		        </cfif>
         <cfreturn requested_logged_elapsed>
     </cffunction>

  

                    
 </cfcomponent>