package edu.harvard.i2b2.crc.dao.pdo; import java.util.List; import edu.harvard.i2b2.common.exception.I2B2DAOException; import edu.harvard.i2b2.crc.dao.pdo.input.IInputOptionListHandler; import edu.harvard.i2b2.crc.datavo.pdo.ParamType; import edu.harvard.i2b2.crc.datavo.pdo.PatientSet; import edu.harvard.i2b2.crc.datavo.pdo.query.EventListType; import edu.harvard.i2b2.crc.datavo.pdo.query.PatientListType; public interface IPdoQueryPatientDao { public void setMetaDataParamList(List<ParamType> metaDataParamList); /** * Get Patient set based on the fact's filter * * @param panelSqlList * @param sqlParamCountList * @param inputOptionListHandler * @param detailFlag * @param blobFlag * @param statusFlag * @return * @throws I2B2DAOException */ public PatientSet getPatientByFact(List<String> panelSqlList, List<Integer> sqlParamCountList, IInputOptionListHandler inputOptionListHandler, boolean detailFlag, boolean blobFlag, boolean statusFlag) throws I2B2DAOException; /** * Function to return patient dimension data for given list of patient num * * @param patientNumList * @param detailFlag * @param blobFlag * @param statusFlag * @return PatientDataType.PatientDimensionSet * @throws Exception */ public PatientSet getPatientByPatientNum(List<String> patientNumList, boolean detailFlag, boolean blobFlag, boolean statusFlag) throws I2B2DAOException; /** * Get Patient dimension data based on patientlist present in input option * list * * @param patientListType * {@link PatientListType} * @param detailFlag * @param blobFlag * @param statusFlag * @return PatientDataType.PatientDimensionSet * @throws I2B2DAOException */ public PatientSet getPatientFromPatientSet(PatientListType patientListType, boolean detailFlag, boolean blobFlag, boolean statusFlag) throws I2B2DAOException; /** * Get Patient dimension data based on visitlist present in input option * list * * @param eventListType * {@link EventListType} * @param detailFlag * @param blobFlag * @param statusFlag * @return PatientDataType.PatientDimensionSet * @throws I2B2DAOException */ public PatientSet getPatientFromVisitSet(EventListType visitListType, boolean detailFlag, boolean blobFlag, boolean statusFlag) throws I2B2DAOException; }