diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 2eabf674d..bfad115dd 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -4521,6 +4521,11 @@
是否是第一次转化的任务
+
+
+ 是否存在临床数据
+
+
当新答案为空的时候 是否是有原数据
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index 9bf93330a..3dcc4a3e1 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -227,7 +227,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
public async Task>> GetPIReadingAuditList(VisitTaskQuery queryVisitTask)
{
- CriterionType? criterionType = _trialReadingCriterionRepository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t=>t.CriterionType).FirstOrDefault();
+ //CriterionType? criterionType = _trialReadingCriterionRepository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t=>t.CriterionType).FirstOrDefault();
var visitTaskQueryable = GetReadingTaskQueryable(queryVisitTask)
.ProjectTo(_mapper.ConfigurationProvider);
@@ -239,9 +239,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefault();
var questionList = _readingQuestionTrialRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.ReadingQuestionCriterionTrialId == queryVisitTask.TrialReadingCriterionId)
- //.Where(t => t.IsJudgeQuestion == true)
- .WhereIf(criterionType!=null&& criterionType!=CriterionType.SelfDefine,t=>t.IsJudgeQuestion==true)
- .WhereIf(criterionType != null && criterionType == CriterionType.SelfDefine, t => t.AssessmentResultEnum == AssessmentResultType.AssessmentResult)
+ .Where(t => t.IsJudgeQuestion == true)
+ //.WhereIf(criterionType!=null&& criterionType!=CriterionType.SelfDefine,t=>t.IsJudgeQuestion==true)
+ // .WhereIf(criterionType != null && criterionType == CriterionType.SelfDefine, t => t.AssessmentResultEnum == AssessmentResultType.AssessmentResult)
.Select(t => new { QuestionId = t.Id, QuestionName = _userInfo.IsEn_Us ? t.QuestionEnName : t.QuestionName ,t.DictionaryCode}).ToList();
trialTaskConfig!.OtherObj = questionList;
diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
index 905d6503a..7fcb7756b 100644
--- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs
@@ -84,7 +84,7 @@ namespace IRaCIS.Core.Application.Service
CreateMap().IncludeBase()
.ForMember(t=>t.PIReadingResultList,u=>u.MapFrom(c=>c.ReadingTaskQuestionAnswerList
- .Where(t=> t.ReadingQuestionCriterionTrial.CriterionType==CriterionType.SelfDefine? t.ReadingQuestionTrial.AssessmentResultEnum == AssessmentResultType.AssessmentResult: t.ReadingQuestionTrial.IsJudgeQuestion==true)
+ .Where(t=> /*t.ReadingQuestionCriterionTrial.CriterionType==CriterionType.SelfDefine? t.ReadingQuestionTrial.AssessmentResultEnum == AssessmentResultType.AssessmentResult:*/ t.ReadingQuestionTrial.IsJudgeQuestion==true)
.Select(d=>new PIReadingResult() { QuestionId= d.ReadingQuestionTrialId,Answer=d.Answer})));
CreateMap().IncludeBase()
diff --git a/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
index 46ed1e447..848de647d 100644
--- a/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
+++ b/IRaCIS.Core.Application/Service/Common/InternationalizationService.cs
@@ -144,7 +144,8 @@ namespace IRaCIS.Core.Application.Service
await _internationalizationRepository.SaveChangesAsync();
-
+ //清理缓存
+ _provider.Set>(StaticData.InternationalData.Front, new List(), TimeSpan.FromDays(1));
return ResponseOutput.Ok();
}
@@ -183,6 +184,9 @@ namespace IRaCIS.Core.Application.Service
}
+ //清理缓存
+ _provider.Set>(StaticData.InternationalData.Front, new List(), TimeSpan.FromDays(1));
+
return ResponseOutput.Ok(entity.Id.ToString());
}
@@ -192,6 +196,9 @@ namespace IRaCIS.Core.Application.Service
public async Task DeleteInternationalization(Guid internationalizationId)
{
var success = await _internationalizationRepository.DeleteFromQueryAsync(t => t.Id == internationalizationId, true);
+
+ //清理缓存
+ _provider.Set>(StaticData.InternationalData.Front, new List(), TimeSpan.FromDays(1));
return ResponseOutput.Ok();
}
diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs
index 2df1d2848..ec7c73af0 100644
--- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs
+++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs
@@ -1322,13 +1322,14 @@ namespace IRaCIS.Core.Application.Service
///
///
///
+ [HttpPost]
public async Task> GetSysEmailNoticeConfigList(EmailNoticeConfigQuery queryEmailNoticeConfig)
{
var emailNoticeConfigQueryable = _emailNoticeConfigRepository
.WhereIf(queryEmailNoticeConfig.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == queryEmailNoticeConfig.BusinessScenarioEnum)
.WhereIf(queryEmailNoticeConfig.IsReturnRequired != null, t => t.IsReturnRequired == queryEmailNoticeConfig.IsReturnRequired)
.WhereIf(queryEmailNoticeConfig.IsEnable != null, t => t.IsEnable == queryEmailNoticeConfig.IsEnable)
-
+ .WhereIf(queryEmailNoticeConfig.CriterionTypeEnum != null, t => t.CriterionTypeEnum == queryEmailNoticeConfig.CriterionTypeEnum)
.ProjectTo(_mapper.ConfigurationProvider, new { trialId = queryEmailNoticeConfig.TrialId });
return await emailNoticeConfigQueryable.ToPagedListAsync(queryEmailNoticeConfig.PageIndex, queryEmailNoticeConfig.PageSize, queryEmailNoticeConfig.SortField, queryEmailNoticeConfig.Asc);
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
index 57ef41677..7156f4d5a 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
@@ -190,23 +190,24 @@ namespace IRaCIS.Application.Services
.WhereIf(inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(!inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.Where(x => x.ClinicalDataTrialSet.TrialId == inDto.TrialId && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
- .Include(x=>x.ClinicalDataTrialSet)
- .OrderBy(x=>x.ClinicalDataTrialSet.CreateTime)
+ .Include(x => x.ClinicalDataTrialSet)
+ .OrderBy(x => x.ClinicalDataTrialSet.CreateTime)
.Select(x => new GetCRCClinicalDataOutDto()
{
Id = x.Id,
- ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us) ,
+ ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
- ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName,
+ ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
Path = x.ClinicalDataTrialSet.Path,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
- ClinicalFromList=x.Subject.ClinicalFormList.Where(y=>y.ReadingId==x.ReadingId&&y.ClinicalDataTrialSetId==x.ClinicalDataTrialSetId).Select(y=> new ClinicalFromData() {
- CheckDate=y.CheckDate,
- ClinicalFormId=y.Id
+ ClinicalFromList = x.Subject.ClinicalFormList.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
+ {
+ CheckDate = y.CheckDate,
+ ClinicalFormId = y.Id
}).ToList(),
PDFFileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
{
@@ -215,7 +216,7 @@ namespace IRaCIS.Application.Services
Path = y.Path,
CreateTime = y.CreateTime,
}).ToList(),
-
+
}).ToListAsync();
var previousHistoryList = await _previousHistoryRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
@@ -287,7 +288,7 @@ namespace IRaCIS.Application.Services
//}
data.IsBlind = inDto.IsBlind;
- data.IsComplete=inDto.IsComplete;
+ data.IsComplete = inDto.IsComplete;
data.IsSign = true;
data.ReadingClinicalDataState = ReadingClinicalDataStatus.HaveSigned;
@@ -304,7 +305,24 @@ namespace IRaCIS.Application.Services
await this.iServiceProvider.GetService().AddOncologyTask(readingId);
- await DealVisiTaskClinicalDataSignedAsync(data.TrialId, data.SubjectId, data.ReadingId, data.IsVisit, inDto.TrialReadingCriterionId);
+ //如果先生成了任务,再签名subject级别 PM 临床数据,那么会导致其他标准的任务签名状态无法得到维护
+
+ if (await _repository.AnyAsync(t => t.Id == data.ClinicalDataTrialSetId && t.UploadRole == UploadRole.PM && t.ClinicalDataLevel == ClinicalLevel.Subject))
+ {
+ var needDealTrialReadingCriterionIdList = _repository.Where(t => t.Id == data.ClinicalDataTrialSetId)
+ .SelectMany(t => t.TrialClinicalDataSetCriteriaList)
+ .Select(u => u.TrialReadingCriterionId).Distinct().ToList();
+
+ foreach (var trialReadingCriterionId in needDealTrialReadingCriterionIdList)
+ {
+ await DealVisiTaskClinicalDataSignedAsync(data.TrialId, data.SubjectId, data.ReadingId, data.IsVisit, trialReadingCriterionId);
+ }
+ }
+ else
+ {
+ await DealVisiTaskClinicalDataSignedAsync(data.TrialId, data.SubjectId, data.ReadingId, data.IsVisit, inDto.TrialReadingCriterionId);
+
+ }
return ResponseOutput.Result(result);
}
@@ -313,7 +331,7 @@ namespace IRaCIS.Application.Services
public async Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId)
{
//获取确认的临床数据配置
- var trialClinicalDataSetList = _clinicalDataTrialSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).Include(t => t.TrialClinicalDataSetCriteriaList).ToList();
+ var trialClinicalDataSetList = _clinicalDataTrialSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).Include(t => t.TrialClinicalDataSetCriteriaList).ToList();
//var criterionType = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCritrialId).Select(t => t.CriterionType).FirstOrDefaultAsync();
@@ -328,7 +346,7 @@ namespace IRaCIS.Application.Services
{
var isBaseLine = await _subjectVisitRepository.Where(t => t.Id == readingId).Select(t => t.IsBaseLine).FirstOrDefaultAsync();
-
+
//判断是否基线
if (isBaseLine)
@@ -414,7 +432,7 @@ namespace IRaCIS.Application.Services
}
//有序阅片才维护 IsFrontTaskNeedSignButNotSign 这个状态
- if (_readingQuestionCriterionTrialRepository.Any(t=>t.Id==trialReadingCritrialId && t.IsReadingTaskViewInOrder == true))
+ if (_readingQuestionCriterionTrialRepository.Any(t => t.Id == trialReadingCritrialId && t.IsReadingTaskViewInOrder == true))
{
@@ -429,8 +447,8 @@ namespace IRaCIS.Application.Services
(t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum)
// 前序存在 未一致性核查未通过的
- || t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum>sv.VisitNum)
-
+ || t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum)
+
))
.Select(t => t.Id);
@@ -442,7 +460,7 @@ namespace IRaCIS.Application.Services
var visitTaskIdQueryable2 = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
-
+
.Where(t => t.IsFrontTaskNeedSignButNotSign == true &&
//前序任务 不存在需要签名 但是没签名
@@ -461,14 +479,14 @@ namespace IRaCIS.Application.Services
}
-
+
}
// 废弃 接口合并到签名哪里
-
+
[HttpPut]
public async Task PMClinicalDataConfirm(PMClinicalDataConfirmCommand command)
{
@@ -522,7 +540,7 @@ namespace IRaCIS.Application.Services
keyValuePairs.Add(ModuleTypeEnum.Oncology, ClinicalLevel.OncologyRead);
-
+
var usedIdsQuery = _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.ReadingId && x.Id != inDto.ReadingClinicalDataId).Select(x => x.ClinicalDataTrialSetId);
@@ -537,20 +555,20 @@ namespace IRaCIS.Application.Services
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
.WhereIf(readModule != null, x => x.ClinicalDataLevel == keyValuePairs[readModule!.ModuleType])
- .WhereIf(inDto.TrialReadingCriterionId!=null,x=>x.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId== inDto.TrialReadingCriterionId))
+ .WhereIf(inDto.TrialReadingCriterionId != null, x => x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
//.WhereIf(criterion!=null,x=>x.CriterionEnumListStr.Contains($"|{(int)criterion.CriterionType}|"))
.Select(x => new GetTrialClinicalDataSelectOutDto()
{
ClinicalDataLevel = x.ClinicalDataLevel,
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
- ClinicalDataSetEnName=x.ClinicalDataSetEnName,
+ ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalUploadType = x.ClinicalUploadType,
FileName = x.FileName,
Path = x.Path,
Id = x.Id,
CriterionEnumList = x.CriterionEnumList,
}).ToListAsync();
-
+
return clinicalList;
}
@@ -699,20 +717,21 @@ namespace IRaCIS.Application.Services
Path = y.Path,
CreateTime = y.CreateTime,
}).ToList(),
-
+
});
var result = new List();
if (!inDto.IsOnlyGetCRCReadModule)
{
- result = await resultQuery.ToListAsync();
+ result = await resultQuery.ToListAsync();
}
var readingIds = result.Select(x => x.ReadingId).ToList();
- var clinical = await _clinicalFormRepository.Where(x => readingIds.Contains(x.ReadingId??default(Guid))).ToListAsync();
- result.Where(x => x.ClinicalUploadType == ClinicalUploadType.Structuring).ForEach(x => {
+ var clinical = await _clinicalFormRepository.Where(x => readingIds.Contains(x.ReadingId ?? default(Guid))).ToListAsync();
+ result.Where(x => x.ClinicalUploadType == ClinicalUploadType.Structuring).ForEach(x =>
+ {
- x.ClinicalFromList = clinical.Where(y => y.ReadingId == x.ReadingId&&y.ClinicalDataTrialSetId==x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
+ x.ClinicalFromList = clinical.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
{
CheckDate = y.CheckDate,
ClinicalFormId = y.Id
@@ -723,35 +742,36 @@ namespace IRaCIS.Application.Services
// 这里处理CRC上传 阅片期的临床数据
var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId)
- .WhereIf(inDto.SelectIsSign,x=>x.IsPMConfirm)
- .WhereIf(!inDto.SelectIsSign, x => x.IsCRCConfirm)
- .FirstOrDefaultAsync();
+ .WhereIf(inDto.SelectIsSign, x => x.IsPMConfirm)
+ .WhereIf(!inDto.SelectIsSign, x => x.IsCRCConfirm)
+ .FirstOrDefaultAsync();
if (readModule != null)
{
var moduleCriterionFromList = await _readModuleCriterionFromRepository
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalForm.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId)
- .Where(x => x.ReadModuleId == readModule.Id).Select(x => new{
- ClinicalFormId= x.ClinicalFormId,
- CheckDate= x.ClinicalForm.CheckDate,
- ClinicalDataTrialSetId= x.ClinicalForm.ClinicalDataTrialSetId
-
-
- }).ToListAsync();
+ .Where(x => x.ReadModuleId == readModule.Id).Select(x => new
+ {
+ ClinicalFormId = x.ClinicalFormId,
+ CheckDate = x.ClinicalForm.CheckDate,
+ ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSetId
+
+
+ }).ToListAsync();
var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.Structuring)
.WhereIf(readModule.ReadingSetType == ReadingSetType.ImageReading, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead)
.WhereIf(readModule.ReadingSetType == ReadingSetType.TumorReading, x => x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
- .Where(x=>x.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId==readModule.TrialReadingCriterionId))
+ .Where(x => x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == readModule.TrialReadingCriterionId))
.Select(x => new GetReadingClinicalDataListOutDto()
{
ClinicalDataLevel = x.ClinicalDataLevel,
SubjectId = inDto.SubjectId,
ReadingId = default(Guid),
- IsCRCApplicationRevoke=readModule.IsCRCApplicationRevoke,
- IsCRCConfirm= readModule.IsCRCConfirm,
- IsPMConfirm= readModule.IsPMConfirm,
+ IsCRCApplicationRevoke = readModule.IsCRCApplicationRevoke,
+ IsCRCConfirm = readModule.IsCRCConfirm,
+ IsPMConfirm = readModule.IsPMConfirm,
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
ClinicalDataSetEnName = x.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.Id,
@@ -762,7 +782,7 @@ namespace IRaCIS.Application.Services
IsCRCUpload = x.UploadRole == UploadRole.CRC,
IsNeedMerge = true,
ReadModuleId = readModule.Id,
- TrialClinicalDataSetCriteriaList=x.TrialClinicalDataSetCriteriaList,
+ TrialClinicalDataSetCriteriaList = x.TrialClinicalDataSetCriteriaList,
//FileCount = x.FileCount,
//ReadingClinicalDataState = x.ReadingClinicalDataState,
@@ -791,8 +811,8 @@ namespace IRaCIS.Application.Services
});
- result.AddRange(clinicalresult);
- }
+ result.AddRange(clinicalresult);
+ }
@@ -813,7 +833,7 @@ namespace IRaCIS.Application.Services
result = result.Where(x => x.UploadRole == UploadRole.PM).ToList();
break;
case GetClinicalType.CRCConfirm:
- result = result.Where(x => x.UploadRole == UploadRole.CRC&&x.IsCRCConfirm&&!x.IsPMConfirm).ToList();
+ result = result.Where(x => x.UploadRole == UploadRole.CRC && x.IsCRCConfirm && !x.IsPMConfirm).ToList();
break;
case GetClinicalType.HasSign:
result = result.Where(x => x.IsSign).ToList();
@@ -849,15 +869,15 @@ namespace IRaCIS.Application.Services
{
var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
.Where(x => x.ReadingId == inDto.ReadingId)
- .WhereIf(inDto.ClinicalDataTrialSetId!=null, x=>x.ClinicalDataTrialSetId==inDto.TrialReadingCriterionId)
- .Where(x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t=>t.TrialReadingCriterionId==inDto.TrialReadingCriterionId))
+ .WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.TrialReadingCriterionId)
+ .Where(x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
.Select(x => new GetReadingClinicalDataListOutDto()
{
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
SubjectId = x.SubjectId,
ReadingId = x.ReadingId,
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
- ClinicalDataSetEnName =x.ClinicalDataTrialSet.ClinicalDataSetEnName,
+ ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSetId,
IsSign = x.IsSign,
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
@@ -884,7 +904,8 @@ namespace IRaCIS.Application.Services
var readingIds = result.Select(x => x.ReadingId).ToList();
var clinical = await _clinicalFormRepository.Where(x => readingIds.Contains(x.ReadingId ?? default(Guid))).ToListAsync();
- result.Where(x => x.ClinicalUploadType == ClinicalUploadType.Structuring).ForEach(x => {
+ result.Where(x => x.ClinicalUploadType == ClinicalUploadType.Structuring).ForEach(x =>
+ {
x.ClinicalFromList = clinical.Where(y => y.ReadingId == x.ReadingId && y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Select(y => new ClinicalFromData()
{
@@ -895,77 +916,78 @@ namespace IRaCIS.Application.Services
});
// 这里处理CRC上传 阅片期的临床数据
- var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId&&x.IsCRCConfirm)
+ var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId && x.IsCRCConfirm)
.FirstOrDefaultAsync();
if (readModule != null)
{
- var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id)
+ var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id)
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalForm.ClinicalDataTrialSetId == inDto.TrialReadingCriterionId)
- .Select(x => new {
- ClinicalFormId = x.ClinicalFormId,
- CheckDate = x.ClinicalForm.CheckDate,
- ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSetId
+ .Select(x => new
+ {
+ ClinicalFormId = x.ClinicalFormId,
+ CheckDate = x.ClinicalForm.CheckDate,
+ ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSetId
- }).ToListAsync();
+ }).ToListAsync();
-
- var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC&&x.ClinicalUploadType== ClinicalUploadType.Structuring)
- .WhereIf(readModule.ReadingSetType == ReadingSetType.ImageReading,x=>x.ClinicalDataLevel== ClinicalLevel.ImageRead)
+
+ var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.Structuring)
+ .WhereIf(readModule.ReadingSetType == ReadingSetType.ImageReading, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead)
.WhereIf(readModule.ReadingSetType == ReadingSetType.TumorReading, x => x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
.Where(x => x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == readModule.TrialReadingCriterionId))
.Select(x => new GetReadingClinicalDataListOutDto()
- {
+ {
- ClinicalDataLevel = x.ClinicalDataLevel,
- SubjectId = inDto.SubjectId,
- ReadingId = default(Guid),
- IsCRCApplicationRevoke= readModule.IsCRCApplicationRevoke,
+ ClinicalDataLevel = x.ClinicalDataLevel,
+ SubjectId = inDto.SubjectId,
+ ReadingId = default(Guid),
+ IsCRCApplicationRevoke = readModule.IsCRCApplicationRevoke,
IsCRCConfirm = readModule.IsCRCConfirm,
- IsPMConfirm=readModule.IsPMConfirm,
+ IsPMConfirm = readModule.IsPMConfirm,
ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us),
- ClinicalDataSetEnName = x.ClinicalDataSetEnName,
- ClinicalDataTrialSetId = x.Id,
- IsSign = readModule.IsPMConfirm,
- ClinicalUploadType = x.ClinicalUploadType,
- Id = default(Guid),
- UploadRole = x.UploadRole,
- IsCRCUpload = x.UploadRole == UploadRole.CRC,
- IsNeedMerge = true,
- ReadModuleId = readModule.Id,
- //FileCount = x.FileCount,
+ ClinicalDataSetEnName = x.ClinicalDataSetEnName,
+ ClinicalDataTrialSetId = x.Id,
+ IsSign = readModule.IsPMConfirm,
+ ClinicalUploadType = x.ClinicalUploadType,
+ Id = default(Guid),
+ UploadRole = x.UploadRole,
+ IsCRCUpload = x.UploadRole == UploadRole.CRC,
+ IsNeedMerge = true,
+ ReadModuleId = readModule.Id,
+ //FileCount = x.FileCount,
- //ReadingClinicalDataState = x.ReadingClinicalDataState,
+ //ReadingClinicalDataState = x.ReadingClinicalDataState,
- //FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
- //{
- // Id = y.Id,
- // FileName = y.FileName,
- // Path = y.Path,
- // CreateTime = y.CreateTime,
- //}).ToList()
+ //FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
+ //{
+ // Id = y.Id,
+ // FileName = y.FileName,
+ // Path = y.Path,
+ // CreateTime = y.CreateTime,
+ //}).ToList()
- }).ToListAsync();
+ }).ToListAsync();
- clinicalresult.ForEach(x =>
- {
- x.FileCount = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Count();
- x.ClinicalFromList = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).OrderBy(y => y.CheckDate).Select(x => new ClinicalFromData
- {
- CheckDate = x.CheckDate,
- ClinicalFormId = x.ClinicalFormId
+ clinicalresult.ForEach(x =>
+ {
+ x.FileCount = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).Count();
+ x.ClinicalFromList = moduleCriterionFromList.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).OrderBy(y => y.CheckDate).Select(x => new ClinicalFromData
+ {
+ CheckDate = x.CheckDate,
+ ClinicalFormId = x.ClinicalFormId
- }).ToList();
+ }).ToList();
- x.IsSign = readModule.IsPMConfirm ?true : false;
+ x.IsSign = readModule.IsPMConfirm ? true : false;
x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked;
- });
+ });
- result.AddRange(clinicalresult);
- }
+ result.AddRange(clinicalresult);
+ }
if (inDto.GetClinicalType != null)
@@ -976,7 +998,7 @@ namespace IRaCIS.Application.Services
result = result.Where(x => x.UploadRole == UploadRole.PM).ToList();
break;
case GetClinicalType.CRCConfirm:
- result = result.Where(x => x.UploadRole == UploadRole.CRC&&x.IsCRCConfirm&&!x.IsPMConfirm).ToList();
+ result = result.Where(x => x.UploadRole == UploadRole.CRC && x.IsCRCConfirm && !x.IsPMConfirm).ToList();
break;
case GetClinicalType.HasSign:
result = result.Where(x => x.IsSign).ToList();
@@ -984,7 +1006,7 @@ namespace IRaCIS.Application.Services
}
}
-
+
return result;
}
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index 4eb9bbad3..64dac6310 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -1045,7 +1045,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List RelevanceValueList { get; set; }
public List CalculateQuestionList { get; set; }
- public AssessmentResultType AssessmentResultEnum { get; set; }
+
}
public class ReadingQuestionSystemView
@@ -1986,7 +1986,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List ParentTriggerValueList { get; set; }
public List RelevanceValueList { get; set; }
- public AssessmentResultType AssessmentResultEnum { get; set; }
+
}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
index 736cb6f36..4a9cdf6d1 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
@@ -268,7 +268,7 @@ namespace IRaCIS.Core.Domain.Models
- public AssessmentResultType AssessmentResultEnum { get; set; }
+ //
[JsonIgnore]
[ForeignKey("GroupId")]