验证检查类型临床数据修改
parent
e5f2d1cde9
commit
f4fd16d8fd
|
@ -28,6 +28,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
private readonly IRepository<QCChallenge> _qcChallengeRepository;
|
||||
private readonly IRepository<DicomStudy> _dicomStudyRepository;
|
||||
private readonly IRepository<DicomSeries> _dicomSeriesrepository;
|
||||
private readonly IReadingClinicalDataService _readingClinicalDataService;
|
||||
private readonly IRepository<Subject> _subjectRepository;
|
||||
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
||||
private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
|
||||
|
@ -43,6 +44,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
IRepository<VisitTask> visitTaskRepository,
|
||||
IRepository<DicomStudy> dicomStudyRepository,
|
||||
IRepository<DicomSeries> dicomSeriesrepository,
|
||||
IReadingClinicalDataService readingClinicalDataService,
|
||||
IRepository<Subject> subjectRepository,
|
||||
IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||
IRepository<QCChallengeDialog> qCChallengeDialogrepository,
|
||||
|
@ -55,6 +57,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
_qcChallengeRepository = qcChallengeRepository;
|
||||
_dicomStudyRepository = dicomStudyRepository;
|
||||
this._dicomSeriesrepository = dicomSeriesrepository;
|
||||
this._readingClinicalDataService = readingClinicalDataService;
|
||||
this._subjectRepository = subjectRepository;
|
||||
this._readingClinicalDataRepository = readingClinicalDataRepository;
|
||||
this._qCChallengeDialogrepository = qCChallengeDialogrepository;
|
||||
|
@ -1220,6 +1223,32 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
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 trialConfig = (await _trialRepository
|
||||
|
|
|
@ -195,6 +195,7 @@ namespace IRaCIS.Application.Services
|
|||
Id = x.Id,
|
||||
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us) ,
|
||||
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
|
||||
ClinicalDataLevel=x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||
ClinicalDataSetEnName =x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
||||
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
|
||||
FileName = x.ClinicalDataTrialSet.FileName,
|
||||
|
|
|
@ -87,6 +87,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public ClinicalUploadType ClinicalUploadType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 临床级别
|
||||
/// </summary>
|
||||
public ClinicalLevel ClinicalDataLevel { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 上传角色
|
||||
|
|
|
@ -24,6 +24,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
Task<List<GetReadingClinicalDataListOutDto>> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto);
|
||||
|
||||
Task<List<GetCRCClinicalDataOutDto>> GetCRCClinicalData(GetCRCClinicalDataInDto inDto);
|
||||
|
||||
|
||||
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
|
||||
}
|
||||
}
|
|
@ -1767,6 +1767,11 @@ public enum SUVChangeVSBaseline
|
|||
/// </summary>
|
||||
[DisplayAttribute(Name = "肿瘤学阅片")]
|
||||
OncologyRead = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 检查
|
||||
/// </summary>
|
||||
Study=4,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue