<!---pathway.cfc--->
<cfcomponent displayname="Get_Customize_careplan"   hint="ColdFusion Component for pathway">

	
	<cffunction name="insert_diagnosis"  access="remote" output="Yes" returnFormat= "JSON">   
		 <cfargument name="patient_id" required="yes" default="0">
		 <cfargument name="assessment_id" required="yes" default="0">
		 <cfargument name="Dx_list_ICD10_id" required="yes" default="0">
		 <cfargument name="Primary_check" required="yes" default="0"> 
		 <cfargument name="ICD_no" required="yes" default="0"> 
		  <cfif arguments.patient_id  neq 0>
		  		<cfset arguments.assessment_id= decrypt(#arguments.assessment_id#,"54kczhzgHTj4a8n+SRZPyg==","AES","Hex")/>
		  		<cfif arguments.Primary_check EQ 1>
		  		 	<cfset M0_No = 'M1021'>
		  		<cfelse>
		  			<cfset M0_No = 'M1023'>
		  		</cfif>		   	  
				<cfquery  name="pProblem_insert" datasource="#Application.DataSrc#">
					INSERT INTO #Request.prefix_db_agency#.pProblem
					(
						 Assmt_ID, Status, M0_No, Description, Severity, Date_Create, Created_by, Date_Change, Change_by
					) 
					VALUES
					(							
						<cfqueryparam value = "#arguments.assessment_id#" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
						<cfqueryparam value="#M0_No#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="#arguments.ICD_no#"  cfsqltype="cf_sql_varchar">,
						<cfqueryparam value = "2" CFSQLType ="CF_SQL_INTEGER">,
						<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="Sucess" />					
				<cfreturn insert_action />	
			<cfelse>	
				<cfset insert_action="failure" />					
				<cfreturn insert_action />						
			</cfif>						
	</cffunction>	

	<cffunction name="Diagnosis_list"  access="remote" output="Yes" returnFormat= "JSON">  
		<cfargument name="patient_id" required="yes">
		<cfargument name="assessment_id" required="yes"> 
		<cfquery name="diagnoses_grid" datasource="#Application.DataSrc#">
				SELECT 
					pProblem.Problem_ID as Dg_id, pProblem.Assmt_ID as Dg_Assessment_ID, pProblem.Assmt_ID as Dg_Assessment_Tracker_ID, pPatients.Patient_ID as Dg_Patient_ID, pPatients.Pt_Agy_ID as Dg_Agency_ID,	pProblem.Answer as Dg_Diagnosis, pProblem.Description as Dg_ICD, "" as Dig_Pathway_Type, pProblem.M0_No as Dig_Primary_Diagnosis, pProblem.M0_No as Dg_PDGM_Primary,'' as Dx_Order, pProblem.Severity as Dx_Severity, pProblem.Date_Create as Dg_Record_Creation_Date, pProblem.Created_by as Dg_Record_Created_By, pProblem.Date_Change as Dg_Record_Mod_Date, pProblem.Change_by as Dg_Record_Mod_By, pPatients.Pt_First, pPatients.Pt_Last, pPatients.Pt_Middle, pAssessments.F26 as Assessment_Reason_M0100, pAssessments.F176 as Assessment_Completed_M0090,SuperUsers.Full_Name as super_user_name
				FROM 				
					#Request.prefix_db_agency#.pProblem		
					LEFT JOIN #Request.prefix_db_agency#.pAssessments on pAssessments.Assmt_ID = pProblem.Assmt_ID
					LEFT JOIN #Request.prefix_db_agency#.pPatients on pPatients.Patient_ID = pAssessments.Patient_ID
					LEFT JOIN #Request.prefix_db_lookup#.SuperUsers on SuperUsers.User_ID = pProblem.Date_Create	
				WHERE  
					pPatients.Patient_ID=<cfqueryparam value="#arguments.patient_id#" cfsqltype="cf_sql_integer"> 
					AND pPatients.Pt_Agy_ID=<cfqueryparam value="#session.AgencyID#" cfsqltype="cf_sql_integer"> 
					AND pProblem.Assmt_ID=<cfqueryparam value="#arguments.assessment_id#" cfsqltype="cf_sql_integer">
					AND pProblem.Status= <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER"> 
					GROUP BY  pProblem.Problem_ID				
					ORDER BY pProblem.Date_Create	DESC	
	    </cfquery> 
		<cfreturn diagnoses_grid />	
	</cffunction>

	<cffunction name="Get_Superuser_Details"  access="remote" output="Yes" returnFormat= "JSON"> 
		<cfargument name="Created_By" required="yes"> 
		<cfquery name="get_super_user_name" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_lookup#.SuperUsers
	         WHERE User_ID=<cfif arguments.Created_By eq ''>0<cfelse><cfqueryparam value="#arguments.Created_By#" cfsqltype="cf_sql_integer"></cfif>
		</cfquery>
		<cfreturn get_super_user_name />	
	</cffunction>		


	<cffunction name="get_tittle"  access="remote" output="Yes" returntype="query">
	   <cfargument name="type" required="yes" hint="careplan Type" default=""> 
	    <cfquery name="careplan_title" datasource="#Application.DataSrc#">    
                   SELECT * FROM #Request.prefix_db_lookup#.pathway_list
                <cfif #arguments.type# eq 'careplan'>
                   WHERE  Type = 'goal' OR  Type = 'intervention'
                <cfelse>
                   WHERE  Type = <cfqueryparam value="#arguments.type#"  cfsqltype="cf_sql_varchar">
                </cfif>
                GROUP BY Pathway_ID,M0_Answer
        </cfquery> 
	    <cfreturn careplan_title />
    </cffunction>

   <cffunction name="get_pAuth"  access="remote" output="Yes" returntype="query">
	   <cfargument name="Assmt_ID" required="yes" hint="pAssmt_ID" default="0"> 
	   <cfargument name="Skill" required="yes" hint="careplan Type" default=""> 
	   <cfquery name="pAuth_data" datasource="#Application.DataSrc#">    
            <cfif arguments.Assmt_ID neq 0>
            	 SELECT IFNULL(Total_Visits,0) as Total_Visits,Auth_ID  FROM #Request.prefix_db_agency#.pAuths
             	 WHERE status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER"> 
	             AND Assmt_ID = <cfqueryparam value="#arguments.Assmt_ID#"  cfsqltype="cf_sql_varchar">
	             AND Skill = <cfqueryparam value="#arguments.Skill#"  cfsqltype="cf_sql_varchar">
	          <cfelse>
	          	 SELECT 0 as Total_Visits 
             </cfif>
       </cfquery> 
	   <cfreturn pAuth_data />
    </cffunction>
    
    <cffunction name="get_Employee"  access="remote" output="Yes" returntype="query">		
		<cfargument name="AgencyID" required="yes" hint="AgencyID" default="#session.agencyid#"> 
		<cfquery name="get_emp" datasource="#Application.DataSrc#">    
			SELECT Employee_ID, Last_Name,First_Name FROM #Request.prefix_db_lookup#.Employee
			WHERE  Status = '0' 
			AND Agency_ID = #arguments.AgencyID# 
			ORDER BY Last_Name,First_Name
		</cfquery> 
		<cfreturn get_emp />
    </cffunction>	

    <cffunction name="Get_Coding_Patient_subqueyold"  access="remote" output="Yes" returnFormat= "JSON">
		<cfargument name="AgencyID" required="yes" hint="AgencyID" default="#session.agencyid#"> 
			<cfquery  datasource="#Application.DataSrc#" name="Getpatient">
				SELECT 
				pPatients.Patient_ID, pAssessments.*, 0 as OASIS_2019_2020_PDGM,
				pPatients.Pt_Last AS PatientLast, pPatients.Pt_First AS PatientFirst, 
				(select COUNT(*) from #Request.prefix_db_agency#.Coding_Results where 
					Coding_Results.Patient_ID = pPatients.Patient_ID
					and Coding_Results.Assessment_ID = pAssessments.Assmt_ID
					and M0_Item_Medication like '%(M102%'
				) as Recommended_Diagnosis_Report,
				(select COUNT(*) from #Request.prefix_db_agency#.Coding_Results 
				where 
					Coding_Results.Patient_ID = pPatients.Patient_ID
					and Coding_Results.Assessment_ID = pAssessments.Assmt_ID
				) as Recom_Visit_Schdule_Report ,
				(select COUNT(*) from #Request.prefix_db_agency#.Coding_Scrub where 
					Coding_Scrub.Patient_ID = pPatients.Patient_ID
					and Coding_Scrub.Assessment_ID = pAssessments.Assmt_ID
				) as OASIS_D_PDGM_Report
				FROM #Request.prefix_db_agency#.pPatients
				JOIN  #Request.prefix_db_agency#.pAssessments  on  pPatients.Patient_ID = pAssessments.Patient_ID
				LEFT OUTER JOIN  #Request.prefix_db_agency#.Assessment_New_CW  on  pAssessments.Assmt_ID = Assessment_New_CW.Assessment_ID
				LEFT JOIN  #Request.prefix_db_agency#.Coding_Results  on  Coding_Results.Patient_ID = pPatients.Patient_ID and Coding_Results.Assessment_ID = pAssessments.Assmt_ID
				WHERE	 	-- pPatients.Pt_Agy_ID = <cfqueryparam value="#arguments.AgencyID#" cfsqltype="cf_sql_integer"> AND	
				pPatients.Status = '0'						
				AND	pAssessments.status = 0
				AND (pAssessments.F26 like '%Start of Care%' OR  pAssessments.F26 like '%Resumption of Care%' OR pAssessments.F26 like '%Recertification%' OR pAssessments.F26 like '%Adult%' OR  pAssessments.F26 like '%Other%')
				GROUP BY pAssessments.Assmt_ID 
				Order by pAssessments.record_timestamp DESC,pAssessments.F176 DESC , PatientLast ASC
			</cfquery>
			<cfset response_key = [] />
			<cfset exp_all = []/>
			<cfparam name="obj" default="">
			<cfparam name="Explanation_obj" default="">
			<cfset Patient_ID_Array= ArrayNew(1)>			
			<cfloop query="#Getpatient#">								
				<cfif ArrayContains(Patient_ID_Array,#Getpatient.PATIENT_ID#)>						
					<cfloop index="thisElement" from="1" to="#arraylen( Patient_ID_Array )#">						
						<cfif #response_key[thisElement].Patient_ID_Header# EQ #Getpatient.PATIENT_ID#>						
							<cfset Get_Array_Position = #thisElement#>
						</cfif>
					</cfloop>	
					<cfset Explanation_obj  = { "Patient_ID" = #Getpatient.PATIENT_ID#, "Assessment_ID"  = #Getpatient.Assmt_ID#, "Assessment_Reason_M0100" = #Getpatient.F26#, "Assessment_Completed_M0090" = #Getpatient.F176#, "Assessment_creat_type" = #Getpatient.OASIS_2019_2020_PDGM#, "Recommended_Diagnosis_Report" = #Getpatient.Recommended_Diagnosis_Report#, "Interven_Goals_Report" = "", "Recom_Visit_Schdule_Report" = #Getpatient.Recom_Visit_Schdule_Report#, "OASIS_D_PDGM_Report" = #Getpatient.OASIS_D_PDGM_Report#,"uploaded" = #Getpatient.record_timestamp# }  />										
					<cfset arrayAppend(response_key[#Get_Array_Position#].Data_All,Explanation_obj) />					
					<cfset Explanation_obj = "">
					<cfset Get_Array_Position = "">
				<cfelse>
					<cfset ArrayAppend(Patient_ID_Array, #Getpatient.PATIENT_ID#)>					
					<cfset Explanation_obj  = { "Patient_ID" = #Getpatient.PATIENT_ID#, "Assessment_ID"  = #Getpatient.Assmt_ID#, "Assessment_Reason_M0100" = #Getpatient.F26#, "Assessment_Completed_M0090" = #Getpatient.F176#, "Assessment_creat_type" = #Getpatient.OASIS_2019_2020_PDGM#, "Recommended_Diagnosis_Report" = #Getpatient.Recommended_Diagnosis_Report#, "Interven_Goals_Report" = "", "Recom_Visit_Schdule_Report" = #Getpatient.Recom_Visit_Schdule_Report#, "OASIS_D_PDGM_Report" = #Getpatient.OASIS_D_PDGM_Report#,"uploaded" = #Getpatient.record_timestamp# }  />
					<cfset arrayAppend(exp_all,Explanation_obj) /> 
				
					<cfset obj  = {"Patient_ID_Header" = #Getpatient.PATIENT_ID# , "Data_All" = exp_all , "PatientLast" = #Getpatient.PatientLast#, "PatientFirst" = #Getpatient.PatientFirst# <!---, "Assessment_count" = #ArrayLen(exp_all)#---> }  />
					<cfset arrayAppend(response_key,obj) />					
					<cfset exp_all = []>
					<cfset obj = "">
					<cfset Explanation_obj = "">
			    </cfif>	
			</cfloop>	
			<cfreturn  serializeJSON(response_key) > 
    </cffunction>	

    <cffunction name="Get_Coding_Patient_subquey"  access="remote" output="Yes" returnFormat= "JSON">
		<cfargument name="AgencyID" required="yes" hint="AgencyID" default="#session.agencyid#"> 
			<cfquery  datasource="#Application.DataSrc#" name="Getpatient">
				SELECT 
				pPatients.Patient_ID, pAssessments.*,
				pPatients.Pt_Last AS PatientLast, pPatients.Pt_First AS PatientFirst,
                (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'SN') AS SN,
                (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'HHA') AS HHA,
                (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'PT') AS PT,
                (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'OT') AS OT,
                  (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'ST') AS ST,
                  (SELECT Total_Visits FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 AND Skill = 'MSW') AS MSW,
                 (SELECT Date_Change FROM #Request.prefix_db_agency#.pCareplan 
                WHERE pCareplan.Assmt_ID = pAssessments.Assmt_ID AND status= 0 ORDER BY Date_Change DESC LIMIT 1) as careplan_date_Change,
                 (SELECT Date_Change FROM #Request.prefix_db_agency#.pAuths 
                WHERE pAuths.Assmt_ID = pAssessments.Assmt_ID AND status= 0 ORDER BY Date_Change DESC LIMIT 1) as auth_date_Change

				FROM #Request.prefix_db_agency#.pPatients
				JOIN #Request.prefix_db_agency#.pAssessments  ON  pPatients.Patient_ID = pAssessments.Patient_ID
                LEFT OUTER JOIN #Request.prefix_db_agency#.pAuths ON pAuths.Assmt_ID = pAssessments.Assmt_ID
				WHERE	 
				<!--- pPatients.Pt_Agy_ID = <cfqueryparam value="#arguments.AgencyID#" cfsqltype="cf_sql_integer"> AND --->
					pPatients.Status = '0'						
				AND	pAssessments.status = 0
				AND (pAssessments.F26 like '%Start of Care%' OR  pAssessments.F26 like '%Resumption of Care%' 
                OR pAssessments.F26 like '%Recertification%' OR pAssessments.F26 like '%Adult%' OR  pAssessments.F26 like '%Other%')
				GROUP BY pAssessments.Assmt_ID 
				Order by careplan_date_Change DESC , auth_date_Change DESC, pAssessments.record_timestamp DESC
				<!--- pAssessments.record_timestamp DESC,pAssessments.F176 DESC , PatientLast ASC --->
			</cfquery>
			<cfset response_key = [] />
			<cfset exp_all = []/>
			<cfparam name="obj" default="">
			<cfparam name="Explanation_obj" default="">
			<cfset Patient_ID_Array= ArrayNew(1)>			
			<cfloop query="#Getpatient#">								
				<cfif ArrayContains(Patient_ID_Array,#Getpatient.PATIENT_ID#)>						
					<cfloop index="thisElement" from="1" to="#arraylen( Patient_ID_Array )#">						
						<cfif #response_key[thisElement].Patient_ID_Header# EQ #Getpatient.PATIENT_ID#>						
							<cfset Get_Array_Position = #thisElement#>
						</cfif>
					</cfloop>	
					<cfset Explanation_obj  = { "Patient_ID" = #Getpatient.PATIENT_ID#, "Assessment_ID"  = #Getpatient.Assmt_ID#, "Assessment_Reason_M0100" = #Getpatient.F26#, "Assessment_Completed_M0090" = #Getpatient.F176#, "SN" = #Getpatient.SN#, "HHA" = #Getpatient.HHA#, "PT" = #Getpatient.PT#, "OT" = #Getpatient.OT#, "ST" = #Getpatient.ST#, "MSW" = #Getpatient.MSW#,"uploaded" = #Getpatient.record_timestamp# }  />										
					<cfset arrayAppend(response_key[#Get_Array_Position#].Data_All,Explanation_obj) />					
					<cfset Explanation_obj = "">
					<cfset Get_Array_Position = "">
				<cfelse>
					<cfset ArrayAppend(Patient_ID_Array, #Getpatient.PATIENT_ID#)>					
					<cfset Explanation_obj  = { "Patient_ID" = #Getpatient.PATIENT_ID#, "Assessment_ID"  = #Getpatient.Assmt_ID#, "Assessment_Reason_M0100" = #Getpatient.F26#, "Assessment_Completed_M0090" = #Getpatient.F176#,"SN" = #Getpatient.SN#, "HHA" = #Getpatient.HHA#, "PT" = #Getpatient.PT#, "OT" = #Getpatient.OT#, "ST" = #Getpatient.ST#, "MSW" = #Getpatient.MSW#,"uploaded" = #Getpatient.record_timestamp# }  />
					<cfset arrayAppend(exp_all,Explanation_obj) /> 
				
					<cfset obj  = {"Patient_ID_Header" = #Getpatient.PATIENT_ID# , "Data_All" = exp_all , "PatientLast" = #Getpatient.PatientLast#, "PatientFirst" = #Getpatient.PatientFirst# <!---, "Assessment_count" = #ArrayLen(exp_all)#---> }  />
					<cfset arrayAppend(response_key,obj) />					
					<cfset exp_all = []>
					<cfset obj = "">
					<cfset Explanation_obj = "">
			    </cfif>	
			</cfloop>	
			<cfreturn  serializeJSON(response_key) > 
    </cffunction>	


   <cffunction name="Get_Patients_list"  access="remote" output="Yes" returnFormat= "JSON"> 
		<cfargument name="patient_id" hint="Patient ID" required="yes"> 
		<cfargument name="AgencyID" hint="Agency ID" default="#session.AgencyID#"> 
		<cfquery name="get_Patient" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.pPatients 
			WHERE Patient_ID=<cfqueryparam value="#arguments.patient_id#" cfsqltype="cf_sql_integer">
			AND Agency_ID=<cfqueryparam value="#arguments.AgencyID#" cfsqltype="cf_sql_integer">
	   </cfquery> 
		<cfreturn get_Patient />	
	</cffunction>


	<cffunction name="Get_Assessment_Details"  access="remote" output="Yes" returnFormat= "JSON"> 
		<cfargument name="assessment_id" required="yes">	
		<cfargument name="patient_id" required="yes">
		<cfquery name="get_assessment_name" datasource="#Application.DataSrc#">
			SELECT * from #Request.prefix_db_agency#.pAssessments 
			WHERE Assmt_ID = <cfqueryparam value="#arguments.assessment_id#" cfsqltype="cf_sql_integer">
			AND Patient_ID=<cfqueryparam value="#arguments.patient_id#" cfsqltype="cf_sql_integer">
		</cfquery>	
		<cfreturn get_assessment_name />	
	</cffunction>

	<cffunction name="Get_diagnoses_list"  access="remote" output="Yes" returnFormat= "JSON">  
		<cfargument name="patient_id" required="yes">
		<cfargument name="assessment_id" required="yes">
		<cfquery name="Teach_diagnoses_grid" datasource="#Application.DataSrc#">
				SELECT 
					Diagnosis.Diagnosis_ID as Dg_id, Diagnosis.Assessment_ID as Dg_Assessment_ID, Diagnosis.Assessment_Tracker_ID as Dg_Assessment_Tracker_ID, Diagnosis.Patient_ID as Dg_Patient_ID, Diagnosis.Agency_ID as Dg_Agency_ID,	Diagnosis.Diagnosis as Dg_Diagnosis, Diagnosis.ICD as Dg_ICD, Diagnosis.Pathway_Type as Dig_Pathway_Type, Diagnosis.Primary_Diagnosis as Dig_Primary_Diagnosis, Diagnosis.PDGM_Primary as Dg_PDGM_Primary, Diagnosis.PDGM_Subchapter as Dg_PDGM_Subchapter, Diagnosis.PDGM_Comorbidity as Dg_PDGM_Comorbidity, Diagnosis.Record_Creation_Date as Dg_Record_Creation_Date, Diagnosis.Record_Created_By as Dg_Record_Created_By, Diagnosis.Record_Mod_Date as Dg_Record_Mod_Date, Diagnosis.Record_Mod_By as Dg_Record_Mod_By, pPatients.Pt_First, pPatients.Pt_Last, pPatients.Pt_Middle, pAssessments.F26 as Assessment_Reason_M0100,  pAssessments.F176 as Assessment_Completed_M0090,SuperUsers.Full_Name as super_user_name
				FROM 				
					#Request.prefix_db_agency#.Diagnosis		
					LEFT JOIN #Request.prefix_db_agency#.pPatients on pPatients.Patient_ID = Diagnosis.Patient_ID
					LEFT JOIN #Request.prefix_db_agency#.pAssessments on pAssessments.Assmt_ID = Diagnosis.Assessment_ID
					LEFT JOIN #Request.prefix_db_lookup#.SuperUsers on SuperUsers.User_ID = Diagnosis.Record_Created_By	
				WHERE 
					Diagnosis.Patient_ID=<cfqueryparam value="#arguments.patient_id#" cfsqltype="cf_sql_integer"> AND Diagnosis.Agency_ID=<cfqueryparam value="#session.AgencyID#" cfsqltype="cf_sql_integer"> AND Diagnosis.Assessment_ID=<cfqueryparam value="#arguments.assessment_id#" cfsqltype="cf_sql_integer"> 
					ORDER BY Diagnosis.Diagnosis_ID ASC
	    </cfquery> 
		<cfreturn Teach_diagnoses_grid />	
	</cffunction>

	<cffunction name="Get_Diagnosis_type_based_Details"  access="remote" output="Yes" returnFormat= "JSON"> 	
		<cfargument name="type" required="yes">
		<cfquery name="get_diagnosis_type_details" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_lookup#.Dx_list_Procedures_Diet WHERE Type=<cfqueryparam value="#arguments.type#" cfsqltype="CF_SQL_VARCHAR">
		</cfquery>		
		<cfreturn get_diagnosis_type_details />	
	</cffunction>

	<cffunction name="Get_Library_type_based_Details"  access="remote" output="Yes" returnFormat= "JSON"> 	
		<cfquery name="get_library_type_details" datasource="#Application.DataSrc#">
			SELECT * FROM #Request.prefix_db_agency#.Teaching_Library WHERE title IS NOT NULL AND Deleted=0 GROUP BY title
		</cfquery>
		<cfreturn get_library_type_details />	
	</cffunction>


    <cffunction name="get_passess"  access="remote" output="Yes" returntype="query">
		   <cfargument name="AgencyID" required="yes" hint="AgencyID" default="#session.agencyid#"> 
		     <cfquery  datasource="#Application.DataSrc#" name="Getpatient">
                  SELECT pPatients.Patient_ID, pPatients.Pt_Last AS PatientLast, pPatients.Pt_First AS PatientFirst,pAssessments.* 
						FROM #Request.prefix_db_agency#.pPatients
                  JOIN #Request.prefix_db_agency#.pAssessments  on  pPatients.Patient_ID = pAssessments.Patient_ID
                  WHERE	pPatients.Pt_Agy_ID = <cfqueryparam value="#arguments.AgencyID#" cfsqltype="cf_sql_integer">
                  AND	pPatients.Status = '0'
                  AND	pAssessments.status = 0
						AND (pAssessments.F26 like '%Start of Care%' OR  pAssessments.F26 like '%Resumption of Care%' OR pAssessments.F26 like '%Recertification%' OR pAssessments.F26 like '%Adult%' OR  pAssessments.F26 like '%Other%')
                  GROUP BY pAssessments.Assmt_ID 
                  Order by pAssessments.record_timestamp DESC,pAssessments.F176 DESC , PatientLast ASC
               </cfquery>
		<cfreturn Getpatient />
 	</cffunction>	

 	<cffunction name="getspathway"  access="remote" output="Yes" returntype="query"> 	
 		<cfargument name="Pathway_ID" required="yes" default="0">
		<cfargument name="Type" required="yes" default="">
		<cfargument name="Assmt_ID" required="no" default="0">
		<cfargument name="M0_No" required="no" default="0">
		<cfargument name="skilltype" required="no" default="">

		<cfquery name="getpathway" datasource="#Application.DataSrc#">
			SELECT pPathway.*,pProblem.*,
			GROUP_CONCAT(RIGHT(dx_order, 2)) as order_ids FROM  #Request.prefix_db_lookup#.pPathway 
			INNER JOIN #Request.prefix_db_agency#.pProblem ON pProblem.Path_ID = pPathway.Pathway_ID

			WHERE  pPathway.Type = <cfqueryparam value="#arguments.Type#"  cfsqltype="cf_sql_varchar">
			<cfif arguments.Pathway_ID neq 0 and len(arguments.Pathway_ID) gt 0>
				AND pPathway.Pathway_ID IN  (<cfqueryparam CFSQLType="CF_SQL_INTEGER" 
					                              value="#arguments.Pathway_ID#" 
					                              list="yes" separator="~">) 
			</cfif>
			<cfif arguments.Assmt_ID neq 0 and len(arguments.Assmt_ID) gt 0>
				   AND pProblem.Assmt_ID =  <cfqueryparam CFSQLType="CF_SQL_INTEGER" value="#arguments.Assmt_ID#" >
			</cfif>
			AND  status = <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
			<cfif arguments.M0_No neq 0 and len(arguments.Assmt_ID) gt 0>
				AND pProblem.M0_No like 'M102%'
			</cfif>
				<cfif arguments.skilltype neq '' and len(arguments.skilltype) gt 0>
				AND pProblem.Skill = <cfqueryparam value="#arguments.skilltype#"  cfsqltype="cf_sql_varchar">
			</cfif>
		  AND (pPathway.Approved IS NULL OR pPathway.Approved = 'Yes' OR ( pPathway.Patient_ID  = #session.cs.patientid# 
		     AND pPathway.Agency_ID = "#session.agencyid#"))
			GROUP BY pPathway.Item_ID
			ORDER BY Type_Order,pPathway.Pathway_ID, pPathway.Order_ID ASC

		</cfquery>

		<cfreturn getpathway />	
	</cffunction> 
	
</cfcomponent>