<cfcomponent displayname="Patients Functions" hint="I Return Patients Information" output="false">
	<cfparam name="client.Loc_ID" default = "0">
   <cffunction name="init" displayname="Initialize Component" access="public" returntype="Patients" hint="I initialize and return the Employees object.">
		<cfreturn this>
	</cffunction>
    
   	<cffunction name="get_all_patients"  returntype="any" access="public" output="false" >
	    <cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
		  <cfquery name = "getall" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pPatients
				LEFT OUTER JOIN #Request.prefix_db_agency#.pAdmit ON pAdmit.Patient_ID = patients.Patient_ID
				 WHERE patients.Loc_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#client.Loc_ID#">
				 AND status != <cfqueryparam cfsqltype="cf_sql_integer" value="2">
		  </cfquery>
		 <cfreturn  getall>
	</cffunction>

	<cffunction name="get_pat"  returntype="any" access="public" output="false" >
	    <cfargument name="patid" required="yes" hint="Patient_ID" >
	    <cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	    		  <cfquery name = "getall" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pPatients
				 WHERE   Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				 AND status IN (0,1,4)
		  </cfquery>
		 <cfreturn  getall>
	</cffunction>

	 <cffunction name="check_medicalrecord" access="remote"  httpmethod="GET" returnformat="plain" >
	    <cfargument name="Pt_Agy_ID" required="yes" hint="Pt_Agy_ID" default= "0">
		<cfquery name = "getpat" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pPatients
				 WHERE Pt_Agy_ID =  <cfqueryparam VALUE="#arguments.Pt_Agy_ID#"  cfsqltype="cf_sql_varchar">
				 AND status =  0 
		</cfquery>	
		<cfif arguments.Pt_Agy_ID NEQ 0 AND arguments.Pt_Agy_ID NEQ ''> 
			<cfreturn getpat.recordcount>	
		<cfelse>
			<cfreturn '0'>
		</cfif>	 
	</cffunction>
   
 
   <cffunction name="get_admit"  returntype="any" access="public" output="false" >
        <cfargument name="patid" required="yes" hint="Patient_ID" >
	    <cfargument name="admitid" required="no" hint="Admit_ID" default = "0" >
	    	 <cfquery name = "getall" datasource="#Application.DataSrc#">
				 SELECT * FROM #Request.prefix_db_agency#.pAdmit
				 WHERE  Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				 AND Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.admitid#">
				 AND Status = <cfqueryparam cfsqltype="cf_sql_integer" value="0">
		  </cfquery>
		 <cfreturn  getall>
	</cffunction>

	<cffunction name="get_admissions"  returntype="any" access="public" output="false" >
        <cfargument name="patid" required="yes" hint="Patient_ID" >
        <cfargument name="admitid" required="no" hint="Admit_ID" default = "0" >
	    	 <cfquery name = "getall" datasource="#Application.DataSrc#">
				 SELECT * FROM #Request.prefix_db_agency#.pAdmit
				 WHERE  Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				 AND Status IN (<cfqueryparam cfsqltype="cf_sql_integer" value="0">, <cfqueryparam cfsqltype="cf_sql_integer" value="4">)
				 <cfif arguments.admitid neq 0 >
				 	AND Admit_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.admitid#">
				 </cfif>
				 ORDER BY M0030_START_CARE_DT DESC
		  </cfquery>
		 <cfreturn  getall>
	</cffunction>

	<!--- Operational SOC date for assessments: Agy_Admit (EMR) when set, else physician M0030 --->
	<cffunction name="get_soc_reference_date" access="public" output="false" returntype="any">
		<cfargument name="admitQuery" required="yes">
		<cfif NOT IsQuery(arguments.admitQuery) OR arguments.admitQuery.recordcount EQ 0>
			<cfreturn "">
		</cfif>
		<cfif IsDate(arguments.admitQuery.Agy_Admit)>
			<cfreturn arguments.admitQuery.Agy_Admit>
		</cfif>
		<cfif IsDate(arguments.admitQuery.M0030_START_CARE_DT)>
			<cfreturn arguments.admitQuery.M0030_START_CARE_DT>
		</cfif>
		<cfreturn "">
	</cffunction>

	<cffunction name="sync_soc_related_dates" access="public" output="false" returntype="struct">
		<cfargument name="Admit_ID" required="yes" type="numeric">
		<cfargument name="Patient_ID" required="yes" type="numeric">
		<cfargument name="SOC_Date" required="yes">
		<cfargument name="Changed_By" required="no" type="numeric" default="0">
		<cfset var response = { success = false, certification_end = "" }>
		<cfset var certificationDays = 59>
		<cfset var certificationEndDate = "">
		<cfset var getAdmit = "">

		<cfif NOT IsDate(arguments.SOC_Date)>
			<cfreturn response>
		</cfif>

		<cfquery name="getAdmit" datasource="#Application.DataSrc#">
			SELECT Admit_Type, M0030_START_CARE_DT, Agy_Admit
			FROM #Request.prefix_db_agency#.pAdmit
			WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
			AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND Status = 0
			LIMIT 1
		</cfquery>

		<cfif getAdmit.recordcount GT 0 AND getAdmit.Admit_Type EQ 'Hospice'>
			<cfset certificationDays = 89>
		</cfif>

		<cfset certificationEndDate = DateAdd("d", certificationDays, arguments.SOC_Date)>

		<!--- When EMR admit date differs from physician SOC, preserve physician M0030 on admission --->
		<cfset updateAgyAdmitOnly = getAdmit.recordcount GT 0
			AND IsDate(getAdmit.Agy_Admit)
			AND (NOT IsDate(getAdmit.M0030_START_CARE_DT) OR DateCompare(getAdmit.Agy_Admit, getAdmit.M0030_START_CARE_DT) NEQ 0)>

		<cfquery datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pAdmit
			SET
				<cfif updateAgyAdmitOnly>
				Agy_Admit = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				<cfelse>
				M0030_START_CARE_DT = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				</cfif>
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by = <cfqueryparam value="#arguments.Changed_By#" cfsqltype="cf_sql_integer">
			WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
			AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND Status = 0
		</cfquery>

		<cfquery datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pAssessments
			SET F176 = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				F177 = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				F178 = <cfqueryparam value="#certificationEndDate#" cfsqltype="cf_sql_date">,
				Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Record_Mod_By = <cfqueryparam value="#arguments.Changed_By#" cfsqltype="cf_sql_integer">
			WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
			AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND Status = 0
			AND IFNULL(F25, 0) <> 1
			AND (
				F26 IN (
					<cfqueryparam value="1 - Start of care - further visits planned" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - Start of care - further visits planned - Physical Therapy" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - Start of care - further visits planned - Occupational Therapy" cfsqltype="cf_sql_varchar">
				)
				OR F26 = <cfqueryparam value="Hospice admission" cfsqltype="cf_sql_varchar">
			)
		</cfquery>

		<cfquery datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pAdmit_Svcs
			SET Start_Date = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by = <cfqueryparam value="#arguments.Changed_By#" cfsqltype="cf_sql_integer">
			WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
			AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND Status = 0
			AND (
				Skill IN (
					<cfqueryparam value="1 - SOC - SN" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - SOC - PT" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - SOC - OT" cfsqltype="cf_sql_varchar">
				)
				OR Skill LIKE <cfqueryparam value="1 - SOC%" cfsqltype="cf_sql_varchar">
			)
		</cfquery>

		<!--- Date_Start always syncs; Date_End only for Medicare payers (M0150 starts with 1, not 10 self-pay) --->
		<cfquery datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pAuths pa
			LEFT JOIN #Request.prefix_db_agency#.pPtPayer ppp ON ppp.PtPayer_ID = pa.PtPayer_ID AND ppp.Status = 0
			LEFT JOIN #Request.prefix_db_agency#.pPayer pp ON pp.Pay_ID = ppp.Payer_ID AND pp.Status = 0
			SET pa.Date_Start = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				pa.Date_End = CASE
					WHEN LEFT(TRIM(IFNULL(pp.M0150, '')), 1) = '1' AND LEFT(TRIM(IFNULL(pp.M0150, '')), 2) <> '10'
					THEN <cfqueryparam value="#certificationEndDate#" cfsqltype="cf_sql_date">
					ELSE pa.Date_End
				END,
				pa.Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				pa.Change_by = <cfqueryparam value="#arguments.Changed_By#" cfsqltype="cf_sql_integer">
			WHERE pa.Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND pa.Status = 0
			AND pa.Assmt_ID IN (
				SELECT Assmt_ID
				FROM #Request.prefix_db_agency#.pAssessments
				WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
				AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
				AND Status = 0
				AND IFNULL(F25, 0) <> 1
				AND (
					F26 IN (
						<cfqueryparam value="1 - Start of care - further visits planned" cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="1 - Start of care - further visits planned - Physical Therapy" cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="1 - Start of care - further visits planned - Occupational Therapy" cfsqltype="cf_sql_varchar">
					)
					OR F26 = <cfqueryparam value="Hospice admission" cfsqltype="cf_sql_varchar">
				)
			)
		</cfquery>

		<cfquery datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pSchedules
			SET Visit_Date = <cfqueryparam value="#arguments.SOC_Date#" cfsqltype="cf_sql_date">,
				Date_Change = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
				Change_by = <cfqueryparam value="#arguments.Changed_By#" cfsqltype="cf_sql_integer">
			WHERE Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
			AND Status = 0
			AND Assmt_ID IN (
				SELECT Assmt_ID
				FROM #Request.prefix_db_agency#.pAssessments
				WHERE Admit_ID = <cfqueryparam value="#arguments.Admit_ID#" cfsqltype="cf_sql_integer">
				AND Patient_ID = <cfqueryparam value="#arguments.Patient_ID#" cfsqltype="cf_sql_integer">
				AND Status = 0
				AND IFNULL(F25, 0) <> 1
				AND (
					F26 IN (
						<cfqueryparam value="1 - Start of care - further visits planned" cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="1 - Start of care - further visits planned - Physical Therapy" cfsqltype="cf_sql_varchar">,
						<cfqueryparam value="1 - Start of care - further visits planned - Occupational Therapy" cfsqltype="cf_sql_varchar">
					)
					OR F26 = <cfqueryparam value="Hospice admission" cfsqltype="cf_sql_varchar">
				)
			)
			AND IFNULL(Missed, 0) = 0
			AND (
				IFNULL(Initial_visit, 0) = 1
				OR Visit_Type IN (
					<cfqueryparam value="1 - SOC - SN" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - SOC - PT" cfsqltype="cf_sql_varchar">,
					<cfqueryparam value="1 - SOC - OT" cfsqltype="cf_sql_varchar">
				)
			)
		</cfquery>

		<cfset response.success = true>
		<cfset response.certification_end = certificationEndDate>
		<cfreturn response>
	</cffunction>


	<cffunction name="getreferral"  returntype="any" access="public" output="false" >
			<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	    	 <cfquery name = "getall" datasource="#Application.DataSrc#">
				 SELECT * FROM #Request.prefix_db_agency#.pReferral
				 WHERE Loc_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Loc_ID#">
				 AND Referral_Name IS NOT NULL AND Referral_Name != ''
				 AND Status = '0' 
				  ORDER BY Referral_Name ASC
		  </cfquery>
		 <cfreturn  getall>
	</cffunction>

	

    <cffunction name="check_emp_email" access="remote"  httpmethod="GET" returnformat="plain" >
	    <cfargument name="email" required="yes" hint="email">
	    <cfargument name="phone" required="yes" hint="Phonenumber">
	    <cfargument name="username" required="yes" hint="username">
        <cfargument name="empid" required="no" hint="Emp_ID" default="0">

		  <cfquery name = "get_email" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.employee
				 WHERE Emp_Email =  <cfqueryparam VALUE="#arguments.email#"  cfsqltype="cf_sql_varchar">
				 AND Emp_ID != <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.empid#">
		  </cfquery>
		  <cfquery name = "get_phone" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.employee 
				WHERE Emp_Telephone = <cfqueryparam VALUE="#arguments.phone#"  cfsqltype="cf_sql_varchar">
				AND Emp_ID != <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.empid#">
		  </cfquery>
		   <cfquery name = "get_username" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.employee 
				WHERE Username = <cfqueryparam VALUE="#arguments.username#"  cfsqltype="cf_sql_varchar">
				AND Emp_ID != <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.empid#">
		  </cfquery>
		  <cfif get_email.recordcount gt 0>
			 <cfreturn 'email'>
		  <cfelseif get_phone.recordcount gt 0>
			 <cfreturn 'phone'>
		  <cfelseif get_username.recordcount gt 0>
			 <cfreturn 'username'>
		  <cfelse>
		     <cfreturn 'Success'>
		 </cfif>
	</cffunction>
                 
   <cffunction name="get_patform"  access="remote" output="Yes" returnFormat= "plain">   
	<cfargument name="patid" required="yes" hint="patid" > 
	<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	          <cfinclude template="#application.secure#/locations/patient_form.cfm"> 
               <cfreturn html_content />	
   </cffunction>
    <cffunction name="get_admitform"  access="remote" output="Yes" returnFormat= "plain"> 
    <cfargument name="admitid" required="yes" hint="admitid" >   
	<cfargument name="patid" required="yes" hint="patid" > 
	<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	          <cfinclude template="#application.secure#/locations/admission_form.cfm"> 
               <cfreturn html_content />	
   </cffunction>

    <cffunction name="get_medsform"  access="remote" output="Yes" returnFormat= "plain"> 
    <cfargument name="medsid" required="yes" hint="Meds id" >   
	<cfargument name="patid" required="yes" hint="patid" > 
	<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	          <cfinclude template="#application.secure#/locations/meds_form.cfm"> 
               <cfreturn html_content />	
   </cffunction>

    <cffunction name="getmeds"  returntype="any" access="public" output="false" >
      <cfargument name="patid" required="yes" hint="patid" > 
      <cfargument name="medsid" required="Yes" hint="Meds id"  default="0">   
		  <cfquery name="GetM" datasource="#Application.DataSrc#">
				  SELECT  *
				  FROM #Request.prefix_db_agency#.pPtmeds
				  left outer join #Request.prefix_db_lookup#.Meds_New 
				  ON  pPtmeds.Drug_ID = Meds_New.Trade_Num
				  WHERE  pPtmeds.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				  AND pPtmeds.PtMeds_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.medsid#"> 
				  AND pPtmeds.Status = 0
				  ORDER BY pPtmeds.status ASC
				  </cfquery>
        <cfreturn  GetM>
	</cffunction>

	 <cffunction name="medslist"  returntype="any" access="public" output="false" >
      <cfargument name="patid" required="yes" hint="patid"  > 
      <cfargument name="status" required="no" default="0" hint="0"  > 
		  <cfquery name="GetM" datasource="#Application.DataSrc#">
				  SELECT  *,
				  IFNULL(GROUP_CONCAT(DISTINCT CASE
					WHEN Meds_New_Compare.Trade_Num IS NOT NULL THEN Med_Interactions.interaction_generic
					ELSE NULL
				  END ORDER BY Med_Interactions.interaction_generic SEPARATOR ', '), '') AS Interaction_Medications,
				  IFNULL(Meds_New.Med_ID,0) AS MedsNew_ID 
				  FROM #Request.prefix_db_agency#.pPtmeds
				  left outer join #Request.prefix_db_lookup#.Meds_New 
				  ON  pPtmeds.Drug_ID = Meds_New.Trade_Num
				  LEFT OUTER JOIN hhapowerpath.Med_Interactions
				  ON  LCASE(TRIM(Med_Interactions.drug_generic)) = LCASE(TRIM(Meds_New.Generic_Name))
				  LEFT OUTER JOIN #Request.prefix_db_agency#.pPtmeds pPtmeds_Compare
				  ON pPtmeds_Compare.Patient_ID = pPtmeds.Patient_ID
				  AND pPtmeds_Compare.PtMeds_ID <> pPtmeds.PtMeds_ID
				  AND pPtmeds_Compare.Status < 2
				  LEFT OUTER JOIN #Request.prefix_db_lookup#.Meds_New Meds_New_Compare
				  ON pPtmeds_Compare.Drug_ID = Meds_New_Compare.Trade_Num
				  AND TRIM(IFNULL(Meds_New_Compare.Generic_Name,'')) <> ''
				  AND TRIM(IFNULL(Med_Interactions.interaction_generic,'')) <> ''
				  AND (
					LCASE(TRIM(Meds_New_Compare.Generic_Name)) LIKE CONCAT('%', LCASE(TRIM(Med_Interactions.interaction_generic)), '%')
					OR LCASE(TRIM(Med_Interactions.interaction_generic)) LIKE CONCAT('%', LCASE(TRIM(Meds_New_Compare.Generic_Name)), '%')
				  )
				  LEFT OUTER JOIN #Request.prefix_db_lookup#.vetted_190924 ON vetted_190924.ICD = Meds_New.XICD
				  WHERE  pPtmeds.Patient_ID = 
				  <cfif patid neq ''>
				    <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.patid#">
				   <cfelse>
				    <cfqueryparam cfsqltype="cf_sql_integer" value="0">
				   </cfif>
				   	<cfif arguments.status EQ 'active'> AND pPtmeds.status = 0
				   	<cfelseif arguments.status EQ 'Inactive'>AND pPtmeds.status = 1
					<cfelseif arguments.status EQ 'deleted'>AND pPtmeds.status = 2
					<cfelse>
				  		AND pPtmeds.status < <cfqueryparam cfsqltype="cf_sql_integer" value="2">
				    </cfif>
				  GROUP BY pPtmeds.PtMeds_ID 
				  ORDER BY pPtmeds.status ASC
				  </cfquery>
        <cfreturn  GetM>
	</cffunction>

    <cffunction name="searchmeds"  access="remote" output="Yes"  returnFormat= "plain">
       <cfargument name="medsname" required="yes" hint="form type">
       <cfargument name="patid" required="yes" hint="form type">
		  <cfquery  name="getsmeds" datasource="#Application.DataSrc#">
				SELECT * FROM   #Request.prefix_db_lookup#.Meds_New
		          WHERE  Name LIKE  <cfqueryparam VALUE="%#arguments.medsname#%"  cfsqltype="cf_sql_varchar"> 
		          ORDER BY Name
			</cfquery>
			<cfset url.loc_id  = encrypt(#client.loc_id#,#application.enckey#,"AES","Hex") />
			<cfsavecontent	variable = "html_list"> 			
					
			    <cfif getsmeds.recordcount eq 0>
					  <tr><td colspan="4">No Medication found</td></tr>
				<cfelse>
					 <cfloop query="getsmeds">
					   <tr>
						<td><a href="index.cfm?aMenu=loc&page=locations&patid=#arguments.patid#&rpt=addmed&Action=Add&MID=#Trade_ID#&medid=0"&medsid=0>#trade_name#</a> <cfif Uses IS NOT ""> <em><font size="1">*</font></em></cfif></td>
						<td><a href="index.cfm?aMenu=loc&page=locations&patid=#arguments.patid#&rpt=addmed&Action=Add&MID=#Trade_ID#&medsid=0">#replacenocase(generic_name," X ","<br>","ALL")#</a></td>
						<td>#replacenocase(classification," & ","<br>","ALL")#</td>
						<td>#replacenocase(grouping," & ","<br>","ALL")#</td>
						</tr>
					</cfloop>	
			   </cfif>
					
			</cfsavecontent>		
			<cfreturn html_list />	
	</cffunction>

	<cffunction name="GetMed"  returntype="any" access="public" output="false" >
     <cfargument name="MID" required="yes" hint="Meds id" >   
		  <cfquery name="GetMeds" datasource="#Application.DataSrc#">
				 SELECT *  
			        FROM   #Request.prefix_db_lookup#.Meds_New 
			        WHERE  Trade_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.MID#">
		</cfquery>
        <cfreturn  GetMeds>
	</cffunction>

	<cffunction name="GetDose"  returntype="any" access="public" output="false" >
     <cfargument name="MID" required="yes" hint="Meds id" >   
		  <cfquery name="GetDos" datasource="#Application.DataSrc#">
				  SELECT  * 
		        FROM   #Request.prefix_db_lookup#.Meds_New_Dose 
		        WHERE  Trade_ID  = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.MID#">
		        Order by Dose ASC
		</cfquery>
        <cfreturn  GetDos>
	</cffunction>


   <cffunction name="get_assform"  access="remote" output="Yes" returnFormat= "plain"> 
    <cfargument name="assid" required="yes" hint="assid" >   
	<cfargument name="patid" required="yes" hint="patid" > 
	<cfargument name="Loc_ID" required="no" hint="Loc_ID" default="#client.Loc_ID#">
	          <cfinclude template="#application.secure#/locations/assessment_form.cfm"> 
               <cfreturn html_content />	
   </cffunction>
    

   <cffunction name="updatefiletitle"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="id" required="yes" default="0">
		 <cfargument name="Title" required="no" default="">
		 <cfargument name="Doc_Id" required="no" default="0">
		 <cfargument name="Assessment" required="no" default="0">
		 <cfargument name="savetype" required="no" default="title">
		
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.files 
			    SET 
			    <cfif arguments.savetype EQ 'title'>
			    	Title 		= <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'document_type'>
			    	DOC_ID = <cfqueryparam value = "#arguments.Doc_Id#" CFSQLType ="CF_SQL_INTEGER">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'expires'>
			    	Expires = <cfqueryparam value = "#arguments.Assessment#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'notes'>
			    	Notes = <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    Created = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">
				WHERE id =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">
			</cfquery>
		</cfif>
		<cfreturn "Success" />

	</cffunction>


	 <cffunction name="updateassfiletitle"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="id" required="yes" default="0">
		 <cfargument name="Title" required="no" default="">
		 <cfargument name="Doc_Id" required="no" default="0">
		 <cfargument name="Assessment" required="no" default="0">
		 <cfargument name="savetype" required="no" default="title">
		
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pg_files 
			    SET 
			    <cfif arguments.savetype EQ 'title'>
			    	Title 		= <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'document_type'>
			    	DOC_ID = <cfqueryparam value = "#arguments.Doc_Id#" CFSQLType ="CF_SQL_INTEGER">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'expires'>
			    	Expires = <cfqueryparam value = "#arguments.Assessment#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    Created = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">
				WHERE id =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">
			</cfquery>
		</cfif>
		<cfreturn "Success" />

	</cffunction>


	 <cffunction name="updatepgfiletitle"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="id" required="yes" default="0">
		 <cfargument name="Title" required="no" default="">
		 <cfargument name="savetype" required="no" default="title">
		
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pg_files 
			    SET 
			    <cfif arguments.savetype EQ 'title'>
			    	Title 		= <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'notes'>
			    	Notes = <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    Created = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">
				WHERE id =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">
			</cfquery>
		</cfif>
		<cfreturn "Success" />

	</cffunction>


	 <cffunction name="updateasspgfiletitle"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="id" required="yes" default="0">
		 <cfargument name="Title" required="no" default="">
		 <cfargument name="savetype" required="no" default="title">
		
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pg_files 
			    SET 
			    <cfif arguments.savetype EQ 'title'>
			    	Title 		= <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    <cfif  arguments.savetype EQ 'notes'>
			    	Notes = <cfqueryparam value = "#arguments.Title#" CFSQLType ="CF_SQL_VARCHAR">,
			    </cfif>
			    Created = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">
				WHERE id =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">
			</cfquery>
		</cfif>
		<cfreturn "Success" />

	</cffunction>


	 <cffunction name="updatefileplaceholder"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		<cfargument name="id" required="yes" default="0">
		<cfargument name="placeholder" required="no" default="0">
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.files 
			    SET  placeholder 		= <cfqueryparam value = "#arguments.placeholder#" CFSQLType ="CF_SQL_INTEGER">
				WHERE id =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">
			</cfquery>
		</cfif>
		<cfreturn "Success" />
	</cffunction>



	<cffunction name="updatemedhome"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="id" required="yes" default="0">
		 <cfargument name="In_Home" required="no" default="0">
		 <cfargument name="savetype" required="no" default="title">
		
		<cfif arguments.id neq 0 >
			<cfquery  name="Updatemed" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pPtmeds 
			    SET In_Home 		= <cfqueryparam value = "#arguments.In_Home#" 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 PtMeds_ID =  <cfqueryparam value = "#arguments.id#" CFSQLType ="CF_SQL_INTEGER">

			</cfquery>
		</cfif>
		<cfreturn "Success" />

	</cffunction>


	<cffunction name="updatepgnotestatus"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Schedule_ID" required="yes" default="0">
		 <cfargument name="pgnotesdraft" required="no" default="0">
		
		<cfif arguments.Schedule_ID neq 0 >
			<cfquery  name="Updatefile" datasource="#Application.DataSrc#">
			    UPDATE #Request.prefix_db_agency#.pSchedules 
			    SET 
			    pgnotesdraft = <cfqueryparam value = "#arguments.pgnotesdraft#" CFSQLType ="CF_SQL_INTEGER">,
			    Change_by = <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
			    Date_Change = <cfqueryparam VALUE="#now()#"  cfsqltype="cf_sql_timestamp">
				WHERE Schedule_ID =  <cfqueryparam value = "#arguments.Schedule_ID#" CFSQLType ="CF_SQL_INTEGER">
				AND Status = 0
			</cfquery>
		</cfif>
		<cfreturn "Success" />
	</cffunction>


	<cffunction name="getCBSA"  returntype="any" access="remote" output="Yes"  returnformat="JSON" >
	    <cfargument name="ZIPCODE" required="yes" hint="ZIPCODE" >
	    	<cfset var returnStruct = StructNew()>
	    	<cfset Not_found = 'Not_found' />
	        <cfquery name = "getzipcodes" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_lookup#.zip_cbsa
				 WHERE ZIPCODE = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.ZIPCODE#">
		    </cfquery>
		    <cfif  getzipcodes.recordcount gt 0 >
			 	<cfset returnStruct = QueryGetRow(getzipcodes,1)>
				<cfreturn  returnStruct />
		    <cfelse>
		    	<cfreturn  Not_found />
		    </cfif>
	</cffunction>



	<cffunction name="insertprocedures"  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="procedures" required="yes" default="">
 
			<cfif arguments.AutoAdmitSvcs_ID EQ '0'>
				<cfset cookie.procedures = #listappend(cookie.procedures ,#arguments.procedures#)# />
			<cfelse>
				<cfif len(arguments.procedures) gt 0>
					<cfquery  name="delete_old_procedures" datasource="#Application.DataSrc#">
						 UPDATE #Request.prefix_db_agency#.pAdmit_Svcs_Procs
						 SET
					      Status =  2 
					      WHERE Admit_Svcs_ID = '#arguments.AutoAdmitSvcs_ID#'
					      AND Status = 0
					</cfquery>	
					 <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#' ,'#arguments.AutoAdmitSvcs_ID#', 0, '#item_id#',NULL, #now()# , #session.employeeid#  , #now()#, #session.employeeid# 
							)
							        				
						</cfquery>
					</cfloop>
				</cfif>
			</cfif>
			<cfreturn 'Success' />
	</cffunction>	

	<cffunction name="getitems_id"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="AutoAdmitSvcs_ID" required="yes" default="0">
		 <cfargument name="Admit_ID" required="yes" default="0">
 			<cfset message =  'Success' />
			<cfif arguments.AutoAdmitSvcs_ID NEQ '0'>
				<cfquery name="getsvsprcoedure" datasource="#Application.DataSrc#">
					SELECT * FROM  #Request.prefix_db_agency#.pAdmit_Svcs_Procs
					WHERE Admit_Svcs_ID = '#arguments.AutoAdmitSvcs_ID#'
					And status = 0
				</cfquery>
				<cfset message = ValueList(getsvsprcoedure.Item_ID) />
			</cfif>
			<cfreturn message />
	</cffunction>	

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

				<cfquery name="getpaths" datasource="#Application.DataSrc#">
					SELECT * FROM  #Request.prefix_db_lookup#.pPathway
					WHERE Type = 'procedure'
					AND Severity = <cfqueryparam value = "1" cfsqltype ="cf_sql_integer" />
					GROUP BY Item_ID
				</cfquery>
				<cfquery name="getadmitprocedure" datasource="#Application.DataSrc#">
					SELECT * FROM  #Request.prefix_db_agency#.pAdmit_Svcs_Procs
					WHERE Admit_Svcs_ID ='#arguments.Admit_Svcs_ID#'
					AND status = 0
					GROUP BY Item_ID
				</cfquery>
				<cfset checked_values = ValueList(getadmitprocedure.Item_ID) />  					
				<cfsavecontent variable = "html_procedure">
					<div class="form-group">
						<cfif CGI.REMOTE_ADDR EQ '121.200.49.65'>
							<a class=" btn default" style="float:right;" data-toggle="modal" href="##ModalCustomProc">Add Custom </a>
						</cfif>
                   		<label class="control-label">Procedures</label>
                    		<div class="checkbox-list">
                    			<cfif getpaths.recordcount gt 0>
									<cfoutput query="getpaths">
									    <label>
									         <input type="checkbox" id="procedures#Item_ID#" name="procedures" class="md-radiobtn" value="#Item_ID#"
									         <cfif listFindNoCase(checked_values,  #Item_ID#)>checked</cfif>
									         > #Description#
									    </label>
									  </cfoutput>
								<cfelse>
									<span> No Procedures found</span>
								</cfif>
                    		</div>
                    </div>
				</cfsavecontent>	
			<cfreturn html_procedure />	
	</cffunction>

	<cffunction name="getassessments"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="Admit_Svcs_ID" required="yes">
		<cfargument name="Admit_ID" required="yes">
		<cfargument name="Admit_Type" required="yes">
 
				<cfquery name="getvisitstypes" datasource="#Application.DataSrc#">
						SELECT * FROM  #Request.prefix_db_lookup#.answer_lookup 
						WHERE answer_label  = 'assvisit_type' AND deleted = 0 
						 <!--- AND ((answer_id >= 231 AND answer_id <= 239) or answer_id = 252 OR answer_id =  258
							or answer_id = 260  or answer_id = 261 ) --->
						<cfif arguments.Admit_Type EQ 'Home Health - OASIS required'>
                                 AND  answer not like 'Hospice%'   
                                 AND  answer not like 'Chaplain%'
                                 AND  answer not like '%FU Eval'
                                 AND  answer  not like '%Pediatric%' 
                        <cfelseif arguments.Admit_Type EQ 'Pediatric'> 
                                 AND  answer  like '%Pediatric%'   
                         <cfelseif arguments.Admit_Type EQ 'Hospice'> 
                                AND  (answer  like 'Hospice%' OR answer  like 'SN Eval%' OR answer like 'PT Eval%' OR answer like 'OT Eval%' OR answer like 'ST Eval%' OR answer like 'MSW Eval%')          
                        <cfelseif arguments.Admit_Type EQ 'Palliative'> 
                                AND  (answer  = 'Palliative' OR answer  like 'Hospice%' OR answer  like 'SN Eval%' OR answer like 'PT Eval%' OR answer like 'OT Eval%' OR answer like 'ST Eval%' OR answer like 'MSW Eval%')          
                        <cfelseif arguments.Admit_Type EQ 'Home Health - evaluation only, no OASIS'> 
                        		AND  (answer  like 'SN Eval%' OR answer like 'PT Eval%' OR answer like 'OT Eval%'
                        		OR answer like 'ST Eval%' OR answer like 'MSW Eval%')
                        </cfif>
						<!--- <cfif url.Admit_Type EQ 'OASIS'>	
									AND ((answer_id >= 231 AND answer_id <= 239)  OR answer_id =  258
							or answer_id = 260  or answer_id = 261 )
						<cfelseif url.Admit_Type EQ 'Evaluation'>
								AND ((answer_id >= 235 AND answer_id <= 239))
						<cfelseif url.Admit_Type EQ 'Hospice'>
								AND ((answer_id >= 235 AND answer_id <= 239) OR answer_id =  252)		
						</cfif> --->
						ORDER BY answer_order ASC
				</cfquery>				
				<cfsavecontent variable = "html_visittypes">
                   		<label class="control-label">Assessment/Evaluation *</label>
                      	<select class="form-control"  id="Skill" name="Skill">
                            <option value =""  >-----Select-----</option>
                            <cfoutput query=getvisitstypes>
								<option value= "#getvisitstypes.answer#" >#getvisitstypes.answer#</option>
							</cfoutput>
                     	</select>	
				</cfsavecontent>	
			<cfreturn html_visittypes />	
	</cffunction>

	

	<cffunction name="Checkvitals"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Assmt_ID" required="yes" default="0">
 			<cfset message =  'Success' />
			<cfif arguments.Assmt_ID NEQ '0'>
				<cfquery name="getsvitals" datasource="#Application.DataSrc#">
					SELECT  * from  #Request.prefix_db_agency#.pWoundsVitals
				    WHERE Assmt_ID = '#arguments.Assmt_ID#'
				    AND VitalOrWound ='vital'
				    AND status = 0
				   <!---  AND Reading1 = 0  AND Item_ID < 6 --->
				    ORDER BY Item_ID ASC
				</cfquery>
				<cfquery dbtype="query" name="getvitals_count">
						SELECT  * from  getsvitals
					    WHERE Item_ID < 6
				</cfquery>
				<cfquery dbtype="query" name="getzerovitals_count">
						SELECT  * from  getsvitals
					    WHERE Item_ID < 6 AND  Reading1 = 0 
				</cfquery>
				<cfif getvitals_count.recordcount LT 5 OR getzerovitals_count.recordcount GT 0>
					<cfset message =  "Temp, HR, BP, Resp Rate cannot have 0 reading. Document reading for below vital(s) <br><br>" />	
				</cfif>	
				<cfset item_ids = "1,2,3,4,5">
				<cfloop list="#item_ids#" index="i">
					<cfquery dbtype="query" name="getprimaryvitals">
						SELECT  * from  getsvitals
					    WHERE Item_ID = #i#
					</cfquery>
					<cfquery dbtype="query" name="getzerovitals">
						SELECT  * from  getsvitals
					    WHERE  Reading1 = 0 AND Item_ID = #i#
					</cfquery>
					<cfif getprimaryvitals.recordcount EQ 0 OR getzerovitals.recordcount gt 0>
						<cfquery name="getsvalues" datasource="#Application.DataSrc#">
							SELECT  * from  #Request.prefix_db_lookup#.pValue_Lookup
						    WHERE Item_ID = '#i#' 
						</cfquery>
						<cfset message = message & getsvalues.Description & "<br>" > 
					</cfif>
				</cfloop>
			</cfif>
			<cfreturn message />
	</cffunction>	

	<cffunction name="checkvisittype_date"  access="remote" output="Yes" returnFormat= "plain">   
		<cfargument name="Visit_Date" required="Yes" hint="Visit_Date"> 	
		<cfargument name="Visit_Type" required="yes">
		<cfargument name="Patient_ID" required="yes">
		<cfargument name="Assmt_ID" required="yes">
		<cfset message =  'Success' />

		<cfquery name="check_assessments" datasource="#Application.DataSrc#">
			SELECT pAssessments.* FROM  #Request.prefix_db_agency#.pAssessments 
			JOIN #Request.prefix_db_agency#.pAdmit  ON  pAssessments.Admit_ID = pAdmit.Admit_ID 
			WHERE pAssessments.Status = 0
			AND pAdmit.Status = 0
			AND pAssessments.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer"  value="#arguments.Patient_ID#">
			AND pAssessments.F176 =  '#DateFormat(arguments.Visit_Date,"yyyy-mm-dd")#'
			AND pAssessments.F26 = (CASE 
				WHEN ('#arguments.Visit_Type#' = "1 - SOC - SN")  THEN '1 - Start of care - further visits planned'
				WHEN ('#arguments.Visit_Type#' = "1 - SOC - PT" ) THEN '1 - Start of care - further visits planned - Physical Therapy'
				WHEN ('#arguments.Visit_Type#' = "1 - SOC - OT" ) THEN '1 - Start of care - further visits planned - Occupational Therapy'
				WHEN ('#arguments.Visit_Type#' = "3 - ROC - SN"  || '#arguments.Visit_Type#' = "3 - ROC - PT") THEN '3 - Resumption of care (after inpatient stay)'
				WHEN ('#arguments.Visit_Type#' = "PT Eval" ) THEN 'PT Adult Evaluation'
				WHEN ('#arguments.Visit_Type#' = "OT Eval" ) THEN 'OT Adult Evaluation'
				WHEN ('#arguments.Visit_Type#' = "ST Eval" ) THEN 'ST Adult Evaluation'
				WHEN ('#arguments.Visit_Type#' = "SN Eval" ) THEN 'SN Adult Evaluation'
				WHEN ('#arguments.Visit_Type#' = "MSW Eval" ) THEN 'MSW Evaluation'
				WHEN ('#arguments.Visit_Type#' = "PT FU Eval" ) THEN 'PT Followup'
		        WHEN ('#arguments.Visit_Type#' = "OT FU Eval" ) THEN 'OT Followup'
		        WHEN ('#arguments.Visit_Type#' = "ST FU Eval" ) THEN 'ST Followup'
		        WHEN ('#arguments.Visit_Type#' = "MSW FU Eval" ) THEN 'MSW Followup'
		        WHEN ('#arguments.Visit_Type#' = "SN FU Eval" ) THEN 'SN Followup'
		        WHEN ('#arguments.Visit_Type#' = "Hospice Comprehensive" ) THEN 'Hospice Comprehensive'
		        WHEN ('#arguments.Visit_Type#' = "SN Hospice" ) THEN 'SN Hospice'
		        WHEN ('#arguments.Visit_Type#' = "Chaplain Comprehensive Evaluation" ) THEN 'Chaplain Comprehensive Evaluation'
		        WHEN ('#arguments.Visit_Type#' = "Hospice Discharge" ) THEN 'Hospice Discharge'
		        WHEN ('#arguments.Visit_Type#' = "Hospice admission" ) THEN 'Hospice admission'

				WHEN ('#arguments.Visit_Type#' = "4 - Recertification" ) THEN '4 - Recertification (follow-up) reassessment'
				WHEN ('#arguments.Visit_Type#' = "4 - Recertification PT" ) THEN '4 - Recertification (follow-up) reassessment - PT'
				WHEN ('#arguments.Visit_Type#' = "4 - Recertification OT" ) THEN '4 - Recertification (follow-up) reassessment - OT'
				WHEN ('#arguments.Visit_Type#' = "5 - Other follow-up" ) THEN '5 - Other follow-up'
				WHEN ('#arguments.Visit_Type#' = "6 - Transfer no discharge" ) THEN '6 - Transferred to an inpatient facility - patient not discharged from agency'
				WHEN ('#arguments.Visit_Type#' = "7 - Transfer discharged" ) THEN '7 - Transferred to an inpatient facility - patient discharged from agency'
				WHEN ('#arguments.Visit_Type#' = "8 - Death" ) THEN '8 - Death at home'
				WHEN ('#arguments.Visit_Type#' = "9 - Discharge from agency" ) THEN '9 - Discharge from agency'
				ELSE '#arguments.Visit_Type#'
			END) 
		</cfquery>
		<!--- <cfdump var="#check_assessments#"> --->
		<cfif check_assessments.recordcount EQ 0>
			<cfset message =   'Visit Date must match Assessment/Evaluation Date <br>' />
		</cfif>

		<cfreturn message />
	</cffunction>


	<cffunction name="checkMedicarePayer"  access="remote" output="Yes" returnformat="plain" returntype="string">   
		 <cfargument name="Payer_ID" required="yes" default="0">		
		<cfquery  name="getpayer" datasource="#Application.DataSrc#">
		     SELECT * FROM #Request.prefix_db_agency#.pPayer
			WHERE Pay_ID =  <cfqueryparam value = "#arguments.Payer_ID#" CFSQLType ="CF_SQL_INTEGER">
			AND Status = 0
			AND (LEFT(M0150,1) = '1' OR LEFT(M0150,1) = '2' OR Output ='Medicare')
		</cfquery>
		<cfreturn getpayer.recordcount />
	</cffunction>


	<cffunction name="getvisits_types"  returntype="any" access="public" output="false" >
        <cfargument name="Admit_Type" required="yes" hint="Admit_Type" >   
			<cfquery name="getvisitstypes" datasource="#Application.DataSrc#">
				<!--- SELECT * FROM  #Request.prefix_db_lookup#.assessment_answers_lookup 
				WHERE question_id = 3
				AND answer NOT LIKE '%Pediatric%' --->
				SELECT * FROM  #Request.prefix_db_lookup#.answer_lookup 
				WHERE answer_label  = 'assvisit_type' AND deleted = 0 
				<cfif arguments.Admit_Type EQ 'Home Health - OASIS required'>
					AND admit_type  IN ('OASIS','all')
				<cfelseif arguments.Admit_Type EQ 'Home Health - evaluation only, no OASIS'> 
					AND admit_type = 'all'		
				<cfelseif arguments.Admit_Type EQ 'Palliative'> 
					AND admit_type IN ('hospice','palliative','all')
				<cfelseif arguments.Admit_Type EQ 'Hospice'> 
					AND admit_type IN ('hospice','all')
				<cfelseif arguments.Admit_Type EQ 'Pediatric'>
					AND admit_type = 'Pediatric'
				<cfelseif arguments.Admit_Type EQ 'Non-Medical'> 
					<!--- AND admit_type = 'non-medical' --->
				</cfif>  
				ORDER BY answer_order ASC
			</cfquery>
        	<cfreturn  getvisitstypes>
	</cffunction>
    
</cfcomponent>