/* * PatientView * * Copyright (c) Worth Solutions Limited 2004-2013 * * This file is part of PatientView. * * PatientView 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. * PatientView 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 PatientView in a file * titled COPYING. If not, see <http://www.gnu.org/licenses/>. * * @package PatientView * @link http://www.patientview.org * @author PatientView <info@patientview.org> * @copyright Copyright (c) 2004-2013, Worth Solutions Limited * @license http://www.gnu.org/licenses/gpl-3.0.html The GNU General Public License V3.0 */ package org.patientview.service.ibd; import org.patientview.ibd.model.Allergy; import org.patientview.ibd.model.CarePlan; import org.patientview.ibd.model.MyIbdSeverityLevel; import org.patientview.ibd.model.Procedure; import org.patientview.ibd.model.enums.Diagnosis; import org.patientview.ibd.model.enums.Severity; import org.patientview.ibd.model.symptoms.ColitisSymptoms; import org.patientview.ibd.model.symptoms.CrohnsSymptoms; import org.patientview.ibd.model.MyIbd; import org.patientview.ibd.model.Nutrition; import org.patientview.ibd.model.medication.Medication; import org.patientview.ibd.model.medication.MedicationDose; import org.patientview.ibd.model.medication.MedicationType; import org.patientview.ibd.model.medication.MyMedication; import org.patientview.patientview.model.User; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @Transactional(propagation = Propagation.REQUIRED) public interface IbdManager { MyIbd getMyIbd(User user); MyIbd getMyIbd(String nhsno); void saveMyIbd(MyIbd myIbd); void deleteMyIbd(String nhsno, String unitcode); MyIbdSeverityLevel getMyIbdSeverityLevel(String nhsno, Severity severity); void saveMyIbdSeverityLevel(MyIbdSeverityLevel myIbdSeverityLevel); void saveMyIbdSeverityLevels(List<MyIbdSeverityLevel> myIbdSeverityLevels); CarePlan getCarePlan(User user); CarePlan getCarePlan(String nhsno); void saveCarePlan(CarePlan carePlan); Medication getMedication(Long id); MedicationDose getMedicationDose(Long id); MyMedication getMyMedication(Long id); void saveMyMedication(MyMedication myMedication); void saveMyMedication(MyMedication myMedication, Long medicationTypeId, Long medicationId, Long medicationDoseId); List<MyMedication> getAllMedications(User user); List<MyMedication> getAllMedications(String nhsno); List<MyMedication> getCurrentMedications(User user); List<MyMedication> getCurrentMedications(String nhsno); List<MyMedication> getStoppedMedications(User user); List<MyMedication> getStoppedMedications(String nhsno); MedicationType getMedicationType(Long id); List<MedicationType> getMedicationTypes(); List<Nutrition> getAllNutritions(User user); void saveNutrition(Nutrition nutrition); void saveCrohns(CrohnsSymptoms crohnsSymptoms); List<CrohnsSymptoms> getAllCrohns(User user); List<CrohnsSymptoms> getAllCrohns(User user, Date fromDate, Date toDate); void saveColitis(ColitisSymptoms colitisSymptoms); List<ColitisSymptoms> getAllColitis(User user); List<ColitisSymptoms> getAllColitis(User user, Date fromDate, Date toDate); String getWeight(User user); Diagnosis getLoggedInUserDiagnosis(); Diagnosis getDiagnosis(User user); void saveProcedure(Procedure procedure); Procedure getProcedure(String nhsno); void deleteProcedure(String nhsno, String unitcode); void saveAllergy(Allergy allergy); Allergy getAllergy(String nhsno); void deleteAllergy(String nhsno, String unitcode); }