<?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" xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">


	<bean id="workFlow" class="gov.va.med.cds.mediator.work.RequestResponseWorkFlow">
		<property name="wsnInputMessage" value="INPUT-MESSAGE" />
		<property name="wsnPersistOriginal" value="PERSIST-ORIGINAL" />
		<property name="wsnOutputMessage" value="OUTPUT-MESSAGE" />
		<property name="work">
			<list>
				<!-- Work responsible for creating and registering the HL7 Support instance in the Work State. -->
				<ref bean="registerHL7SupportWork" />

				<!-- Work that reads the incoming messages sending application and stores it in the Work State. -->
				<ref bean="registerHL7DataWithWorkStateWork" />

				<!-- Work responsible for determining whether the incoming request is for a read or a write. -->
				<ref bean="stringComparisonConditionalForkingWorkFlow" />
			</list>
		</property>
	</bean>


	<bean id="registerHL7SupportWork" class="gov.va.med.cds.mediator.work.hapi.RegisterHL7SupportWork">
		<property name="wsnMessage" value="INPUT-MESSAGE" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnMsgCtrlId" value="MSG-CTRL-ID" />
	</bean>


	<bean id="registerHL7DataWithWorkStateWork" class="gov.va.med.cds.mediator.work.hapi.RegisterHL7DataWithWorkStateWork">
		<property name="terserPath" value="/MSH-3" />
		<property name="wsnDataName" value="SENDING-APPLICATION" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
	</bean>


	<bean id="stringComparisonConditionalForkingWorkFlow" class="gov.va.med.cds.mediator.work.StringComparisonConditionalForkingWorkFlow">
		<property name="comparisonType" value="ENDS_WITH" />
		<property name="compareWithString" value="SENDER" />
		<property name="wsnWorkStateToCompare" value="SENDING-APPLICATION" />
		<property name="trueFork">
			<list>
				<!-- Read work controller. -->
				<!-- Get the start time and stick it in the workflow data. -->
				<ref bean="readRequestAuditLogStartWork" />

				<!-- Work responsible for converting the HL7-XML into FILTER XML and storing it in the Work State. -->
				<ref bean="hl7XmlToFilterXmlWork" />

				<!-- Read work controller. -->
				<ref bean="clinicalDataReadMessageWork" />

				<!-- Transform Read response back to ER7 encoded HL7 for legacy clients. -->
				<ref bean="vhimXmlReadResponseToHl7Er7Work" />

				<!-- Work responsible for auditing the read request to the CDS Audit Log. -->
				<ref bean="readRequestAuditLogEndWork" />
			</list>
		</property>
		<property name="falseFork">
			<list>
				<!-- Write work controller. -->
				<!-- Work responsible for converting the HL7-XML into VHIM and storing it in the Work State. -->
				<ref bean="hL7XmlToVhimCreateXmlWork" />

				<!-- Persists audit clob to CDS -->
				<ref bean="clinicalDataAuditClobWork" />

				<!-- Call CDS to create the clinical data. -->
				<ref bean="clinicalDataCreateMessageWork" />

				<!-- Transform write ack response back to an ER7 encoded Ack for legacy clients. -->
				<ref bean="vhimXmlWriteAckToEr7Work" />
			</list>
		</property>
	</bean>


	<bean id="hL7XmlToVhimCreateXmlWork" class="gov.va.med.cds.mediator.work.hapi.HL7XmlToVhimCreateXmlWork">
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnTemplateInformation" value="TEMPLATE-INFO" />
		<property name="wsnVhimRequest" value="VHIM-REQUEST" />
		<property name="templateInformationMap" ref="sendingApplicationToTemplateInfoMap" />
		<property name="xsltHelper" ref="xsltHelper" />
		<property name="validator" ref="templateValidator" />
	</bean>


	<bean id="hl7XmlToFilterXmlWork" class="gov.va.med.cds.mediator.work.hapi.HL7XmlToFilterXmlWork">
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnVhimRequest" value="VHIM-REQUEST" />
		<property name="wsnFilterInformation" value="FILTER-INFO" />
		<property name="templateInformationMap" ref="sendingApplicationToTemplateInfoMap" />
		<property name="xsltHelper" ref="xsltHelper" />
		<property name="whatCodeToFilterInformationMap" ref="whatCodeToFilterInformationMap" />
	</bean>


	<bean id="clinicalDataCreateMessageWork" class="gov.va.med.cds.mediator.work.cds.ClinicalDataCreateMessageWork">
		<property name="cdsSynchronous" ref="cdsServiceExt" />
		<property name="templateInformationMap" ref="sendingApplicationToTemplateInfoMap" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnCdsVhimRequest" value="VHIM-REQUEST" />
		<property name="wsnCdsVhimResponse" value="OUTPUT-MESSAGE" />
		<property name="wsnClobNOTPersistedFlag" value="AUDIT_CLOB_NOT_PERSISTED" />
		<property name="auditVhimRequest" value="false" />
	</bean>


	<bean id="clinicalDataReadMessageWork" class="gov.va.med.cds.mediator.work.cds.ClinicalDataReadMessageWork">
		<property name="cdsSynchronous" ref="cdsServiceExt" />
		<property name="wsnFilterInformation" value="FILTER-INFO" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnCdsVhimRequest" value="VHIM-REQUEST" />
		<property name="wsnCdsVhimResponse" value="VHIM-RESPONSE" />
	</bean>


	<bean id="vhimXmlReadResponseToHl7Er7Work" class="gov.va.med.cds.mediator.work.hapi.VhimXmlReadResponseToHl7Er7Work">
		<property name="wsnCdsVhimReadResponse" value="VHIM-RESPONSE" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnFilterInformation" value="FILTER-INFO" />
		<property name="wsnHl7Er7Response" value="OUTPUT-MESSAGE" />
	</bean>


	<bean id="vhimXmlWriteAckToEr7Work" class="gov.va.med.cds.mediator.work.ApplicationAcknowledgementWork">
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnCdsVhimResponse" value="OUTPUT-MESSAGE" />
		<property name="clientProxiesMap" ref="clientProxiesMap" />
		<property name="hl7AuditDaoMap">
			<map>
				<entry key="VA_DATA" value-ref="vaHibernateHl7AuditDao" />
				<entry key="DOD_DATA" value-ref="dodHibernateHl7AuditDao" />
			</map>
		</property>
		<property name="ignoreAppAckSendingApps">
			<list>
				<value>HTAPPL-CENSUS</value>
			</list>
		</property>
	</bean>


	<bean id="readRequestAuditLogStartWork" class="gov.va.med.cds.mediator.work.ReadRequestAuditLogStartWork">
		<property name="wsnStartTimeInMillis" value="START-TIME" />
	</bean>


	<bean id="readRequestAuditLogEndWork" class="gov.va.med.cds.mediator.work.ReadRequestAuditLogEndWork">
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="wsnFilterInformation" value="FILTER-INFO" />
		<property name="wsnMessage" value="INPUT-MESSAGE" />
		<property name="wsnCdsLegacyResponse" value="OUTPUT-MESSAGE" />
		<property name="wsnStartTimeInMillis" value="START-TIME" />
		<property name="auditLogPersistenceManager" ref="auditLogPersistenceManager" />
	</bean>


	<bean id="clinicalDataAuditClobWork" class="gov.va.med.cds.mediator.work.AuditClobWork">
		<property name="wsnMessage" value="INPUT-MESSAGE" />
		<property name="wsnPersistFlag" value="PERSIST-ORIGINAL" />
		<property name="wsnHl7Support" value="HL7-SUPPORT" />
		<property name="cdsAuditClobStore" ref="cdsAuditClobStore" />
		<property name="wsnClobNOTPersistedFlag" value="AUDIT_CLOB_NOT_PERSISTED" />
		<property name="wsnTemplateInformation" value="TEMPLATE-INFO" />
	</bean>


	<bean id="cdsAuditClobStore" class="gov.va.med.cds.audit.persistence.hibernate.PersistAuditStore">
		<property name="hibernateTemplate" ref="auditLogHibernateTemplate" />
	</bean>


	<bean id="messageMediator" class="gov.va.med.cds.mediator.MessageMediator">
		<property name="messageProcessor" ref="workFlow" />
	</bean>


	<util:map id="sendingApplicationToTemplateInfoMap">
		<entry key="HDRPRES">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToPharmacy.xsl" />
				<property name="templateName" value="PharmacyCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRPREF">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToPharmacy.xsl" />
				<property name="templateName" value="PharmacyCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRPPAR">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToPharmacy.xsl" />
				<property name="templateName" value="PharmacyCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRVTLS">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToVitalSigns.xsl" />
				<property name="templateName" value="VitalsignsCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRALGY">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToAllergyIntoleranceCondition.xsl" />
				<property name="templateName" value="IntoleranceConditionCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRADAS">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToAllergyAssement.xsl" />
				<property name="templateName" value="AllergyAssessmentCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HDRVTLS-HTH">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToHTH.xsl" />
				<property name="templateName" value="VitalsignsCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="LA7LAB">

			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToLabChemHem.xsl" />
				<property name="templateName" value="LabCreateOrUpdate40060" />
			</bean>
		</entry>
		<entry key="HTAPPL-ADL">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToADLSurveyCreate40024.xsl" />
				<property name="templateName" value="ADLSurveyCreate40024" />
			</bean>
		</entry>
		<entry key="HTAPPL-PS1.0">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToPSSurveyCreate40023.xsl" />
				<property name="templateName" value="PSSurveyCreate40023" />
			</bean>
		</entry>
		<entry key="HTAPPL-PS2.0">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToPSSurveyCreate40025.xsl" />
				<property name="templateName" value="PSSurveyCreate40025" />
			</bean>
		</entry>
		<entry key="HTAPPL-DMP">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToDMPSurveyCreate40024.xsl" />
				<property name="templateName" value="DMPSurveyCreate40024" />
			</bean>
		</entry>
		<entry key="HTAPPL-CENSUS">
			<bean class="gov.va.med.cds.mediator.work.TemplateInformation">
				<property name="stylesheet" value="HL7ToCensusSurveyCreate40024.xsl" />
				<property name="templateName" value="CensusSurveyCreate40024" />
			</bean>
		</entry>
	</util:map>


	<util:map id="whatCodeToFilterInformationMap">
		<entry key="CHDR_ALGY">
			<bean class="gov.va.med.cds.mediator.work.FilterInformation">
				<property name="filterId" value="CHDR_ALLERGY_SINGLE_PATIENT_FILTER" />
				<property name="templateId" value="AllergiesRead40010" />
				<property name="hl7ToVhimFilterTransform" value="ChdrAllergySinglePatientFilter.xsl" />
				<property name="responseFormatter" ref="chdrAllergyBatchResponseFormatter" />
			</bean>
		</entry>
		<entry key="CHDR_RXOP">
			<bean class="gov.va.med.cds.mediator.work.FilterInformation">
				<property name="filterId" value="CHDR_RX_SINGLE_PATIENT_FILTER" />
				<property name="templateId" value="PharmacyRead40010" />
				<property name="hl7ToVhimFilterTransform" value="ChdrRxSinglePatientFilter.xsl" />
				<property name="responseFormatter" ref="chdrPharmacyBatchResponseFormatter" />
			</bean>
		</entry>
		<entry key="CHDR_LAB">
			<bean class="gov.va.med.cds.mediator.work.FilterInformation">
				<property name="filterId" value="CHDR_LAB_SINGLE_PATIENT_FILTER" />
				<property name="templateId" value="LabRead40010" />
				<property name="hl7ToVhimFilterTransform" value="ChdrLabSinglePatientFilter.xsl" />
				<property name="responseFormatter" ref="chdrLabBatchResponseFormatter" />
			</bean>
		</entry>
		<entry key="OC_AL">
			<bean class="gov.va.med.cds.mediator.work.FilterInformation">
				<property name="filterId" value="ALLERGY_SINGLE_PATIENT_ALL_DATA_FILTER" />
				<property name="templateId" value="AllergyRead40010" />
				<property name="hl7ToVhimFilterTransform" value="AllergySinglePatientAllDataFilter.xsl" />
				<property name="responseFormatter" ref="chdrAllergyBatchResponseFormatter" />
			</bean>
		</entry>
		<entry key="OC_RXOP">
			<bean class="gov.va.med.cds.mediator.work.FilterInformation">
				<property name="filterId" value="RX_SINGLE_PATIENT_ALL_DATA_FILTER" />
				<property name="templateId" value="PharmacyRead40010" />
				<property name="hl7ToVhimFilterTransform" value="RxSinglePatientAllDataFilter.xsl" />
				<property name="responseFormatter" ref="chdrPharmacyBatchResponseFormatter" />
			</bean>
		</entry>
	</util:map>


	<bean id="abstractXsltToHl7ResponseFormatter" abstract="true" class="gov.va.med.cds.mediator.formatter.AbstractXsltToHl7ResponseFormatter" parent="abstractXsltResponseFormatter">
		<property name="hl7Utility" ref="hl7Utility" />
	</bean>


	<bean id="abstractXsltResponseFormatter" abstract="true" class="gov.va.med.cds.mediator.formatter.AbstractXsltResponseFormatter">
		<property name="xsltHelper" ref="xsltHelper" />
	</bean>


	<bean id="chdrAllergyBatchResponseFormatter" class="gov.va.med.cds.mediator.formatter.ChdrBatchResponseFormatter" parent="abstractXsltToHl7ResponseFormatter">
		<property name="stylesheet" value="VHIMIntoleranceConditionToHL7.xsl" />
	</bean>


	<bean id="chdrPharmacyBatchResponseFormatter" class="gov.va.med.cds.mediator.formatter.ChdrBatchResponseFormatter" parent="abstractXsltToHl7ResponseFormatter">
		<property name="stylesheet" value="VHIMPharmacyToHL7.xsl" />
	</bean>


	<bean id="chdrLabBatchResponseFormatter" class="gov.va.med.cds.mediator.formatter.ChdrBatchResponseFormatter" parent="abstractXsltToHl7ResponseFormatter">
		<property name="stylesheet" value="VHIMLabChemHemToHL7.xsl" />
	</bean>


	<bean id="templateValidator" class="gov.va.med.cds.mediator.work.TemplateValidator">
		<constructor-arg>
			<list>
				<value>DMPSurveyCreate40024</value>
				<value>ADLSurveyCreate40024</value>
				<value>PSSurveyCreate40023</value>
				<value>PSSurveyCreate40025</value>
				<value>CensusSurveyCreate40024</value>
			</list>
		</constructor-arg>
	</bean>


	<util:map id="clientProxiesMap">
		<entry key="HDRVTLS-HTH" value-ref="dnsSocketProxy" />
		<entry key="HTAPPL-ADL" value-ref="dnsSocketProxy" />
		<entry key="HTAPPL-PS1.0" value-ref="dnsSocketProxy" />
		<entry key="HTAPPL-PS2.0" value-ref="dnsSocketProxy" />
		<entry key="HTAPPL-DMP" value-ref="dnsSocketProxy" />
		<entry key="HTAPPL-CENSUS" value-ref="dnsSocketProxy" />
	</util:map>


	<bean id="getReadWriteChannel" class="gov.va.med.cds.client.proxy.GetReadWriteChannel" />


	<bean id="abstractMllpSocketBasedClientProxy" class="gov.va.med.cds.client.proxy.AbstractMllpSocketBasedClientProxy" abstract="true">
		<property name="blockingConnectionFactory" ref="blockingConnectionFactory" />
		<property name="port" value="5121" />
		<property name="getReadWriteChannel" ref="getReadWriteChannel" />
	</bean>


	<bean id="dnsSocketProxy" class="gov.va.med.cds.client.proxy.MllpDnsSocketBasedClientProxy" parent="abstractMllpSocketBasedClientProxy" />


	<bean id="blockingConnectionFactory" class="gov.va.med.cds.client.proxy.BlockingConnectionFactory">
		<property name="connectionTimeoutMillis" value="10000" />
		<property name="readTimeoutMillis" value="10000" />
		<property name="idleTimeoutMillis" value="10000" />
	</bean>


	<bean id="springContextAccessor" class="gov.va.med.cds.mediator.config.SpringApplicationContextAccessorFactory" factory-method="getInstance" lazy-init="false" />


	<util:map id="facilityIdMap" map-class="java.util.HashMap">
		<entry key="521" value="BIRMINGHAM.MED.DNS   " />
		<entry key="619" value="CENTRAL-ALABAMA.MED.DNS   " />
		<entry key="679" value="TUSCALOOSA.MED.DNS   " />
		<entry key="463" value="ANCHORAGE.MED.DNS   " />
		<entry key="644" value="PHOENIX.MED.DNS   " />
		<entry key="649" value="PRESCOTT.MED.DNS   " />
		<entry key="678" value="TUCSON.MED.DNS   " />
		<entry key="564" value="FAYETTVL-AR.MED.DNS   " />
		<entry key="598" value="LITTLE-ROCK.MED.DNS   " />
		<entry key="570" value="FRESNO.MED.DNS   " />
		<entry key="605" value="LOMA-LINDA.MED.DNS   " />
		<entry key="600" value="LONG-BEACH.MED.DNS   " />
		<entry key="612" value="MARTINEZ.MED.DNS   " />
		<entry key="640" value="PALO-ALTO.MED.DNS   " />
		<entry key="664" value="SAN-DIEGO.MED.DNS   " />
		<entry key="662" value="SANFRANCISCO.MED.DNS   " />
		<entry key="691" value="WEST-LA.MED.DNS   " />
		<entry key="554" value="DENVER.MED.DNS   " />
		<entry key="575" value="GRAND-JUNCT.MED.DNS   " />
		<entry key="689" value="WEST-HAVEN.MED.DNS   " />
		<entry key="460" value="WILMINGTON.MED.DNS   " />
		<entry key="516" value="BAY-PINES.MED.DNS   " />
		<entry key="546" value="MIAMI.MED.DNS   " />
		<entry key="573" value="NORTH-FLORIDA.MED.DNS   " />
		<entry key="673" value="TAMPA.MED.DNS   " />
		<entry key="548" value="WEST-PALM.MED.DNS   " />
		<entry key="508" value="ATLANTA.MED.DNS   " />
		<entry key="509" value="AUGUSTA.MED.DNS   " />
		<entry key="557" value="DUBLIN.MED.DNS   " />
		<entry key="459" value="HONOLULU.MED.DNS   " />
		<entry key="531" value="BOISE.MED.DNS   " />
		<entry key="537" value="CHICAGO-WEST.MED.DNS   " />
		<entry key="550" value="DANVILLE.MED.DNS   " />
		<entry key="578" value="HINES.MED.DNS   " />
		<entry key="556" value="N-CHICAGO.MED.DNS   " />
		<entry key="610" value="NORTHERN-INDIANA.MED.DNS   " />
		<entry key="583" value="INDIANAPOLIS.MED.DNS   " />
		<entry key="596" value="LEXINGTON.MED.DNS   " />
		<entry key="603" value="LOUISVILLE.MED.DNS   " />
		<entry key="502" value="ALEXANDRIA.MED.DNS   " />
		<entry key="629" value="NEW-ORLEANS.MED.DNS   " />
		<entry key="667" value="SHREVEPORT.MED.DNS   " />
		<entry key="402" value="TOGUS.MED.DNS   " />
		<entry key="512" value="BALTIMORE.MED.DNS   " />
		<entry key="518" value="BEDFORD.DNS   " />
		<entry key="523" value="BOSTON.MED.DNS   " />
		<entry key="631" value="NORTHAMPTON.MED.DNS   " />
		<entry key="506" value="ANN-ARBOR.MED.DNS   " />
		<entry key="515" value="BATTLE-CREEK.MED.DNS   " />
		<entry key="553" value="DETROIT.MED.DNS   " />
		<entry key="585" value="IRON-MTN.MED.DNS   " />
		<entry key="655" value="SAGINAW.MED.DNS   " />
		<entry key="618" value="MINNEAPOLIS.MED.DNS   " />
		<entry key="656" value="ST-CLOUD.MED.DNS   " />
		<entry key="520" value="BILOXI.MED.DNS   " />
		<entry key="586" value="JACKSON.MED.DNS   " />
		<entry key="589" value="KANSAS-CITY.MED.DNS   " />
		<entry key="657" value="ST-LOUIS.MED.DNS   " />
		<entry key="436" value="MONTANA.MED.DNS   " />
		<entry key="636" value="CENTRAL-PLAINS.MED.DNS   " />
		<entry key="593" value="LAS-VEGAS.MED.DNS   " />
		<entry key="654" value="RENO.MED.DNS   " />
		<entry key="608" value="MANCHESTER.MED.DNS   " />
		<entry key="561" value="EAST-ORANGE.MED.DNS   " />
		<entry key="501" value="ALBUQUERQUE.MED.DNS   " />
		<entry key="526" value="BRONX.MED.DNS   " />
		<entry key="620" value="MONTROSE.MED.DNS   " />
		<entry key="632" value="NORTHPORT.MED.DNS   " />
		<entry key="630" value="NY-HARBOR.MED.DNS   " />
		<entry key="528" value="V02.MED.DNS   " />
		<entry key="637" value="ASHEVILLE.MED.DNS   " />
		<entry key="558" value="DURHAM.MED.DNS   " />
		<entry key="565" value="FAYETTVL-NC.MED.DNS   " />
		<entry key="659" value="SALISBURY.MED.DNS   " />
		<entry key="437" value="FARGO.MED.DNS   " />
		<entry key="538" value="CHILLICOTHE.MED.DNS   " />
		<entry key="539" value="CINCINNATI.MED.DNS   " />
		<entry key="541" value="CLEVELAND.MED.DNS   " />
		<entry key="757" value="COLUMBUS.MED.DNS   " />
		<entry key="552" value="DAYTON.MED.DNS   " />
		<entry key="623" value="MUSKOGEE.MED.DNS   " />
		<entry key="635" value="OKLAHOMA.MED.DNS   " />
		<entry key="648" value="PORTLAND.MED.DNS   " />
		<entry key="653" value="ROSEBURG.MED.DNS   " />
		<entry key="692" value="WHITE-CITY.MED.DNS   " />
		<entry key="503" value="ALTOONA.MED.DNS   " />
		<entry key="529" value="BUTLER.MED.DNS   " />
		<entry key="542" value="COATESVILLE.MED.DNS   " />
		<entry key="562" value="ERIE.MED.DNS   " />
		<entry key="595" value="LEBANON.MED.DNS   " />
		<entry key="642" value="PHILADELPHIA.MED.DNS   " />
		<entry key="646" value="PITTSBURGH.MED.DNS   " />
		<entry key="693" value="WILKES-BARRE.MED.DNS   " />
		<entry key="650" value="PROVIDENCE.MED.DNS   " />
		<entry key="534" value="CHARLESTON.MED.DNS   " />
		<entry key="544" value="COLUMBIA-SC.MED.DNS   " />
		<entry key="568" value="BLACK-HILLS.MED.DNS   " />
		<entry key="438" value="SIOUX-FALLS.MED.DNS   " />
		<entry key="614" value="MEMPHIS.MED.DNS   " />
		<entry key="621" value="MTN-HOME.MED.DNS   " />
		<entry key="626" value="TENNESSEEVALLEY.MED.DNS   " />
		<entry key="504" value="AMARILLO.MED.DNS   " />
		<entry key="519" value="BIG-SPRING.MED.DNS   " />
		<entry key="674" value="CENTRAL-TEXAS.MED.DNS   " />
		<entry key="549" value="DALLAS.MED.DNS   " />
		<entry key="756" value="EL-PASO.MED.DNS   " />
		<entry key="580" value="HOUSTON.MED.DNS   " />
		<entry key="671" value="SAN-ANTONIO.MED.DNS   " />
		<entry key="660" value="SALT-LAKE.MED.DNS   " />
		<entry key="405" value="WHITE-RIVER.MED.DNS   " />
		<entry key="590" value="HAMPTON.MED.DNS   " />
		<entry key="652" value="RICHMOND.MED.DNS   " />
		<entry key="658" value="SALEM.MED.DNS   " />
		<entry key="663" value="PUGET-SOUND.MED.DNS   " />
		<entry key="668" value="SPOKANE.MED.DNS   " />
		<entry key="687" value="WALLA-WALLA.MED.DNS   " />
		<entry key="517" value="BECKLEY.MED.DNS   " />
		<entry key="540" value="CLARKSBURG.MED.DNS   " />
		<entry key="581" value="HUNTINGTON.MED.DNS   " />
		<entry key="613" value="MARTINSBURG.MED.DNS   " />
		<entry key="607" value="MADISON.MED.DNS   " />
		<entry key="695" value="MILWAUKEE.MED.DNS   " />
		<entry key="676" value="TOMAH.MED.DNS   " />
		<entry key="442" value="CHEYENNE.MED.DNS   " />
		<entry key="666" value="SHERIDAN.MED.DNS   " />
		<entry key="688" value="WASHINGTON.MED.DNS   " />
		<entry key="358" value="MANILA.MED.DNS   " />
		<entry key="672" value="SAN-JUAN.MED.DNS   " />
		<entry key="675" value="ORLANDO.MED.DNS   " />
		<entry key="992" value="DNS   5.DNS        .MED.DNS   " />
		<entry key="993" value="CHYETS.DNS        .MED.DNS   " />
		<entry key="0" value="DNS  VITERION.CC.MED.DNS   " />
	</util:map>



	<bean id="appAckMBeanExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
		<property name="beans">
			<map>
				<entry key="gov.va.med.cds.appack:name=cds-application-acknowledgement-processor" value-ref="vhimXmlWriteAckToEr7Work" />
			</map>
		</property>
		<property name="assembler">
			<bean class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler">
				<property name="interfaceMappings">
					<props>
						<prop key="gov.va.med.cds.appack:name=cds-application-acknowledgement-processor">
							gov.va.med.cds.mediator.work.ApplicationAcknowledgementMBeanInterface
						</prop>
					</props>
				</property>
			</bean>
		</property>
		<property name="server" ref="mbeanServer" />
		<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING" />
	</bean>


	<bean id="responseErrorSectionExtractor" class="gov.va.med.cds.response.util.ResponseErrorSectionExtractor">
		<property name="severityList">
			<list>
				<value>errors</value>
				<value>fatalErrors</value>
				<value>warnings</value>
			</list>
		</property>
	</bean>


	<!--Start HL7Utility.createMessageControlId( )configuration settings -->

	<bean id="hl7Utility" class="gov.va.med.cds.hapi.HL7Utility">
		<property name="jdbcTemplateForMessageControlId" ref="jdbcTemplateForMessageControlId" />
		<property name="facilityIdMap" ref="facilityIdMap" />
	</bean>

	<!--End HL7Utility.createMessageControlId( )configuration settings -->


	<!-- Aspect definitions -->

	<bean id="duplicateLogAndSwallowAspect" class="gov.va.med.cds.aspects.exception.SwallowAspect">
		<property name="criteria" value="ORA-00001" /> <!-- Unique constraint violation -->
		<property name="criteriaType" value="MESSAGE" />
	</bean>


	<aop:config>
		<aop:aspect ref="duplicateLogAndSwallowAspect">
			<aop:pointcut id="executionOfErrorCheck" expression="execution(* *..*.response.util.ResponseErrorSectionExtractor.check*(..))" />
			<aop:around pointcut-ref="executionOfErrorCheck" method="doAround" />
		</aop:aspect>
	</aop:config>


	<bean id="loggingFilter" class="org.apache.mina.filter.logging.LoggingFilter" />


	<bean id="textLineCodecFilter" class="org.apache.mina.filter.codec.ProtocolCodecFilter">
		<constructor-arg ref="textLineCodec" />
	</bean>


	<bean id="textLineCodec" class="org.apache.mina.filter.codec.textline.TextLineCodecFactory">
		<constructor-arg>
			<bean class="java.nio.charset.Charset" factory-method="forName">
				<constructor-arg type="java.lang.String" value="UTF-8" />
			</bean>
		</constructor-arg>
	</bean>


	<bean id="textLineCodec-setDecoderMaxLineLength" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
		<property name="targetObject" ref="textLineCodec" />
		<property name="targetMethod" value="setDecoderMaxLineLength" />
		<property name="arguments">
			<list>
				<value>2147483647</value>
			</list>
		</property>
	</bean>


	<bean id="filterChainBuilder" class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder">
		<property name="filters">
			<map>
				<entry key="loggingFilter" value-ref="loggingFilter" />
				<entry key="textLineCodecFilter" value-ref="textLineCodecFilter" />
			</map>
		</property>
	</bean>


	<bean id="socketAddress" class="java.net.InetSocketAddress">
		<constructor-arg>
			<bean class="java.lang.Integer" factory-method="parseInt">
				<constructor-arg type="java.lang.String" value="5121" />
			</bean>
		</constructor-arg>
	</bean>


	<bean id="acknowledgementHandler" class="gov.va.med.cds.client.proxy.AcknowledgementHandler" />


	<bean id="socketConnector" class="org.apache.mina.transport.socket.nio.NioSocketConnector">
		<property name="handler" ref="acknowledgementHandler" />
		<property name="filterChainBuilder" ref="filterChainBuilder" />
	</bean>

	<!-- consumed by the quartz job to send acks after the census transformation -->
	<bean id="censusAcknowledgementWork" class="gov.va.med.cds.scheduler.CensusAcknowledgementWork">
		<!-- <property name="wsnHl7Support" value="HL7-SUPPORT" /> -->
		<property name="clientProxiesMap" ref="clientProxiesMap" />
		<property name="hl7AuditDaoMap">
			<map>
				<entry key="VA_DATA" value-ref="vaHibernateHl7AuditDao" />
				<entry key="DOD_DATA" value-ref="dodHibernateHl7AuditDao" />
			</map>
		</property>
	</bean>

</beans>

