All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openmrs.module.ipd.api.dao.SlotDAO Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package org.openmrs.module.ipd.api.dao;

import org.openmrs.Concept;
import org.openmrs.Order;
import org.openmrs.Visit;
import org.openmrs.module.ipd.api.model.Reference;
import org.openmrs.module.ipd.api.model.Slot;
import org.openmrs.api.db.DAOException;
import org.springframework.stereotype.Repository;

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

@Repository
public interface SlotDAO {

	Slot getSlot(Integer slotId) throws DAOException;

	Slot getSlotByUUID(String uuid) throws DAOException;

	Slot saveSlot(Slot slot) throws DAOException;

	List getSlotsBySubjectReferenceIdAndForDateAndServiceType(Reference subject, LocalDate forDate, Concept serviceType);

	List getSlotsBySubjectReferenceIdAndServiceType(Reference subject, Concept serviceType);

	List getSlotsBySubjectReferenceIdAndServiceTypeAndOrderUuids(Reference subject, Concept serviceType, List orderUuids);

	List getSlotsByPatientAndVisitAndServiceType(Reference subject, Visit visit, Concept serviceType);

	List getSlotsBySubjectReferenceIdAndForTheGivenTimeFrame(Reference subject, LocalDateTime localStartDate, LocalDateTime localEndDate, Visit visit, Concept serviceType);

	List getSlotsBySubjectIncludingAdministeredTimeFrame(Reference subject, LocalDateTime localStartDate, LocalDateTime localEndDate, Visit visit);

	List getSlotsForPatientListByTime(List patientUuidList, LocalDateTime localStartDate, LocalDateTime localEndDate);

	List getImmediatePreviousSlotsForPatientListByTime(List patientUuidList, LocalDateTime localStartDate);

	List getSlotDurationForPatientsByOrder(List orders, List serviceTypes);

	List getLastSlotForAnOrder(LocalDateTime dateTime);

	List getScheduledSlots(List orders);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy