Uat_Study
hang 2023-06-28 09:24:06 +08:00
commit 73fb523b3d
3 changed files with 35 additions and 16 deletions

View File

@ -187,23 +187,26 @@ namespace IRaCIS.Core.Application.Service
public async Task<IResponseOutput> SubmitClinicalForm(SubmitClinicalFormInDto inDto) public async Task<IResponseOutput> SubmitClinicalForm(SubmitClinicalFormInDto inDto)
{ {
var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync();
ClinicalForm clinicalForm = new ClinicalForm() { }; ClinicalForm clinicalForm = new ClinicalForm() { };
try clinicalForm = new ClinicalForm()
{
ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId,
SubjectId = inDto.SubjectId,
Id = inDto.ClinicalFormId ?? NewId.NextGuid(),
ReadingId = inDto.ReadingId,
VisitId = inDto.VisitId,
};
try
{ {
clinicalForm = new ClinicalForm() var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync();
{ clinicalForm.CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First());
ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId,
SubjectId = inDto.SubjectId, }
Id = inDto.ClinicalFormId ?? NewId.NextGuid(),
ReadingId=inDto.ReadingId,
VisitId=inDto.VisitId,
CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First()),
};
}
catch (Exception) catch (Exception)
{ {
throw new BusinessValidationFailedException("检查日期问题答案填写错误!");
} }
List<ClinicalQuestionAnswer> clinicalQuestionAnswers = inDto.QuestionAnswers.Select(x => new ClinicalQuestionAnswer() List<ClinicalQuestionAnswer> clinicalQuestionAnswers = inDto.QuestionAnswers.Select(x => new ClinicalQuestionAnswer()

View File

@ -61,7 +61,13 @@ namespace IRaCIS.Application.Services
[HttpPost] [HttpPost]
public async Task<IResponseOutput> ApplySystemClinical(ApplySystemClinicalInDto inDto) public async Task<IResponseOutput> ApplySystemClinical(ApplySystemClinicalInDto inDto)
{ {
if (_systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
var isNeedVerify = await _clinicalDataSystemSetRepository.AnyAsync(x => x.Id == inDto.SystemClinicalId && (x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
&& x.ClinicalUploadType == ClinicalUploadType.Structuring && x.UploadRole == UploadRole.CRC
);
if (_systemClinicalQuestionRepository.Where(x => isNeedVerify&& x.SystemClinicalId == inDto.SystemClinicalId && x.IsCheckDate).Count() != 1)
{ {
throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]); throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]);
@ -87,7 +93,12 @@ namespace IRaCIS.Application.Services
[HttpPost] [HttpPost]
public async Task<IResponseOutput> ApplyTrialClinical(ApplyTrialClinicalInDto inDto) public async Task<IResponseOutput> ApplyTrialClinical(ApplyTrialClinicalInDto inDto)
{ {
if (_trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
var isNeedVerify = await _clinicalDataTrialSetRepository.AnyAsync(x => x.Id == inDto.TrialClinicalId && (x.ClinicalDataLevel == ClinicalLevel.ImageRead|| x.ClinicalDataLevel==ClinicalLevel.OncologyRead)
&& x.ClinicalUploadType == ClinicalUploadType.Structuring && x.UploadRole == UploadRole.CRC
);
if (_trialClinicalQuestionRepository.Where(x => isNeedVerify&& x.TrialClinicalId == inDto.TrialClinicalId && x.IsCheckDate).Count() != 1)
{ {
throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]); throw new BusinessValidationFailedException(_localizer["ClinicalDataSet_Apply"]);

View File

@ -1239,7 +1239,12 @@ namespace IRaCIS.Core.Domain.Share
[Display(Name = "PDF")] [Display(Name = "PDF")]
PDF = 1, PDF = 1,
} /// <summary>
/// 结构化录入
/// </summary>
Structuring = 2,
}
/// <summary> /// <summary>
/// 数据类型 /// 数据类型