using System; using System.Collections.Generic; using IRaCIS.Core.Application.Contracts.Dicom.DTO; using System.Threading.Tasks; using IRaCIS.Core.Infrastructure.Extention; using IRaCIS.Core.Application.Contracts; namespace IRaCIS.Application.Interfaces { public interface IStudyService { //IResponseOutput ForwardStudy(Guid studyId); DicomTrialSiteSubjectInfo GetSaveToDicomInfo(Guid subjctVisitId); void GetHasUploadSeriesAndInstance(Guid studyId, ref List seriesInstanceUidList, ref List instanceUidList); void UploadOrReUploadNeedTodo(ArchiveStudyCommand archiveStudyCommand, List archiveStudyIds, ref DicomArchiveResult reusult, StudyMonitor monitor); //PageOutput GetStudyList(StudyQueryDTO queryDto); //Task DicomAnonymize(Guid studyId, string optuserName); //List GetStudyStatusDetailList(Guid studyId); //IEnumerable GetRelationVisitList(decimal visitNum, string tpCode); //List GetSubjectVisitStudyList(Guid trialId, Guid siteId, Guid subjectId, Guid subjectVisitId); //PageOutput GetDistributeStudyList(StudyStatusQueryDTO studyStatusQueryDto); //IEnumerable GetAllRelationStudyList(Guid studyId); //IEnumerable GetStudyStatList(Guid trialId, Guid subjectId, Guid siteId); //bool UpdateReUploadNewStudyCode(Guid studyId, Guid newStudyId); //void ReUploadSameStudy(Guid subjectVisitId, Guid studyId); //VerifyStudyUploadResult VerifyStudyAllowUpload(string studyInstanceUid, Guid trialId, Guid? studyId); //List< VerifyStudyUploadResult> VerifyStudyAllowUpload(VerifyUploadOrReupload verifyList); //void ClearStudyInstanceAndSeriseData(Guid studyId); //IResponseOutput DeleteStudy(Guid id); //Guid AddSubjectVisit(Guid subjectId, Guid siteId, Guid visitStageId, DateTime? SVSTDTC, DateTime? SVENDTC); //void UpdateSubjectLatestInfo(Guid subjectVisitId); //void UpdateSubjectVisit(Guid subjectVisitId, Guid studyId); //bool DistributeStudy(StudyReviewerCommand studyReviewer); //IResponseOutput EditStudyReviewer(StudyReviewerEditCommand studyReviewerEditCommand); //void UploadStudyDeal(Guid studyId); //List GetReviewerListByTrialId(Guid trialId); //IResponseOutput UpdateStudyStatus(StudyStatusDetailCommand studyStatusDetailDTO); //string GetStudyPreview(Guid studyId); //DicomStudyDTO GetStudyItem(Guid studyId); ////bool SaveImageLabel(ImageLabelDTO label); //bool SaveImageLabelList(ImageLabelCommand imageLabelCommand); //IEnumerable GetImageLabel(string tpCode); //IResponseOutput DealNonDicomFile(Dictionary filePathDic, ArchiveStudyCommand archiveStudyCommand); //bool ReUploadDifferentStudy(Guid subjectVisitId, Guid abandonStudyId, Guid newStudyId); //List GetQANoticeList(Guid studyId); } }