package in.cdac.medinfo.csnotk.csnolib.disb.model;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

/**
 * @author root
 * {@link MedicineDetail} contains detail information about Real Medicinal Product
 */
public class MedicineDetail implements Serializable {
	private static final long serialVersionUID = 1L;

	private String medicineId;

	private String medicineName;

	private String medicineSctid;

	private Date dateOfCreation;

	private MedicinalProduct medicinalProduct;
	
	private Date dateOfModification;
	
	private String brandName;
	
	private Manufacturer manufacturer;
	
	private String excipient;

	private String excipientSctid;

	private String licenseNumber;

	private String licenseStatus;
	
	private String packaging;

	private int version;
	
	private MedicineLicenseStatus medicineLicenseStatus;

	private RecordStatus recordStatus;
	
	private Set<String> genericNames;

	private GenericDrug genericDrug;



	
	public MedicineDetail()
	{
		super();
	}
	
	public MedicineDetail(String medicineId) {
		super();
		this.medicineId = medicineId;
	}

	public String getMedicineId() {
		return medicineId;
	}

	public void setMedicineId(String medicineId) {
		this.medicineId = medicineId;
	}

	

	public String getMedicineName() {
		return medicineName;
	}

	public void setMedicineName(String medicineName) {
		this.medicineName = medicineName;
	}

	public String getMedicineSctid() {
		return medicineSctid;
	}

	public void setMedicineSctid(String medicineSctid) {
		this.medicineSctid = medicineSctid;
	}

	public Date getDateOfCreation() {
		return dateOfCreation;
	}

	public void setDateOfCreation(Date dateOfCreation) {
		this.dateOfCreation = dateOfCreation;
	}

	public String getExcipient() {
		return excipient;
	}

	public void setExcipient(String excipient) {
		this.excipient = excipient;
	}

	public String getExcipientSctid() {
		return excipientSctid;
	}

	public void setExcipientSctid(String excipientSctid) {
		this.excipientSctid = excipientSctid;
	}

	public String getLicenseNumber() {
		return licenseNumber;
	}

	public void setLicenseNumber(String licenseNumber) {
		this.licenseNumber = licenseNumber;
	}

	public String getPackaging() {
		return packaging;
	}

	public void setPackaging(String packaging) {
		this.packaging = packaging;
	}

	public int getVersion() {
		return version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

	public MedicineLicenseStatus getMedicineLicenseStatus() {
		return medicineLicenseStatus;
	}

	public void setMedicineLicenseStatus(MedicineLicenseStatus medicineLicenseStatus) {
		this.medicineLicenseStatus = medicineLicenseStatus;
	}

	public RecordStatus getRecordStatus() {
		return recordStatus;
	}

	public void setRecordStatus(RecordStatus recordStatus) {
		this.recordStatus = recordStatus;
	}

	public GenericDrug getGenericDrug() {
		return genericDrug;
	}

	public void setGenericDrug(GenericDrug genericDrug) {
		this.genericDrug = genericDrug;
	}

	public Set<String> getGenericNames() {
		return genericNames;
	}

	public void setGenericNames(Set<String> genericNames) {
		this.genericNames = genericNames;
	}

	public Date getDateOfModification() {
		return dateOfModification;
	}

	public void setDateOfModification(Date dateOfModification) {
		this.dateOfModification = dateOfModification;
	}

	public MedicinalProduct getMedicinalProduct() {
		return medicinalProduct;
	}

	public void setMedicinalProduct(MedicinalProduct medicinalProduct) {
		this.medicinalProduct = medicinalProduct;
	}

	public String getBrandName() {
		return brandName;
	}

	public void setBrandName(String brandName) {
		this.brandName = brandName;
	}

	public Manufacturer getManufacturer() {
		return manufacturer;
	}

	public void setManufacturer(Manufacturer manufacturer) {
		this.manufacturer = manufacturer;
	}

	public String getLicenseStatus() {
		return licenseStatus;
	}

	public void setLicenseStatus(String licenseStatus) {
		this.licenseStatus = licenseStatus;
	}

	@Override
	public String toString() {
		return "MedicineDetail [medicineId=" + medicineId + ", medicineName=" + medicineName + ", medicineSctid="
				+ medicineSctid + ", dateOfCreation=" + dateOfCreation + ", medicinalProduct=" + medicinalProduct
				+ ", dateOfModification=" + dateOfModification + ", brandName=" + brandName + ", manufacturer="
				+ manufacturer + ", excipient=" + excipient + ", excipientSctid=" + excipientSctid + ", licenseNumber="
				+ licenseNumber + ", licenseStatus=" + licenseStatus + ", packaging=" + packaging + ", version="
				+ version + ", medicineLicenseStatus=" + medicineLicenseStatus + ", recordStatus=" + recordStatus
				+ ", genericNames=" + genericNames + ", genericDrug=" + genericDrug + "]";
	}	
	
	
}