897 lines
23 KiB
C#
897 lines
23 KiB
C#
//--------------------------------------------------------------------
|
|
// 此代码由T4模板自动生成 byzhouhang 20210918
|
|
// 生成时间 2022-06-07 14:10:54
|
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
|
//--------------------------------------------------------------------
|
|
using IRaCIS.Core.Domain.Share;
|
|
using Newtonsoft.Json;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace IRaCIS.Core.Application.ViewModel
|
|
{
|
|
|
|
public class VisitTaskViewBasic
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid TrialId { get; set; }
|
|
|
|
public string TaskCode { get; set; }
|
|
|
|
public string TaskName { get; set; }
|
|
public string TaskBlindName { get; set; }
|
|
|
|
public decimal VisitTaskNum { get; set; }
|
|
|
|
public bool IsUrgent { get; set; }
|
|
|
|
public bool? IsSelfAnalysis { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否是一致性分析产生
|
|
/// </summary>
|
|
public bool IsAnalysisCreate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 加急类型
|
|
/// </summary>
|
|
public TaskUrgentType? TaskUrgentType { get; set; }
|
|
|
|
|
|
public string TaskUrgentRemake { get; set; } = string.Empty;
|
|
|
|
public ReadingCategory ReadingCategory { get; set; }
|
|
|
|
public TaskAllocationState TaskAllocationState { get; set; }
|
|
public TaskState TaskState { get; set; }
|
|
|
|
public DateTime? SignTime { get; set; }
|
|
|
|
public DateTime? AllocateTime { get; set; }
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public Arm ArmEnum { get; set; }
|
|
public Guid? DoctorUserId { get; set; }
|
|
|
|
|
|
public Guid CreateUserId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
public DateTime UpdateTime { get; set; }
|
|
public Guid UpdateUserId { get; set; }
|
|
|
|
|
|
public Guid TrialSiteId { get; set; }
|
|
|
|
public string BlindTrialSiteCode { get; set; }
|
|
public String TrialSiteCode { get; set; } = String.Empty;
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public string MedicalNo { get; set; } = string.Empty;
|
|
|
|
public string BlindSubjectCode { get; set; } = string.Empty;
|
|
|
|
public bool IsPMSetBack { get; set; }
|
|
|
|
#region 标准配置
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public string TrialReadingCriterionName { get; set; }
|
|
|
|
public bool IsAutoCreate { get; set; }
|
|
|
|
|
|
public bool IsNeedClinicalDataSign { get; set; }
|
|
|
|
public bool IsClinicalDataSign { get; set; }
|
|
|
|
|
|
public CompleteClinicalDataEnum CompleteClinicalDataEnum =>
|
|
(IsNeedClinicalDataSign && IsClinicalDataSign) ? CompleteClinicalDataEnum.Complete : (IsNeedClinicalDataSign && IsClinicalDataSign == false) ? CompleteClinicalDataEnum.NotComplete : CompleteClinicalDataEnum.NA;
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片工具
|
|
/// </summary>
|
|
public ReadingTool? ReadingTool { get; set; }
|
|
|
|
/// <summary>
|
|
/// 任务展示访视 读片任务显示是否顺序
|
|
/// </summary>
|
|
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// IR阅片页面是否可以查看既往任务结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; } = false;
|
|
|
|
public int? DigitPlaces { get; set; } = 2;
|
|
|
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
|
|
|
public CriterionType CriterionType { get; set; }
|
|
|
|
|
|
|
|
///// <summary>
|
|
///// 仲裁对象
|
|
///// </summary>
|
|
//public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
|
|
|
|
|
|
///// <summary>
|
|
///// 阅片模式
|
|
///// </summary>
|
|
//public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
|
|
|
///// <summary>
|
|
///// 全局阅片
|
|
///// </summary>
|
|
//public bool IsGlobalReading { get; set; } = true;
|
|
|
|
///// <summary>
|
|
///// 仲裁阅片
|
|
///// </summary>
|
|
//public bool IsArbitrationReading { get; set; } = true;
|
|
|
|
|
|
///// <summary>
|
|
///// 肿瘤学阅片 原字段 IsClinicalReading
|
|
///// </summary>
|
|
//public bool IsOncologyReading { get; set; }
|
|
#endregion
|
|
|
|
}
|
|
|
|
|
|
/// <summary> VisitTaskView 列表视图模型 </summary>
|
|
public class VisitTaskView : VisitTaskViewBasic
|
|
{
|
|
|
|
public string UserCode { get; set; }
|
|
public string UserName { get; set; }
|
|
public string FullName { get; set; }
|
|
|
|
public string UserTypeShortName { get; set; }
|
|
|
|
public bool IsCanEditUrgentState { get; set; }
|
|
|
|
public DateTime? FirstReadingTime { get; set; }
|
|
|
|
public string ReadingDuration
|
|
{
|
|
get
|
|
{
|
|
if (!SignTime.HasValue)
|
|
return "";
|
|
else return string.Format("{0}h:{1}m:{2}s", (SignTime - FirstReadingTime)?.Hours, (SignTime - FirstReadingTime)?.Minutes, (SignTime - FirstReadingTime)?.Seconds)
|
|
/*string.Format("{0}分钟", (ReadingDurationTimeSpan)?.TotalMinutes)*/;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class UserSimpleInfo
|
|
{
|
|
public Guid UserId { get; set; }
|
|
public string UserCode { get; set; }
|
|
public string UserName { get; set; }
|
|
public string FullName { get; set; }
|
|
|
|
//public string UserTypeShortName { get; set; }
|
|
}
|
|
|
|
|
|
public class JudgeVisitTaskView : VisitTaskView
|
|
{
|
|
|
|
public List<HistoryReadingDoctorUser> HistoryReadingDoctorUserList { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public class ReadingTaskView : VisitTaskView
|
|
{
|
|
|
|
public ReadingTaskState ReadingTaskState { get; set; }
|
|
|
|
public ReReadingApplyState ReReadingApplyState { get; set; }
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
//任务来源访视Id 方便回更访视读片状态
|
|
public Guid? SourceSubjectVisitId { get; set; }
|
|
public Guid? SouceReadModuleId { get; set; }
|
|
|
|
|
|
public bool IsHaveFeedBack { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否手动生成
|
|
/// </summary>
|
|
public bool IsManualGeneration { get; set; }
|
|
//public bool IsAfterConvertedTask { get; set; }
|
|
}
|
|
|
|
|
|
public class AnalysisTaskView : ReadingTaskView
|
|
{
|
|
|
|
public int ConsistentClinicalDataCount { get; set; } = 0;
|
|
|
|
public bool IsReReadingOrBackInfluenceAnalysis { get; set; }
|
|
}
|
|
|
|
|
|
|
|
public class ReReadingTaskView
|
|
{
|
|
|
|
//重阅原始编号
|
|
//public string ReReadingOriginalTaskCode { get; set; }
|
|
|
|
|
|
|
|
public Guid Id { get; set; }
|
|
|
|
public AnalysisTaskView OriginalReReadingTask { get; set; }
|
|
|
|
public string? ReReadingNewTaskCode { get; set; }
|
|
|
|
|
|
|
|
public ReadingTaskState ReadingTaskState { get; set; }
|
|
|
|
public RequestReReadingType RequestReReadingType { get; set; }
|
|
|
|
public string RequestReReadingRejectReason { get; set; } = string.Empty;
|
|
|
|
public DateTime? RequestReReadingTime { get; set; }
|
|
|
|
public string RequestReReadingReason { get; set; } = string.Empty;
|
|
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
public RequestReReadingResult RequestReReadingResultEnum { get; set; }
|
|
|
|
//重阅原始任务Id 重阅会产生新的任务
|
|
public Guid OriginalReReadingTaskId { get; set; }
|
|
|
|
//重阅申请 产生的新任务Id
|
|
public Guid? NewReReadingTaskId { get; set; }
|
|
|
|
|
|
//产生重阅的根任务Id
|
|
public Guid RootReReadingTaskId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否是一致性分析产生
|
|
/// </summary>
|
|
public bool IsAnalysisCreate { get; set; }
|
|
|
|
public bool? IsSelfAnalysis { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public class IRHaveReadView : VisitTaskViewBasic
|
|
{
|
|
public ReadingTaskState ReadingTaskState { get; set; }
|
|
|
|
public ReReadingApplyState ReReadingApplyState { get; set; }
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
}
|
|
|
|
public class IRUnReadSubjectView
|
|
{
|
|
public int Index { get; set; } = 0;
|
|
|
|
public Guid SubjectId { get; set; }
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public bool IsUrgent => UnReadCanReadTaskList.Any(t => t.IsUrgent);
|
|
|
|
public bool IsSubjectJudge => UnReadCanReadTaskList.All(t => t.ReadingCategory == ReadingCategory.Judge);
|
|
|
|
public int UnReadTaskCount { get; set; }
|
|
|
|
public int UnReadCanReadTaskCount { get; set; }
|
|
|
|
public int HaveReadTaskCount { get; set; }
|
|
|
|
public int TotalTaskCount { get; set; }
|
|
|
|
public bool ExistReadingApply { get; set; }
|
|
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
public int? UrgentColor
|
|
{
|
|
get
|
|
{
|
|
if (this.SuggesteFinishedTime != null)
|
|
{
|
|
var date = DateTime.Now;
|
|
var timeSpan = SuggesteFinishedTime.Value - date;
|
|
if (timeSpan.TotalDays <= 2)
|
|
{
|
|
return 1;
|
|
}
|
|
else if (timeSpan.TotalDays <= 5)
|
|
{
|
|
return 2;
|
|
}
|
|
else
|
|
{
|
|
return 3;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public int UrgentCount { get; set; }
|
|
|
|
|
|
public List<IRUnreadTaskView> UnReadCanReadTaskList { get; set; } = new List<IRUnreadTaskView>();
|
|
|
|
public List<IRUnreadTaskView> UnReadTaskList { get; set; } = new List<IRUnreadTaskView>();
|
|
}
|
|
|
|
public class IRUnreadTaskView
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
public ReadingCategory ReadingCategory { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否是一致性分析产生
|
|
/// </summary>
|
|
public bool IsAnalysisCreate { get; set; }
|
|
|
|
public bool IsUrgent { get; set; }
|
|
|
|
public decimal VisitNum { get; set; }
|
|
|
|
public string TaskBlindName { get; set; }
|
|
|
|
public Arm ArmEnum { get; set; }
|
|
|
|
public Guid? VisistId { get; set; }
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public bool IsNeedClinicalDataSign { get; set; }
|
|
|
|
public bool IsClinicalDataSign { get; set; }
|
|
|
|
public bool IsFrontTaskNeedSignButNotSign { get; set; }
|
|
}
|
|
|
|
|
|
public class HistoryReadingDoctorUser
|
|
{
|
|
|
|
public string? JudgeTaskCode { get; set; }
|
|
public Guid DoctorUserId { get; set; }
|
|
|
|
public string UserCode { get; set; }
|
|
public string UserName { get; set; }
|
|
public string FullName { get; set; }
|
|
}
|
|
|
|
|
|
public class GetReadingIQueryableInDto : PageInput
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public Guid? SubjectId { get; set; }
|
|
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public string? SubjectCode { get; set; } = null;
|
|
|
|
}
|
|
|
|
public class VisitTaskQuery : PageInput
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
|
|
public Guid? TrialSiteId { get; set; }
|
|
|
|
public Guid? SubjectId { get; set; }
|
|
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public bool? IsUrgent { get; set; }
|
|
|
|
public string TaskName { get; set; } = String.Empty;
|
|
|
|
public Guid? DoctorUserId { get; set; }
|
|
|
|
public ReadingCategory? ReadingCategory { get; set; }
|
|
|
|
public ReadingTaskState? ReadingTaskState { get; set; }
|
|
public TaskAllocationState? TaskAllocationState { get; set; }
|
|
|
|
public TaskState? TaskState { get; set; }
|
|
public DateTime? BeginAllocateDate { get; set; }
|
|
|
|
public DateTime? EndAllocateDate { get; set; }
|
|
|
|
|
|
|
|
public DateTime? BeginSignTime { get; set; }
|
|
|
|
public DateTime? EndSignTime { get; set; }
|
|
|
|
public DateTime? BeginRequestReReadingTime { get; set; }
|
|
public DateTime? EndRequestReReadingTime { get; set; }
|
|
|
|
public Guid? RootReReadingTaskId { get; set; }
|
|
|
|
public string? TaskCode { get; set; }
|
|
|
|
public String? TrialSiteCode { get; set; }
|
|
|
|
public ReReadingApplyState? ReReadingApplyState { get; set; }
|
|
|
|
public RequestReReadingType? RequestReReadingType { get; set; }
|
|
|
|
|
|
public bool? IsSelfAnalysis { get; set; }
|
|
|
|
public Arm? ArmEnum { get; set; }
|
|
|
|
public Guid? TrialReadingCriterionId { get; set; }
|
|
|
|
public CompleteClinicalDataEnum? CompleteClinicalDataEnum { get; set; }
|
|
|
|
public RequestReReadingResult? RequestReReadingResultEnum { get; set; }
|
|
|
|
|
|
public bool? IsEffect { get; set; }
|
|
|
|
public string? RequestReReadingReason { get; set; }
|
|
|
|
public ExportResult? ReadingExportType { get; set; }
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum ReadingExportType
|
|
{
|
|
ReadingResult=0,
|
|
|
|
ReadingDetailResult=1,
|
|
|
|
JudgeReadingDetailResult=2,
|
|
|
|
LessionDetail=3
|
|
}
|
|
|
|
|
|
|
|
|
|
public class IRUnReadSubjectQuery : PageInput
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public string SubjectCode { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
}
|
|
|
|
public class IRUnReadOutDto
|
|
{
|
|
/// <summary>
|
|
/// 未完成阅片量
|
|
/// </summary>
|
|
public int UnReadTaskCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 完成阅片量
|
|
/// </summary>
|
|
public int FinishTaskCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 未完成裁判任务数量
|
|
/// </summary>
|
|
public int UnReadJudgeTaskCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 完成裁判任务数量
|
|
/// </summary>
|
|
public int FinishJudgeTaskCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 建议完成时间
|
|
/// </summary>
|
|
public DateTime? SuggesteFinishedTime { get; set; }
|
|
|
|
}
|
|
|
|
public class SubjectAssignQuery : PageInput
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
public Guid? TrialSiteId { get; set; }
|
|
|
|
public Guid? SubjectId { get; set; }
|
|
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
|
|
public Guid? DoctorUserId { get; set; }
|
|
|
|
public bool? IsHaveAssigned { get; set; }
|
|
|
|
public bool? IsAssignConfirmed { get; set; }
|
|
|
|
}
|
|
|
|
public class SubjectAssignStatQuery : PageInput
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
public Guid? TrialSiteId { get; set; }
|
|
|
|
public Guid? SubjectId { get; set; }
|
|
|
|
public Guid? DoctorUserId { get; set; }
|
|
|
|
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public int? SubjectAllocateState { get; set; }
|
|
|
|
public List<Arm> ArmList { get; set; } = new List<Arm>() { };
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
|
|
}
|
|
|
|
public class BatchAssignDoctorToSubjectCommand
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public List<Guid> SubjectIdList { get; set; }
|
|
|
|
public List<DoctorArm> DoctorArmList { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class SubjectAssignStat
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
public Guid TrialSiteId { get; set; }
|
|
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public String TrialSiteCode { get; set; } = String.Empty;
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
public int? VisitTaskTypeCount { get; set; }
|
|
public int? GlobalTaskTypeCount { get; set; }
|
|
public int? JudgeTaskTypeCount { get; set; }
|
|
|
|
public int? OncologyTaskTypeCount { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public List<SubjectUserView> DoctorUserList { get; set; }
|
|
|
|
public List<SubjectUserView> PreviousDoctorUserList => DoctorUserList.Where(t => t.ReplacedSubjectUserId != null).ToList();
|
|
|
|
public List<SubjectUserView> NowDoctorUserList => DoctorUserList.Where(t => t.ReplacedSubjectUserId == null).ToList();
|
|
|
|
|
|
|
|
}
|
|
|
|
public class SubjectUserView
|
|
{
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
public Guid Id { get; set; }
|
|
public DateTime? AssignTime { get; set; }
|
|
|
|
public Guid DoctorUserId { get; set; }
|
|
public Arm ArmEnum { get; set; }
|
|
|
|
public bool IsConfirmed { get; set; }
|
|
|
|
//该属性有值 说明该医生被替换了 分配的时候 要过滤掉
|
|
public Guid? ReplacedSubjectUserId { get; set; }
|
|
|
|
public UserSimpleInfo DoctorUser { get; set; }
|
|
}
|
|
|
|
|
|
public class SubjectUserDTO : SubjectUserView
|
|
{
|
|
public bool IsHaveReading { get; set; }
|
|
}
|
|
|
|
|
|
public class CancelSubjectAssignedDoctorCommand
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
|
|
public Guid SubjectId { get; set; }
|
|
public Guid DoctorUserId { get; set; }
|
|
public Arm ArmEnum { get; set; }
|
|
|
|
|
|
public bool IsCancelAssign { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public class CancelSubjectDoctorCommand
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
public List<CancelSubjectAssignedDoctorCommand> CancelList { get; set; }
|
|
|
|
public string Note { get; set; } = string.Empty;
|
|
}
|
|
|
|
|
|
|
|
public class SubjectAssignView
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
public Guid TrialSiteId { get; set; }
|
|
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public String TrialSiteCode { get; set; } = String.Empty;
|
|
public string SubjectCode { get; set; } = String.Empty;
|
|
|
|
|
|
public bool IsAssignedDoctorUser { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public bool IsJudge { get; set; }
|
|
|
|
public bool IsConfirmed => DoctorUserList.Where(t => IsJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).All(t => t.IsConfirmed)
|
|
&& DoctorUserList.Where(t => IsJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Count() > 0;
|
|
|
|
public List<Guid> DoctorUserIdList => DoctorUserList.Select(t => t.DoctorUserId).ToList();
|
|
|
|
//.ForEach(t => t.HistoryDoctorList = TotalDoctorUserList.Where(c => (Guid?)t.Id == c.OrignalSubjectUserId).ToList())
|
|
public List<AssignDoctorView> DoctorUserList => TotalDoctorUserList.Where(t => t.OrignalSubjectUserId == null).ToList()
|
|
;
|
|
|
|
[JsonIgnore]
|
|
public List<AssignDoctorView> TotalDoctorUserList { get; set; } = new List<AssignDoctorView>();
|
|
}
|
|
|
|
|
|
|
|
public class AssignDoctorView
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid DoctorUserId { get; set; }
|
|
|
|
public string UserCode { get; set; }
|
|
public string UserName { get; set; }
|
|
public string FullName { get; set; }
|
|
|
|
public string UserTypeShortName { get; set; }
|
|
|
|
public DateTime? AssignTime { get; set; }
|
|
|
|
public Arm ArmEnum { get; set; }
|
|
|
|
public bool IsConfirmed { get; set; }
|
|
|
|
//该属性有值 说明该医生被替换了 分配的时候 要过滤掉
|
|
public Guid? OrignalSubjectUserId { get; set; }
|
|
|
|
//public List<AssignDoctorView> HistoryDoctorList { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class AssginSubjectDoctorCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsReAssign { get; set; }
|
|
|
|
public List<Guid> SubjectIdList { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
public List<DoctorArm> DoctorUserIdArmList { get; set; } = new List<DoctorArm>();
|
|
}
|
|
|
|
public class DoctorArm
|
|
{
|
|
public Guid DoctorUserId { get; set; }
|
|
|
|
public Arm ArmEnum { get; set; }
|
|
}
|
|
|
|
public class CancelSubjectAssignCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
public List<Guid> SubjectIdList { get; set; }
|
|
}
|
|
|
|
public class AutoAssignResultDTO
|
|
{
|
|
public Guid DoctorUserId { get; set; }
|
|
|
|
public int PlanReadingRatio { get; set; }
|
|
|
|
public List<SubjectArm> SubjectArmList { get; set; } = new List<SubjectArm>();
|
|
|
|
public int SubjectCount { get; set; }
|
|
|
|
public int Weight => (SubjectCount - SubjectArmList.Count) * PlanReadingRatio;
|
|
|
|
}
|
|
|
|
public class SubjectArm
|
|
{
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public Arm ArmEnum { get; set; }
|
|
}
|
|
|
|
|
|
public class ApplySubjectCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
public List<Guid> SubjectIdList { get; set; } = new List<Guid>();
|
|
}
|
|
|
|
|
|
public class AssignConfirmCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
public List<SubjectDoctorCommand> SubjectDoctorUserList { get; set; } = new List<SubjectDoctorCommand>();
|
|
}
|
|
|
|
public class SubjectDoctorCommand
|
|
{
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public List<DoctorArm> DoctorUserIdArmList { get; set; } = new List<DoctorArm>();
|
|
}
|
|
|
|
public class AutoSubjectAssignCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
}
|
|
|
|
public class AssignSubjectTaskToDoctorCommand
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
public Guid TrialId { get; set; }
|
|
|
|
public Guid SubjectId { get; set; }
|
|
|
|
public bool IsJudgeDoctor { get; set; }
|
|
|
|
public Guid? DoctorUserId { get; set; }
|
|
|
|
public TaskOptType TaskOptType { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class AIRReReadingCommand
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
}
|
|
|
|
|
|
public class ApplyReReadingCommand
|
|
{
|
|
|
|
|
|
public List<Guid> TaskIdList { get; set; }
|
|
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsCopyOrigenalForms { get; set; }
|
|
public bool IsCopyFollowForms { get; set; }
|
|
|
|
public RequestReReadingType RequestReReadingType { get; set; }
|
|
|
|
public string RequestReReadingReason { get; set; } = string.Empty;
|
|
}
|
|
|
|
|
|
public class ConfirmReReadingCommand
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public List<ConfirmReReadingDTO> ConfirmReReadingList { get; set; }
|
|
|
|
public string RequestReReadingRejectReason { get; set; } = string.Empty;
|
|
public RequestReReadingResult RequestReReadingResultEnum { get; set; }
|
|
}
|
|
|
|
public class ConfirmReReadingDTO
|
|
{
|
|
[NotDefault]
|
|
public Guid Id { get; set; }
|
|
|
|
//重阅原始任务Id 重阅会产生新的任务
|
|
|
|
[NotDefault]
|
|
public Guid OriginalReReadingTaskId { get; set; }
|
|
|
|
}
|
|
|
|
|
|
public enum TaskOptType
|
|
{
|
|
Assign = 1,
|
|
|
|
ReAssign = 2,
|
|
|
|
Confirm = 3,
|
|
|
|
CancelAssign = 4,
|
|
}
|
|
|
|
}
|
|
|
|
|