<?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.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

	<bean id="clinicalDataBuilder" class="gov.va.med.cds.testharness.vhim400.builders.ClinicalDataBuilder">
		<!-- <property name="templateManager" ref="templateMetaDataProvider" />  -->
		<property name="domainEntryPointsWrappersMap">
			<map>
				<entry key="AllergyAssessment" value-ref ="allergyAssessmentBuilderFactory" />
				<entry key="IntoleranceCondition" value-ref ="intoleranceConditionBuilderFactory" />
				<entry key="OutpatientMedicationPromise" value-ref ="outpatientMedicationPromiseBuilderFactory" />
				<entry key="VitalSignObservationEvent" value-ref ="vitalsBuilderFactory" />
				<entry key="LabTestPromise"  value-ref ="labTestPromiseBuilderFactory" />
				<entry key="ClinicalDocumentEvent"  value-ref ="tiuBuilderFactory" />
				<entry key="NonVaMedicationEvent"  value-ref ="nonVaMedBuilderFactory" />
				<entry key="PatientEnteredVitalSign"  value-ref ="haPatientEnteredVitalSignBuilderFactory" />
				<entry key="PatientEnteredExerciseJournalEntry"  value-ref ="haPatientEnteredExerciseJournalEntryBuilderFactory" />
				<entry key="PatientEnteredDietJournalEntry"  value-ref ="haPatientEnteredDietJournalEntryBuilderFactory" />
				<entry key="PatientEnteredContactLogJournalEntry"  value-ref ="haPatientEnteredContactLogJournalEntryBuilderFactory" />
				<entry key="PatientEnteredDailyEventJournalEntry"  value-ref ="haPatientEnteredDailyEventJournalEntryBuilderFactory" />
				<entry key="PatientEnteredMoodJournalEntry"  value-ref ="haPatientEnteredMoodJournalEntryBuilderFactory" />
				<entry key="CalendarEvent"  value-ref ="haCalendarEventBuilderFactory" />
				<entry key="SkillTracking"  value-ref ="haSkillTrackingBuilderFactory" />
				<entry key="GoalTracking"  value-ref ="haGoalTrackingBuilderFactory" />
				<entry key="PainReassessment"  value-ref ="haPainReassessmentBuilderFactory" />	
				<entry key="PainAssessment"  value-ref ="haPainAssessmentBuilderFactory" />							
				<entry key="PainEvent" value-ref="haPainEventBuilderFactory" />
				<entry key="QuestionnaireResult" value-ref="dbqQuestionnaireResultBuilderFactory" />
				<entry key="AssessmentDocument" value-ref="haAssessmentDocumentBuilderFactory" />
				<entry key="PatientDataAccessedEvent" value-ref ="patientDataAccessedEventBuilderFactory" />
			</map>
		</property>
		<property name="domainEntryPointsMap" ref="domainEntryPointsMap"/>
	</bean>

	<bean id="haPatientEnteredDailyEventJournalEntryBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatienEnteredDailyEventJournalEntryBuilderFactory">
		<property name="dailyEventJournalEntryBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.PatientEnteredDailyEventBuilder" />
		</property>
	</bean>

	<bean id="allergyAssessmentBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.AllergyAssessmentBuilderFactory">
		<property name="allergyAssessmentBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.AllergyAssessmentBuilder" />
		</property>
	</bean>

	<bean id="patientDataAccessedEventBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.SensitivePatientDataAccessBuilderFactory">
		<property name="sensitivePatientDataAccessBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.SensitivePatientDataAccessBuilder" />
		</property>
	</bean>
	
	<bean id="intoleranceConditionBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.IntoleranceConditionBuilderFactory">
		<property name="intoleranceConditionBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.IntoleranceConditionBuilder" />
		</property>
	</bean>

	<bean id="labTestPromiseBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.LabBuilderFactory">
		<property name="labBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.LabBuilder" />
		</property>
	</bean>

	<bean id="outpatientMedicationPromiseBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.OutpatientMedicationPromiseBuilderFactory">
		<property name="outpatientMedicationPromiseBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.OutpatientMedicationPromiseBuilder" />
		</property>
	</bean>

	<bean id="vitalsBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.VitalSignObservationEventBuilderFactory">
		<property name="vitalSignObservationEventBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.VitalsBuilder" />
		</property>
	</bean>

	<bean id="tiuBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.TiuBuilderFactory">
		<property name="tiuBuiler">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.TiuBuilder" />
		</property>
	</bean>

	<bean id="nonVaMedBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.NonVaMedBuilderFactory">
		<property name="nonVaMedBuiler">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.NonVaMedBuilder" />
		</property>
	</bean>

	<bean id="haPatientEnteredVitalSignBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatientEnteredVitalSignBuilderFactory">
		<property name="vitalSignObservationEventBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAVitalsBuilder" />
		</property>
	</bean>

	<bean id="haCalendarEventBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HACalendarEventBuilderFactory">
		<property name="calendarEventBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HACalendarEventBuilder" />
		</property>
	</bean>


	<bean id="haPatientEnteredDietJournalEntryBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatientJournalEntryDietJournalBuilderFactory">
		<property name="dietJournalBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HADietJournalBuilder" />
		</property>
	</bean>

	<bean id="haPatientEnteredMoodJournalEntryBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatientEnteredMoodJournalEntryBuilderFactory">
		<property name="moodJournalBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAMoodJournalBuilder" />
		</property>
	</bean>

	<bean id="haPatientEnteredContactLogJournalEntryBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatientJournalEntryContactLogBuilderFactory">
		<property name="contactLogBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAContactLogBuilder" />
		</property>
	</bean>

	<bean id="dbqQuestionnaireResultBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.DBQQuestionnaireResultBuilderFactory">
		<property name="builder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.DBQQuestionnaireResultBuilder" />
		</property>
	</bean>

	<bean id="haPatientEnteredExerciseJournalEntryBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPatientEnteredExerciseJournalEntryBuilderFactory">
		<property name="exerciseJournalBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAExerciseJournalBuilder" />
		</property>
	</bean>

	<bean id="haSkillTrackingBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HASkillTrackingBuilderFactory">
		<property name="skillTrackingBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HASkillTrackingBuilder" />
		</property>
	</bean>

	<bean id="haPainReassessmentBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPainReassessmentBuilderFactory">
		<property name="painReassessmentBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAPainReassessmentBuilder" />
		</property>
	</bean>

	<bean id="haPainAssessmentBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPainAssessmentBuilderFactory">
		<property name="painAssessmentBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAPainAssessmentBuilder" />
		</property>
	</bean>

	<bean id="haAssessmentDocumentBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAAssessmentDocumentBuilderFactory">
		<property name="assessmentDocumentBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAAssessmentDocumentBuilder" />
		</property>
	</bean>

	<bean id="haPainEventBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAPainEventBuilderFactory">
		<property name="painEventBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAPainEventBuilder" />
		</property>
	</bean>

	<bean id="haGoalTrackingBuilderFactory" class="gov.va.med.cds.testharness.vhim400.builders.HAGoalTrackingBuilderFactory">
		<property name="goalTrackingBuilder">
			<bean class="gov.va.med.cds.testharness.vhim400.builders.HAGoalTrackingBuilder" />
		</property>
	</bean>

	<util:map id="domainEntryPointsMap" map-class="java.util.HashMap">
		<entry key="NonVAMedicationCreateOrUpdate3"> <ref bean="nonVAMedDomainEntryPoint"/></entry> 
		<entry key="AllergyAssessmentCreate40020"> <ref bean="allergyAssessmentDomainEntryPoint"/></entry> 
		<entry key="IntoleranceConditionCreate40020"><ref bean ="intoleranceConditionDomainEntryPoint"/></entry> 
		<entry key="LabCreate40020"><ref bean ="labCreateDomainEntryPoint"/></entry>  
		<entry key="PharmacyCreate40020"><ref bean ="pharmacyCreateDomainEntryPoint"/></entry>  
		<entry key="VitalsignsCreate40020"><ref bean ="vitalsignsCreateDomainEntryPoint"/></entry>  
		<entry key="AllergyAssessmentCreateOrUpdate40060"><ref bean ="allergyAssessmentDomainEntryPoint"/></entry>  
		<entry key="IntoleranceConditionCreateOrUpdate40060"><ref bean="intoleranceConditionDomainEntryPoint"/></entry> 
		<entry key="LabCreateOrUpdate40060"><ref bean ="labCreateDomainEntryPoint"/></entry>  
		<entry key="PharmacyCreateOrUpdate40060"><ref bean ="pharmacyCreateDomainEntryPoint"/></entry>  
		<entry key="VitalsignsCreateOrUpdate40060"><ref bean ="vitalsignsCreateDomainEntryPoint"/></entry>
		<entry key="TiuCreateOrUpdate40060"><ref bean ="tiuCreateDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredVitalSign"><ref bean ="patientEnteredVitalSignDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-CalendarEvent"><ref bean ="calendarEventDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredContactLogJournalEntry"><ref bean ="patientEnteredContactLogJournalEntryDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredVitalSign"><ref bean ="patientEnteredVitalSignDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredDietJournalEntry"><ref bean ="patientEnteredDietJournalEntryDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredContactLogJournalEntry"><ref bean ="patientEnteredContactLogJournalEntryEntryDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredExerciseJournalEntry"><ref bean ="exerciseJournalDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredDailyEventJournalEntry"><ref bean ="patientEnteredDailyEventJournalEntryDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-SkillTracking"><ref bean ="skillTrackingDomainEntryPoint"/></entry>		
		<entry key="HealthAdapterCreate1-GoalTracking"><ref bean ="goalTrackingDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PainReassessment"><ref bean ="painReassessmentDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PainAssessment"><ref bean ="painAssessmentDomainEntryPoint"/></entry>		
		<entry key="HealthAdapterCreate1-PainEvent"><ref bean ="painEventDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-PatientEnteredMoodJournalEntry"><ref bean="patientEnteredMoodJournalDomainEntryPoint"/></entry>
		<entry key="HealthAdapterCreate1-AssessmentDocument"><ref bean="assessmentDocumentDomainEntryPoint"/></entry> 
		<entry key="DBQCreate1"><ref bean ="dbqQuestionnaireResultCreateDomainEntryPoint"/></entry>
	</util:map>	

	<util:constant id="allergyAssessmentDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.AllergyAssessment" />
	<util:constant id="intoleranceConditionDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.IntoleranceCondition" />
	<util:constant id="labCreateDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.LabTestPromise" />
	<util:constant id="pharmacyCreateDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.OutpatientMedicationPromise" />
	<util:constant id="vitalsignsCreateDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.VitalSignObservationEvent" />
	<util:constant id="tiuCreateDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.ClinicalDocumentEvent" />
	<util:constant id="patientEnteredVitalSignDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredVitalSign" />
	<util:constant id="calendarEventDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.CalendarEvent" />
	<util:constant id="patientEnteredContactLogJournalEntryDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredContactLogJournalEntry" />
	<util:constant id="patientEnteredDietJournalEntryDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredDietJournalEntry" />
	<util:constant id="patientEnteredContactLogJournalEntryEntryDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredContactLogJournalEntry" />
	<util:constant id="patientEnteredDailyEventJournalEntryDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredDailyEventJournalEntry" />
	<util:constant id="exerciseJournalDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredExerciseJournalEntry" />
	<util:constant id="skillTrackingDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.SkillTracking" />	
	<util:constant id="goalTrackingDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.GoalTracking" />
	<util:constant id="painReassessmentDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PainReassessment" />
	<util:constant id="painAssessmentDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PainAssessment" />	
	<util:constant id="painEventDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PainEvent"/>
	<util:constant id="dbqQuestionnaireResultCreateDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.QuestionnaireResult" />
	<util:constant id="patientEnteredMoodJournalDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.PatientEnteredMoodJournalEntry"/>
	<util:constant id="assessmentDocumentDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.AssessmentDocument"/>
	<util:constant id="nonVAMedDomainEntryPoint" static-field="gov.va.med.cds.clinicaldata.DomainEntryPoint.NonVaMedicationEvent" />

</beans>
