570 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			570 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
using IRaCIS.Core.Application.Contracts.Dicom.DTO;
 | 
						|
using IRaCIS.Core.Domain.Share;
 | 
						|
using Newtonsoft.Json;
 | 
						|
using System.ComponentModel.DataAnnotations;
 | 
						|
 | 
						|
namespace IRaCIS.Core.Application.Contracts
 | 
						|
{
 | 
						|
    public class SubjectVisitCommand
 | 
						|
    {
 | 
						|
        [NotDefault]
 | 
						|
        public Guid TrialSiteId { get; set; }
 | 
						|
        public bool IsFinalVisit { get; set; }
 | 
						|
 | 
						|
        public string BlindName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public Guid? Id { get; set; }
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
 | 
						|
        public bool InPlan { get; set; } = true;
 | 
						|
        public VisitExecutedEnum VisitExecuted { get; set; }
 | 
						|
        public decimal VisitNum { get; set; }
 | 
						|
        public string VisitName { get; set; } = string.Empty;
 | 
						|
        public int? VisitDay { get; set; }
 | 
						|
        public string SVUPDES { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public bool IsBaseLine { get; set; } = false;
 | 
						|
        public int VisitWindowLeft { get; set; }
 | 
						|
        public int VisitWindowRight { get; set; }
 | 
						|
 | 
						|
        public bool IsLostVisit { get; set; }
 | 
						|
        public PDStateEnum? PDState { get; set; }
 | 
						|
 | 
						|
        public bool? IsEnrollmentConfirm { get; set; }
 | 
						|
        public DateTime? SubjectFirstGiveMedicineTime { get; set; }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        public Guid? OutPlanPreviousVisitId { get; set; }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class IDDto
 | 
						|
    {
 | 
						|
        public Guid Id { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class DeleteSVCommand
 | 
						|
    {
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class SetSubjectVisitUrgentCommand
 | 
						|
    {
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public bool isUrgent { get; set; }
 | 
						|
    }
 | 
						|
    public class SubjectVisitDTO : SubjectVisitCommand
 | 
						|
    {
 | 
						|
        public SubjectStatus SubjectStatus { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class SubjectVisitNewDTO : SubjectVisitDTO
 | 
						|
    {
 | 
						|
        public TrialQCProcess QCProcessEnum { get; set; }
 | 
						|
        public CheckStateEnum CheckState { get; set; }
 | 
						|
        public SubmitStateEnum SubmitState { get; set; }
 | 
						|
        public AuditStateEnum AuditState { get; set; }
 | 
						|
 | 
						|
        public string CurrentActionUser { get; set; } = String.Empty;
 | 
						|
        public DateTime? CurrentActionUserExpireTime { get; set; }
 | 
						|
        public string PreliminaryAuitUser { get; set; } = String.Empty;
 | 
						|
        public string ReviewAuitUser { get; set; } = String.Empty;
 | 
						|
        public DateTime? ReviewAuitTime { get; set; }
 | 
						|
        public DateTime? PreliminaryAuditTime { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public int? StudyCount { get; set; }
 | 
						|
 | 
						|
        public String TrialSiteCode { get; set; } = String.Empty;
 | 
						|
        public DateTime UpdateTime { get; set; }
 | 
						|
 | 
						|
        public string SubjectSex { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public int SubjectAge { get; set; }
 | 
						|
 | 
						|
        public string SubjectCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
 | 
						|
        [JsonIgnore]
 | 
						|
        public string SubjectName => LastName + " / " + FirstName;
 | 
						|
        public string FirstName { get; set; } = string.Empty;
 | 
						|
        public string LastName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public string SiteName { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string SiteCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class UploadVisitCheckExcelDto
 | 
						|
    {
 | 
						|
 | 
						|
        public Guid trialId { get; set; }
 | 
						|
 | 
						|
        public string AuditInfo { get; set; }
 | 
						|
    }
 | 
						|
    public class ForwardSVDicomImageDto
 | 
						|
    {
 | 
						|
        public Guid[] subjectVisitIdList { get; set; }
 | 
						|
    }
 | 
						|
    public class SubjectVisitSearchDTO : PageInput
 | 
						|
    {
 | 
						|
        public string SubjectInfo { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string VisitPlanInfo { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public Guid? SubjectId { get; set; }
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid? TrialSiteId { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class SubjectVisitSelectItem
 | 
						|
    {
 | 
						|
        public Guid Id { get; set; }
 | 
						|
        public decimal VisitNum { get; set; }
 | 
						|
        public string VisitName { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public int VisitExecuted { get; set; }
 | 
						|
 | 
						|
        public bool IsUploadedImage { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class SubjectVisitSelectDTO
 | 
						|
    {
 | 
						|
        public Guid GuidId { get; set; } = Guid.NewGuid();
 | 
						|
        public Guid SubjectVisitId { get; set; } = Guid.Empty;
 | 
						|
        public decimal VisitNum { get; set; }
 | 
						|
        public string VisitName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public string SVUPDES { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public int? VisitDay { get; set; }
 | 
						|
 | 
						|
        //public Guid VisitStageId { get; set; } = Guid.Empty;
 | 
						|
 | 
						|
        public DateTime? SVSTDTC { get; set; }
 | 
						|
 | 
						|
        public DateTime? SVENDTC { get; set; }
 | 
						|
 | 
						|
 | 
						|
        //public bool IsSubjectVisit { get; set; } = false;
 | 
						|
 | 
						|
        public VisitExecutedEnum VisitExecuted { get; set; }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        public List<SubjectVisitStudyDTO> StudyList = new List<SubjectVisitStudyDTO>();
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class SubjectVisitStudyDTO
 | 
						|
    {
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
        public Guid StudyId { get; set; }
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string Modalities { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public int Status { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class GetReadingVisitStudyListIndto
 | 
						|
    {
 | 
						|
        [NotDefault]
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        [NotDefault]
 | 
						|
        public Guid SujectVisitId { get; set; }
 | 
						|
        [NotDefault]
 | 
						|
        public Guid VisitTaskId { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class TempInstance
 | 
						|
    {
 | 
						|
        public Guid Id { get; set; }
 | 
						|
        public string Path { get; set; }
 | 
						|
        public int NumberOfFrames { get; set; }
 | 
						|
        public int InstanceNumber { get; set; }
 | 
						|
 | 
						|
        public int ShowOrder { get; set; }
 | 
						|
 | 
						|
        public decimal RowIndex { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class GetPTAndCtSeriesOutDto
 | 
						|
    {
 | 
						|
        public Guid VisitTaskId { get; set; }
 | 
						|
        public Guid CTSeriesId { get; set; }
 | 
						|
        public Guid PTSeriesId { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public Guid StudyId { get; set; }
 | 
						|
 | 
						|
        public Guid? SubjectVisitId { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public bool IsBaseLineTask { get; set; }
 | 
						|
 | 
						|
        public string TaskBlindName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public List<StudyInfo> StudyInfoList { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class StudyInfo
 | 
						|
    {
 | 
						|
        public Guid StudyId { get; set; }
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
        public string Modalities { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public bool IsCriticalSequence { get; set; } = false;
 | 
						|
 | 
						|
        public int SeriesCount { get; set; }
 | 
						|
        public int InstanceCount { get; set; }
 | 
						|
 | 
						|
        public bool IsDicom { get; set; } = true;
 | 
						|
 | 
						|
        public List<DicomSeriesDTO> CTSeriesList { get; set; }
 | 
						|
 | 
						|
        public List<DicomSeriesDTO> PTSeriesList { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class GetDicomSeriesInfoInDto
 | 
						|
    {
 | 
						|
 | 
						|
        public Guid SeriesId { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class GetPTAndCtSeriesInDto
 | 
						|
    {
 | 
						|
        public Guid VisitTaskId { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class VisitStudyDTO
 | 
						|
    {
 | 
						|
        public Guid StudyId { get; set; }
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
        public string Modalities { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public bool IsCriticalSequence { get; set; } = false;
 | 
						|
 | 
						|
        public int SeriesCount => SeriesList.Count;
 | 
						|
        public int InstanceCount { get; set; }
 | 
						|
 | 
						|
        public bool IsDicom { get; set; } = true;
 | 
						|
 | 
						|
        public string StudyName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public string BodyPartForEdit { get; set; }
 | 
						|
 | 
						|
        public string BodyPartForEditOther { get; set; }
 | 
						|
 | 
						|
        public List<DicomSeriesDTO> SeriesList { get; set; } = new List<DicomSeriesDTO>();
 | 
						|
    }
 | 
						|
 | 
						|
    public class PreArchiveStudyCommand
 | 
						|
    {
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
        public bool IsDicom { get; set; }
 | 
						|
 | 
						|
        public int FileCount { get; set; }
 | 
						|
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class ArchiveStudyCommand
 | 
						|
    {
 | 
						|
        //[NotDefault]
 | 
						|
        //public Guid StudyMonitorId { get; set; }
 | 
						|
        public Guid? AbandonStudyId { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
        public string StudyInstanceUid { get; set; } = String.Empty;
 | 
						|
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class UploadDTFCommand
 | 
						|
    {
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid TrialSiteId { get; set; }
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class StudyCommand
 | 
						|
    {
 | 
						|
        public Guid Id { get; set; } = Guid.Empty;
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid TrialSiteId { get; set; }
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class StudyEditCommand : StudyCommand
 | 
						|
    {
 | 
						|
        public Guid VisitStageId { get; set; }
 | 
						|
        public DateTime? SVSTDTC { get; set; }
 | 
						|
        public DateTime? SVENDTC { get; set; }
 | 
						|
        public string Comment { get; set; } = String.Empty;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    public class StudyStatDTO
 | 
						|
    {
 | 
						|
 | 
						|
        public int StudyCount { get; set; }
 | 
						|
        public decimal VisitNum { get; set; }
 | 
						|
        public string VisitName { get; set; } = String.Empty;
 | 
						|
        public int VisitDay { get; set; }
 | 
						|
        public string Description { get; set; } = String.Empty;
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class DistributeReviewerStudyStatusDTO
 | 
						|
    {
 | 
						|
        public string NameCN { get; set; } = String.Empty;
 | 
						|
        public string Name { get; set; } = String.Empty;
 | 
						|
        public string ReviewerCode { get; set; } = String.Empty;
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public int Status { get; set; }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class StudyStatusQueryDTO : PageInput
 | 
						|
    {
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public Guid? ReviewerId { get; set; }
 | 
						|
 | 
						|
        public int? StudyStatus { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    public class UploadedSeries
 | 
						|
    {
 | 
						|
        public Guid SeriesId { get; set; }
 | 
						|
 | 
						|
        public string SeriesInstanceUid { get; set; }
 | 
						|
 | 
						|
        public List<string> SOPInstanceUIDList { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class VerifySCPStudyUploadResult
 | 
						|
    {
 | 
						|
        public Guid SCPStudyId { get; set; }
 | 
						|
 | 
						|
        public string ErrorMesseage { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public bool AllowUpload { get; set; } = false;
 | 
						|
 | 
						|
        public bool AllowReUpload { get; set; } = false;
 | 
						|
    }
 | 
						|
 | 
						|
    public class VerifyStudyUploadResult
 | 
						|
    {
 | 
						|
        public string StudyInstanceUid { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public VerifyStudyDto? StudyInfo { get; set; }
 | 
						|
 | 
						|
        public bool AllowUpload { get; set; } = false;
 | 
						|
 | 
						|
        public bool AllowReUpload { get; set; } = false;
 | 
						|
 | 
						|
        public string ErrorMesseage { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public List<UploadedSeries> UploadedSeriesList { get; set; } = new List<UploadedSeries>();
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    public class VerifyTaskUploadOrReupload
 | 
						|
    {
 | 
						|
        [NotDefault]
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
 | 
						|
        [NotDefault]
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
 | 
						|
        public List<VerifyUploadStudyBasicInfo> StudyInstanceUidList { get; set; } = new List<VerifyUploadStudyBasicInfo>();
 | 
						|
    }
 | 
						|
 | 
						|
    public class VerifyUploadOrReupload
 | 
						|
    {
 | 
						|
        [NotDefault]
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
 | 
						|
        [NotDefault]
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
 | 
						|
        [NotDefault]
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        public List<VerifyUploadStudyBasicInfo> StudyInstanceUidList { get; set; } = new List<VerifyUploadStudyBasicInfo>();
 | 
						|
    }
 | 
						|
 | 
						|
    public class VerifyUploadStudyBasicInfo
 | 
						|
    {
 | 
						|
        public string StudyInstanceUid { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public DateTime? StudyDate { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class VerifyStudyDto
 | 
						|
    {
 | 
						|
 | 
						|
        public Guid Id { get; set; }
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
 | 
						|
        public string SubjectCode { get; set; } = String.Empty;
 | 
						|
        public string VisitName { get; set; } = String.Empty;
 | 
						|
        public string SubjectName => LastName + " / " + FirstName;
 | 
						|
        public string FirstName { get; set; } = string.Empty;
 | 
						|
        public string LastName { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public DateTime? StudyTime { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class StudyDTO
 | 
						|
    {
 | 
						|
        public Guid SubjectVisitId { get; set; }
 | 
						|
        public decimal VisitNum { get; set; }
 | 
						|
        public string VisitName { get; set; } = String.Empty;
 | 
						|
        public int? VisitDay { get; set; }
 | 
						|
 | 
						|
        public string SVUPDES { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public DateTime? SVSTDTC { get; set; }
 | 
						|
 | 
						|
        public DateTime? SVENDTC { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public Guid Id { get; set; }
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public string StudyCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
 | 
						|
        public int StudyStatus { get; set; }
 | 
						|
        public DateTime? StudyDate { get; set; }
 | 
						|
        public string Modalities { get; set; } = String.Empty;
 | 
						|
        public int SeriesCount { get; set; }
 | 
						|
        public int InstanceCount { get; set; }
 | 
						|
 | 
						|
        public bool IsDoubleReview { get; set; }
 | 
						|
 | 
						|
        public string StudyDescription { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string BodyPartExamined { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string Comment { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public DateTime UpdateTime { get; set; }
 | 
						|
 | 
						|
        public DateTime? UploadedTime { get; set; }
 | 
						|
 | 
						|
        public DateTime? DeadlineTime { get; set; }
 | 
						|
 | 
						|
        //public List<DistributeReviewer> DistributeReviewers { get; set; }=new List<DistributeReviewer>();
 | 
						|
 | 
						|
 | 
						|
        public Guid TrialSiteId { get; set; }
 | 
						|
        public string SiteName { get; set; } = String.Empty;
 | 
						|
        public string InstitutionName { get; set; } = String.Empty;
 | 
						|
        public string StudyId { get; set; } = String.Empty;//这个Id是dicom文件中的Id
 | 
						|
        public Guid SubjectId { get; set; }
 | 
						|
        public string SubjectCode { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string SubjectName => LastName + " / " + FirstName;
 | 
						|
        public string FirstName { get; set; } = string.Empty;
 | 
						|
        public string LastName { get; set; } = string.Empty;
 | 
						|
        public int? SubjectAge { get; set; }
 | 
						|
 | 
						|
        public SubjectStatus SubjectStatus { get; set; }
 | 
						|
        public string SubjectSex { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string SubjectMedicalNo { get; set; } = string.Empty;
 | 
						|
 | 
						|
        public string PatientId { get; set; } = String.Empty;
 | 
						|
        public string PatientName { get; set; } = String.Empty;
 | 
						|
        public string PatientAge { get; set; } = String.Empty;
 | 
						|
        public string PatientSex { get; set; } = String.Empty;
 | 
						|
        public string AccessionNumber { get; set; } = string.Empty;
 | 
						|
        public string PatientBirthDate { get; set; } = string.Empty;
 | 
						|
 | 
						|
 | 
						|
        //public int? NeedDealMessageCount { get; set; }
 | 
						|
        //public int? TotalMessageCount { get; set; }
 | 
						|
        public int? DTFCount { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public string UploaderFirstName { get; set; } = String.Empty;
 | 
						|
        public string UploaderLastName { get; set; } = String.Empty;
 | 
						|
    }
 | 
						|
 | 
						|
    public class DistributeReviewer
 | 
						|
    {
 | 
						|
        public Guid StudyId { get; set; }
 | 
						|
 | 
						|
        public Guid ReviewerId { get; set; }
 | 
						|
        public string NameCN { get; set; } = String.Empty;
 | 
						|
        public string Name { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public int Status { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class StudyQueryDTO : PageInput
 | 
						|
    {
 | 
						|
        public Guid? SubjectId { get; set; }
 | 
						|
 | 
						|
        public Guid? TrialSiteId { get; set; }
 | 
						|
        public Guid TrialId { get; set; }
 | 
						|
        public string SubjectInfo { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public string VisitPlanInfo { get; set; } = String.Empty;
 | 
						|
 | 
						|
        public Guid? SubjectVisitId { get; set; }
 | 
						|
 | 
						|
 | 
						|
        public DateTime? StudyTimeBegin { get; set; }
 | 
						|
 | 
						|
        public DateTime? StudyTimeEnd { get; set; }
 | 
						|
 | 
						|
        public DateTime? UpdateTimeBegin { get; set; }
 | 
						|
 | 
						|
        public DateTime? UpdateTimeEnd { get; set; }
 | 
						|
    }
 | 
						|
}
 |