<!---assessment.cfc--->
<cfcomponent displayname="Getall_assessment_details"   hint="ColdFusion Component for Assessments">
      
    <cffunction name="get_all_answers"  access="remote" output="Yes" httpmethod="GET" returnformat="JSON">
			  <cfargument name="assessment_reason" required="yes" hint="assessment_reason"> 
			   <cfargument name="Assessment_completed" required="yes"  hint="Assessment_completed">  
			   <cfargument name="wizard"  default="0" hint="wizard">   
			   <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>
			  <cfquery name="get_label" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.Assessment_Questions_lookup
                      JOIN #Request.prefix_db_lookup#.Assessment_Answer_lookup ON Assessment_Answer_lookup.question_id  = Assessment_Questions_lookup.id
					  WHERE  <cfif Assessment_completed gte '2019-01-01'>Assessment_Questions_lookup.Deleted <> 1   AND
					    <cfelse> Assessment_Questions_lookup.new_oasis <> 1 AND </cfif>
						<!---YEAR(now()) <= Assessment_Questions_lookup.ques_year AND--->
					   Assessment_Answer_lookup.Deleted <> 1  
					  AND  Assessment_Questions_lookup.assessment_reason = '#assessment_reason#'
					   <cfif wizard neq 0 > AND  Assessment_Questions_lookup.wizard = '#wizard#'
					    OR  (Assessment_Questions_lookup.wizard = '0' AND  Assessment_Questions_lookup.assessment_reason = '#assessment_reason#')</cfif>
					  ORDER BY Assessment_Questions_lookup.order_id ASC
			 </cfquery> 
			 <cfset label_name = '' >
			 <cfset responsekey=[] />
			 <cfoutput query="get_label" group="answer_label">
			    <!---<cfset label_name = listappend(label_name,#answer_label#) >--->
				 <cfset obj={"label_name"=#answer_label# ,"answer_type" = #answer_type#,"important" = #important#,"questions" = #questions#,
				 "alert_message" = #alert_message#,"show_text" = #show_text#,"wizard" = #get_label.wizard# }  />
                  <cfset arrayAppend(responsekey, obj) />
			 </cfoutput>
			 <cfset response={"answer_labels"= #responsekey#} />
			 <cfreturn response />
    </cffunction>
	
	
	<cffunction name="get_count_wizard"  access="public" output="Yes"  returntype="query">
	           <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
			   <cfargument name="Assessment_completed" required="yes"  hint="Assessment_completed"> 
			    <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>
			  <cfquery name="get_all_questions" datasource="#Application.DataSrc#">    
			         SELECT MAX(wizard) as count FROM Assessment_Questions_lookup  
					 WHERE assessment_reason = '#assessment_reason#'
					 <cfif Assessment_completed gte '2019-01-01'>
					 AND Assessment_Questions_lookup.Deleted <> 1<cfelse>
					 AND Assessment_Questions_lookup.new_oasis <> 1 </cfif>
					<!--- YEAR(now()) <= Assessment_Questions_lookup.ques_year --->
              </cfquery> 
		   <cfreturn get_all_questions />
    </cffunction>
	

    <cffunction name="get_all_ques_ans"  access="public" output="Yes"  returntype="query">
	           <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
			    <cfargument name="Assessment_completed" required="yes"  hint="Assessment_completed">  
			    <cfargument name="wizard"  default="0" hint="wizard">  
				 <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>
			  <cfquery name="get_all_questions" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.Assessment_Questions_lookup
                      JOIN #Request.prefix_db_lookup#.Assessment_Answer_lookup ON Assessment_Answer_lookup.question_id  = Assessment_Questions_lookup.id
					  WHERE <cfif Assessment_completed gte '2019-01-01'>Assessment_Questions_lookup.Deleted <> 1   AND
					    <cfelse> Assessment_Questions_lookup.new_oasis <> 1 AND </cfif>
						<!---YEAR(now()) <= Assessment_Questions_lookup.ques_year AND--->
					   Assessment_Answer_lookup.Deleted <> 1 
					   AND Assessment_Questions_lookup.assessment_reason = '#assessment_reason#'
					  <cfif wizard neq 0 > AND  Assessment_Questions_lookup.wizard = '#wizard#' OR  (Assessment_Questions_lookup.wizard = '0' AND  Assessment_Questions_lookup.assessment_reason = '#assessment_reason#')</cfif>
					  ORDER BY Assessment_Questions_lookup.order_id ASC
			 </cfquery> 
		   <cfreturn get_all_questions />
    </cffunction>
	
	<cffunction name="get_pain_ques"  access="remote"output="Yes"  returntype="query">
			  <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
			   <cfargument name="type" required="yes" hint="type">  
			    <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>
			  <cfquery name="get_label" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.pain_braden_questions_lookup
					  WHERE  pain_braden_questions_lookup.Deleted <> 1 
					  AND pain_braden_questions_lookup.assessment_reason = '#assessment_reason#'
					  AND pain_braden_questions_lookup.type = '#type#'
					  <!---ORDER BY  order_id ASC--->
			 </cfquery> 
			 <cfreturn get_label />
    </cffunction>
	
	
	<cffunction name="get_pain_anw"  access="remote"output="Yes"  returntype="query">
			   <cfargument name="question_id" required="yes" hint="question_id">  
			  <cfquery name="get_ans" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.pain_braden_answers_lookup
					  WHERE  pain_braden_answers_lookup.Deleted <> 1 
					  AND pain_braden_answers_lookup.question_id = #question_id#
			 </cfquery> 
			 <cfreturn get_ans />
    </cffunction>
	
	 <cffunction name="get_other_assessement_answ"  access="remote" output="Yes" httpmethod="GET" returnformat="JSON">
			  <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
			  <cfargument name="type" required="yes" hint="type"> 
			   <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>
			  <cfquery name="get_label" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.pain_braden_questions_lookup
                      JOIN #Request.prefix_db_lookup#.pain_braden_answers_lookup ON pain_braden_answers_lookup.question_id  = pain_braden_questions_lookup.id
					  WHERE pain_braden_answers_lookup.Deleted <> 1 AND pain_braden_questions_lookup.Deleted <> 1 
					  AND pain_braden_questions_lookup.assessment_reason = '#assessment_reason#'
					  AND pain_braden_questions_lookup.type = '#type#'
			 </cfquery> 
			 <cfset label_name = '' >
			 <cfset responsekey=[] />
			 <cfoutput query="get_label" group="answer_label">
				 <cfset obj={"label_name"=#answer_label# ,"answer_type" = #answer_type#,"questions" = #questions#,
				 "alert_message" = #alert_message#  }  />
                  <cfset arrayAppend(responsekey, obj) />
			 </cfoutput>
			 <cfset response={"answer_labels"= #responsekey#} />
			 <cfreturn response />
    </cffunction>
	
	
	<cffunction name="get_pain_braden_ques"  access="remote"output="Yes"  returntype="query">
			  <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
			   <cfargument name="type" required="yes" hint="type">
			    <cfif assessment_reason EQ '3 - Resumption of care (after inpatient stay)'>
			   <cfset assessment_reason= '1 - Start of care - further visits planned' />
			   </cfif>  
			  <cfquery name="get_label" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.pain_braden_questions_lookup
                      JOIN #Request.prefix_db_lookup#.pain_braden_answers_lookup ON pain_braden_answers_lookup.question_id  = pain_braden_questions_lookup.id
					  WHERE pain_braden_answers_lookup.Deleted <> 1 AND pain_braden_questions_lookup.Deleted <> 1 
					  AND pain_braden_questions_lookup.assessment_reason = '#assessment_reason#'
					  AND pain_braden_questions_lookup.type = '#type#'
			 </cfquery> 
			 <cfreturn get_label />
    </cffunction>
	
	<cffunction name="get_live_score"   access="remote" returnFormat= "JSON"  output="Yes">
	    <!---     <cfset count = 0 />
			  <cfquery name="get_all_questions" datasource="#Application.DataSrc#">    
					 SELECT * FROM Assessment_Answer_lookup WHERE DELETED <> 1 GROUP BY answer_label 
				</cfquery> 
			   <cfloop query="get_all_questions">
							<cfquery  name="get_count" datasource="#Application.DataSrc#">
							 SELECT * FROM #Request.prefix_db_agency#.Assessment_New  WHERE Assessment_ID =  '#session.cs.AssessmentId#'
							 AND  #get_all_questions.answer_label# IS NOT NULL
							</cfquery>
							<cfif get_count.recordcount gt 0>
							   <cfset count = count + 1 />
							</cfif>
				</cfloop>
				<cfif count gt 0>
				   <cfset count = #DecimalFormat((count/121)*100)# >
			</cfif>--->
		
		  <cfquery name="AssForm" datasource="#Application.DataSrc#">
					SELECT  *  FROM   #Request.prefix_db_agency#.Assessment_New
					WHERE  Patient_ID = '#session.cs.patientid#' 
					AND Assessment_ID = '#session.cs.assessment_id#'
					AND    Deleted <> 1
		    </cfquery>
					
			<cfset soc_date_referal = 0>
			<cfset date_diff_M0104 = 0 />
			<cfset date_diff_M0102 = 0 />
			<cfset tot_count = 0 />
			<cfif AssForm.Start_of_Care_M0030 neq '' and  AssForm.M0104_Date_of_Referral neq ''>
			<cfset date_diff_M0104 = #DateDiff("d", AssForm.Start_of_Care_M0030, AssForm.M0104_Date_of_Referral)# />
			</cfif>
			<cfif AssForm.Start_of_Care_M0030 neq '' and  AssForm.M0102_Physician_SOC neq ''>
			<cfset date_diff_M0102 = #DateDiff("d", AssForm.Start_of_Care_M0030, AssForm.M0102_Physician_SOC)# />
			</cfif>
			<cfif <!---AssForm.M0102_Physician_SOC EQ ""  OR  AssForm.M0104_Date_of_Referral EQ "" OR--->  date_diff_M0104 gt 2  OR  date_diff_M0102 gt 2>
			<cfset soc_date_referal = 1>
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M1240_Pain_Assess CONTAINS "0 - No standardized assessment conducted">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M1300_Pressure CONTAINS  "0 - No assessment conducted">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M1730_Depression contains "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M1910_Fall_Risk contains "0 - No multi-factor falls risk assessment conducted.">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M2010_Med_Edu contains "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M2250e_Pain EQ "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M2250b_Diabetic contains "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M2250f_PressUlc contains "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfif AssForm.M2250g_PressUlcMoist contains "0 - No">
			<cfset tot_count = tot_count + 1 />
			</cfif>
			<cfset tot_coun = 10 - tot_count />
			<cfset average_SOC = tot_coun * 10 />
             <cfset response_key={"statusCode"= 200,"statusText"= 'success',"data"= #average_SOC# } />
			<cfreturn  response_key >
	</cffunction>					
	
</cfcomponent>