Uat_Study
he 2023-03-15 14:48:58 +08:00
parent 58294c2e62
commit 7a61b4fb9c
21 changed files with 441 additions and 160 deletions

View File

@ -1498,6 +1498,250 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.sODData">
<summary>
获取Sod的值
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
<summary>
删除病灶获取起始病灶序号RECIST1Point1 固定是1
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetReadingReportEvaluation(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingReportEvaluationInDto)">
<summary>
获取阅片报告
</summary>
<param name="indto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.TestCalculate(System.Guid,IRaCIS.Core.Domain.Share.QuestionType)">
<summary>
测试计算
</summary>
<param name="visitTaskId"></param>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.CalculateTask(IRaCIS.Core.Application.Service.Reading.Dto.CalculateTaskInDto)">
<summary>
计算任务
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetReportVerify(IRaCIS.Core.Application.Service.Reading.Dto.GetReportVerifyInDto)">
<summary>
获取报告验证的信息(这里每个标准可能不一样 返回用object)
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.ReadingCalculate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto,System.Collections.Generic.List{IRaCIS.Core.Domain.Share.QuestionType})">
<summary>
自动计算
</summary>
<param name="inDto"></param>
<param name="calculateType"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetReportTumor(System.Guid)">
<summary>
获取报告整体整体评估
</summary>
<param name="visitTaskId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetReportIsExistDisease(System.Guid)">
<summary>
获取报告是否存在疾病
</summary>
<param name="visitTaskId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.VerifyVisitTaskQuestions(IRaCIS.Core.Application.Service.Reading.Dto.VerifyVisitTaskQuestionsInDto)">
<summary>
验证访视提交
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
<summary>
将上一次的访视病灶添加到这一次
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetSODData(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取SOD
</summary>
<remarks>
靶病灶径线之和SOD
非淋巴结的长径 和淋巴结的短径
</remarks>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetSumOfDiameter(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
非淋巴结靶病灶长径之和
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetSODChange(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
与基线SOD相比变化量mm
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetSODPercent(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
与基线访视相比SOD变化百分比
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetLowestIncrease(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
与整个访视期间SOD最低点相比增加的值mm
</summary>
<param name="inDto"></param>
<remarks>
要更新之前的
</remarks>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetLowPercent(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
与整个访视期间SOD最低点相比增加的百分比
</summary>
<param name="inDto"></param>
<remarks>
要更新之前的
</remarks>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetLowVisit(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
整个访视期间SOD最低点访视名称
</summary>
<param name="inDto"></param>
<remarks>
要更新之前的
</remarks>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetIsLymphTarget(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
是否存在非淋巴结靶病灶
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetIsAddFive(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
是否存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetIsAddFiveRowIndexs(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上的病灶
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetNETarget(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
被评估为NE的单个靶病灶
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetTumor(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
整体肿瘤评估
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetIsExistDisease(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
是否存在疾病
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.ChangeAllLowestIncrease(IRaCIS.Core.Application.Service.Reading.Dto.ChangeAllTaskDto)">
<summary>
修改与整个访视期间SOD最低点相比增加的值mm
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.ChangeAllLowVisitName(IRaCIS.Core.Application.Service.Reading.Dto.ChangeAllTaskDto)">
<summary>
修改最低方式点名称
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.ChangeAllVisitTaskAnswer(System.Collections.Generic.List{System.Guid},System.Guid,System.String)">
<summary>
修改所有访视任务的答案
</summary>
<param name="visitTaskGuids"></param>
<param name="questionId"></param>
<param name="answer"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetBaseLineSOD(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取基线SOD
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetLowSODVisit(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取最低方式
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetVisitTaskAnswerList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取访视任务信息
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetLastVisitTaskId(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取上一个访视任务Id
</summary>
<returns></returns>
</member>
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取非靶病灶评估
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1_BMCalculateService.GetNewLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取新病灶评估
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.SelfDefineCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
<summary>
删除病灶获取起始病灶序号
@ -4107,26 +4351,6 @@
整体疗效
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto.TargetLesion">
<summary>
靶病灶
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto.NonTargetLesions">
<summary>
非靶病灶
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto.NewLesion">
<summary>
新病灶
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto.OverallEfficacy">
<summary>
整体疗效
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.SetCriterionDictionaryDto.IsBaseLineUse">
<summary>
IsBaseLineUse
@ -5892,32 +6116,12 @@
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.TA.ReadingQuestionService.GetTumorAssessmentList(IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto)">
<summary>
获取疗效对照
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.TA.ReadingQuestionService.GetTumorAssessmentPageList(IRaCIS.Core.Application.Service.Reading.Dto.GetTumorAssessmentListInDto)">
<summary>
获取疗效对照
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.TA.ReadingQuestionService.AddOrUpdateTumorAssessment(IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateTumorAssessmentInDto)">
<summary>
新增修改疗效对照
</summary>
<param name="indto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.TA.ReadingQuestionService.DeleteTumorAssessment(System.Guid)">
<summary>
删除疗效对照
</summary>
<param name="Id"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.ShortcutKeyService">
<summary>
快捷键服务

View File

@ -726,7 +726,7 @@ namespace IRaCIS.Core.Application.Service.Common
var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync();
if (criterion.CriterionType != CriterionType.RECIST1Pointt1)
if (criterion.CriterionType != CriterionType.RECIST1Point1)
{
throw new Exception("当前标准导出还未支持");
}
@ -807,7 +807,7 @@ namespace IRaCIS.Core.Application.Service.Common
{
var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync();
if (criterion.CriterionType != CriterionType.RECIST1Pointt1)
if (criterion.CriterionType != CriterionType.RECIST1Point1)
{
throw new Exception("当前标准导出还未支持");
}
@ -927,7 +927,7 @@ namespace IRaCIS.Core.Application.Service.Common
var list = new List<ExportDocumentDes>();
var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == trialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync();
if (criterion.CriterionType == CriterionType.RECIST1Pointt1)
if (criterion.CriterionType == CriterionType.RECIST1Point1)
{
list.Add(new ExportDocumentDes() { Code = StaticData.Export.OverallTumorEvaluation_Export, ExportCatogory = ExportCatogory.OverallTumorEvaluation });
list.Add(new ExportDocumentDes() { Code = StaticData.Export.RECIST1Point1EvaluationOfTumorEfficacy_Export, ExportCatogory = ExportCatogory.EvaluationOfTumorEfficacy });
@ -974,7 +974,7 @@ namespace IRaCIS.Core.Application.Service.Common
//每次查询必须是单标准的
var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstNotNullAsync();
if (criterion.CriterionType != CriterionType.RECIST1Pointt1 && criterion.CriterionType != CriterionType.PCWG3)
if (criterion.CriterionType != CriterionType.RECIST1Point1 && criterion.CriterionType != CriterionType.PCWG3)
{
throw new Exception("当前标准导出还未支持");
}
@ -1055,7 +1055,7 @@ namespace IRaCIS.Core.Application.Service.Common
var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
exportInfo.CriterionName = criterion.CriterionName;
if (criterion.CriterionType == CriterionType.RECIST1Pointt1)
if (criterion.CriterionType == CriterionType.RECIST1Point1)
{
var list = await query.ProjectTo<RECIST1Point1EvaluationOfTumorEfficacyExport>(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType }).ToListAsync();
@ -1115,7 +1115,7 @@ namespace IRaCIS.Core.Application.Service.Common
var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
exportInfo.CriterionName = criterion.CriterionName;
if (criterion.CriterionType == CriterionType.RECIST1Pointt1)
if (criterion.CriterionType == CriterionType.RECIST1Point1)
{
var list = await query.ProjectTo<RECIST1Point1DetailedOfEvaluatedLesionExport>(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType, isEn_Us = _userInfo.IsEn_Us }).ToListAsync();

View File

@ -1165,7 +1165,7 @@ namespace IRaCIS.Core.Application.Service
{
case CriterionType.RECIST1Pointt1:
case CriterionType.RECIST1Point1:
if (readingCategory == ReadingCategory.Visit)
{

View File

@ -837,8 +837,8 @@ namespace IRaCIS.Core.Application.Contracts
public string UserName { get; set; }
[DictionaryTranslateAttribute("ExistDisease", CriterionType.RECIST1Pointt1, nameof(OverallTumorEvaluationExport.IsBaseline), "true")]
[DictionaryTranslateAttribute("OverallAssessment", CriterionType.RECIST1Pointt1, nameof(OverallTumorEvaluationExport.IsBaseline), "false")]
[DictionaryTranslateAttribute("ExistDisease", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "true")]
[DictionaryTranslateAttribute("OverallAssessment", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "false")]
[DictionaryTranslateAttribute("VisitTumorEvaluation", CriterionType.PCWG3)]
//整体肿瘤评估结果 需要翻译
@ -857,16 +857,16 @@ namespace IRaCIS.Core.Application.Contracts
public class RECIST1Point1EvaluationOfTumorEfficacyExport : OverallTumorEvaluationExport
{
[DictionaryTranslateAttribute("TargetAssessment", CriterionType.RECIST1Pointt1)]
[DictionaryTranslateAttribute("TargetAssessment", CriterionType.RECIST1Point1)]
// 靶病灶评估
public string TargetlesionEvaluationResult { get; set; }
[DictionaryTranslateAttribute("NoTargetAssessment", CriterionType.RECIST1Pointt1)]
[DictionaryTranslateAttribute("NoTargetAssessment", CriterionType.RECIST1Point1)]
// 非靶病灶评估
public string NoneTargetlesionEvaluationResult { get; set; }
// 是否存在新病灶
[DictionaryTranslateAttribute("NewLesionAssessment", CriterionType.RECIST1Pointt1)]
[DictionaryTranslateAttribute("NewLesionAssessment", CriterionType.RECIST1Point1)]
public string IsExistNewlesionEvaluationResult { get; set; }

View File

@ -173,7 +173,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.IsBaseline, t => t.MapFrom(u => u.SourceSubjectVisit.IsBaseLine))
.ForMember(o => o.OverallTumorEvaluationResult, t => t.MapFrom(u =>
criterionType == CriterionType.RECIST1Pointt1 ?( u.SourceSubjectVisit.IsBaseLine==true ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.ExistDisease).FirstOrDefault().Answer:
criterionType == CriterionType.RECIST1Point1 ?( u.SourceSubjectVisit.IsBaseLine==true ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.ExistDisease).FirstOrDefault().Answer:
u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstOrDefault().Answer)
: criterionType == CriterionType.PCWG3 ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstOrDefault().Answer : String.Empty
))

View File

@ -47,29 +47,41 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
public class ColumnInfo
{
public string ColumnName { get; set; }
public string ColumnKey { get; set; }
public string DictionaryKey { get; set; }
}
public class GetTumorAssessmentListInDto:PageInput
{
public Guid CriterionId { get; set; }
//public Guid CriterionId { get; set; }
/// <summary>
/// 靶病灶
/// </summary>
public TargetAssessment? TargetLesion { get; set; }
public CriterionType CriterionType { get; set; }
/// <summary>
/// 靶病灶
/// </summary>
public NoTargetAssessment? NonTargetLesions { get; set; }
///// <summary>
///// 靶病灶
///// </summary>
//public TargetAssessment? TargetLesion { get; set; }
/// <summary>
///病灶
/// </summary>
public NewLesionAssessment? NewLesion { get; set; }
///// <summary>
///// 非靶病灶
///// </summary>
//public NoTargetAssessment? NonTargetLesions { get; set; }
/// <summary>
/// 整体疗效
/// </summary>
public OverallAssessment? OverallEfficacy { get; set; }
///// <summary>
///// 新病灶
///// </summary>
//public NewLesionAssessment? NewLesion { get; set; }
///// <summary>
///// 整体疗效
///// </summary>
//public OverallAssessment? OverallEfficacy { get; set; }
}
public class CopySystemCriterionDataInDto
{

View File

@ -30,7 +30,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingCriterionPage> _readingCriterionPageRepository;
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<ReadingTableQuestionSystem> _readingTableQuestionSystemRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
@ -50,7 +50,7 @@ namespace IRaCIS.Application.Services
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
IRepository<Trial> trialRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<ReadingTableQuestionSystem> readingTableQuestionSystemRepository,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswer,

View File

@ -15,77 +15,102 @@ namespace IRaCIS.Core.Application.Service.TA
[ApiExplorerSettings(GroupName = "Reading")]
public class ReadingQuestionService : BaseService
{
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
public ReadingQuestionService( IRepository<TumorAssessment> tumorAssessmentRepository )
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository1Point1;
private readonly IRepository<TumorAssessment_RECIST1Point1BM> _tumorAssessmentRepository1Point1BM;
public ReadingQuestionService( IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository1Point1,
IRepository<TumorAssessment_RECIST1Point1BM> tumorAssessmentRepository1Point1BM
)
{
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._tumorAssessmentRepository1Point1 = tumorAssessmentRepository1Point1;
this._tumorAssessmentRepository1Point1BM = tumorAssessmentRepository1Point1BM;
}
///// <summary>
///// 获取疗效对照
///// </summary>
///// <returns></returns>
//[HttpPost]
//public async Task<List<TumorAssessmentView>> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto)
//{
// var result = await _tumorAssessmentRepository
// .Where(x => x.CriterionId == inDto.CriterionId)
// .WhereIf(inDto.OverallEfficacy != null, x => x.OverallEfficacy == inDto.OverallEfficacy)
// .WhereIf(inDto.TargetLesion != null, x => x.TargetLesion == inDto.TargetLesion)
// .WhereIf(inDto.NonTargetLesions != null, x => x.NonTargetLesions == inDto.NonTargetLesions)
// .WhereIf(inDto.NewLesion != null, x => x.NewLesion == inDto.NewLesion)
// .ProjectTo<TumorAssessmentView>(_mapper.ConfigurationProvider).ToListAsync();
// return result;
//}
/// <summary>
/// 获取疗效对照
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<List<TumorAssessmentView>> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto)
public async Task<(object,List<ColumnInfo>)> GetTumorAssessmentPageList(GetTumorAssessmentListInDto inQuery)
{
var result = await _tumorAssessmentRepository
.Where(x => x.CriterionId == inDto.CriterionId)
.WhereIf(inDto.OverallEfficacy != null, x => x.OverallEfficacy == inDto.OverallEfficacy)
.WhereIf(inDto.TargetLesion != null, x => x.TargetLesion == inDto.TargetLesion)
.WhereIf(inDto.NonTargetLesions != null, x => x.NonTargetLesions == inDto.NonTargetLesions)
.WhereIf(inDto.NewLesion != null, x => x.NewLesion == inDto.NewLesion)
.ProjectTo<TumorAssessmentView>(_mapper.ConfigurationProvider).ToListAsync();
return result;
}
var result = new object();
List<ColumnInfo> columnList = new List<ColumnInfo>();
switch (inQuery.CriterionType)
{
case CriterionType.RECIST1Point1:
result= await _tumorAssessmentRepository1Point1.AsQueryable().ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc);
columnList = new List<ColumnInfo>()
{
new ColumnInfo(){ ColumnName="靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.TargetLesion),DictionaryKey=typeof(TargetAssessment).Name },
new ColumnInfo(){ ColumnName="非靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NonTargetLesions),DictionaryKey=typeof(NoTargetAssessment).Name },
new ColumnInfo(){ ColumnName="新病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NewLesion),DictionaryKey=typeof(NewLesionAssessment).Name },
new ColumnInfo(){ ColumnName="整体疗效",ColumnKey=nameof(TumorAssessment_RECIST1Point1.OverallEfficacy),DictionaryKey=typeof(OverallAssessment).Name },
};
break;
case CriterionType.RECIST1Pointt1_MB:
result = await _tumorAssessmentRepository1Point1BM.AsQueryable().ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc);
columnList = new List<ColumnInfo>()
{
new ColumnInfo(){ ColumnName="靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.TargetLesion),DictionaryKey=typeof(TargetAssessment).Name },
new ColumnInfo(){ ColumnName="非靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NonTargetLesions),DictionaryKey=typeof(NoTargetAssessment).Name },
new ColumnInfo(){ ColumnName="新病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NewLesion),DictionaryKey=typeof(NewLesionAssessment).Name },
new ColumnInfo(){ ColumnName="整体疗效",ColumnKey=nameof(TumorAssessment_RECIST1Point1.OverallEfficacy),DictionaryKey=typeof(OverallAssessment).Name },
};
/// <summary>
/// 获取疗效对照
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<TumorAssessmentView>> GetTumorAssessmentPageList(GetTumorAssessmentListInDto inQuery)
{
var query = _tumorAssessmentRepository
.Where(x => x.CriterionId == inQuery.CriterionId)
.WhereIf(inQuery.OverallEfficacy != null, x => x.OverallEfficacy == inQuery.OverallEfficacy)
.WhereIf(inQuery.TargetLesion != null, x => x.TargetLesion == inQuery.TargetLesion)
.WhereIf(inQuery.NonTargetLesions != null, x => x.NonTargetLesions == inQuery.NonTargetLesions)
.WhereIf(inQuery.NewLesion != null, x => x.NewLesion == inQuery.NewLesion)
.ProjectTo<TumorAssessmentView>(_mapper.ConfigurationProvider);
break;
}
return (result, columnList);
return await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc);
}
/// <summary>
/// 新增修改疗效对照
/// </summary>
/// <param name="indto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateTumorAssessment(AddOrUpdateTumorAssessmentInDto indto)
{
///// <summary>
///// 新增修改疗效对照
///// </summary>
///// <param name="indto"></param>
///// <returns></returns>
//[HttpPost]
//public async Task<IResponseOutput> AddOrUpdateTumorAssessment(AddOrUpdateTumorAssessmentInDto indto)
//{
var entity = await _tumorAssessmentRepository.InsertOrUpdateAsync(indto, true);
// var entity = await _tumorAssessmentRepository.InsertOrUpdateAsync(indto, true);
return ResponseOutput.Ok(entity.Id.ToString());
// return ResponseOutput.Ok(entity.Id.ToString());
}
//}
/// <summary>
/// 删除疗效对照
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpDelete("{Id:guid}")]
public async Task<IResponseOutput> DeleteTumorAssessment(Guid Id)
{
await _tumorAssessmentRepository.DeleteFromQueryAsync(t => t.Id == Id);
var success = await _tumorAssessmentRepository.SaveChangesAsync();
return ResponseOutput.Result(success);
}
///// <summary>
///// 删除疗效对照
///// </summary>
///// <param name="Id"></param>
///// <returns></returns>
//[HttpDelete("{Id:guid}")]
//public async Task<IResponseOutput> DeleteTumorAssessment(Guid Id)
//{
// await _tumorAssessmentRepository.DeleteFromQueryAsync(t => t.Id == Id);
// var success = await _tumorAssessmentRepository.SaveChangesAsync();
// return ResponseOutput.Result(success);
//}
}
}

View File

@ -43,7 +43,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingTableQuestionSystem> _readingTableQuestionSystemRepository;
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
@ -80,7 +80,7 @@ namespace IRaCIS.Application.Services
IRepository<OrganInfo> organInfoRepository,
IMemoryCache cache,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingTableQuestionSystem> readingTableQuestionSystemRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
@ -1381,7 +1381,7 @@ namespace IRaCIS.Application.Services
// 2 对于淋巴结病灶,验证当前访视该病灶的短径 > 上一访视该病灶的短径。
// 约束条件:两次访视该病灶的短径有测量值。
// 提示语:当前访视该淋巴结病灶的短径小于上一访视的值,不能设置为显著增大。
case CriterionType.RECIST1Pointt1:
case CriterionType.RECIST1Point1:
var lastTaskinfo = await _visitTaskRepository
.Where(x => x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
x.SubjectId==taskinfo.SubjectId&&
@ -1551,7 +1551,7 @@ namespace IRaCIS.Application.Services
{
Dictionary<CriterionType, string> errorMsgDic = new Dictionary<CriterionType, string>()
{
{CriterionType.RECIST1Pointt1, _localizer["ReadingImage_Maxlesion", item.MaxRowCount.Value]},
{CriterionType.RECIST1Point1, _localizer["ReadingImage_Maxlesion", item.MaxRowCount.Value]},
{CriterionType.PCWG3, _localizer["ReadingImage_PCWGMaximum", item.MaxRowCount.Value]},
};

View File

@ -20,7 +20,7 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadingPeriodSetAddOrEdit, ReadingPeriodSet>();
CreateMap<AddOrUpdateTumorAssessmentInDto, TumorAssessment>();
CreateMap<AddOrUpdateTumorAssessmentInDto, TumorAssessment_RECIST1Point1>();
CreateMap<ReadingPeriodSet, ReadingPeriodSetView>()
.ForMember(d => d.SubjectVisitName, u => u.MapFrom(s => s.VisitStage==null?string.Empty: s.VisitStage.VisitName))
@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadModuleAddOrEdit, ReadModule>();
CreateMap<TumorAssessment, TumorAssessmentView>();
CreateMap<TumorAssessment_RECIST1Point1, TumorAssessmentView>();
CreateMap<CopyTableAnswerRowInfo, ReadingTableAnswerRowInfo>();

View File

@ -19,7 +19,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
public GeneralCalculateService(
@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
)
{

View File

@ -27,7 +27,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<DicomStudy> _dicomStudyRepository;
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
@ -42,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<OrganInfo> organInfoRepository,
IRepository<DicomStudy> dicomStudyRepository,
IRepository<NoneDicomStudy> noneDicomStudyRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
)

View File

@ -26,7 +26,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
)

View File

@ -26,11 +26,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
public RECIST1Point1CalculateService(
public RECIST1Point1_BMCalculateService(
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
)

View File

@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
Dictionary<CriterionType, Type> CalculateServiceDic = new Dictionary<CriterionType, Type>()
{
{CriterionType.RECIST1Pointt1,typeof(RECIST1Point1CalculateService) }, //RECIST1.1
{CriterionType.RECIST1Point1,typeof(RECIST1Point1CalculateService) }, //RECIST1.1
{CriterionType.PCWG3,typeof(PCWG3CalculateService) },
{CriterionType.SelfDefine,typeof(SelfDefineCalculateService) }
};

View File

@ -27,7 +27,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<DicomStudy> _dicomStudyRepository;
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
@ -42,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<OrganInfo> organInfoRepository,
IRepository<DicomStudy> dicomStudyRepository,
IRepository<NoneDicomStudy> noneDicomStudyRepository,
IRepository<TumorAssessment> tumorAssessmentRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
)

View File

@ -224,7 +224,7 @@ namespace IRaCIS.Core.Domain.Share
/// <summary>
/// RECIST 1.1
/// </summary>
RECIST1Pointt1 = 1,
RECIST1Point1 = 1,
/// <summary>
/// PCWG3
@ -299,7 +299,12 @@ namespace IRaCIS.Core.Domain.Share
/// <summary>
/// IMWG 2016
/// </summary>
IMWG2016 = 9
IMWG2016 = 9,
/// <summary>
/// RECIST 1.1-BM
/// </summary>
RECIST1Pointt1_MB = 17
}

View File

@ -9,11 +9,11 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment")]
public class TumorAssessment : Entity
///<summary>
///RECIST1Point1肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1")]
public class TumorAssessment_RECIST1Point1 : Entity
{
/// <summary>
@ -35,12 +35,6 @@ namespace IRaCIS.Core.Domain.Models
/// 整体疗效
/// </summary>
public OverallAssessment OverallEfficacy { get; set; }
/// <summary>
/// 标准ID(系统标准Id)
/// </summary>
public Guid CriterionId { get; set; }
}
}

View File

@ -0,0 +1,40 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-08-22 10:06:13
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///RECIST1Point1BM肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1BM")]
public class TumorAssessment_RECIST1Point1BM : Entity
{
/// <summary>
/// 靶病灶
/// </summary>
public TargetAssessment TargetLesion { get; set; }
/// <summary>
/// 非靶病灶
/// </summary>
public NoTargetAssessment NonTargetLesions { get; set; }
/// <summary>
/// 新病灶
/// </summary>
public NewLesionAssessment NewLesion { get; set; }
/// <summary>
/// 整体疗效
/// </summary>
public OverallAssessment OverallEfficacy { get; set; }
}
}

View File

@ -599,18 +599,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//疗效评估
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TumorAssessment)))
foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TumorAssessment_RECIST1Point1)))
{
var type = GetEntityAuditOpt(item);
var entity = item.Entity as TumorAssessment;
var entity = item.Entity as TumorAssessment_RECIST1Point1;
await InsertInspection<TumorAssessment>(entity, type, x => new InspectionConvertDTO()
await InsertInspection<TumorAssessment_RECIST1Point1>(entity, type, x => new InspectionConvertDTO()
{
IsDistinctionInterface = false,
ObjectRelationParentId = entity.CriterionId
//ObjectRelationParentId = entity.CriterionId
});
}

View File

@ -262,7 +262,8 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<ReadingTableQuestionTrial> ReadingTableQuestionTrial { get; set; }
public virtual DbSet<TumorAssessment> TumorAssessment { get; set; }
public virtual DbSet<TumorAssessment_RECIST1Point1BM> TumorAssessment_RECIST1Point1BM { get; set; }
public virtual DbSet<TumorAssessment_RECIST1Point1> TumorAssessment_RECIST1Point1 { get; set; }
public virtual DbSet<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriterion { get; set; }