diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 901b3793f..b9efc7f35 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -9271,7 +9271,7 @@
- 因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
+ 维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 47ae89828..01a5f77e1 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -90,11 +90,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
return await _visitTaskRepository.SaveChangesAsync();
}
- public async Task> GetTrialCriterionList(Guid trialId, bool isHaveSigned = true)
+ public async Task> GetTrialCriterionList(Guid trialId, bool isHaveSigned = true,bool? isAutoCreate = null)
{
var list = await _repository.Where(t => t.TrialId == trialId && t.IsConfirm)
+
.OrderBy(t => t.ShowOrder)
- .Select(t => new TrialReadingCriterionDto() { TrialReadingCriterionId = t.Id, TrialReadingCriterionName = t.CriterionName, CriterionType = t.CriterionType, ReadingType = t.ReadingType, ReadingInfoSignTime = t.ReadingInfoSignTime })
+ .Select(t => new TrialReadingCriterionDto() { TrialReadingCriterionId = t.Id, IsAutoCreate=t.IsAutoCreate,IsAdditionalAssessment=t.IsAdditionalAssessment, TrialReadingCriterionName = t.CriterionName, CriterionType = t.CriterionType, ReadingType = t.ReadingType, ReadingInfoSignTime = t.ReadingInfoSignTime })
.ToListAsync();
if (list.Count == 0)
@@ -106,7 +107,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
- return list.AsQueryable().WhereIf(isHaveSigned == true, t => t.ReadingInfoSignTime != null).ToList();
+ return list.AsQueryable().WhereIf(isHaveSigned == true, t => t.ReadingInfoSignTime != null)
+ .WhereIf(isAutoCreate == false, t => t.IsAutoCreate == isAutoCreate).ToList();
}
diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
index cc35e0c0b..a58d864f8 100644
--- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
+++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
@@ -412,6 +412,8 @@ namespace IRaCIS.Core.Application.Service.Common
+
+
///
/// 阅片期信息表
///
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs
index 8f6792956..656f271fe 100644
--- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs
@@ -32,16 +32,17 @@ namespace IRaCIS.Core.Application.ViewModel
public string TrialSiteCode { get; set; }
public SubjectStatus SubjectStatus { get; set; }
- public List EvaluationList { get; set; }
+ public List FinalEvaluationList { get; set; }=new List();
+
+
+ public List ReadingEvaluationList { get; set; }
}
public class EvaluationInfo
{
- public string QuestioName { get; set; }
-
- public string QuestioNameEn { get; set; }
+ public Guid? QuestionId { get; set; }
public string Answer { get; set; }
public string FinalTranslateDictionaryCode { get; set; } = string.Empty;
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs
index 49ec90376..ba0c13edc 100644
--- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs
@@ -11,15 +11,22 @@ using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel
{
/// SubjectCriteriaEvaluationVisitFilterView 列表视图模型
- public class SubjectCriteriaEvaluationVisitFilterView: SubjectCriteriaEvaluationVisitFilterAddOrEdit
+ public class SubjectCriteriaEvaluationVisitFilterView
{
public DateTime? CreateTime { get; set; }
public Guid? CreateUserId { get; set; }
public Guid? UpdateUserId { get; set; }
public DateTime? UpdateTime { get; set; }
- public new ImageFilterState? ImageFilterState { get; set; }
- public new ImageDeterminationResultState? ImageDeterminationResultState { get; set; }
+ public Guid? Id { get; set; }
+ public Guid SubjectId { get; set; }
+ public Guid TrialReadingCriterionId { get; set; }
+ public Guid SubjectVisitId { get; set; }
+
+ public ImageFilterState? ImageFilterState { get; set; }
+ public ImageDeterminationResultState? ImageDeterminationResultState { get; set; }
+
+
public bool? IsGeneratedTask { get; set; }
@@ -29,7 +36,7 @@ namespace IRaCIS.Core.Application.ViewModel
}
///SubjectCriteriaEvaluationVisitFilterQuery 列表查询参数模型
- public class SubjectCriteriaEvaluationVisitFilterQuery : PageInput
+ public class SubjectCriteriaEvaluationVisitFilterQuery
{
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs
index 119a85055..821834fd6 100644
--- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs
@@ -14,7 +14,7 @@ namespace IRaCIS.Core.Application.Interfaces
{
- Task> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery);
+ //Task> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery);
//Task AddOrUpdateSubjectCriteriaEvaluation(SubjectCriteriaEvaluationAddOrEdit addOrEditSubjectCriteriaEvaluation);
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs
index 1316bbfd5..f7a212f4d 100644
--- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs
@@ -15,6 +15,7 @@ using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Application.Contracts;
using DocumentFormat.OpenXml.Spreadsheet;
using Panda.DynamicWebApi.Attributes;
+using IRaCIS.Core.Domain.Share.Reading;
namespace IRaCIS.Core.Application.Service
{
@@ -33,12 +34,14 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository _trialReadingCriterionRepository;
+ private readonly IRepository _trialReadingQuestionRepository;
+
private readonly IVisitTaskHelpeService _IVisitTaskHelpeService;
public SubjectCriteriaEvaluationService(IRepository subjectCriteriaEvaluationRepository, IRepository subjectRepository,
IRepository subjectCriteriaEvaluationVisitFilterRepository, IRepository subjectVisitRepository,
IRepository subjectCriteriaEvaluationVisitStudyFilterRepository,
- IRepository trialReadingCriterionRepository, IVisitTaskHelpeService IVisitTaskHelpeService)
+ IRepository trialReadingCriterionRepository, IVisitTaskHelpeService IVisitTaskHelpeService, IRepository trialReadingQuestionRepository)
{
_subjectCriteriaEvaluationRepository = subjectCriteriaEvaluationRepository;
_subjectRepository = subjectRepository;
@@ -49,6 +52,8 @@ namespace IRaCIS.Core.Application.Service
_IVisitTaskHelpeService = IVisitTaskHelpeService;
+ _trialReadingQuestionRepository = trialReadingQuestionRepository;
+
}
@@ -58,20 +63,36 @@ namespace IRaCIS.Core.Application.Service
///
///
[HttpPost]
- public async Task> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery)
+ public async Task<(PageOutput,object)> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery)
{
var trialReadingCritionList = _trialReadingCriterionRepository.Where(t => t.TrialId == inQuery.TrialId).ToList();
var resultTrialReadingCriterionId = Guid.Empty;
+ var resultTrialReadingCriterion = trialReadingCritionList.First();
+
+ var curentCriterionType = CriterionType.NoCriterion;
+
+
//BM 需要找基线 两个人做的结果
if (trialReadingCritionList.First(t => t.Id == inQuery.TrialReadingCriterionId).CriterionType == CriterionType.RECIST1Pointt1_MB)
{
-
- resultTrialReadingCriterionId = trialReadingCritionList.First(t => t.CriterionType == CriterionType.RECIST1Point1).Id;
+
+ resultTrialReadingCriterion = trialReadingCritionList.First(t => t.CriterionType == CriterionType.RECIST1Point1);
+ resultTrialReadingCriterionId = resultTrialReadingCriterion.Id;
+
+ curentCriterionType = CriterionType.RECIST1Pointt1_MB;
}
+ var addtionalQustionInfoList = _trialReadingQuestionRepository.Where(t => t.ReadingQuestionCriterionTrialId == resultTrialReadingCriterionId && t.IsAdditional == true && t.Type != "group").IgnoreQueryFilters().Select(t => new
+ {
+ QuestionId= t.Id,
+ t.QuestionEnName,
+ t.QuestionName
+ }).ToList();
+
+ var questionIdList= addtionalQustionInfoList.Select(t=>t.QuestionId).ToList();
var subjectCriteriaEvaluationQueryable = from subject in _subjectRepository.Where(t=>t.TrialId==inQuery.TrialId)
@@ -96,17 +117,110 @@ namespace IRaCIS.Core.Application.Service
IsJoinEvaluation = subjectCriteriaEvaluation.IsJoinEvaluation,
- EvaluationList=subject.SubjectAdditionalEvaluationResult.Where(t=>t.IsFinalResult && t.TrialReadingCriterionId==resultTrialReadingCriterionId).Select(u=>new EvaluationInfo()
- { Answer=u.Answer,FinalTranslateDictionaryCode=u.FinalTranslateDictionaryCode,QuestioName=u.TrialReadingQuestion .QuestionName,QuestioNameEn=u.TrialReadingQuestion.QuestionEnName}).ToList()
+
+ ReadingEvaluationList= subject.ReadingTaskQuestionAnswerList
+ .Where(t=>t.ReadingQuestionCriterionTrialId == resultTrialReadingCriterionId &&
+ questionIdList.Contains(t.ReadingQuestionTrialId)
+ && t.VisitTask.TaskState==TaskState.Effect)
+ .Select(u=>new EvaluationInfo()
+ {
+ QuestionId=u.ReadingQuestionTrialId,
+ Answer=u.Answer,
+
+ FinalTranslateDictionaryCode=u.ReadingQuestionTrial.DictionaryCode
+ }).ToList()
+
+ //EvaluationList=subject
+ //.SubjectAdditionalEvaluationResult
+ //.Where(t=>t.IsFinalResult && t.TrialReadingCriterionId==resultTrialReadingCriterionId)
+ //.Select(u=>new EvaluationInfo()
+ //{ Answer=u.Answer,FinalTranslateDictionaryCode=u.FinalTranslateDictionaryCode,QuestioName=u.TrialReadingQuestion .QuestionName,QuestioNameEn=u.TrialReadingQuestion.QuestionEnName}).ToList()
+
+
};
-
-
-
-
var pageList = await subjectCriteriaEvaluationQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField == string.Empty ? nameof(SubjectCriteriaEvaluationView.SubjectCode) : inQuery.SortField, inQuery.Asc);
- return pageList;
+
+ foreach (var item in pageList.CurrentPageData)
+ {
+ switch (curentCriterionType)
+ {
+
+ case CriterionType.RECIST1Pointt1_MB:
+
+ if (resultTrialReadingCriterion.ReadingType == ReadingMethod.Double)
+ {
+ if (item.ReadingEvaluationList.Count==2)
+ {
+ if (item.ReadingEvaluationList.All(t => t.Answer == 1.ToString()))
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId=item.ReadingEvaluationList.First().QuestionId, Answer = ((int)BrainMetastasisResult.Yes).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult)
+ });
+ }
+ else if (item.ReadingEvaluationList.All(t => t.Answer == 0.ToString()))
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() {
+ QuestionId = item.ReadingEvaluationList.First().QuestionId,
+ Answer = ((int)BrainMetastasisResult.No).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult)
+ });
+ }
+ else if (item.ReadingEvaluationList.First().Answer != item.ReadingEvaluationList.Last().Answer)
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = item.ReadingEvaluationList.First().QuestionId, Answer = ((int)BrainMetastasisResult.Maybe).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult)});
+ }
+ else
+ {
+
+ }
+
+ }
+ else
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId= addtionalQustionInfoList.FirstOrDefault()?.QuestionId, Answer = ((int)BrainMetastasisResult.Unknown).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
+ }
+ }
+ else if (resultTrialReadingCriterion.ReadingType == ReadingMethod.Single)
+ {
+
+ if (item.ReadingEvaluationList.Count == 1)
+ {
+ if (item.ReadingEvaluationList.All(t => t.Answer == 1.ToString()))
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = item.ReadingEvaluationList.First().QuestionId, Answer = ((int)BrainMetastasisResult.Yes).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
+ }
+ else if (item.ReadingEvaluationList.All(t => t.Answer == 0.ToString()))
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = item.ReadingEvaluationList.First().QuestionId, Answer = ((int)BrainMetastasisResult.No).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
+ }
+ else
+ {
+
+ }
+ }
+ else
+ {
+ item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = addtionalQustionInfoList.FirstOrDefault()?.QuestionId, Answer = ((int)BrainMetastasisResult.Unknown).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
+ }
+
+ }
+ else
+ {
+
+ }
+
+ break;
+ default:
+ break;
+ }
+ }
+
+
+
+
+
+
+ return (pageList, addtionalQustionInfoList);
}
@@ -124,7 +238,7 @@ namespace IRaCIS.Core.Application.Service
{
- if (addOrEditSubjectCriteriaEvaluation.Id != null)
+ if (addOrEditSubjectCriteriaEvaluation.Id == null)
{
var entity = await _subjectCriteriaEvaluationRepository.InsertFromDTOAsync(addOrEditSubjectCriteriaEvaluation);
@@ -310,6 +424,12 @@ namespace IRaCIS.Core.Application.Service
ImageDeterminationResultState = subjectCriteriaEvaluationVisitFilter.ImageDeterminationResultState,
ImageFilterState = subjectCriteriaEvaluationVisitFilter.ImageFilterState,
IsGeneratedTask = subjectCriteriaEvaluationVisitFilter.IsGeneratedTask,
+ Id = subjectCriteriaEvaluationVisitFilter.Id,
+
+ CreateTime = subjectCriteriaEvaluationVisitFilter.CreateTime,
+ CreateUserId=subjectCriteriaEvaluationVisitFilter.CreateUserId,
+ UpdateTime= subjectCriteriaEvaluationVisitFilter.UpdateTime,
+ UpdateUserId= subjectCriteriaEvaluationVisitFilter.UpdateUserId,
};
diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
index 7abf0c702..244523aa2 100644
--- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
@@ -237,7 +237,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(x => x.CreateUserName, y => y.MapFrom(n => n.CreateUser.UserName));
#endregion
-
+
#region 阅片部位
@@ -254,6 +254,8 @@ namespace IRaCIS.Core.Application.Service
// .ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.subject.Code))
// .ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.subject.Status));
+
+ CreateMap().ReverseMap();
CreateMap().ReverseMap();
CreateMap().ReverseMap();
diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs
index fe2a4b76e..093c7a829 100644
--- a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs
+++ b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs
@@ -343,6 +343,12 @@ namespace IRaCIS.Application.Contracts
public bool IsGlobalReading { get; set; } = true;
+ //是否附加评估
+ public bool IsAdditionalAssessment { get; set; }
+
+
+ //自动 手动生成任务
+ public bool IsAutoCreate { get; set; }
public bool IsArbitrationReading { get; set; } = true;
diff --git a/IRaCIS.Core.Application/Triggers/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs b/IRaCIS.Core.Application/Triggers/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs
index 5a3523799..f528dbd6c 100644
--- a/IRaCIS.Core.Application/Triggers/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs
+++ b/IRaCIS.Core.Application/Triggers/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs
@@ -10,21 +10,34 @@ using System.Linq.Expressions;
namespace IRaCIS.Core.Application.Triggers
{
///
- /// 因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
+ /// 维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
///
public class VisitTaskIsFrontTaskNeedSignButNotSignTrigger : IAfterSaveTrigger
{
private readonly IRepository _visitTaskRepository;
+ private readonly IRepository _trialReadingCriterionRepository;
+
+ private readonly IRepository _trialReadingQuestionRepository;
+
+ private readonly IRepository _readingTaskQuestionAnswerRepository;
+
+ private readonly IRepository _subjectAdditionalEvaluationResultRepository;
+
public VisitTaskIsFrontTaskNeedSignButNotSignTrigger(
- IRepository visitTaskRepository)
+ IRepository visitTaskRepository, IRepository trialReadingCriterionRepository, IRepository trialReadingQuestionRepository
+ , IRepository readingTaskQuestionAnswerRepository, IRepository subjectAdditionalEvaluationResultRepository)
{
-
+ _trialReadingCriterionRepository = trialReadingCriterionRepository;
_visitTaskRepository = visitTaskRepository;
+ _trialReadingQuestionRepository = trialReadingQuestionRepository;
+
+ _readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
+ _subjectAdditionalEvaluationResultRepository = subjectAdditionalEvaluationResultRepository;
}
@@ -38,7 +51,7 @@ namespace IRaCIS.Core.Application.Triggers
if (context.ChangeType == ChangeType.Added)
{
- if (visitTask.IsNeedClinicalDataSign )
+ if (visitTask.IsNeedClinicalDataSign)
{
var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
@@ -67,6 +80,110 @@ namespace IRaCIS.Core.Application.Triggers
}
}
+
+
+ #region 附加评估 暂时废弃
+// //从未签名状态 改为签名状态时 判断是否进行了附加评估,将附加评估的结果冗余
+// if (context.ChangeType == ChangeType.Modified && visitTask.ReadingTaskState == ReadingTaskState.HaveSigned && context.UnmodifiedEntity.ReadingTaskState != ReadingTaskState.HaveSigned)
+// {
+
+// var criterion = _trialReadingCriterionRepository.Where(t => t.Id == visitTask.TrialReadingCriterionId).FirstOrDefault();
+
+// //如果是附加评估
+// if (criterion.IsAdditionalAssessment)
+// {
+
+
+// if (visitTask.ReadingCategory == ReadingCategory.Visit)
+// {
+
+
+// switch (criterion.CriterionType)
+// {
+// case CriterionType.RECIST1Point1:
+// var isbaseLine = _visitTaskRepository.Where(t => t.Id == visitTask.Id).Select(t => t.SourceSubjectVisit.IsBaseLine).FirstOrDefault();
+
+
+
+// if (isbaseLine)
+// {
+// var currentTaskAdditionarlAnswer = await _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == visitTask.Id &&
+// t.ReadingQuestionTrial.IsAdditional == true && t.ReadingQuestionTrial.Type != "group"
+// ).Include(t => t.ReadingQuestionTrial).FirstOrDefaultAsync();
+
+
+// //双重阅片完成了
+// if (criterion.ReadingType == ReadingMethod.Double &&
+//(_visitTaskRepository.Where(t => t.SubjectId == visitTask.SubjectId && t.TaskName == visitTask.TaskName && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned).Count() == 2)
+// )
+// {
+
+// var otherTaskId = await _visitTaskRepository.Where(t => t.SubjectId == visitTask.SubjectId && t.TaskName == visitTask.TaskName && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.Id != visitTask.Id)
+// .Select(t => t.Id).FirstOrDefaultAsync();
+
+
+// var otherTaskAdditionarlAnswer = await _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == otherTaskId &&
+// t.ReadingQuestionTrial.IsAdditional == true && t.ReadingQuestionTrial.Type != "group"
+// ).Include(t => t.ReadingQuestionTrial).FirstOrDefaultAsync();
+
+
+
+// await _subjectAdditionalEvaluationResultRepository.AddAsync(new SubjectAdditionalEvaluationResult()
+// {
+// TrialReadingCriterionId = visitTask.TrialReadingCriterionId,
+// IsFinalResult = true,
+// SubjectId = visitTask.SubjectId,
+// TrialReadingQuestionId = currentTaskAdditionarlAnswer.ReadingQuestionTrialId,
+// FinalAnswer = currentTaskAdditionarlAnswer.Answer,
+// FinalTranslateDictionaryCode = currentTaskAdditionarlAnswer.ReadingQuestionTrial.DictionaryCode,
+
+// });
+
+// }
+// if (criterion.ReadingType == ReadingMethod.Single)
+// {
+
+// await _subjectAdditionalEvaluationResultRepository.AddAsync(new SubjectAdditionalEvaluationResult()
+// {
+// TrialReadingCriterionId = visitTask.TrialReadingCriterionId,
+// IsFinalResult = true,
+// SubjectId = visitTask.SubjectId,
+// TrialReadingQuestionId = currentTaskAdditionarlAnswer.ReadingQuestionTrialId,
+// FinalAnswer = currentTaskAdditionarlAnswer.Answer,
+// FinalTranslateDictionaryCode = currentTaskAdditionarlAnswer.ReadingQuestionTrial.DictionaryCode,
+
+// });
+
+// }
+
+
+
+// }
+
+// break;
+// default:
+// break;
+// }
+
+
+
+
+
+// }
+
+
+
+
+
+
+
+
+// }
+// }
+
+
+ #endregion
+
}
diff --git a/IRaCIS.Core.Domain.Share/Reading/UrgentType.cs b/IRaCIS.Core.Domain.Share/Reading/UrgentType.cs
index 7c4515320..06788ce7d 100644
--- a/IRaCIS.Core.Domain.Share/Reading/UrgentType.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/UrgentType.cs
@@ -36,4 +36,31 @@ namespace IRaCIS.Core.Domain.Share.Reading
TNM = 2
}
+
+ ///
+ /// 阅片脑转移推断结果
+ ///
+ public enum BrainMetastasisResult
+ {
+
+ ///
+ /// 否
+ ///
+ No = 0,
+
+ ///
+ /// 是
+ ///
+ Yes = 1,
+
+ ///
+ /// 可能
+ ///
+ Maybe = 3,
+
+ ///
+ /// 未知
+ ///
+ Unknown = 4
+ }
}
diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs
index b70fab15c..72d1a76c0 100644
--- a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs
@@ -63,16 +63,20 @@ namespace IRaCIS.Core.Domain.Models
public DateTime UpdateTime { get; set; }
-
+ [JsonIgnore]
public List SubjectCriteriaEvaluationVisitFilterList { get; set; }
-
- /////
- // /// 是否影像筛选
- // ///
- //[Required]
- //public bool IsImageFiltering { get; set; }
-
- }
+
+
+
+
+
+ /////
+ // /// 是否影像筛选
+ // ///
+ //[Required]
+ //public bool IsImageFiltering { get; set; }
+
+ }
}
diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilter.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilter.cs
index 05f2f7539..28135100b 100644
--- a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilter.cs
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilter.cs
@@ -58,22 +58,28 @@ namespace IRaCIS.Core.Domain.Models
}
-
+ ///
+ /// 影像确认结果
+ ///
public enum ImageDeterminationResultState
{
//待定
None = 0,
+
//通过
Passed = 1,
}
+ ///
+ /// 影像筛选状态
+ ///
public enum ImageFilterState
{
//默认值 待筛选
None = 0,
- //已完成
+ //筛选已完成
Finished = 1
}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionAdditionalAssessmentType.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionAdditionalAssessmentType.cs
index 3f385cdde..c46d0fef0 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionAdditionalAssessmentType.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionAdditionalAssessmentType.cs
@@ -18,49 +18,25 @@ namespace IRaCIS.Core.Domain.Models
public class TrialCriterionAdditionalAssessmentType : Entity, IAuditUpdate, IAuditAdd
{
-
- ///
- /// TrialReadingCriterionId
- ///
- [Required]
public Guid TrialReadingCriterionId { get; set; }
- ///
- /// CriterionType
- ///
-
public CriterionType CriterionType { get; set; }
public AdditionalAssessmentType AdditionalAssessmentType { get; set; }
- ///
- /// IsSelected
- ///
public bool? IsSelected { get; set; }
- ///
- /// CreateTime
- ///
- [Required]
+
public DateTime CreateTime { get; set; }
- ///
- /// CreateUserId
- ///
- [Required]
+
public Guid CreateUserId { get; set; }
- ///
- /// UpdateTime
- ///
- [Required]
+
public DateTime UpdateTime { get; set; }
- ///
- /// UpdateUserId
- ///
- [Required]
+
public Guid UpdateUserId { get; set; }
diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs
index 38c8fdff9..ccc45dda0 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs
@@ -74,7 +74,9 @@ namespace IRaCIS.Core.Domain.Models
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
- }
+
+
+ }
diff --git a/IRaCIS.Core.Domain/Visit/Subject.cs b/IRaCIS.Core.Domain/Visit/Subject.cs
index 0a16d6309..2a901ed65 100644
--- a/IRaCIS.Core.Domain/Visit/Subject.cs
+++ b/IRaCIS.Core.Domain/Visit/Subject.cs
@@ -31,7 +31,11 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore]
- public List SubjectAdditionalEvaluationResult { get; set; }
+ public List SubjectAdditionalEvaluationResult { get; set; }
+
+
+ [JsonIgnore]
+ public List ReadingTaskQuestionAnswerList { get; set; }
[JsonIgnore]
[ForeignKey("FinalSubjectVisitId")]