diff --git a/IRaCIS.Core.API/Properties/launchSettings.json b/IRaCIS.Core.API/Properties/launchSettings.json
index 6736bd9b9..17680827f 100644
--- a/IRaCIS.Core.API/Properties/launchSettings.json
+++ b/IRaCIS.Core.API/Properties/launchSettings.json
@@ -21,7 +21,7 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Test_Study"
},
- "applicationUrl": "http://localhost:6100"
+ "applicationUrl": "http://localhost:6000"
}
}
}
\ No newline at end of file
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 0f8fd807d..587a426ad 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -10558,6 +10558,20 @@
替换当前领取人
+
+
+ 领取下一个质控任务
+
+
+
+
+
+
+ 获取下一个质控任务
+
+
+
+
手动领取 或者取消 QC任务
diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
index 10ec1a87b..61e990f2a 100644
--- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
+++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
@@ -60,6 +60,21 @@ namespace IRaCIS.Core.Application.Contracts
public Guid? HandleUserId { get; set; }
}
+ public class GetNextIQCQualityInDto
+ {
+ [NotDefault]
+ public Guid TrialId { get; set; }
+
+ public Guid SubjectId { get; set; }
+ }
+
+ public class GetNextIQCQualityOutDto
+ {
+ public Guid? SubjectId { get; set; }
+
+ public Guid? VisitId { get; set; }
+ }
+
public class CRCRequestToQCCommand
{
@@ -105,6 +120,8 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsEnrollementQualificationConfirm { get; set; }
public bool IsPDProgressView { get; set; }
+ public string VisitBaseDataDes { get; set; }
+
public string OutEnrollmentVisitName { get; set; } = String.Empty;
diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
index d25b4a08c..85c7f3f49 100644
--- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
+++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
@@ -878,6 +878,109 @@ namespace IRaCIS.Core.Application.Image.QA
return ResponseOutput.Result(success);
}
+ ///
+ /// 领取下一个质控任务
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task CollectNextIQCQuality(GetNextIQCQualityInDto inDto)
+ {
+ var nextIQCQuality = await this.GetNextIQCQuality(inDto);
+
+ if (nextIQCQuality.VisitId != null)
+ {
+ var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstOrDefaultAsync();
+ if (!visit.IsTake)
+ {
+ await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
+ }
+
+ }
+
+ return nextIQCQuality;
+
+
+ }
+
+ ///
+ /// 获取下一个质控任务
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task GetNextIQCQuality(GetNextIQCQualityInDto inDto)
+ {
+ var trialConfig = await _trialRepository
+ .Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
+ .FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId)
+ .IfNullThrowException();
+
+ SubjectVisit? subjectVisit = null;
+ List? visitList = null;
+ switch (trialConfig.QCProcessEnum)
+ {
+ case TrialQCProcess.NotAudit:
+ return new GetNextIQCQualityOutDto() { };
+ break;
+ case TrialQCProcess.SingleAudit:
+ visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync();
+
+ subjectVisit = visitList.Where(x => x.SubjectId == inDto.SubjectId).OrderBy(x => x.VisitNum).FirstOrDefault();
+ if (subjectVisit != null)
+ {
+ return new GetNextIQCQualityOutDto()
+ {
+ SubjectId = subjectVisit.SubjectId,
+ VisitId = subjectVisit.Id
+ };
+ }
+
+ subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault();
+ if (subjectVisit != null)
+ {
+ return new GetNextIQCQualityOutDto()
+ {
+ SubjectId = subjectVisit.SubjectId,
+ VisitId = subjectVisit.Id
+ };
+ }
+ else
+ {
+ return new GetNextIQCQualityOutDto() { };
+ }
+ break;
+ case TrialQCProcess.DoubleAudit:
+
+ visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId != _userInfo.Id && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.QCPassed))).Include(x => x.Subject).ToListAsync();
+ if (subjectVisit != null)
+ {
+ return new GetNextIQCQualityOutDto()
+ {
+ SubjectId = subjectVisit.SubjectId,
+ VisitId = subjectVisit.Id
+ };
+ }
+
+ subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault();
+ if (subjectVisit != null)
+ {
+ return new GetNextIQCQualityOutDto()
+ {
+ SubjectId = subjectVisit.SubjectId,
+ VisitId = subjectVisit.Id
+ };
+ }
+ else
+ {
+ return new GetNextIQCQualityOutDto() { };
+ }
+ break;
+ default:
+ return new GetNextIQCQualityOutDto() { };
+
+ }
+ }
///
/// 手动领取 或者取消 QC任务
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 60cc90cc6..b37c865bc 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -499,6 +499,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
+
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
}
public class ReadingTableAnswerRowInfoBase
@@ -719,6 +724,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
[NotDefault]
public Guid VisitTaskId { get; set; }
+
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
}
public class GetReadingTableQuestionOutDto
@@ -795,6 +805,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List OrganInfos { get; set; } = new List();
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
public bool IsGetallQuestion { get; set; } = false;
///
@@ -947,6 +961,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid TrialId { get; set; }
public Guid VisitTaskId { get; set; }
+
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
}
#endregion
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index 6843367cd..17c96e5b5 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -336,10 +336,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 单位
- ///
- public ValueUnit? Unit { get; set; }
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 单位
+ ///
+ public ValueUnit? Unit { get; set; }
///
/// 限制编辑
@@ -439,10 +444,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 数据来源
- ///
- public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 数据来源
+ ///
+ public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
///
/// 单位
@@ -974,10 +984,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 单位
- ///
- public ValueUnit? Unit { get; set; }
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 单位
+ ///
+ public ValueUnit? Unit { get; set; }
///
@@ -1038,10 +1053,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 备注
- ///
- public string Remark { get; set; }
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
///
/// 数据来源
@@ -1555,10 +1575,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 限制编辑
- ///
- public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 限制编辑
+ ///
+ public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
///
/// 最大答案长度
@@ -1901,10 +1926,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public ValueOfType? ValueType { get; set; }
- ///
- /// 数据来源
- ///
- public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ ///
+ /// 数据来源
+ ///
+ public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
///
/// 单位
diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs
index 88728c9a4..99d4cc7de 100644
--- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs
@@ -6,6 +6,7 @@
using IRaCIS.Core.Application.Service.Reading.Dto;
+using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.Contracts
{
@@ -22,7 +23,7 @@ namespace IRaCIS.Core.Application.Contracts
Task GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto);
- Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId);
+ Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId,QuestionClassify? questionClassify);
Task GetReadingTableQuestion(GetReadingTableQuestionOrAnswerInDto inDto);
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index 1059da1e1..a77528200 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -704,7 +704,7 @@ namespace IRaCIS.Application.Services
{
//await AddDefaultValueToTask(inDto.VisitTaskId);
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
- var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id);
+ var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id, inDto.QuestionClassify);
return (result, new
{
@@ -720,7 +720,7 @@ namespace IRaCIS.Application.Services
///
///
[NonDynamicMethod]
- public async Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId)
+ public async Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId, QuestionClassify? questionClassify)
{
@@ -729,6 +729,7 @@ namespace IRaCIS.Application.Services
//排除表格问题
var questions = await _readingQuestionTrialRepository
+ .WhereIf(questionClassify!=null,x=>x.QuestionClassify== questionClassify)
.WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
.WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
@@ -893,6 +894,7 @@ namespace IRaCIS.Application.Services
TableAnswers = tableAnswers,
TableAnsweRowInfos = tableAnsweRowInfos,
OrganInfos = organList,
+ QuestionClassify=inDto.QuestionClassify,
}
@@ -943,7 +945,8 @@ namespace IRaCIS.Application.Services
TableAnswers = tableAnswers,
TableAnsweRowInfos = tableAnsweRowInfos,
IsGetallQuestion = true,
- OrganInfos = organList
+ OrganInfos = organList,
+ QuestionClassify=inDto.QuestionClassify,
}
), new
@@ -964,7 +967,9 @@ namespace IRaCIS.Application.Services
{
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
- var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider, new
+ var qusetionList = await _readingQuestionTrialRepository
+ .WhereIf(inDto.QuestionClassify!=null,x=>x.QuestionClassify==inDto.QuestionClassify)
+ .Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider, new
{
isEn_Us = _userInfo.IsEn_Us
@@ -1040,7 +1045,9 @@ namespace IRaCIS.Application.Services
var groupList = new List();
var qusetionIds = qusetionList.Select(x => x.Id).ToList();
- var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
+ var tableQuestionList = await _readingTableQuestionTrialRepository
+ .WhereIf(inDto.QuestionClassify != null, x => x.QuestionClassify == inDto.QuestionClassify)
+ .Where(x => qusetionIds.Contains(x.ReadingQuestionId))
.ProjectTo(_mapper.ConfigurationProvider, new
{
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
index 5a4f0b1a1..c03e760e7 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs
@@ -1615,7 +1615,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
x.IsAnalysisCreate == inDto.IsAnalysisCreate
- &&x.DoctorUserId==inDto.DoctorUserId
+ //&&x.DoctorUserId==inDto.DoctorUserId
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
.Select(x => x.Id).FirstOrDefaultAsync();
@@ -1715,7 +1715,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var lastTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
- x.DoctorUserId == taskinfo.DoctorUserId &&
+ //x.DoctorUserId == taskinfo.DoctorUserId &&
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
&& x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
@@ -1745,7 +1745,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var firstChangeVisitTaskNum = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
- x.DoctorUserId == taskinfo.DoctorUserId &&
+ //x.DoctorUserId == taskinfo.DoctorUserId &&
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
&& x.BeforeConvertedTaskId != null && x.TaskState == TaskState.Effect
@@ -1755,7 +1755,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
compareTaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
- x.DoctorUserId == taskinfo.DoctorUserId &&
+ //x.DoctorUserId == taskinfo.DoctorUserId &&
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum &&
x.VisitTaskNum >= firstChangeVisitTaskNum && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs
index 051b12e33..26d2dd314 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs
@@ -976,7 +976,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
siteVisitForTumorList = await _visitTaskRepository.Where(x => (x.ReadingCategory == ReadingCategory.Visit &&
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
- x.DoctorUserId== taskinfo.DoctorUserId&&
+ //x.DoctorUserId== taskinfo.DoctorUserId&&
x.IsAnalysisCreate==inDto.IsAnalysisCreate&&
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum <= taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum
)||x.Id== inDto.VisitTaskId).OrderByDescending(x => x.VisitTaskNum).Select(x => new SiteVisitForTumor()
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
index d3a48d2b3..b3176136a 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
@@ -1285,7 +1285,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
x.IsAnalysisCreate == inDto.IsAnalysisCreate
- &&x.DoctorUserId==inDto.DoctorUserId
+ //&&x.DoctorUserId==inDto.DoctorUserId
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
.Select(x => x.Id).FirstOrDefaultAsync();
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs
index 430750be8..84fa1de05 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs
@@ -1280,7 +1280,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
x.IsAnalysisCreate == inDto.IsAnalysisCreate
- &&x.DoctorUserId==inDto.DoctorUserId
+ //&&x.DoctorUserId==inDto.DoctorUserId
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
.Select(x => x.Id).FirstOrDefaultAsync();
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
index 52d5a5894..cebb72bfa 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
@@ -67,6 +67,8 @@ namespace IRaCIS.Core.Application.Contracts
public string Modalitys { get; set; } = string.Empty;
+ public string VisitBaseDataDes { get; set; }
+
public List ModalityList { get; set; } = new List();
diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
index 242c45f81..7613c04c2 100644
--- a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
+++ b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs
@@ -77,6 +77,8 @@ namespace IRaCIS.Application.Contracts
public bool IsPDProgressView { get; set; }
+ public string VisitBaseDataDes { get; set; }
+
public bool IsSubjectSecondCodeView { get; set; } = false;
}
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index 99889d0b2..09ffde665 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -297,6 +297,18 @@ namespace IRaCIS.Core.Domain.Share
Automatic = 1
}
+ ///
+ /// 问题分类
+ ///
+ public enum QuestionClassify
+ {
+ ///
+ /// PET
+ ///
+ PET = 0,
+
+ }
+
///
/// 自定义计算标记
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs
index fee763d72..3704f41a1 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs
@@ -202,6 +202,10 @@ namespace IRaCIS.Core.Domain.Models
///
public string? FileType { get; set; }
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
[JsonIgnore]
[ForeignKey("GroupId")]
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
index 8af84fed2..771a12133 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs
@@ -261,7 +261,12 @@ namespace IRaCIS.Core.Domain.Models
///
public Guid? GroupId { get; set; }
- [JsonIgnore]
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ [JsonIgnore]
[ForeignKey("GroupId")]
public ReadingQuestionTrial GroupInfo { get; set; }
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
index 97cdd903b..6fc5bbc87 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
@@ -173,7 +173,12 @@ namespace IRaCIS.Core.Domain.Models
///
public string? FileType { get; set; }
- [ForeignKey("DependParentId")]
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ [ForeignKey("DependParentId")]
[JsonIgnore]
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs
index df02d648c..fdb03ecf7 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs
@@ -195,7 +195,12 @@ namespace IRaCIS.Core.Domain.Models
///
public string? FileType { get; set; }
- [JsonIgnore]
+ ///
+ /// 问题分类
+ ///
+ public QuestionClassify? QuestionClassify { get; set; }
+
+ [JsonIgnore]
[ForeignKey("DependParentId")]
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs
index c40b80e07..54cb8ba39 100644
--- a/IRaCIS.Core.Domain/Trial/Trial.cs
+++ b/IRaCIS.Core.Domain/Trial/Trial.cs
@@ -299,7 +299,8 @@ namespace IRaCIS.Core.Domain.Models
public int PlanVisitCount { get; set; }
-
+ public string VisitBaseDataDes { get; set; } = StaticData.International("Trial_VisitBaseDataDes");
+
public DateTime? TrialFinishedTime { get; set; }