<cfcomponent>
	<cffunction name="UpdateStep1Function" access="remote" returnformat="plain" returntype="string">
		<cfargument name="dateass1" type="string" required="yes">	
		<cfargument name="howlong" type="string" required="yes">
		<cfargument name="chkwhatis1" type="string" required="yes">
		<cfargument name="Shortness" type="string" required="yes">
		<cfargument name="chkadaptive" type="string" required="yes">
		<cfargument name="chkjoints" type="string" required="yes">
		<cfargument name="resonwhy" type="string" required="yes">
		<cfargument name="gassessment10" type="string" required="yes">
		<cfargument name="potential" type="string" required="yes">
	
		<cfargument name="hdnmuscle4" type="string" required="yes">
		<cfargument name="hdnmuscle5" type="string" required="yes">
		<cfargument name="hdnmuscle6" type="string" required="yes">
		<cfargument name="elbow" type="string" required="yes">
		<cfargument name="Forearm" type="string" required="yes">
		<cfargument name="Wrist" type="string" required="yes">
		<cfargument name="Shoulder" type="string" required="yes">
		<cfargument name="Hip" type="string" required="yes">
		<cfargument name="Knee" type="string" required="yes">
		<cfargument name="CervicalSpine" type="string" required="yes">
		<cfargument name="painlevel" type="string" required="yes">
		<cfargument name="painchare1" type="string" required="yes">
		<cfargument name="painthers" type="string" required="yes">
		<cfargument name="ratecurrent" type="string" required="yes">
	
		<cfargument name="txtbergscore" type="string" required="yes">
		<cfargument name="txttinettiscore" type="string" required="yes">
		<cfargument name="gaitsurface" type="string" required="yes">
		<cfargument name="distance" type="string" required="yes">
		<cfargument name="drpStage2" type="string" required="yes">		
		<cfargument name="hdnbathing" type="string" required="yes">
		<cfargument name="hdntoileting" type="string" required="yes">
		<cfargument name="hdntransferring" type="string" required="yes">
		<cfargument name="hdnambulation" type="string" required="yes">
		<cfargument name="hdnhsafty" type="string" required="yes">
		<cfargument name="hdnmuscle1" type="string" required="yes">
		<cfargument name="hdnmuscle2" type="string" required="yes">
		<cfargument name="hdnmuscle3" type="string" required="yes">
		
		<cfargument name="hsafty" type="string" required="yes">
		<cfargument name="bedmobility1" type="string" required="yes">
		<cfargument name="bedmobility2" type="string" required="yes">
		<cfargument name="bedmobility3" type="string" required="yes">
		<cfargument name="bedmobility4" type="string" required="yes">
		<cfargument name="bedmobility5" type="string" required="yes">
		<cfargument name="transfers1" type="string" required="yes">
		<cfargument name="transfers2" type="string" required="yes">
		<cfargument name="transfers3" type="string" required="yes">
		<cfargument name="transfers4" type="string" required="yes">
		<cfargument name="transfers5" type="string" required="yes">
		<cfargument name="transfers6" type="string" required="yes">
		<cfargument name="sittings" type="string" required="yes">
		<cfargument name="standings" type="string" required="yes">
		<cfargument name="Ankel" type="string" required="yes">
		<cfargument name="dateass2" type="string" required="yes">
		<cfargument name="txtsurgical" type="string" required="yes">
		<cfargument name="txtsurgical1" type="string" required="yes">
		<cfargument name="M0230update" required="yes">
		<cfargument name="finishValue" required="yes">
		<cfargument name="Comments" type="string" required="no">
		
		<cfquery name="Step1"  datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>
				UPDATE #Request.prefix_db_agency#.Assessment_New SET 
				<cfif dateass1 NEQ ''>
				Assessment_New.Start_of_Care_M0030=#CreateODBCDate(dateass1)#,
				<cfelse>
				Assessment_New.Start_of_Care_M0030= null,
				</cfif>
				Assessment_New.Discharged_From_M0175='#hsafty#',
				 Assessment_New.Inpatient_Discharge_Date_NA_M0180='#hdnbathing#',
				 Assessment_New.Medical_or_Treatment_Change_M0200='#hdntoileting#',
				 Assessment_New.Conditions_Prior_M0220='#hdntransferring#',
				 Assessment_New.Therapies_Home_M0250='#hdnambulation#',
				Assessment_New.Surgical_ICD_485='#txtsurgical1#',
				Assessment_New.Surgical_ICD_485_Description='#txtsurgical#',
				<cfif dateass2 NEQ ''>
				Assessment_New.Surgical_ICD_Date_485=#CreateODBCDate(dateass2)#,
				<cfelse>
				Assessment_New.Surgical_ICD_Date_485= null,
				</cfif>				
				Assessment_New.Overall_Prognosis_M0260='#bedmobility1#',
				Assessment_New.Transferring_M0690p='#bedmobility2#',
				Assessment_New.Life_Exp_M0280='#bedmobility3#',
				Assessment_New.High_Risk_Factors_M0290='#bedmobility4#',
				Assessment_New.Vision_M0390='#bedmobility5#',
				Assessment_New.Hearing_M0400='#transfers1#',
				Assessment_New.Speech_M0410='#transfers2#',
				Assessment_New.Freq_of_Pain_M0420='#transfers3#',
				Assessment_New.Intrac_Pain_M0430='#transfers4#',
				Assessment_New.Open_Wounds_M0440='#transfers5#',
				Assessment_New.Pressure_Ulcer_M0445='#transfers6#',
				Assessment_New.Pressure_Ulcer_a_M0450='#sittings#',
				Assessment_New.Pressure_Ulcer_b_M0450='#standings#',
				Assessment_New.Pressure_Ulcer_c_M0450='#txtbergscore#',
				Assessment_New.Pressure_Ulcer_d_M0450='#txttinettiscore#',
				Assessment_New.Pressure_Ulcer_e_M0450='#gaitsurface#',
				Assessment_New.Pressure_Ulcer_Stage_M0460='#distance#',
				Assessment_New.HHRG_825_Score='#drpStage2#',
				Assessment_New.Pressure_Ulcer_Status_M0464='#hdnmuscle1#',
				Assessment_New.Stasis_Ulcer_M0468='#hdnmuscle2#',
				Assessment_New.Stasis_Ulcer_Num_M0470='#hdnmuscle3#',
				Assessment_New.Stasis_Ulcer_Hidden_M0474='#hdnmuscle4#',
				Assessment_New.Stasis_Ulcer_Status_M0476='#hdnmuscle5#',
				Assessment_New.Surgical_Wound_M0482='#hdnmuscle6#',
				Assessment_New.Surgical_Wound_Hidden_M0486='#elbow#',
				Assessment_New.Breathing_M0490='#Forearm#',
				Assessment_New.UTI_M0510='#Wrist#',
				Assessment_New.Urinary_INcont_when_M0530='#Shoulder#',
				Assessment_New.Ostomy_for_Bowel_M0550='#Hip#',
				Assessment_New.When_Confused_M0570='#Knee#',
				Assessment_New.Depressive_Feelings_M0590='#Ankel#',
				Assessment_New.Patient_Behav_freq_M0620='#CervicalSpine#',
				Assessment_New.Psy_Nursing_M0630='#painlevel#',
				Assessment_New.Grooming_M0640='#painchare1#',				
				Assessment_New.Grooming_M0640p='#painthers#',
				Assessment_New.Dress_Upper_M0650='#ratecurrent#',
				Assessment_New.Dress_Upper_M0650p='#howlong#',
				Assessment_New.Dress_Lower_M0660='#chkwhatis1#',
				Assessment_New.Dress_Lower_M0660p='#Shortness#',
				Assessment_New.Bathing_M0670='#chkjoints#',
				Assessment_New.Bathing_M0670p='#chkadaptive#',
				Assessment_New.Toileting_M0680='#resonwhy#',
				Assessment_New.Toileting_M0680p='#gassessment10#',
				Assessment_New.Rehab_Prognosis_M0270='#potential#',
				Assessment_note='#Comments#',
				<cfif finishValue eq 1>
				AssessmentType_New = 1,
				Admission_Status = 'Complete'
				<cfelse>
				AssessmentType_New = 0,
				Admission_Status = 'In Progress'
				</cfif>
				where Assessment_ID='#session.cs.AssessmentId#' 
			</cfif>
		</cfquery>
			
			<cfif M0230update NEQ "">
				<cfloop index="First" list="#M0230update#" delimiters="!">
				<cfset Secondcount=0 />
				<cfloop index="Second1" list="#First#" delimiters="-">
				<cfset Secondcount=Secondcount+1 />
				<cfif Secondcount eq 1>
				<cfset Id=#Second1# />
				</cfif>
				<cfif Secondcount eq 2>
				<cfset severity=#Second1# />
				</cfif>
				<cfif Secondcount eq 3>
				<cfset dxorder=#Second1# />
				</cfif>
				<cfif Secondcount eq 4>
				<cfset primary=#Second1# />
				</cfif>
				<cfif Secondcount eq 5>
				<cfset secondary=#Second1# />
				</cfif>
				</cfloop>
			
				
				<cfoutput>
				<cfquery name="M1020upd" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="30">
					<cfif isdefined('session.cs.AssessmentId')>
						UPDATE IGNORE  #Request.prefix_db_agency#.Diagnosis SET Severity='#severity#',Primary_Diagnosis='#primary#',Secondary_Diagnosis='#secondary#',
						Dx_Order = '#dxorder#' where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#Id#
					</cfif>	
				</cfquery>
				</cfoutput>
				
				<cfset Secondcount=0 />
				<cfset Id='' />
				<cfset severity='' />
				<cfset dxorder='' />
				<cfset primary='' />
				<cfset secondary='' />
				
				</cfloop>
			</cfif>
		<cfset myResult=#potential# />
		<cfreturn myResult>
	</cffunction>
	
	<cffunction  name="PTDiagnosis" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Primary" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Secondary" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Severity" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Onset" required="yes" hint="SOC M0230 Diagnosis">
		
		<cfset DupDiagnosis="M0230" />
		<cfset m02301='#session.cs.AssessmentId#'&' M0230' />
		
		<cfquery name="AssID" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>
				Select Assessment_Tracker_ID,Patient_ID,Agency_ID From #Request.prefix_db_agency#.Assessment_New
				where Assessment_ID= '#session.cs.AssessmentId#'
			</cfif>
		</cfquery>
		<cfquery name="new" datasource="#Application.DataSrc#">
     SELECT Assessment_Completed_M0090 FROM #Request.prefix_db_agency#.Assessment_New where Assessment_ID = '#session.cs.AssessmentId#'
        </cfquery>
<cfif new.Assessment_Completed_M0090 gt '2015-09-30'>
		  <cfquery name="M0230fetch" datasource="#Application.DataSrc#">	  
		<cfsetting requesttimeout="30">
			select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.Dx_list_ICD10 WHERE 
			Dx_list_ICD10.id=#DiagnosisID# 	
		</cfquery>
<cfelse>		
		<cfquery name="M0230fetch" datasource="#Application.DataSrc#">	  
		<cfsetting requesttimeout="30">
			select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.diagnosis_list WHERE 
			diagnosis_list.id=#DiagnosisID# 	
		</cfquery>
</cfif>	
		<cfquery name="M0230count" datasource="#Application.DataSrc#">	   
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>  	   
				 select Count(Diagnosis.Diagnosis_ID) as M0230RecordCount from #Request.prefix_db_agency#.Diagnosis where 
				Diagnosis.Assessment_ID='#session.cs.AssessmentId#' and Diagnosis.Diagnosis LIKE '%#M0230fetch.Diagnosis#%' 
				and M0230_Link LIKE '%#m02301#%'
			</cfif>
		</cfquery>
		
		<cfif M0230count.M0230RecordCount eq 0>	
		<cfset ICDV = #left(M0230fetch.ICD,1)# />
		<cfif new.Assessment_Completed_M0090 gt '2015-09-30' and  #M0230Primary# eq 1 and (ICDV eq 'V' or ICDV eq 'W' or  ICDV eq 'X' or  ICDV eq 'Y')>
		<cfset DupDiagnosis="M0230NOTAdded" />
		<cfelseif isdefined('session.cs.AssessmentId')>
		<cfquery name="M0230Insert" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			
				INSERT INTO #Request.prefix_db_agency#.Diagnosis(Assessment_ID,Assessment_Tracker_ID,Patient_ID,Agency_ID,Diagnosis,ICD,Code_Type,
				Pathway_Type,
				Short_Diagnosis,Text_ICD,M0230_Link,Severity,Primary_Diagnosis,Secondary_Diagnosis,Dx_Order,DG_Type) VALUES 	
				('#session.cs.AssessmentId#','#AssID.Assessment_Tracker_ID#','#AssID.Patient_ID#',
				'#AssID.Agency_ID#','#M0230fetch.Diagnosis#','#M0230fetch.ICD#','#M0230fetch.Code_Type#','#M0230fetch.Pathway_Type#',
				'#M0230fetch.Short_Diagnosis#','#M0230fetch.ICD#','#m02301#','#M0230Severity#','#M0230Primary#',
				'#M0230Secondary#','1','#M0230fetch.Other_DG#')	
			
		</cfquery>
				
		<cfset DupDiagnosis="M0230Added" />
		<cfelse>
		<cfset DupDiagnosis="M0230DUP" />		
		</cfif>	</cfif>	
       
    <cfreturn DupDiagnosis>
    </cffunction>
	
	<cffunction  name="StartCareUPVital" access="remote" returnformat="plain" returntype="string">
			<cfargument name="AssTrackID" required="yes" hint="SOC Step AddVital">
			<cfargument name="Type" required="no" hint="SOC Step AddVital">
			<cfargument name="Reading" required="no" hint="SOC Step AddVital">
			<cfargument name="Severity" required="no" hint="SOC Step AddVital">
			<cfargument name="Notes" required="no" hint="SOC Step AddVital">
	   <cfset patientid= Val(Trim(#session.cs.patientid#)) />
       <cfset AssessmentTrackerID= Val(Trim(#AssTrackID#)) />
       <cfset AssessmentID= Val(Trim(#session.cs.AssessmentId#)) />
	<cfif isdefined('session.cs.AssessmentId')>		          
		   <cfquery name="patientaddvital" datasource="#Application.DataSrc#">
		   <cfsetting requesttimeout="30">
		   		
				 INSERT INTO #Request.prefix_db_agency#.PatientVisitDetails(ScheduleItems_ID,Description,Agency_ID,
Patient_ID,Assessment_ID,Assessment_Tracker_ID,Record_Creation_Date,Type,Notes,Reading1<cfif isdefined('Severity')>,Severity</cfif>) VALUES ('#session.cs.ScheduleId#','#Type#','#Session.AgencyLogin#','#patientid#','#AssessmentID#','#AssessmentTrackerID#','#DateFormat(now(),"yyyy-mm-dd")#','vital sign','#Notes#','#Reading#'<cfif isdefined('Severity')>,'#Severity#'</cfif>)
		   </cfquery>
					</cfif>
					<cfquery name="patientaddvital1" datasource="#Application.DataSrc#">
					select LAST_INSERT_ID() as keyvalue
			     </cfquery>  
			
		<cfreturn 'AddVital'>
    </cffunction>
	
	<cffunction  name="M0230Delete" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M0230 Diagnosis Delete">
		<cfargument name="M0230update" required="yes" hint="SOC M0230 Diagnosis Update"> 
				
		<cfquery name="M0230Delete" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>
				 delete from #Request.prefix_db_agency#.Diagnosis where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#DiagnosisID#
			</cfif>
		</cfquery>
		
		<cfloop index="First" list="#M0230update#" delimiters="!">
		<cfset Secondcount=0 />
		<cfloop index="Second1" list="#First#" delimiters="-">
		<cfset Secondcount=Secondcount+1 />
		<cfif Secondcount eq 1>
		<cfset Id=#Second1# />
		</cfif>
		<cfif Secondcount eq 2>
		<cfset severity=#Second1# />
		</cfif>
		<cfif Secondcount eq 3>
		<cfset dxorder=#Second1# />
		</cfif>
		<cfif Secondcount eq 4>
		<cfset primary=#Second1# />
		</cfif>
		<cfif Secondcount eq 5>
		<cfset secondary=#Second1# />
		</cfif>
		</cfloop>
		
		<cfoutput>
		<cfquery name="M1020upd" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>
				 UPDATE IGNORE  #Request.prefix_db_agency#.Diagnosis SET Severity='#severity#',Primary_Diagnosis='#primary#',Secondary_Diagnosis='#secondary#',
				 Dx_Order = '#dxorder#' where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#Id#	
		 	</cfif>
		</cfquery>
		</cfoutput>
		
		<cfset Secondcount=0 />
		<cfset Id='' />
		<cfset severity='' />
		<cfset dxorder='' />
		<cfset primary='' />
		<cfset secondary='' />
		
		</cfloop>
       
    <cfreturn 'M0230Delete'>
    </cffunction>
</cfcomponent>


