<cfcomponent>
   
	<cffunction name="UpdateStep1Function" access="remote" returnformat="plain" returntype="string">
		<cfargument name="dateass1" type="string" required="yes">
		<cfargument name="Childhoodhistory" type="string" required="yes">
		<cfargument name="Skin" type="string" required="yes">
		<cfargument name="HeadNeck" type="string" required="yes">
		<cfargument name="eyes" type="string" required="yes">
		<cfargument name="mouth" type="string" required="yes">
		<cfargument name="nose" type="string" required="yes">
		<cfargument name="Mood" type="string" required="yes">
		<cfargument name="Gastrointestinal" type="string" required="yes">
		<cfargument name="Urinary" type="string" required="yes">
		<cfargument name="Female" type="string" required="yes">
		<cfargument name="Male" type="string" required="yes">
		<cfargument name="ChkNutrition" type="string" required="yes">
		<cfargument name="ChkEndocrine" type="string" required="yes">
		<cfargument name="ChkMusculoskeletal" type="string" required="yes">
		<cfargument name="ChkCardiac" type="string" required="yes">
		<cfargument name="ChkRespiratory" type="string" required="yes">
		<cfargument name="ChkNeurological" type="string" required="yes">
		<cfargument name="RadPainLevel" type="string" required="yes">
		<cfargument name="ChkInfusion" type="string" required="yes">
		<cfargument name="txtsurgical" type="string" required="yes">
		<cfargument name="txtsurgical1" type="string" required="yes">
		<cfargument name="dateass2" type="string" required="yes">
		<cfargument name="M0230update" type="string" required="yes">	
		<cfargument name="Ears" type="string" required="yes">
		<cfargument name="finishValue" type="string" 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.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.When_Confused_M0570='#Childhoodhistory#' ,
				Assessment_New.Open_Wounds_M0440='#Skin#',
				Assessment_New.Pressure_Ulcer_M0445='#HeadNeck#',
				Assessment_New.Pressure_Ulcer_a_M0450='#eyes#',
				Assessment_New.Pressure_Ulcer_b_M0450='#Ears#',							
				Assessment_New.Pressure_Ulcer_c_M0450='#mouth#',
				Assessment_New.Pressure_Ulcer_d_M0450='#nose#',
				Assessment_New.Pressure_Ulcer_e_M0450='#Mood#',
				Assessment_New.Pressure_Ulcer_Stage_M0460='#Gastrointestinal#',
				Assessment_New.Stasis_Ulcer_Num_M0470='#Urinary#',
				Assessment_New.Stasis_Ulcer_Hidden_M0474='#Female#',
				Assessment_New.Stasis_Ulcer_Status_M0476='#Male#',
				Assessment_New.Surgical_Wound_M0482='#ChkNutrition#',
				Assessment_New.Surgical_Wound_OB_M0484='#ChkEndocrine#',
				Assessment_New.Surgical_Wound_Status_M0488='#ChkMusculoskeletal#',
				Assessment_New.Breathing_M0490='#ChkCardiac#',
				Assessment_New.Urinary_INcont_M0520='#ChkRespiratory#',
				Assessment_New.Resp_Treatments_M0500='#ChkNeurological#',
				Assessment_New.Freq_of_Pain_M0420='#RadPainLevel#',
				Assessment_New.UTI_M0510='#ChkInfusion#',
				Assessment_New.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="foo" />
		<cfreturn myResult>
	</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>
	
	<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="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">
			<cfif isdefined('session.cs.AssessmentId')>	  
				select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.diagnosis_list WHERE 
				diagnosis_list.id=#DiagnosisID# 	
			</cfif>
		</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>	
</cfcomponent>