/** * Copyright 2010 Society for Health Information Systems Programmes, India (HISP India) * * This file is part of Hospital-core module. * * Hospital-core module is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Hospital-core module is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Hospital-core module. If not, see <http://www.gnu.org/licenses/>. * **/ package org.openmrs.module.hospitalcore; import java.util.Date; import java.util.List; import org.openmrs.Concept; import org.openmrs.Order; import org.openmrs.Role; import org.openmrs.api.APIException; import org.openmrs.api.OpenmrsService; import org.openmrs.module.hospitalcore.model.Lab; import org.openmrs.module.hospitalcore.model.LabTest; import org.springframework.transaction.annotation.Transactional; @Transactional public interface LabService extends OpenmrsService { /** * LAB */ public Lab saveLab(Lab lab) throws APIException; public Lab getLabByName(String name) throws APIException; public List<Lab> getAllLab() throws APIException; public List<Lab> getAllActivelab() throws APIException; public Lab getLabByRole(Role role) throws APIException; public List<Lab> getLabByRoles(List<Role> roles) throws APIException; public Lab getLabById(Integer labId) throws APIException; public void deleteLab(Lab lab) throws APIException; public Lab getLabByConcept(Concept concept, List<Lab> labs) throws APIException; /** * LAB TEST */ public LabTest saveLabTest(LabTest labTest) throws APIException; public LabTest getLabTestById(Integer labTestId) throws APIException; public LabTest getLabTestByOrder(Order order) throws APIException; public LabTest getLabTestBySampleNumber(String sampleNumber) throws APIException; public List<LabTest> getLatestLabTestByDate(Lab lab, Date date) throws APIException; public String getNextSampleNumber(Lab lab, Date date) throws APIException; public void deleteLabTest(LabTest labtest) throws APIException; public void deleteLabTestByOrder(Order order) throws APIException; }