diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 2d3f99514..0da22756f 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1941,6 +1941,49 @@
+
+
+ SubjectCriteriaEvaluationService
+
+
+
+
+ subject 某标准 是否评估列表
+
+
+
+
+
+
+ 添加 编辑 是否参与评估
+
+
+
+
+
+
+ 评估访视筛选列表
+
+
+
+
+
+
+ 评估访视 判断结果 影像筛选状态 手动添加/编辑接口
+
+
+
+
+
+
+ SubjectCriteriaEvaluationVisitFilterService
+
+
+
+
+ SubjectCriteriaEvaluationVisitStudyFilterService
+
+
名称
@@ -6620,6 +6663,33 @@
检查日期
+
+ SubjectCriteriaEvaluationView 列表视图模型
+
+
+ SubjectCriteriaEvaluationQuery 列表查询参数模型
+
+
+ SubjectCriteriaEvaluationAddOrEdit 列表查询参数模型
+
+
+ SubjectCriteriaEvaluationVisitFilterView 列表视图模型
+
+
+ SubjectCriteriaEvaluationVisitFilterQuery 列表查询参数模型
+
+
+ SubjectCriteriaEvaluationVisitFilterAddOrEdit 列表查询参数模型
+
+
+ SubjectCriteriaEvaluationVisitStudyFilterView 列表视图模型
+
+
+ SubjectCriteriaEvaluationVisitStudyFilterQuery 列表查询参数模型
+
+
+ SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型
+
DefaultShortcutKeyView 列表视图模型
@@ -7104,6 +7174,21 @@
ISystemNoticeService
+
+
+ ISubjectCriteriaEvaluationService
+
+
+
+
+ ISubjectCriteriaEvaluationVisitFilterService
+
+
+
+
+ ISubjectCriteriaEvaluationVisitStudyFilterService
+
+
IOrganInfoService
diff --git a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs
index d086ce9e1..fc614efb6 100644
--- a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs
+++ b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs
@@ -42,8 +42,8 @@ namespace IRaCIS.Core.Application.Service
IsJudgeQuestion=false,
IsShowInDicom=false,
GlobalReadingShowType=GlobalReadingShowType.NotShow,
- QuestionEnName="存在脑转移",
- QuestionName="Brain metastases present",
+ QuestionEnName="Brain metastases present",
+ QuestionName="存在脑转移",
Type="radio",
QuestionGenre=TableQuestionType.Dictionary,
DataSource=DataSources.ManualEntry,
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs
new file mode 100644
index 000000000..76e5c9c59
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationViewModel.cs
@@ -0,0 +1,57 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:59:00
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+
+namespace IRaCIS.Core.Application.ViewModel
+{
+ /// SubjectCriteriaEvaluationView 列表视图模型
+ public class SubjectCriteriaEvaluationView : SubjectCriteriaEvaluationAddOrEdit
+ {
+
+ public DateTime? CreateTime { get; set; }
+ public Guid? CreateUserId { get; set; }
+ public Guid? UpdateUserId { get; set; }
+ public DateTime? UpdateTime { get; set; }
+ public bool IsImageFiltering { get; set; }
+
+
+ //public string AdditionalResult { get; set; }
+
+ public string SubjectCode { get; set; }
+
+ public string TrialSiteCode { get; set; }
+ public SubjectStatus SubjectStatus { get; set; }
+ }
+
+
+
+ ///SubjectCriteriaEvaluationQuery 列表查询参数模型
+ public class SubjectCriteriaEvaluationQuery : PageInput
+ {
+ [NotDefault]
+ public Guid TrialReadingCriterionId { get; set; }
+ public string SubjectCode { get; set; } = string.Empty;
+
+ public string TrialSiteCode { get; set; } = string.Empty;
+ public SubjectStatus? SubjectStatus { get; set; }
+ }
+
+ /// SubjectCriteriaEvaluationAddOrEdit 列表查询参数模型
+ public class SubjectCriteriaEvaluationAddOrEdit
+ {
+ public Guid? Id { get; set; }
+ public Guid SubjectId { get; set; }
+ public Guid TrialReadingCriterionId { get; set; }
+ public bool IsJoinEvaluation { get; set; }
+ }
+
+
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs
new file mode 100644
index 000000000..5bfdf2c67
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitFilterViewModel.cs
@@ -0,0 +1,54 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:58:25
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+
+namespace IRaCIS.Core.Application.ViewModel
+{
+ /// SubjectCriteriaEvaluationVisitFilterView 列表视图模型
+ public class SubjectCriteriaEvaluationVisitFilterView: SubjectCriteriaEvaluationVisitFilterAddOrEdit
+ {
+ public DateTime? CreateTime { get; set; }
+ public Guid? CreateUserId { get; set; }
+ public Guid? UpdateUserId { get; set; }
+ public DateTime? UpdateTime { get; set; }
+ public bool IsGeneratedTask { get; set; }
+
+
+ public string VisitName { get; set; }
+ public DateTime? EarliestScanDate { get; set; }
+ public DateTime? LatestScanDate { get; set; }
+ }
+
+ ///SubjectCriteriaEvaluationVisitFilterQuery 列表查询参数模型
+ public class SubjectCriteriaEvaluationVisitFilterQuery : PageInput
+ {
+ [NotDefault]
+ public Guid TrialReadingCriterionId { get; set; }
+
+
+ [NotDefault]
+ public Guid SubjectId { get; set; }
+ }
+
+ /// SubjectCriteriaEvaluationVisitFilterAddOrEdit 列表查询参数模型
+ public class SubjectCriteriaEvaluationVisitFilterAddOrEdit
+ {
+ public Guid? Id { get; set; }
+ public Guid SubjectId { get; set; }
+ public Guid TrialReadingCriterionId { get; set; }
+ public Guid SubjectVisitId { get; set; }
+ public int ImageFilterState { get; set; }
+ public int ImageDeterminationResultState { get; set; }
+ //public bool IsGeneratedTask { get; set; }
+ }
+
+
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs
new file mode 100644
index 000000000..42d0dbbd6
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/DTO/SubjectCriteriaEvaluationVisitStudyFilterViewModel.cs
@@ -0,0 +1,51 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:58:25
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.Collections.Generic;
+namespace IRaCIS.Core.Application.ViewModel
+{
+ /// SubjectCriteriaEvaluationVisitStudyFilterView 列表视图模型
+ public class SubjectCriteriaEvaluationVisitStudyFilterView
+ {
+ public Guid Id { get; set; }
+ public Guid SubjectId { get; set; }
+ public Guid TrialReadingCriterionId { get; set; }
+ public DateTime CreateTime { get; set; }
+ public Guid CreateUserId { get; set; }
+ public Guid UpdateUserId { get; set; }
+ public DateTime UpdateTime { get; set; }
+ public Guid SubjectVisitId { get; set; }
+ public Guid StudyId { get; set; }
+ public Guid SeriesId { get; set; }
+ public bool IsConfirmed { get; set; }
+ }
+
+ ///SubjectCriteriaEvaluationVisitStudyFilterQuery 列表查询参数模型
+ public class SubjectCriteriaEvaluationVisitStudyFilterQuery
+ {
+ }
+
+ /// SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit 列表查询参数模型
+ public class SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit
+ {
+ public Guid Id { get; set; }
+ public Guid SubjectId { get; set; }
+ public Guid TrialReadingCriterionId { get; set; }
+ public DateTime CreateTime { get; set; }
+ public Guid CreateUserId { get; set; }
+ public Guid UpdateUserId { get; set; }
+ public DateTime UpdateTime { get; set; }
+ public Guid SubjectVisitId { get; set; }
+ public Guid StudyId { get; set; }
+ public Guid SeriesId { get; set; }
+ public bool IsConfirmed { get; set; }
+ }
+
+
+}
+
+
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs
new file mode 100644
index 000000000..d01e8532c
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationService.cs
@@ -0,0 +1,25 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:58:54
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces
+{
+ ///
+ /// ISubjectCriteriaEvaluationService
+ ///
+ public interface ISubjectCriteriaEvaluationService
+ {
+
+
+ Task> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery);
+
+ Task AddOrUpdateSubjectCriteriaEvaluation(SubjectCriteriaEvaluationAddOrEdit addOrEditSubjectCriteriaEvaluation);
+
+ //Task DeleteSubjectCriteriaEvaluation(Guid subjectCriteriaEvaluationId);
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs
new file mode 100644
index 000000000..5bdebaa81
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitFilterService.cs
@@ -0,0 +1,25 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:57:18
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces
+{
+ ///
+ /// ISubjectCriteriaEvaluationVisitFilterService
+ ///
+ public interface ISubjectCriteriaEvaluationVisitFilterService
+ {
+
+
+ Task> GetSubjectCriteriaEvaluationVisitFilterList(SubjectCriteriaEvaluationVisitFilterQuery inQuery);
+
+ Task AddOrUpdateSubjectCriteriaEvaluationVisitFilter(SubjectCriteriaEvaluationVisitFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitFilter);
+
+ Task DeleteSubjectCriteriaEvaluationVisitFilter(Guid subjectCriteriaEvaluationVisitFilterId);
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs
new file mode 100644
index 000000000..83da961a3
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/Interface/ISubjectCriteriaEvaluationVisitStudyFilterService.cs
@@ -0,0 +1,25 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:57:18
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Interfaces
+{
+ ///
+ /// ISubjectCriteriaEvaluationVisitStudyFilterService
+ ///
+ public interface ISubjectCriteriaEvaluationVisitStudyFilterService
+ {
+
+
+ Task> GetSubjectCriteriaEvaluationVisitStudyFilterList(SubjectCriteriaEvaluationVisitStudyFilterQuery inQuery);
+
+ Task AddOrUpdateSubjectCriteriaEvaluationVisitStudyFilter(SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitStudyFilter);
+
+ Task DeleteSubjectCriteriaEvaluationVisitStudyFilter(Guid subjectCriteriaEvaluationVisitStudyFilterId);
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs
new file mode 100644
index 000000000..5a807cc0a
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs
@@ -0,0 +1,164 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:58:57
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Service
+{
+ ///
+ /// SubjectCriteriaEvaluationService
+ ///
+ [ApiExplorerSettings(GroupName = "Trial")]
+ public class SubjectCriteriaEvaluationService : BaseService, ISubjectCriteriaEvaluationService
+ {
+
+ private readonly IRepository _subjectCriteriaEvaluationRepository;
+ private readonly IRepository _subjectRepository;
+ private readonly IRepository _subjectVisitRepository;
+ private readonly IRepository _subjectCriteriaEvaluationVisitFilterRepository;
+
+
+ public SubjectCriteriaEvaluationService(IRepository subjectCriteriaEvaluationRepository, IRepository subjectRepository,
+ IRepository subjectCriteriaEvaluationVisitFilterRepository, IRepository subjectVisitRepository)
+ {
+ _subjectCriteriaEvaluationRepository = subjectCriteriaEvaluationRepository;
+ _subjectRepository = subjectRepository;
+ _subjectCriteriaEvaluationVisitFilterRepository = subjectCriteriaEvaluationVisitFilterRepository;
+ _subjectVisitRepository = subjectVisitRepository;
+ }
+
+
+ ///
+ /// subject 某标准 是否评估列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetSubjectCriteriaEvaluationList(SubjectCriteriaEvaluationQuery inQuery)
+ {
+
+ var subjectCriteriaEvaluationQueryable = from subject in _subjectRepository
+ .WhereIf(!string.IsNullOrWhiteSpace(inQuery.SubjectCode), t => t.Code.Contains(inQuery.SubjectCode))
+ .WhereIf(!string.IsNullOrWhiteSpace(inQuery.TrialSiteCode), t => t.TrialSite.TrialSiteCode.Contains(inQuery.TrialSiteCode))
+ .WhereIf(inQuery.SubjectStatus != null, t => t.Status == inQuery.SubjectStatus)
+
+ join subjectCriteriaEvaluation in _subjectCriteriaEvaluationRepository.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) on subject.Id equals subjectCriteriaEvaluation.SubjectId into d
+ from subjectCriteriaEvaluation in d.DefaultIfEmpty()
+
+ select new SubjectCriteriaEvaluationView()
+ {
+ SubjectCode = subject.Code,
+ SubjectId = subject.Id,
+ SubjectStatus = subject.Status,
+ TrialSiteCode = subject.TrialSite.TrialSiteCode,
+
+ Id = subjectCriteriaEvaluation.Id,
+ TrialReadingCriterionId = inQuery.TrialReadingCriterionId,
+
+ IsImageFiltering=subjectCriteriaEvaluation.IsImageFiltering,
+ IsJoinEvaluation=subjectCriteriaEvaluation.IsJoinEvaluation,
+ };
+
+
+
+
+
+ var pageList = await subjectCriteriaEvaluationQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField == string.Empty ? nameof(SubjectCriteriaEvaluationView.SubjectCode) : inQuery.SortField, inQuery.Asc);
+
+ return pageList;
+ }
+
+
+ ///
+ /// 添加 编辑 是否参与评估
+ ///
+ ///
+ ///
+ public async Task AddOrUpdateSubjectCriteriaEvaluation(SubjectCriteriaEvaluationAddOrEdit addOrEditSubjectCriteriaEvaluation)
+ {
+ // 在此处拷贝automapper 映射
+
+ var entity = await _subjectCriteriaEvaluationRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluation, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+
+ ///
+ /// 评估访视筛选列表
+ ///
+ ///
+ ///
+ public async Task> GetSubjectCriteriaEvaluationVisitFilterList(SubjectCriteriaEvaluationVisitFilterQuery inQuery)
+ {
+
+
+
+
+ var subjectCriteriaEvaluationVisitFilterQueryable = from subjectVisit in _subjectVisitRepository.Where(t => t.SubjectId == inQuery.SubjectId)
+
+
+ join subjectCriteriaEvaluationVisitFilter in _subjectCriteriaEvaluationVisitFilterRepository.Where(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) on subjectVisit.Id equals subjectCriteriaEvaluationVisitFilter.SubjectVisitId into d
+ from subjectCriteriaEvaluationVisitFilter in d.DefaultIfEmpty()
+
+ select new SubjectCriteriaEvaluationVisitFilterView()
+ {
+ VisitName = subjectVisit.VisitName,
+ SubjectVisitId = subjectVisit.Id,
+ SubjectId = subjectVisit.SubjectId,
+ TrialReadingCriterionId=inQuery.TrialReadingCriterionId,
+ LatestScanDate=subjectVisit.LatestScanDate,
+ EarliestScanDate=subjectVisit.LatestScanDate,
+ ImageDeterminationResultState= subjectCriteriaEvaluationVisitFilter.ImageDeterminationResultState,
+ ImageFilterState= subjectCriteriaEvaluationVisitFilter.ImageFilterState,
+ IsGeneratedTask=subjectCriteriaEvaluationVisitFilter.IsGeneratedTask,
+
+ };
+
+
+
+
+
+
+
+ return await subjectCriteriaEvaluationVisitFilterQueryable.ToListAsync();
+ }
+
+ ///
+ /// 评估访视 判断结果 影像筛选状态 手动添加/编辑接口
+ ///
+ ///
+ ///
+ public async Task AddOrUpdateSubjectCriteriaEvaluationVisitFilter(SubjectCriteriaEvaluationVisitFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitFilter)
+ {
+ // 在此处拷贝automapper 映射
+
+
+ //CreateMap();
+ // CreateMap< SubjectCriteriaEvaluationVisitFilter,SubjectCriteriaEvaluationVisitFilterAddOrEdit>().ReverseMap();
+
+
+ var entity = await _subjectCriteriaEvaluationVisitFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitFilter, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ //[HttpDelete("{subjectCriteriaEvaluationId:guid}")]
+ // public async Task DeleteSubjectCriteriaEvaluation(Guid subjectCriteriaEvaluationId)
+ //{
+ // var success = await _subjectCriteriaEvaluationRepository.DeleteFromQueryAsync(t => t.Id == subjectCriteriaEvaluationId,true);
+ // return ResponseOutput.Ok();
+ //}
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs
new file mode 100644
index 000000000..fb501ccdb
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilterService.cs
@@ -0,0 +1,40 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:57:21
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Service
+{
+ ///
+ /// SubjectCriteriaEvaluationVisitFilterService
+ ///
+ [ ApiExplorerSettings(GroupName = "Test")]
+ public class SubjectCriteriaEvaluationVisitFilterService: BaseService
+ {
+
+
+ public SubjectCriteriaEvaluationVisitFilterService()
+ {
+ }
+
+
+
+
+
+
+
+ //[HttpDelete("{subjectCriteriaEvaluationVisitFilterId:guid}")]
+ // public async Task DeleteSubjectCriteriaEvaluationVisitFilter(Guid subjectCriteriaEvaluationVisitFilterId)
+ //{
+ // var success = await _subjectCriteriaEvaluationVisitFilterRepository.DeleteFromQueryAsync(t => t.Id == subjectCriteriaEvaluationVisitFilterId,true);
+ // return ResponseOutput.Ok();
+ //}
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs
new file mode 100644
index 000000000..3fb530f78
--- /dev/null
+++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilterService.cs
@@ -0,0 +1,64 @@
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:57:21
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+//--------------------------------------------------------------------
+
+using IRaCIS.Core.Domain.Models;
+using Microsoft.AspNetCore.Mvc;
+using IRaCIS.Core.Application.Interfaces;
+using IRaCIS.Core.Application.ViewModel;
+namespace IRaCIS.Core.Application.Service
+{
+ ///
+ /// SubjectCriteriaEvaluationVisitStudyFilterService
+ ///
+ [ ApiExplorerSettings(GroupName = "Test")]
+ public class SubjectCriteriaEvaluationVisitStudyFilterService: BaseService, ISubjectCriteriaEvaluationVisitStudyFilterService
+ {
+
+ private readonly IRepository _subjectCriteriaEvaluationVisitStudyFilterRepository;
+
+ public SubjectCriteriaEvaluationVisitStudyFilterService(IRepository subjectCriteriaEvaluationVisitStudyFilterRepository)
+ {
+ _subjectCriteriaEvaluationVisitStudyFilterRepository = subjectCriteriaEvaluationVisitStudyFilterRepository;
+ }
+
+
+ public async Task> GetSubjectCriteriaEvaluationVisitStudyFilterList(SubjectCriteriaEvaluationVisitStudyFilterQuery inQuery)
+ {
+
+
+ var subjectCriteriaEvaluationVisitStudyFilterQueryable = _subjectCriteriaEvaluationVisitStudyFilterRepository
+ .ProjectTo(_mapper.ConfigurationProvider);
+
+ return await subjectCriteriaEvaluationVisitStudyFilterQueryable.ToListAsync();
+ }
+
+
+ public async Task AddOrUpdateSubjectCriteriaEvaluationVisitStudyFilter(SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit addOrEditSubjectCriteriaEvaluationVisitStudyFilter)
+ {
+ // 在此处拷贝automapper 映射
+
+
+ //CreateMap();
+ // CreateMap< SubjectCriteriaEvaluationVisitStudyFilter,SubjectCriteriaEvaluationVisitStudyFilterAddOrEdit>().ReverseMap();
+
+
+ var entity = await _subjectCriteriaEvaluationVisitStudyFilterRepository.InsertOrUpdateAsync(addOrEditSubjectCriteriaEvaluationVisitStudyFilter, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+ }
+
+
+ [HttpDelete("{subjectCriteriaEvaluationVisitStudyFilterId:guid}")]
+ public async Task DeleteSubjectCriteriaEvaluationVisitStudyFilter(Guid subjectCriteriaEvaluationVisitStudyFilterId)
+ {
+ var success = await _subjectCriteriaEvaluationVisitStudyFilterRepository.DeleteFromQueryAsync(t => t.Id == subjectCriteriaEvaluationVisitStudyFilterId,true);
+ return ResponseOutput.Ok();
+ }
+
+
+ }
+}
diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
index e6fd7af30..2824166c9 100644
--- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
@@ -244,7 +244,18 @@ namespace IRaCIS.Core.Application.Service
CreateMap().ReverseMap();
CreateMap();
- CreateMap();
+ CreateMap();
+ #endregion
+
+ #region 附加评估
+ //CreateMap()
+ // .ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.subject.TrialSite.TrialSiteCode))
+ // .ForMember(d => d.SubjectCode, u => u.MapFrom(s => s.subject.Code))
+ // .ForMember(d => d.SubjectStatus, u => u.MapFrom(s => s.subject.Status));
+
+ CreateMap();
+
+
#endregion
}
}
diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
index 61155ec1b..242c45f81 100644
--- a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
+++ b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
@@ -2,6 +2,7 @@
using IRaCIS.Core.Infrastructure.Extention;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
+using Org.BouncyCastle.Bcpg.OpenPgp;
namespace IRaCIS.Application.Contracts
{
@@ -80,6 +81,8 @@ namespace IRaCIS.Application.Contracts
}
+
+
public class SubjectQueryView: SubjectCommand
{
diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
index ad5c5892e..e6ba5f65d 100644
--- a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
+++ b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
@@ -159,5 +159,7 @@ namespace IRaCIS.Application.Services
}
+
+
}
}
diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectAdditionalEvaluationResult.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectAdditionalEvaluationResult.cs
new file mode 100644
index 000000000..755f4cdd3
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectAdditionalEvaluationResult.cs
@@ -0,0 +1,93 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:50:31
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///SubjectAdditionalEvaluationResult
+ ///
+ [Table("SubjectAdditionalEvaluationResult")]
+ public class SubjectAdditionalEvaluationResult : Entity, IAuditUpdate, IAuditAdd
+ {
+
+
+ ///
+ /// SubjectId
+ ///
+ [Required]
+ public Guid SubjectId { get; set; }
+
+ ///
+ /// TrialReadingCriterionId
+ ///
+ [Required]
+ public Guid TrialReadingCriterionId { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ [Required]
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ [Required]
+ public Guid CreateUserId { get; set; }
+
+ ///
+ /// UpdateUserId
+ ///
+ [Required]
+ public Guid UpdateUserId { get; set; }
+
+ ///
+ /// UpdateTime
+ ///
+ [Required]
+ public DateTime UpdateTime { get; set; }
+
+ ///
+ /// VisitTaskId
+ ///
+ public Guid? VisitTaskId { get; set; }
+
+ ///
+ /// 附加评估答案
+ ///
+ [Required]
+ public string Answer { get; set; }
+
+ ///
+ /// 附加评估答案翻译字典
+ ///
+ [Required]
+ public string TranslateDictionaryCode { get; set; }
+
+ ///
+ /// 是否是最终结果
+ ///
+ [Required]
+ public bool IsFinalResult { get; set; }
+
+ ///
+ /// 最终结果
+ ///
+ [Required]
+ public string FinalAnswer { get; set; }
+
+ ///
+ /// 最终结果翻字典
+ ///
+ [Required]
+ public string FinalTranslateDictionaryCode { get; set; }
+
+ }
+
+}
diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs
new file mode 100644
index 000000000..7fc6a9ac6
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluation.cs
@@ -0,0 +1,72 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:46:55
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///SubjectCriteriaEvaluation
+ ///
+ [Table("SubjectCriteriaEvaluation")]
+ public class SubjectCriteriaEvaluation : Entity, IAuditUpdate, IAuditAdd
+ {
+ [JsonIgnore]
+ public Subject subject { get; set; }
+
+ ///
+ /// SubjectId
+ ///
+ [Required]
+ public Guid SubjectId { get; set; }
+
+ ///
+ /// TrialReadingCriterionId
+ ///
+ [Required]
+ public Guid TrialReadingCriterionId { get; set; }
+
+ ///
+ /// 是否参与评估
+ ///
+ [Required]
+ public bool IsJoinEvaluation { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ [Required]
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ [Required]
+ public Guid CreateUserId { get; set; }
+
+ ///
+ /// UpdateUserId
+ ///
+ [Required]
+ public Guid UpdateUserId { get; set; }
+
+ ///
+ /// UpdateTime
+ ///
+ [Required]
+ public DateTime UpdateTime { 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
new file mode 100644
index 000000000..2ec1bbf2b
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitFilter.cs
@@ -0,0 +1,83 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:51:12
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///SubjectCriteriaEvaluationVisitFilter
+ ///
+ [Table("SubjectCriteriaEvaluationVisitFilter")]
+ public class SubjectCriteriaEvaluationVisitFilter : Entity, IAuditUpdate, IAuditAdd
+ {
+
+
+
+ ///
+ /// SubjectId
+ ///
+ [Required]
+ public Guid SubjectId { get; set; }
+
+ ///
+ /// TrialReadingCriterionId
+ ///
+ [Required]
+ public Guid TrialReadingCriterionId { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ [Required]
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ [Required]
+ public Guid CreateUserId { get; set; }
+
+ ///
+ /// UpdateUserId
+ ///
+ [Required]
+ public Guid UpdateUserId { get; set; }
+
+ ///
+ /// UpdateTime
+ ///
+ [Required]
+ public DateTime UpdateTime { get; set; }
+
+ ///
+ /// SubjectVisitId
+ ///
+ [Required]
+ public Guid SubjectVisitId { get; set; }
+
+ ///
+ /// 影像筛选状态
+ ///
+ [Required]
+ public int ImageFilterState { get; set; }
+
+ ///
+ /// 影像判断结果
+ ///
+ [Required]
+ public int ImageDeterminationResultState { get; set; }
+
+ ///
+ /// 是否已生成任务
+ ///
+ [Required]
+ public bool IsGeneratedTask { get; set; }
+
+ }
+
+}
diff --git a/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs
new file mode 100644
index 000000000..ab9ebfbdb
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationVisitStudyFilter.cs
@@ -0,0 +1,82 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-03-17 11:51:13
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///SubjectCriteriaEvaluationVisitStudyFilter
+ ///
+ [Table("SubjectCriteriaEvaluationVisitStudyFilter")]
+ public class SubjectCriteriaEvaluationVisitStudyFilter : Entity, IAuditUpdate, IAuditAdd
+ {
+
+
+ ///
+ /// SubjectId
+ ///
+ [Required]
+ public Guid SubjectId { get; set; }
+
+ ///
+ /// TrialReadingCriterionId
+ ///
+ [Required]
+ public Guid TrialReadingCriterionId { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ [Required]
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ [Required]
+ public Guid CreateUserId { get; set; }
+
+ ///
+ /// UpdateUserId
+ ///
+ [Required]
+ public Guid UpdateUserId { get; set; }
+
+ ///
+ /// UpdateTime
+ ///
+ [Required]
+ public DateTime UpdateTime { get; set; }
+
+ ///
+ /// SubjectVisitId
+ ///
+ [Required]
+ public Guid SubjectVisitId { get; set; }
+
+ ///
+ /// StudyId
+ ///
+ [Required]
+ public Guid StudyId { get; set; }
+
+ ///
+ /// SeriesId
+ ///
+ [Required]
+ public Guid SeriesId { get; set; }
+
+ ///
+ /// 是否确认
+ ///
+ [Required]
+ public bool IsConfirmed { get; set; }
+
+ }
+
+}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
index 74f92bf47..b6e5039cb 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
@@ -6,6 +6,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Linq;
+using IRaCIS.Core.Domain.Share.Reading;
namespace IRaCIS.Core.Domain.Models
{
diff --git a/IRaCIS.Core.Domain/Visit/Subject.cs b/IRaCIS.Core.Domain/Visit/Subject.cs
index 3fbd74f0d..0858a9fdf 100644
--- a/IRaCIS.Core.Domain/Visit/Subject.cs
+++ b/IRaCIS.Core.Domain/Visit/Subject.cs
@@ -25,8 +25,9 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore]
public List ClinicalDataList { get; set; }
-
+ [JsonIgnore]
+ public List SubjectCriteriaEvaluationList { get; set; }
[JsonIgnore]
[ForeignKey("FinalSubjectVisitId")]
diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
index f0c107a80..5fe987c43 100644
--- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
+++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
@@ -270,6 +270,11 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet TrialCriterionAdditionalAssessmentType { get; set; }
+ public virtual DbSet SubjectCriteriaEvaluation { get; set; }
+ public virtual DbSet SubjectAdditionalEvaluationResult { get; set; }
+ public virtual DbSet SubjectCriteriaEvaluationVisitFilter { get; set; }
+ public virtual DbSet SubjectCriteriaEvaluationVisitStudyFilter { get; set; }
+
//public virtual DbSet TrialClinicalDataCriterion { get; set; }
diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude
index cc63dbf70..e1c821df4 100644
--- a/IRaCIS.Core.Test/DbHelper.ttinclude
+++ b/IRaCIS.Core.Test/DbHelper.ttinclude
@@ -4,7 +4,7 @@
public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true";
public static readonly string DbDatabase = "IRaCIS_New_Tet";
//ַ,ƴ
- public static readonly string TableName = "TrialCriterionAdditionalAssessmentType";
+ public static readonly string TableName = "SubjectCriteriaEvaluation";
//ļ service Ƿҳ
}
#>