//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2021-11-22 11:29:44 
//     对此文件的更改可能会导致不正确的行为，并且如果重新生成代码，这些更改将会丢失。
//--------------------------------------------------------------------
namespace IRaCIS.Core.Application.Contracts
{
    public interface IClinicalDataService
    {
        Task<IResponseOutput<Guid>> AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory);
        Task<IResponseOutput<Guid>> AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther);
        Task<IResponseOutput> AddOrUpdatePreviousPDF(PreviousPDFAddOrEdit addOrEditPreviousPDF);
        Task<IResponseOutput<Guid>> AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery);
        Task<IResponseOutput> DeletePreviousHistory(Guid previousHistoryId, Guid subjectVisitId);
        Task<IResponseOutput> DeletePreviousOther(Guid previousOtherId, Guid subjectVisitId);
        Task<IResponseOutput> DeletePreviousPDF(Guid previousPDFId, Guid subjectVisitId);
        Task<IResponseOutput> DeletePreviousSurgery(Guid previousSurgeryId, Guid subjectVisitId);
        Task<List<PreviousHistoryView>> GetPreviousHistoryList(PreviousHistoryQuery queryPreviousHistory);
        Task<List<PreviousOtherView>> GetPreviousOtherList(PreviousOtherQuery queryPreviousOther);
        Task<List<PreviousPDFView>> GetPreviousPDFList(Guid subjectVisitId);
        Task<List<PreviousSurgeryView>> GetPreviousSurgeryList(PreviousSurgeryQuery queryPreviousSurgery);
        Task<SubjectClinicalDataDto> GetSubjectVisitClinicalData(Guid subjectVisitId);
        //Task<IResponseOutput> UploadVisitClinicalData(IFormCollection formCollection, Guid subjectVisitId, [FromServices] IWebHostEnvironment _hostEnvironment);
    }
}