<cfcomponent displayname="Assessments Functions" hint="I Return Assessments Information" output="false">

	<cfif structKeyExists(application, "clientEnabled") AND application.clientEnabled>
	    <cfset client.Loc_ID = "0">
	</cfif>

	
   <cffunction name="init" displayname="Initialize Component" access="public" returntype="Assessments" hint="I initialize and return the Assessments object.">
		<cfreturn this>
	</cffunction>

	<cffunction name="get_assessments"  returntype="any" access="public" output="false" >
	      	<cfargument name="patid" required="yes" default="0"  hint="patient_ID" >
	      	<cfargument name="assid" required="no" default="0"  hint="AssessmentId">
	      	<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#"> 
	       	<cfset client.Loc_ID = session.agencyid />
		<cfquery name = "getallassessment" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.pAssessments 
			 LEFT OUTER JOIN #Request.prefix_db_agency#.pPatients ON pAssessments.Patient_ID = pPatients.Patient_ID
			LEFT OUTER JOIN #Request.prefix_db_agency#.pAdmit ON pAssessments.Admit_ID = pAdmit.Admit_ID AND pAdmit.status = 0
			 WHERE pPatients.Loc_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#client.Loc_ID#">
			 AND  pAssessments.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
			 <cfif arguments.assid neq 0>
			 AND  pAssessments.Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
			 </cfif>
			 AND pAssessments.status = 0 
			 AND pPatients.status IN (0,1,4)
			 GROUP BY pAssessments.Assmt_ID
			 ORDER BY pAdmit.M0030_START_CARE_DT DESC
		</cfquery>
		<cfreturn  getallassessment>
	</cffunction>

	<cffunction name="get_all_ques_ans"  access="public" output="Yes"  returntype="query">
           <cfargument name="assessment_reason" required="yes" hint="assessment_reason">  
		    <cfargument name="wizard"  default="1" hint="wizard">
		    <cfargument name="OASIS_type"  default="" hint="OASIS Type">   
			<cfquery name="get_all_questions" datasource="#Application.DataSrc#">    
			          SELECT * FROM  #Request.prefix_db_lookup#.assessment_questions_lookup as ques
	                JOIN #Request.prefix_db_lookup#.assessment_answers_lookup as answ ON answ.question_id  = ques.ques_id 
	             		WHERE ques.Deleted = 0  
					  AND answ.Deleted = 0
					  AND ques.assessment_reason = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.assessment_reason#">
					   AND  ques.assessment_reason = answ.assessment_reason
					  <cfif arguments.wizard neq 0>
					  	 AND  (ques.wizard =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.wizard#"> OR ques.wizard =  <cfqueryparam cfsqltype="cf_sql_integer" value="0">)
					  </cfif>
					  <!--- <cfif LEFT(arguments.OASIS_type,1) EQ 1>
					  		AND ((ques.answer_label = 'F26' AND LEFT(answ.answer,1) = '1') OR ques.answer_label != 'F26' )
					  </cfif>--->
					   ORDER BY ques.order_id,ques.wizard,answ.srt_id,ques.answer_label  ASC
			</cfquery> 
	   <cfreturn get_all_questions />
   	</cffunction>

   	<cffunction name="get_assess"  access="public" output="Yes"  returntype="query">
           <cfargument name="patid" required="yes" default="0"  hint="patient_ID" >
           <cfargument name="assid" required="yes" default="0"  hint="AssessmentId">
            <cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">   
		  <cfquery name="getassessment" datasource="#Application.DataSrc#">    
		        SELECT  *  FROM  #Request.prefix_db_agency#.pAssessments
			WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
			<!--- AND Patient_ID =    <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#"> --->
			AND status = 0
		 </cfquery> 
	   <cfreturn getassessment />
   	</cffunction>

    	<cffunction name="get_all_answers"  access="remote" output="Yes" httpmethod="GET" returnformat="JSON">
			  <cfargument name="assessment_reason" required="yes" hint="assessment_reason"> 
			   <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 as ques
                      JOIN #Request.prefix_db_lookup#.assessment_answers_lookup as answ ON answ.question_id  = ques.ques_id 
					  WHERE ques.Deleted = 0  
					  AND  answ.Deleted = 0  
					  <cfif arguments.wizard neq 0>
					  	AND  (ques.wizard =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.wizard#"> OR ques.wizard =  0)
					  </cfif>
					  AND  ques.assessment_reason = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.assessment_reason#"> 
					  AND  ques.assessment_reason = answ.assessment_reason
					  ORDER BY ques.order_id ASC
			 </cfquery> 
			 <cfset label_name = '' >
			 <cfset responsekey=[] />
			 <cfoutput query="get_label" group="answer_label">
				 <cfset obj={"label_name"=#answer_label# ,"answer_type" = #answer_type#,"important" = #important#,"questions" = #questions#, "questions_label" = #questions_label#, "other" = #other#,
				 "alert_message" = #alert_message#,"wizard" = #get_label.wizard#,"question_id" = #question_id#,"ans_id" = #ans_id# }  />
                  <cfset arrayAppend(responsekey, obj) />
			 </cfoutput>
			 <cfset response={"answer_labels"= #responsekey#} />
			 <cfreturn response />
    	</cffunction>

    	<cffunction name="assessment_insert"   access="remote" returnFormat= "JSON" >
	         	<cfargument name="answers" required="yes" hint="Assesments form creation">
			<cfargument name="assid" required="yes" hint="Assesments form creation">
			<cfargument name="patid" required="yes" hint="Assesments form creation">
			<cfargument name="parent_id" required="no" hint="Assesments form creation" default="0">
			<cfargument name="formtype" required="no" hint="Assesments form type" default="">

			   <cfset Record_Creation_Date = "#Now()#" />
			   	<cfset generalCFC = createObject("component", "components.general.progressnotes") />
				<cfset getsucess= generalCFC.retire_assessments(arguments.assid)/>

			        <cfif arguments.assid  gt 0>
					<cfset data=ArrayNew(1) />
					<cfset datalist=ArrayNew(2) />
					<cfset datalist=ListToArray(answers,"~",false,true) />
					<cfset syncSOCDates = false>

					<cfquery  name="get_assessment" datasource="#Application.DataSrc#">
					      SELECT * FROM #Request.prefix_db_agency#.pAssessments
					      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
					     AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
					     AND Status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
					</cfquery>
					<cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
						<cfif ListFindNoCase("F176,F177,F178", datalist[i]) GT 0>
							<cfset syncSOCDates = true>
						</cfif>
					</cfloop>
					<cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
						<cfif datalist[i] EQ 'F176' AND Val(get_assessment.F25) EQ 1>
							<!--- M0090 locked when OASIS is completed --->
						<cfelse>
						<cfoutput>
	                              		<cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
						      UPDATE #Request.prefix_db_agency#.pAssessments  SET
							 <cfif  right(datalist[i],3) gt 175 AND right(datalist[i],3) lt 200 >
							      <cfif isDate(datalist[i+1]) >
								   #datalist[i]#  = <cfqueryparam value="#DateFormat(datalist[i+1],'yyyy-mm-dd')#"  cfsqltype="cf_sql_date">
								<cfelse>
									 #datalist[i]#  =  NULL
								 </cfif>
							  <cfelse>
							  	#datalist[i]#  =
							  	<cfif (#datalist[i]# EQ 'F254'  OR #datalist[i]# EQ 'F256')
									 AND Left(get_assessment.F26,1) EQ '1'>
											<cfqueryparam value="#Evaluate('form.other#datalist[i]#')#" cfsqltype="cf_sql_varchar">
									<cfelse>
											<cfqueryparam value="#datalist[i+1]#" cfsqltype="cf_sql_varchar">
									</cfif>

							  </cfif>
							  ,Record_Mod_Date = <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">
							  	<cfif  LEFT(get_assessment.F26,1) EQ '7'  AND #datalist[i]# EQ 'F176'>
							 		,F181  = <cfqueryparam value="#DateFormat(datalist[i+1],'yyyy-mm-dd')#"  cfsqltype="cf_sql_date">
							 	</cfif>
							  ,Record_Mod_By =  <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
						     WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
						     AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
						     AND status = 0
						</cfquery>
						</cfoutput>
						</cfif>
					</cfloop>
					<cfquery  name="get_assessment" datasource="#Application.DataSrc#">
					      SELECT * FROM #Request.prefix_db_agency#.pAssessments
					      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
					     AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
					     AND Status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
					</cfquery>

					<cfif syncSOCDates AND FindNoCase('Start of care', get_assessment.F26) GT 0>
						<cfset patientCFC = createObject("component", "components.general.patients").init()>
						<cfset syncSOCDate = get_assessment.F177>
						<cfif NOT IsDate(syncSOCDate) AND IsDate(get_assessment.F176)>
							<cfset syncSOCDate = get_assessment.F176>
						</cfif>
						<cfif IsDate(syncSOCDate)>
							<cfset syncSocResult = patientCFC.sync_soc_related_dates(Admit_ID=get_assessment.Admit_ID, Patient_ID=arguments.patid, SOC_Date=syncSOCDate, Changed_By=Val(client.emp_id))>
							<cfquery  name="get_assessment" datasource="#Application.DataSrc#">
							      SELECT * FROM #Request.prefix_db_agency#.pAssessments
							      WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
							     AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
							     AND Status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
							</cfquery>
						</cfif>
					</cfif>

					<cfquery  name="updatepAdmit_Svcs" datasource="#Application.DataSrc#">
				    	UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
					    	SET 
					    	<cfif get_assessment.F176 NEQ ''>
					    	Start_Date = <cfqueryparam value="#DATEFORMAT(get_assessment.F176,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">,
					    	</cfif>
						Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
						Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
						WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#get_assessment.Assmt_ID#">
					</cfquery>

					<cfset url.assid  = encrypt(#arguments.assid#,#application.enckey#,"AES","Hex") />   
				<cfelse>
			      		<cfset data=ArrayNew(1) />
					<cfset datalist=ArrayNew(2) />
					<cfset datalist=ListToArray(answers,"~",false,true) />
				<cfset url.assid  = 0 >					
				<cfquery  name="getass" datasource="#Application.DataSrc#">
			               SELECT IFNULL(Max(Assmt_ID),0)+1 as Assmt_ID  FROM  #Request.prefix_db_agency#.pAssessments
						    WHERE Status = 0
			        </cfquery>
			        
			        <!--- Safeguard: Ensure Assmt_ID is never 0 - if it is, start from 1 --->
			        <cfif getass.Assmt_ID EQ 0>
			            <cfquery  name="getass" datasource="#Application.DataSrc#">
			                SELECT 1 as Assmt_ID
			            </cfquery>
			            <cflog file="assessments" text="WARNING: Assmt_ID was 0, reset to 1 for agency #Request.prefix_db_agency#">
			        </cfif>

			                <cfquery  name="getadmit" datasource="#Application.DataSrc#">
			                       SELECT *  FROM  #Request.prefix_db_agency#.pAdmit 
			                       WHERE Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
			                       AND status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
			                </cfquery>

			                <cfset F26 = "" />
			                <cfset Admit_ID = "0" />

			                <cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
			                 	<cfif datalist[i] EQ 'F26'>
			                 		<cfset F26 = #datalist[i+1]#  />
			                 	</cfif>
			                 	<cfif datalist[i] EQ 'Admit_ID'>
			                 		<cfset Admit_ID = #datalist[i+1]#  />
			                 	</cfif>
			                </cfloop>
			                <cfquery  name="getoldassessment" datasource="#Application.DataSrc#">
			                       SELECT *  FROM  #Request.prefix_db_agency#.pAssessments 
			                       WHERE Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
			                       AND status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
			                       AND Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Admit_ID#">
			                        <!--- AND F26 =  <cfqueryparam cfsqltype="cf_sql_varchar" value="#F26#"> --->
			                        AND LEFT(F26,1) IN ('1','4') 
			                       AND status = 0 
			                       ORDER BY F178 DESC
			                </cfquery>
			                <cfset oldassementid  =  getoldassessment.Assmt_ID />
		   			<cfquery  name="Insert_assessment" datasource="#Application.DataSrc#"> 
					        INSERT INTO #Request.prefix_db_agency#.pAssessments
					        (
		    		          	Assmt_ID,parent_id,
		    		         	<cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
		    		          		 #datalist[i]#,
		    		            </cfloop>
			    				Patient_ID,Loc_ID,Record_Creation_Date,Record_Created_By, Record_Mod_Date, Record_Mod_By
						    )  
						   VALUES
					        (
							    <cfqueryparam cfsqltype="cf_sql_integer" value="#getass.Assmt_ID#">,
							    <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.parent_id#">,
							    <cfloop from="2" to="#ArrayLen(datalist)#" index="j" step="2">
							        <cfif right(datalist[j-1],3) gt 175  AND right(datalist[j-1],3) lt 200 and  len(datalist[j-1]) EQ 4>
							        	  <cfif datalist[j] NEQ '' AND isDate(datalist[j])>
								          	<cfqueryparam value="#datalist[j]#"  cfsqltype="cf_sql_date">,
								          <cfelse>
								          	 NULL,
								          </cfif>
								       <cfelse>
										   <cfqueryparam value="#datalist[j]#"  cfsqltype="cf_sql_varchar">,
									</cfif>
								</cfloop>
								<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">,
								<cfqueryparam cfsqltype="cf_sql_integer" value="#client.Loc_ID#">,
								<cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
						        <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">,
						        <cfqueryparam VALUE="#Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
						        <cfqueryparam VALUE="#client.emp_id#"  cfsqltype="cf_sql_integer">
					   		)
					</cfquery> 

					<cfquery datasource="#Application.DataSrc#" name="Last_ass">
				      	  <cfsetting requesttimeout="5000">
					  SELECT MAX(Assmt_ID) as LastInsertID FROM #Request.prefix_db_agency#.pAssessments
					</cfquery>
					<cfset newAssmt_ID = Last_ass.LastInsertID />
					
					<!--- Recert (SN/PT/OT): copy six 485 fields from matching SOC assessment --->
					<cfif left(F26,1) EQ '4' AND Val(Admit_ID) GT 0>
						<cfset _soc485F26 = "1 - Start of care - further visits planned" />
						<cfif F26 EQ '4 - Recertification (follow-up) reassessment - PT'>
							<cfset _soc485F26 = "1 - Start of care - further visits planned - Physical Therapy" />
						<cfelseif F26 EQ '4 - Recertification (follow-up) reassessment - OT'>
							<cfset _soc485F26 = "1 - Start of care - further visits planned - Occupational Therapy" />
						</cfif>
						<cfquery name="getsoc485fields" datasource="#Application.DataSrc#">
							SELECT F251, F252, F253, F254, F256, F259
							FROM #Request.prefix_db_agency#.pAssessments
							WHERE Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
							AND Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Admit_ID#">
							AND status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
							AND F26 = <cfqueryparam cfsqltype="cf_sql_varchar" value="#_soc485F26#">
							ORDER BY F177 DESC
							LIMIT 1
						</cfquery>
						<cfif getsoc485fields.recordcount GT 0>
							<cfquery name="updateRecert485FromSOC" datasource="#Application.DataSrc#">
								UPDATE #Request.prefix_db_agency#.pAssessments SET
									F251 = <cfqueryparam value="#getsoc485fields.F251#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F251))#">,
									F252 = <cfqueryparam value="#getsoc485fields.F252#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F252))#">,
									F253 = <cfqueryparam value="#getsoc485fields.F253#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F253))#">,
									F254 = <cfqueryparam value="#getsoc485fields.F254#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F254))#">,
									F256 = <cfqueryparam value="#getsoc485fields.F256#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F256))#">,
									F259 = <cfqueryparam value="#getsoc485fields.F259#" cfsqltype="cf_sql_varchar" null="#NOT Len(Trim(getsoc485fields.F259))#">,
									Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
									Record_Mod_By = <cfqueryparam value="#session.employeeid#" cfsqltype="cf_sql_integer">
								WHERE Assmt_ID = <cfqueryparam value="#newAssmt_ID#" cfsqltype="cf_sql_integer">
								AND status = 0
							</cfquery>
						</cfif>
						<!--- #10456: Recert (SN/PT/OT) - set F58 from wound Pathway_ID on admit --->
						<cfquery name="getRecertWoundPathways" datasource="#Application.DataSrc#">
							SELECT COUNT(*) AS pathwayMatchCount
							FROM #Request.prefix_db_agency#.pWoundsVitals
							WHERE Status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
							AND VitalOrWound = <cfqueryparam value="wound" cfsqltype="cf_sql_varchar">
							AND Pathway_ID IN (<cfqueryparam value="34,171,172,173" cfsqltype="cf_sql_integer" list="yes">)
							AND Assmt_ID IN (
								SELECT Assmt_ID FROM #Request.prefix_db_agency#.pAssessments
								WHERE Admit_ID = <cfqueryparam value="#Admit_ID#" cfsqltype="cf_sql_integer">
								AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
							)
						</cfquery>
						<cfset recertF58Val = getRecertWoundPathways.pathwayMatchCount GT 0 ? "Yes" : "No" />
						<cfquery name="updateRecertF58" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pAssessments SET
								F58 = <cfqueryparam value="#recertF58Val#" cfsqltype="cf_sql_varchar">,
								Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
								Record_Mod_By = <cfqueryparam value="#session.employeeid#" cfsqltype="cf_sql_integer">
							WHERE Assmt_ID = <cfqueryparam value="#newAssmt_ID#" cfsqltype="cf_sql_integer">
							AND status = 0
						</cfquery>
					</cfif>
					<cfif left(F26,1) EQ '4'>
						<cfquery name="updaterecertstatus" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pAssessments
							SET status = <cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">,
								Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
								Record_Mod_By = <cfqueryparam value="#session.employeeid#" cfsqltype="CF_SQL_INTEGER">
							WHERE Assmt_ID = <cfqueryparam value="#newAssmt_ID#" cfsqltype="CF_SQL_INTEGER">
						</cfquery>
					</cfif>





					<cfif left(F26,1) EQ '4' AND getoldassessment.recordcount gt 0>
						<cfquery name="pCareplan_list" datasource="#Application.DataSrc#">
							SELECT * FROM #Request.prefix_db_agency#.pCareplan 
							WHERE Status < <cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">	
							AND Assmt_ID = <cfqueryparam value = "#oldassementid#" CFSQLType ="CF_SQL_INTEGER">
							<!--- AND Date_Resolve IS NULL  --->
							ORDER BY Careplan_ID ASC 
						</cfquery>

						<cfquery name="update_Old_OASISanswer" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pAssessments
							 SET 
							 F34 = '#getoldassessment.F34#',
							 F72 = '#getoldassessment.F72#', 
							 F322 = '#getoldassessment.F322#'  
							WHERE Status  = 0	
							AND Assmt_ID = <cfqueryparam value = "#newAssmt_ID#" CFSQLType ="CF_SQL_INTEGER">
						</cfquery>



						<cfquery name="getnewassessment" datasource="#Application.DataSrc#">
							SELECT * FROM #Request.prefix_db_agency#.pAssessments 
							WHERE Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">	
							AND Assmt_ID = <cfqueryparam value = "#newAssmt_ID#" CFSQLType ="CF_SQL_INTEGER">
						</cfquery>		
						<cfloop query="pCareplan_list">
							<cfquery  name="getcare" datasource="#Application.DataSrc#">
								SELECT IFNULL(MAX(Careplan_ID),0)+1 As pCareplan_ID FROM #Request.prefix_db_agency#.pCareplan 
							</cfquery>
							<cfset pCareplan_ID =  #getcare.pCareplan_ID# />
							<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
								INSERT INTO #Request.prefix_db_agency#.pCareplan
								(
									  Careplan_ID, Assmt_ID, Item_ID, Order_ID,<cfif len(Incrmt1) GT 0> Incrmt1,</cfif> CMSOrder_ID,Status, Skill, Type, Description, Other, Notes, Param_Lo, Param_Hi, Param_Other, Specifics, Date_Target, Date_Resolve,<!---Date_Resolve,---> Order_Date, Date_Create, Created_by, Date_Change, Change_by, Proc_QA
								) 
								VALUES
								(							
									<cfqueryparam value = "#pCareplan_ID#" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value = "#newAssmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value = "#Item_ID#" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value = "#Order_ID#" CFSQLType ="CF_SQL_INTEGER">,
									<cfif len(Incrmt1) GT 0><cfqueryparam value = "#Incrmt1#" CFSQLType ="CF_SQL_INTEGER">,</cfif>
									<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value = "#Status#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Skill#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Type#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Description#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Other#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Notes#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Param_Lo#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Param_Hi#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Param_Other#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#Specifics#"  cfsqltype="cf_sql_varchar">,
									<cfqueryparam value="#getnewassessment.F178#" cfsqltype="cf_sql_date">,
									<cfqueryparam value="#Date_Resolve#" cfsqltype="cf_sql_date">,
									<!--- <cfqueryparam value="#DateFormat(now(),'mm/dd/yyyy')#" cfsqltype="cf_sql_date">, --->
									<cfqueryparam value="#Order_Date#" cfsqltype="cf_sql_date">,
									<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
									<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
									<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
									<cfqueryparam value="#Proc_QA#"  cfsqltype="cf_sql_varchar">
								)
							</cfquery>	
						</cfloop>

						<!--- <cfquery name="delet_resolved" datasource="#Application.DataSrc#">
						    UPDATE #Request.prefix_db_agency#.pCareplan 
						    	SET status = 3
						    WHERE status = 0
						    AND Date_Resolve IS NOT NULL 
						    AND Assmt_ID = <cfqueryparam value = "#newAssmt_ID#" CFSQLType ="CF_SQL_INTEGER">
						</cfquery> --->

						<!--- START Copy pProgress.Description into new recertification assessment fields --->
						<cfquery name="getprogressforrecert" datasource="#Application.DataSrc#">
							SELECT DISTINCT 
								pp.Description AS progress_description,
								pp.Item_ID,
								pp.Assmt_ID AS source_assmt_id,
								aql.Item_ID AS lookup_item_id,
								aql.assessment_reason,
								aql.question_id,
								aql.answer_label,
								aq.ques_id,
								aq.answer_label AS field_name
							FROM #Request.prefix_db_agency#.pProgress pp
							INNER JOIN #Request.prefix_db_agency#.pAssessments pa ON pa.Assmt_ID = pp.Assmt_ID
								AND pa.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
								AND pa.Admit_ID = <cfqueryparam value="#Admit_ID#" cfsqltype="CF_SQL_INTEGER">
								AND pa.status = 0
							INNER JOIN #Request.prefix_db_lookup#.assessment_answers_lookup aql ON aql.Item_ID = pp.Item_ID
								AND aql.assessment_reason LIKE <cfqueryparam value="4 - Recertification%" cfsqltype="CF_SQL_VARCHAR">
							INNER JOIN #Request.prefix_db_lookup#.assessment_questions_lookup aq ON aq.ques_id = aql.question_id
								AND aq.answer_label IS NOT NULL
								AND aq.answer_label != ''
							WHERE pp.status = 0
							AND pp.severity > 1
							ORDER BY pa.F176 DESC
						</cfquery>
						<!--- <cfdump var="#getprogressforrecert#"><cfabort> --->
 						<!--- Update assessment fields with pProgress.Description --->
						<cfif getprogressforrecert.recordcount GT 0>
							<cfloop query="getprogressforrecert">
								<cfif Len(Trim(field_name)) GT 0>
									<cfquery name="updateassessmentfield" datasource="#Application.DataSrc#">
										UPDATE #Request.prefix_db_agency#.pAssessments
										SET #field_name# = <cfqueryparam value="#progress_description#" cfsqltype="CF_SQL_VARCHAR">,
											Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
											Record_Mod_By = <cfqueryparam value="#session.employeeid#" cfsqltype="CF_SQL_INTEGER">
										WHERE Assmt_ID = <cfqueryparam value="#newAssmt_ID#" cfsqltype="CF_SQL_INTEGER">
										AND status = 0
									</cfquery>
								</cfif>
							</cfloop>
						</cfif>
						<!--- END Copy pProgress.Description into new recertification assessment fields --->

					</cfif>

					<!--- <cfif CGI.REMOTE_ADDR EQ '103.143.7.161'>
						<cfdump var="#F26#">
						<cfdump var="#getoldassessment#">
						<cfdump var="#pCareplan_list#">
						<cfdump var="#newAssmt_ID#">
					</cfif> --->
					<cfquery  name="Getpats" datasource="#Application.DataSrc#">
					      	SELECT pPatients.*,pAssessments.*, 
					      	   CASE WHEN F26 = '1 - Start of care - further visits planned' AND F27 = 'SN' THEN '1 - SOC - SN'
					           WHEN F26 = '1 - Start of care - further visits planned - Physical Therapy' AND F27 = 'PT' THEN '1 - SOC - PT'
					           WHEN F26 = '1 - Start of care - further visits planned - Occupational Therapy' AND F27 = 'OT' THEN '1 - SOC - OT'
					           WHEN F26 = '3 - Resumption of care (after inpatient stay)' AND F27 = 'SN' THEN '3 - ROC - SN'
					           WHEN F26 = '3 - Resumption of care (after inpatient stay)' AND F27 = 'PT' THEN '3 - ROC - PT'
					           WHEN F26 = '4 - Recertification (follow-up) reassessment' AND F27 = 'SN' THEN '4 - Recertification SN'
					           WHEN F26 = '4 - Recertification (follow-up) reassessment - PT' AND F27 = 'PT' THEN '4 - Recertification PT'
					           WHEN F26 = '4 - Recertification (follow-up) reassessment - OT' AND F27 = 'OT' THEN '4 - Recertification OT'
					           WHEN F26 = 'PT Adult Evaluation' AND F27 = 'PT' THEN 'PT Eval'
					           WHEN F26 = 'OT Adult Evaluation' AND F27 = 'OT' THEN 'OT Eval'
					           WHEN F26 = 'ST Adult Evaluation' AND F27 = 'ST' THEN 'ST Eval'
					           WHEN F26 = 'SN Adult Evaluation' AND F27 = 'SN' THEN 'SN Eval'
					           WHEN F26 = 'MSW Evaluation' AND F27 = 'MSW' THEN 'MSW Eval'
					           WHEN F26 = 'Hospice Comprehensive' AND F27 = 'SN' THEN 'Hospice Comprehensive'
					           ELSE '0'
					           END AS Admit_skill
					        FROM #Request.prefix_db_agency#.pPatients
					       JOIN #Request.prefix_db_agency#.pAssessments ON pAssessments.Patient_ID =  pPatients.Patient_ID 
					       WHERE pPatients.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
					       AND pAssessments.Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#getass.Assmt_ID#">
					       AND pPatients.Status  NOT IN (2,3) 
					       AND pAssessments.status = 0
					</cfquery>

					<cfif Getpats.Admit_skill NEQ '0' >
						<cfset patientCFC = createObject("component", "components.general.patients").init()>
						<cfset getAdmitForSvc = patientCFC.get_admit(arguments.patid, Getpats.Admit_ID)>
						<cfset svcStartDate = patientCFC.get_soc_reference_date(getAdmitForSvc)>
						<cfif NOT IsDate(svcStartDate) AND IsDate(Getpats.F177)>
							<cfset svcStartDate = Getpats.F177>
						<cfelseif NOT IsDate(svcStartDate) AND IsDate(Getpats.F176)>
							<cfset svcStartDate = Getpats.F176>
						</cfif>
						<cfquery  name="pAdmit_Svcs_insert" datasource="#Application.DataSrc#">
				                INSERT INTO #Request.prefix_db_agency#.pAdmit_Svcs
				                (
				                       Admit_ID,Patient_ID,Assmt_ID, Status, Skill,
				                       <cfif IsDate(svcStartDate)> 
				                                Start_Date,
				                       </cfif>
				                        Physician_order, Notes, Admitted,
				                        Date_Create, Created_by, Date_Change, Change_by
				                ) 
				                VALUES
				                (
				                    '#Getpats.Admit_ID#' ,'#Getpats.Patient_ID#','#Getpats.Assmt_ID#',0, '#Getpats.Admit_skill#', 
				                    <cfif IsDate(svcStartDate)> 
				                        '#DateFormat(svcStartDate,"yyyy-mm-dd")#',
				                    </cfif>
				                    'yes','','yes',
				                     #now()# , #session.employeeid#  , #now()#, #session.employeeid# 
				                )                                   
				        </cfquery>

				    </cfif>

						<cfif FindNoCase('Start of care', Getpats.F26) GT 0>
							<cfset patientCFC = createObject("component", "components.general.patients").init()>
							<cfset syncSOCDate = Getpats.F177>
							<cfif NOT IsDate(syncSOCDate) AND IsDate(Getpats.F176)>
								<cfset syncSOCDate = Getpats.F176>
							</cfif>
							<cfif IsDate(syncSOCDate)>
								<cfset syncSocResult = patientCFC.sync_soc_related_dates(Admit_ID=Getpats.Admit_ID, Patient_ID=arguments.patid, SOC_Date=syncSOCDate, Changed_By=Val(client.emp_id))>
							</cfif>
						</cfif>


					
					<cfif #Left(Getpats.F26,1)# EQ '1' >
						<cfquery  name="Insert_Coding_request" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_lookup#.Coding_Request  (Agency_ID,Request_Date,Last_Name,First_Name,Assessment_Type,
							 Assessment_Date,Assigned_to,Coding_status,Assigned_by,Request_Time,MHCB_Entered,
							 time_requested,Updated_by) 
							VALUES ('#session.agencyid#','#DateFormat(now(),"yyyy-mm-dd")#',
								'#Getpats.Pt_Last#','#Getpats.Pt_First#','#Getpats.F26#',
								'#DateFormat(Getpats.F176,"yyyy-mm-dd")#','Melissa','H_P_Review',
								'#session.employeeid#',
								'#TimeFormat(now(), "short")#',#now()#,#now()#,'#Session.employeeid#')
						</cfquery>
					</cfif>

					<cfif #Left(Getpats.F26,1)# EQ  '4'>
						<cfset Coding_status = "authorization" >
					<cfelse>
						<cfset Coding_status = "Coding" >
					</cfif>


					<cfquery  name="Insert_Coding_request" datasource="#Application.DataSrc#">
						INSERT INTO #Request.prefix_db_lookup#.Coding_Request  (Agency_ID,Request_Date,Last_Name,First_Name,Assessment_Type,
						 Assessment_Date,Assigned_to,Coding_status,Assigned_by,Request_Time,MHCB_Entered,
						 time_requested,Updated_by) 
						VALUES ('#session.agencyid#','#DateFormat(now(),"yyyy-mm-dd")#',
							'#Getpats.Pt_Last#','#Getpats.Pt_First#','#Getpats.F26#',
							'#DateFormat(Getpats.F176,"yyyy-mm-dd")#','Melissa','#Coding_status#',
							'#session.employeeid#',
							'#TimeFormat(now(), "short")#',#now()#,#now()#,'#Session.employeeid#')
					</cfquery>
					<cfset url.assid  = encrypt(#Last_ass.LastInsertID#,#application.enckey#,"AES","Hex") />

					<cfif Getpats.F26 DOES NOT CONTAIN 'Review' AND session.agencyid NEQ '179'>
						<cfquery name="gets_agency"  datasource="#Application.DataSrc#">
						  SELECT * FROM #Request.prefix_db_lookup#.Agency WHERE Agency_ID = '#session.agencyid#'
						</cfquery>					
						<cfsavecontent variable="body_informations">
						    <cfoutput>
						        Hello Team,<br><br>
						        We got a new coding request with below information<br>
						        Agency Name   : <b>#gets_agency.Agency_Name# (#gets_agency.Agency_Login#)</b><br>
						        Patient Name  : <b>#Getpats.Pt_First#,#Getpats.Pt_Last#</b><br>
						        Requested Date: <b>#DateFormat(now(),"yyyy-mm-dd")# - #TimeFormat(now(), "short")#</b><br>
						        Assessment Type: <b>#Getpats.F26# - #DateFormat(Getpats.F176,"yyyy-mm-dd")#</b><br><br><br><br>
						        <i>
						            This is an automated system notification from <a href='https://secure.myhomecarebiz.com/index.cfm'>MyHomeCareBiz.com</a>. Therefore, there is no Unsubscribe option.
						        </i>
						        <br><br><br><br><br><br>
						    </cfoutput>
						</cfsavecontent>
						<cfscript>
						    request.general = CreateObject("component","components.general.general").init();
						    getresult = request.general.SendMail(To="billing@myhomecarebiz.com,coding@myhomecarebiz.com",Subject="Notification for New Coding Request",Body="'#body_informations#'");
						</cfscript>
					</cfif>

				</cfif>

				    <!--- <cfquery  name="get_pat" datasource="#Application.DataSrc#">
                                  SELECT * FROM  #Request.prefix_db_agency#.pPatients
                                   WHERE Patient_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#"> 
                              </cfquery>
                              <cfquery  name="update_assessment_table" datasource="#Application.DataSrc#">
                                    UPDATE #Request.prefix_db_agency#.pAssessments  SET
                                     F6 = <cfqueryparam value="#get_pat.Pt_Agy_ID#" cfsqltype="cf_sql_varchar">,
                                     F7 = <cfqueryparam value="#get_pat.Pt_First#" cfsqltype="cf_sql_varchar">,
                                     F8 = <cfqueryparam value="#get_pat.Pt_Middle#" cfsqltype="cf_sql_varchar">,
                                     F9 = <cfqueryparam value="#get_pat.Pt_Last#" cfsqltype="cf_sql_varchar">,
                                     F10 = <cfqueryparam value="#get_pat.Pt_Suffix#" cfsqltype="cf_sql_varchar">,
                                     F11 = <cfqueryparam value="#get_pat.Pt_State#" cfsqltype="cf_sql_varchar">,
                                     F12 = <cfqueryparam value="#get_pat.Pt_Zip#" cfsqltype="cf_sql_varchar">,
                                     F13 = <cfqueryparam value="#get_pat.Pt_SSN#" cfsqltype="cf_sql_varchar">,
                                     F19 = <cfqueryparam value="#get_pat.Pt_Gender#" cfsqltype="cf_sql_varchar">,
                                     F20    = <cfqueryparam value="#get_pat.Pt_DOB#" cfsqltype="cf_sql_date">,
                                     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 status = 0
                              </cfquery> --->
				 <cfset redirect_url = url.assid />
			      <cfset response_key={"statusCode"= 200,"statusText"= 'success',"data"= '#url.assid#' } />
			<cfreturn  response_key >
    	</cffunction>

   	<cffunction name="startcare_insert"   access="remote" returnFormat= "JSON" >
      		<cfargument name="answers" required="yes" hint="Assesments form creation">
      		<cfargument name="questions_ids" required="no" hint="Assesments form creation" default="">
		<cfargument name="assid" required="yes" hint="Assessment id form creation">
		<cfargument name="patid" required="yes" hint="Patient id form creation">
	   <cfargument name="wizard" required="no" hint="wizard form creation">
	   <cfargument name="noalert" required="no" default="0" hint="wizard form creation">
	   <cfargument name="total_wizard" required="no" hint="Assesments form creation">
	   <cfargument name="QA_insertion" required="no" hint="QA insertion" default="0">
		<cfset Record_Creation_Date = "#Dateformat(Now(),'yyyy-mm-dd')#" />
		<cfset cognitiveScore = "" />
		<cfset cognitiveF34 = "" />
		<cfset cognitiveF35 = "" />
		<cfset data=ArrayNew(1) />
		<cfset datalist=ArrayNew(2) />
		<cfset datalist=ListToArray(answers,"~",true,false) />
		<cfset request.submitted_answer_labels = StructNew() />
		<cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
			<cfif i LTE ArrayLen(datalist)>
				<cfset _label = Trim(datalist[i]) />
				<cfif Len(_label) GT 0>
					<cfset request.submitted_answer_labels[UCase(_label)] = true />
				</cfif>
			</cfif>
		</cfloop>
		

		<!--- #10330: Final SOC submit requires Admission Notes (F175) min 50 characters (server-side; blocks bypass of client validation) --->
		<cfset submittedF175 = "" />
		<cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
			<cfif i LTE ArrayLen(datalist) AND i + 1 LTE ArrayLen(datalist)>
				<cfif Trim(datalist[i]) EQ "F175">
					<cfset _fv = datalist[i + 1] />
					<cfif Len(Trim(_fv)) GT 0 AND _fv NEQ "$">
						<cfset submittedF175 = Trim(_fv) />
					</cfif>
				</cfif>
			</cfif>
		</cfloop>
		<cfquery name="getAssF26Admission" datasource="#Application.DataSrc#">
			SELECT F26 FROM #Request.prefix_db_agency#.pAssessments
			WHERE Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
			AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
			AND status = 0
			LIMIT 1
		</cfquery>
		<cfset isFinalWizardSubmit = false />
		<cfif Val(arguments.total_wizard) EQ Val(arguments.wizard) OR Val(arguments.QA_insertion) EQ 1 OR Val(arguments.wizard) EQ 0>
			<cfset isFinalWizardSubmit = true />
		</cfif>
		<cfif getAssF26Admission.recordcount GT 0 AND Left(getAssF26Admission.F26, 1) EQ "1" AND isFinalWizardSubmit AND Len(submittedF175) LT 50>
			<cfset response_key = { "statusCode" = 400, "statusText" = "error", "data" = "At least 50 characters are required in the Admission Notes field." } />
			<cfreturn response_key />
		</cfif>

		<cfquery name="getAssForWizardSave" datasource="#Application.DataSrc#">
			SELECT F25 FROM #Request.prefix_db_agency#.pAssessments
			WHERE Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
			AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
			AND status = 0
			LIMIT 1
		</cfquery>
		<cfset wizardAssmtCompleted = (getAssForWizardSave.recordcount GT 0 AND Val(getAssForWizardSave.F25) EQ 1) />

      	<cfquery  name="Update_assessment" datasource="#Application.DataSrc#">
	   	UPDATE #Request.prefix_db_agency#.pAssessments  SET
	      <cfloop from="1" to="#ArrayLen(datalist)#" index="i" step="2">
			<cfif i+1 LTE ArrayLen(datalist) AND NOT (datalist[i] EQ 'F176' AND wizardAssmtCompleted)>
			<cfif  right(datalist[i],3) gt 175  AND right(datalist[i],3) lt 200 AND  len(datalist[i]) EQ 4>
				<cfif isDate(datalist[i+1]) >
				   #datalist[i]#  = <cfqueryparam value="#DateFormat(datalist[i+1],'yyyy-mm-dd')#"  cfsqltype="cf_sql_date">,
				<cfelse>
					 #datalist[i]#  =  NULL,
				 </cfif>
			<cfelse>
			     <cfif #datalist[i+1]# NEQ '' and #datalist[i+1]# NEQ '$'>
			     	#datalist[i]#  = <cfqueryparam value="#datalist[i+1]#" cfsqltype="cf_sql_varchar">,
			     	<cfelse>
			     	   #datalist[i]#  =  NULL,
			     	</cfif>
			</cfif>
			</cfif>
		</cfloop>
		  <cfif (total_wizard EQ wizard OR arguments.QA_insertion EQ 1) AND arguments.noalert EQ 0>
		  		F25 =  <cfqueryparam VALUE="1"  cfsqltype="cf_sql_integer">,
		  		F263  = <cfif arguments.QA_insertion EQ 1><cfqueryparam value="QA pending" cfsqltype="cf_sql_varchar">
		  	 	<cfelse><cfqueryparam value="pending QA submission" cfsqltype="cf_sql_varchar"> </cfif>,
		  </cfif>
		  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="#arguments.assid#">
	      AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
	      AND status = 0
	</cfquery>

	<cfquery  name="getass" datasource="#Application.DataSrc#">
           SELECT * FROM #Request.prefix_db_agency#.pAssessments
           WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
           AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
   	</cfquery>

	<!--- <cfif total_wizard EQ wizard AND arguments.noalert EQ 0 AND getass.recordcount gt 0 AND Len(Trim(getass.F68)) gt 0>
		<cfset cognitiveScore = Val(getass.F68) />

		<cfif cognitiveScore gt 13>
			<cfset cognitiveF34 = "0. Alert/ oriented, able to focus and shift attention, comprehends and recalls task directions independently." />
			<cfset cognitiveF35 = "0. Never" />
		<cfelseif cognitiveScore gte 11 AND cognitiveScore lte 13>
			<cfset cognitiveF34 = "1. Requires prompting (cuing, repetition, reminders) only under stressful or unfamiliar conditions." />
			<cfset cognitiveF35 = "1. In new or complex situations only" />
		<cfelseif cognitiveScore gte 8 AND cognitiveScore lte 10>
			<cfset cognitiveF34 = "2. Requires assistance and some direction in specific situations (for example, on all tasks involving shifting of attention) or consistently requires low stimulus environment due to distractibility" />
			<cfset cognitiveF35 = "3. During the day and evening, but not constantly" />
		<cfelseif cognitiveScore gte 5 AND cognitiveScore lte 7>
			<cfset cognitiveF34 = "3. Requires considerable assistance in routine situations. Is not alert and oriented or is unable to shift attention and recall directions more than half the time." />
			<cfset cognitiveF35 = "4. Constantly" />
		<cfelseif cognitiveScore lt 5>
			<cfset cognitiveF34 = "4. Totally dependent due to disturbances such as constant disorientation, coma, persistent vegetative state, or delirium." />
			<cfset cognitiveF35 = "NA Patient nonresponsive" />
		</cfif>

		<cfif Len(cognitiveF34) gt 0 AND Len(cognitiveF35) gt 0>
			<cfquery name="updateSocCognitiveFields" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.pAssessments
				SET
					F34 = <cfqueryparam value="#cognitiveF34#" cfsqltype="cf_sql_varchar">,
					F35 = <cfqueryparam value="#cognitiveF35#" cfsqltype="cf_sql_varchar">,
					Record_Mod_Date = <cfqueryparam value="#Now()#" cfsqltype="cf_sql_timestamp">,
					Record_Mod_By = <cfqueryparam value="#client.emp_id#" cfsqltype="cf_sql_integer">
				WHERE Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
				AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				AND status = 0
			</cfquery>

			<cfquery  name="getass" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pAssessments
				WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
				AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			</cfquery>
		</cfif>
	</cfif> --->


      <!--- Start UPDATE OASIS based on Assmt_Update table--->
      <cfset assid = #arguments.assid# />
   	<cfset patid = #arguments.patid# />
   	<cfset assessment_reason = #getass.F26# />
   	<!--- <cfif FindNoCase("PT",assessment_reason) EQ 1 OR FindNoCase("OT",assessment_reason) EQ 1>
   		<cfinclude template ="/patientadmin_new/patient/Assmt_Therapy_Update.cfm" />
   	</cfif> 
   	<cfif CGI.REMOTE_ADDR EQ '121.200.49.65'>
   		<cfdump var="#getass#">
   	</cfif>--->
	 <cfquery  name="getSOCS" 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">)
	       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
	</cfquery>
	<cfset runproblems = 0 />
	<cfif getSOCS.recordcount gt 0 >
		<cfif FindNoCase("PT",assessment_reason) EQ 1 OR FindNoCase("OT",assessment_reason) EQ 1>
			<cfset runproblems = 1 />
		</cfif>
	</cfif>

	<cfif FindNoCase("PT",assessment_reason) EQ 1 >
		<cfif wizard EQ 2 >
			<cfquery name="update_SOCOASIS" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.pAssessments  SET
					<cfif Left(getass.F115,1) LTE 4>
						 F101 = '09. Not applicable',
						 F102 = '09. Not applicable',
						 F103 = '09. Not applicable',
						 F104 = '09. Not applicable',
						 F105 = '09. Not applicable',
						 F106 = '09. Not applicable',
					</cfif>
					<cfif Left(getass.F117,1) LT 4>
						F131 = '0. No Skip to M1600',
					<cfelse>
						F131 = '1. Yes Continue to GG0170R, Wheel 50 feet with two turns',
					</cfif>
					Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">  
				WHERE Assmt_ID = '#getSOCS.Assmt_ID#' AND status = 0
			</cfquery>
		</cfif>	
	</cfif>

   	<!--- <cfif total_wizard EQ wizard AND (arguments.QA_insertion EQ 1  OR FindNoCase("PT",assessment_reason) EQ 1 OR FindNoCase("OT",assessment_reason) EQ 1) AND   getSOCS.recordcount gt 0>
   		<cfinclude template ="/patientadmin_new/patient/QA_allsteps.cfm" />
        </cfif>--->
      <!--- END OASIS based on Assmt_Update table--->

	<cfset Assmt_ID = #arguments.assid# />
	<cfset Patient_ID = #arguments.patid# />
    <cfset questions_ids = arguments.questions_ids />

     

	
	<cfquery  name="getassess" datasource="#Application.DataSrc#">
	     SELECT  *  FROM  #Request.prefix_db_agency#.pAssessments
	    WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#Assmt_ID#">
	    AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Patient_ID#">
	    AND status = 0
	</cfquery>
	
	<!--- #9930, #9931, #9932 - Hospice Admission Assessment Calculations --->
	<cfif getassess.F26 EQ 'Hospice admission'>
		<cfset F201_value = '' />
		<cfset F202_value = '' />
		<cfset F203_value = '' />
		
		<!--- #9930: Calculate F201 based on F97 --->
		<cfif IsDefined("getassess.F97") AND getassess.F97 NEQ ''>
			<cfif getassess.F97 CONTAINS 'independent in ambulation'>
				<cfset F201_value = '80%' />
			<cfelseif getassess.F97 CONTAINS 'reduced ability to ambulate'>
				<cfset F201_value = '60%' />
			<cfelseif getassess.F97 CONTAINS 'non-ambulatory; mostly sits or lies in bed'>
				<cfset F201_value = '50%' />
			<cfelseif getassess.F97 CONTAINS 'mostly stays in bed'>
				<cfset F201_value = '40%' />
			<cfelseif getassess.F97 CONTAINS 'unable to sit up without support'>
				<cfset F201_value = '30%' />
			<cfelseif getassess.F97 CONTAINS 'totally bedbound'>
				<cfset F201_value = '20%' />
			<cfelseif getassess.F97 CONTAINS 'unable to hold head up'>
				<cfset F201_value = '10%' />
			</cfif>
		</cfif>
		
		<!--- #9931: Calculate F202 based on F97 --->
		<cfif IsDefined("getassess.F97") AND getassess.F97 NEQ ''>
			<cfif getassess.F97 CONTAINS 'independent in ambulation'>
				<cfset F202_value = 'Stage 7A: Stage 1 Normal: Independent' />
			<cfelseif getassess.F97 CONTAINS 'reduced ability to ambulate'>
				<cfset F202_value = 'Stage 7B: Stage 2 Mild: Needs supervision/assistance with mobility' />
			<cfelseif getassess.F97 CONTAINS 'non-ambulatory; mostly sits or lies in bed' OR getassess.F97 CONTAINS 'mostly stays in bed'>
				<cfset F202_value = 'Stage 7C: Moderate: Non-ambulatory' />
			<cfelseif getassess.F97 CONTAINS 'unable to sit up without support'>
				<cfset F202_value = 'Stage 7D: Moderately Severe: Unable to sit up without support' />
			<cfelseif getassess.F97 CONTAINS 'totally bedbound'>
				<cfset F202_value = 'Stage 7E: Severe: Dependent in all ADLs' />
			<cfelseif getassess.F97 CONTAINS 'unable to hold head up'>
				<cfset F202_value = 'Stage 7F: Profound: Unable to hold up head' />
			</cfif>
		</cfif>
		
		<!--- #9932: Calculate F203 based on F82 --->
		<cfif IsDefined("getassess.F82") AND getassess.F82 NEQ ''>
			<cfset F82_trimmed = Trim(getassess.F82) />
			<cfif F82_trimmed CONTAINS '0 - Not at all' OR Left(F82_trimmed, 1) EQ '0'>
				<cfset F203_value = 'CLASS I' />
			<cfelseif F82_trimmed CONTAINS '1 - Slight' OR Left(F82_trimmed, 1) EQ '1'>
				<cfset F203_value = 'CLASS II' />
			<cfelseif F82_trimmed CONTAINS '2 - Moderate' OR Left(F82_trimmed, 1) EQ '2'>
				<cfset F203_value = 'CLASS III' />
			<cfelseif F82_trimmed CONTAINS '3 - Severe' OR Left(F82_trimmed, 1) EQ '3'>
				<cfset F203_value = 'CLASS IV' />
			</cfif>
		</cfif>
		
		<!--- Update F201, F202, F203 in pAssessments --->
		<cfif F201_value NEQ '' OR F202_value NEQ '' OR F203_value NEQ ''>
			<cfset update_parts = ArrayNew(1) />
			<cfif F201_value NEQ ''>
				<cfset ArrayAppend(update_parts, "F201 = " & "'" & Replace(F201_value, "'", "''", "all") & "'") />
			</cfif>
			<cfif F202_value NEQ ''>
				<cfset ArrayAppend(update_parts, "F202 = " & "'" & Replace(F202_value, "'", "''", "all") & "'") />
			</cfif>
			<cfif F203_value NEQ ''>
				<cfset ArrayAppend(update_parts, "F203 = " & "'" & Replace(F203_value, "'", "''", "all") & "'") />
			</cfif>
			<cfset ArrayAppend(update_parts, "Record_Mod_Date = '" & Record_Creation_Date & "'") />
			<cfset update_clause = ArrayToList(update_parts, ", ") />
			
			<cfquery name="updateHospiceCalculations" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.pAssessments SET
				#PreserveSingleQuotes(update_clause)#
				WHERE Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.assid#">
				AND F26 = <cfqueryparam value="Hospice admission" cfsqltype="cf_sql_varchar">
				AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			</cfquery>
		</cfif>
	</cfif>
	
	<cfquery  name="getquestions" datasource="#Application.DataSrc#">
		SELECT * FROM assessment_questions_lookup WHERE assessment_reason like '#getassess.F26#'
		AND Deleted = 0
	</cfquery>	
	<cfset questions_ids ="" />
	<cfloop query ="getquestions">
		<cfset answers = '$' />
		<cfif answer_label NEQ ''>
			<cfset answers = #getassess[getquestions.answer_label]# />
		</cfif>
		<cfset questions_ids =  questions_ids & #getquestions.ques_id# & ' ~ ' & #answers# & ' ~ '/>
	</cfloop>

    <cfif arguments.QA_insertion EQ 1>
   	 <!---<cfinclude template ="/patientadmin_new/patient/QA_insertion.cfm" /> 
   	<cfinclude template ="/patientadmin_new/patient/OASIS_QA_New.cfm" />--->
     <cfelse>
     	<!---<cfquery  name="getquestions" datasource="#Application.DataSrc#">
		 DELETE FROM #Request.prefix_db_agency#.pOASIS_QA 
		 WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#Assmt_ID#">
		</cfquery>	 --->
     		
     </cfif> 
      <!--- Start HIPPS code generation  --->
	     <cfif ((total_wizard EQ wizard OR arguments.QA_insertion EQ 1) AND arguments.noalert EQ 0) OR wizard EQ 0>
	     			<!--- Start Insertion of New records and retire of old records---> 	     			
			       <cfquery  name="getass" datasource="#Application.DataSrc#">
				       SELECT * FROM #Request.prefix_db_agency#.pAssessments
				       WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
				       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			    	</cfquery> 			    	
	     			<cfquery  name="Insert_new_records" datasource="#Application.DataSrc#">
	     				INSERT INTO #Request.prefix_db_agency#.pAssessments
	     				( Assmt_ID, Admit_ID, Patient_ID, Loc_ID, parent_id, Submitter_ID, Submitter_ID2, status, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31, F32, F33, F34, F35, F36, F37, F38, F39, F40, F41, F42, F43, F44, F45, F46, F47, F48, F49, F50, F51, F52, F53, F54, F55, F56, F57, F58, F59, F60, F61, F62, F63, F64, F65, F66, F67, F68, F69, F70, F71, F72, F73, F74, F75, F76, F77, F78, F79, F80, F81, F82, F83, F84, F85, F86, F87, F88, F89, F90, F91, F92, F93, F94, F95, F96, F97, F98, F99, F100, F101, F102, F103, F104, F105, F106, F107, F108, F109, F110, F111, F112, F113, F114, F115, F116, F117, F118, F119, F120, F121, F122, F123, F124, F125, F126, F127, F128, F129, F130, F131, F132, F133, F134, F135, F136, F137, F138, F139, F140, F141, F142, F143, F144, F145, F146, F147, F148, F149, F150, F151, F152, F153, F154, F155, F156, F157, F158, F159, F160, F161, F162, F163, F164, F165, F166, F167, F168, F169, F170, F171, F172, F173, F174, F175, F176, F177, F178, F179, F180, F181, F182, F183, F184, F185, F186, F187, F188, F189, F190, F191, F192, F193, F194, F195, F196, F197, F198, F199, F200, F201, F202, F203, F204, F205, F206, F207, F208, F209, F210, F211, F212, F213, F214, F215, F216, F217, F218, F219, F220, F221, F222, F223, F224, F225, F226, F227, F228, F229, F230, F231, F232, F233, F234, F235, F236, F237, F238, F239, F240, F241, F242, F243, F244, F245, F246, F247, F248, F249, F250, F251, F252, F253, F254, F255, F256, F257, F258, F259, F260, F261, F262, F263, F264, F265, F266, F267, F268, F269, F270, F271, F272, F273, F274, F275, F276, F277, F278, F279, F280, F281, F282, F283, F284, F285, F286, F287, F288, F289, F290, F291, F292, F293, F294, F295, F296, F297, F298, F299, F300, F301, F302, F303, F304, F305, F306, F307, F308, F309, F310, QA_count, Record_Creation_Date, Record_Created_By, Record_Mod_Date, Record_Mod_By)

				       SELECT  Assmt_ID, Admit_ID, Patient_ID, Loc_ID, parent_id, Submitter_ID, Submitter_ID2,  0  AS status, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31, F32, F33, F34, F35, F36, F37, F38, F39, F40, F41, F42, F43, F44, F45, F46, F47, F48, F49, F50, F51, F52, F53, F54, F55, F56, F57, F58, F59, F60, F61, F62, F63, F64, F65, F66, F67, F68, F69, F70, F71, F72, F73, F74, F75, F76, F77, F78, F79, F80, F81, F82, F83, F84, F85, F86, F87, F88, F89, F90, F91, F92, F93, F94, F95, F96, F97, F98, F99, F100, F101, F102, F103, F104, F105, F106, F107, F108, F109, F110, F111, F112, F113, F114, F115, F116, F117, F118, F119, F120, F121, F122, F123, F124, F125, F126, F127, F128, F129, F130, F131, F132, F133, F134, F135, F136, F137, F138, F139, F140, F141, F142, F143, F144, F145, F146, F147, F148, F149, F150, F151, F152, F153, F154, F155, F156, F157, F158, F159, F160, F161, F162, F163, F164, F165, F166, F167, F168, F169, F170, F171, F172, F173, F174, F175, F176, F177, F178, F179, F180, F181, F182, F183, F184, F185, F186, F187, F188, F189, F190, F191, F192, F193, F194, F195, F196, F197, F198, F199, F200, F201, F202, F203, F204, F205, F206, F207, F208, F209, F210, F211, F212, F213, F214, F215, F216, F217, F218, F219, F220, F221, F222, F223, F224, F225, F226, F227, F228, F229, F230, F231, F232, F233, F234, F235, F236, F237, F238, F239, F240, F241, F242, F243, F244, F245, F246, F247, F248, F249, F250, F251, F252, F253, F254, F255, F256, F257, F258, F259, F260, F261, F262, F263, F264, F265, F266, F267, F268, F269, F270, F271, F272, F273, F274, F275, F276, F277, F278, F279, F280, F281, F282, F283, F284, F285, F286, F287, F288, F289, F290, F291, F292, F293, F294, F295, F296, F297, F298, F299, F300, F301, F302, F303, F304, F305, F306, F307, F308, F309, F310, QA_count, now() , #session.employeeid#, Now() , #session.employeeid#  FROM #Request.prefix_db_agency#.pAssessments
				       WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
				       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			   	</cfquery> 
			   	<cfquery name="retire_oldrecords" datasource="#Application.DataSrc#"  result="result">
			           UPDATE #Request.prefix_db_agency#.pAssessments SET 
			           	Status   = <cfqueryparam VALUE="3"  cfsqltype="cf_sql_integer">,      
			           	Record_Mod_Date = <cfqueryparam VALUE="#Now()#"  cfsqltype="cf_sql_timestamp">,
			           	Record_Mod_By = <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
			           WHERE Assmt_ID = <cfqueryparam VALUE="#getass.Assmt_ID#"  cfsqltype="cf_sql_integer">
			           AND AutoAssmt_ID = <cfqueryparam VALUE="#getass.AutoAssmt_ID#"  cfsqltype="cf_sql_integer">
			        </cfquery>

			        <!--- Start Insertion of Diagnosis pProblem---> 
			        <cfquery  name="getass" datasource="#Application.DataSrc#">
				       SELECT * FROM #Request.prefix_db_agency#.pAssessments
				       WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
				       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			    	</cfquery> 

			    	<cfif getass.F26 EQ  'H&P Review'>
			    		<cfinclude template ="/patientadmin_new/patient/Assmt_Update.cfm" />
				</cfif>
			    <cfif  FindNoCase("1",assessment_reason) EQ 1 OR FindNoCase("4",assessment_reason) EQ 1 OR FindNoCase("3",assessment_reason) EQ 1 OR FindNoCase("PT",assessment_reason) EQ 1 OR FindNoCase("OT",assessment_reason) EQ 1>
   					<cfinclude template ="/patientadmin_new/patient/Assmt_Therapy_Update1.cfm" />
   				</cfif>
   					

	     			<cfquery  name="getass" datasource="#Application.DataSrc#">
				       SELECT * FROM #Request.prefix_db_agency#.pAssessments
				       WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
				       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
			   	</cfquery> 
			   	<cfinclude template ="/patientadmin_new/patient/QA_diagnosis.cfm" /> 

			    	<cfif LEFT(getass.F26,1) EQ  '1' OR  LEFT(getass.F26,1) EQ  '3'  OR LEFT(getass.F26,1) EQ  '4' 
					 OR getass.F26 contains 'Adult' 
					   OR getass.F26 EQ 'Hospice admission' 
					   OR getass.F26 EQ 'Palliative'
					   OR getass.F26 EQ 'MSW Evaluation'
					    OR getass.F26 contains 'Pediatric'>
	     				<cfinclude template="/patientadmin_new/patient/symp_insertion.cfm" /> 
	     				
	     			</cfif>	

	     			<cfif LEFT(getass.F26,1) EQ  '1' OR  LEFT(getass.F26,1) EQ  '3'  OR LEFT(getass.F26,1) EQ  '4' OR getass.F26 EQ 'SN Adult Evaluation' OR getass.F26 EQ 'Hospice admission' OR getass.F26 EQ 'MSW Evaluation' OR getass.F26 EQ 'PT Adult Evaluation' OR getass.F26 EQ 'OT Adult Evaluation' OR  getass.F26 contains 'Pediatric'>
	     				<cfinclude template="/patientadmin_new/patient/woundvitalinsert.cfm" /> 
	     				
	     			</cfif>	


	     			<cfif LEFT(getass.F26,1) EQ  '9'>
	     				<cfinclude template="/patientadmin_new/patient/discharge_woundinsert.cfm" /> 	     				
	     			</cfif>	

	     			<cfinclude template="/patientadmin_new/patient/autovital_insert.cfm" />

	     			

			 	<!--- End Insertion of Diagnosis --->

		     		 <cfquery  name="getassess" datasource="#Application.DataSrc#">
				     SELECT  *  FROM  #Request.prefix_db_agency#.pAssessments
				    WHERE Assmt_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#Assmt_ID#">
				    AND Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Patient_ID#">
				    AND status = 0
				</cfquery>
				<cfset assessment_reason = #getassess.F26# />
			        <cfquery  name="getOT_PT" datasource="#Application.DataSrc#">
				    SELECT  *  FROM  #Request.prefix_db_agency#.pAssessments
				    WHERE Admit_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#getassess.Admit_ID#">
				    AND status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
				    AND (F26 = 'OT Adult Evaluation' OR F26 = 'PT Adult Evaluation')
				    AND F25  = '1'
				    AND status = 0
				</cfquery>
				 <!---<cfif CGI.REMOTE_ADDR EQ '121.200.49.65'>
				 <cfdump var="#assessment_reason#">
				   <cfabort>
				</cfif> --->

				<!--- <cfif assessment_reason EQ 'PT Adult Evaluation' OR assessment_reason EQ 'OT Adult Evaluation' OR getOT_PT.Recordcount EQ 2 >
					<cfquery  name="getass" datasource="#Application.DataSrc#">
						       SELECT * FROM #Request.prefix_db_agency#.pAssessments
						       WHERE Assmt_ID = <cfqueryparam value = "#arguments.assid#" CFSQLType ="cf_sql_integer">
						       AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
					</cfquery>
				 	<cfinclude template = "/patientadmin_new/patient/OASIS_rules.cfm">
				</cfif>--->
				
				<cfif LEFT(assessment_reason,1) EQ "1" OR LEFT(assessment_reason,1) EQ "4" >
					<cfinclude template = "/patientadmin_new/patient/VBP_Update.cfm">
				</cfif>

				<cfif assessment_reason EQ "1 - Start of care - further visits planned - Physical Therapy" >
					<cfquery name="update_SOCOASIS" datasource="#Application.DataSrc#">
						UPDATE #Request.prefix_db_agency#.pAssessments  SET
							<cfif Left(getass.F80,1) LTE 4>
								 F101 = '09. Not applicable',
								 F102 = '09. Not applicable',
								 F103 = '09. Not applicable',
								 F104 = '09. Not applicable',
								 F105 = '09. Not applicable',
								 F106 = '09. Not applicable',
							</cfif>
							<cfif Left(getass.F81,1) LT 4>
								F131 = '0. No Skip to M1600',
							<cfelse>
								F131 = '1. Yes Continue to GG0170R, Wheel 50 feet with two turns',
							</cfif>
							Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">  
						WHERE Assmt_ID = '#arguments.assid#' AND status = 0
					</cfquery>
				</cfif>

				
                  		


				<cfif Left(getassess.F26,1) EQ '1' OR Left(getassess.F26,1) EQ '3'  OR Left(getassess.F26,1) EQ '4'>  
					<cfinclude template ="/patientadmin_new/patient/Generatehipps.cfm" />
				</cfif>

		</cfif>
	<!--- END  HIPPS code  --->
	<cfset url.assid  = encrypt(#arguments.assid#,#application.enckey#,"AES","Hex") />   
	 <cfset redirect_url = url.assid />
      <cfset response_key={"statusCode"= 200,"statusText"= 'success',"data"= '#url.assid#' } />
	<cfreturn  response_key >
   </cffunction>

    <cffunction name="insert_diagnosis"  access="remote" output="Yes"  returnformat="plain" returntype="string">   
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="Skill" required="yes" default="0">
		<cfargument name="Type" required="yes" default="0">
		<cfargument name="DiagnosisID" required="yes" default="0">
		<cfargument name="M0230Primary" required="yes" default="0">
		<cfargument name="M0230Secondary" required="yes" default="0">
		<cfargument name="M0230Severity" required="no" default="0">
		<cfargument name="M0230Onset" required="no" default="0">
		<cfargument name="Coding_Status" required="no" default="">
		<cfargument name="Notes" required="no" default="">
		<cfargument name="careplan" required="no" default="1">

		<cfset AutoProblem_IDs = "" />
		<cfset insert_action = '' />
		<cfset dig_description = '' />
		<cfquery  name="getprimarydiag" datasource="#Application.DataSrc#">
		   SELECT pProblem.*   FROM #Request.prefix_db_agency#.pProblem
		   WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
		   AND status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
		   AND M0_No like 'M1021%'
		</cfquery>
		<cfif getprimarydiag.recordcount gt 0 AND arguments.M0230Primary eq 1>
			<cfset insert_action = 'M1021DUP' />	
		</cfif>
		<cfquery  name="getAssessment" datasource="#Application.DataSrc#">
			SELECT  *  FROM #Request.prefix_db_agency#.pAssessments
			WHERE Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
			AND Status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
		</cfquery>

	   	<cfif arguments.Assmt_ID  neq 0 AND  arguments.DiagnosisID  neq 0 AND insert_action EQ ''>
      	 		<cfquery  name="getprobs" datasource="#Application.DataSrc#">
				SELECT pProblem.*,IFNULL(MAX(pProblem.dx_order),0)+1 AS dxordernumber FROM #Request.prefix_db_agency#.pProblem 
				WHERE pProblem.Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
				<!--- AND pProblem.Skill = <cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar"> --->
				AND pProblem.status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
				AND (M0_No like 'M1021%' OR M0_No like 'M1023%')
				ORDER BY RIGHT(M0_No, 1) ASC
			</cfquery>


			 
			<cfif getAssessment.F26 EQ '1 - Start of care - further visits planned - Physical Therapy'>
				<cfset arguments.Skill =  'PT' />
			<cfelseif getAssessment.F26 EQ '1 - Start of care - further visits planned - Occupational Therapy'>
				<cfset arguments.Skill =  'OT' />
			</cfif>


			<cfset ordernumbers = 1 />
			<cfset dxorder = 1 />
			<cfif getprobs.recordcount gt 0>
				<cfset lastrow = QueryGetRow(getprobs, getprobs.recordcount) />
				<cfset ordernumber = ListToArray(lastrow.M0_No,'~')>
				<cfif arrayIsDefined(ordernumber, 2) >
				 	<cfset ordernumbers = #IncrementValue(ordernumber[2])# />	
				</cfif>
				<cfset dxorder = #getprobs.dxordernumber# />
			</cfif>


		       <cfif arguments.M0230Primary eq 1 >
		       		<cfset M0_No = 'M1021' />
		       <cfelse>
		           	<cfset var.Unique = 0 />
		         	<cfloop list="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z" index="item">
					   <cfset M0_No = 'M1023'& item />
						<cfquery name="ChkNum" dbtype="query">
								SELECT * FROM getprobs WHERE  M0_No like <cfqueryparam value="#M0_No#%"  cfsqltype="cf_sql_varchar">
							</cfquery>
							<cfif ChkNum.recordcount EQ 0>
								 <cfbreak>
							</cfif>
					</cfloop>
		       </cfif>
	       		<cfset M0_No = M0_No &'~'&ordernumbers />
			<cfquery name="getdiag" datasource="#Application.DataSrc#">
				SELECT vt.id  as id,vt.Diagnosis,vt.ICD as ICD,'ICD' as Code_Type,cw.Default as Pathway_Type,IFNULL(vt.Pathway,0) AS Pathwaysid,vt.Diagnosis_Short as Short_Diagnosis, vt.Comorbid as Other_DG,vt.PDGM,vt.Comorbid
               		 FROM  #Request.prefix_db_lookup#.vetted_190924 as vt 
				LEFT OUTER JOIN #Request.prefix_db_lookup#.CW_Coding_Class_PDGM  as cw ON  vt.Priority = cw.Priority
				WHERE  vt.ID = <cfqueryparam value="#arguments.DiagnosisID#" cfsqltype="CF_SQL_INTEGER">
			</cfquery>
			<cfset dig_description = #getdiag.Diagnosis# />
			<cfset pathway_id = #getdiag.Pathwaysid# />
			<cfquery  name="getprob" datasource="#Application.DataSrc#">
				SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
				WHERE pProblem.Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
				<!--- AND pProblem.Skill = <cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar"> --->
				AND pProblem.Description = <cfqueryparam value="#dig_description#"  cfsqltype="cf_sql_varchar">
			</cfquery>

			<cfquery  name="Updateproblems" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.pProblem 
				SET status = <cfqueryparam value="2"  cfsqltype="CF_SQL_INTEGER">,
				Change_by =  <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">
				WHERE Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
				AND M0_No =  <cfqueryparam value="OASIS"  cfsqltype="cf_sql_varchar">
				AND Path_ID = <cfqueryparam value="#pathway_id#"  cfsqltype="CF_SQL_INTEGER"> 
				AND Status != 2 
			</cfquery>

			<cfset Careplan = 0 >
			<cfif LEFT(arguments.M0230Severity,1)  GTE '2'>
				<cfset Careplan = 1 >
			</cfif>
			<cfif Left(getdiag.ICD,1) EQ 'Z'>
				<cfset  Careplan = 0 />
			</cfif>

			<cfif getprob.recordcount gt 0>
				<cfquery name="getstatus" dbtype="query">
						 SELECT * FROM getprob WHERE Status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
			    	</cfquery>
			    	<cfif getstatus.recordcount gt 0>
					<cfset insert_action="M0230DUP" />	
				<cfelse>
					<cfset pProblem_ID =  #getprob.Problem_ID# />
					<cfset AutoProblem_ID = #getprob.AutoProblem_ID# />
					<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
						INSERT INTO #Request.prefix_db_agency#.pProblem
						  (
							 Problem_ID, Assmt_ID, Status, Path_ID,Skill, M0_No, Description, Answer, Severity, dx_order,Coding_Status,Careplan,Notes, Date_Create, Created_by, Date_Change, Change_by
						  ) 
						  VALUES
						  (							
							<cfqueryparam value = "#pProblem_ID#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "#pathway_id#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#M0_No#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#dig_description#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#arguments.M0230Severity#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#Left(arguments.M0230Severity,1)#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#dxorder#"  cfsqltype="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Coding_Status#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value = "#Careplan#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Notes#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
						  )
					 </cfquery>
					<cfset insert_action= "M0230Added" />
				</cfif>
			<cfelse>
				<cfquery  name="getpro" datasource="#Application.DataSrc#">
					SELECT IFNULL(MAX(Problem_ID),0)+1 As pProblem_ID FROM #Request.prefix_db_agency#.pProblem 
				</cfquery>
				<cfset pProblem_ID =  #getpro.pProblem_ID# />
			      	<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pProblem
							(
								 Problem_ID, Assmt_ID, Status, Path_ID,Skill, M0_No, Description, Answer, Severity,dx_order,Coding_Status, Careplan, Notes, Date_Create, Created_by, Date_Change, Change_by
							) 
							VALUES
							(							
								<cfqueryparam value = "#pProblem_ID#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value = "#pathway_id#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#M0_No#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#dig_description#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#arguments.M0230Severity#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#Left(arguments.M0230Severity,1)#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#dxorder#"  cfsqltype="CF_SQL_INTEGER">,
								<cfqueryparam value="#arguments.Coding_Status#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value = "#Careplan#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value="#arguments.Notes#"  cfsqltype="cf_sql_varchar">,
								<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
								<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
								<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
								<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
							)
				</cfquery>
				<cfset insert_action= "M0230Added" />
			</cfif>
		<cfelseif insert_action EQ ''>
			<cfset insert_action="M0230NOTAdded" />		
		</cfif>
		<cfif insert_action EQ 'M0230Added'>
			<cfif left(getAssessment.F26,1) EQ '3'>
				<cfquery  name="getmost_recentoasis" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pAssessments 
					WHERE Admit_ID = <cfqueryparam value="#getAssessment.Admit_ID#"  cfsqltype="CF_SQL_INTEGER">
					AND Status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
					AND (LEFT(F26,1) IN ('1','4') OR  F26 like 'Hospice admission')
					AND F177 <= #now()#
					ORDER BY F177 DESC  
				</cfquery>
				<cfset soc_rec_id = #getmost_recentoasis.Assmt_ID#>
				<cfif getmost_recentoasis.recordcount gt 0> 
					<cfquery  name="getprobs" datasource="#Application.DataSrc#">
						SELECT pProblem.*,IFNULL(MAX(pProblem.dx_order),0)+1 AS dxordernumber FROM #Request.prefix_db_agency#.pProblem 
						WHERE pProblem.Assmt_ID = <cfqueryparam value="#soc_rec_id#"  cfsqltype="CF_SQL_INTEGER">
						AND pProblem.status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
						AND (M0_No like 'M1021%' OR M0_No like 'M1023%')
						ORDER BY RIGHT(M0_No, 1) ASC
					</cfquery>
					<cfquery  name="getprob" datasource="#Application.DataSrc#">
						SELECT * FROM #Request.prefix_db_agency#.pProblem 
						WHERE pProblem.Assmt_ID = <cfqueryparam value="#soc_rec_id#"  cfsqltype="CF_SQL_INTEGER">
						AND pProblem.Description = <cfqueryparam value="#dig_description#"  cfsqltype="cf_sql_varchar">
					</cfquery>
					<cfif getprob.recordcount EQ 0>
						<cfset ordernumbers = 1 />
						<cfset dxorder = 1 />
						<cfif getprobs.recordcount gt 0>
							<cfset lastrow = QueryGetRow(getprobs, getprobs.recordcount) />
							<cfset ordernumber = ListToArray(lastrow.M0_No,'~')>
							<cfif arrayIsDefined(ordernumber, 2) >
							 	<cfset ordernumbers = #IncrementValue(ordernumber[2])# />	
							</cfif>
							<cfset dxorder = #getprobs.dxordernumber# />
						</cfif>
						<cfquery  name="getpro" datasource="#Application.DataSrc#">
							SELECT IFNULL(MAX(Problem_ID),0)+1 As pProblem_ID FROM #Request.prefix_db_agency#.pProblem 
						</cfquery>
						<cfset pProblem_ID =  #getpro.pProblem_ID# />
					      	<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pProblem
							(
							 Problem_ID, Assmt_ID, Status, Path_ID,Skill, M0_No, Description, Answer, Severity,dx_order,Coding_Status, Careplan, Notes, Date_Create, Created_by, Date_Change, Change_by
							) 
							VALUES
							(							
							<cfqueryparam value = "#pProblem_ID#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "#soc_rec_id#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value = "#pathway_id#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#M0_No#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#dig_description#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#arguments.M0230Severity#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#Left(arguments.M0230Severity,1)#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#dxorder#"  cfsqltype="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Coding_Status#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value = "#Careplan#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#arguments.Notes#"  cfsqltype="cf_sql_varchar">,
							<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
							<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
							)
						</cfquery>
					</cfif>
					<cfquery name="update_pAssessments" datasource="#Application.DataSrc#"  result="result">
					       UPDATE #Request.prefix_db_agency#.pAssessments SET 
					       F320 = 0, 
					       <!--- Orphan_Field = 0,--->
					       Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
					       Record_Mod_By = <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
					       WHERE Assmt_ID = <cfqueryparam VALUE="#soc_rec_id#"  cfsqltype="cf_sql_integer">
					       ANd Status = 0
					</cfquery>					   
				</cfif>
			</cfif>
			 <cfquery name="update_pAssessments" datasource="#Application.DataSrc#"  result="result">
			       UPDATE #Request.prefix_db_agency#.pAssessments SET 
			       F320   = 0, 
			      <!--- Orphan_Field   =0,   --->   
			       Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
			       Record_Mod_By = <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
			       WHERE Assmt_ID = <cfqueryparam VALUE="#arguments.Assmt_ID#"  cfsqltype="cf_sql_integer">
			       ANd Status = 0
			</cfquery>
			<!--- Get the latest assessment ID for this patient --->
			<cfquery  name="getLatestAssmt" datasource="#Application.DataSrc#">
				SELECT Assmt_ID
				FROM #Request.prefix_db_agency#.pAssessments
				WHERE Patient_ID = <cfqueryparam value="#getAssessment.Patient_ID#" cfsqltype="cf_sql_integer">
				AND Status = <cfqueryparam value="0" cfsqltype="cf_sql_varchar">
				ORDER BY Assmt_ID DESC
				LIMIT 1
			</cfquery>
			<!--- Check if pCareplan records exist for the latest assessment before updating Med_Approve and Med_Recon_Field --->
			<cfif getLatestAssmt.recordcount GT 0>
				<cfquery  name="check_pCareplan" datasource="#Application.DataSrc#">
					SELECT COUNT(*) AS careplan_count
					FROM #Request.prefix_db_agency#.pCareplan
					WHERE Assmt_ID = <cfqueryparam value="#getLatestAssmt.Assmt_ID#" cfsqltype="cf_sql_integer">
					AND Status = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
				</cfquery>
			<cfelse>
				<cfset check_pCareplan = QueryNew("careplan_count") />
				<cfset QueryAddRow(check_pCareplan) />
				<cfset QuerySetCell(check_pCareplan, "careplan_count", 0) />
			</cfif>
			<!--- Only update Med_Approve and Med_Recon_Field if no pCareplan records exist for the latest assessment --->
			<cfif check_pCareplan.careplan_count EQ 0>
				<cfquery  name="update_patients_medsapprove" datasource="#Application.DataSrc#">
					UPDATE  #Request.prefix_db_agency#.pPatients
					SET Med_Approve = 0,
					Med_Recon_Field   = 0
					WHERE  Status IN (0,1,4)
					AND Patient_ID =  '#getAssessment.Patient_ID#'
				</cfquery>
			</cfif>
			<cfquery  name="getprob" datasource="#Application.DataSrc#">
				SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
				WHERE pProblem.Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
				AND Skill = <cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">
				AND Status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
				ORDER BY RIGHT(M0_No, 1) ASC
			</cfquery>
			<cfset insert_action = ValueList(getprob.Path_ID,"~") />
		</cfif>
		<cfreturn insert_action />						
	</cffunction>


	<cffunction name="delete_diagnosis"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Assmt_ID" required="yes" default="0">
		 <cfargument name="AutoProblem_ID" required="yes" default="0">
		 <cfargument name="Skill" required="no" default="0">
		 <cfargument name="status" required="no" default="1">
		
		<cfif arguments.Assmt_ID neq 0 >
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pProblem
			    	SET status 		= <cfqueryparam value = "#arguments.status#" CFSQLType ="CF_SQL_INTEGER">,
					Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
					WHERE Assmt_ID =  <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">
				 	AND AutoProblem_ID IN  (<cfqueryparam CFSQLType="CF_SQL_INTEGER" 
	                              value="#arguments.AutoProblem_ID#" 
	                              list="yes" >) 
			</cfquery>
		</cfif>
		<cfquery  name="getprob" datasource="#Application.DataSrc#">
				SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
				WHERE pProblem.Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
				AND Skill = <cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">
				AND Status = <cfqueryparam value="0"  cfsqltype="cf_sql_varchar">
				ORDER BY RIGHT(M0_No, 1) ASC
		</cfquery>
		<cfset insert_action = ValueList(getprob.Path_ID,"~") />
		<cfif getprob.recordcount gt 0>
        <cfreturn insert_action />
        <cfelse>
        <cfreturn '0' />
        </cfif>
	</cffunction>	


	<cffunction name="update_diagnosis"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoProblem_ID" required="yes" default="0">
		 <cfargument name="Answer" required="yes" default="0">
		 <cfargument name="Dx_Order" required="yes" default="0">
		 <cfargument name="Skill" required="no" default="SN">
		 <cfargument name="Careplan" required="no" default="0">
		 <cfargument name="Coding_Status" required="no" default="">
		 <cfargument name="hospice" required="no" default="0">
		
		<cfquery  name="getproblem" datasource="#Application.DataSrc#">
			SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
			WHERE pProblem.AutoProblem_ID = <cfqueryparam value="#arguments.AutoProblem_ID#"  cfsqltype="CF_SQL_INTEGER">
		</cfquery>


		<cfif getproblem.recordcount gt 0>
			<cfset ordernumber = ListToArray(getproblem.M0_No,'~')>
			<cfif arrayIsDefined(ordernumber, 1)>
				<cfset M0_No = #ordernumber[1]# />
			<cfelse>
				<cfset M0_No = #getproblem.M0_No# />
			</cfif>	
			<cfset M0_No = M0_No & '~' & arguments.Dx_Order />		
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pProblem
			    	SET status = <cfqueryparam value="3"  cfsqltype="CF_SQL_INTEGER">,
			 	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Problem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"   value="#getproblem.Problem_ID#"  >
			</cfquery>

			<cfquery  name="getzdiag" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_lookup#.vetted_190924 
				WHERE Diagnosis = <cfqueryparam value="#getproblem.Description#"  cfsqltype="CF_SQL_VARCHAR">
			</cfquery>
			<cfif Left(getzdiag.ICD,1) EQ 'Z'>
				<!--- <cfset  arguments.Careplan = 0 /> --->
			</cfif>

		   	<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.pProblem
				(
					  Problem_ID, Assmt_ID, Status, Careplan, Path_ID, Item_ID,CMSOrder_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders, Resolved_Date,<cfif arguments.Skill EQ 'other'>Assign,</cfif> hospice, Notes, Date_Create, Created_by, Date_Change, Change_by
				) 

				 SELECT  Problem_ID, Assmt_ID, 0 , '#arguments.Careplan#', Path_ID, Item_ID, CMSOrder_ID,'#arguments.Skill#', ques_id, '#M0_No#', Description, '#arguments.Answer#', '#Left(arguments.Answer,1)#', <cfqueryparam value="#Val(arguments.Dx_Order)#" cfsqltype="CF_SQL_INTEGER">, <cfif arguments.Coding_Status NEQ '' > <cfqueryparam value="#arguments.Coding_Status#" cfsqltype="CF_SQL_VARCHAR"> 
				 <cfelse>Coding_Status </cfif>, Specific_Orders, Resolved_Date, <cfif arguments.Skill EQ 'other'>Assign ,</cfif> '#arguments.hospice#', Notes,#now()# , #session.employeeid#  , #now()#, #session.employeeid#  
				 FROM #Request.prefix_db_agency#.pProblem
				  WHERE AutoProblem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoProblem_ID#">

			</cfquery>
			<cfquery datasource="#Application.DataSrc#" name="Lastinsert">
				SELECT MAX(AutoProblem_ID) as LastInsertID FROM #Request.prefix_db_agency#.pProblem
			</cfquery>
			<cfset autprob_id = #Lastinsert.LastInsertID# />
			<cfreturn autprob_id />
	      <cfelse>
	        	<cfreturn 'Failure' />
	      </cfif>
	</cffunction>	

	<cffunction name="update_assignee"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoProblem_ID" required="yes" default="0">
		 <cfargument name="Assign" required="yes" default="0">
		 <cfargument name="Notes" required="no" default="">

		 	<cfquery  name="getproblem" datasource="#Application.DataSrc#">
				SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
				WHERE pProblem.AutoProblem_ID = <cfqueryparam value="#arguments.AutoProblem_ID#"  cfsqltype="CF_SQL_INTEGER">
			</cfquery>
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pProblem
			    	SET status = <cfqueryparam value="3"  cfsqltype="CF_SQL_INTEGER">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE AutoProblem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoProblem_ID#">
			</cfquery>
			
			<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.pProblem
				(
					  Problem_ID, Assmt_ID, Status, Careplan, Path_ID, Item_ID,CMSOrder_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders, <cfif getproblem.Resolved_Date NEQ ''> Resolved_Date, </cfif> Assign, Notes, Date_Create, Created_by, Date_Change, Change_by
				) 
				 SELECT  Problem_ID, Assmt_ID, 0 , Careplan, Path_ID, Item_ID,CMSOrder_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders, <cfif getproblem.Resolved_Date NEQ ''> Resolved_Date, </cfif> '#arguments.Assign#' , '#arguments.Notes# ',#now()# , #session.employeeid#  , #now()#, #session.employeeid#  
				 FROM #Request.prefix_db_agency#.pProblem
				  WHERE AutoProblem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoProblem_ID#">
			</cfquery>			
			<cfreturn 'Success' />
	      
	</cffunction>	

	<cffunction name="update_diagnosis_description"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoProblem_ID" required="yes" default="0">
		 <cfargument name="Assmt_ID" required="yes" default="0">
		 <cfargument name="New_Description" required="yes" default="">
		
		<cfif arguments.AutoProblem_ID EQ 0 OR arguments.Assmt_ID EQ 0>
			<cfreturn 'Failure' />
		</cfif>

		<cfquery  name="getproblem" datasource="#Application.DataSrc#">
			SELECT pProblem.* FROM #Request.prefix_db_agency#.pProblem 
			WHERE pProblem.AutoProblem_ID = <cfqueryparam value="#arguments.AutoProblem_ID#"  cfsqltype="CF_SQL_INTEGER">
			AND pProblem.Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
		</cfquery>

		<cfif getproblem.recordcount gt 0>
			<!--- Look up Pathway from vetted_190924 table based on new diagnosis description --->
			<cfset new_path_id = getproblem.Path_ID>
			<cfquery name="getvetted_pathway" datasource="#Application.DataSrc#">
				SELECT IFNULL(Pathway, 0) AS Pathway_ID
				FROM #Request.prefix_db_lookup#.vetted_190924
				WHERE Diagnosis = <cfqueryparam value="#Trim(arguments.New_Description)#" cfsqltype="cf_sql_varchar">
				LIMIT 1
			</cfquery>
			<cfif getvetted_pathway.recordcount GT 0 AND getvetted_pathway.Pathway_ID GT 0>
				<cfset new_path_id = getvetted_pathway.Pathway_ID>
			</cfif>
			
			<!--- Mark old record as inactive --->
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pProblem
			    	SET status = <cfqueryparam value="3"  cfsqltype="CF_SQL_INTEGER">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE AutoProblem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoProblem_ID#">
			</cfquery>
			
			<!--- Insert new record with updated description and Path_ID from vetted_190924 --->
			<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.pProblem
				(
					  Problem_ID, Assmt_ID, Status, Careplan, Path_ID, Item_ID, CMSOrder_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders, <cfif getproblem.Resolved_Date NEQ ''> Resolved_Date, </cfif> <cfif getproblem.Assign NEQ ''> Assign, </cfif> hospice, Notes, Date_Create, Created_by, Date_Change, Change_by
				) 
				 SELECT  Problem_ID, Assmt_ID, 0, Careplan, <cfqueryparam value="#new_path_id#" cfsqltype="cf_sql_integer">, Item_ID, CMSOrder_ID, Skill, ques_id, M0_No, <cfqueryparam value="#Trim(arguments.New_Description)#" cfsqltype="cf_sql_varchar">, Answer, Severity, dx_order, Coding_Status, Specific_Orders, <cfif getproblem.Resolved_Date NEQ ''> Resolved_Date, </cfif> <cfif getproblem.Assign NEQ ''> Assign, </cfif> hospice, Notes, #now()# , #session.employeeid#  , #now()#, #session.employeeid#  
				 FROM #Request.prefix_db_agency#.pProblem
				  WHERE AutoProblem_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoProblem_ID#">
			</cfquery>			
			<cfreturn 'Success' />
	      <cfelse>
	        	<cfreturn 'Failure' />
	      </cfif>
	</cffunction>	




	<cffunction name="show_Diagnosis_edit"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="AutoProblem_ID" required="yes">
		<cfargument name="Assmt_ID" required="yes">
		<cfargument name="diagnosis" required="no" default= '1'>

			<cfif arguments.AutoProblem_ID  neq 0>
				<cfquery name="Diagnosis_list" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pProblem 
					WHERE AutoProblem_ID = <cfqueryparam value = "#arguments.AutoProblem_ID#" CFSQLType ="CF_SQL_INTEGER">	
					AND Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">	
				</cfquery>					
				<cfsavecontent	variable = "html_diagnosis_list"> 			
					<cfoutput>
						<form name="EditDiagnosis_form" id="EditDiagnosis_form_id" action="" method="post">						
							<input type="hidden" name="AutoProblem_ID#arguments.Assmt_ID#" id="AutoProblem_ID#arguments.Assmt_ID#"  value="#arguments.AutoProblem_ID#"/>			
							<input type="hidden" name="Assmt_ID" id="Assmt_ID"  value="#arguments.Assmt_ID#"/>						
							
								<div class="row">
									<div class="col-md-3">
										<div class="form-group">
											<div class="label-stable">
												<label>Actively managing this condition?</label>
											</div>
										</div>
									</div>
									<div class="col-md-9">
										<div class="form-group">
										  <cfif arguments.diagnosis EQ 1>
												<div class="radio-list">
													<label style="display:unset;"><input type="radio" id="Assign1" name="Assign" <cfif Diagnosis_list.Assign eq 'referring physician'> checked </cfif> value="referring physician"> referring physician</label>
													<label style="display:unset;"><input type="radio" id="Assign2" name="Assign" <cfif Diagnosis_list.Assign eq 'certifying physician'> checked </cfif> value="certifying physician"> certifying physician</label>
													<label style="display:unset;"><input type="radio" id="Assign3" name="Assign" <cfif Diagnosis_list.Assign eq 'other'> checked </cfif> value="other"> other > please note below</label>
												</div>
											<cfelse>
														<div class="radio-list">
													<label style="display:unset;"><input type="radio" id="Assign1" name="Assign" <cfif Diagnosis_list.Assign eq 'assisted living'> checked </cfif> value="assisted living"> assisted living</label>
													<label style="display:unset;"><input type="radio" id="Assign2" name="Assign" <cfif Diagnosis_list.Assign eq 'other paid caregiver'> checked </cfif> value="other paid caregiver"> other paid caregiver</label>
													<label style="display:unset;"><input type="radio" id="Assign3" name="Assign" <cfif Diagnosis_list.Assign eq 'emergency contact'> checked </cfif> value="emergency contact"> emergency contact</label>
													<label style="display:unset;"><input type="radio" id="Assign4" name="Assign" <cfif Diagnosis_list.Assign eq 'other contact'> checked </cfif> value="other contact"> other contact</label>
													<label style="display:unset;"><input type="radio" id="Assign5" name="Assign" <cfif Diagnosis_list.Assign eq 'other'> checked </cfif> value="other"> other > please note below</label>
												</div>
											</cfif>
										</div>
									</div>			
								</div>	
								<div class="row">
								<div class="col-md-3">							
									<div class="form-group">
										<label class="control-label" style="text-align:center;margin-top: 13px;">Notes:</label>			
									</div>	
								</div>
								<div class="col-md-9">
									<div class="form-group">
										<textarea name="Notes" id="Notes#arguments.Assmt_ID#" type="text" value="" style="width: 100%;" class="form-control">#Diagnosis_list.Notes#</textarea>										
									</div>						
								</div>				
							</div>					
						</form>		
					</cfoutput>	
				</cfsavecontent>	
				<cfreturn html_diagnosis_list />	
			</cfif>	
	</cffunction>


	<cffunction name="show_admitsvcs_edit"  access="remote" output="Yes" returnFormat= "JSON" >   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="AutoAdmitSvcs_ID" required="yes">
		<cfargument name="Admit_ID" required="yes">

			<cfquery name="getadmitsvscs" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pAdmit_Svcs 
				WHERE AutoAdmitSvcs_ID = <cfqueryparam value = "#arguments.AutoAdmitSvcs_ID#" CFSQLType ="CF_SQL_INTEGER">	
				AND Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">	
			</cfquery>					
			<cfset label_name = '' >
			 <cfset responsekey=[] />
			 <cfoutput query="getadmitsvscs">
				 <cfset obj={"AutoAdmitSvcs_ID"=#AutoAdmitSvcs_ID# ,"Admit_ID" = #Admit_ID#,
				 "Skill" = #Skill#,"Start_Date" = #DateFormat(Start_Date,'mm/dd/yyyy')#, "Physician_order" = #Physician_order#, "Notes" = #Notes#, "Admitted" = #Admitted# }  />
                  <cfset arrayAppend(responsekey, obj) />
			 </cfoutput>
			 <cfset response={"admitsvcs"= #responsekey#} />
			 <cfreturn response />

	</cffunction>


	<cffunction name="addCustomProc" access="remote" output="Yes" returnformat="JSON">       
                <cfargument name="description" required="yes" default="0">
                <cfargument name="Type" required="no" default="procedure">
                <cfargument name="patient_id" required="yes" default="0">

               <cfquery name="getpathways" datasource="#Application.DataSrc#">
                     SELECT pPathwayReview.*, ID AS Next_ItemID,Order_ID AS Next_orderID,Pathway_ID AS Next_pathwayID 
                     FROM  #Request.prefix_db_lookup#.pPathwayReview
                     WHERE Type =  <cfqueryparam value="#arguments.Type#"  cfsqltype="CF_SQL_VARCHAR"> 
                     AND Description = <cfqueryparam value="#arguments.description#"  cfsqltype="CF_SQL_VARCHAR"> 
                     ORDER BY Type_Order,Next_orderID ASC
               </cfquery>
                   <cfif getpathways.recordcount EQ 0 >
                        <cfquery name="getpathways" datasource="#Application.DataSrc#">
                           SELECT pPathwayReview.*, Max(ID) AS Next_ItemID,Max(Order_ID )  AS Next_orderID,Max(Pathway_ID )  AS Next_pathwayID
                            FROM  #Request.prefix_db_lookup#.pPathwayReview
                        </cfquery>
                        <cfset incrementdata =  1 /> 
                        <cfset Item_ID     = #getpathways.Next_ItemID# + incrementdata />                          
                         <cfset Order_ID    = #getpathways.Next_orderID# + incrementdata  />
                         <cfset pathway_ID  = #getpathways.Next_pathwayID# + incrementdata  />         
                         <cfset Display = #arguments.Type# />                                      
                   <cfelse>
                        <cfset Item_ID = #getpathways.Next_ItemID# />
                        <cfset Order_ID = #getpathways.Next_orderID# />
                        <cfset pathway_ID = #getpathways.Next_pathwayID# />
                        <cfset Display = #getpathways.Display# />
                   </cfif>
                   <cfquery  name="pPathway_insert" datasource="#Application.DataSrc#">
                                 INSERT INTO #Request.prefix_db_lookup#.pPathwayReview
                                 (
                                      Pathway_ID, Type_Order, Item_ID, Order_ID, Type, Description, Agency_ID, Patient_ID, Emp_ID, Date_Created
                                 )

                                 VALUES
                                 (           
                                    <cfqueryparam value = "#pathway_ID#" CFSQLType ="CF_SQL_INTEGER">,                                                                                
                                    <cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">,
                                   <cfqueryparam value = "#Item_ID#" CFSQLType ="CF_SQL_INTEGER">,
                                   <cfqueryparam value = "#Order_ID#" CFSQLType ="CF_SQL_INTEGER">,
                                   <cfqueryparam value="#arguments.Type#"  cfsqltype="CF_SQL_VARCHAR">,
                                   <cfqueryparam value="#arguments.description#"  cfsqltype="CF_SQL_VARCHAR">,
                                   <cfqueryparam value = "#session.agencyid#" CFSQLType ="CF_SQL_INTEGER">,
                                   <cfqueryparam value = "#arguments.patient_id#" CFSQLType ="CF_SQL_INTEGER">,            
                                   <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
                                   <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">                          
                                 )

                   </cfquery>
                   <cfreturn true/>

        </cffunction>

	<cffunction name="update_admitsvcs"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoAdmitSvcs_ID" required="yes" default="0">
		 <cfargument name="Admit_ID" required="yes" default="0">
		 <cfargument name="Skill" required="no" default="">
		 <cfargument name="Start_Date" required="no" default="">
		 <cfargument name="Physician_order" required="no" default="">
		 <cfargument name="Notes" required="no" default="">
		 <cfargument name="Admitted" required="no" default="">
		 <cfargument name="procedures" required="no" default="">
 
			<cfif arguments.AutoAdmitSvcs_ID EQ '0'>
				<cfquery  name="pAdmit_Svcs_insert" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pAdmit_Svcs
					(
						   Admit_ID,Patient_ID, Status, Skill,
						    <cfif arguments.Start_Date NEQ ''>Start_Date,</cfif>
						     Physician_order, Notes, Admitted, Date_Create, Created_by, Date_Change, Change_by
					) 
					VALUES
					(
						'#arguments.Admit_ID#' ,'#session.cs.patientid#',0, '#arguments.Skill#',
						<cfif arguments.Start_Date NEQ ''>'#DateFormat(arguments.Start_Date,"yyyy-mm-dd")#',</cfif>
						'#arguments.Physician_order#','#arguments.Notes#','#arguments.Admitted#', #now()# , #session.employeeid#  , #now()#, #session.employeeid# 
					)
					        				
				</cfquery>
				<cfquery datasource="#Application.DataSrc#" name="Last_SVCS_ID">
				      <cfsetting requesttimeout="5000">
					      SELECT LAST_INSERT_ID() as LastInsertID
				    </cfquery>

				<cfif arguments.Admit_ID EQ 0 >
					<cfset cookie.AutoAdmitSvcs_ID = #listappend(cookie.AutoAdmitSvcs_ID ,#Last_SVCS_ID.LastInsertID#)# />
				</cfif>
				<cfset Admit_Svcs_ID = #Last_SVCS_ID.LastInsertID# />
				<!--- <cfif arguments.Admit_ID NEQ 0 >
					<cfparam name="F26" default="" >
					<cfif arguments.Skill EQ '1 - SOC - SN'>
						<cfset F26 =  '1 - Start of care - further visits planned' />
						<cfset F27 =  'SN' />
					<cfelseif arguments.Skill EQ '1 - SOC - PT'>
						<cfset F26 =  '1 - Start of care - further visits planned - Physical Therapy' />
						<cfset F27 =  'PT' />
					<cfelseif arguments.Skill EQ '3 - ROC - SN'>
						<cfset F26 =  '3 - Resumption of care (after inpatient stay)' />
						<cfset F27 =  'SN' />
					<cfelseif arguments.Skill EQ '3 - ROC - PT'>
						<cfset F26 =  '3 - Resumption of care (after inpatient stay)' />
						<cfset F27 =  'PT' />
					<cfelseif arguments.Skill EQ 'PT Eval'>
						<cfset F26 =  'PT Adult Evaluation' />
						<cfset F27 =  'PT' />
					<cfelseif arguments.Skill EQ 'OT Eval'>
						<cfset F26 =  'OT Adult Evaluation' />
						<cfset F27 =  'OT' />
					<cfelseif arguments.Skill EQ 'MSW Eval'>
						<cfset F26 =  'MSW Evaluation' />
						<cfset F27 =  'MSW' />
					<cfelseif arguments.Skill EQ 'ST Eval'>
						<cfset F26 =  'ST Adult Evaluation' />
						<cfset F27 =  'ST' />
					<cfelseif arguments.Skill EQ 'SN Eval'>
						<cfset F26 =  'SN Adult Evaluation' />
						<cfset F27 =  'SN' />
					<cfelseif arguments.Skill EQ 'Palliative'>
						<cfset F26 =  'Palliative' />
						<cfset F27 =  'SN' />
					<cfelseif arguments.Skill EQ 'Hospice Comprehensive' OR arguments.Skill EQ 'Hospice admission'>
						<cfset F26 =  'Hospice admission' />
						<cfset F27 =  'SN' />
					</cfif>
					<cfif F26 NEQ ''>
						<cfset certstartdate =  arguments.Start_Date />
						<cfif NOT isDate(certstartdate)>
							<cfset certstartdate = Now() />
						</cfif>
						<cfset  certenddate =  dateAdd('d', 59, certstartdate ) />

						<cfquery  name="getOASIS" datasource="#Application.DataSrc#">
				               SELECT  *  FROM  #Request.prefix_db_agency#.pAssessments
				               WHERE Status = 0 
								<cfif LEFT(F26,1) NEQ 1>
				              	    AND F177 = <cfqueryparam cfsqltype="cf_sql_date" value="#DATEFORMAT(certstartdate,'yyyy-mm-dd')#">
				               		AND F27  =  <cfqueryparam cfsqltype="cf_sql_varchar" value="#F27#">
				               		AND F26 = <cfqueryparam cfsqltype="cf_sql_varchar" value="#F26#">
				               	<cfelse>
				               		AND LEFT(F26,1)  = '1'
				               </cfif>
				               AND Admit_ID  =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				        </cfquery>
				        <cfif getOASIS.recordcount eq 0 >
							<cfquery  name="getass" datasource="#Application.DataSrc#">
					               SELECT IFNULL(Max(Assmt_ID)+1,0) as Assmt_ID  FROM  #Request.prefix_db_agency#.pAssessments
					        </cfquery>

					        <cfif LEFT(F26,1) EQ  '1'>
					             <cfscript>
					                request.pat = CreateObject("component","components.general.patients").init();
					                GetM = request.pat.medslist(#session.cs.patientid#);
					            </cfscript>
					            <cfquery dbtype="query" name="GetMeds">
					                SELECT * FROM GetM
					                 WHERE Status = 0 
					                 AND N0415 IS NOT NULL
					            </cfquery>
					            <cfquery dbtype="query" name="GetN0415">
					                SELECT * FROM GetM
					                 WHERE Status = 0 
					                 AND N0415 IS  NULL
					            </cfquery>
					            <cfset N0415_list = #ValueList(GetMeds.N0415)# />
					            <cfset F206 = '0. No' />
					            <cfset F207 = '0. No' />
					            <cfset F208 = '0. No' />
					            <cfset F209 = '0. No' />
					            <cfset F210 = '0. No' />
					            <cfset F211 = '0. No' />
					            <cfset F212 = '0. No' />
					            <cfset F213 = '0. No' />
					            <cfset F214 = '0. No' />
					            <cfset F215 = '0. No' />
					            <cfset F216 = '0. No' />
					            <cfset F217 = '0. No' />
					            <cfif GetN0415.recordcount gt 0 >
					              <cfset F220 = 'Not Applicable' />
					            <cfelse>
					              <cfset F220 = '' />
					            </cfif>
					            <cfif N0415_list contains '3'>
					              <cfset F206 = '1. Yes' />
					              <cfset F207 = '1. Yes' />
					            </cfif>
					            <cfif N0415_list contains '4'>
					              <cfset F208 = '1. Yes' />
					              <cfset F209 = '1. Yes' />
					            </cfif>
					            <cfif N0415_list contains '1'>
					              <cfset F210 = '1. Yes' />
					              <cfset F211 = '1. Yes' />
					            </cfif>
					            <cfif N0415_list contains '6'>
					              <cfset F212 = '1. Yes' />
					              <cfset F213 = '1. Yes' />
					            </cfif>
					            <cfif N0415_list contains '5'>
					              <cfset F214 = '1. Yes' />
					              <cfset F215 = '1. Yes' />
					            </cfif>
					            <cfif N0415_list contains '2'>
					              <cfset F216 = '1. Yes' />
					              <cfset F217 = '1. Yes' />
					            </cfif>
					        </cfif>    

							<cfquery  name="Insert_assessment" datasource="#Application.DataSrc#"> 
						        INSERT INTO #Request.prefix_db_agency#.pAssessments
						        (
						    		Assmt_ID,Admit_ID,Patient_ID,Loc_ID,F26,F27,<cfif LEFT(F26,1) NEQ '1'>F176,</cfif>F177,F178,
						    		<cfif LEFT(F26,1) EQ  '1'>
                                   		 F206,F207,F208,F209,F210, F211, F212,F213,F214,F215,F216,F217,F220,
                               		</cfif>
									Record_Creation_Date,Record_Created_By, Record_Mod_Date, Record_Mod_By 
								)  
							   VALUES
							   (
								    <cfqueryparam cfsqltype="cf_sql_integer" value="#getass.Assmt_ID#">,
								    <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">,
								    <cfqueryparam cfsqltype="cf_sql_integer" value="#session.cs.patientid#">,
									<cfqueryparam cfsqltype="cf_sql_integer" value="#client.Loc_ID#">,
									<cfqueryparam cfsqltype="cf_sql_varchar" value="#F26#">,
									<cfqueryparam cfsqltype="cf_sql_varchar" value="#F27#">,<cfif LEFT(F26,1) NEQ '1'><cfqueryparam cfsqltype="cf_sql_date" value="#DATEFORMAT(certstartdate,'yyyy-mm-dd')#">,</cfif>
									<cfqueryparam cfsqltype="cf_sql_date" value="#DATEFORMAT(certstartdate,'yyyy-mm-dd')#">,
									<cfqueryparam cfsqltype="cf_sql_date" value="#DATEFORMAT(certenddate,'yyyy-mm-dd')#">,
									<cfif LEFT(F26,1) EQ  '1'>
	                                    <cfqueryparam value="#F206#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F207#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F208#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F209#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F210#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F211#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F212#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F213#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F214#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F215#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F216#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F217#"  cfsqltype="cf_sql_varchar">,
	                                    <cfqueryparam value="#F220#"  cfsqltype="cf_sql_varchar">,
	                                </cfif>    
									<cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
							        <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">,
							        <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
							        <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer"> 
							   )
							</cfquery>
							<cfquery datasource="#Application.DataSrc#">
								UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
								SET Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#getass.Assmt_ID#">
								WHERE AutoAdmitSvcs_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#Admit_Svcs_ID#">
							</cfquery>

							<cfquery  name="Getp" datasource="#Application.DataSrc#">
							      SELECT * FROM #Request.prefix_db_agency#.pPatients
							      JOIN #Request.prefix_db_agency#.pAssessments ON pAssessments.Patient_ID =  pPatients.Patient_ID 
							      WHERE pPatients.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.cs.patientid#">
							      AND pAssessments.Assmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#getass.Assmt_ID#">
							      AND pPatients.Status  NOT IN (2,3) 
							      AND pAssessments.status = 0
							</cfquery>						
							<cfif #Left(Getp.F26,1)# EQ '1' >
								<cfquery  name="Insert_Coding_request" datasource="#Application.DataSrc#">
									INSERT INTO #Request.prefix_db_lookup#.Coding_Request  (Agency_ID,Request_Date,Last_Name,First_Name,Assessment_Type,
									 <cfif Getp.F176 NEQ ''>Assessment_Date,</cfif>Assigned_to,Coding_status,Assigned_by,Request_Time,MHCB_Entered,
									 time_requested,Updated_by) 
									VALUES ('#session.agencyid#','#DateFormat(now(),"yyyy-mm-dd")#',
										'#GetP.Pt_Last#','#Getp.Pt_First#','#Getp.F26#',
										<cfif Getp.F176 NEQ ''>
										'#DateFormat(Getp.F176,"yyyy-mm-dd")#',
										</cfif>'Melissa','H_P_Review',
										'#session.employeeid#',
										'#TimeFormat(now(), "short")#',#now()#,#now()#,'#Session.employeeid#')
								</cfquery>
							</cfif>
							<cfif #Left(Getp.F26,1)# EQ  '4'>
								<cfset Coding_status = "authorization" >
							<cfelse>
								<cfset Coding_status = "Coding" >
							</cfif>
							<cfquery  name="Insert_Coding_request" datasource="#Application.DataSrc#">
								INSERT INTO #Request.prefix_db_lookup#.Coding_Request  (Agency_ID,Request_Date,Last_Name,First_Name,Assessment_Type,
								 <cfif Getp.F176 NEQ  ''>Assessment_Date,</cfif>Assigned_to,Coding_status,Assigned_by,Request_Time,MHCB_Entered,
								 time_requested,Updated_by) 
								VALUES ('#session.agencyid#','#DateFormat(now(),"yyyy-mm-dd")#',
									'#GetP.Pt_Last#','#Getp.Pt_First#','#Getp.F26#',
									<cfif Getp.F176 NEQ ''>
										#DateFormat(Getp.F176,"yyyy-mm-dd")#',
									</cfif>
									'Melissa','#Coding_status#',
									'#session.employeeid#',
									'#TimeFormat(now(), "short")#',#now()#,#now()#,'#Session.employeeid#')
							</cfquery>
 
						</cfif>
					</cfif>
				</cfif> --->

			<cfelse>
				<cfquery  name="updatepAdmit_Svcs" datasource="#Application.DataSrc#">
				    UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
				    	SET 
				    	<cfif arguments.Skill NEQ ''>
				    		Skill       = <cfqueryparam value="#arguments.Skill#"  cfsqltype="CF_SQL_VARCHAR">,
				    	</cfif>
				    	<cfif arguments.Start_Date NEQ ''>
				    		Start_Date      = <cfqueryparam value="#DATEFORMAT(arguments.Start_Date,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">,
				    	</cfif>
				    	<cfif arguments.Physician_order NEQ ''>
				    		Physician_order = <cfqueryparam value="#arguments.Physician_order#"  cfsqltype="CF_SQL_VARCHAR">,
				    	</cfif>
				    	<cfif arguments.Notes NEQ ''>
				    		Notes 		    = <cfqueryparam value="#arguments.Notes#"  cfsqltype="CF_SQL_VARCHAR">,
				    	</cfif>
				    	<cfif arguments.Admitted NEQ ''>
				    		Admitted        = <cfqueryparam value="#arguments.Admitted#"  cfsqltype="CF_SQL_VARCHAR">,
				    	</cfif>
						Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
						Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
					WHERE AutoAdmitSvcs_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoAdmitSvcs_ID#">
				</cfquery>
				<cfset Admit_Svcs_ID = #arguments.AutoAdmitSvcs_ID# />
				<cfif arguments.Start_Date NEQ ''>
					<cfquery  name="getpAuths_Svcs" datasource="#Application.DataSrc#">
						SELECT pAdmit_Svcs.*,pAssessments.F26 FROM #Request.prefix_db_agency#.pAdmit_Svcs
						JOIN #Request.prefix_db_agency#.pAssessments  ON pAssessments.Admit_ID = pAdmit_Svcs.Admit_ID 
						AND pAssessments.status =0  AND pAssessments.F176      = <cfqueryparam value="#DATEFORMAT(arguments.Start_Date,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">
						WHERE AutoAdmitSvcs_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoAdmitSvcs_ID#">
					</cfquery>
					<cfif getpAuths_Svcs.recordcount gt 0 >
					<cfquery  name="get_oasiseval" datasource="#Application.DataSrc#">
					    SELECT * FROM #Request.prefix_db_agency#.pAssessments
					    WHERE F176      = <cfqueryparam value="#DATEFORMAT(arguments.Start_Date,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">
 						AND Admit_ID  =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#getpAuths_Svcs.Admit_ID#">
						AND F26 =  <cfqueryparam CFSQLType="CF_SQL_VARCHAR"  value="#getpAuths_Svcs.F26#">
						AND status = 0
					</cfquery>
					<!--- <cfif get_oasiseval.recordcount EQ 0>
						<cfquery  name="updatepassessments" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pAssessments
								SET 
								F176      = <cfqueryparam value="#DATEFORMAT(arguments.Start_Date,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">,
								Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
							WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#getpAuths_Svcs.Assmt_ID#">
							AND status = 0
						</cfquery>
					</cfif>--->
					</cfif>
					<!--- <cfquery  name="updatepAuths_Svcs" datasource="#Application.DataSrc#">
					    UPDATE #Request.prefix_db_agency#.pAuths
					    	SET 
					    	Date_Start      = <cfqueryparam value="#DATEFORMAT(arguments.Start_Date,'yyyy-mm-dd')#"  cfsqltype="CF_SQL_DATE">,
					    	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
						WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#getpAuths_Svcs.Assmt_ID#">
						AND status = 0
					</cfquery> --->

					
				</cfif>
			</cfif>

		
			<cfquery  name="delete_old_procedures" datasource="#Application.DataSrc#">
				 UPDATE #Request.prefix_db_agency#.pAdmit_Svcs_Procs
				 SET
			      Status =  2 
			      WHERE Admit_Svcs_ID = '#Admit_Svcs_ID#'
			      AND Status = 0
			</cfquery>	
			<cfif len(arguments.procedures) gt 0>
				 <cfloop list="#arguments.procedures#" index="item_id" delimiters=",">
					<cfquery  name="pAdmit_Svcs_insert" datasource="#Application.DataSrc#">
						INSERT INTO #Request.prefix_db_agency#.pAdmit_Svcs_Procs
						(
							 Admit_ID, Admit_Svcs_ID, Status, Item_ID, Notes, Date_Create, Created_by, Date_Change, Change_by
						) 
						VALUES
						( 
							'#arguments.Admit_ID#' ,'#Admit_Svcs_ID#', 0, '#item_id#',NULL, #now()# , #session.employeeid#  , #now()#, #session.employeeid# 
						)
						        				
					</cfquery>
				</cfloop>
			</cfif>


			<cfreturn 'Success' />
	</cffunction>	

	<cffunction name="delete_admitsvcs"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoAdmitSvcs_ID" required="yes" default="0">
				<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
				    UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
				    	SET 
				    	status       = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
						Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
						Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
					WHERE AutoAdmitSvcs_ID IN  (<cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoAdmitSvcs_ID#" list="yes">)
				</cfquery>
			<cfreturn 'Success' />
	</cffunction>	



	<cffunction name="show_unstablesymptoms"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="Patient_ID" required="yes">
		<cfargument name="symptomtype" required="no" hint="symptomtype" default=""> 
		<cfargument name="radionname" required="no" hint="radionname" default="unstablesymptom"> 	
			<cfif arguments.Patient_ID  neq 0>
				<!--- <cfquery name="Diagnosis_list" datasource="#Application.DataSrc#">
						SELECT  pPatients.Patient_ID, pPatients.Pt_Last AS PatientLast, pPatients.Pt_First AS PatientFirst, 
						pSchedules.Schedule_ID, pSchedules.Visit_Date, pSchedules.Skill AS Type, pSchedules.Missed,
						pSchedules.Progress_Note, pSchedules.Pay_ID, 0 AS No_Days_Progress,  "" AS  Note_QA , 
						pEmployee.Emp_ID, pEmployee.Emp_Last, pEmployee.Emp_First, pAssessments.Assmt_ID,pAssessments.F26  ,
						pProgress. *,IFNULL(Left(pProblem.Answer,1),2) AS probSeverity,pProgress.Type  AS pgtype 
						FROM   #Request.prefix_db_agency#.pProgress 
						JOIN #Request.prefix_db_agency#.pSchedules ON  pSchedules.Schedule_ID = pProgress.Schedule_ID
						JOIN #Request.prefix_db_agency#.pAssessments ON pSchedules.Assmt_ID = pAssessments.Assmt_ID 
						JOIN #Request.prefix_db_agency#.pPatients ON  pPatients.Patient_ID = pSchedules.Patient_ID
						JOIN #Request.prefix_db_lookup#.pEmployee ON pSchedules.Emp_ID = pEmployee.Emp_ID
						LEFT OUTER JOIN #Request.prefix_db_agency#.pProblem  ON pProblem.Problem_ID =  pProgress.Careplan_ID 
						LEFT OUTER JOIN #Request.prefix_db_agency#.pWoundsVitals  ON pWoundsVitals.ID =  pProgress.Careplan_ID
						WHERE pAssessments.status = 0
						AND pPatients.Status  < 1
						AND pSchedules.status= 0
						AND pSchedules.Emp_ID != 0
						AND pSchedules.Missed = '0'
					    AND pSchedules.Skill = 'SN'  
					    AND pProgress.status= 0
					    AND pProgress.Comm_ID = 0 
					    AND  pProgress.PtMeds_ID = 0 
					    AND pProgress.Procedure_ID =0 
					    AND pProgress.Teaching_ID = 0 
					    AND pProgress.Type IN ('problem','vital')
					    AND (pProgress.Physician_alert = 1 OR pProgress.severity > 1)
					    AND  pSchedules.Visit_Date >= '2023-06-14'                       
				        AND  pPatients.Patient_ID = <cfqueryparam value = "#arguments.Patient_ID#" CFSQLType ="CF_SQL_INTEGER">
						GROUP BY pProgress.Progress_ID
						ORDER BY pPatients.Pt_Last ASC, pPatients.Pt_First ASC, pEmployee.Emp_Last ASC, pEmployee.Emp_First ASC,
						pSchedules.Skill ASC, pSchedules.Visit_Date ASC 
				</cfquery> --->
				<cfquery  name="Diagnosis_list"  datasource="#Application.DataSrc#">
		   			 SELECT *,0 AS No_Days_Progress,  "" AS  Note_QA  FROM #Request.prefix_db_agency#.pUnstable 
		   			 WHERE Patient_ID = <cfqueryparam value = "#arguments.Patient_ID#" CFSQLType ="CF_SQL_INTEGER">
			  	</cfquery>
								
				<cfsavecontent	variable = "html_unstable_list"> 			
							<div class="form-group">
						 		<div class="checkbox-list">
						 			<cfset prevassmtid =  0 />
						 			<cfoutput query="Diagnosis_list">
						 				<cfquery  name="Getcommunication"  datasource="#Application.DataSrc#">
											SELECT  * FROM   #Request.prefix_db_agency#.Communication 
											WHERE  Status = 0
											AND Record_Creation_Date <= '#Diagnosis_list.Date_Create#'
											AND Patient_ID =  '#Patient_ID#'
											GROUP BY Comm_ID
									</cfquery>

									<cfquery  name="Getorders"  datasource="#Application.DataSrc#">
											SELECT  * FROM   #Request.prefix_db_agency#.pCMS4857 
											WHERE  Status = 0
											AND  DATE_FORMAT(Date_Create, '%Y-%m-%d') >= '#DateFormat(Diagnosis_list.Date_Create,"yyyy-mm-dd")#'
											AND Assmt_ID =  '#Assmt_ID#'
											AND Form_Type = 'Form 487'
											GROUP BY Order_ID
											ORDER BY Date_Create DESC
									</cfquery>

									<cfif prevassmtid NEQ Assmt_ID >
										<cfquery  name="Getorphansitems"  datasource="#Application.DataSrc#">
												SELECT Item_ID FROM #Request.prefix_db_lookup#.pPathway 
								     			WHERE  Pathway_ID NOT IN 
								     			(SELECT Path_ID FROM  #Request.prefix_db_agency#.pProblem
								     			 WHERE Assmt_ID = '#Assmt_ID#' AND status = 0) 
								     			AND Type= 'symptom' AND  Agency_ID IS NULL
										</cfquery>
									</cfif>
									<cfset Getorphansitemslist= #ValueList(Getorphansitems.Item_ID)# />
									<cfset pgDate_Create = #DateFormat(Date_Create,"mm/dd/yyyy")# />
									<cfset ListDate_Create = #DateFormat(Diagnosis_list.Date_Create,"mm/dd/yyyy")# />
									<cfset orderDate_Create = #DateFormat(Getorders.Date_Create,"mm/dd/yyyy")# />
									<cfset prevassmtid = Assmt_ID />
				               		<cfif <!--- pgDate_Create GT Diagnosis_list.Visit_Date AND ---> (severity  GTE probSeverity OR Physician_alert EQ 1)  AND (Getorphansitemslist CONTAINS Item_ID OR pgtype EQ 'vital') AND  (orderDate_Create GTE ListDate_Create OR  len(orderDate_Create) EQ  0)>           
				               		 <cfset totaldescription = reReplace(Description, ",", "^", "ALL") />
                           
							 			<div class="col-md-3">
											<label><input type="checkbox" id="#arguments.radionname##Progress_ID#" name="#arguments.radionname#"  value="#totaldescription#~#Progress_ID#"> #Description#</label>
										</div>
									</cfif>
									</cfoutput>
								</div>					
							</div>	
				</cfsavecontent>	
				<cfreturn html_unstable_list />	
			</cfif>	
	</cffunction>




	<cffunction name="show_Discontinue_edit"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="AutoCareplan_ID" required="yes">

			<cfif arguments.AutoCareplan_ID  neq 0>
				<cfquery name="pCareplan_list" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pCareplan 
					WHERE AutoCareplan_ID = <cfqueryparam value = "#arguments.AutoCareplan_ID#" CFSQLType ="CF_SQL_INTEGER">	
				</cfquery>					
				<cfsavecontent	variable = "html_Discontinue"> 			
					<cfoutput>
						<form name="EditDiscontinue_form" id="EditDiscontinue_form_id" action="" method="post">						
								<div class="row">
									<div class="col-md-3">
										<div class="form-group">
											<div class="label-stable">
												<label>Reason to Discontinue?</label>
											</div>
										</div>
									</div>
									<div class="col-md-9">
										<div class="form-group">
											<div class="radio-list">
												<label><input type="radio" id="Specifics" name="Specifics" <cfif pCareplan_list.Specifics eq 'plan needs update, new record added'> checked </cfif> value="plan needs update, new record added"> plan needs update, new record added</label>
												<label><input type="radio" id="Specifics1" name="Specifics" <cfif pCareplan_list.Specifics eq 'plan needs update, NO new record added'> checked </cfif> value="plan needs update, NO new record added"> plan needs update, NO new record added</label>
												
											</div>
											
										</div>
									</div>			
								</div>
								<div class="row">
									<div class="col-md-3">							
										<div class="form-group">
											<label class="control-label" style="text-align:center;margin-top: 13px;">Notes:</label>			
										</div>	
									</div>
									<div class="col-md-9">
										<div class="form-group">
											<textarea name="Notes" id="Notes#arguments.AutoCareplan_ID#" type="text" value="" style="width: 100%;" class="form-control">#pCareplan_list.Notes#</textarea>										
										</div>						
									</div>				
								</div>			
						</form>		
					</cfoutput>	
				</cfsavecontent>	
				<cfreturn html_Discontinue />	
			</cfif>	
	</cffunction>

	<cffunction name="show_pathwayDiagnosis"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="AutoCareplan_ID" required="yes">
		<cfargument name="Assmt_ID" required="yes">
		<cfargument name="pathwayType" required="yes">

			<cfif arguments.AutoCareplan_ID  neq 0>
				<cfquery name="getpathway" datasource="#Application.DataSrc#">
					SELECT pPathway.* FROM  #Request.prefix_db_lookup#.pPathway 
					JOIN  #Request.prefix_db_agency#.pCareplan ON pPathway.Item_ID = pCareplan.Item_ID
					WHERE AutoCareplan_ID = <cfqueryparam value = "#arguments.AutoCareplan_ID#" CFSQLType ="CF_SQL_INTEGER">
					AND pPathway.Type =  <cfqueryparam value="#arguments.pathwayType#" cfsqltype="cf_sql_varchar">
					GROUP BY Pathway_ID
				</cfquery>	
				<cfif arguments.pathwayType EQ 'problem'>

					<cfquery name="pProblem_list" datasource="#Application.DataSrc#">
						SELECT pProblem.* FROM #Request.prefix_db_lookup#.pPathway 
						JOIN #Request.prefix_db_agency#.pProgress ON pPathway.Item_ID = pProgress.Item_ID
						JOIN #Request.prefix_db_agency#.pProblem  ON pProblem.Path_ID = pPathway.Pathway_ID
						 WHERE pProgress.Item_ID = <cfqueryparam value = "#arguments.AutoCareplan_ID#" CFSQLType ="CF_SQL_INTEGER">
						 AND pPathway.Type =   <cfqueryparam value="symptom" cfsqltype="cf_sql_varchar">
						 AND pProgress.Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
						 AND pProblem.Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
						 AND pProblem.Path_ID != 0  <!--- AND (M0_No like 'M1021%' OR  M0_No like 'M1023%') --->
						 AND pProblem.Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">
						 GROUP BY pProblem.Problem_ID
						 ORDER BY pProblem.dx_order ASC
					</cfquery>
				<cfelse>
					<cfquery name="pProblem_list" datasource="#Application.DataSrc#">
						<!--- SELECT * FROM  #Request.prefix_db_agency#.pProblem 
						WHERE Path_ID = <cfqueryparam value = "#ValueList(getpathway.Pathway_ID)#" CFSQLType ="CF_SQL_INTEGER" list="yes">
						AND Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER"> --->
						SELECT pProblem.* FROM #Request.prefix_db_lookup#.pPathway 
						JOIN #Request.prefix_db_agency#.pCareplan ON pPathway.Item_ID = pCareplan.Item_ID
						JOIN #Request.prefix_db_agency#.pProblem  ON pProblem.Path_ID = pPathway.Pathway_ID
						 WHERE AutoCareplan_ID = <cfqueryparam value = "#arguments.AutoCareplan_ID#" CFSQLType ="CF_SQL_INTEGER">
						 AND pPathway.Type =   <cfqueryparam value="#arguments.pathwayType#" cfsqltype="cf_sql_varchar">
						 AND pCareplan.Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
						 AND pProblem.Status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
						 AND pProblem.Path_ID != 0  <!--- AND (pProblem.M0_No like 'M1021%' OR  pProblem.M0_No like 'M1023%') --->
						 AND pProblem.Severity >= 2
						 AND pProblem.Assmt_ID = pCareplan.Assmt_ID
						 GROUP BY pProblem.Problem_ID
						 ORDER BY pProblem.dx_order, pProblem.Path_ID ASC
					</cfquery>
				</cfif>
				<cfset pathway_ids  = 0 >
				<cfif pProblem_list.recordcount gt 0 >
					<cfset pathway_ids = ValueList(pProblem_list.Path_ID)/>
				</cfif>
				<cfif getpathway.recordcount gt 0 AND arguments.pathwayType EQ 'goal'>
					<cfset pathway_ids = getpathway.Pathway_ID /> 
				</cfif>
				<cfquery name="getall_teachpreven" datasource="#Application.DataSrc#">
						SELECT Teaching_Prevention.* FROM #Request.prefix_db_lookup#.Teaching_Prevention 
						WHERE Pathway_ID IN (#pathway_ids#)
						ORDER BY  Step_ID, Line_ID ASC
				</cfquery>
				<cfquery name="getall_teachsymp" datasource="#Application.DataSrc#">
						SELECT * FROM #Request.prefix_db_lookup#.Teaching_Symptoms_1 
						WHERE Path_ID IN (#pathway_ids#)
						ORDER BY  Step_ID ASC
				</cfquery>
				<cfsavecontent variable = "html_diagnosis"> 
					<cfif arguments.pathwayType NEQ 'goal'>			
						<cfoutput query="pProblem_list"	>				
							<div class="form-group">
									#Description#
								</div>
							</div>
						</cfoutput>
					<cfelse>
						<cfoutput query="pProblem_list" group="Path_ID">
							<div class="form-group">
							<cfoutput><h2>#Description#</h2></cfoutput>
							</div>
						</cfoutput>
						
						<cfquery name="getteach_symp" dbtype="query">
							SELECT * FROM getall_teachsymp
							ORDER BY  Step_ID ASC
						</cfquery>
						<cfoutput query="getteach_symp">
							
							<cfif #Type# eq "Title">
									<div class="form-group" style="font-size:18px;font-weight:bold;">
										#UCase(getteach_symp.Explanation)#
									</div>
							<cfelse>
								<div class="form-group">
									<div style="font-size:13px;margin-left:20px;">#getteach_symp.Explanation#</div>
								</div>
							</cfif>
						</cfoutput>

						<cfquery name="getteachings_prev" dbtype="query">
							SELECT * FROM getall_teachpreven
							ORDER BY  Step_ID DESC , Line_ID ASC
						</cfquery>
						<cfoutput query="getteachings_prev">
							<cfif #Type# eq "Title"  
								OR (Line_ID eq 0 and Type neq "symptom" and Type neq "Title")>
									<div class="form-group" style="font-size:18px;font-weight:bold;">
										#UCase(getteachings_prev.Explanation)#
									</div>
							<cfelse>
								<div class="form-group">
									<div style="font-size:13px;margin-left:20px;">#getteachings_prev.Explanation#</div>
								</div>
							</cfif>
						</cfoutput> 


					</cfif>
				</cfsavecontent>	
				<cfreturn html_diagnosis />	
			</cfif>	
	</cffunction>

	<cffunction name="show_schedproc_edit"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="Schedule_ID" required="no" default="0">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="careplantype" required="yes">
		<cfargument name="Skill" required="yes">
		<cfargument name="Admit_ID" required="no" default="0">

				<cfset assmtids = arguments.Assmt_ID />
				<cfif arguments.Admit_ID GT 0 >
					<cfquery  name="gets_Assess" datasource="#Application.DataSrc#">
			           SELECT * FROM #Request.prefix_db_agency#.pAssessments
			           WHERE Admit_ID =  <cfqueryparam value = "#arguments.Admit_ID#" CFSQLType ="cf_sql_integer">
			           AND status = 0
					</cfquery>
					<cfif gets_Assess.recordcount gt 0 >
						<cfset assmtids = ValueList(gets_Assess.Assmt_ID) />
					</cfif>
				</cfif>
				<cfquery name="getcareplanlist" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pCareplan 
					WHERE Assmt_ID    IN (<cfqueryparam value = "#assmtids#" list="yes" CFSQLType ="CF_SQL_INTEGER">)	
					AND Skill 			= <cfqueryparam value = "#arguments.Skill#" CFSQLType ="CF_SQL_VARCHAR">
					AND type  = <cfqueryparam value = "#arguments.careplantype#" CFSQLType ="CF_SQL_VARCHAR">	
					AND status = 0
					AND Date_Resolve IS NULL
				</cfquery>
				<cfquery name="getschedules" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pSchedules 
					WHERE Assmt_ID  IN (<cfqueryparam value = "#assmtids#" list="yes" CFSQLType ="CF_SQL_INTEGER">)		
					AND Skill = <cfqueryparam value = "#arguments.Skill#" CFSQLType ="CF_SQL_VARCHAR">
					AND status = 0
					ORDER BY Visit_Date ASC
				</cfquery>
				<cfquery name="getschprocedures" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pSched_Procedure 
					WHERE Assmt_ID IN (<cfqueryparam value = "#assmtids#" list="yes" CFSQLType ="CF_SQL_INTEGER">)	
					<cfif arguments.Schedule_ID NEQ 0 >	
						AND Schedule_ID   = <cfqueryparam value = "#arguments.Schedule_ID#" CFSQLType ="CF_SQL_INTEGER">
					</cfif>	
					AND status = 0
				</cfquery>
				<cfset procedurelist = #ValueList(getschprocedures.Careplan_ID)# />

				<!---<cfif session.Display EQ 'Melissa Cott'>--->
					<cfsavecontent	variable = "html_careplan_list"> 	
					<table class="table table-bordered table-striped table-condensed flip-content">
						<thead class="flip-content">
							<tr>
								<th width="15%">Description</th>
								<cfoutput query ="getschedules">
									<th>#DateFormat(Visit_Date,"mm/dd/yyyy")#</th>
								</cfoutput>
							</tr>
						</thead>
						<tbody>
							<cfoutput>
								<input type="hidden" name="sch_ids" id="sch_ids" value="#ValueList(getschedules.Schedule_ID)#">
								<input type="hidden" name="careplan_ids" id="careplan_ids" value="#ValueList(getcareplanlist.Careplan_ID)#">
							</cfoutput>
							<cfoutput query = "getcareplanlist" >
								<cfset Careplan_ID = getcareplanlist.Careplan_ID >
								<tr>
									<td>#Description#</td>										
									<cfloop query ="getschedules">
										<cfset Sch_ID = getschedules.Schedule_ID >
										<cfquery name="getschpro" dbtype="query">
											SELECT * FROM getschprocedures 
											WHERE  Careplan_ID = <cfqueryparam value="#Careplan_ID#"  cfsqltype="CF_SQL_INTEGER">
											AND Schedule_ID =  <cfqueryparam value="#Sch_ID#"  cfsqltype="CF_SQL_INTEGER">
										</cfquery>
										<input type="hidden" name="procedecription" id="procedecription_#Sch_ID#_#Careplan_ID#" value="#getcareplanlist.Description#">
										<td><input type="checkbox"  name="procedures_#Sch_ID#" id="proc_#Sch_ID#_#Careplan_ID#" value="#Careplan_ID#" <cfif getschpro.recordcount gt 0> checked </cfif>>
										  <input type="text"  name="Notes" id="Notes_#Sch_ID#_#Careplan_ID#"   value="#getschpro.Notes#" class="form-control">
										   </td>
									</cfloop>
								</tr>
							</cfoutput>
						</tbody>
					</table>
					</cfsavecontent>
				<!--- <cfelse>
					<cfsavecontent	variable = "html_careplan_list"> 			
						<cfoutput>
							<form name="Editprocedure_form" id="Editprocedure_form_id" action="" method="post">						
								<input type="hidden" name="Schedule_ID" id="Schedule_ID"  value="#arguments.Schedule_ID#"/>			
									<cfloop query="getcareplanlist">
										<cfquery name="getschpro" dbtype="query">
											SELECT * FROM getschprocedures 
											WHERE  Careplan_ID = <cfqueryparam value="#Careplan_ID#"  cfsqltype="CF_SQL_INTEGER">
										</cfquery>
										<div class="row">
											<div class="col-md-7">
												<div class="form-group">
												  <div class="checkbox-list">
		                                      <label><input type="checkbox"  name="procedures" id="#Careplan_ID#" value="#Careplan_ID#"  <cfif getschpro.recordcount gt 0> checked </cfif>> #Description#
		                                     </label>
		                                  </div>
												</div>
											</div>
											<input type="hidden" name="procedecription" id="procedecription#Careplan_ID#" value="#Description#" />
											<div class="col-md-5">	
											<input type="text"  name="Notes" id="Notes#Careplan_ID#"   value="#getschpro.Notes#" class="form-control">
											</div>
										</div>	
									</cfloop>
									<cfquery name="getnoprocedure" dbtype="query">
											SELECT * FROM getschprocedures 
											WHERE  Careplan_ID = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
											AND Schedule_ID   = <cfqueryparam value = "#arguments.Schedule_ID#" CFSQLType ="CF_SQL_INTEGER">	
											AND status = 0
									</cfquery>
									<div class="row">
										<div class="col-md-7">
											<div class="form-group">
											  <div class="checkbox-list">
	                                      <label><input type="checkbox"  name="procedures" id="0" value="0"  <cfif getnoprocedure.recordcount gt 0> checked </cfif>> no procedure
	                                     </label>
	                                  </div>
											</div>
										</div>
										<input type="hidden" name="procedecription" id="procedecription0" value="" />
										<div class="col-md-5">	
										<input type="text"  name="Notes" id="Notes0"   value="#getnoprocedure.Notes#" class="form-control">
										</div>
									</div>	

							</form>		
						</cfoutput>	
					</cfsavecontent>
				</cfif> --->





				<cfreturn html_careplan_list />	
	</cffunction>

	<cffunction name="update_schedprocedure"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Schedule_ID" required="yes" default="0">
		 <cfargument name="careplanselect" required="yes" default="0">
		 <cfargument name="Notes" required="no" default="">


			<cfquery  name="updatepSched_Procedure" datasource="#Application.DataSrc#">
			   UPDATE #Request.prefix_db_agency#.pSched_Procedure
			    	SET status = <cfqueryparam value="3"  cfsqltype="CF_SQL_INTEGER">,
					Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Schedule_ID IN (<cfqueryparam value="#arguments.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
			</cfquery>	
			<cfquery  name="pSched_Procedure_insert" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.pSched_Procedure
				(
					 Status, Assmt_ID, Schedule_ID, Careplan_ID, Notes, Date_Create, Created_by, Date_Change, Change_by 
				) 
				 SELECT  0 , Assmt_ID, #Schedule_ID#, Careplan_ID,  Notes ,#now()# , #session.employeeid#  , #now()#, #session.employeeid#  
				 FROM #Request.prefix_db_agency#.pCareplan
				 WHERE Careplan_ID IN (<cfqueryparam value="#arguments.careplanselect#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				 AND status = 0
			</cfquery>

			<cfif arguments.careplanselect EQ 0 >

				<cfquery  name="getschedules" datasource="#Application.DataSrc#">
						SELECT * FROM #Request.prefix_db_agency#.pSchedules
						 WHERE  Schedule_ID =  #arguments.Schedule_ID#
						 AND status = 0
				</cfquery>

				<cfquery  name="pSched_Procedure_insert" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pSched_Procedure
					(
						Status, Assmt_ID, Schedule_ID, Careplan_ID, Date_Create, Created_by, Date_Change, Change_by 
					) 
					VALUES 
					( 0 , #getschedules.Assmt_ID#, #Schedule_ID#, 0, #now()# , #session.employeeid#  , #now()#, #session.employeeid# ) 
				</cfquery>


			</cfif>


			<cfquery  name="getpgnotes" datasource="#Application.DataSrc#">
					SELECT * FROM #Request.prefix_db_agency#.pProgress
					 WHERE  Schedule_ID =  #arguments.Schedule_ID#
					 AND status = 0
			</cfquery>

			<cfif getpgnotes.recordcount gt 0 >
				<cfloop list="#arguments.careplanselect#" index="careplanid">

					<cfquery  name="getprogress" datasource="#Application.DataSrc#">
						SELECT * FROM #Request.prefix_db_agency#.pProgress
						 WHERE Careplan_ID IN (<cfqueryparam value="#careplanid#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
						 AND Schedule_ID =  #arguments.Schedule_ID#
						 AND status = 0
					</cfquery>
					<cfif careplanid EQ 0>
						<cfquery  name="getsch" datasource="#Application.DataSrc#">
						   SELECT * FROM  #Request.prefix_db_agency#.pSchedules
							WHERE Schedule_ID  = <cfqueryparam value="#arguments.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
						</cfquery>	
					   	<cfquery  name="pSched_Procedure_insert" datasource="#Application.DataSrc#">
								INSERT INTO #Request.prefix_db_agency#.pSched_Procedure
								(
									 Status, Assmt_ID, Schedule_ID, Careplan_ID, Notes, Date_Create, Created_by, Date_Change, Change_by 
								) 
								 VALUES(  0 , #getsch.Assmt_ID#, #arguments.Schedule_ID#, 0,  Notes ,#now()# , #session.employeeid#  , #now()#, #session.employeeid# )
								
							</cfquery>
					</cfif>
					<cfif getprogress.recordcount EQ 0 >
							<cfquery  name="Procedure_insert_progress" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pProgress
							(
								  Assmt_ID, Careplan_ID, Item_ID, Schedule_ID, Comm_ID, PtMeds_ID, Procedure_ID, Teaching_ID, Description, Status, Type,  Notes, Date_Create, Created_by, Date_Change, Change_by 
							) 
							
								SELECT Assmt_ID, Careplan_ID, Item_ID,#arguments.Schedule_ID#,0,0,0,0,Description,0,Type, NULL ,#now()#, #session.employeeid# , #now()#, #session.employeeid#   
							 	FROM #Request.prefix_db_agency#.pCareplan
							 	WHERE Careplan_ID IN (<cfqueryparam value="#careplanid#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
							 	AND status = 0
							
						</cfquery>	

					</cfif>
				</cfloop>
			</cfif>


			<cfloop list="#arguments.Notes#" item="notesitem" delimiters="~">  
				<cfset currentnotes =GetToken(notesitem,2,':') />
				<cfset currentcareplan_id =GetToken(notesitem,1,':') />
				<cfquery  name="updatepSched_Procedure" datasource="#Application.DataSrc#">
				   UPDATE #Request.prefix_db_agency#.pSched_Procedure
				    	SET Notes = <cfqueryparam value="#currentnotes#"  cfsqltype="CF_SQL_VARCHAR">
					WHERE Careplan_ID = <cfqueryparam value="#currentcareplan_id#"  cfsqltype="CF_SQL_INTEGER">
					AND Schedule_ID = <cfqueryparam value="#arguments.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
				</cfquery>	
			</cfloop>


			<cfquery  name="getpSched_Procedure" datasource="#Application.DataSrc#">
					SELECT pSched_Procedure.*, pProgress.Description FROM #Request.prefix_db_agency#.pSched_Procedure
					JOIN #Request.prefix_db_agency#.pProgress ON pSched_Procedure.Schedule_ID = pProgress.Schedule_ID
					 WHERE  pSched_Procedure.Schedule_ID =  #arguments.Schedule_ID#
					 AND pProgress.Careplan_ID = pSched_Procedure.Careplan_ID
					 AND pSched_Procedure.status = 0
			</cfquery>
			<cfloop  query="getpSched_Procedure">
				<cfif getpSched_Procedure.Notes neq ''>
					<cfif getpSched_Procedure.Description does not contain getpSched_Procedure.Notes>
						<cfset descrpt =  getpSched_Procedure.Description &" "& getpSched_Procedure.Notes />	
						<cfquery  name="Procedure_Update_progress" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pProgress
					  				SET Description =  <cfqueryparam value="#descrpt#"  cfsqltype="CF_SQL_VARCHAR"> ,
					  				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
									Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
					  		WHERE  Careplan_ID = <cfqueryparam value="#getpSched_Procedure.Careplan_ID#"  cfsqltype="CF_SQL_INTEGER">
							AND Schedule_ID = <cfqueryparam value="#getpSched_Procedure.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
							AND Status = 0
						</cfquery>	
					</cfif>	
				</cfif>
			</cfloop>
			

			<cfreturn 'Success' />	      
	</cffunction>	

	<cffunction name="update_schduled_proc"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		  <cfargument name="sch_ids" required="yes" default="0">
		 <cfargument name="careplanselect" required="yes" default="0">
		 <cfargument name="Notes" required="no" default="">

			<cfquery  name="updatepSched_Procedure" datasource="#Application.DataSrc#">
			   UPDATE #Request.prefix_db_agency#.pSched_Procedure
			    	SET status = <cfqueryparam value="3"  cfsqltype="CF_SQL_INTEGER">,
					Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Schedule_ID IN (<cfqueryparam value="#arguments.sch_ids#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				AND Status = 0
			</cfquery>	 
			<cfquery  name="getallprogress" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pProgress
				WHERE Schedule_ID IN (<cfqueryparam value="#arguments.sch_ids#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				AND status = 0
			</cfquery>

			<cfloop list="#arguments.careplanselect#" item="notesitem" delimiters="~">  
				<cfset currentcareplan_id =GetToken(notesitem,2,':') />
				<cfset currentschedule_id =GetToken(notesitem,1,':') />
				<cfquery  name="getschedules" datasource="#Application.DataSrc#">
						SELECT * FROM #Request.prefix_db_agency#.pSchedules
						 WHERE  Schedule_ID =  #currentschedule_id#
						 AND status = 0
				</cfquery>
				<cfquery  name="pSched_Procedure_insert" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pSched_Procedure
					(
						Status, Assmt_ID, Schedule_ID, Careplan_ID, Date_Create, Created_by, Date_Change, Change_by 
					) 
					VALUES 
					( 0 , #getschedules.Assmt_ID#, #currentschedule_id#, #currentcareplan_id#, #now()# , #session.employeeid#  , #now()#, #session.employeeid# ) 
				</cfquery>
				<cfquery  name="getpgnotes" dbtype="query">
					SELECT * FROM getallprogress
					 WHERE  Schedule_ID = '#currentschedule_id#'
					 AND status = 0
				</cfquery>
				<cfif getpgnotes.recordcount gt 0 >
					<cfquery  name="getprogress" dbtype="query">
						SELECT * FROM  getallprogress
						 WHERE Careplan_ID IN (#currentcareplan_id#)
						 AND Schedule_ID =  #currentschedule_id#
						 AND status = 0
					</cfquery>
					<cfif getprogress.recordcount EQ 0 >
							<cfquery  name="Procedure_insert_progress" datasource="#Application.DataSrc#">
							INSERT INTO #Request.prefix_db_agency#.pProgress
							(
								  Assmt_ID, Careplan_ID, Item_ID, Schedule_ID, Comm_ID, PtMeds_ID, Procedure_ID, Teaching_ID, Description, Status, Type,  Notes, Date_Create, Created_by, Date_Change, Change_by 
							) 
							
								SELECT Assmt_ID, Careplan_ID, Item_ID,#currentschedule_id#,0,0,0,0,Description,0,Type, NULL ,#now()#, #session.employeeid# , #now()#, #session.employeeid#   
							 	FROM #Request.prefix_db_agency#.pCareplan
							 	WHERE Careplan_ID IN (<cfqueryparam value="#careplanid#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
							 	AND status = 0
							
						</cfquery>	
					</cfif>
				</cfif>

			</cfloop>

			<cfloop list="#arguments.Notes#" item="notesitem" delimiters="~">  
				<cfset currentnotes =GetToken(notesitem,3,':') />
				<cfset currentcareplan_id =GetToken(notesitem,2,':') />
				<cfset currentschedule_id =GetToken(notesitem,1,':') />
				<cfquery  name="updatepSched_Procedure" datasource="#Application.DataSrc#">
				   UPDATE #Request.prefix_db_agency#.pSched_Procedure
				    	SET Notes = <cfqueryparam value="#currentnotes#"  cfsqltype="CF_SQL_VARCHAR">
					WHERE Careplan_ID = <cfqueryparam value="#currentcareplan_id#"  cfsqltype="CF_SQL_INTEGER">
					AND Schedule_ID = <cfqueryparam value="#currentschedule_id#"  cfsqltype="CF_SQL_INTEGER">
				</cfquery>	
			</cfloop>

			<cfquery  name="getpSched_Procedure" datasource="#Application.DataSrc#">
					SELECT pSched_Procedure.*, pProgress.Description FROM #Request.prefix_db_agency#.pSched_Procedure
					JOIN #Request.prefix_db_agency#.pProgress ON pSched_Procedure.Schedule_ID = pProgress.Schedule_ID
					 WHERE  pSched_Procedure.Schedule_ID IN (
					 	<cfqueryparam value="#arguments.sch_ids#" cfsqltype="CF_SQL_INTEGER" list="yes">
					 )
					 AND pProgress.Careplan_ID = pSched_Procedure.Careplan_ID
					 AND pSched_Procedure.status = 0
			</cfquery>
			<cfloop  query="getpSched_Procedure">
				<cfif getpSched_Procedure.Notes neq ''>
					<cfif getpSched_Procedure.Description does not contain getpSched_Procedure.Notes>
						<cfset descrpt =  getpSched_Procedure.Description &" "& getpSched_Procedure.Notes />	
						<cfquery  name="Procedure_Update_progress" datasource="#Application.DataSrc#">
							UPDATE #Request.prefix_db_agency#.pProgress
					  				SET Description =  <cfqueryparam value="#descrpt#"  cfsqltype="CF_SQL_VARCHAR"> ,
					  				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
									Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
					  		WHERE  Careplan_ID = <cfqueryparam value="#getpSched_Procedure.Careplan_ID#"  cfsqltype="CF_SQL_INTEGER">
							AND Schedule_ID = <cfqueryparam value="#getpSched_Procedure.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
							AND Status = 0
						</cfquery>	
					</cfif>	
				</cfif>
			</cfloop>		
			<cfreturn 'Success' />	      
	</cffunction>


	<cffunction name="update_discontinue"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoCareplan_ID" required="yes" default="0">
		 <cfargument name="Specifics" required="yes" default="0">
		 <cfargument name="Notes" required="no" default="">

			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pCareplan
			    	SET Specifics = <cfqueryparam value="#arguments.Specifics#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Status = <cfqueryparam value="2"  cfsqltype="CF_SQL_INTEGER">,
			    		Notes = <cfqueryparam value="#arguments.Notes#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Date_Resolve = <cfqueryparam value="#DateFormat(now(),'mm/dd/yyyy')#" cfsqltype="cf_sql_date">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE AutoCareplan_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoCareplan_ID#">
			</cfquery>

			<cfquery  name="getpcareplans" datasource="#Application.DataSrc#">
			    SELECT * FROM #Request.prefix_db_agency#.pCareplan
				 WHERE AutoCareplan_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.AutoCareplan_ID#">
			</cfquery>
			<cfloop query="getpcareplans">
				<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pCareplan
					(
						 Careplan_ID, Assmt_ID, Item_ID, Order_ID,<cfif len(Incrmt1) GT 0>Incrmt1,</cfif> CMSOrder_ID, Status, Skill, Type, Description, Other, Notes, Param_Lo, Param_Hi, Param_Other, Specifics, Date_Target, Date_Resolve, Order_Date, Date_Create, Created_by, Date_Change, Change_by, Proc_QA
					) 
					VALUES
					(							
						<cfqueryparam value = "#Careplan_ID#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value = "#Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value = "#Item_ID#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value = "#Order_ID#" CFSQLType ="CF_SQL_INTEGER">,
						<cfif len(Incrmt1) GT 0><cfqueryparam value = "#Incrmt1#" CFSQLType ="CF_SQL_INTEGER">,</cfif>
						<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value ="0"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Skill#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Type#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Description#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Other#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Notes#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Param_Lo#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Param_Hi#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Param_Other#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Specifics#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#Date_Target#" cfsqltype="cf_sql_date">,
						<cfqueryparam value="#DateFormat(now(),'mm/dd/yyyy')#" cfsqltype="cf_sql_date">,
						<cfqueryparam value="#Order_Date#" cfsqltype="cf_sql_date">,
						<cfqueryparam value="#Date_Create#" cfsqltype="cf_sql_timestamp">,
						<cfqueryparam value = "#Created_by#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
						<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value="#Proc_QA#"  cfsqltype="cf_sql_varchar">
					)
				</cfquery>	
			</cfloop>



		<cfreturn 'Success' />
	      
	</cffunction>

	<cffunction name="pickup_goals"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="AgencyID" required="no" hint="AgencyID" default="#session.agencyid#"> 	
		<cfargument name="Schedule_ID" required="yes" default="0">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="careplantype" required="yes">
		<cfargument name="Skill" required="yes">
		<cfargument name="unresolvedgoals" required="yes">

		<cfquery name="getass" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.pAssessments 
			WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">
			AND status  = 0
		</cfquery>
		<cfset assmt_reason = LEFT(getass.F26,1) />
		<cfquery name="getgoalslist" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.pCareplan 
			WHERE Assmt_ID  = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">	
			AND Skill  = <cfqueryparam value = "#arguments.Skill#" CFSQLType ="CF_SQL_VARCHAR">
			AND type  = <cfqueryparam value = "#arguments.careplantype#" CFSQLType ="CF_SQL_VARCHAR">	
			AND status = 0
			AND Date_Resolve IS NULL
			<cfif (arguments.Skill EQ 'PT' OR arguments.Skill EQ 'OT') 
				<!--- AND assmt_reason NEQ '1' AND assmt_reason NEQ '4'---> >
				AND Description NOT like '%01.%' AND  Description NOT like '%02.%'  AND  Description NOT like '%03.%'
			 	AND  Description NOT like '%04.%'  AND  Description NOT like '%05.%'  AND  Description NOT like '%06.%'
			  	AND  Description NOT like '%07.%'  AND  Description NOT like '%88.%'  AND  Description NOT like '%09.%'
			</cfif>
			AND Careplan_ID NOT IN 
				( SELECT Careplan_ID FROM #Request.prefix_db_agency#.pProgress 
				  WHERE Status = 0 
				  AND Schedule_ID = <cfqueryparam value = "#arguments.Schedule_ID#" CFSQLType ="CF_SQL_INTEGER">
				  AND Type = 'goal' AND YesOrNo = '4')
			ORDER BY Goal_ID ASC

		</cfquery>
		<cfquery name="gettotagoals" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.pProgress 
			WHERE Status = 0 
			AND Schedule_ID = <cfqueryparam value = "#arguments.Schedule_ID#" CFSQLType ="CF_SQL_INTEGER">
			AND Type = 'goal' 
		</cfquery>

		<cfsavecontent	variable = "html_pickugoals_list"> 			
			<cfoutput>
				<form name="Editgoals_form" id="Editgoals_form_id" action="" method="post">						
					<input type="hidden" name="Schedule_ID" id="Schedule_ID"  value="#arguments.Schedule_ID#"/>	
					<input type="hidden" name="total_goals" id="total_goals"  value="#gettotagoals.recordcount#"/>		
					<cfloop query="getgoalslist">
						<div class="row">
							<div class="col-md-12">
								<div class="form-group">
								  <div class="checkbox-list">
                              						<label><input type="checkbox"  name="goals" id="#Careplan_ID#" value="#Careplan_ID#"  
                              						<cfif arguments.unresolvedgoals GTE 2 AND arguments.Skill EQ 'SN'>disabled="true;"</cfif>
                              						 > #Description#
					                            	 </label>
					                          </div>
								</div>
							</div>
							<input type="hidden" name="goalsdecription" id="goalsdecription#Careplan_ID#" value="#Description#" />
							<div class="col-md-5 hide">	
							<input type="text"  name="Notes" id="Notes#Careplan_ID#"   value="#getgoalslist.Notes#" class="form-control">
							</div>
						</div>	
					</cfloop>						
				</form>		
			</cfoutput>	
		</cfsavecontent>	
		<cfreturn html_pickugoals_list />	
	</cffunction>


	<cffunction name="update_goals"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Schedule_ID" required="yes" default="0">
		<cfargument name="careplanselect" required="yes" default="0">
		<cfargument name="Notes" required="no" default="">

		<cfloop list="#arguments.careplanselect#" index="careplanid">
			<cfquery  name="getprogress" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pProgress
				WHERE Careplan_ID IN (<cfqueryparam value="#careplanid#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				AND Schedule_ID =  #arguments.Schedule_ID#
				AND status = 0
			</cfquery>

			<cfif getprogress.recordcount EQ 0 >
				<cfquery  name="Procedure_insert_progress" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pProgress
					(
						Assmt_ID, Careplan_ID, Item_ID, Schedule_ID, Comm_ID, PtMeds_ID, Procedure_ID, Teaching_ID, Description, Status, Type,  Notes, Date_Create, Created_by, Date_Change, Change_by 
					) 					
					SELECT Assmt_ID, Careplan_ID, Item_ID,#arguments.Schedule_ID#,0,0,0,0,Description,0,Type, NULL ,#now()#, #session.employeeid# , #now()#, #session.employeeid#   
				 	FROM #Request.prefix_db_agency#.pCareplan
				 	WHERE Careplan_ID IN (<cfqueryparam value="#careplanid#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				 	AND status = 0
					
				</cfquery>	
			</cfif>
		</cfloop>
		<!--- <cfloop list="#arguments.Notes#" item="notesitem" delimiters="~">  
			<cfset currentnotes =GetToken(notesitem,2,':') />
			<cfset currentcareplan_id =GetToken(notesitem,1,':') />
			<cfquery  name="updatepSched_Procedure" datasource="#Application.DataSrc#">
			   UPDATE #Request.prefix_db_agency#.pSched_Procedure
			    	SET Notes = <cfqueryparam value="#currentnotes#"  cfsqltype="CF_SQL_VARCHAR">
				WHERE Careplan_ID = <cfqueryparam value="#currentcareplan_id#"  cfsqltype="CF_SQL_INTEGER">
				AND Schedule_ID = <cfqueryparam value="#arguments.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
			</cfquery>	
		</cfloop> --->

		<cfreturn 'Success' />	      
	</cffunction>	



	<cffunction name="savecomm_485"  access="remote" output="Yes" returnformat="plain" returntype="string">   
	 	<cfargument name="ID" required="yes" default="0">
	 	<cfargument name="Date_Sent" required="yes" default="">
	 	<cfargument name="Ordertype" required="yes" default="">
	 	<cfif Ordertype EQ 'orders'>
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pCMS4857
			    	SET Date_Sent =  #CreateODBCDate(arguments.Date_Sent)# ,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Order_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.ID#">
			</cfquery>
		<cfelse>
			<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.Communication
			    	SET Comm_Date =  #CreateODBCDate(arguments.Date_Sent)# ,
				Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Comm_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.ID#">
			</cfquery>
		</cfif>
		<cfreturn 'Success' />
	</cffunction>

	<cffunction name="save485"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Order_ID" required="yes" default="0">
		<cfargument name="Date_Sent" required="yes" default="">
		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pCMS4857
			SET Date_Sent =  #CreateODBCDate(arguments.Date_Sent)# ,
			Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Order_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Order_ID#">
		</cfquery>
		<cfreturn 'Success' />
	</cffunction>

	<cffunction name="updateQAOrder"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Order_ID" required="yes" default="0">
		<cfargument name="QA_Order" required="yes" default="0">
		<cfquery  name="updateQAOrder" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pCMS4857
			SET QA_Order = <cfqueryparam value="#arguments.QA_Order#" cfsqltype="CF_SQL_INTEGER">,
			Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Order_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Order_ID#">
		</cfquery>
		<cfreturn 'Success' />
	</cffunction>



	<cffunction name="delete485"  access="remote" output="Yes" returnformat="plain" returntype="string">
	 	<cfargument name="Order_ID" required="yes" default="0">
		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pCMS4857
		    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
			Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Order_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Order_ID#">
		</cfquery>

		<cfquery  name="getassement" datasource="#Application.DataSrc#">
		   SELECT * FROM #Request.prefix_db_agency#.pCMS4857
		   WHERE  Order_ID = <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Order_ID#"> 
		</cfquery>
		<cfset Request.Assmt_ID = getassement.Assmt_ID />
		<cfquery  name="getorders" datasource="#Application.DataSrc#">
		   SELECT * FROM #Request.prefix_db_agency#.pCMS4857
		   WHERE  Assmt_ID = <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#Request.Assmt_ID#"> 
		   AND Status != 0
		</cfquery>
		<cfset Request.Order_IDs = ValueList(getorders.Order_ID) />

		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pProblem SET CMSOrder_ID = 0 
			WHERE CMSOrder_ID IN (<cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#Request.Order_IDs#" list="yes">)
		</cfquery>

		<cfquery  name="updatepCareplan" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pCareplan SET CMSOrder_ID = 0 
			WHERE CMSOrder_ID  IN (<cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#Request.Order_IDs#" list="yes">)
		</cfquery>

		<cfquery  name="updatepPtmeds" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pPtmeds SET CMSOrder_ID = 0 
			WHERE CMSOrder_ID IN (<cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#Request.Order_IDs#" list="yes">)
		</cfquery>
		
		<cfquery  name="updatepWoundsVitals" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pWoundsVitals SET CMSOrder_ID = 0 
			WHERE CMSOrder_ID IN (<cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#Request.Order_IDs#" list="yes">)
		</cfquery>





		<cfreturn 'Success' />
	</cffunction>
	<cffunction name="deletevisit"  access="remote" output="Yes" returnformat="plain" returntype="string">   
	 <cfargument name="Schedule_ID" required="yes" default="0">
	 
		<!--- HHA Exchange: delete remote visit only when payer has EVV required by Payer = Yes --->
		<cfif isDefined("session.agencyid") AND val(session.agencyid) EQ 1195 AND val(arguments.Schedule_ID) GT 0>
			<cfset shouldDeleteHHAEVV = false>
			<cftry>
				<cfset shouldDeleteHHAEVV = createObject("component", "components.evv.EVVVisitAutomation").init().scheduleRequiresEVVAutomation(
					scheduleID = val(arguments.Schedule_ID),
					agencyID = val(session.agencyid)
				)>
				<cfcatch type="any">
					<cflog file="HHAExchange_EVV" text="deletevisit EVV payer check failed schedule #arguments.Schedule_ID#: #cfcatch.message#">
				</cfcatch>
			</cftry>
			<cfif shouldDeleteHHAEVV>
				<cftry>
					<cfset createObject("component", "components.sandata.hhaexchange").init().delete_visit(
						Agency_ID = val(session.agencyid),
						Schedule_ID = val(arguments.Schedule_ID),
						reason = "visit_deleted"
					)>
					<cfcatch type="any">
						<cflog file="HHAExchange_EVV" text="deletevisit hook failed schedule #arguments.Schedule_ID#: #cfcatch.message#">
					</cfcatch>
				</cftry>
			</cfif>
		</cfif>

		<cfquery  name="updatepSchedules" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pSchedules
		    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
			   Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			   Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Schedule_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Schedule_ID#">
			AND Status = 0
		</cfquery>	
		<cfquery  name="getschedules" datasource="#Application.DataSrc#">
		   SELECT * FROM  #Request.prefix_db_agency#.pSchedules
			WHERE Schedule_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Schedule_ID#">
			AND status = 1
		</cfquery>	
		<cfset Assmt_ID    = #getschedules.Assmt_ID# >
		<cfset Auth_ID     = #getschedules.Auth_ID# >
		<cfset Patient_ID  = #getschedules.Patient_ID# >
		<cfinclude template="/schedules/update_visitcompliance.cfm" />	
		<cfreturn 'Success' />
	</cffunction>


	<cffunction name="delete_assessments"  access="remote" output="Yes" returnformat="plain" returntype="string">   
	      <cfargument name="Assmt_ID" required="yes" default="0">
		<!--- <cfquery  name="DeletepCMS4857" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pCMS4857
		    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
			Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Assmt_ID#">
		</cfquery>	
		<cfquery  name="DeletepProblem" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pProblem
		    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
			Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Assmt_ID#">
		</cfquery>	 --->
		<cfquery  name="getauths" datasource="#Application.DataSrc#">
		    SELECT * FROM #Request.prefix_db_agency#.pAuths
			WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Assmt_ID#">
			AND status = <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="0">
		</cfquery>	
		<cfset message= "failure">
		<cfif getauths.recordcount gt 0 AND arguments.Assmt_ID NEQ 0>
			<cfset message= "We cannot delete this assessment due to authorizations has been already created">
		<cfelse>
			<cfquery  name="DeletepAdmit_Services" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
			    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by  = <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Assmt_ID#">
				AND status = <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="0">
			</cfquery>
			<cfquery  name="DeletepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pAssessments
			    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
				Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Assmt_ID#">
				AND status = <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="0">
			</cfquery>
			<cfset message= "Success">
		</cfif>

		<cfreturn message />
	</cffunction>

	<cffunction name="duplicate_problems"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="problems_ids" required="yes" default="0">
			<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.pProblem
				(
					  Problem_ID, Assmt_ID, Status, Careplan, Path_ID, Item_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders,  Resolved_Date, Assign, Notes, Date_Create, Created_by, Date_Change, Change_by
				) 
				  SELECT  Problem_ID, Assmt_ID, 0 , Careplan, Path_ID, Item_ID, Skill, ques_id, M0_No, Description, Answer, Severity, dx_order, Coding_Status, Specific_Orders,  Resolved_Date, Assign, Notes,#now()# , #session.employeeid#  , #now()#, #session.employeeid#  
				  FROM #Request.prefix_db_agency#.pProblem
				  WHERE pProblem.Problem_ID IN (<cfqueryparam value="#arguments.problems_ids#"  cfsqltype="CF_SQL_INTEGER" list="yes">)
				  AND Status = 0
			</cfquery>	
		<cfreturn 'Success' />	      
	</cffunction>

	<cffunction name="reassignskill"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Skill" required="yes" default="">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfset message= "failure" />
		<cfquery  name="getproblems" datasource="#Application.DataSrc#">
	           SELECT * FROM #Request.prefix_db_agency#.pProblem
	           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
	           AND status     = <cfqueryparam value="0" cfsqltype="cf_sql_integer">
	           AND Skill    = <cfqueryparam value="#arguments.Skill#" cfsqltype="cf_sql_varchar">
		</cfquery>
		<cfif getproblems.recordcount gt 0>
			<cfset message = #getproblems.recordcount# & " "&#arguments.Skill# &' related problems must be re-assigned before discharge summary can be created' />
		<cfelse>
			<cfset message = 'Success' />
		</cfif>
		<cfreturn  message/>	      
	</cffunction>	


	<cffunction name="pOASIS_QAupdateold"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="QA_ID" required="yes" default="">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="Resolved" required="yes" default="0">
		<cfargument name="QA_Type" required="no" default="step1">
		<cfargument name="approveall" required="no" default="0">		
		<cfset message= "failure" />

		<cfquery  name="getass" datasource="#Application.DataSrc#">
	           SELECT * FROM #Request.prefix_db_agency#.pAssessments
	           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
	           AND status =  0
		</cfquery>

		<cfif arguments.approveall EQ 1>
			<cfquery  name="getpOASIS" datasource="#Application.DataSrc#">
		           SELECT * FROM #Request.prefix_db_agency#.pOASIS_QA
		           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
		           AND QA_Type =  <cfqueryparam value = "#QA_Type#" CFSQLType ="cf_sql_varchar">
		           AND Resolved = 2           
			</cfquery>
			<cfquery  name="updatepOASIS" datasource="#Application.DataSrc#">
		           UPDATE #Request.prefix_db_agency#.pOASIS_QA
		           SET Resolved =  <cfqueryparam value = "#arguments.Resolved#" CFSQLType ="cf_sql_integer">
		           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
		           AND QA_Type =  <cfqueryparam value = "#QA_Type#" CFSQLType ="cf_sql_varchar">
		           AND Resolved = 2	  
			</cfquery>
		<cfelse>
			<cfquery  name="updatepOASIS" datasource="#Application.DataSrc#">
		           UPDATE #Request.prefix_db_agency#.pOASIS_QA
		           SET Resolved =  <cfqueryparam value = "#arguments.Resolved#" CFSQLType ="cf_sql_integer">
		           WHERE QA_ID = <cfqueryparam value = "#arguments.QA_ID#" CFSQLType ="cf_sql_integer">
			</cfquery>
			<cfquery  name="getpOASIS" datasource="#Application.DataSrc#">
		           SELECT * FROM #Request.prefix_db_agency#.pOASIS_QA
		            WHERE QA_ID = <cfqueryparam value = "#arguments.QA_ID#" CFSQLType ="cf_sql_integer">           
			</cfquery>
		</cfif>
		<cfset counts = 0/>
		<cfif arguments.Resolved EQ 1>
			<cfloop query="getpOASIS">

				<cfif Questions_label contains 'GG0170%' OR Questions_label contains 'GG0130%' >
					<cfset originalanswer = #Left(getpOASIS.QA_answer,2)# />
				<cfelse>
					<cfset originalanswer = #getpOASIS.QA_answer# />
				</cfif>
				<cfquery  name="getAssessments" datasource="#Application.DataSrc#">
			           SELECT * FROM #Request.prefix_db_agency#.pAssessments
			           WHERE Admit_ID =  <cfqueryparam value = "#getass.Admit_ID#" CFSQLType ="cf_sql_integer">
			           AND F26 IN (SELECT assessment_reason FROM Assmt_Update
			           WHERE question_label =  '#getpOASIS.Questions_label#') 
			           AND status = 0
				</cfquery>
				<cfset AssignedSKILL =  getAssessments.F27 />

				<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			           UPDATE #Request.prefix_db_agency#.pAssessments
			           SET #getpOASIS.QA_answerlabel# =  <cfqueryparam value = "#originalanswer#" CFSQLType ="cf_sql_varchar">
			           WHERE Assmt_ID = <cfqueryparam value = "#getpOASIS.Assmt_ID#" CFSQLType ="cf_sql_integer">
			           AND status = 0	  
				</cfquery>

				<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			           UPDATE #Request.prefix_db_agency#.pProblem
			           SET Answer =  <cfqueryparam value = "#getpOASIS.QA_answer#" CFSQLType ="cf_sql_varchar">,
			           	<cfif AssignedSKILL NEQ ''>
			           	  Skill = <cfqueryparam value = "#AssignedSKILL#" CFSQLType ="cf_sql_varchar">,
			           	</cfif>
			           	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by 	=   <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
			           WHERE ques_id IN 
			           	    (SELECT ques_id FROM #Request.prefix_db_lookup#.assessment_questions_lookup  
			                WHERE assessment_reason = <cfqueryparam value = "#getass.F26#" CFSQLType ="cf_sql_varchar">
			                AND answer_label = <cfqueryparam value = "#getpOASIS.QA_answerlabel#" CFSQLType ="cf_sql_varchar">
			                	AND deleted = 0
			                	)
			            AND Assmt_ID = <cfqueryparam value = "#getpOASIS.Assmt_ID#" CFSQLType ="cf_sql_integer">
			           AND status = 0	  
				</cfquery> 		
				<cfset counts = counts + 1 />
			</cfloop>
			
		</cfif>
		<cfquery  name="getpOASIS" datasource="#Application.DataSrc#">
	           SELECT * FROM #Request.prefix_db_agency#.pOASIS_QA
	           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
	           AND QA_Type =  <cfqueryparam value = "#QA_Type#" CFSQLType ="cf_sql_varchar">
	           AND Resolved = 2	           
		</cfquery>

		<cfif arguments.Resolved EQ 1>
			
			<cfset QA_count = getass.QA_count + counts />
			<cfquery  name="updateassessments" datasource="#Application.DataSrc#">
		           UPDATE #Request.prefix_db_agency#.pAssessments
		           SET QA_count =  <cfqueryparam value = "#QA_count#" CFSQLType ="cf_sql_integer">
		           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
		           AND status =  0
			</cfquery>
		</cfif>

		<!---<cfif arguments.QA_Type EQ 'step6'>
			<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 = "#arguments.Assmt_ID#" CFSQLType ="CF_SQL_INTEGER">,
					<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
					<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
					<cfqueryparam value = "#arguments.Resolved#" CFSQLType ="CF_SQL_INTEGER">,
					<cfqueryparam value="#arguments.QA_Type#"  cfsqltype="cf_sql_varchar">,
					<cfqueryparam value=""  cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="More evaluations expected?"  cfsqltype="cf_sql_varchar">,
					<cfqueryparam value=""  cfsqltype="cf_sql_varchar">,
					<cfqueryparam value=""  cfsqltype="cf_sql_varchar">	
				)
			</cfquery>
		</cfif> --->

		<cfset message =  #getpOASIS.recordcount# />		
		<cfreturn  message/>	      
	</cffunction>		
	


	<cffunction name="pOASIS_QAupdate"  access="remote" output="Yes" returnformat="plain" returntype="string"> 
		<cfargument name="QA_IDS" required="yes" default="">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="Resolvedvalues" required="yes" default="0">
		<cfargument name="QA_Type" required="no" default="step1">
		<cfset Resolvedlist=ListToArray(arguments.Resolvedvalues,"~",false,true) />
		<cfset QA_IDS=ListToArray(arguments.QA_IDS,"~",false,true) />
		<cfset QAID_yes = "">
		<cfquery  name="getass" datasource="#Application.DataSrc#">
	           SELECT * FROM #Request.prefix_db_agency#.pAssessments
	           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
	           AND status =  0
		</cfquery>


	    <cfloop from="1" to="#ArrayLen(Resolvedlist)#" index="i">
			<cfquery  name="updatepOASIS" datasource="#Application.DataSrc#">
		           UPDATE #Request.prefix_db_agency#.pOASIS_QA
		           SET Resolved =  <cfqueryparam value = "#Resolvedlist[i]#" CFSQLType ="cf_sql_integer">
		           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
		           AND QA_Type =  <cfqueryparam value = "#arguments.QA_Type#" CFSQLType ="cf_sql_varchar">
		           AND QA_ID = 	   <cfqueryparam value = "#QA_IDS[i]#" CFSQLType ="cf_sql_integer">
			</cfquery>	
			<cfif Resolvedlist[i] EQ 1 >
				<cfset listappend(QAID_yes,#Resolvedlist[i]#) />
			</cfif>
		</cfloop>


		<cfif QAID_yes NEQ ''>
			<cfquery  name="getpOASIS" datasource="#Application.DataSrc#">
		           SELECT * FROM #Request.prefix_db_agency#.pOASIS_QA
		           WHERE QA_ID IN (<cfqueryparam value = "#QAID_yes#" CFSQLType ="cf_sql_integer" list="yes">)
			</cfquery>
			<cfloop query="getpOASIS">

				<cfif Questions_label contains 'GG0170%' OR Questions_label contains 'GG0130%' >
					<cfset originalanswer = #Left(getpOASIS.QA_answer,2)# />
				<cfelse>
					<cfset originalanswer = #getpOASIS.QA_answer# />
				</cfif>
				<cfquery  name="getAssessments" datasource="#Application.DataSrc#">
			           SELECT * FROM #Request.prefix_db_agency#.pAssessments
			           WHERE Admit_ID =  <cfqueryparam value = "#getass.Admit_ID#" CFSQLType ="cf_sql_integer">
			           AND F26 IN (SELECT assessment_reason FROM Assmt_Update
			           WHERE question_label =  '#getpOASIS.Questions_label#') 
			           AND status = 0
				</cfquery>
				<cfset AssignedSKILL =  getAssessments.F27 />

				<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			           UPDATE #Request.prefix_db_agency#.pAssessments
			           SET #getpOASIS.QA_answerlabel# =  <cfqueryparam value = "#originalanswer#" CFSQLType ="cf_sql_varchar">
			           WHERE Assmt_ID = <cfqueryparam value = "#getpOASIS.Assmt_ID#" CFSQLType ="cf_sql_integer">
			           AND status = 0	  
				</cfquery>


				<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
			           UPDATE #Request.prefix_db_agency#.pProblem
			           SET Answer =  <cfqueryparam value = "#getpOASIS.QA_answer#" CFSQLType ="cf_sql_varchar">,
			           	<cfif AssignedSKILL NEQ ''>
			           	  Skill = <cfqueryparam value = "#AssignedSKILL#" CFSQLType ="cf_sql_varchar">,
			           	</cfif>
			           	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by 	=   <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">
			           WHERE ques_id IN 
			           	    (SELECT ques_id FROM #Request.prefix_db_lookup#.assessment_questions_lookup  
			                WHERE assessment_reason = <cfqueryparam value = "#getass.F26#" CFSQLType ="cf_sql_varchar">
			                AND answer_label = <cfqueryparam value = "#getpOASIS.QA_answerlabel#" CFSQLType ="cf_sql_varchar">
			                	AND deleted = 0
			                	)
			            AND Assmt_ID = <cfqueryparam value = "#getpOASIS.Assmt_ID#" CFSQLType ="cf_sql_integer">
			           AND status = 0	  
				</cfquery> 		
				<cfset counts = counts + 1 />
			</cfloop>
			
		</cfif>

		<cfquery  name="getpOASIScounts" datasource="#Application.DataSrc#">
	           SELECT * FROM #Request.prefix_db_agency#.pOASIS_QA
	           WHERE Assmt_ID = <cfqueryparam value = "#arguments.Assmt_ID#" CFSQLType ="cf_sql_integer">
	           AND QA_Type =  <cfqueryparam value = "#QA_Type#" CFSQLType ="cf_sql_varchar">
	           AND Resolved = 2	           
		</cfquery>

		<cfset message =  #getpOASIScounts.recordcount# />		
		<cfreturn  message/>

	</cffunction>
		 	   



	<cffunction name="update_submitter"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Assmt_ID" required="yes" default="0">
		 <cfargument name="dropdowntype" required="yes" default="0">
		 <cfargument name="Answer" required="yes" default="0">
		
			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pAssessments SET 
			    <cfif dropdowntype EQ 'Submitter'>
			    	Submitter_ID = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_INTEGER">,
			   <cfelseif dropdowntype EQ 'Sub_Status'>
			    	F292 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_VARCHAR">,
			    <cfelseif dropdowntype EQ 'Sub_Status2'>
			    	F293 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_VARCHAR">,
			    <cfelseif dropdowntype EQ 'UTN_1'>
			    	F290 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_VARCHAR">,
			    <cfelseif dropdowntype EQ 'UTN_2'>
			    	F291 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_VARCHAR">,
			   <cfelseif dropdowntype EQ 'Episode'>
			    	F293 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_VARCHAR">,
			    <cfelseif dropdowntype EQ 'Date_Sent'>
			    	F200 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_DATE">,	
			    <cfelseif dropdowntype EQ 'Date_Received'>
			    	F199 = <cfqueryparam value="#arguments.Answer#"  cfsqltype="CF_SQL_DATE">,						    	
			    </cfif>
			 	Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#"  >
				AND status = 0
			</cfquery>
			<cfreturn 'success' />	     
	</cffunction>	

	<cffunction name="More_evaluations"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Assmt_ID" required="yes" default="0">
		  <cfargument name="F24" required="yes" default="0">
		
			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pAssessments SET 
			    F24 = <cfqueryparam value="#arguments.F24#"  cfsqltype="CF_SQL_INTEGER">,
			   	Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#"  >
				AND status = 0
			</cfquery>
			<cfreturn 'success' />	     
	</cffunction>	

	<cffunction name="updatepWoundsVitals"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="VitalOrWound" required="yes" default="0">
		<cfargument name="Location" required="no" default="0">
		<cfargument name="Length" required="no" default="0">
		<cfargument name="Width" required="no" default="0">
		<cfargument name="Depth" required="no" default="0">
		<cfargument name="Description" required="no" default="0">
		
		<cfif arguments.VitalOrWound EQ 'wound'>
			<cfquery  name="insertpWoundsVitals" datasource="#Application.DataSrc#">
			    INSERT INTO  #Request.prefix_db_agency#.pWoundsVitals (Assmt_ID, Status, 
			    		 VitalOrWound, Description, Location, Length, Width, Depth,Date_Create,Created_by,
			    		 Date_Change,Change_by)
			    VALUES 
			    		(<cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">,
			    		<cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">,
			    		<cfqueryparam value="#arguments.VitalOrWound#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#arguments.Description#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#arguments.Location#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#arguments.Length#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#arguments.Width#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#arguments.Depth#"  cfsqltype="CF_SQL_VARCHAR">,
			    		<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			    		<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
			    		<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			    		<cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">)
			</cfquery>
		</cfif>
		<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="WoundDelete"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="WoundID" required="yes" default="0">
		
			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pWoundsVitals SET 
			      Status = <cfqueryparam value="2"  cfsqltype="CF_SQL_INTEGER">,
			   	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.WoundID#"  >
			</cfquery>
			<cfreturn 'success' />	     
	</cffunction>



	<cffunction name="update_4857"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Order_ID" required="yes" default="0">
		 <cfargument name="Form_Status" required="yes" default="0">	
		
			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pCMS4857 SET 
			      Form_Status = <cfqueryparam value="#arguments.Form_Status#"  cfsqltype="CF_SQL_VARCHAR">,
			   	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				  Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Order_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Order_ID#"  >
			</cfquery>
			<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="deleteSchedule"  access="remote" output="Yes" returnformat="plain" returntype="string">   
	 	<cfargument name="Schedule_ID" required="yes" default="0">
		<cfquery  name="updatepProblem" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pSchedules
		    	SET status = <cfqueryparam value="1"  cfsqltype="CF_SQL_INTEGER">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
			WHERE Schedule_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER"  value="#arguments.Schedule_ID#">
			AND status = 0
		</cfquery>	
		<cfreturn 'Success' />
	</cffunction>
	

	<cffunction name="updatepgcommunication"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Comm_ID" required="yes" default="0">
		 <cfargument name="Progress_ID" required="yes" default="0">
		
			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pProgress SET 
			    	Comm_ID = <cfqueryparam value="#arguments.Comm_ID#"  cfsqltype="CF_SQL_INTEGER">,
			 	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Progress_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Progress_ID#"  >
				AND Status = 0
			</cfquery>
			<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="placeholderinsert"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Admit_ID" required="yes" default="0">
		 <cfargument name="Patient_ID" required="yes" default="0">
		 <cfargument name="Specific_Concerns" required="no" default="0">
		 <cfargument name="Allergies" required="no" default="0">
		 <cfargument name="M1100_PTNT_LVG_STUTN" required="no" default="0">
		 <cfargument name="Advance_Directive" required="no" default="0">
		 <cfargument name="Code_Status" required="no" default="0">
		 <cfargument name="Emerg_Priority" required="no" default="0">
		 <cfargument name="Pt_Race" required="no" default="">
		 <cfargument name="M0140_ETHNIC" required="no" default="">
		
			<cfquery  name="updatepPAtients" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pPatients SET 
			    	Specific_Concerns = <cfqueryparam value="#arguments.Specific_Concerns#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Allergies = <cfqueryparam value="#arguments.Allergies#"  cfsqltype="CF_SQL_VARCHAR">,
			    	<cfif arguments.Pt_Race NEQ "" >
			    		Pt_Race = <cfqueryparam value="#arguments.Pt_Race#"  cfsqltype="CF_SQL_VARCHAR">,
			    	</cfif>
			    	<cfif arguments.M0140_ETHNIC NEQ "" >
			    		M0140_ETHNIC = <cfqueryparam value="#arguments.M0140_ETHNIC#"  cfsqltype="CF_SQL_VARCHAR">,
			    	</cfif>

				 	Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Record_Mod_By	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Patient_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Patient_ID#" >
				AND Status < 2
			</cfquery>

			<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pAdmit SET 
			    	M1100_PTNT_LVG_STUTN = <cfqueryparam value="#arguments.M1100_PTNT_LVG_STUTN#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Advance_Directive = <cfqueryparam value="#arguments.Advance_Directive#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Code_Status = <cfqueryparam value="#arguments.Code_Status#"  cfsqltype="CF_SQL_VARCHAR">,
			    	Emerg_Priority = <cfqueryparam value="#arguments.Emerg_Priority#"  cfsqltype="CF_SQL_VARCHAR">,
				 	Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
					Change_by	= <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER"> 
				WHERE Admit_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Admit_ID#"  >
				AND Status = 0
			</cfquery>


			<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="mark_incomplete"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="F25" required="yes" default="0">		
		<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pAssessments SET 
		    	F25 = <cfqueryparam value="#arguments.F25#"  cfsqltype="CF_SQL_INTEGER">,
		    	Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
			Record_Mod_By =  <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
			WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#">
			AND Status = 0
		</cfquery>
		<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="updategoals_visit"  access="remote" output="Yes" returnformat="plain" returntype="string">
          	<cfargument name="Assmt_ID" required="yes" default="0" hint="Assmt_ID">  

          		<cfset allskills = "SN,PT,OT" />

			<cfquery  name="getallcareplans" datasource="#Application.DataSrc#">
				 SELECT * FROM #Request.prefix_db_agency#.pCareplan 
				 WHERE Assmt_ID  =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#">
				 AND Type = 'goal'
				 AND status  = 0
			</cfquery>

			<cfloop list="#allskills#" index="item">
				<cfquery  name="getsactivecareplans" dbtype="query">
					SELECT * FROM getallcareplans 
					WHERE Skill = '#item#'
					AND status = 0
				</cfquery>
				<cfset goalscount = getsactivecareplans.recordcount />
				<cfquery  name="UpdateAssessments" datasource="#Application.DataSrc#">
					UPDATE #Request.prefix_db_agency#.pAssessments 
					SET 
					<cfif  item EQ 'SN'>  	
					   F301  = <cfqueryparam value="#goalscount#"  cfsqltype="CF_SQL_VARCHAR">
					<cfelseif  item EQ 'PT'> 
					   F302  = <cfqueryparam value="#goalscount#"  cfsqltype="CF_SQL_VARCHAR">
					<cfelseif  item EQ 'OT'> 
					   F303  = <cfqueryparam value="#goalscount#"  cfsqltype="CF_SQL_VARCHAR">
					</cfif>,
					Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
					Record_Mod_By =  <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
					 WHERE Assmt_ID  =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#">
					 AND status  = 0
				</cfquery>
			</cfloop>

	   <cfreturn 'success' />
   	</cffunction>


   	<cffunction name="updategoalmanager"  access="remote" output="Yes" returnformat="plain" returntype="string">   
   		<cfargument name="Skill" required="yes" default="0">
		<cfargument name="Assmt_ID" required="yes" default="0">
		<cfargument name="goalmanager"	 required="yes" default="0">

		<cfquery  name="updatepAssessments" datasource="#Application.DataSrc#">
		    UPDATE #Request.prefix_db_agency#.pAssessments SET 
		    	<cfif arguments.Skill  EQ 'SN'>
		    		F304 = <cfqueryparam value="#arguments.goalmanager#"  cfsqltype="CF_SQL_VARCHAR">,
		    	<cfelseif arguments.Skill  EQ 'PT'>
		    		F305 = <cfqueryparam value="#arguments.goalmanager#"  cfsqltype="CF_SQL_VARCHAR">,
		    	<cfelseif arguments.Skill  EQ 'OT'>
		    		F306 = <cfqueryparam value="#arguments.goalmanager#"  cfsqltype="CF_SQL_VARCHAR">,
		    	</cfif>
		    	Record_Mod_Date = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">,
			Record_Mod_By =  <cfqueryparam VALUE="#session.employeeid#"  cfsqltype="cf_sql_integer">
			WHERE Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#">
			AND Status = 0
		</cfquery>
		<cfreturn 'success' />	     
	</cffunction>


	<cffunction name="getParentOASISold" access="public" output="yes" returnformat="JSON">
		<cfargument name="Admit_ID" required="yes" default="0">
		<cfquery name = "GetA" datasource="#Application.DataSrc#">
			SELECT *,LEFT(pAssessments.F26,1) AS assmtreason FROM #Request.prefix_db_agency#.pAssessments 
			JOIN #Request.prefix_db_agency#.pPatients ON pAssessments.Patient_ID = pPatients.Patient_ID
			WHERE pPatients.Loc_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.agencyid#">
			<!--- AND  pAssessments.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.cs.patientid#"> --->
			AND pAssessments.status = 0 
			AND pAssessments.Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
			AND pPatients.status < 2
			Order By F176 ASC 
		</cfquery>

		<cfquery name="getSOC_recert" dbtype="query">    
			SELECT *  FROM  GetA
			WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
			AND  assmtreason IN ('1','4')
			ORDER BY F177 DESC  
		</cfquery>

	

		<cfset enable_eval = "" >
		<cfset enable_AssmtID = "" >
		<cfset currentSkill = "" >
		<cfif getSOC_recert.recordcount EQ 0 >
			<cfquery name="getsn" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('SN Adult Evaluation')
				AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getpt" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('PT Adult Evaluation')
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getst" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('ST Adult Evaluation')
				AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getot" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('OT Adult Evaluation')
				ORDER BY F177 DESC  
			</cfquery>

			<cfif getsn.recordcount gt 0 >
				<cfset enable_eval =  #getsn.F26# >
				<cfset enable_AssmtID =  #getsn.Assmt_ID# >
				<cfset currentSkill =  #getsn.F27# >
			<cfelseif getpt.recordcount gt 0 >
				<cfset enable_eval =  #getpt.F26# >
				<cfset enable_AssmtID =  #getpt.Assmt_ID# >
				<cfset currentSkill =  #getpt.F27# >
			<cfelseif getst.recordcount gt 0 >
				<cfset enable_eval =  #getst.F26# >
				<cfset enable_AssmtID =  #getst.Assmt_ID# >
				<cfset currentSkill =  #getst.F27# >
			<cfelseif getot.recordcount gt 0 >
				<cfset enable_eval =  #getot.F26# >
				<cfset enable_AssmtID =  #getot.Assmt_ID# >
				<cfset currentSkill =  #getot.F27# >
			</cfif>
		<cfelse>
			<cfset enable_eval =  #getSOC_recert.F26# >
			<cfset enable_AssmtID =  #getSOC_recert.Assmt_ID# >
			<cfset currentSkill =  #getSOC_recert.F27# >
		</cfif>
		<cfset parentJson = {'Assmt_ID':enable_AssmtID,'Skill':currentSkill,'enable_eval':enable_eval} />
		<cfreturn parentJson />
	</cffunction>
	<cffunction name="getParentOASIS" access="public" output="yes" returnformat="JSON">
		<cfargument name="Admit_ID" required="yes" default="0">
		<cfargument name="ignorecertdate" required="no" default="0">
		<cfargument name="agencyID" required="no" default="0">
		<cfif arguments.Admit_ID EQ ''>
			<cfset arguments.Admit_ID = 0>
		</cfif>
		<cfif NOT IsNumeric(arguments.agencyID)>
			<cfset arguments.agencyID = 0>
		</cfif>
		<cfquery name = "GetA" datasource="#Application.DataSrc#">
			SELECT *,LEFT(pAssessments.F26,1) AS assmtreason FROM #Request.prefix_db_agency#.pAssessments 
			JOIN  #Request.prefix_db_agency#.pAdmit ON pAdmit.Admit_ID = pAssessments.Admit_ID AND  pAdmit.status =0
			AND pAdmit.Patient_ID = pAssessments.Patient_ID
			JOIN #Request.prefix_db_agency#.pPatients ON pAssessments.Patient_ID = pPatients.Patient_ID
			WHERE  <!--- pPatients.Loc_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.agencyid#">
			AND  pAssessments.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.cs.patientid#"> --->
			 pAssessments.status = 0 
			AND pAssessments.Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
			AND pPatients.status IN (0,1,4)
			Order By F176 ASC, F177 ASC 
		</cfquery>
	
		<cfquery name="getSOC_recert" dbtype="query">    
			SELECT *  FROM  GetA
			WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
			AND  (assmtreason IN ('1','4') OR  F26 like 'Hospice admission')
			<cfif ignorecertdate NEQ 1 >
				AND F177 <= #now()#
			</cfif>
			ORDER BY F177 DESC  
		</cfquery>

	

		<cfset enable_eval = "" >
		<cfset enable_AssmtID = "0" >
		<cfset currentSkill = "" >
		<cfif getSOC_recert.recordcount EQ 0 >
			<cfquery name="getsn" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('SN Adult Evaluation')
				AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getpt" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('PT Adult Evaluation')
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getst" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('ST Adult Evaluation')
				AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getot" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  F26 IN ('OT Adult Evaluation')
				ORDER BY F177 DESC  
			</cfquery>

			<cfquery name="getAllEvaluations" dbtype="query">    
				SELECT *  FROM  GetA
				WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
				AND  (F26 like '%Adult%' OR F26 like '%Pediatric%')
				AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
				ORDER BY F177 DESC  
			</cfquery>


			<cfif getAllEvaluations.recordcount gt 0 >

				<cfquery name="getParentEvaluation" datasource="#Application.DataSrc#">    
					SELECT *  FROM  #Request.prefix_db_agency#.pAssessments
					WHERE Assmt_ID IN (<cfqueryparam cfsqltype="cf_sql_integer" value="#valueList(getAllEvaluations.Assmt_ID)#" list="yes">)
					ORDER BY Record_Creation_Date ASC  
				</cfquery>

				<cfquery name="getEvaluation" dbtype="query">    
					SELECT *  FROM  GetA
					WHERE Status = <cfqueryparam cfsqltype="cf_sql_integer"  value="0"> 
					AND  (F26 like '%Adult%'OR F26 like '%Pediatric%')
					AND Assmt_ID = #getParentEvaluation.Assmt_ID#
					AND  Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Admit_ID#">
					ORDER BY F177 DESC  
				</cfquery>

				<cfset enable_eval =  #getEvaluation.F26# >
				<cfset enable_AssmtID =  #getEvaluation.Assmt_ID# >
				<cfset currentSkill =  #getEvaluation.F27# >
			</cfif>
			<!--- <cfif getsn.recordcount gt 0 >
				<cfset enable_eval =  #getsn.F26# >
				<cfset enable_AssmtID =  #getsn.Assmt_ID# >
				<cfset currentSkill =  #getsn.F27# >
			<cfelseif getpt.recordcount gt 0 >
				<cfset enable_eval =  #getpt.F26# >
				<cfset enable_AssmtID =  #getpt.Assmt_ID# >
				<cfset currentSkill =  #getpt.F27# >
			<cfelseif getst.recordcount gt 0 >
				<cfset enable_eval =  #getst.F26# >
				<cfset enable_AssmtID =  #getst.Assmt_ID# >
				<cfset currentSkill =  #getst.F27# >
			<cfelseif getot.recordcount gt 0 >
				<cfset enable_eval =  #getot.F26# >
				<cfset enable_AssmtID =  #getot.Assmt_ID# >
				<cfset currentSkill =  #getot.F27# >
			</cfif> --->

		<cfelse>
			<cfset enable_eval =  #getSOC_recert.F26# >
			<cfset enable_AssmtID =  #getSOC_recert.Assmt_ID# >
			<cfset currentSkill =  #getSOC_recert.F27# >
		</cfif>
		<cfset parentJson = {'Assmt_ID':enable_AssmtID,'Skill':currentSkill,'enable_eval':enable_eval} />
		<cfreturn parentJson />
	</cffunction>


</cfcomponent>