package info.ozkan.vipera.dao.patient; import info.ozkan.vipera.business.patient.PatientManagerResult; import info.ozkan.vipera.business.patient.PatientSearchFilter; import info.ozkan.vipera.entities.Doctor; import info.ozkan.vipera.entities.Patient; /** * Patient Veritabanı işlemleri * * @author Ömer Özkan * */ public interface PatientDao { /** * Veritabanına yeni bir hasta ekler * * @param patient * Yeni hasta * @return */ PatientManagerResult add(Patient patient); /** * Veritabanından hasta arama işlemi yapar * * @param filter * @return */ PatientManagerResult find(PatientSearchFilter filter); /** * Id'e ait hastaı veritabanından sorgular * * @param id * Hasta id * @return */ PatientManagerResult getById(Long id); /** * Hastaya ait yeni bilgileri veritabanında günceller * * @param patient * Hasta * @return */ PatientManagerResult update(Patient patient); /** * Hastayı veritabanından siler * * @param patient * @return */ PatientManagerResult delete(Patient patient); /** * Hekime ait hastaların arama işlemini gerçekleştirir * * @param filter * @param doctor * @return */ PatientManagerResult find(PatientSearchFilter filter, Doctor doctor); /** * Hekim ve id ye göre hasta sorgular * * @param id * @param doctor * @return */ PatientManagerResult getById(Long id, Doctor doctor); }