// Path: src/com/learningmodule/association/conceptdrug/model/ConceptNameModel.java
// public class ConceptNameModel {
// 
// 	private String conceptId;
// 	private String conceptName;
// 
// 	public ConceptNameModel(String conceptId, String conceptName) {
// 		super();
// 		this.conceptId = conceptId;
// 		this.conceptName = conceptName;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// 
// 	public String getConceptName() {
// 		return conceptName;
// 	}
// 
// 	public void setConceptName(String conceptName) {
// 		this.conceptName = conceptName;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/model/ConceptWordModel.java
// public class ConceptWordModel {
// 	private String conceptId;
// 	private String conceptWord;
// 
// 	public ConceptWordModel(String conceptId, String conceptWord) {
// 		super();
// 		this.conceptId = conceptId;
// 		this.conceptWord = conceptWord;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public String getConceptWord() {
// 		return conceptWord;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/model/EncounterIdConceptDrug.java
// public class EncounterIdConceptDrug {
// 	private int id;
// 	private String drug, conceptId;
// 	
// 	public EncounterIdConceptDrug(int id, String drug, String conceptId) {
// 		super();
// 		this.id = id;
// 		this.drug = drug;
// 		this.conceptId = conceptId;
// 	}
// 	
// 	public int getEncounterId() {
// 		return id;
// 	}
// 	public void setEncounterId(int id) {
// 		this.id = id;
// 	}
// 	
// 	public String getDrug() {
// 		return drug;
// 	}
// 	public void setDrug(String drug) {
// 		this.drug = drug;
// 	}
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/multifeature/EncounterIdConceptFeaturesDrugModel.java
// public class EncounterIdConceptFeaturesDrugModel {
// 	
// 	// encounter id of medical record
// 	private int id;
// 	
// 	// conceptId(disease/diagnosis)
// 	private String conceptId;
// 	
// 	// drug prescribed
// 	private String drugId;
// 	
// 	// other feature related to record like age, location of patient etc.
// 	private FeatureValue[] featuresValues;
// 	
// 	// number of feature;
// 	private int noOfFeatures;
// 
// 	public EncounterIdConceptFeaturesDrugModel(int id, String conceptId, String drugId,
// 			FeatureValue[] featuresValues) {
// 		super();
// 		this.id = id;
// 		this.conceptId = conceptId;
// 		this.drugId = drugId;
// 		this.featuresValues = featuresValues;
// 		noOfFeatures = featuresValues.length;
// 	}
// 
// 	public EncounterIdConceptFeaturesDrugModel(int id, String conceptId, String drugId,
// 			int noOfFeatures) {
// 		super();
// 		this.id = id;
// 		this.conceptId = conceptId;
// 		this.drugId = drugId;
// 		this.noOfFeatures = noOfFeatures;
// 		featuresValues = new FeatureValue[noOfFeatures];
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// 
// 	public String getDrugId() {
// 		return drugId;
// 	}
// 
// 	public void setDrugId(String drugId) {
// 		this.drugId = drugId;
// 	}
// 
// 	public FeatureValue[] getFeatures() {
// 		return featuresValues;
// 	}
// 
// 	public void setFeatures(FeatureValue[] featuresValues) {
// 		this.featuresValues = featuresValues;
// 	}
// 
// 	public int getNoOfFeatures() {
// 		return noOfFeatures;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "EncounterIdConceptFeaturesDrugModel [id=" + id + ", conceptId=" + conceptId
// 				+ ", drugId=" + drugId + ", featuresValues=" + Arrays.toString(featuresValues)
// 				+ ", noOfFeatures=" + noOfFeatures + "]";
// 	}
// }


import java.util.LinkedList;
import com.learningmodule.association.conceptdrug.model.ConceptNameModel;
import com.learningmodule.association.conceptdrug.model.ConceptWordModel;
import com.learningmodule.association.conceptdrug.model.EncounterIdConceptDrug;
import com.learningmodule.association.conceptdrug.multifeature.EncounterIdConceptFeaturesDrugModel;
package com.learningmodule.association.conceptdrug;



public interface ConceptDrugDatabaseInterface {

	/*
	 * get name of file that will contain the prediction matrix generated by
	 * algorithm
	 */
	public String getMatrixFileName();

	/*
	 * Method to get all the medical records containing encounterId(integer that
	 * represent an id for prescriptions written for a patient),
	 * ConceptId(integer that represent a diagnosis/diseases/observation for
	 * patient has been treated), DrugId(integer representing a drug that was
	 * written in the prescription)
	 */
	public LinkedList<EncounterIdConceptDrug> getData();

	/*
	 * Method to get the medical records with given list of concepts Ids contaning encounterId, conceptId, DrugId,
	 * and feature related to medical records like age of patient, location of doctor/patient etc.
	 */
	
// Path: src/com/learningmodule/association/conceptdrug/model/ConceptNameModel.java
// public class ConceptNameModel {
// 
// 	private String conceptId;
// 	private String conceptName;
// 
// 	public ConceptNameModel(String conceptId, String conceptName) {
// 		super();
// 		this.conceptId = conceptId;
// 		this.conceptName = conceptName;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// 
// 	public String getConceptName() {
// 		return conceptName;
// 	}
// 
// 	public void setConceptName(String conceptName) {
// 		this.conceptName = conceptName;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/model/ConceptWordModel.java
// public class ConceptWordModel {
// 	private String conceptId;
// 	private String conceptWord;
// 
// 	public ConceptWordModel(String conceptId, String conceptWord) {
// 		super();
// 		this.conceptId = conceptId;
// 		this.conceptWord = conceptWord;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public String getConceptWord() {
// 		return conceptWord;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/model/EncounterIdConceptDrug.java
// public class EncounterIdConceptDrug {
// 	private int id;
// 	private String drug, conceptId;
// 	
// 	public EncounterIdConceptDrug(int id, String drug, String conceptId) {
// 		super();
// 		this.id = id;
// 		this.drug = drug;
// 		this.conceptId = conceptId;
// 	}
// 	
// 	public int getEncounterId() {
// 		return id;
// 	}
// 	public void setEncounterId(int id) {
// 		this.id = id;
// 	}
// 	
// 	public String getDrug() {
// 		return drug;
// 	}
// 	public void setDrug(String drug) {
// 		this.drug = drug;
// 	}
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// }
// 
// Path: src/com/learningmodule/association/conceptdrug/multifeature/EncounterIdConceptFeaturesDrugModel.java
// public class EncounterIdConceptFeaturesDrugModel {
// 	
// 	// encounter id of medical record
// 	private int id;
// 	
// 	// conceptId(disease/diagnosis)
// 	private String conceptId;
// 	
// 	// drug prescribed
// 	private String drugId;
// 	
// 	// other feature related to record like age, location of patient etc.
// 	private FeatureValue[] featuresValues;
// 	
// 	// number of feature;
// 	private int noOfFeatures;
// 
// 	public EncounterIdConceptFeaturesDrugModel(int id, String conceptId, String drugId,
// 			FeatureValue[] featuresValues) {
// 		super();
// 		this.id = id;
// 		this.conceptId = conceptId;
// 		this.drugId = drugId;
// 		this.featuresValues = featuresValues;
// 		noOfFeatures = featuresValues.length;
// 	}
// 
// 	public EncounterIdConceptFeaturesDrugModel(int id, String conceptId, String drugId,
// 			int noOfFeatures) {
// 		super();
// 		this.id = id;
// 		this.conceptId = conceptId;
// 		this.drugId = drugId;
// 		this.noOfFeatures = noOfFeatures;
// 		featuresValues = new FeatureValue[noOfFeatures];
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getConceptId() {
// 		return conceptId;
// 	}
// 
// 	public void setConceptId(String conceptId) {
// 		this.conceptId = conceptId;
// 	}
// 
// 	public String getDrugId() {
// 		return drugId;
// 	}
// 
// 	public void setDrugId(String drugId) {
// 		this.drugId = drugId;
// 	}
// 
// 	public FeatureValue[] getFeatures() {
// 		return featuresValues;
// 	}
// 
// 	public void setFeatures(FeatureValue[] featuresValues) {
// 		this.featuresValues = featuresValues;
// 	}
// 
// 	public int getNoOfFeatures() {
// 		return noOfFeatures;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "EncounterIdConceptFeaturesDrugModel [id=" + id + ", conceptId=" + conceptId
// 				+ ", drugId=" + drugId + ", featuresValues=" + Arrays.toString(featuresValues)
// 				+ ", noOfFeatures=" + noOfFeatures + "]";
// 	}
// }


// Path: src/com/learningmodule/association/conceptdrug/ConceptDrugDatabaseInterface.java
import java.util.LinkedList;
import com.learningmodule.association.conceptdrug.model.ConceptNameModel;
import com.learningmodule.association.conceptdrug.model.ConceptWordModel;
import com.learningmodule.association.conceptdrug.model.EncounterIdConceptDrug;
import com.learningmodule.association.conceptdrug.multifeature.EncounterIdConceptFeaturesDrugModel;

package com.learningmodule.association.conceptdrug;



public interface ConceptDrugDatabaseInterface {

	/*
	 * get name of file that will contain the prediction matrix generated by
	 * algorithm
	 */
	public String getMatrixFileName();

	/*
	 * Method to get all the medical records containing encounterId(integer that
	 * represent an id for prescriptions written for a patient),
	 * ConceptId(integer that represent a diagnosis/diseases/observation for
	 * patient has been treated), DrugId(integer representing a drug that was
	 * written in the prescription)
	 */
	public LinkedList<EncounterIdConceptDrug> getData();

	/*
	 * Method to get the medical records with given list of concepts Ids contaning encounterId, conceptId, DrugId,
	 * and feature related to medical records like age of patient, location of doctor/patient etc.
	 */
	
	public LinkedList<EncounterIdConceptFeaturesDrugModel> getDataByConceptIds(LinkedList<String> ids);