package info.ozkan.vipera.business.patient; import info.ozkan.vipera.entities.Doctor; import info.ozkan.vipera.entities.Patient; /** * Hasta işlemlerini yapan Facade arayüzü * * @author Ömer Özkan * */ public interface PatientFacade { /** * Sisteme yeni bir hasta ekler * * @param patient * @return */ PatientManagerResult add(Patient patient); /** * Sistemde hasta arama işlemi yapar * * @param filter * @return */ PatientManagerResult search(PatientSearchFilter filter); /** * Sistemde kayıtlı bir hastayı dönderir * * @param id * Hasta id * @return */ PatientManagerResult getById(Long id); /** * Sistemde kayıtlı olan bir hastayı günceller * * @param patient * @return */ PatientManagerResult update(Patient patient); /** * Sistemden hasta siler * * @param patient * Hasta * @return */ PatientManagerResult delete(Patient patient); /** * Hekim'e ait hastalar üzerinde arama işlemi yapar * * @param filter * @param doctor * @return */ PatientManagerResult search(PatientSearchFilter filter, Doctor doctor); /** * Hekim ve id ye göre hasta sorgular * * @param id * @param doctor * @return */ PatientManagerResult getById(Long id, Doctor doctor); }