package gov.va.med.esr.service.external.person;

import gov.va.med.esr.service.external.ExternalComponent;
import gov.va.med.esr.service.external.person.collections.EligibilityCollection;

import java.util.Date;

public class EnrollmentDeterminationInfo extends ExternalComponent {

	private static final long serialVersionUID = -5059236998453938228L;

	/* ENROLLMENT_DETERMINATION */
	/** Load from Person.EnrollmentDetermination**/
	//ZEN/9/Z11
	private String priorityGroup = null;

	//ZEN/13/Z11
	private String prioritySubGroup = null;

	/**
	private String initialPriorityGroup = null;

	private String initialPrioritySubGroup = null;
	**/
	//ZEN/3/Z11
	private String calculationSource = null;

	//ZEN/4/Z11
	private String enrollmentStatus = null;

	//ZEN/2/Z11
	private Date enrollmentDate = null;

	//ZEN/12/Z11
	private Date endDate = null;

	//ZEN/7/Z11
	private String facilityReceived = null;

	//ZEN/10/Z11
	private Date effectiveDate = null;

	
	
    //ZPD/12/Z11
    private Boolean eligibleForMedicaid;
    
    
    //ZEN/11/Z11
    private Date applicationDate;
    
    //ZEL/8/Z11
    private Boolean veteran = null;
    
    //ZEL/34/Z11
    private Integer userEnrolleeValidThrough;

    //ZEL/35/Z11
    private String userEnrolleeSite = null;
    
	//ELIGIBILITY_DETERMINATION.
	private EligibilityInfo primaryEligibility = null;

	private EligibilityCollection secondaryEligibilities = null;

	private EligibilityCollection otherEligibilities = null;

	private CatastrophicDisabilityInfo catastrophicDisabilityInfo;

	private MonetaryBenefitAwardInfo monetaryBenefitAwardInfo;
	
	private MilitarySexualTraumaInfo militarySexualTraumaInfo;

	private NoseThroatRadiumInfo noseThroatRadiumInfo;
	
	private SpecialFactorsInfo specialFactors;
	
	private CancelDeclineInfo cancelDeclineInfo;
	
	private IneligibilityFactorInfo ineligibilityFactor;

	private ServiceConnectionAwardInfo serviceConnectionAward;
    //16 fields
    private Date medicaidLastModifiedDate = null;
    private Date recordCreatedDate = null;
    private Date recordModifiedDate = null;
    private String enrollmentCategoryName = null;

	
	
	public Date getApplicationDate() {
		return applicationDate;
	}

	public void setApplicationDate(Date applicationDate) {
		this.applicationDate = applicationDate;
	}

	public String getCalculationSource() {
		return calculationSource;
	}

	public void setCalculationSource(String calculationSource) {
		this.calculationSource = calculationSource;
	}

	public CancelDeclineInfo getCancelDeclineInfo() {
		return cancelDeclineInfo;
	}

	public void setCancelDeclineInfo(CancelDeclineInfo cancelDeclineInfo) {
		this.cancelDeclineInfo = cancelDeclineInfo;
	}

	public CatastrophicDisabilityInfo getCatastrophicDisabilityInfo() {
		return catastrophicDisabilityInfo;
	}

	public void setCatastrophicDisabilityInfo(
			CatastrophicDisabilityInfo catastrophicDisabilityInfo) {
		this.catastrophicDisabilityInfo = catastrophicDisabilityInfo;
	}

	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}

	public Boolean getEligibleForMedicaid() {
		return eligibleForMedicaid;
	}

	public void setEligibleForMedicaid(Boolean eligibleForMedicaid) {
		this.eligibleForMedicaid = eligibleForMedicaid;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public Date getEnrollmentDate() {
		return enrollmentDate;
	}

	public void setEnrollmentDate(Date enrollmentDate) {
		this.enrollmentDate = enrollmentDate;
	}

	public String getEnrollmentStatus() {
		return enrollmentStatus;
	}

	public void setEnrollmentStatus(String enrollmentStatus) {
		this.enrollmentStatus = enrollmentStatus;
	}

	public String getFacilityReceived() {
		return facilityReceived;
	}

	public void setFacilityReceived(String facilityReceived) {
		this.facilityReceived = facilityReceived;
	}

	public IneligibilityFactorInfo getIneligibilityFactor() {
		return ineligibilityFactor;
	}

	public void setIneligibilityFactor(IneligibilityFactorInfo ineligibilityFactor) {
		this.ineligibilityFactor = ineligibilityFactor;
	}

	public MilitarySexualTraumaInfo getMilitarySexualTraumaInfo() {
		return militarySexualTraumaInfo;
	}

	public void setMilitarySexualTraumaInfo(
			MilitarySexualTraumaInfo militarySexualTraumaInfo) {
		this.militarySexualTraumaInfo = militarySexualTraumaInfo;
	}

	public MonetaryBenefitAwardInfo getMonetaryBenefitAwardInfo() {
		return monetaryBenefitAwardInfo;
	}

	public void setMonetaryBenefitAwardInfo(
			MonetaryBenefitAwardInfo monetaryBenefitAwardInfo) {
		this.monetaryBenefitAwardInfo = monetaryBenefitAwardInfo;
	}

	public NoseThroatRadiumInfo getNoseThroatRadiumInfo() {
		return noseThroatRadiumInfo;
	}

	public void setNoseThroatRadiumInfo(NoseThroatRadiumInfo noseThroatRadiumInfo) {
		this.noseThroatRadiumInfo = noseThroatRadiumInfo;
	}

	public EligibilityCollection getOtherEligibilities() {
		return otherEligibilities;
	}

	public void setOtherEligibilities(EligibilityCollection otherEligibilities) {
		this.otherEligibilities = otherEligibilities;
	}

	public EligibilityInfo getPrimaryEligibility() {
		return primaryEligibility;
	}

	public void setPrimaryEligibility(EligibilityInfo primaryEligibility) {
		this.primaryEligibility = primaryEligibility;
	}

	public String getPriorityGroup() {
		return priorityGroup;
	}

	public void setPriorityGroup(String priorityGroup) {
		this.priorityGroup = priorityGroup;
	}

	public String getPrioritySubGroup() {
		return prioritySubGroup;
	}

	public void setPrioritySubGroup(String prioritySubGroup) {
		this.prioritySubGroup = prioritySubGroup;
	}

	public EligibilityCollection getSecondaryEligibilities() {
		return secondaryEligibilities;
	}

	public void setSecondaryEligibilities(
			EligibilityCollection secondaryEligibilities) {
		this.secondaryEligibilities = secondaryEligibilities;
	}

	public SpecialFactorsInfo getSpecialFactors() {
		return specialFactors;
	}

	public void setSpecialFactors(SpecialFactorsInfo specialFactors) {
		this.specialFactors = specialFactors;
	}

	public String getUserEnrolleeSite() {
		return userEnrolleeSite;
	}

	public void setUserEnrolleeSite(String userEnrolleeSite) {
		this.userEnrolleeSite = userEnrolleeSite;
	}

	public Integer getUserEnrolleeValidThrough() {
		return userEnrolleeValidThrough;
	}

	public void setUserEnrolleeValidThrough(Integer userEnrolleeValidThrough) {
		this.userEnrolleeValidThrough = userEnrolleeValidThrough;
	}

	public Boolean getVeteran() {
		return veteran;
	}

	public void setVeteran(Boolean veteran) {
		this.veteran = veteran;
	}

	public ServiceConnectionAwardInfo getServiceConnectionAward() {
		return serviceConnectionAward;
	}

	public void setServiceConnectionAward(
			ServiceConnectionAwardInfo serviceConnectionAward) {
		this.serviceConnectionAward = serviceConnectionAward;
	}

    public String getEnrollmentCategoryName() {
        return enrollmentCategoryName;
    }

    public void setEnrollmentCategoryName(String enrollmentCategoryName) {
        this.enrollmentCategoryName = enrollmentCategoryName;
    }

    public Date getMedicaidLastModifiedDate() {
        return medicaidLastModifiedDate;
    }

    public void setMedicaidLastModifiedDate(Date medicaidLastModifiedDate) {
        this.medicaidLastModifiedDate = medicaidLastModifiedDate;
    }

    public Date getRecordCreatedDate() {
        return recordCreatedDate;
    }

    public void setRecordCreatedDate(Date recordCreatedDate) {
        this.recordCreatedDate = recordCreatedDate;
    }

    public Date getRecordModifiedDate() {
        return recordModifiedDate;
    }

    public void setRecordModifiedDate(Date recordModifiedDate) {
        this.recordModifiedDate = recordModifiedDate;
    }

}
