package gov.va.med.pharmacy.persistence.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "PHARMACY", schema = "ERX")
public class Pharmacy implements java.io.Serializable {


	private static final long serialVersionUID = -9134743055221716576L;

	private Long pharmacyId;
	
	private String vaStationId;
	private String serviceLevel;
	private Date activeStartTime;
	private Date activeEndTime;
	private Long specialtyId;
	private String ncpdpId;
	private Long npi;
	private String fileId;
	private String stateLicenseNumber;
	private String medicareNumber;
	private String medicaidNumber;
	private String ppoNumber;
	private String payerId;
	private String binLocationNumber;
	private String deaNumber;
	private String hin;
	private String secondaryCoverage;
	private String naicCode;
	private String promotionNumber;
	private String storeName;
	private String storeNumber;
	private String pharmacistLastName;
	private String pharmacistFirstName;
	private String pharmacistMiddleName;
	private String pharmacistSuffix;
	private String pharmacistPrefix;
	private String pharmacistAgentLastName;
	private String pharmacistAgentFirstName;
	private String pharmacistAgentMiddleName;
	private String pharmacistAgentSuffix;
	private String pharmacistAgentPrefix;
	private String pharmacyAddressLine1;
	private String pharmacyAddressLine2;
	private String pharmacyCity;
	private String pharmacyState;
	private String pharmacyZipcode;
	private String twentyFourHourFlag;
	private String crossStreet;
	private String email;
	private String pharmacyPhoneNumber;
	private String pharmacyFaxNumber;
	private Long inboundErxEnabled;
	private Date updatedDate;
	private Date createdDate;
	private Long visn;
	private String divisionName;	
	private String createdBy;
	private String updatedBy;
	
	
	
	public Pharmacy() {
	}

	public Pharmacy(Long pharmacyId, String vaStationId, String serviceLevel,
			Date activeStartTime, Date activeEndTime, Long specialtyId, String ncpdpId, String storeName,
			String pharmacyAddressLine1, String pharmacyCity, String pharmacyState, String pharmacyZipcode,
			String pharmacyPhoneNumber, String pharmacyFaxNumber, Long inboundErxEnabled) {
		this.pharmacyId = pharmacyId;		
		this.vaStationId = vaStationId;
		this.serviceLevel = serviceLevel;
		this.activeStartTime = activeStartTime;
		this.activeEndTime = activeEndTime;
		this.specialtyId = specialtyId;
		this.ncpdpId = ncpdpId;
		this.storeName = storeName;
		this.pharmacyAddressLine1 = pharmacyAddressLine1;
		this.pharmacyCity = pharmacyCity;
		this.pharmacyState = pharmacyState;
		this.pharmacyZipcode = pharmacyZipcode;
		this.pharmacyPhoneNumber = pharmacyPhoneNumber;
		this.pharmacyFaxNumber = pharmacyFaxNumber;
		this.inboundErxEnabled = inboundErxEnabled;
	}

	public Pharmacy(Long pharmacyId, String createdBy, String updatedBy,String vaStationId, String serviceLevel,
			Date activeStartTime, Date activeEndTime, Long specialtyId,
			String ncpdpId, Long npi, String fileId, String stateLicenseNumber, String medicareNumber,
			String medicaidNumber, String ppoNumber, String payerId, String binLocationNumber, String deaNumber,
			String hin, String secondaryCoverage, String naicCode, String promotionNumber, String storeName,
			String storeNumber, String pharmacistLastName, String pharmacistFirstName, String pharmacistMiddleName,
			String pharmacistSuffix, String pharmacistPrefix, String pharmacistAgentLastName,
			String pharmacistAgentFirstName, String pharmacistAgentMiddleName, String pharmacistAgentSuffix,
			String pharmacistAgentPrefix, String pharmacyAddressLine1, String pharmacyAddressLine2, String pharmacyCity,
			String pharmacyState, String pharmacyZipcode, String twentyFourHourFlag, String crossStreet, String email,
			String pharmacyPhoneNumber, String pharmacyFaxNumber, Long inboundErxEnabled, Date updatedDate, Date createdDate,
			Long visn, String divisionName) {
		this.pharmacyId = pharmacyId;
		this.createdBy = createdBy;
		this.updatedBy = updatedBy;
		this.vaStationId = vaStationId;
		this.serviceLevel = serviceLevel;
		this.activeStartTime = activeStartTime;
		this.activeEndTime = activeEndTime;
		this.specialtyId = specialtyId;
		this.ncpdpId = ncpdpId;
		this.npi = npi;
		this.fileId = fileId;
		this.stateLicenseNumber = stateLicenseNumber;
		this.medicareNumber = medicareNumber;
		this.medicaidNumber = medicaidNumber;
		this.ppoNumber = ppoNumber;
		this.payerId = payerId;
		this.binLocationNumber = binLocationNumber;
		this.deaNumber = deaNumber;
		this.hin = hin;
		this.secondaryCoverage = secondaryCoverage;
		this.naicCode = naicCode;
		this.promotionNumber = promotionNumber;
		this.storeName = storeName;
		this.storeNumber = storeNumber;
		this.pharmacistLastName = pharmacistLastName;
		this.pharmacistFirstName = pharmacistFirstName;
		this.pharmacistMiddleName = pharmacistMiddleName;
		this.pharmacistSuffix = pharmacistSuffix;
		this.pharmacistPrefix = pharmacistPrefix;
		this.pharmacistAgentLastName = pharmacistAgentLastName;
		this.pharmacistAgentFirstName = pharmacistAgentFirstName;
		this.pharmacistAgentMiddleName = pharmacistAgentMiddleName;
		this.pharmacistAgentSuffix = pharmacistAgentSuffix;
		this.pharmacistAgentPrefix = pharmacistAgentPrefix;
		this.pharmacyAddressLine1 = pharmacyAddressLine1;
		this.pharmacyAddressLine2 = pharmacyAddressLine2;
		this.pharmacyCity = pharmacyCity;
		this.pharmacyState = pharmacyState;
		this.pharmacyZipcode = pharmacyZipcode;
		this.twentyFourHourFlag = twentyFourHourFlag;
		this.crossStreet = crossStreet;
		this.email = email;
		this.pharmacyPhoneNumber = pharmacyPhoneNumber;
		this.pharmacyFaxNumber = pharmacyFaxNumber;
		this.inboundErxEnabled = inboundErxEnabled;
		this.updatedDate = updatedDate;
		this.createdDate = createdDate;
		this.visn = visn;
		this.divisionName = divisionName;
	}

	@Id

	@Column(name = "PHARMACY_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Long getPharmacyId() {
		return this.pharmacyId;
	}

	public void setPharmacyId(Long pharmacyId) {
		this.pharmacyId = pharmacyId;
	}


	@Column(name = "VA_STATION_ID", nullable = false, length = 5)
	public String getVaStationId() {
		return this.vaStationId;
	}

	public void setVaStationId(String vaStationId) {
		this.vaStationId = vaStationId;
	}

	@Column(name = "SERVICE_LEVEL", nullable = false, precision = 22, scale = 0)
	public String getServiceLevel() {
		return this.serviceLevel;
	}

	public void setServiceLevel(String serviceLevel) {
		this.serviceLevel = serviceLevel;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "ACTIVE_START_TIME", nullable = false, length = 7)
	public Date getActiveStartTime() {
		return this.activeStartTime;
	}

	public void setActiveStartTime(Date activeStartTime) {
		this.activeStartTime = activeStartTime;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "ACTIVE_END_TIME", nullable = false, length = 7)
	public Date getActiveEndTime() {
		return this.activeEndTime;
	}

	public void setActiveEndTime(Date activeEndTime) {
		this.activeEndTime = activeEndTime;
	}

	@Column(name = "SPECIALTY_ID", nullable = false, precision = 22, scale = 0)
	public Long getSpecialtyId() {
		return this.specialtyId;
	}

	public void setSpecialtyId(Long specialtyId) {
		this.specialtyId = specialtyId;
	}

	@Column(name = "NCPDP_ID", nullable = false, length = 7)
	public String getNcpdpId() {
		return this.ncpdpId;
	}

	public void setNcpdpId(String ncpdpId) {
		this.ncpdpId = ncpdpId;
	}

	@Column(name = "NPI", precision = 22, scale = 0)
	public Long getNpi() {
		return this.npi;
	}

	public void setNpi(Long npi) {
		this.npi = npi;
	}

	@Column(name = "FILE_ID", length = 35)
	public String getFileId() {
		return this.fileId;
	}

	public void setFileId(String fileId) {
		this.fileId = fileId;
	}

	@Column(name = "STATE_LICENSE_NUMBER", length = 35)
	public String getStateLicenseNumber() {
		return this.stateLicenseNumber;
	}

	public void setStateLicenseNumber(String stateLicenseNumber) {
		this.stateLicenseNumber = stateLicenseNumber;
	}

	@Column(name = "MEDICARE_NUMBER", length = 35)
	public String getMedicareNumber() {
		return this.medicareNumber;
	}

	public void setMedicareNumber(String medicareNumber) {
		this.medicareNumber = medicareNumber;
	}

	@Column(name = "MEDICAID_NUMBER", length = 35)
	public String getMedicaidNumber() {
		return this.medicaidNumber;
	}

	public void setMedicaidNumber(String medicaidNumber) {
		this.medicaidNumber = medicaidNumber;
	}

	@Column(name = "PPO_NUMBER", length = 35)
	public String getPpoNumber() {
		return this.ppoNumber;
	}

	public void setPpoNumber(String ppoNumber) {
		this.ppoNumber = ppoNumber;
	}

	@Column(name = "PAYER_ID", length = 35)
	public String getPayerId() {
		return this.payerId;
	}

	public void setPayerId(String payerId) {
		this.payerId = payerId;
	}

	@Column(name = "BIN_LOCATION_NUMBER", precision = 22, scale = 0)
	public String getBinLocationNumber() {
		return this.binLocationNumber;
	}

	public void setBinLocationNumber(String binLocationNumber) {
		this.binLocationNumber = binLocationNumber;
	}

	@Column(name = "DEA_NUMBER", length = 35)
	public String getDeaNumber() {
		return this.deaNumber;
	}

	public void setDeaNumber(String deaNumber) {
		this.deaNumber = deaNumber;
	}

	@Column(name = "HIN", length = 35)
	public String getHin() {
		return this.hin;
	}

	public void setHin(String hin) {
		this.hin = hin;
	}

	@Column(name = "SECONDARY_COVERAGE", length = 35)
	public String getSecondaryCoverage() {
		return this.secondaryCoverage;
	}

	public void setSecondaryCoverage(String secondaryCoverage) {
		this.secondaryCoverage = secondaryCoverage;
	}

	@Column(name = "NAIC_CODE", length = 35)
	public String getNaicCode() {
		return this.naicCode;
	}

	public void setNaicCode(String naicCode) {
		this.naicCode = naicCode;
	}

	@Column(name = "PROMOTION_NUMBER", length = 35)
	public String getPromotionNumber() {
		return this.promotionNumber;
	}

	public void setPromotionNumber(String promotionNumber) {
		this.promotionNumber = promotionNumber;
	}

	@Column(name = "STORE_NAME", nullable = false, length = 35)
	public String getStoreName() {
		return this.storeName;
	}

	public void setStoreName(String storeName) {
		this.storeName = storeName;
	}

	@Column(name = "STORE_NUMBER", length = 35)
	public String getStoreNumber() {
		return this.storeNumber;
	}

	public void setStoreNumber(String storeNumber) {
		this.storeNumber = storeNumber;
	}

	@Column(name = "PHARMACIST_LAST_NAME", length = 35)
	public String getPharmacistLastName() {
		return this.pharmacistLastName;
	}

	public void setPharmacistLastName(String pharmacistLastName) {
		this.pharmacistLastName = pharmacistLastName;
	}

	@Column(name = "PHARMACIST_FIRST_NAME", length = 35)
	public String getPharmacistFirstName() {
		return this.pharmacistFirstName;
	}

	public void setPharmacistFirstName(String pharmacistFirstName) {
		this.pharmacistFirstName = pharmacistFirstName;
	}

	@Column(name = "PHARMACIST_MIDDLE_NAME", length = 35)
	public String getPharmacistMiddleName() {
		return this.pharmacistMiddleName;
	}

	public void setPharmacistMiddleName(String pharmacistMiddleName) {
		this.pharmacistMiddleName = pharmacistMiddleName;
	}

	@Column(name = "PHARMACIST_SUFFIX", length = 35)
	public String getPharmacistSuffix() {
		return this.pharmacistSuffix;
	}

	public void setPharmacistSuffix(String pharmacistSuffix) {
		this.pharmacistSuffix = pharmacistSuffix;
	}

	@Column(name = "PHARMACIST_PREFIX", length = 35)
	public String getPharmacistPrefix() {
		return this.pharmacistPrefix;
	}

	public void setPharmacistPrefix(String pharmacistPrefix) {
		this.pharmacistPrefix = pharmacistPrefix;
	}

	@Column(name = "PHARMACIST_AGENT_LAST_NAME", length = 35)
	public String getPharmacistAgentLastName() {
		return this.pharmacistAgentLastName;
	}

	public void setPharmacistAgentLastName(String pharmacistAgentLastName) {
		this.pharmacistAgentLastName = pharmacistAgentLastName;
	}

	@Column(name = "PHARMACIST_AGENT_FIRST_NAME", length = 35)
	public String getPharmacistAgentFirstName() {
		return this.pharmacistAgentFirstName;
	}

	public void setPharmacistAgentFirstName(String pharmacistAgentFirstName) {
		this.pharmacistAgentFirstName = pharmacistAgentFirstName;
	}

	@Column(name = "PHARMACIST_AGENT_MIDDLE_NAME", length = 35)
	public String getPharmacistAgentMiddleName() {
		return this.pharmacistAgentMiddleName;
	}

	public void setPharmacistAgentMiddleName(String pharmacistAgentMiddleName) {
		this.pharmacistAgentMiddleName = pharmacistAgentMiddleName;
	}

	@Column(name = "PHARMACIST_AGENT_SUFFIX", length = 35)
	public String getPharmacistAgentSuffix() {
		return this.pharmacistAgentSuffix;
	}

	public void setPharmacistAgentSuffix(String pharmacistAgentSuffix) {
		this.pharmacistAgentSuffix = pharmacistAgentSuffix;
	}

	@Column(name = "PHARMACIST_AGENT_PREFIX", length = 35)
	public String getPharmacistAgentPrefix() {
		return this.pharmacistAgentPrefix;
	}

	public void setPharmacistAgentPrefix(String pharmacistAgentPrefix) {
		this.pharmacistAgentPrefix = pharmacistAgentPrefix;
	}

	@Column(name = "PHARMACY_ADDRESS_LINE_1", nullable = false, length = 35)
	public String getPharmacyAddressLine1() {
		return this.pharmacyAddressLine1;
	}

	public void setPharmacyAddressLine1(String pharmacyAddressLine1) {
		this.pharmacyAddressLine1 = pharmacyAddressLine1;
	}

	@Column(name = "PHARMACY_ADDRESS_LINE_2", length = 35)
	public String getPharmacyAddressLine2() {
		return this.pharmacyAddressLine2;
	}

	public void setPharmacyAddressLine2(String pharmacyAddressLine2) {
		this.pharmacyAddressLine2 = pharmacyAddressLine2;
	}

	@Column(name = "PHARMACY_CITY", nullable = false, length = 35)
	public String getPharmacyCity() {
		return this.pharmacyCity;
	}

	public void setPharmacyCity(String pharmacyCity) {
		this.pharmacyCity = pharmacyCity;
	}

	@Column(name = "PHARMACY_STATE", nullable = false, length = 2)
	public String getPharmacyState() {
		return this.pharmacyState;
	}

	public void setPharmacyState(String pharmacyState) {
		this.pharmacyState = pharmacyState;
	}

	@Column(name = "PHARMACY_ZIPCODE", nullable = false, length = 10)
	public String getPharmacyZipcode() {
		return this.pharmacyZipcode;
	}

	public void setPharmacyZipcode(String pharmacyZipcode) {
		this.pharmacyZipcode = pharmacyZipcode;
	}

	@Column(name = "TWENTY_FOUR_HOUR_FLAG", length = 35)
	public String getTwentyFourHourFlag() {
		return this.twentyFourHourFlag;
	}

	public void setTwentyFourHourFlag(String twentyFourHourFlag) {
		this.twentyFourHourFlag = twentyFourHourFlag;
	}

	@Column(name = "CROSS_STREET", length = 35)
	public String getCrossStreet() {
		return this.crossStreet;
	}

	public void setCrossStreet(String crossStreet) {
		this.crossStreet = crossStreet;
	}

	@Column(name = "EMAIL", length = 35)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "PHARMACY_PHONE_NUMBER", nullable = false, length = 35)
	public String getPharmacyPhoneNumber() {
		return this.pharmacyPhoneNumber;
	}

	public void setPharmacyPhoneNumber(String pharmacyPhoneNumber) {
		this.pharmacyPhoneNumber = pharmacyPhoneNumber;
	}


	@Column(name = "PHARMACY_FAX_NUMBER", nullable = false, length = 35)
	public String getPharmacyFaxNumber() {
		return this.pharmacyFaxNumber;
	}

	public void setPharmacyFaxNumber(String pharmacyFaxNumber) {
		this.pharmacyFaxNumber = pharmacyFaxNumber;
	}
	 
	
	@Column(name = "INBOUND_ERX_ENABLED", nullable = false, precision = 22, scale = 0)
	public Long getInboundErxEnabled() {
		return this.inboundErxEnabled;
	}

	public void setInboundErxEnabled(Long inboundErxEnabled) {
		this.inboundErxEnabled = inboundErxEnabled;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "UPDATED_DATE", length = 7)
	public Date getUpdatedDate() {
		return this.updatedDate;
	}

	public void setUpdatedDate(Date updatedDate) {
		this.updatedDate = updatedDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "CREATED_DATE", length = 7)
	public Date getCreatedDate() {
		return this.createdDate;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	@Column(name = "VISN", nullable = false, precision = 22, scale = 0)
	public Long getVisn() {
		return this.visn;
	}

	public void setVisn(Long visn) {
		this.visn = visn;
	}

	@Column(name = "DIVISION_NAME", length = 35)
	public String getDivisionName() {
		return this.divisionName;
	}

	public void setDivisionName(String divisionName) {
		this.divisionName = divisionName;
	}

	@Column(name = "CREATED_BY", length = 20)
	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	@Column(name = "UPDATED_BY", length = 20)
	public String getUpdatedBy() {
		return this.updatedBy;
	}

	public void setUpdatedBy(String updatedBy) {
		this.updatedBy = updatedBy;
	}

}
