package ejb.visit;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

import javax.ejb.Remote;

import TO.VisitTO;

/**
 * Interfaz remota del EJB Definimos los métodos que estarán disponibles para los clientes del EJB
 * 
 * @author alina
 *
 */
@Remote
public interface VisitFacadeRemote {
	/**
	 * Definimos la interfaz remota
	 */

	public Long getScheduledVisitsCount(int familyDoctorId, LocalDate date);

	public List<VisitTO> listAllScheduledVisitsPaged(int familyDoctorId, LocalDate date, int pageNumber, int pageSize);

	public Long getVisitsCount(Integer patientId, LocalDate date);

	public List<VisitTO> listVisitsPaged(Integer patientId, LocalDate date, int pageNumber, int pageSize);

	public VisitTO getVisit(int id) throws Exception;

	public void addResultToVisit(int id, String result);

	public void removeVisit(int id);

	public void updateVisit(int id, LocalDate date, LocalTime time);

	public VisitTO addVisit(int patientId, LocalDate date, LocalTime time, String observations);

}