//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2021-11-22 11:29:44 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Infrastructure.Extention;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace IRaCIS.Core.Application.Contracts
{
    public interface IClinicalDataService
    {
        Task<IResponseOutput> AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory);
        Task<IResponseOutput> AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther);
        Task<IResponseOutput> AddOrUpdatePreviousPDF(PreviousPDFAddOrEdit addOrEditPreviousPDF);
        Task<IResponseOutput> AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery);
        Task<IResponseOutput> DeletePreviousHistory(Guid previousHistoryId);
        Task<IResponseOutput> DeletePreviousOther(Guid previousOtherId);
        Task<IResponseOutput> DeletePreviousPDF(Guid previousPDFId);
        Task<IResponseOutput> DeletePreviousSurgery(Guid previousSurgeryId);
        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);
    }
}