验证检查类型临床数据修改

IRC_NewDev
he 2024-02-29 14:01:04 +08:00
parent e5f2d1cde9
commit f4fd16d8fd
5 changed files with 50 additions and 7 deletions

View File

@ -28,6 +28,7 @@ namespace IRaCIS.Core.Application.Image.QA
private readonly IRepository<QCChallenge> _qcChallengeRepository; private readonly IRepository<QCChallenge> _qcChallengeRepository;
private readonly IRepository<DicomStudy> _dicomStudyRepository; private readonly IRepository<DicomStudy> _dicomStudyRepository;
private readonly IRepository<DicomSeries> _dicomSeriesrepository; private readonly IRepository<DicomSeries> _dicomSeriesrepository;
private readonly IReadingClinicalDataService _readingClinicalDataService;
private readonly IRepository<Subject> _subjectRepository; private readonly IRepository<Subject> _subjectRepository;
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository; private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository; private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
@ -43,6 +44,7 @@ namespace IRaCIS.Core.Application.Image.QA
IRepository<VisitTask> visitTaskRepository, IRepository<VisitTask> visitTaskRepository,
IRepository<DicomStudy> dicomStudyRepository, IRepository<DicomStudy> dicomStudyRepository,
IRepository<DicomSeries> dicomSeriesrepository, IRepository<DicomSeries> dicomSeriesrepository,
IReadingClinicalDataService readingClinicalDataService,
IRepository<Subject> subjectRepository, IRepository<Subject> subjectRepository,
IRepository<ReadingClinicalData> readingClinicalDataRepository, IRepository<ReadingClinicalData> readingClinicalDataRepository,
IRepository<QCChallengeDialog> qCChallengeDialogrepository, IRepository<QCChallengeDialog> qCChallengeDialogrepository,
@ -55,6 +57,7 @@ namespace IRaCIS.Core.Application.Image.QA
_qcChallengeRepository = qcChallengeRepository; _qcChallengeRepository = qcChallengeRepository;
_dicomStudyRepository = dicomStudyRepository; _dicomStudyRepository = dicomStudyRepository;
this._dicomSeriesrepository = dicomSeriesrepository; this._dicomSeriesrepository = dicomSeriesrepository;
this._readingClinicalDataService = readingClinicalDataService;
this._subjectRepository = subjectRepository; this._subjectRepository = subjectRepository;
this._readingClinicalDataRepository = readingClinicalDataRepository; this._readingClinicalDataRepository = readingClinicalDataRepository;
this._qCChallengeDialogrepository = qCChallengeDialogrepository; this._qCChallengeDialogrepository = qCChallengeDialogrepository;
@ -1220,6 +1223,32 @@ namespace IRaCIS.Core.Application.Image.QA
public async Task<IResponseOutput> CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand) public async Task<IResponseOutput> CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand)
{ {
// 验证临床数据 是否有Pet类型
#region 验证临床数据 是否有Pet类型
foreach (var item in cRCRequestToQCCommand.SubjectVisitIds)
{
if (await _dicomStudyRepository.AnyAsync(x => x.SubjectVisitId == item && x.Modalities == "CT"))
{
var visit = await _subjectVisitRepository.Where(x => x.Id == item).FirstNotNullAsync();
var clinicalData = await this._readingClinicalDataService.GetCRCClinicalData(new Service.Reading.Dto.GetCRCClinicalDataInDto()
{
IsBaseline = visit.IsBaseLine,
SubjectId = visit.SubjectId,
SubjectVisitId = item,
TrialId = cRCRequestToQCCommand.TrialId,
});
if (clinicalData.Any(x => x.ClinicalDataLevel == ClinicalLevel.Study && x.ClinicalUploadType == ClinicalUploadType.PDF && x.PDFFileList.Count() == 0))
{
throw new BusinessValidationFailedException(_localizer["QCOperation_NeedStudyClinical"]);
}
}
}
#endregion
var trialId = cRCRequestToQCCommand.TrialId; var trialId = cRCRequestToQCCommand.TrialId;
var trialConfig = (await _trialRepository var trialConfig = (await _trialRepository

View File

@ -195,7 +195,8 @@ namespace IRaCIS.Application.Services
Id = x.Id, Id = x.Id,
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us) , ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us) ,
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType, ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataLevel=x.ClinicalDataTrialSet.ClinicalDataLevel,
ClinicalDataSetEnName =x.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName = x.ClinicalDataTrialSet.FileName, FileName = x.ClinicalDataTrialSet.FileName,
UploadRole = x.ClinicalDataTrialSet.UploadRole, UploadRole = x.ClinicalDataTrialSet.UploadRole,

View File

@ -87,6 +87,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; } public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary> /// <summary>
/// 上传角色 /// 上传角色

View File

@ -24,6 +24,9 @@ namespace IRaCIS.Core.Application.Contracts
Task<List<GetReadingClinicalDataListOutDto>> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto); Task<List<GetReadingClinicalDataListOutDto>> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto);
Task<List<GetCRCClinicalDataOutDto>> GetCRCClinicalData(GetCRCClinicalDataInDto inDto);
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId); Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
} }
} }

View File

@ -1767,6 +1767,11 @@ public enum SUVChangeVSBaseline
/// </summary> /// </summary>
[DisplayAttribute(Name = "肿瘤学阅片")] [DisplayAttribute(Name = "肿瘤学阅片")]
OncologyRead = 3, OncologyRead = 3,
/// <summary>
/// 检查
/// </summary>
Study=4,
} }
/// <summary> /// <summary>