irc-netcore-api/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs

511 lines
13 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-08-22 09:36:37
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share;
using System.Data;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public class GetIsSuvMaxLesionInDto
{
public Guid VisitTaskId { get; set; }
public Guid RowId { get; set; }
}
public class GetIsSuvMaxLesionOutDto
{
public bool IsSuvMaxLesion { get; set; }
}
public class GetCanChooseNotMergeInDto
{
public Guid VisitTaskId { get; set; }
}
public class GetCanChooseNotMergeOutDto
{
public bool IsCanChooseNotMerge { get; set; }
}
public class GetPPDInfoInDto
{
public Guid VisitTaskId { get; set; }
public Guid QuestionId { get; set; }
public decimal RowIndex { get; set; }
}
public class GetPPDInfoOutDto
{
/// <summary>
/// 最低的PPD
/// </summary>
public decimal? NadirPPD { get; set; }
/// <summary>
/// 最低PPD的访视
/// </summary>
public string? LowPPDVisit { get; set; }
/// <summary>
/// 该病灶PPD值最小的访视的长径
/// </summary>
public decimal? LowPPDLDi { get; set; }
/// <summary>
/// 该病灶PPD值最小的访视的短径
/// </summary>
public decimal? LowPPDSDi { get; set; }
}
public class CalculateTaskInDto
{
public Guid VisitTaskId { get; set; }
public bool IsChangeOtherTask { get; set; }
public ComputationTrigger ComputationTrigger { get; set; }
}
public class TargetLesionCalculateDto
{
/// <summary>
/// 最低SOD
/// </summary>
public decimal LowSod { get; set; }
/// <summary>
/// 当前SOD
/// </summary>
public decimal PresentSod { get; set; }
/// <summary>
/// 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
/// </summary>
public bool ExistsTargetLesion { get; set; }
/// <summary>
/// 非淋巴结靶病灶长径之和 decimal
/// </summary>
public decimal SumOfDiameter { get; set; }
/// <summary>
/// SOD变化百分比
/// </summary>
public decimal SODPercent { get; set; }
/// <summary>
/// 所有淋巴结靶病灶的短径小于10mm
/// </summary>
public bool DiameterLessThan10 { get; set; }
/// <summary>
/// SOD 百分比与基线期SOD相比减小≥30%
/// </summary>
public bool SODPercentBigger30 { get; set; }
/// <summary>
/// SOD 百分比 与基线期SOD相比减小30%
/// </summary>
public bool SODPercentLess30 { get; set; }
/// <summary>
/// SOD 百分比 整体访视期间SOD最低点SOD相比增加20%
/// </summary>
public bool LowSODPercentLess20 { get; set; }
/// <summary>
/// SOD 百分比 比整体访视期间最低点SOD增加≥20%
/// </summary>
public bool LowSODPercentBigger20 { get; set; }
/// <summary>
/// SOD 变化值 比整体访视期间最低点SOD绝对增加值5 mm
/// </summary>
public bool LowSODChangeLess5 { get; set; }
/// <summary>
/// 比整体访视期间最低点SOD绝对增加值≥5 mm
/// </summary>
public bool LowSODChangeBigger5 { get; set; }
/// <summary>
/// 被评估为NE的单个靶病灶 是否存在状态为不可评估的靶病灶
/// </summary>
public bool ExixtsNETargetLesion { get; set; }
/// <summary>
/// 上次访视点整体肿瘤评估
/// </summary>
public string LastTargetLesionEvaluate { get; set; }
/// <summary>
/// 当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0
/// </summary>
public bool CurrentMajoreBigger0 { get; set; }
/// <summary>
/// 至少一个淋巴结靶病灶短径≥10 mm
/// </summary>
public bool CurrenShortBigger10 { get; set; }
/// <summary>
/// 淋巴结非靶病灶状态全部为消失
/// </summary>
public bool NonTargetStateIsLoss { get; set; }
/// <summary>
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
/// </summary>
public bool IsAddFive { get; set; }
/// <summary>
/// 靶病灶短径增加值有5mm的Index
/// </summary>
public List<decimal> AddFiveIndexs { get; set; }
/// <summary>
/// 短径有10mm的Index
/// </summary>
public List<decimal> ShortBigger10Indexs { get; set; }
}
public class CalculationDto
{
public List<string> Column1 { get; set; } = new List<string>();
public List<string> Column2 { get; set; } = new List<string>();
public List<string> Column3 { get; set; } = new List<string>();
public List<string> Column4 { get; set; } = new List<string>();
public List<string> Column5 { get; set; } = new List<string>();
public List<string> Column6 { get; set; } = new List<string>();
public List<string> Column7 { get; set; } = new List<string>();
/// <summary>
/// 不等于
/// </summary>
public List<int> NotEq { get; set; } = new List<int>();
}
public class GetExportTemplateInDto
{
public Guid VisitTaskId { get; set; }
}
/// <summary>
/// IVUS测量值导入
/// </summary>
public class IVUSMeasuredValue
{
/// <summary>
/// 斑块编号
/// </summary>
public int PlaqueNum { get; set; }
/// <summary>
/// 外弹力膜面积Emm
/// </summary>
public decimal Emm { get; set; }
/// <summary>
/// 管腔面积Lumen
/// </summary>
public decimal Lumen { get; set; }
/// <summary>
/// 外弹力膜面积- 管腔面积
/// </summary>
public decimal EmmSubtractionLumen
{
get
{
return this.Emm - this.Lumen;
}
}
}
public class TemplateData
{
public string TaskBlindName { get; set; }
public string SubjectID { get; set; }
}
public class OCTFCTUploadData
{
/// <summary>
/// 斑块编号
/// </summary>
public int PlaqueNum { get; set; }
/// <summary>
/// 第一次
/// </summary>
public int FirstData { get; set; }
/// <summary>
/// 第二次
/// </summary>
public int SecondData { get; set; }
/// <summary>
/// 第三次
/// </summary>
public int ThirdData { get; set; }
public decimal Avg { get {
return ( FirstData*1m + SecondData * 1m + ThirdData * 1m) / 3;
} }
}
public class OCTInfo
{
/// <summary>
/// 斑块编号
/// </summary>
public int PlaqueNum { get; set; }
/// <summary>
/// 值
/// </summary>
public decimal Data { get; set; }
}
public class FileToDataTableDto
{
public DataTable DataTable { get; set; }
public List<string> SheetNames { get; set; }
}
public class TestOncologyDto
{
public Guid Id { get; set; }
public string TargetLesion { get; set; }
public string NonTargetLesions { get; set; }
public string NewLesion { get; set; }
public string OverallEfficacy { get; set; }
}
/// <summary>
/// 阅片计算Dto
/// </summary>
public class ReadingCalculateDto
{
public Guid SubjectId { get; set; }
public string TaskBlindName { get; set; } = string.Empty;
public bool IsConvertedTask { get; set; }
public Guid? BeforeConvertedTaskId { get; set; }
public bool IsAnalysisCreate { get; set; }
public bool? IsSelfAnalysis { get; set; }
public bool IsBaseLine { get; set; }
/// <summary>
/// TrialReadingCriterionId
/// </summary>
public Guid TrialReadingCriterionId { get; set; }
public string VisitName { get; set; }
public string BlindName { get; set; }
public decimal VisitTaskNum { get; set; }
public Guid VisitTaskId { get; set; }
public Guid BaseLineTaskId { get; set; }
public Guid CriterionId { get; set; }
public Guid TrialId { get; set; }
public Guid? DoctorUserId { get; set; }
public Guid SubjectVisitId { get; set; }
public Arm ArmEnum { get; set; }
public ComputationTrigger ComputationTrigger { get; set; }
/// <summary>
/// 是否修改其他任务
/// </summary>
public bool IsChangeOtherTask { get; set; } = false;
/// <summary>
/// 是否只改其他任务
/// </summary>
public bool IsOnlyChangeAllTask { get; set; } = false;
/// <summary>
/// 修约小数点
/// </summary>
public int DigitPlaces { get; set; } = 2;
public List<QuestionInfo> QuestionInfo { get; set; } = new List<QuestionInfo>();
}
public class QuestionInfo
{
public Guid QuestionId { get; set; }
/// <summary>
/// 答案
/// </summary>
public string Answer { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuesionName { get; set; }
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
/// <summary>
/// 序号标记
/// </summary>
public string OrderMark { get; set; } = string.Empty;
public QuestionType? QuestionType { get; set; }
public List<TableRowInfo> TableRowInfoList = new List<TableRowInfo>();
}
public class TableRowInfo
{
public Guid RowId { get; set; }
public decimal RowIndex { get; set; }
public decimal FristAddTaskNum { get; set; }
public string? OtherMeasureData { get; set; }
public string? MeasureData { get; set; }
public List<TableQuestionInfo> TableQuestionList { get; set; } = new List<TableQuestionInfo>();
}
public class TableQuestionInfo
{
public Guid RowId { get; set; }
public Guid AnswerId { get; set; }
/// <summary>
/// 答案
/// </summary>
public string Answer { get; set; }
/// <summary>
/// 问题Id
/// </summary>
public Guid TableQuestionId { get; set; }
public Guid QuestionId { get; set; }
public decimal RowIndex { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
public QuestionType? QuestionType { get; set; }
}
public class VisitTaskAnswerInfo
{
public Guid VisitTaskId { get; set; }
public Guid QuestionId { get; set; }
public string VisitName { get; set; }
public string BlindName { get; set; }
public decimal SOD { get; set; }
public decimal SpleenLength { get; set; }
public decimal VisitTaskNum { get; set; }
public decimal NewLesionsCount { get; set; }
}
public class ChangeAllTaskDto
{
public ReadingCalculateDto calculateDto { get; set; }
public bool IsAnalysisCreate { get; set; }
public Guid QuestionId { get; set; }
}
public class ReadingCalculateData
{
public QuestionType QuestionType { get; set; }
public List<ComputationTrigger> ComputationTriggerList { get; set; } = new List<ComputationTrigger>();
public Func<ReadingCalculateDto, Task<decimal>> GetDecimalFun { get; set; }
public Func<ReadingCalculateDto, Task<int>> GetIntFun { get; set; }
public Func<ReadingCalculateDto, Task<decimal?>> GetDecimalNullFun { get; set; }
public Func<ReadingCalculateDto, Task<string>> GetStringFun { get; set; }
public Func<ChangeAllTaskDto, Task> ChangeAllTaskFun { get; set; }
public bool? IsConvertedTask { get; set; }
/// <summary>
/// 是否是正在转化
/// </summary>
public bool IsBeTransforming { get; set; } = false;
}
}