package edu.harvard.i2b2.crc.dao.setfinder; import java.util.List; import edu.harvard.i2b2.common.exception.I2B2DAOException; import edu.harvard.i2b2.crc.datavo.db.QtQueryResultInstance; public interface IQueryResultInstanceDao { public final String OBTOTAL = "OBTOTAL"; public final String OBSUBTOTAL = "OBSUBTOTAL"; /** * Function to create result instance for given query instance id. The * result instance status is set to running. Use updatePatientSet function * to change the status to completed or error * * @param queryInstanceId * @return */ public String createPatientSet(String queryInstanceId, String resultName) throws I2B2DAOException; /** * Function used to update result instance Particularly its status and size * * @param resultInstanceId * @param statusTypeId * @param setSize */ public void updatePatientSet(String resultInstanceId, int statusTypeId, int setSize); /** * Function used to update result instance Particularly its status and size * * @param resultInstanceId * @param statusTypeId * @param setSize */ public void updatePatientSet(String resultInstanceId, int statusTypeId, String message, int setSize, int obsSetSize, String obsSizeType); /** * Function used to update result instance description * * @param resultInstanceId * @param description */ public void updateResultInstanceDescription(String resultInstanceId, String description); /** * Return list of query result instance by query instance id * * @param queryInstanceId * @return List<QtQueryResultInstance> */ @SuppressWarnings("unchecked") public List<QtQueryResultInstance> getResultInstanceList( String queryInstanceId); /** * Return list of query result instance by query result id * * @param queryResultId * @return QtQueryResultInstance */ public QtQueryResultInstance getResultInstanceById(String queryResultId) throws I2B2DAOException; /** * Return list of query result instance by query instance id and result name * * @param queryInstanceId * @param resultName * @return QtQueryResultInstance */ @SuppressWarnings("unchecked") public QtQueryResultInstance getResultInstanceByQueryInstanceIdAndName( String queryInstanceId, String resultName); /** * Return a list of query result instance with waiting status * * @param queueName * @param maxListSize * @return */ public List<QtQueryResultInstance> getUnfinishedInstanceByQueue( String queueName, int maxListSize); /** * Get result instance count by set size * * @param userId * @param compareDays * @param setSize * @param totalCount * @return * @throws I2B2DAOException */ public int getResultInstanceCountBySetSize(String userId, int compareDays, int resultTypeId, int setSize, int totalCount) throws I2B2DAOException; }