package ejb.common;

import java.util.List;

import javax.ejb.Remote;

import TO.FamilyDoctorTO;
import TO.MedicalSpecialtyTO;
import TO.PatientTO;
import TO.PrimaryHealthCareCenterTO;
import TO.SpecialistDoctorTO;

/**
 * 
 * @author Marcos García Núñez (mgarcianun@uoc.edu)
 *
 */
@Remote
public interface CommonFacadeRemote {

	public List<MedicalSpecialtyTO> listAllMedicalSpecialities();

	public List<MedicalSpecialtyTO> listMedicalSpecialitiesPaged(int pageNumber, int pageSize);

	public List<MedicalSpecialtyTO> listMedicalSpecialitiesFiltered(String searchTerm, int pageNumber, int pageSize);

	public List<PrimaryHealthCareCenterTO> listAllCAPs();

	public List<PrimaryHealthCareCenterTO> listCAPsPaged(int pageNumber, int pageSize);

	public List<PrimaryHealthCareCenterTO> listCAPsFiltered(String searchTerm, int pageNumber, int pageSize);

	public List<FamilyDoctorTO> listAllFamilyDoctors();

	public List<FamilyDoctorTO> listFamilyDoctorsPaged(int pageNumber, int pageSize);

	public List<FamilyDoctorTO> listFamilyDoctorsFiltered(String searchTerm, int pageNumber, int pageSize);

	public PatientTO findPatientById(int patientId);

	public PatientTO findPatientByCode(String code);

	public PatientTO findPatientByNif(String searchValue);

	public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId);

	public FamilyDoctorTO findFamilyDoctorByCode(String code);
	
	public FamilyDoctorTO findFamilyDoctorByNif(String searchValue);

	public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId);

	public SpecialistDoctorTO findSpecialistDoctorByCode(String code);
	
	public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue);

}
