<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

	<bean id="filterCachePersistence"
		class="gov.va.med.cds.filter.HibernateOracleFilterCachePersistence">
		<property name="sessionFactory" ref="hdr2TfsSessionFactory"/>
	</bean>

	<bean id="filterMemoryCache" class="gov.va.med.cds.filter.FilterMemoryCache">
		<constructor-arg index="0">
			<bean class="gov.va.med.cds.util.LRUHashMap">
				<!-- LRU cache size -->
				<constructor-arg index="0" value="2" />
			</bean>
		</constructor-arg>
	</bean>

	<bean id="filterFileSystemCacheManager" class="gov.va.med.cds.filter.FilterFileSystemCacheManager">
	  <property name="filterMetadataPath" value="filtercache"/>
	</bean>

	<bean name="domainEntryPointsList" class="java.util.ArrayList">
		<constructor-arg>
			<list>
				<value>IntoleranceCondition</value>
				<value>AllergyAssessment</value>
				<value>VitalSignObservationEvent</value>
				<value>OutpatientMedicationPromise</value>
				<value>LabTestPromise</value>
			</list>
		</constructor-arg>
	</bean>

	<bean name="moreFiltersThanCache" class="java.util.ArrayList">
		<constructor-arg>
			<list>
				<value>IC_SINGLE_PATIENT_ALL_DATA_FILTER</value>
				<value>LAB_SINGLE_PATIENT_ALL_DATA_FILTER</value>
				<value>RX_SINGLE_PATIENT_ALL_DATA_FILTER</value>
				<value>VITAL_SINGLE_PATIENT_ALL_DATA_FILTER</value>
			</list>
		</constructor-arg>
	</bean>

	<bean name="sameFiltersAsCache" class="java.util.ArrayList">
		<constructor-arg>
			<list>
				<value>RX_SINGLE_PATIENT_ALL_DATA_FILTER</value>
				<value>VITAL_SINGLE_PATIENT_ALL_DATA_FILTER</value>
			</list>
		</constructor-arg>
	</bean>
	
	<bean name="lessFiltersThanCache" class="java.util.ArrayList">
		<constructor-arg>
			<list>
				<value>IC_SINGLE_PATIENT_ALL_DATA_FILTER</value>
			</list>
		</constructor-arg>
	</bean>

	<bean name="vhimVersionsList" class="java.util.HashSet">
		<constructor-arg>
			<list>
				<value>Vhim_4_00</value>
			</list>
		</constructor-arg>
	</bean>

	<bean id="filterMap" class="java.util.HashMap">
		<constructor-arg>
			<map>
				<entry>
					<key>
						<value>IC_SINGLE_PATIENT_ALL_DATA_FILTER</value>
					</key>
					<ref local="IC_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" />
				</entry>
				<entry>
					<key>
						<value>LAB_SINGLE_PATIENT_ALL_DATA_FILTER</value>
					</key>
					<ref local="LAB_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" />
				</entry>
				<entry>
					<key>
						<value>RX_SINGLE_PATIENT_ALL_DATA_FILTER</value>
					</key>
					<ref local="RX_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" />
				</entry>
				<entry>
					<key>
						<value>VITAL_SINGLE_PATIENT_ALL_DATA_FILTER</value>
					</key>
					<ref local="VITAL_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" />
				</entry>				
			</map>
		</constructor-arg>
	</bean>
       
    <bean id="IC_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" class="java.util.ArrayList" >
		<constructor-arg>
	        <list>
				<value>Vhim_4_00</value> 				<!-- VHIM Version -->
		        <value>IntoleranceCondition</value> 	<!-- Filter Entry Point -->
	        </list>
	    </constructor-arg>    
    </bean>
    
    <bean id="LAB_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" class="java.util.ArrayList" >
		<constructor-arg>
	        <list>
				<value>Vhim_4_00</value> 				<!-- VHIM Version -->
		        <value>LabTestPromise</value> 	<!-- Filter Entry Point -->
	        </list>
	    </constructor-arg>    
    </bean>

    <bean id="RX_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" class="java.util.ArrayList" >
		<constructor-arg>
	        <list>
				<value>Vhim_4_00</value> 				<!-- VHIM Version -->
		        <value>OutpatientMedicationPromise</value> 	<!-- Filter Entry Point -->
	        </list>
	    </constructor-arg>    
    </bean>
    
    <bean id="VITAL_SINGLE_PATIENT_ALL_DATA_FILTER_META_DATA" class="java.util.ArrayList" >
		<constructor-arg>
	        <list>
				<value>Vhim_4_00</value> 				<!-- VHIM Version -->
		        <value>VitalSignObservationEvent</value> 	<!-- Filter Entry Point -->
	        </list>
	    </constructor-arg>    
    </bean>
    
</beans>