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

225 lines
5.9 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 System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public class CalculateTaskInDto
{
public Guid VisitTaskId { get; set; }
public bool IsChangeOtherTask { get; set; }
}
public class TargetLesionCalculateDto
{
/// <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相比增加
/// </summary>
public bool LowPercentLess20 { get; set; }
/// <summary>
/// SOD 百分比 比整体访视期间最低点SOD增加≥20%
/// </summary>
public bool LowPercentBigger20 { get; set; }
/// <summary>
/// SOD 变化值 比整体访视期间最低点SOD绝对增加值5 mm
/// </summary>
public bool LowChangeLess5 { get; set; }
/// <summary>
/// 比整体访视期间最低点SOD绝对增加值≥5 mm
/// </summary>
public bool LowChangeBigger5 { 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>
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
/// </summary>
public bool IsAddFive { get; set; }
}
/// <summary>
/// 阅片计算Dto
/// </summary>
public class ReadingCalculateDto
{
public Guid SubjectId { get; set; }
public bool IsBaseLine { get; set; }
public string VisitName { 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; }
/// <summary>
/// 是否修改其他任务
/// </summary>
public bool IsChangeOtherTask { get; set; } = false;
/// <summary>
/// 是否只改其他任务
/// </summary>
public bool IsOnlyChangeAllTask { get; set; } = false;
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; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
public QuestionType? QuestionType { get; set; }
public List<TableRowInfo> TableRowInfoList = new List<TableRowInfo>();
}
public class TableRowInfo
{
public decimal RowIndex { get; set; }
public List<TableQuestionInfo> TableQuestionList { get; set; } = new List<TableQuestionInfo>();
}
public class TableQuestionInfo
{
/// <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 class VisitTaskAnswerInfo
{
public Guid VisitTaskId { get; set; }
public Guid QuestionId { get; set; }
public string VisitName { get; set; }
public decimal SOD { get; set; }
}
public class ChangeAllTaskDto
{
public ReadingCalculateDto calculateDto { get; set; }
public Guid QuestionId { get; set; }
}
public class ReadingCalculateData
{
public QuestionType QuestionType { get; set; }
public Func<ReadingCalculateDto, Task<decimal>> GetDecimalFun { 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; }
}
}