1347 lines
33 KiB
C#
1347 lines
33 KiB
C#
using IRaCIS.Core.Application.Service.Reading.Dto;
|
|
using IRaCIS.Core.Domain.Share;
|
|
using IRaCIS.Core.Domain.Share.Reading;
|
|
using Newtonsoft.Json;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace IRaCIS.Core.Application.Contracts
|
|
{
|
|
|
|
public class BasicTrialConfig
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 受试者编号具体规则
|
|
/// </summary>
|
|
public string SubjectCodeRule { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
public bool IsSubjectSecondCodeView { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否 验证拍片日期
|
|
/// </summary>
|
|
public bool IsVerifyVisitImageDate { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 是否 提醒受试者编号规则
|
|
/// </summary>
|
|
public bool IsNoticeSubjectCodeRule { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 是否 有基准时间(首次给药时间)
|
|
/// </summary>
|
|
public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 是否有 受试者年龄
|
|
/// </summary>
|
|
public bool IsHaveSubjectAge { get; set; } = false;
|
|
|
|
public bool IsTrialBasicLogicConfirmed { get; set; } = false;
|
|
|
|
|
|
/// <summary>
|
|
/// 出组后计划外访视名称
|
|
/// </summary>
|
|
public string OutEnrollmentVisitName { get; set; } = "EOT";
|
|
|
|
public bool IsSubjectSexView { get; set; } = false;
|
|
|
|
|
|
public int ChangeDefalutDays { get; set; } = 5;
|
|
|
|
|
|
/// <summary>
|
|
/// 跨项目复制
|
|
/// </summary>
|
|
public bool IsImageReplicationAcrossTrial { get; set; } = false;
|
|
|
|
[MaxLength]
|
|
public string BodyPartTypes { get; set; } = string.Empty;
|
|
|
|
|
|
public string Modalitys { get; set; } = string.Empty;
|
|
|
|
public List<string> ModalityList { get; set; } = new List<string>();
|
|
|
|
|
|
/// <summary>
|
|
/// 是否显示检查名称
|
|
/// </summary>
|
|
public bool IsShowStudyName { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 检查名称列表
|
|
/// </summary>
|
|
public List<StudyName> StudyNameList { get; set; }
|
|
|
|
|
|
public bool IsIQCAutoNextTask { get; set; }
|
|
|
|
public bool IsIQCAutoTaskDistinguishType { get; set; }
|
|
|
|
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// QC质控下载
|
|
/// </summary>
|
|
public bool IsSupportQCDownloadImage { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 打开失访可读
|
|
/// </summary>
|
|
public bool IsOpenLostVistRead { get; set; } = true;
|
|
|
|
|
|
/// <summary>
|
|
/// 影像质控风险控制
|
|
/// </summary>
|
|
public bool? IsImageQualityControl { get; set; }
|
|
|
|
|
|
}
|
|
|
|
public class ConfigTrialProcessInfoVerificationInDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
|
|
|
|
public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
|
|
}
|
|
|
|
|
|
public class TrialProcessConfig
|
|
{
|
|
public TrialDataStore TrialDataStoreType { get; set; }
|
|
|
|
public List<Guid> CriterionIds { get; set; } = new List<Guid>();
|
|
|
|
public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
|
|
|
|
|
|
public Guid TrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 图像格式
|
|
/// </summary>
|
|
public List<string> ImageFormatList { get; set; } = new List<string>();
|
|
|
|
/// <summary>
|
|
/// 临床信息传输 1:系统录入2:系统录入+PDF 0:无
|
|
/// </summary>
|
|
public int ClinicalInformationTransmissionEnum { get; set; } = 1;
|
|
|
|
|
|
public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
|
|
|
|
/// <summary>
|
|
/// QC流程 0 不审,1 单审,2双审
|
|
/// </summary>
|
|
public TrialQCProcess QCProcessEnum { get; set; }
|
|
|
|
/// <summary>
|
|
/// 影像一致性核查
|
|
/// </summary>
|
|
public bool IsImageConsistencyVerification { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 流程是否确认
|
|
/// </summary>
|
|
public bool IsTrialProcessConfirmed { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 1 Mint、2 PACS
|
|
/// </summary>
|
|
|
|
public int ImagePlatform { get; set; } = 1;
|
|
|
|
//阅片方式
|
|
public int ReadingMode { get; set; }
|
|
|
|
////阅片类型
|
|
//public int ReadingType { get; set; }
|
|
|
|
|
|
//public bool IsGlobalReading { get; set; } = true;
|
|
|
|
public bool? IsArbitrationReading { get; set; }
|
|
|
|
public bool? IsClinicalReading { get; set; }
|
|
|
|
|
|
|
|
|
|
public int? DigitPlaces { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 仲裁规则
|
|
/// </summary>
|
|
public ArbitrationRule ArbitrationRule { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示既往结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; }
|
|
|
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
|
|
|
[Comment("阅片任务产生之前 采集影像")]
|
|
public CollectImagesType CollectImagesEnum { get; set; }
|
|
}
|
|
|
|
|
|
public class TrialTaskConfig
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
public TaskAllocateObj TaskAllocateObjEnum { get; set; }
|
|
|
|
public bool IsFollowVisitAutoAssign { get; set; } = true;
|
|
|
|
public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
|
|
|
|
public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
|
|
|
|
|
|
public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
|
|
|
public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
|
|
|
|
|
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
|
|
|
|
}
|
|
|
|
public class TrialBasicConfigView : TrialTaskConfigView
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
/// 流程是否确认
|
|
/// </summary>
|
|
public bool IsTrialProcessConfirmed { get; set; } = false;
|
|
|
|
|
|
|
|
//阅片方式
|
|
public int ReadingMode { get; set; }
|
|
|
|
|
|
|
|
|
|
//public bool IsGlobalReading { get; set; } = true;
|
|
|
|
public bool? IsArbitrationReading { get; set; }
|
|
|
|
public bool? IsClinicalReading { get; set; }
|
|
|
|
|
|
public ArbitrationRule ArbitrationRule { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
public class TrialProcessConfigDTO
|
|
{
|
|
/// <summary>
|
|
/// QC流程 0 不审,1 单审,2双审
|
|
/// </summary>
|
|
public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.DoubleAudit;
|
|
|
|
public bool IsImageConsistencyVerification { get; set; } = true;
|
|
|
|
public bool IsPACSConnect { get; set; }
|
|
|
|
public bool IsTrialPACSConfirmed { get; set; }
|
|
}
|
|
|
|
public class TrialTaskConfigView : TrialTaskConfig
|
|
{
|
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
|
|
|
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
|
|
|
//public ReadingMethod ReadingType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示既往结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; }
|
|
|
|
public ReadingTool ReadingTool { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// QC流程 0 不审,1 单审,2双审
|
|
/// </summary>
|
|
public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.DoubleAudit;
|
|
|
|
/// <summary>
|
|
/// 影像一致性核查
|
|
/// </summary>
|
|
public bool IsImageConsistencyVerification { get; set; } = true;
|
|
}
|
|
|
|
public class TrialReadingTaskViewConfig
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
|
|
|
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片是否显示既往结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; }
|
|
}
|
|
|
|
public class TrialJudgeTaskConfig
|
|
{
|
|
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsFollowJudgeTaskAutoAssign { get; set; }
|
|
|
|
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; }
|
|
}
|
|
|
|
public class TrialUrgentConfig
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsSubjectExpeditedView { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 是否有 入组评估确认
|
|
/// </summary>
|
|
public bool IsEnrollementQualificationConfirm { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 流程配置是否确认
|
|
/// </summary>
|
|
public bool IsTrialUrgentConfirmed { get; set; } = false;
|
|
|
|
public bool IsUrgent { get; set; }
|
|
|
|
public bool IsPDProgressView { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
public class TrialPACSConfig
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
public bool IsPACSConnect { get; set; }
|
|
|
|
public bool IsTrialPACSConfirmed { get; set; } = true;
|
|
}
|
|
|
|
public class TrialStateChangeDTO
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid TrialId { get; set; }
|
|
|
|
|
|
public string OriginState { get; set; } = String.Empty;
|
|
|
|
|
|
public string NowState { get; set; } = String.Empty;
|
|
|
|
|
|
public string Reason { get; set; } = String.Empty;
|
|
|
|
|
|
public DateTime CreateTime { get; set; }
|
|
|
|
|
|
public Guid CreateUserId { get; set; }
|
|
|
|
public string UserName { get; set; } = String.Empty;
|
|
|
|
public string UserRealName { get; set; } = String.Empty;
|
|
|
|
public string SignCode { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class KeyFile
|
|
{
|
|
/// <summary>
|
|
/// 文件名称
|
|
/// </summary>
|
|
public string FileName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 文件路径
|
|
/// </summary>
|
|
public string FilePath { get; set; } = string.Empty;
|
|
}
|
|
public class GetTrialReadingInfoOutDto
|
|
{
|
|
|
|
/// <summary>
|
|
/// 定圆工具默认半径
|
|
/// </summary>
|
|
public decimal? CircleRadius { get; set; }
|
|
|
|
/// <summary>
|
|
/// 默认SegmentName
|
|
/// </summary>
|
|
public DefaultSegmentNameDto DefaultSegmentName { get; set; }
|
|
|
|
public ReadingVersion ReadingVersionEnum { get; set; }
|
|
|
|
public List<KeyFile> KeyFileList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片工具
|
|
/// </summary>
|
|
public List<string> ReadingToolList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 分割工具
|
|
/// </summary>
|
|
public List<string> SegmentToolList { get; set; } = new List<string>();
|
|
|
|
|
|
public string TrialModalitys { get; set; }
|
|
|
|
public bool IsImageFilter { get; set; }
|
|
|
|
public string TrialReadingCriterionName { get; set; }
|
|
/// <summary>
|
|
/// 项目ID
|
|
/// </summary>
|
|
public Guid TrialId { get; set; }
|
|
|
|
|
|
public CriterionType CriterionType { get; set; }
|
|
/// <summary>
|
|
/// 是否有阅片期
|
|
/// </summary>
|
|
public bool IsReadingPeriod { get; set; } = true;
|
|
|
|
public bool IsSystemCriterion
|
|
{
|
|
get
|
|
{
|
|
return this.ReadingQuestionCriterionSystemId != null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否加急
|
|
/// </summary>
|
|
public bool IsUrgent { get; set; } = false;
|
|
|
|
public bool IsSystemSetOncology { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 阅片平台
|
|
/// </summary>
|
|
public int ImagePlatform { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// 修约小数点
|
|
/// </summary>
|
|
public int? DigitPlaces { get; set; } = 2;
|
|
|
|
|
|
/// <summary>
|
|
/// 系统标准ID
|
|
/// </summary>
|
|
public Guid? ReadingQuestionCriterionSystemId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片模式
|
|
/// </summary>
|
|
public ReadingMethod ReadingType { get; set; }
|
|
|
|
public string GlobalUpdateType { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 任务组织级别
|
|
/// </summary>
|
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
|
|
|
/// <summary>
|
|
/// 影像是否有标注
|
|
/// </summary>
|
|
public bool IsImageIabeled { get; set; }
|
|
|
|
/// <summary>
|
|
/// IR阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// IR阅片是否显示既往结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; }
|
|
|
|
//读片任务显示是否顺序
|
|
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
|
|
|
public List<Guid> GlobalAssessTypeIds { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 全局阅片
|
|
/// </summary>
|
|
public bool IsGlobalReading { get; set; }
|
|
|
|
/// <summary>
|
|
/// 阅片工具
|
|
/// </summary>
|
|
public ReadingTool? ReadingTool { get; set; } = IRaCIS.Core.Domain.Share.ReadingTool.Dicom;
|
|
|
|
/// <summary>
|
|
/// 仲裁规则/对象
|
|
/// </summary>
|
|
public ArbitrationRule ArbitrationRule { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片信息签名时间
|
|
/// </summary>
|
|
public DateTime? ReadingInfoSignTime { get; set; }
|
|
|
|
public bool IsSign
|
|
{
|
|
get
|
|
{
|
|
return this.ReadingInfoSignTime != null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// eCRF报告是否显示在图像页面
|
|
/// </summary>
|
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
|
|
|
public bool IsClinicalReading { get; set; }
|
|
|
|
/// <summary>
|
|
/// 仲裁阅片
|
|
/// </summary>
|
|
public bool? IsArbitrationReading { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 是否必须全局阅片
|
|
/// </summary>
|
|
public bool IsMustGlobalReading { get; set; } = false;
|
|
|
|
|
|
///// <summary>
|
|
///// 阅片模式
|
|
///// </summary>
|
|
//public ReadingMethod ReadingType { get; set; }
|
|
|
|
///// <summary>
|
|
///// 全局阅片
|
|
///// </summary>
|
|
//public bool IsGlobalReading { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 肿瘤学阅片 原字段 IsClinicalReading
|
|
/// </summary>
|
|
public bool IsOncologyReading { get; set; }
|
|
|
|
|
|
|
|
|
|
//是否附加评估
|
|
public bool IsAdditionalAssessment { get; set; }
|
|
|
|
|
|
//自动 手动生成任务
|
|
public bool IsAutoCreate { get; set; }
|
|
|
|
|
|
public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
|
|
|
|
public string CriterionModalitys { get; set; }
|
|
|
|
public ReadingImageDownload ImageDownloadEnum { get; set; }
|
|
|
|
public ReadingImageUpload? ImageUploadEnum { get; set; }
|
|
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
}
|
|
|
|
public class ReadingCriterionPageDto
|
|
{
|
|
/// <summary>
|
|
/// pageId
|
|
/// </summary>
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 项目ID
|
|
/// </summary>
|
|
public Guid TrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 分页名称
|
|
/// </summary>
|
|
public string PageName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否启用
|
|
/// </summary>
|
|
public bool IsEnable { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 是否公共分页
|
|
/// </summary>
|
|
public bool IsPublicPage { get; set; }
|
|
|
|
|
|
public int ShowOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建时间
|
|
/// </summary>
|
|
public DateTime CreateTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建用户ID
|
|
/// </summary>
|
|
public Guid CreateUserId { get; set; }
|
|
}
|
|
|
|
public class TrialReadQuestion : ReadingQuestionTrial
|
|
{
|
|
/// <summary>
|
|
/// 分页名称
|
|
/// </summary>
|
|
public string PageName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 父问题名称
|
|
/// </summary>
|
|
public string ParentQuestionName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Parent字典code
|
|
/// </summary>
|
|
public string ParentDictionaryCode { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Parent问题类型
|
|
/// </summary>
|
|
public TableQuestionType? ParentQuestionGenre { get; set; }
|
|
|
|
|
|
public int? RelevanceShowOrder { get; set; }
|
|
|
|
|
|
public int? ParentQuestionShowOrder { get; set; }
|
|
|
|
public string QuestionGroupName { get; set; }
|
|
|
|
public string QuestionGroupEnName { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class TrialAdditionaQuestion : TrialReadQuestion
|
|
{
|
|
public List<TrialAdditionaQuestion> Childrens { get; set; } = new List<TrialAdditionaQuestion>();
|
|
public string Answer { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class TrialJudgeQuestion
|
|
{
|
|
|
|
|
|
public Guid ReadingQuestionCriterionTrialId { get; set; }
|
|
|
|
public Guid QuestionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 问题名称
|
|
/// </summary>
|
|
public string QuestionName { get; set; }
|
|
|
|
public string PageName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 答案分组
|
|
/// </summary>
|
|
public string AnswerGroup { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 答案组合
|
|
/// </summary>
|
|
public string AnswerCombination { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 裁判类型
|
|
/// </summary>
|
|
public JudgeTypeEnum JudgeType { get; set; }
|
|
}
|
|
|
|
public class TrialReadingCriterion
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标准
|
|
/// </summary>
|
|
public string CriterionName { get; set; }
|
|
}
|
|
|
|
public class GetTrialConfirmCriterionListInDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
}
|
|
|
|
|
|
public class GetTrialConfirmCriterionOutDto
|
|
{
|
|
public Guid TrialCriterionId { get; set; }
|
|
|
|
|
|
public string CriterionName { get; set; }
|
|
}
|
|
|
|
public class TrialReadingInfoSignInDto
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
}
|
|
|
|
public class TrialLinkExpirationTimeDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public int ExpirationDays { get; set; }
|
|
|
|
public string LinkVerificationCode { get; set; }
|
|
}
|
|
public class SetTrialLinkExpirationTimeDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
public DateTime? LinkExpirationTime { get; set; }
|
|
|
|
public string LinkVerificationCode { get; set; }
|
|
|
|
public string ResearchProgramNo { get; set; } = string.Empty;
|
|
|
|
}
|
|
|
|
public class VerifyLinkExpirationTimeDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
}
|
|
|
|
public class VerifyLinkExpirationTimeOutDto
|
|
{
|
|
public DateTime? LinkExpirationTime { get; set; }
|
|
|
|
public bool IsExpired
|
|
{
|
|
get
|
|
{
|
|
return this.LinkExpirationTime != null && this.LinkExpirationTime < DateTime.Now;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public class GetLinkVerificationCodeIsEffectiveDto
|
|
{
|
|
public Guid TrialId { get; set; }
|
|
|
|
|
|
public string LinkVerificationCode { get; set; }
|
|
}
|
|
|
|
public class GetLinkVerificationCodeIsEffectiveOutDto
|
|
{
|
|
public bool IsEffective { get; set; }
|
|
}
|
|
|
|
public class GetTrialReadingCriterionInfoOutDto
|
|
{
|
|
|
|
/// <summary>
|
|
/// 阅片信息签名时间
|
|
/// </summary>
|
|
public DateTime? ReadingInfoSignTime { get; set; }
|
|
|
|
public bool IsSign
|
|
{
|
|
get
|
|
{
|
|
return this.ReadingInfoSignTime != null;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 是否必须全局阅片
|
|
/// </summary>
|
|
public bool IsMustGlobalReading { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 修约小数点
|
|
/// </summary>
|
|
public int? DigitPlaces { get; set; }
|
|
|
|
/// <summary>
|
|
/// eCRF报告是否显示在图像页面
|
|
/// </summary>
|
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
|
|
|
|
|
public bool IsFromSystem { get; set; } = false;
|
|
|
|
public FormType? FormType { get; set; }
|
|
|
|
|
|
public bool IsSystemCriterion { get; set; }
|
|
|
|
/// <summary>
|
|
/// 项目标准Id
|
|
/// </summary>
|
|
public Guid? TrialCriterionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 项目分页
|
|
/// </summary>
|
|
public List<ReadingCriterionPageDto> ReadingCriterionPageList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 项目问题集合
|
|
/// </summary>
|
|
public List<TrialReadQuestion> TrialQuestionList { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
public class SetOncologySetInDto
|
|
{
|
|
/// <summary>
|
|
/// 项目标准ID
|
|
/// </summary>
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public List<Guid> OncologyAssessIds { get; set; }
|
|
|
|
/// <summary>
|
|
/// 评估结果
|
|
/// </summary>
|
|
public string EvaluationResult { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 评估原因
|
|
/// </summary>
|
|
public string EvaluationReason { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 是否显示详情
|
|
/// </summary>
|
|
public bool IsShowDetail { get; set; }
|
|
}
|
|
|
|
public class GetOncologySetOutDto
|
|
{
|
|
|
|
public bool IsSign { get; set; }
|
|
|
|
public List<Guid> OncologyAssessIds { get; set; }
|
|
|
|
public bool IsSystemCriterion { get; set; }
|
|
|
|
/// <summary>
|
|
/// 评估原因
|
|
/// </summary>
|
|
public string EvaluationReason { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
}
|
|
|
|
public class GetGlobalReadingOutDto
|
|
{
|
|
public List<CriterionDictionaryInfo> GlobalAssessTypes { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 全局阅片
|
|
/// </summary>
|
|
public bool IsGlobalReading { get; set; }
|
|
|
|
public bool IsSystemCriterion { get; set; }
|
|
|
|
public bool IsSign { get; set; }
|
|
}
|
|
|
|
public class AsyncTrialCriterionDictionaryInDto
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
}
|
|
|
|
public class SetGlobalReadingInfoInDto
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
public List<SetGlobalReading> GlobalAssessList { get; set; }
|
|
|
|
|
|
///// <summary>
|
|
///// 全局阅片
|
|
///// </summary>
|
|
//public bool IsGlobalReading { get; set; }
|
|
}
|
|
|
|
|
|
public class SetGlobalReading
|
|
{
|
|
/// <summary>
|
|
/// DictionaryId
|
|
/// </summary>
|
|
public Guid DictionaryId { get; set; }
|
|
|
|
/// <summary>
|
|
/// IsBaseLineUse
|
|
/// </summary>
|
|
public bool IsBaseLineUse { get; set; }
|
|
|
|
/// <summary>
|
|
/// IsBaseUse
|
|
/// </summary>
|
|
public bool IsFollowVisitUse { get; set; }
|
|
}
|
|
|
|
public class GetOncologySetInDto
|
|
{
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
}
|
|
|
|
public class GetTrialReadingInfoInDto
|
|
{
|
|
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
|
|
}
|
|
|
|
public class SetTrialReadingCriterionInDto
|
|
{
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 表单类型
|
|
/// </summary>
|
|
|
|
public FormType FormType { get; set; }
|
|
|
|
|
|
///// <summary>
|
|
///// 修约小数点
|
|
///// </summary>
|
|
//public int? DigitPlaces { get; set; }
|
|
|
|
|
|
public bool IsSignSave { get; set; } = false;
|
|
}
|
|
|
|
|
|
public class AddOrUpdateTrialCriterionAdditional
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
|
|
public CriterionType CriterionType { get; set; }
|
|
|
|
|
|
public AdditionalAssessmentType AdditionalAssessmentType { get; set; }
|
|
|
|
public bool? IsSelected { get; set; }
|
|
}
|
|
|
|
|
|
public class SetCriterionReadingInfoInDto
|
|
{
|
|
|
|
/// <summary>
|
|
/// 默认SegmentName
|
|
/// </summary>
|
|
public DefaultSegmentNameDto DefaultSegmentName { get; set; } = new DefaultSegmentNameDto() { };
|
|
|
|
/// <summary>
|
|
/// 定圆工具默认半径
|
|
/// </summary>
|
|
public decimal CircleRadius { get; set; }
|
|
|
|
public List<string> ReadingToolList { get; set; } = new List<string>() { };
|
|
|
|
/// <summary>
|
|
/// 分割工具
|
|
/// </summary>
|
|
public List<string> SegmentToolList { get; set; } = new List<string>();
|
|
|
|
public List<KeyFile> KeyFileList { get; set; }=new List<KeyFile>() { };
|
|
|
|
public bool IsImageFilter { get; set; }
|
|
public string CriterionModalitys { get; set; }
|
|
|
|
public ReadingImageDownload ImageDownloadEnum { get; set; }
|
|
|
|
public ReadingImageUpload ImageUploadEnum { get; set; }
|
|
|
|
|
|
//是否附加评估
|
|
public bool IsAdditionalAssessment { get; set; }
|
|
|
|
public CriterionType CriterionType { get; set; }
|
|
|
|
//自动 手动生成任务
|
|
public bool IsAutoCreate { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 项目标准ID
|
|
/// </summary>
|
|
public Guid TrialReadingCriterionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// eCRF报告是否显示在图像页面
|
|
/// </summary>
|
|
public bool IseCRFShowInDicomReading { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否有阅片期
|
|
/// </summary>
|
|
public bool IsReadingPeriod { get; set; } = true;
|
|
|
|
|
|
public string GlobalUpdateType { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 修约小数点
|
|
/// </summary>
|
|
public int? DigitPlaces { get; set; } = 2;
|
|
|
|
/// <summary>
|
|
/// 阅片工具
|
|
/// </summary>
|
|
public ReadingTool? ReadingTool { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片平台
|
|
/// </summary>
|
|
public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.MINT;
|
|
|
|
|
|
/// <summary>
|
|
/// 任务组织级别
|
|
/// </summary>
|
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 影像是否有标注
|
|
/// </summary>
|
|
public bool IsImageIabeled { get; set; }
|
|
|
|
//读片任务显示是否顺序
|
|
public ReadingOrder IsReadingTaskViewInOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// IR阅片是否显示受试者信息
|
|
/// </summary>
|
|
public bool IsReadingShowSubjectInfo { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// IR阅片是否显示既往结果
|
|
/// </summary>
|
|
public bool IsReadingShowPreviousResults { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 仲裁规则/对象
|
|
/// </summary>
|
|
public ArbitrationRule ArbitrationRule { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 阅片模式
|
|
/// </summary>
|
|
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
|
|
|
/// <summary>
|
|
/// 全局阅片
|
|
/// </summary>
|
|
public bool IsGlobalReading { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 仲裁阅片
|
|
/// </summary>
|
|
public bool IsArbitrationReading { get; set; } = true;
|
|
|
|
|
|
/// <summary>
|
|
/// 肿瘤学阅片 原字段 IsClinicalReading
|
|
/// </summary>
|
|
public bool IsOncologyReading { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 是否加急
|
|
/// </summary>
|
|
public bool IsUrgent { get; set; } = false;
|
|
|
|
public List<AddOrUpdateTrialCriterionAdditional> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<AddOrUpdateTrialCriterionAdditional>();
|
|
|
|
}
|
|
|
|
public class SignConfirmDTO
|
|
{
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
//[NotDefault]
|
|
//public Guid SignId { get; set; }
|
|
|
|
|
|
[NotDefault]
|
|
public string SignCode { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class TrialSPMConfigCommand
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
[Comment("SPM 参与中心调研")]
|
|
public bool IsSPMJoinSiteSurvey { get; set; }
|
|
|
|
[Comment("SPM 参与阅片人筛选")]
|
|
public bool IsSPMJoinReviewerSelect { get; set; }
|
|
|
|
[Comment("SPM 参与重阅审批")]
|
|
public bool IsSPMJoinReReadingApproval { get; set; }
|
|
|
|
public bool IsExternalViewTrialChart { get; set; }
|
|
}
|
|
|
|
public class TrialConfigDTO : BasicTrialConfig
|
|
{
|
|
public TrialDataStore TrialDataStoreType { get; set; }
|
|
|
|
[Comment("阅片任务产生之前 采集影像")]
|
|
public CollectImagesType CollectImagesEnum { get; set; }
|
|
|
|
[Comment("SPM 参与中心调研")]
|
|
public bool IsSPMJoinSiteSurvey { get; set; }
|
|
|
|
[Comment("SPM 参与阅片人筛选")]
|
|
public bool IsSPMJoinReviewerSelect { get; set; }
|
|
|
|
[Comment("SPM 参与重阅审批")]
|
|
public bool IsSPMJoinReReadingApproval { get; set; }
|
|
|
|
public bool IsExternalViewTrialChart { get; set; }
|
|
|
|
public List<string> ImageFormatList { get; set; }
|
|
|
|
public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
|
|
|
|
public List<string> TrialCriterionNames { get; set; } = new List<string>();
|
|
|
|
public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
|
|
|
|
public int ClinicalInformationTransmissionEnum { get; set; }
|
|
|
|
public bool IsTrialProcessConfirmed { get; set; }
|
|
|
|
|
|
public bool IsTrialUrgentConfirmed { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// QC流程 0 不审,1 单审,2双审
|
|
/// </summary>
|
|
public TrialQCProcess QCProcessEnum { get; set; }
|
|
|
|
/// <summary>
|
|
/// 影像一致性核查
|
|
/// </summary>
|
|
public bool IsImageConsistencyVerification { get; set; } = false;
|
|
|
|
//阅片方式
|
|
public int ReadingMode { get; set; }
|
|
|
|
public bool IsSubjectExpeditedView { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 是否有 入组评估确认
|
|
/// </summary>
|
|
public bool IsEnrollementQualificationConfirm { get; set; } = false;
|
|
|
|
public bool IsUrgent { get; set; }
|
|
|
|
public bool IsPDProgressView { get; set; }
|
|
|
|
|
|
public bool IsQCQuestionConfirmed { get; set; }
|
|
|
|
public string TrialStatusStr { get; set; } = string.Empty;
|
|
|
|
public List<string> ClinicalDataSetNames { get; set; } = new List<string>();
|
|
|
|
|
|
|
|
public List<string> StudyUseModalityList { get; set; }
|
|
|
|
public List<string> StudyUseStudyNameList { get; set; }
|
|
|
|
public bool IsIQCAutoNextTask { get; set; }
|
|
|
|
public bool IsIQCAutoTaskDistinguishType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 影像质控风险控制
|
|
/// </summary>
|
|
public bool? IsImageQualityControl { get; set; }
|
|
|
|
//public bool IsTrialStart { get; set; } = false;
|
|
|
|
|
|
//public List<Guid> CriterionIds { get; set; } = new List<Guid>();
|
|
|
|
|
|
//public bool IsGlobalReading { get; set; } = true;
|
|
|
|
//public bool? IsArbitrationReading { get; set; }
|
|
|
|
//public bool? IsClinicalReading { get; set; }
|
|
|
|
|
|
//public ArbitrationRule ArbitrationRule { get; set; }
|
|
|
|
|
|
//public int DigitPlaces { get; set; }
|
|
|
|
///// <summary>
|
|
///// 1 Mint、2 PACS
|
|
///// </summary>
|
|
|
|
//public int ImagePlatform { get; set; } = 1;
|
|
|
|
|
|
|
|
////阅片类型
|
|
//public int ReadingType { get; set; }
|
|
|
|
|
|
|
|
//public string DocumentConfirmSignText { get; set; } = string.Empty;
|
|
//public string ImageQCSignText { get; set; } = string.Empty;
|
|
//public string PreliminaryAuditReuploadText { get; set; } = string.Empty;
|
|
//public string ReviewAuditReuploadText { get; set; } = string.Empty;
|
|
//public string CheckBackText { get; set; } = string.Empty;
|
|
//public string CheckCloseText { get; set; } = string.Empty;
|
|
//public string ChallengeTypes { get; set; } = string.Empty;
|
|
//public bool IsImageExport { get; set; } = false;
|
|
//public bool IsCRAAuditClinicalInformation { get; set; } = false;
|
|
//public string TrialSiteSurveyUserRoles { get; set; } = string.Empty;
|
|
//public string TrialSiteSurveyEquipmentType { get; set; } = string.Empty;
|
|
|
|
}
|
|
|
|
|
|
public class AddOrUpdateTrialBodyPartCommand
|
|
{
|
|
public string Code { get; set; }
|
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
public string NameCN { get; set; }
|
|
|
|
|
|
|
|
public Guid? Id { get; set; }
|
|
|
|
[NotDefault]
|
|
public Guid TrialId { get; set; }
|
|
|
|
|
|
public bool IsHandAdd { get; set; } = true;
|
|
}
|
|
|
|
public class TrialBodyPartView
|
|
{
|
|
|
|
public bool IsStudyUse { get; set; }
|
|
|
|
public string Code { get; set; }
|
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
public Guid Id { get; set; }
|
|
|
|
public bool IsHandAdd { get; set; }
|
|
}
|
|
}
|