diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
index 345dd2a67..b1bdfc55a 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
@@ -42,6 +42,29 @@ namespace IRaCIS.Core.Application.Service
_systemClinicalQuestionRepository = systemClinicalQuestionRepository;
}
+ ///
+ /// 获取问题计算关系
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetTrialClinicalQuestionCalculateRelation(GetTrialClinicalQuestionCalculateRelationInDto inDto)
+ {
+
+ var result= await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId)
+ .Where( x=> x.ClinicalQuestionType == "number")
+ .Where(x => x.CustomCalculateMark != null && x.CustomCalculateMark > ClinicalCalculateMark.None)
+ .Select(x => new GetTrialClinicalQuestionCalculateRelationOutDto()
+ {
+ QuestionId = x.Id,
+ QuestionName = x.QuestionName,
+ CustomCalculateMark = x.CustomCalculateMark,
+ CalculateQuestionList = x.CalculateQuestionList,
+ }).ToListAsync();
+ result = result.Where(x => x.CalculateQuestionList.Count() > 0).ToList();
+ return result;
+ }
+
///
/// 获取计算问题
///
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
index ad8ab1cb9..f38dd1bca 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
@@ -13,7 +13,50 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
#region 获取计算问题
- public class GetClinicalCalculateQuestionsOutDto
+
+ public class GetTrialClinicalQuestionCalculateRelationInDto
+ {
+ ///
+ /// 项目临床数据Id
+ ///
+ public Guid TrialClinicalId { get; set; }
+ }
+
+
+ public class GetTrialClinicalQuestionCalculateRelationOutDto
+ {
+ public Guid QuestionId { get; set; }
+
+ ///
+ /// 问题名称
+ ///
+ public string QuestionName { get; set; }
+
+ ///
+ /// 自定义计算标记
+ ///
+ public ClinicalCalculateMark? CustomCalculateMark { get; set; }
+
+ ///
+ /// 数值类型
+ ///
+ public ValueOfType? ValueType { get; set; }
+
+ ///
+ /// 单位
+ ///
+ public ValueUnit? Unit { get; set; }
+
+ ///
+ /// 自定义单位
+ ///
+ public string CustomUnit { get; set; } = string.Empty;
+
+ public List CalculateQuestionList { get; set; }
+ }
+
+
+ public class GetClinicalCalculateQuestionsOutDto
{
public Guid QuestionId { get; set; }
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index 826d10683..3608eb7fa 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -61,11 +61,12 @@ namespace IRaCIS.Core.Domain.Share
///
public enum ClinicalCalculateMark
{
+ None = -1,
- ///
- /// +
- ///
- Add = 1,
+ ///
+ /// +
+ ///
+ Add = 1,
///
/// -