using IRaCIS.Core.Domain.Share; using Newtonsoft.Json; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace IRaCIS.Core.Application.Service.Reading.Dto { #region 阅片问题 public class ReadingReportDto { public Guid Id { get { return Guid.NewGuid(); } } /// /// 限制编辑 /// public LimitEdit LimitEdit { get; set; } = LimitEdit.None; /// /// 最大答案长度 /// public int? MaxAnswerLength { get; set; } /// /// 文件类型 /// public string FileType { get; set; } = string.Empty; public Guid QuestionId { get; set; } public Guid TableQuestionId { get; set; } public Guid? GroupId { get; set; } public int ShowOrder { get; set; } /// /// 是否显示在Dicom阅片中 /// public bool IsShowInDicom { get; set; } = false; public decimal RowIndex { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 问题类型 /// public TableQuestionType? TableQuestionType { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } /// /// 数据来源 /// public DataSources DataSource { get; set; } = DataSources.ManualEntry; /// /// 病灶类型 /// public LesionType? LesionType { get; set; } public string GroupName { get; set; } public string QuestionName { get; set; } public bool IsCanEditPosition { get; set; } = false; public string BlindName { get; set; } public Guid? RowId { get; set; } public string SplitOrMergeLesionName { get; set; } public SplitOrMergeType? SplitOrMergeType { get; set; } /// /// 类型 /// public string Type { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } /// /// 类型值 /// public string? TypeValue { get; set; } /// /// 序号标记 /// public string? OrderMark { get; set; } /// /// 数值类型 /// public ValueOfType? ValueType { get; set; } /// /// 自定义单位 /// public string? CustomUnit { get; set; } /// /// 单位 /// public ValueUnit? Unit { get; set; } public decimal FristAddTaskNum { get; set; } public ReportLayType ReportLayType { get; set; } = ReportLayType.Group; public string? ReportMark { get; set; } /// /// 高亮问题的答案 /// public string HighlightAnswer { get; set; } = "[]"; public List HighlightAnswerList { get; set; } = new List(); /// /// 问题英文分组 /// public string GroupEnName { get; set; } = string.Empty; public List Answer { get; set; } = new List(); public List Childrens { get; set; } = new List(); } public class TaskQuestionAnswer { public string TaskName { get; set; } public Guid VisitTaskId { get; set; } public string Answer { get; set; } public bool IsGlobalChange { get; set; } = false; /// /// 全局阅片修改的答案 /// public string GlobalChangeAnswer { get; set; } = string.Empty; public List CrterionDictionaryGroup { get; set; } } public class GetReadingReportEvaluationOutDto { public object ReportCalculateResult { get; set; } public GetReportVerifyOutDto CalculateResult { get; set; } public ReadingTaskState ReadingTaskState { get; set; } public List VisitTaskList { get; set; } public List TaskQuestions { get; set; } public List LesionCountList { get; set; } = new List(); } public class LesionDto { public LesionType? LesionType { get; set; } public int Count { get; set; } } public class VisitTaskGroupAnswerDto { public Guid VisitTaskId { get; set; } public List Questions { get; set; } } public class VisitTaskGroupInfo { public Guid QuestionId { get; set; } public string QuestionName { get; set; } public string GroupName { get; set; } public int ShowOrder { get; set; } public List QuestionList = new List(); } public class VisitTaskQuestionInfo { public Guid QuestionId { get; set; } public string QuestionName { get; set; } public string GroupName { get; set; } public int ShowOrder { get; set; } public string Answer { get; set; } = string.Empty; public List TableRowQuestionList = new List(); } public class VistTaskTableQuestionRowInfo { public decimal RowIndex { get; set; } /// /// 序号标记 /// public string OrderMark { get; set; } = string.Empty; public List TableQuestionList = new List(); } public class VistTaskTableQuestionInfo { public Guid QuestionId { get; set; } public Guid TableQuestionId { get; set; } public string QuestionName { get; set; } public int ShowOrder { get; set; } public string Answer { get; set; } = string.Empty; } public class VisitTaskInfo { public Guid VisitTaskId { get; set; } public string BlindName { get; set; } public bool IsHaveAdditionalQuestion { get; set; } public bool IsBaseLine { get; set; } public DateTime? LatestScanDate { get; set; } public TaskState TaskState { get; set; } public string TaskName { get; set; } public decimal VisitTaskNum { get; set; } public bool IsCurrentTask { get; set; } public Guid? BeforeConvertedTaskId { get; set; } public bool IsConvertedTask { get; set; } public List CrterionDictionaryGroup { get; set; } } public class GetCanMergeLesionOutDto { public Guid RowId { get; set; } public string? OrderMarkName { get; set; } public Guid? OrganInfoId { get; set; } public decimal RowIndex { get; set; } public string Part { get; set; } } public class GetCanMergeLesionInDto { public Guid RowId { get; set; } } public class TableQuestionAnswerInfo { public Guid Id { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } /// /// 问题Id /// public Guid QuestionId { get; set; } /// /// 表格问题Id /// public Guid TableQuestionId { get; set; } /// /// 任务Id /// public Guid VisitTaskId { get; set; } /// /// 项目Id /// public Guid TrialId { get; set; } /// /// 行号 /// public decimal RowIndex { get; set; } /// /// 答案 /// public string Answer { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 创建人 /// public Guid CreateUserId { get; set; } /// /// RowId /// public Guid RowId { get; set; } public Guid UpdateUserId { get; set; } public DateTime UpdateTime { get; set; } public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } public Guid? DeleteUserId { get; set; } } public class MergeLesionInDto { public Guid VisitTaskId { get; set; } public Guid QuestionId { get; set; } /// /// 融合的主病灶 /// public Guid MergeMainRowId { get; set; } /// /// 融合的病灶 /// public List MergeRowIdList { get; set; } } public class SplitLesionInDto { public Guid VisitTaskId { get; set; } public Guid QuestionId { get; set; } public Guid RowId { get; set; } } public class AdditionalQuestionAnswer { public Guid QuestionId { get; set; } public string Answer { get; set; } } public class SubmitTaskAdditionalQuestionInDto { public Guid VisitTaskId { get; set; } public List AnswerList { get; set; } = new List(); } public class GetCustomTagInDto { /// /// 任务Id /// public Guid VisitTaskId { get; set; } } public class GetPreviousOtherPicturePathOutDto { public Guid VisitTaskId { get; set; } public string? PicturePath { get; set; } public string TaskBlindName { get; set; } = string.Empty; } public class CaGetVisitReadReportUrl { /// /// 任务Id /// public Guid VisitTaskId { get; set; } } public class GenerateReadingReportInDto { /// /// 任务Id /// public Guid VisitTaskId { get; set; } } public class GetPreviousOtherPicturePathInDto { public Guid? RowId { get; set; } public Guid? VisitTaskId { get; set; } /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } } public class GetReadingCalculationDataInDto { /// /// 任务Id /// public Guid VisitTaskId { get; set; } } public class ReadingCustomTagDto { public Guid? Id { get; set; } /// /// 任务Id /// public Guid VisitTaskId { get; set; } /// /// StudyId /// public Guid? StudyId { get; set; } /// /// SeriesId /// public Guid? SeriesId { get; set; } /// /// InstanceId /// public Guid? InstanceId { get; set; } /// /// MeasureData /// public string? MeasureData { get; set; } /// /// CreateTime /// public DateTime CreateTime { get; set; } /// /// CreateUserId /// public Guid CreateUserId { get; set; } public int? NumberOfFrames { get; set; } } public class GetManualListInDto { public Guid TrialId { get; set; } } public class GetManualListOutDto { public Guid Id { get; set; } /// /// Name /// public string Name { get; set; } = string.Empty; /// /// Path /// public string Path { get; set; } = string.Empty; } public class GetTaskAdditionalQuestionInDto { //public Guid TrialReadingCriterionId { get; set; } public Guid VisitTaskId { get; set; } } public class ChangeCalculationAnswerInDto { public Guid VisitTaskId { get; set; } public List QuestionAnswer { get; set; } = new List(); public List TableQuestionAnswer { get; set; } = new List(); } public class ChangeTableQuestion { public Guid? RowId { get; set; } public Guid QuestionId { get; set; } public Guid TableQuestionId { get; set; } public string Answer { get; set; } } public class ChangeQuestion { public Guid QuestionId { get; set; } public string Answer { get; set; } } public class ReadClinicalDataInDto { [NotDefault] public Guid VisitTaskId { get; set; } } public class GetReadingToolInDto { public Guid VisitTaskId { get; set; } } public class GetReadingToolOutDto { public ReadingTool? ReadingTool { get; set; } public Guid TrialReadingCriterionId { get; set; } public CriterionType CriterionType { get; set; } } public class ChangeDicomReadingQuestionAnswerInDto { public Guid VisitTaskId { get; set; } public ComputationTrigger ComputationTrigger { get; set; } public bool UpdateMark { get; set; } = false; public List Answers { get; set; } public List QuestionMarkInfoList { get; set; } = new List(); } public class ChangeDicomReadingQuestionAnswerDto { public Guid Id { get; set; } public string Answer { get; set; } = string.Empty; } public class DicomReadingQuestionAnswer : ReadingQuestionTrial { public string Answer { get; set; } public string LastTaskAnswer { get; set; } public bool IsFirstChangeTask { get; set; } = false; public List CrterionDictionaryGroup { get; set; } public List Childrens = new List(); } public class DeleteReadingRowAnswerInDto { public Guid VisitTaskId { get; set; } public Guid QuestionId { get; set; } = default(Guid); public Guid RowId { get; set; } public bool IsNeedSort { get; set; } = true; } public class GetDicomReadingQuestionAnswerInDto { public Guid VisitTaskId { get; set; } public Guid TrialId { get; set; } /// /// 分组分类 /// public List? GroupClassifyList { get; set; } /// /// 问题分类 /// public QuestionClassify? QuestionClassify { get; set; } } public class ReadingTableAnswerRowInfoBase { public Guid Id { get; set; } /// /// CreateTime /// public DateTime CreateTime { get; set; } /// /// 第一层的Question /// public Guid QuestionId { get; set; } /// /// 器官Id /// public Guid? OrganInfoId { get; set; } /// /// VisitTaskId /// public Guid VisitTaskId { get; set; } /// /// 标记工具 /// public string? MarkTool { get; set; } /// /// TrialId /// public Guid TrialId { get; set; } /// /// 首次添加任务ID /// public Guid FristAddTaskId { get; set; } /// /// 窗宽WW /// public decimal? WW { get; set; } /// /// 窗位WL /// public decimal? WL { get; set; } /// /// InstanceId /// public Guid? InstanceId { get; set; } /// /// SeriesId /// public Guid? SeriesId { get; set; } /// /// StudyId /// public Guid? StudyId { get; set; } public bool IsCanEditPosition { get; set; } = false; /// /// 是Dicom阅片 /// public bool IsDicomReading { get; set; } = true; /// /// RowIndex /// public decimal RowIndex { get; set; } /// /// MeasureData /// public string? MeasureData { get; set; } /// /// 是否是当前任务添加 /// public bool IsCurrentTaskAdd { get; set; } = false; /// /// SplitRowId /// public Guid? SplitRowId { get; set; } /// /// MergeRowId /// public Guid? MergeRowId { get; set; } public string? BlindName { get; set; } public string? OrderMark { get; set; } /// /// 截图地址 /// public string? PicturePath { get; set; } /// /// 第一次添加的任务ID /// public decimal FristAddTaskNum { get; set; } = 0; public SplitOrMergeType? SplitOrMergeType { get; set; } /// /// CreateUserId /// public Guid CreateUserId { get; set; } public int? NumberOfFrames { get; set; } public Guid UpdateUserId { get; set; } //string UpdateUserName { get; set; } public DateTime UpdateTime { get; set; } public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } public Guid? DeleteUserId { get; set; } /// /// 来自于哪个标记 /// public string? FromMark { get; set; } public string? ReportMark { get; set; } public string? RowMark { get; set; } } public class CopyTableAnswerRowInfo : ReadingTableAnswerRowInfoBase { public Guid OriginalId { get; set; } } public class CopyTableAnswerDto { public decimal RowIndex { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } public bool IsCopy { get; set; } /// /// 问题Id /// public Guid QuestionId { get; set; } public Guid RowId { get; set; } /// /// 表格问题Id /// public Guid TableQuestionId { get; set; } /// /// 项目Id /// public Guid TrialId { get; set; } public string Answer { get; set; } } public class GetReadingReportEvaluationInDto { public Guid VisitTaskId { get; set; } public Guid TrialId { get; set; } public bool IsCalculate { get; set; } = true; } public class GetReadingQuestionAndAnswerOutDto : GetReadingTableQuestionOutDto { public List QuestionMarkInfoList { get; set; } public bool IsBaseLineTask { get; set; } public decimal TaskNum { get; set; } /// /// 任务盲态名称 和访视盲态一样 /// public string BlindName { get; set; } public ReadingTaskState ReadingTaskState { get; set; } } public class GetCustomTableQuestionAnswerInDto { [NotDefault] public Guid VisitTaskId { get; set; } /// /// 问题分类 /// public QuestionClassify? QuestionClassify { get; set; } } public class GetReadingTableQuestionOutDto { public List SinglePage { get; set; } public List MultiPage { get; set; } public List PublicPage { get; set; } } public class TrialReadQuestionData : ReadingQuestionTrial { public List CrterionDictionaryGroup { get; set; } public bool IsPage { get; set; } = false; public string Answer { get; set; } /// /// 分页名称 /// public string PageName { get; set; } /// /// 是否公共分页 /// public bool? IsPublicPage { get; set; } = false; public int? PageShowOrder { get; set; } public List Childrens { get; set; } public TrialReadTableQuestion TableQuestions { get; set; } } /// /// 病灶Index /// public class lesionsIndexDto { public Guid QuestionId { get; set; } public List Rowindexs { get; set; } } public class TableAnsweRowInfo : ReadingTableAnswerRowInfo { public string SplitName { get; set; } public string MergeName { get; set; } /// /// 病灶类型 /// public LesionType? LesionType { get; set; } } public class GetReadingTableQuestionOrAnswerInDto { public Guid TrialReadingCriterionId { get; set; } public Guid? TaskId { get; set; } public List TableAnswers { get; set; } = new List(); public List TableAnsweRowInfos { get; set; } = new List(); public List OrganInfos { get; set; } = new List(); /// /// 问题分类 /// public QuestionClassify? QuestionClassify { get; set; } public bool IsGetallQuestion { get; set; } = false; /// /// 是否获取预览 /// public bool IsGetPreview { get; set; } = false; } public class ReadingTableQuestionAnswerInfo : ReadingTableQuestionAnswer { public int ShowOrder { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } } public class TrialReadTableQuestion { public List Questions { get; set; } public List> Answers { get; set; } } public class TableQuestionTrial : ReadingTableQuestionTrial { public List RelationQuestions { get; set; } = new List(); } public class GetTableAnswerRowInfoOutDto { public Guid Id { get; set; } /// /// 序号标记 /// public string? OrderMark { get; set; } public string? OrderMarkName { get; set; } public string? FromMark { get; set; } /// /// 病灶类型 /// public LesionType? LesionType { get; set; } /// /// 截图地址 /// public string PicturePath { get; set; } = string.Empty; public int? NumberOfFrames { get; set; } public Guid RowId { get; set; } /// /// QuestionId /// public Guid QuestionId { get; set; } /// /// VisitTaskId /// public Guid VisitTaskId { get; set; } /// /// TrialId /// public Guid TrialId { get; set; } /// /// InstanceId /// public Guid? InstanceId { get; set; } /// /// SeriesId /// public Guid? SeriesId { get; set; } /// /// StudyId /// public Guid? StudyId { get; set; } public bool IsCanEditPosition { get; set; } /// /// RowIndex /// public string? RowIndex { get; set; } /// /// RowIndex /// public decimal RowIndexNum { get; set; } /// /// 是Dicom阅片 /// public bool IsDicomReading { get; set; } = true; public string? BlindName { get; set; } /// /// 首次添加任务ID /// public Guid FristAddTaskId { get; set; } /// /// 窗宽WW /// public decimal? WW { get; set; } /// /// 窗位WL /// public decimal? WL { get; set; } /// /// MeasureData /// public string? MeasureData { get; set; } public string? OtherMeasureData { get; set; } public int ShowOrder { get; set; } public bool IsFirstChangeTask { get; set; } = false; /// /// InstanceId /// public Guid? OtherInstanceId { get; set; } /// /// SeriesId /// public Guid? OtherSeriesId { get; set; } /// /// StudyId /// public Guid? OtherStudyId { get; set; } public string? OtherMarkTool { get; set; } public string? OtherPicturePath { get; set; } public int? OtherNumberOfFrames { get; set; } public SplitOrMergeType? SplitOrMergeType { get; set; } } public class GetTableAnswerRowInfoInDto { public Guid VisitTaskId { get; set; } public Guid? QuestionId { get; set; } } public class QuestionMarkInfo { /// /// 问题Id /// public Guid QuestionId { get; set; } /// /// InstanceId /// public Guid? InstanceId { get; set; } /// /// SeriesId /// public Guid? SeriesId { get; set; } /// /// StudyId /// public Guid? StudyId { get; set; } /// /// MarkTool /// public string? MarkTool { get; set; } /// /// PicturePath /// public string? PicturePath { get; set; } /// /// NumberOfFrames /// public int? NumberOfFrames { get; set; } /// /// MeasureData /// public string? MeasureData { get; set; } public Guid? FirstAddTaskId { get; set; } public QuestionType? QuestionType { get; set; } public string? OrderMarkName { get; set; } /// /// InstanceId /// public Guid? OtherInstanceId { get; set; } /// /// SeriesId /// public Guid? OtherSeriesId { get; set; } /// /// StudyId /// public Guid? OtherStudyId { get; set; } public string? OtherMarkTool { get; set; } public string? OtherPicturePath { get; set; } public int? OtherNumberOfFrames { get; set; } public string? OtherMeasureData { get; set; } } public class GetReadingQuestionAndAnswerInDto { public Guid TrialId { get; set; } public Guid VisitTaskId { get; set; } /// /// 问题分类 /// public QuestionClassify? QuestionClassify { get; set; } } #endregion public class GetHistoryGlobalInfoOutDto { public Guid VisitTaskId { get; set; } public string TaskName { get; set; } public ReadingTaskState ReadingTaskState { get; set; } public decimal VisitTaskNum { get; set; } } public class GetHistoryGlobalInfoInDto { public Guid VisitTaskId { get; set; } } public class SubmitOncologyReadingInfoInDto { public Guid OncologyTaskId { get; set; } } public class SubmitGlobalReadingInfoInDto { public Guid GlobalTaskId { get; set; } } public class SetOncologyQuestion { public Guid VisitTaskId { get; set; } /// /// 评估结果 /// public string EvaluationResult { get; set; } = string.Empty; /// /// 评估原因 /// public string EvaluationReason { get; set; } = string.Empty; } public class SetOncologyReadingInfoInDto { public Guid OncologyTaskId { get; set; } public Guid RelatedTaskId { get; set; } public List OncologyQuestionList { get; set; } } public class BatchSubmitGlobalReadingInfo { public Guid GlobalTaskId { get; set; } public Guid SubjectId { get; set; } public Guid TrialId { get; set; } public List VisitTaskAnswerList { get; set; } } public class SubmitGlobalReading { public Guid VisitTaskId { get; set; } public List AnswerList { get; set; } } public class GlobalAnswer { public Guid? QuestionId { get; set; } public GlobalAnswerType GlobalAnswerType { get; set; } public string Answer { get; set; } } public class SaveGlobalReadingInfoInDto { public Guid GlobalTaskId { get; set; } public Guid SubjectId { get; set; } public Guid TrialId { get; set; } public List QuestionList { get; set; } } public class SaveGlobalReadingQuestion { public Guid? QuestionId { get; set; } public Guid VisitTaskId { get; set; } public GlobalAnswerType GlobalAnswerType { get; set; } public string Answer { get; set; } } public class OncologyQuestion { public Guid QuestionId { get; set; } public string QuestionName { get; set; } public string Answer { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } } public class OncologyVisitTaskInfo { public Guid VisitTaskId { get; set; } public string VisitName { get; set; } public bool IsBaseLine { get; set; } public decimal VisitNum { get; set; } public bool IsHaveChange { get; set; } public string VisitRemark { get; set; } = string.Empty; /// /// 评估结果 /// public string EvaluationResult { get; set; } = string.Empty; /// /// 评估原因 /// public string EvaluationReason { get; set; } = string.Empty; public List QuestionList { get; set; } = new List(); } public class GetOncologyReadingInfoOutDto { public Guid OncologyTaskId { get; set; } ///// ///// 评估结果 ///// //public string TrialEvaluationResult { get; set; } = string.Empty; /// /// 评估原因 /// public string TrialEvaluationReason { get; set; } = string.Empty; /// /// 是否显示详情 /// public bool IsShowDetail { get; set; } //任务阅片状态 public ReadingTaskState ReadingTaskState { get; set; } public Guid GlobalOrVisitTaskId { get; set; } /// /// 任务类型 /// public ReadingCategory ReadingCategory { get; set; } public Guid RelatedTaskId { get; set; } public Guid SubjectId { get; set; } public List AssessTypeList { get; set; } public List OncologyVisits { get; set; } = new List(); } public class GetRelatedVisitTaskOutDto { public Guid VisitTaskId { get; set; } public string TaskName { get; set; } public bool IsBaseLineTask { get; set; } public string TaskBlindName { get; set; } public string SubjectCode { get; set; } public bool IsExistsClinicalData { get; set; } public ReadingTaskState ReadingTaskState { get; set; } public decimal VisitTaskNum { get; set; } public Guid? VisitId { get; set; } public bool IsCurrentTask { get; set; } /// /// 是否是转变的任务(转为IRECIST) /// public bool IsConvertedTask { get; set; } = false; /// /// 是否是第一次转化的任务 /// public bool IsFirstChangeTask { get; set; } = false; /// /// 融合的PTSeriesId /// public Guid? PTSeriesId { get; set; } /// /// 融合的CTSeriesId /// public Guid? CTSeriesId { get; set; } /// /// StudyId /// public Guid? OtherStudyId { get; set; } } public class GetVisitReadingQuestionOutDto { public Guid QuestionId { get; set; } public Guid QuestionName { get; set; } //public } public class GetVisitReadingQuestionInDto { public Guid TrialId { get; set; } public Guid VisitTaskId { get; set; } } public class GetRelatedVisitTaskInDto { [NotDefault] public Guid VisitTaskId { get; set; } } public class GetOncologyReadingInfoInDto { public Guid VisitTaskId { get; set; } } public class GetGlobalReadingInfoInDto { public Guid VisitTaskId { get; set; } /// /// 当新答案为空的时候 是否是有原数据 /// public bool UsingOriginalData { get; set; } = false; } public class GetGlobalReadingInfoOutDto { public Guid GlobalTaskId { get; set; } public Guid? OtherGlobalTaskId { get; set; } public string SubjectCode { get; set; } = string.Empty; public string TaskBlindName { get; set; } = string.Empty; public Guid? JudgeTaskId { get; set; } public string? JudgeTaskName { get; set; } public ReadingTaskState ReadingTaskState { get; set; } public string GlobalUpdateType { get; set; } public List AssessTypeList { get; set; } public List TaskList { get; set; } } public class GlobalVisitInfo { public string VisitName { get; set; } public string BlindName { get; set; } public Guid VisitId { get; set; } public Guid VisitTaskId { get; set; } public decimal VisitNum { get; set; } public bool IsBaseLine { get; set; } public Arm ArmEnum { get; set; } /// /// 是否是转变的任务(转为IRECIST) /// public bool IsConvertedTask { get; set; } = false; public bool IsFirstChangeTask { get; set; } = false; public string AgreeOrNotAnswer { get { return this.AgreeOrNot.Select(x => x.Answer).FirstOrDefault() ?? string.Empty; } } public List CrterionDictionaryGroup { get; set; } public List BeforeQuestionList { get; set; } public List AgreeOrNot { get; set; } public List AfterQuestionList { get; set; } public List LesionCountList { get; set; } = new List(); } public class GetGlobalQuestionType { public GlobalAnswerType GlobalAnswerType { get; set; } public string QuestionName { get; set; } } public class GlobalQuestionInfo { public Guid? QuestionId { get; set; } /// /// 裁判百分比或绝对值的相差值 /// public decimal? JudgeDifferenceValue { get; set; } /// /// 裁判百分比或绝对值的相差值匹配规则 /// public JudgeDifferenceType JudgeDifferenceType { get; set; } public bool IsHaveChange { get; set; } = false; public string VisitAnswer { get; set; } = string.Empty; public string QuestionName { get; set; } public string QuestionEnName { get; set; } = string.Empty; public string Answer { get; set; } public bool IsGlobalAnswer { get; set; } = false; /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } /// /// 限制编辑 /// public LimitEdit LimitEdit { get; set; } = LimitEdit.None; /// /// 最大答案长度 /// public int? MaxAnswerLength { get; set; } /// /// 文件类型 /// public string FileType { get; set; } = string.Empty; public ValueUnit? Unit { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } = string.Empty; /// /// 全局阅片显示类型 /// public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 答案分组 /// public string AnswerGroup { get; set; } = string.Empty; /// /// 答案组合 /// public string AnswerCombination { get; set; } = string.Empty; /// /// 裁判类型 /// public JudgeTypeEnum JudgeType { get; set; } public int ShowOrder { get; set; } /// /// 类型值 /// public string TypeValue { get; set; } /// /// 数值类型 /// public ValueOfType? ValueType { get; set; } /// /// 类型 /// public string Type { get; set; } public GlobalAnswerType GlobalAnswerType { get; set; } /// /// 是否是裁判问题 /// public bool IsJudgeQuestion { get; set; } = true; public List CrterionDictionaryGroup { get; set; } } public class GetReadingImgOutDto { public string Path { get; set; } public string FileName { get; set; } } public class SubjectTask { public Guid SubjectId { get; set; } public int UnReadTaskCount { get; set; } public int Index { get; set; } } public class ResetReadingTaskOutDto { } public class SetSkipReadingCacheInDto { public Guid VisitTaskId { get; set; } } public class ResetReadingTaskInDto { public Guid VisitTaskId { get; set; } } public class GetNextTaskInDto { public string SubjectCode { get; set; } = string.Empty; public Guid TrialId { get; set; } public Guid? SubjectId { get; set; } public Guid? TrialReadingCriterionId { get; set; } public Guid? VisitTaskId { get; set; } } public class GetReadingTaskDto { public Guid VisitTaskId { get; set; } public Guid VisistId { get; set; } public Arm ArmEnum { get; set; } public bool IsExistsClinicalData { get; set; } public bool IsNeedReadClinicalData { get; set; } public bool IsReadClinicalData { get; set; } /// /// 修约小数点 /// public int? DigitPlaces { get; set; } = 2; /// /// 标准类型 /// public CriterionType CriterionType { get; set; } /// /// eCRF报告是否显示在图像页面 /// public bool IseCRFShowInDicomReading { get; set; } = false; public bool IsExistsNoDicomFile { get; set; } = false; public string TaskBlindName { get; set; } public Guid SubjectId { get; set; } public string SubjectCode { get; set; } = String.Empty; public bool ExistsManual { get; set; } public ReadingCategory ReadingCategory { get; set; } public decimal VisitNum { get; set; } public bool IsReadingShowSubjectInfo { get; set; } = false; public bool IsReadingShowPreviousResults { get; set; } = false; /// /// 任务展示访视 读片任务显示是否顺序 /// public ReadingOrder IsReadingTaskViewInOrder { get; set; } public Guid TrialReadingCriterionId { get; set; } public bool IsFirstChangeTask { get; set; } = false; public ReadingTaskState ReadingTaskState { get; set; } /// /// 是否是转变的任务(转为IRECIST) /// public bool IsConvertedTask { get; set; } = false; } public class GetReadingImgInDto { public Guid? SubjectId { get; set; } [NotDefault] public Guid TrialId { get; set; } public Guid? VisistTaskId { get; set; } } public class GetConfirmCriterionInDto { [NotDefault] public Guid TrialId { get; set; } public Guid? VisitTaskId { get; set; } } /// /// 返回对象 /// public class GetTrialConfirmCriterionListOutDto { public Guid ReadingQuestionCriterionTrialId { get; set; } /// /// 标准 /// public string ReadingQuestionCriterionTrialName { get; set; } } public class SetTrialCriterionJudgeQuestionAnswerGroupInDto { [NotDefault] public Guid ReadingQuestionTrialId { get; set; } public List AnswerGroup { get; set; } /// /// 裁判百分比或绝对值的相差值 /// public decimal? JudgeDifferenceValue { get; set; } /// /// 裁判百分比或绝对值的相差值匹配规则 /// public JudgeDifferenceType JudgeDifferenceType { get; set; } public List AnswerCombination { get; set; } public JudgeTypeEnum JudgeType { get; set; } } public class GetTrialCriterionJudgeQuestionListOutDto { public Guid ReadingQuestionTrialId { get; set; } /// /// 裁判百分比或绝对值的相差值 /// public decimal? JudgeDifferenceValue { get; set; } /// /// 类型 /// public string Type { get; set; } = string.Empty; /// /// 裁判百分比或绝对值的相差值匹配规则 /// public JudgeDifferenceType JudgeDifferenceType { get; set; } public string QuestionName { get; set; } public string PageName { get; set; } public string TypeValue { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } = string.Empty; /// /// 裁判类别 /// public JudgeTypeEnum JudgeType { get; set; } /// /// 答案分组 /// public List AnswerGroup { get; set; } /// /// 单位 /// public ValueUnit? Unit { get; set; } /// /// 答案组合 /// public List AnswerCombination { get; set; } } public class GetTrialCriterionJudgeQuestionListInDto { [NotDefault] public Guid TrialId { get; set; } [NotDefault] public Guid TrialReadingCriterionId { get; set; } } public class VisitTaskArm { public Arm ArmEnum { get; set; } public Guid VisitTaskId { get; set; } } public class GetJudgeReadingInfoOutDto { public Guid? JudgeResultTaskId { get; set; } public List VisitInfoList { get; set; } public List VisitTaskArmList { get; set; } public ReadingTaskState ReadingTaskState { get; set; } /// /// 裁判结果的备注 /// public string JudgeResultRemark { get; set; } public List JudgeResultImagePathList { get; set; } = new List(); //public string JudgeResultImagePath { get; set; } = string.Empty; } public class GetReadingPastResultListOutDto { public Guid VisitTaskId { get; set; } public Guid? ReadModuleVisitId { get; set; } public string TaskName { get; set; } public string VisitBlindName { get; set; } public string TaskBlindName { get; set; } public string VisitName { get; set; } public decimal VisitTaskNum { get; set; } public Arm? JudgeResultArm { get; set; } } public class GetJudgeReadingPastResultListInDto { [NotDefault] public Guid VisitTaskId { get; set; } } public class GetReadingPastResultListInDto { [NotDefault] public Guid VisitTaskId { get; set; } } public class SaveJudgeVisitTaskResult { public Guid VisitTaskId { get; set; } public Guid JudgeResultTaskId { get; set; } public string JudgeResultRemark { get; set; } = string.Empty; //public string JudgeResultImagePath { get; set; } = string.Empty; public List JudgeResultImagePathList { get; set; } = new List(); } public class GetReadingSubjectInfoOutDto { public Guid VisitTaskId { get; set; } public Guid SubjectId { get; set; } public string SubjectCode { get; set; } = string.Empty; public ReadingCategory ReadingCategory { get; set; } public string TaskBlindName { get; set; } = string.Empty; public bool IsReadingShowPreviousResults { get; set; } = false; public bool IsReadingShowSubjectInfo { get; set; } = false; } public class GetReadingSubjectInfoInDto { public Guid VisitTaskId { get; set; } } public class GetJudgeReadingInfo { public Guid VisitTaskId { get; set; } } public class JudgeReadingInfoDto { public string VisitName { get; set; } public Guid VisitId { get; set; } public List VisitTaskInfoList { get; set; } } public class JudgeReadingQuestion { public Arm ArmEnum { get; set; } public Guid GlobalVisitTaskId { get; set; } public Guid VisitTaskId { get; set; } public List JudgeQuestionList { get; set; } } public class GlobalVisitJudgeQuestion : JudgeQuestion { public Guid VisitTaskId { get; set; } /// /// 排序 /// public int ShowOrder { get; set; } } public class JudgeQuestion { public Guid QuestionId { get; set; } public string QuestionName { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } = string.Empty; public dynamic Answer { get; set; } public string Type { get; set; } = string.Empty; public ValueUnit? Unit { get; set; } public JudgeReadingQuestionType QuestionType { get; set; } = JudgeReadingQuestionType.Question; } public class GetSystemReadingQuestionInDto { [NotDefault] public Guid Id { get; set; } } public class VerifyVisitTaskDto { public QuestionType QuestionType { get; set; } public Func> Fun { get; set; } } public class GetReportVerifyOutDto { /// /// 是否存在疾病 /// public string? IsExistDisease { get; set; } /// /// 整体肿瘤评估 /// public string? TumorEvaluate { get; set; } } public class GetReportVerifyInDto { public Guid VisitTaskId { get; set; } public bool IsConvertTask { get; set; } public Guid? BeforeConvertedTaskId { get; set; } } public class VerifyVisitTaskQuestionsInDto { /// /// 任务Id /// public Guid VisitTaskId { get; set; } } public class TableQuestionData { public Guid TableQuestionId { get; set; } public int Count { get; set; } } public class SubmitTableQuestionOutDto { public Guid RowId { get; set; } } public class SubmitTableQuestionInDto { public Guid QuestionId { get; set; } public ComputationTrigger ComputationTrigger { get; set; } = ComputationTrigger.CTSave; public Guid? OrganInfoId { get; set; } public int? NumberOfFrames { get; set; } public string? FromMark { get; set; } public string? ReportMark { get; set; } /// /// 标记工具 /// public string? MarkTool { get; set; } public decimal RowIndex { get; set; } /// /// 截图地址 /// public string? PicturePath { get; set; } /// /// 任务Id /// public Guid VisitTaskId { get; set; } /// /// 项目Id /// public Guid TrialId { get; set; } public string? MeasureData { get; set; } public string? OtherMeasureData { get; set; } public Guid? SeriesId { get; set; } public Guid? InstanceId { get; set; } public Guid? StudyId { get; set; } public Guid? RowId { get; set; } public Guid? Id { get { return this.RowId; } } public bool? IsCanEditPosition { get; set; } public decimal FristAddTaskNum { get; set; } = 0; public decimal? WW { get; set; } public decimal? WL { get; set; } public string BlindName { get; set; } = string.Empty; public bool IsDicomReading { get; set; } = true; /// /// InstanceId /// public Guid? OtherInstanceId { get; set; } /// /// SeriesId /// public Guid? OtherSeriesId { get; set; } /// /// StudyId /// public Guid? OtherStudyId { get; set; } public string? OtherMarkTool { get; set; } public string? OtherPicturePath { get; set; } public int? OtherNumberOfFrames { get; set; } /// /// 融合的PTSeriesId /// public Guid? PTSeriesId { get; set; } /// /// 融合的CTSeriesId /// public Guid? CTSeriesId { get; set; } public List AnswerList { get; set; } } public class SubmitTableQuestionInfo { public Guid TableQuestionId { get; set; } public string Answer { get; set; } = string.Empty; } public class GetTrialReadingQuestionInDto { [NotDefault] public Guid ReadingQuestionCriterionTrialId { get; set; } public Guid? VisitTaskId { get; set; } public FormType? FormType { get; set; } } public class SubmitDicomVisitTaskInDto { public Guid VisitTaskId { get; set; } } /// /// /// public class SubmitVisitTaskQuestionsInDto { [NotDefault] public Guid TrialId { get; set; } [NotDefault] public Guid VisitTaskId { get; set; } [NotDefault] public Guid ReadingQuestionCriterionTrialId { get; set; } public List AnswerList { get; set; } = new List(); } public class SaveJudgeTaskDto { public List VisitTaskIds { get; set; } } public class QuestionAnswer { public Guid ReadingQuestionTrialId { get; set; } public string Answer { get; set; } } //public class GetTrialReadingQuestionDto //{ // public Guid Id { get; set; } // public string GroupName { get; set; } // List Questions { get; set; } //} public class GroupTaskAnswerDto { public Guid QuestionId { get; set; } /// /// 裁判百分比或绝对值的相差值 /// public decimal? JudgeDifferenceValue { get; set; } /// /// 裁判百分比或绝对值的相差值匹配规则 /// public JudgeDifferenceType JudgeDifferenceType { get; set; } public string AnswerGroup { get; set; } public string AnswerCombination { get; set; } public JudgeTypeEnum JudgeType { get; set; } public List TaskAnswerList { get; set; } } public class TaskGroupAnswer { public string Answer { get; set; } } public class AnswerGroup { public Guid GroupId { get; set; } public string GroupValue { get; set; } } public class AnswerCombinationDto { public List AnswerGroupA { get; set; } public List AnswerGroupB { get; set; } } public class TaskAnswerDto { public Guid VisitTaskId { get; set; } public Guid QuestionId { get; set; } public decimal VisitTaskNum { get; set; } public string Answer { get; set; } public string AnswerGroup { get; set; } public string AnswerCombination { get; set; } public JudgeTypeEnum JudgeType { get; set; } /// /// 裁判百分比或绝对值的相差值 /// public decimal? JudgeDifferenceValue { get; set; } /// /// 裁判百分比或绝对值的相差值匹配规则 /// public JudgeDifferenceType JudgeDifferenceType { get; set; } } public class GetSystemReadingQuestionPageDto { public List SinglePage { get; set; } public List MultiPage { get; set; } public List PublicPage { get; set; } } public class GetTrialReadingQuestionPageDto { public List SinglePage { get; set; } public List MultiPage { get; set; } public List PublicPage { get; set; } } public class TableQuestionDataInfo { /// /// /// public Guid Id { get; set; } /// /// 问题ID /// public Guid ReadingQuestionId { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } = string.Empty; /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// Type /// public string Type { get; set; } public ValueUnit? Unit { get; set; } /// /// ParentId /// public Guid? ParentId { get; set; } /// ///父问题触发值 /// public string ParentTriggerValue { get; set; } /// /// 问题名称 /// public string QuestionName { get; set; } /// /// IsRequired /// public IsRequired IsRequired { get; set; } /// /// 排序号 /// public int ShowOrder { get; set; } /// /// 值 /// public string TypeValue { get; set; } /// /// 是否启用 /// public bool IsEnable { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 创建用户 /// public Guid CreateUserId { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 显示父问题 /// public Guid? RelevanceId { get; set; } /// /// 显示父问题的值 /// public string RelevanceValue { get; set; } /// /// 是否显示 /// public ShowQuestion ShowQuestion { get; set; } /// /// 最大问题数 /// public int? MaxRowCount { get; set; } /// /// 数据表名称 /// public string DataTableName { get; set; } /// /// 数据列 /// public string DataTableColumn { get; set; } /// /// 关联父问题 /// public Guid? DependParentId { get; set; } /// /// 是否关联 /// public IsDepend IsDepend { get; set; } /// /// 表格问题类型 /// public TableQuestionType? TableQuestionType { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } [Comment("复制病灶的时候 是否复制这个问题")] public bool IsCopy { get; set; } = false; [Comment("分类问题表格Id")] public Guid? ClassifyTableQuestionId { get; set; } [Comment("分类算法")] public string ClassifyAlgorithms { get; set; } = string.Empty; } public class GetSystemReadingQuestionOutDto { public Guid Id { get; set; } /// /// 分组ID /// public Guid? GroupId { get; set; } /// /// 系统标准Id /// public Guid ReadingQuestionCriterionSystemId { get; set; } public ValueUnit? Unit { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 字典code /// public string DictionaryCode { get; set; } /// /// 默认值 /// public string DefaultValue { get; set; } = string.Empty; /// /// 类型 /// public string Type { get; set; } /// /// 父问题触发 /// public string ParentTriggerValue { get; set; } /// /// 问题名称 /// public string QuestionName { get; set; } /// /// 是否是必须 /// public IsRequired IsRequired { get; set; } /// /// 排序 /// public int ShowOrder { get; set; } /// /// 父问题ID /// public Guid? ParentId { get; set; } /// /// 数据列 /// public string DataTableColumn { get; set; } = string.Empty; /// /// 类型值 /// public string TypeValue { get; set; } /// /// 是否启用 /// public bool IsEnable { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 是否是裁判问题 /// public bool IsJudgeQuestion { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 关联ID /// public Guid? RelevanceId { get; set; } /// /// 关联Value /// public string RelevanceValue { get; set; } = string.Empty; /// /// 分组 /// public string GroupName { get; set; } /// /// 图片数量 /// public int ImageCount { get; set; } = 1; /// /// 是否显示 /// public ShowQuestion ShowQuestion { get; set; } /// /// 最大问题数 /// public int? MaxQuestionCount { get; set; } /// /// 病灶类型 /// public LesionType? LesionType { get; set; } /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } /// /// 是否显示在Dicom阅片中 /// public bool IsShowInDicom { get; set; } /// /// 序号标记 /// public string OrderMark { get; set; } = string.Empty; /// /// 关联父问题 /// public Guid? DependParentId { get; set; } /// /// 是否关联 /// public IsDepend? IsDepend { get; set; } /// /// 表格问题类型 /// public TableQuestionType? TableQuestionType { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } public List RelationQuestions { get; set; } //public List TableQuestions { get; set; } public List Childrens { get; set; } [NotMapped] public List RelevanceValueList { get { try { return this.RelevanceValue.Split(',').ToList(); } catch (Exception) { return new List(); } } } [NotMapped] public List ParentTriggerValueList { get { try { return this.ParentTriggerValue.Split(',').ToList(); } catch (Exception) { return new List(); } } } [Comment("导出标识")] public ExportIdentification? ExportIdentification { get; set; } [Comment("导出结果")] public string ExportResultStr { get; set; } = "[]"; [Comment("分类算法")] public string ClassifyAlgorithms { get; set; } = string.Empty; [Comment("分类问题Id")] public Guid? ClassifyQuestionId { get; set; } [NotMapped] public List ExportResult { get { try { var result = JsonConvert.DeserializeObject>(this.ExportResultStr); return result == null ? new List() : result; } catch (Exception) { return new List(); } } } [Comment("复制病灶的时候 是否复制这个问题")] public bool IsCopy { get; set; } = false; [Comment("分类问题表格Id")] public Guid? ClassifyTableQuestionId { get; set; } } public class GetTrialReadingQuestionOutDto { /// /// 字典code /// public string DictionaryCode { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 项目标准Id /// public Guid ReadingQuestionCriterionTrialId { get; set; } /// /// 项目Id /// public Guid TrialId { get; set; } /// /// 类型 /// public string Type { get; set; } /// /// 父问题触发 /// public string ParentTriggerValue { get; set; } public string GroupName { get; set; } /// /// 问题名称 /// public string QuestionName { get; set; } /// /// 是否是必须 /// public IsRequired IsRequired { get; set; } /// /// 排序 /// public int ShowOrder { get; set; } public int? PageShowOrder { get; set; } /// /// 父问题ID /// public Guid? ParentId { get; set; } /// /// 类型值 /// public string TypeValue { get; set; } /// /// 答案 /// public string Answer { get; set; } /// /// 分页名称 /// public string? PageName { get; set; } public bool? IsPublicPage { get; set; } public bool IsPage { get; set; } = false; public string DefaultValue { get; set; } = string.Empty; /// /// 标准分页Id /// public Guid? ReadingCriterionPageId { get; set; } /// /// 关联ID /// public Guid? RelevanceId { get; set; } /// /// 关联Value /// public string RelevanceValue { get; set; } = string.Empty; /// /// 图片数量 /// public int ImageCount { get; set; } /// /// 是否显示 /// public ShowQuestion ShowQuestion { get; set; } /// /// 最大问题数 /// public int? MaxQuestionCount { get; set; } /// /// 病灶类型 /// public LesionType? LesionType { get; set; } /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } /// /// 是否显示在Dicom阅片中 /// public bool IsShowInDicom { get; set; } = false; //public List TableQuestions { get; set; } public List RelationQuestions { get; set; } public List Childrens { get; set; } public Guid Id { get; set; } public Guid? GroupId { get; set; } /// /// 数据列 /// public string DataTableColumn { get; set; } = string.Empty; /// /// 是否启用 /// public bool IsEnable { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 是否是裁判问题 /// public bool IsJudgeQuestion { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 序号标记 /// public string OrderMark { get; set; } = string.Empty; /// /// 关联父问题 /// public Guid? DependParentId { get; set; } /// /// 是否关联 /// public IsDepend? IsDepend { get; set; } /// /// 表格问题类型 /// public TableQuestionType? TableQuestionType { get; set; } /// /// 问题标识 /// public QuestionMark? QuestionMark { get; set; } /// /// 数值类型 /// public ValueOfType? ValueType { get; set; } /// /// 单位 /// public ValueUnit? Unit { get; set; } [Comment("复制病灶的时候 是否复制这个问题")] public bool IsCopy { get; set; } = false; [Comment("分类问题表格Id")] public Guid? ClassifyTableQuestionId { get; set; } [Comment("分类算法")] public string ClassifyAlgorithms { get; set; } = string.Empty; } ///// ///// 表格问题 ///// //public class GetTrialReadingTableQuestion //{ // public List<> class TrialReadingTableQuestion //} //public class TrialReadingTableQuestion //{ //} }