diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 0ce2bb837..a5969cce7 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -3156,6 +3156,16 @@
问题英文名称
+
+
+ 分组名称
+
+
+
+
+ 分组英文名称
+
+
临床问题类型(分组,单选。)
@@ -4276,6 +4286,46 @@
序号标记
+
+
+ 任务Id
+
+
+
+
+ 任务Id
+
+
+
+
+ StudyId
+
+
+
+
+ SeriesId
+
+
+
+
+ InstanceId
+
+
+
+
+ MeasureData
+
+
+
+
+ CreateTime
+
+
+
+
+ CreateUserId
+
+
Name
@@ -10830,6 +10880,14 @@
+
+
+ 临床数据 --CRC 待确认
+
+
+
+
+
CRC影像质疑待处理 --CRC 待办
@@ -12247,6 +12305,27 @@
+
+
+ 提交自定义标记
+
+
+
+
+
+
+ 删除自定义标记
+
+
+
+
+
+
+ 获取自定义标记
+
+
+
+
获取手册
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
index ace7cc7da..d5055d242 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
@@ -327,7 +327,7 @@ namespace IRaCIS.Core.Application.Service
var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId)
.ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
-
+ questions.ForEach(x => x.CreateTime = formInfo.CreateTime);
var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList();
result.ForEach(x =>
@@ -363,7 +363,7 @@ namespace IRaCIS.Core.Application.Service
if (inDto.ClinicalFormId!=null&&(await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId.Value)))
{
- throw new BusinessValidationFailedException("当前表单已确认,无法修改!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_translation"]);
}
var existsClinical = await _clinicalFormRepository.Where(x =>
@@ -375,7 +375,7 @@ namespace IRaCIS.Core.Application.Service
if (existsClinical)
{
- throw new BusinessValidationFailedException("已经添加过临床数据,不允许多次添加!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_duplicateData"]);
}
try
{
@@ -392,7 +392,7 @@ namespace IRaCIS.Core.Application.Service
{
if (await _readModuleRepository.AnyAsync(x =>x.SubjectId== inDto.SubjectId&& x.SubjectVisit.LatestScanDate <= clinicalForm.CheckDate && x.IsCRCConfirm))
{
- throw new BusinessValidationFailedException("无法添加和修改当前日期的临床数据,因为CRC已经确认!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToAddOrUpdate"]);
}
}
@@ -478,7 +478,7 @@ namespace IRaCIS.Core.Application.Service
if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId))
{
- throw new BusinessValidationFailedException("当前表单已确认,无法删除!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToDelete"]);
}
await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId);
@@ -549,7 +549,7 @@ namespace IRaCIS.Core.Application.Service
});
- var result = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, string.IsNullOrWhiteSpace(inDto.SortField) ? nameof(GetCRCConfirmListOutDto.LatestScanDate) : inDto.SortField, inDto.Asc);
+ var result = await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, new string[2] { "SubjectCode asc", "LatestScanDate asc" });
var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId)
.Where(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
@@ -771,7 +771,7 @@ namespace IRaCIS.Core.Application.Service
SubjectId= readModule.SubjectId,
IsCRCConfirm=false,
TrialReadingCriterionId = readModule.TrialReadingCriterionId,
- ReadModuleId = inDto.ReadModuleId,
+ //ReadModuleId = inDto.ReadModuleId,
PageIndex =1,
PageSize=9999,
})).CurrentPageData.ToList();
@@ -839,12 +839,12 @@ namespace IRaCIS.Core.Application.Service
if (dataList.Any(x => x.IsCRCConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
{
- throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancel"]);
}
if(presentData.IsPMConfirm)
{
- throw new BusinessValidationFailedException("PM已确认,无法取消!");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToCancelPMConfirmed"]);
}
if (presentData.IsNotNeedPMConfirm)
@@ -883,17 +883,17 @@ namespace IRaCIS.Core.Application.Service
var readModuleData = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync();
if (!readModuleData.IsCRCConfirm)
{
- throw new BusinessValidationFailedException("CRC还未确认数据,PM无法操作");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToOperate"]);
}
if (readModuleData.IsCRCApplicationRevoke && inDto.IsConfirm)
{
- throw new BusinessValidationFailedException("CRC正在申请退回,PM无法确认");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToConfirm"]);
}
if (!readModuleData.IsCRCApplicationRevoke && !inDto.IsConfirm)
{
- throw new BusinessValidationFailedException("CRC未申请退回,PM无法撤销");
+ throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_PMUnableToWithdraw"]);
}
if (inDto.IsConfirm)
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs
index 297083244..e05935740 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs
@@ -68,7 +68,7 @@ namespace IRaCIS.Application.Services
if (_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId).Count() == 0)
{
- throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用");
+ throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]);
}
if (isNeedVerify&&_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
{
@@ -103,7 +103,7 @@ namespace IRaCIS.Application.Services
if (_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId).Count() == 0)
{
- throw new BusinessValidationFailedException("当前临床数据未配置问题,请先配置问题之后再应用");
+ throw new BusinessValidationFailedException(_localizer["ClinicalComment_dataNotConfigured"]);
}
if (isNeedVerify&&_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
index f833223d8..2b1a77e52 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
@@ -123,7 +123,7 @@ namespace IRaCIS.Core.Application.Service
var tableQuestions= await _systemClinicalTableQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId)
.ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
-
+ questions.ForEach(x => x.CreateTime = null);
var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList();
result.ForEach(x =>
@@ -149,7 +149,7 @@ namespace IRaCIS.Core.Application.Service
var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId)
.ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
-
+ questions.ForEach(x => x.CreateTime = null);
var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).OrderBy(x => x.ShowOrder).ToList();
result.ForEach(x =>
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
index cee7930b8..34f438404 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
@@ -8,6 +8,7 @@ using Panda.DynamicWebApi.Attributes;
using Microsoft.Extensions.DependencyInjection;
using System.Linq.Expressions;
using IRaCIS.Core.Infrastructure;
+using System.Linq.Dynamic.Core;
namespace IRaCIS.Application.Services
{
@@ -673,7 +674,7 @@ namespace IRaCIS.Application.Services
.WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId)
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId)
.WhereIf(inDto.SelectIsSign, x => x.IsSign == true)
- .Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject))
+ .Where(x => x.ReadingId == inDto.ReadingId)
.Select(x => new GetReadingClinicalDataListOutDto()
{
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
@@ -735,10 +736,11 @@ namespace IRaCIS.Application.Services
}).ToListAsync();
- var setIds = moduleCriterionFromList.Select(x=>x.ClinicalDataTrialSetId).Distinct().ToList();
- var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead))
- .Where(x => setIds.Contains(x.Id))
-
+
+ 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()
{
@@ -905,10 +907,12 @@ namespace IRaCIS.Application.Services
}).ToListAsync();
- var setIds = moduleCriterionFromList.Select(x => x.ClinicalDataTrialSetId).Distinct().ToList();
- var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead))
- .Where(x => setIds.Contains(x.Id))
- .Select(x => new GetReadingClinicalDataListOutDto()
+
+ 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,
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
index d5c21ac55..a1988b83e 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
@@ -111,6 +111,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Answer { get; set; } = string.Empty;
+ public DateTime? CreateTime { get; set; }
+
///
/// 子问题
///
@@ -169,6 +171,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public string QuestionEnName { get; set; } = string.Empty;
+ ///
+ /// 分组名称
+ ///
+ public string? GroupName { get; set; } = string.Empty;
+
+ ///
+ /// 分组英文名称
+ ///
+ public string? GroupEnName { get; set; } = string.Empty;
+
///
/// 临床问题类型(分组,单选。)
///
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 74b2d2297..60cc90cc6 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -332,6 +332,54 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List AnswerList { get; set; } = new List();
}
+ public class GetCustomTagInDto
+ {
+ ///
+ /// 任务Id
+ ///
+ public Guid VisitTaskId { get; set; }
+ }
+
+ public class ReadingCustomTagDto
+ {
+ public Guid? Id { get; set; }
+
+ ///
+ /// 任务Id
+ ///
+ public Guid VisitTaskId { get; set; }
+
+ ///
+ /// StudyId
+ ///
+ public Guid? StudyId { get; set; }
+
+ ///
+ /// SeriesId
+ ///
+ public Guid? SeriesId { get; set; }
+
+ ///
+ /// InstanceId
+ ///
+ public Guid? InstanceId { get; set; }
+
+ ///
+ /// MeasureData
+ ///
+ public string MeasureData { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ public Guid CreateUserId { get; set; }
+ }
+
public class GetManualListInDto
{
public Guid TrialId { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index ba791cea0..0f5a5f4c6 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -45,6 +45,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository _organInfoRepository;
private readonly IRepository _trialDocumentRepository;
private readonly IRepository _userRepository;
+ private readonly IRepository _readingCustomTagRepository;
private readonly IRepository _readingCriterionDictionaryRepository;
private readonly IRepository _readingTrialCriterionDictionaryRepository;
private readonly IRepository _tumorAssessmentRepository;
@@ -84,6 +85,7 @@ namespace IRaCIS.Application.Services
IRepository organInfoRepository,
IRepository trialDocumentRepository,
IRepository userRepository,
+ IRepository readingCustomTagRepository,
IMemoryCache cache,
IRepository readingCriterionDictionaryRepository,
IRepository readingTrialCriterionDictionaryRepository,
@@ -121,6 +123,7 @@ namespace IRaCIS.Application.Services
this._organInfoRepository = organInfoRepository;
this._trialDocumentRepository = trialDocumentRepository;
this._userRepository = userRepository;
+ this._readingCustomTagRepository = readingCustomTagRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
@@ -138,6 +141,43 @@ namespace IRaCIS.Application.Services
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
}
+ ///
+ /// 提交自定义标记
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task SubmitCustomTag(ReadingCustomTagDto inDto)
+ {
+ var entity = await _readingCustomTagRepository.InsertOrUpdateAsync(inDto, true);
+ return ResponseOutput.Ok(entity.Id.ToString());
+ }
+
+ ///
+ /// 删除自定义标记
+ ///
+ ///
+ ///
+ [HttpPost("{id:guid}")]
+ public async Task DeleteCustomTag(Guid id)
+ {
+ var success = await _readingCustomTagRepository.DeleteFromQueryAsync(t => t.Id == id, true);
+ return ResponseOutput.Ok();
+ }
+
+
+ ///
+ /// 获取自定义标记
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetCustomTag(GetCustomTagInDto inQuery)
+ {
+ var result= await _readingCustomTagRepository.Where(x => x.VisitTaskId == inQuery.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ return result;
+ }
+
///
/// 获取手册
///
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs
index 959e29a84..87908db6a 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs
@@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Service;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Application.Filter;
+using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Application.Services
{
@@ -118,6 +119,13 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task ChangeCutOffVisit(ChangeCutOffVisitInDto inDto)
{
+
+ if (await _readModuleRepository.AnyAsync(x => x.Id == inDto.Id && x.IsCRCConfirm))
+ {
+ //---CRC已经确认临床数据 不允许编辑
+ throw new BusinessValidationFailedException(_localizer["ReadModule_CRCConfirmCanNtoEdit"]);
+ }
+
await _readModuleRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.Id, x => new ReadModule() {
SubjectVisitId=inDto.SubjectVisitIdId,
ModuleName=inDto.Name,
@@ -483,9 +491,9 @@ namespace IRaCIS.Application.Services
return ResponseOutput.NotOk(_localizer["ReadModule_SignedDataCannotDelete"]);
}
- await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x => x.ReadModuleId == readModuleId);
+
- if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ReadModuleId == readModuleId))
+ if (await _readModuleRepository.AnyAsync(x => x.Id == readModuleId&&x.IsCRCConfirm))
{
//---CRC已经确认临床数据 不允许删除
return ResponseOutput.NotOk(_localizer["ReadModule_CRCConfirmClinicalData"]);
diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
index 1f39bf5a9..47aff4eb7 100644
--- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
@@ -18,10 +18,15 @@ namespace IRaCIS.Core.Application.Service
var isEn_Us=false;
#region 临床问题
- CreateMap();
+ CreateMap()
+ .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName))
+ .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName));
+
CreateMap();
- CreateMap();
+ CreateMap()
+ .ForMember(d => d.GroupName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionName))
+ .ForMember(d => d.GroupEnName, opt => opt.MapFrom(src => src.GroupQuestin.QuestionEnName));
CreateMap();
CreateMap();
@@ -54,7 +59,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
- CreateMap();
+ CreateMap();
+ CreateMap();
+
+ CreateMap();
CreateMap().ReverseMap();
CreateMap();
diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs
index 0905c294e..6be623736 100644
--- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs
+++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalQuestion.cs
@@ -143,7 +143,14 @@ namespace IRaCIS.Core.Domain.Models
///
public string CalculateQuestions { get; set; } = "[]";
- [NotMapped]
+ ///
+ /// 分组
+ ///
+ [JsonIgnore]
+ [ForeignKey("GroupId")]
+ public SystemClinicalQuestion GroupQuestin { get; set; }
+
+ [NotMapped]
public List CalculateQuestionList
{
get
diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs
index 931484b8c..e57916f05 100644
--- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs
+++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalQuestion.cs
@@ -133,6 +133,13 @@ namespace IRaCIS.Core.Domain.Models
///
public ClinicalCalculateMark? CustomCalculateMark { get; set; }
+ ///
+ /// 分组
+ ///
+ [JsonIgnore]
+ [ForeignKey("GroupId")]
+ public TrialClinicalQuestion GroupQuestin { get; set; }
+
///
/// 自定义计算问题
///
diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs
new file mode 100644
index 000000000..1409e8f3f
--- /dev/null
+++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs
@@ -0,0 +1,56 @@
+
+//--------------------------------------------------------------------
+// 此代码由T4模板自动生成 byzhouhang 20210918
+// 生成时间 2023-07-31 11:12:15
+// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
+using System;
+using IRaCIS.Core.Domain.Share;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+namespace IRaCIS.Core.Domain.Models
+{
+ ///
+ ///ReadingCustomTag
+ ///
+ [Table("ReadingCustomTag")]
+ public class ReadingCustomTag : Entity, IAuditAdd
+ {
+ ///
+ /// 任务Id
+ ///
+ public Guid VisitTaskId { get; set; }
+
+ ///
+ /// StudyId
+ ///
+ public Guid? StudyId { get; set; }
+
+ ///
+ /// SeriesId
+ ///
+ public Guid? SeriesId { get; set; }
+
+ ///
+ /// InstanceId
+ ///
+ public Guid? InstanceId { get; set; }
+
+ ///
+ /// MeasureData
+ ///
+ public string MeasureData { get; set; }
+
+ ///
+ /// CreateTime
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// CreateUserId
+ ///
+ public Guid CreateUserId { get; set; }
+
+ }
+
+
+}
diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
index 344cd1c73..9d2f16f52 100644
--- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
+++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs
@@ -216,6 +216,7 @@ namespace IRaCIS.Core.Infra.EFCore
#region Reading
public virtual DbSet TrialCriterionDictionaryCode { get; set; }
+ public virtual DbSet ReadingCustomTag { get; set; }
public virtual DbSet SystemCriterionDictionaryCode { get; set; }
public virtual DbSet ReadingTaskRelation { get; set; }
public virtual DbSet OrganInfo { get; set; }
diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude
index b0b701547..415c2a1c0 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 = "ReadModuleCriterionFrom";
+ public static readonly string TableName = "ReadingCustomTag";
//ļ service Ƿҳ
}
#>