<!--- START OASIS based on Assmt_Update table--->
   <cfquery  name="getSOC" datasource="#Application.DataSrc#">
           SELECT * FROM #Request.prefix_db_agency#.pAssessments
           WHERE Admit_ID = <cfqueryparam value = "#getass.Admit_ID#" CFSQLType ="cf_sql_integer">
           AND (F26 = <cfqueryparam value = "1 - Start of care - further visits planned" CFSQLType ="cf_sql_varchar">
           	OR F26 = <cfqueryparam value = "1 - Start of care - further visits planned - Physical Therapy" CFSQLType ="cf_sql_varchar">)
           AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
    </cfquery>
    <cfset assessment_reason = getass.F26 />
    <cfset assessment_id = getass.Assmt_ID />
    <cfset Admit_ID = getass.Admit_ID />
    <cfif getSOC.recordcount gt 0 >
    	<cfloop query= "getSOC">
    	<cfset assessment_reason = getass.F26 />
	   	<cfquery  name="getassmtupdate" datasource="#Application.DataSrc#">
           SELECT * FROM #Request.prefix_db_lookup#.Assmt_Update
           WHERE 
           <cfif  FindNoCase("3",assessment_reason) EQ 1 OR FindNoCase("1",assessment_reason) EQ 1>
           	 	assessment_reason = <cfqueryparam value = "1 - Start of care - further visits planned" CFSQLType ="cf_sql_varchar">
            <cfelse>
				assessment_reason = <cfqueryparam value = "#getass.F26#" CFSQLType ="cf_sql_varchar">
            </cfif>
           ORDER BY sort_ID ASC
	    </cfquery>
	    <cfset arraycolumns = ArrayNew(1) />
	    <cfset arrayanswers = ArrayNew(1) />
	    <cfset socarraycolumns = ArrayNew(1) />
	    <cfset socarrayanswers = ArrayNew(1) />
 	    <cfset SOC_AssmtID = #Assmt_ID# />
 	    <cfparam name="step" default="step1">
	    <cfif FindNoCase("1",assessment_reason) EQ 1 OR FindNoCase("3",assessment_reason) EQ 1>
	    	<cfset step = 'step1' />
	    <cfelseif FindNoCase("H&P Review",assessment_reason) EQ 1><cfset step = 'step2' />
	    <cfelseif FindNoCase("PT",assessment_reason) EQ 1><cfset step = 'step3' />
	    <cfelseif FindNoCase("OT",assessment_reason) EQ 1><cfset step = 'step4' />
	    <cfelseif FindNoCase("ST",assessment_reason) EQ 1><cfset step = 'step5' />
	    </cfif>
        <cfquery  name="getquestions" datasource="#Application.DataSrc#">
			 DELETE FROM #Request.prefix_db_agency#.pOASIS_QA 
			 WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#">
			 AND QA_Type = '#step#'
        </cfquery>	
	    <cfquery  name="getquestions" datasource="#Application.DataSrc#">
			 DELETE FROM #Request.prefix_db_agency#.pOASIS_QA 
			 WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#SOC_AssmtID#">
			 AND QA_Type = '#step#'
	    </cfquery>
	    <cfoutput query="getassmtupdate">
	      	<cfif FindNoCase("1",assessment_reason) EQ 1  OR FindNoCase("3",assessment_reason) EQ 1>
		      	<cfquery  name="getassanswer" dbtype="query">
		      		SELECT #Field_ID# FROM  getassess WHERE  #Field_ID# = '#Answer#'  
		      	</cfquery>
		      	<cfif getassanswer.recordcount GT 0>
		      	   <cfquery  name="getcompareanswer" dbtype="query">
			      		SELECT #Field_ID_Update# FROM  getassess WHERE #Field_ID_Update# = '#Answer_update#' 
			      	</cfquery>	 
			      	<cfif getcompareanswer.recordcount EQ 0 >
						<cfset ArrayAppend(arraycolumns,#Field_ID_Update#) />
						<cfset ArrayAppend(arrayanswers,#Answer_update#) />
						<cfset QA_answerlabel = #Field_ID_Update# />
				   		<cfquery  name="get_ans" datasource="#Application.DataSrc#">
						       SELECT *,tooltip_title AS tooltip_title FROM #Request.prefix_db_lookup#.assessment_answers_lookup
						       WHERE assessment_reason = <cfqueryparam value = "#getassess.F26#" CFSQLType ="cf_sql_varchar">
						       AND deleted = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
						       AND answer =  <cfqueryparam value = "#Answer_update#" CFSQLType ="cf_sql_varchar">
					 	</cfquery>
					 	<cfset QA_answer = #get_ans.tooltip_title# />

						<cfquery  name="pOASIS_QA_insert" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pOASIS_QA
							(
								Assmt_ID, Emp_ID, Approved,Resolved, QA_Type, Questions_label, Message,
								QA_answerlabel,QA_answer
							) 
							VALUES
							(							
								<cfqueryparam value = "#assid#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "1" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value="#step#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#answer_label_update#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#Message#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#QA_answerlabel#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#QA_answer#"  cfsqltype="cf_sql_varchar">	
							)
						</cfquery>

						<cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
						   	UPDATE  #Request.prefix_db_agency#.pAssessments 
						   	 SET  #Field_ID_Update# = '#QA_answer#',
						   	 Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_date">,
							  Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
						      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#">
						      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#patid#">
						      AND status = 0 
						</cfquery>

					</cfif>

					<!--- <cfif ArrayLen(arraycolumns) gt 0>
					    <cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
						   	UPDATE  #Request.prefix_db_agency#.pAssessments  SET
						   	 <cfloop from="1" to="#ArrayLen(arraycolumns)#" index="k">
						   	 	#arraycolumns[k]# = '#arrayanswers[k]#',
						   	</cfloop>
						   	 Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_date">,
							  Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
						      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#">
						      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#patid#">
						      AND status = 0 
						</cfquery>
				    </cfif>  --->

				</cfif>
			</cfif>
		</cfoutput>
		<cfif FindNoCase("1",assessment_reason) EQ 1>
			<cfquery  name="getquestions" datasource="#Application.DataSrc#">
				 DELETE FROM #Request.prefix_db_agency#.pOASIS_QA 
				 WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#">
				 AND QA_Type = 'step2'
		    </cfquery>

		 	<cfquery  name="getassmtupdate" datasource="#Application.DataSrc#">
		           SELECT * FROM #Request.prefix_db_lookup#.Assmt_Update
		           WHERE assessment_reason = <cfqueryparam value = "H&P Review" CFSQLType ="cf_sql_varchar">
		            ORDER BY sort_ID ASC
		    </cfquery>
		   
		    <cfset step = 'step2' />
		</cfif>
		 <cfquery  name="getassess" datasource="#Application.DataSrc#">
		       SELECT * FROM #Request.prefix_db_agency#.pAssessments
		       WHERE F26 = <cfqueryparam value = "H&P Review" CFSQLType ="cf_sql_varchar">
		       AND  Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
		       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
		    </cfquery>
		<cfoutput query="getassmtupdate">
			<cfif Field_ID_Update NEQ ''>
			<cfif   
			FindNoCase("ST",assessment_reason) EQ 1  
			OR FindNoCase("1",assessment_reason) EQ 1 
			OR FindNoCase("H&P Review",assessment_reason) EQ 1 >
			 	<cfif FindNoCase("1",assessment_reason) EQ 1>
			 		<cfquery  name="getassanswer" datasource="#Application.DataSrc#">
			           SELECT #Field_ID_Update# AS Fanswer, pAssessments.* 
			           FROM #Request.prefix_db_agency#.pAssessments 
			            WHERE 
			            Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
			           AND F26 = <cfqueryparam value = "H&P Review" CFSQLType ="cf_sql_varchar">
			           AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
				   </cfquery>
				   <cfquery  name="get_assans" datasource="#Application.DataSrc#">
			           SELECT #Field_ID_Update# AS Fanswer, pAssessments.* 
			           FROM #Request.prefix_db_agency#.pAssessments 
			            WHERE 
			            Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
			           AND F26 = <cfqueryparam value = "H&P Review" CFSQLType ="cf_sql_varchar">
			           AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
				   </cfquery>
				   <cfset step = 'step2' />
			 	<cfelse>
					   <cfquery  name="getassanswer" dbtype="query">
			      		SELECT #Field_ID_Update# AS Fanswer,*  FROM  getassess
			      	</cfquery>
			      	<cfquery  name="get_assans" datasource="#Application.DataSrc#">
					       SELECT *,tooltip_title AS Fanswer FROM #Request.prefix_db_lookup#.assessment_answers_lookup
					       WHERE assessment_reason = <cfqueryparam value = "#getassess.F26#" CFSQLType ="cf_sql_varchar">
					       AND deleted = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
					       AND answer =  <cfqueryparam value = "#getassanswer.Fanswer#" CFSQLType ="cf_sql_varchar">
					       AND answer_label = <cfqueryparam value = "#getassmtupdate.question_label#" CFSQLType ="cf_sql_varchar">   
				 	   </cfquery>
		      </cfif>
	      	<cfquery  name="getSOCanswer" dbtype="query">
	      		SELECT #Field_ID# AS SOCanswer,* FROM  getSOC  WHERE Assmt_ID = #SOC_AssmtID#
	      	</cfquery>



		      	<!--- <cfquery  name="getSOC_ans" datasource="#Application.DataSrc#">
				       SELECT *,tooltip_title AS SOCanswer FROM #Request.prefix_db_lookup#.assessment_answers_lookup
				       WHERE assessment_reason = <cfqueryparam value = "1 - Start of care - further visits planned" CFSQLType ="cf_sql_varchar">
				       AND deleted = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
				       AND answer =  <cfqueryparam value = "#getSOCanswer.SOCanswer#" CFSQLType ="cf_sql_varchar">
				       AND answer_label = <cfqueryparam value = "#getassmtupdate.question_label#" CFSQLType ="cf_sql_varchar">   	
				 </cfquery> --->
		      	<cfif getassanswer.recordcount gt 0 >
			      	<cfset Fanswer = Left(getassanswer.Fanswer,2) />
			      	<cfset SOCanswer = Left(getSOCanswer.SOCanswer,2) />
			      	<cfset Mess = '' />
			      	
			      	<cfif Fanswer GT SOCanswer AND SOCanswer NEQ ''>	
			      		<cfset Assmt_ID = getassanswer.Assmt_ID />
			      		<cfset questlabel =  #answer_label_update#  />			      		
							<cfset QA_answerlabel = #Field_ID_Update# />
							<cfif  LoOrHi EQ 'Hi'>
								<cfset QA_answer = #Fanswer#/>
							<cfelse>
								<cfset QA_answer = #getSOCanswer.SOCanswer#/>
							</cfif>						
							<cfset Mess = 'Update '& #questlabel# & ' to ' & #QA_answer# & ' according to ' &  #getSOCanswer.F26#/>
				      	<cfset ArrayAppend(arraycolumns,#Field_ID_Update#) />
							<cfset ArrayAppend(arrayanswers,QA_answer) />
			      	<cfelseif  (SOCanswer GT Fanswer OR SOCanswer EQ '') AND  Fanswer NEQ ''>
			      		<cfset Assmt_ID = SOC_AssmtID />
			      		<cfset Mess = 'update to '& #getSOCanswer.F27# & ' reports patient is ' & #question_label# />
			      		<cfset questlabel =  #question_label#  />			      		
							<cfset QA_answerlabel = #Field_ID# />
						<cfif  LoOrHi EQ 'Hi'>
							<cfset QA_answer = #SOCanswer#/>
						<cfelse>
							<cfset QA_answer = #getassanswer.Fanswer# />
						</cfif>
						<cfset Mess = 'Update '& #questlabel# & ' to ' & #QA_answer# & ' according to ' &  #getassanswer.F26#/>
						<cfset ArrayAppend(socarraycolumns,#Field_ID#) />
						<cfset ArrayAppend(socarrayanswers,QA_answer) />
					</cfif>
			      <cfif Mess NEQ '' and step NEQ 'step2' >
						<cfquery  name="pOASIS_QA_insert" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pOASIS_QA
							(
								Assmt_ID, Emp_ID, Approved,Resolved, QA_Type, Questions_label, Message,
								QA_answerlabel,QA_answer
							) 
							VALUES
							(							
								<cfqueryparam value = "#Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value="#step#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#questlabel#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#Mess#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#QA_answerlabel#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#QA_answer#"  cfsqltype="cf_sql_varchar">

							)
						</cfquery>
					</cfif> 
					<cfif Mess NEQ '' AND step EQ 'step2'>
						<cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
						   	UPDATE  #Request.prefix_db_agency#.pAssessments  SET
						   	 	#QA_answerlabel# = '#QA_answer#',
						   	 Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_date">,
							  Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
						      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#SOC_AssmtID#">
						      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#patid#">
						      AND status = 0 
						</cfquery>
					</cfif>
				</cfif>
			</cfif>
			</cfif>
	    </cfoutput>
      <cfif ArrayLen(arraycolumns) gt 0>
		    <cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
			   	UPDATE  #Request.prefix_db_agency#.pAssessments  SET
			   	 <cfloop from="1" to="#ArrayLen(arraycolumns)#" index="k">
			   	 	#arraycolumns[k]# = '#arrayanswers[k]#',
			   	</cfloop>
			   	 Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_date">,
				  Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
			      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#">
			      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#patid#">
			      AND status = 0 
			</cfquery>
	    </cfif> 
	 	<cfif ArrayLen(socarraycolumns) gt 0>
	       <cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
			   	UPDATE  #Request.prefix_db_agency#.pAssessments  SET
			   	 <cfloop from="1" to="#ArrayLen(socarraycolumns)#" index="m">
			   	 	#socarraycolumns[m]# = '#socarrayanswers[m]#',
			   	</cfloop>
			   	 Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_date">,
				  Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
			      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#SOC_AssmtID#">
			      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#patid#">
			      AND status = 0 
			</cfquery>
		</cfif> 
		</cfloop>

	</cfif>
<!--- END OASIS based on Assmt_Update table--->
   <cfif FindNoCase("PT",assessment_reason) NEQ 1 AND FindNoCase("OT",assessment_reason) NEQ 1>
   	<cfquery  name="getass" datasource="#Application.DataSrc#">
			   SELECT * FROM #Request.prefix_db_agency#.pAssessments
			   WHERE Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
			    AND Assmt_ID = <cfqueryparam value = "#assid#" CFSQLType ="cf_sql_integer">
			   AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
		</cfquery>
 	 	<cfinclude template ="/patientadmin_new/patient/Assmt_Therapy_Update1.cfm" />
 	 	<cfquery  name="getassessment" datasource="#Application.DataSrc#">
			   SELECT * FROM #Request.prefix_db_agency#.pAssessments
			   WHERE Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
			    AND Assmt_ID = <cfqueryparam value = "#assid#" CFSQLType ="cf_sql_integer">
			   AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
		</cfquery>
 	 <cfelse>
 	 	<cfquery  name="getassessment" datasource="#Application.DataSrc#">
			   SELECT * FROM #Request.prefix_db_agency#.pAssessments
			   WHERE Admit_ID = <cfqueryparam value = "#Admit_ID#" CFSQLType ="cf_sql_integer">
			    AND Assmt_ID = <cfqueryparam value = "#assid#" CFSQLType ="cf_sql_integer">
			   AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
		</cfquery>
   </cfif>
	<cfset assessment_reason = #getassessment.F26# />
	<cfif FindNoCase("PT",assessment_reason) EQ 1>
		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
		       UPDATE #Request.prefix_db_agency#.pProblem
		       SET Skill = <cfqueryparam value = "PT" CFSQLType ="cf_sql_varchar">,
		       Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			   Change_by 	=   <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
		       WHERE ques_id >= 84  AND ques_id <= 120
		       AND Assmt_ID = <cfqueryparam value = "#getSOC.Assmt_ID#" CFSQLType ="cf_sql_integer">
		       AND status = 0	  
		</cfquery> 
	</cfif>
	<cfif FindNoCase("OT",assessment_reason) EQ 1>
		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
		       UPDATE #Request.prefix_db_agency#.pProblem
		       SET Skill = <cfqueryparam value = "OT" CFSQLType ="cf_sql_varchar">,
		       Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			   Change_by 	=   <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
		       WHERE ques_id >= 70   AND ques_id <= 83
		       AND Assmt_ID = <cfqueryparam value = "#getSOC.Assmt_ID#" CFSQLType ="cf_sql_integer">
		       AND status = 0	  
		</cfquery> 
	</cfif>
	

 <cfif CGI.REMOTE_ADDR EQ '121.200.49.65'>
	<!--- <cfabort> --->
</cfif> 
