diff --git a/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs b/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs index b3d9e35ff..326233218 100644 --- a/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs @@ -86,7 +86,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer var noneDicomQuey = from sv in _subjectVisitRepository.Where(subjectVisitLambda) join subject in _subjectRepository.AsQueryable() on sv.SubjectId equals subject.Id - join noneDicomStudy in _noneDicomStudyRepository.AsQueryable() on sv.Id equals noneDicomStudy.SubjectVisitId + join noneDicomStudy in _noneDicomStudyRepository.Where(t => t.FileCount > 0) on sv.Id equals noneDicomStudy.SubjectVisitId select new CheckDBModel() { SubjectVisitId = sv.Id, diff --git a/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs b/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs index 105f3c365..1ab731631 100644 --- a/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs @@ -147,6 +147,8 @@ public class IvusExportDto : IVUS_OCTBaseDto /// PAV (如无可不填) public string PAV { get; set; } + + public string DOST { get; set; } } /// @@ -154,6 +156,11 @@ public class IvusExportDto : IVUS_OCTBaseDto /// public class OctExportDto : IVUS_OCTBaseDto { + /// + /// 斑块到血管开口的距离 + /// + public string DOST { get; set; } + /// 靶段 public string TARGETV { get; set; } @@ -444,6 +451,11 @@ public class IVUS_OCTExportService(IRepository _r ivus.PAV = findPAVLession?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.PAV).FirstOrDefault()?.QuestionValue ?? string.Empty; + + ivus.DOST = findPAVLession?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.PlaqueToOstiumDistance).FirstOrDefault()?.QuestionValue ?? string.Empty; + + + ivusList.Add(ivus); } @@ -785,6 +797,8 @@ public class IVUS_OCTExportService(IRepository _r } + // 斑块到血管开口的距离 + oct.DOST = findLession?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.PlaqueToOstiumDistance).FirstOrDefault()?.QuestionValue ?? string.Empty; // 匹配动脉段最小FCT oct.MINFCT = findLession?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.MiniMumFCT).FirstOrDefault()?.QuestionValue ?? string.Empty; diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 8a81eb8cd..d2637703a 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -1763,22 +1763,22 @@ x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.LesionNumber && x.Readi await _trialEmailNoticeConfigRepository.SaveChangesAsync(); - var cronInfo = await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id) - .Select(t => new { t.Id, t.Code, TrialCode = t.Trial.TrialCode, t.EmailCron, t.BusinessScenarioEnum, t.TrialId }) - .FirstAsync(); + // var cronInfo = await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id) + //.Select(t => new { t.Id, t.Code, TrialCode = t.Trial.TrialCode, t.EmailCron, t.BusinessScenarioEnum, t.TrialId }) + //.FirstAsync(); - var jobId = $"{cronInfo.TrialId}({cronInfo.TrialCode})_({cronInfo.BusinessScenarioEnum})"; + // var jobId = $"{cronInfo.TrialId}({cronInfo.TrialCode})_({cronInfo.BusinessScenarioEnum})"; - if (addOrEditTrialEmailNoticeConfig.IsAutoSend) - { - HangfireJobHelper.AddOrUpdateTrialCronJob(jobId, addOrEditTrialEmailNoticeConfig.TrialId, addOrEditTrialEmailNoticeConfig.BusinessScenarioEnum, addOrEditTrialEmailNoticeConfig.EmailCron); + // if (addOrEditTrialEmailNoticeConfig.IsAutoSend) + // { + // HangfireJobHelper.AddOrUpdateTrialCronJob(jobId, addOrEditTrialEmailNoticeConfig.TrialId, addOrEditTrialEmailNoticeConfig.BusinessScenarioEnum, addOrEditTrialEmailNoticeConfig.EmailCron); - } - else - { - HangfireJobHelper.RemoveCronJob(jobId); - } + // } + // else + // { + // HangfireJobHelper.RemoveCronJob(jobId); + // } return ResponseOutput.Ok(); } diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 88be734c7..2e7799e4b 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -901,7 +901,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] - public async Task>> GetIRUploadTaskNoneDicomStudyList(IRUploadStudyQuery inQuery) + public async Task>> GetIRUploadTaskNoneDicomStudyList([FromServices] INoneDicomStudyService _noneDicomStudyService, IRUploadStudyQuery inQuery) { var subjectCode = inQuery.SubjectCode; var subjectId = inQuery.SubjectId; @@ -926,7 +926,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId) - .Select(t => new { t.IsImageFilter, t.CriterionModalitys, t.IsReadingTaskViewInOrder }).FirstNotNullAsync(); + .Select(t => new { t.IsImageFilter, t.CriterionType, t.TrialId, t.CriterionModalitys, t.IsReadingTaskViewInOrder }).FirstNotNullAsync(); var config = await _subjectRepository.Where(t => t.Id == subjectId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName }).FirstOrDefaultAsync(); @@ -934,6 +934,61 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc //靶段标注上传,查看访视级别,上传绑定访视级别 if (inQuery.IsImageSegmentLabel == true) { + //存在ivus 和oct 这两种的项目 + if (_readingQuestionCriterionTrialRepository.Where(t => t.TrialId == info.TrialId && + (t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT)).Distinct().Count() == 2 + && !_noneDicomStudyReposiotry.Any(t => t.SubjectId == inQuery.SubjectId && t.Modality == "IVUS")) + { + #region ivus 自动创建非dicom检查 + + var addList = await _dicomStudyRepository.Where(t => t.SubjectId == inQuery.SubjectId) + .Select(t => new NoneDicomStudyAddOrEdit() + { + TrialId = t.TrialId, + SubjectId = t.SubjectId, + SubjectVisitId = t.SubjectVisitId, + + ImageDate = (DateTime)t.StudyTime, + BodyPart = t.BodyPartForEdit, + BodyPartForEditOther = t.BodyPartForEditOther, + Modality = "IVUS" + + }).ToListAsync(); + + + var @lock = _distributedLockProvider.CreateLock($"NoneDicomCode"); + + using (await @lock.AcquireAsync()) + { + + var trialId = addList.FirstOrDefault().TrialId; + //默认会是0 + var code = await _noneDicomStudyReposiotry.Where(t => t.TrialId == trialId).Select(x => x.Code).DefaultIfEmpty().MaxAsync(); + + foreach (var g in addList.GroupBy(t => t.SubjectVisitId)) + { + var addOrEditNoneDicomStudy = g.First(); + + var optEntity = await _noneDicomStudyReposiotry.InsertFromDTOAsync(addOrEditNoneDicomStudy); + + optEntity.Code = code + 1; + + + optEntity.StudyCode = AppSettings.GetCodeStr(optEntity.Code, nameof(NoneDicomStudy)); + + code++; + } + + await _noneDicomStudyReposiotry.SaveChangesAsync(); + } + + #endregion + } + + + + + var list = _noneDicomStudyReposiotry.Where(t => t.SubjectId == subjectId) .WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId) //.WhereIf(info.IsImageFilter, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|")) @@ -1367,8 +1422,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList(); - var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList) - .ProjectTo(_mapper.ConfigurationProvider).ToList(); + //var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList) + // .ProjectTo(_mapper.ConfigurationProvider).ToList(); var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)) .SelectMany(t => t.NoneDicomStudyList) @@ -1378,7 +1433,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true).ToList(); - dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList()); + //dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList()); item.DicomStudyList = dicomList; @@ -1475,7 +1530,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { var dirInfolist = _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id))).SelectMany(t => t.StudyList) .Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) + .Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true) .SelectMany(t => t.InstanceList.Where(t => t.IsReading && t.DicomSerie.IsReading)) .Select(t => new StudyDIRInfo() @@ -1602,7 +1657,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc VisitName = sv.VisitName, TaskBlindName = leftVisitTask.TaskBlindName, StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) + .Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true) .Select(u => new DownloadDicomStudyDto() { @@ -1627,35 +1682,35 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc }).ToList() }).ToList(), - TaskStudyList = - sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - //.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) - .Select(u => new DownloadDicomStudyDto() - { - PatientId = u.PatientId, - StudyTime = u.StudyTime, - StudyCode = u.StudyCode, - StudyInstanceUid = u.StudyInstanceUid, - StudyDIRPath = u.StudyDIRPath, + //TaskStudyList = + //sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) + ////.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) + //.Select(u => new DownloadDicomStudyDto() + //{ + // PatientId = u.PatientId, + // StudyTime = u.StudyTime, + // StudyCode = u.StudyCode, + // StudyInstanceUid = u.StudyInstanceUid, + // StudyDIRPath = u.StudyDIRPath, - SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() - { - Modality = z.Modality, + // SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() + // { + // Modality = z.Modality, - InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto() - { - IsEncapsulated = k.IsEncapsulated, - InstanceId = k.Id, - FileName = string.Empty, - Path = k.Path, - FileSize = k.FileSize - }).ToList() - }).ToList() - }).ToList() - , + // InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto() + // { + // IsEncapsulated = k.IsEncapsulated, + // InstanceId = k.Id, + // FileName = string.Empty, + // Path = k.Path, + // FileSize = k.FileSize + // }).ToList() + // }).ToList() + //}).ToList() + //, NoneDicomStudyList = inQuery.IsImageSegmentLabel != false ? sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) - .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true) + .Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true) .Where(t => t.IsReading) .Select(nd => new DownloadNoneDicomStudyDto() { @@ -1699,7 +1754,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc //靶段标注处理 if (inQuery.IsImageSegmentLabel == false) { - result.StudyList.AddRange(result.TaskStudyList); + //result.StudyList.AddRange(result.TaskStudyList); } foreach (var item in result.StudyList.SelectMany(t => t.SeriesList).SelectMany(t => t.InstanceList)) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index bf23ed095..41faa94a0 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -3,6 +3,7 @@ // 生成时间 2021-12-06 10:54:55 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- +using DocumentFormat.OpenXml.EMMA; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Models; @@ -96,8 +97,16 @@ namespace IRaCIS.Core.Application.Contracts } + var isFilterIVUSNoneDicom = false; + if (_subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.Trial.TrialReadingCriterionList) + .Where(t => t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT).Distinct().Count() == 2 + ) + { + isFilterIVUSNoneDicom = true; + } - var list = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync(); + var list = await noneDicomStudyQueryable.Where(t => isFilterIVUSNoneDicom ? t.Modality != "IVUS" : true) + .OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync(); var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName, AuditState = qcAuditState }).FirstOrDefaultAsync(); return ResponseOutput.Ok(list, config); diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index f2663d7ec..fc4e11bfd 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -305,18 +305,18 @@ namespace IRaCIS.Core.Application.Services //预览靶段标注上传的影像 if (isImageSegmentLabel == true && isVisitTask) { - var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId) - .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + //var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId) + // .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) + // .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - foreach (var study in taskStudyList) - { - study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList(); + //foreach (var study in taskStudyList) + //{ + // study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList(); - study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count(); - } + // study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count(); + //} - studyList.AddRange(taskStudyList); + //studyList.AddRange(taskStudyList); } @@ -515,7 +515,7 @@ namespace IRaCIS.Core.Application.Services //是否有了后处理的NoneDicom检查 IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(), //是否有了标注的dicom检查 - IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(), + //IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(), //是否有了标注的NoneDicom检查 IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any() @@ -533,19 +533,15 @@ namespace IRaCIS.Core.Application.Services .WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading)) //影像后处理 上传了新的影像 还要原始dsa - .WhereIf(taskInfo.IsHaveTaskStudy - && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), + .WhereIf(taskInfo.IsHaveTaskStudy && taskInfo.CriterionType == CriterionType.OCT, t => t.ModalityForEdit == "XA") - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.IVUS, - t => t.ModalityForEdit == "XA" ) - - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.OCT, + .WhereIf(taskInfo.CriterionType == CriterionType.IVUS, + t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "IVUS") + + .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.CriterionType == CriterionType.OCT, t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT") - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy == false - && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), - t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" || t.ModalityForEdit == "IVUS") //其他 不应该看原始影像 .WhereIf(taskInfo.IsHaveTaskStudy && (taskInfo.CriterionType != CriterionType.OCT && taskInfo.CriterionType != CriterionType.IVUS), t => false) @@ -611,12 +607,12 @@ namespace IRaCIS.Core.Application.Services } //影像后处理 上传了新的影像 - if (taskInfo.IsHaveTaskStudy || taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy) + if (taskInfo.IsHaveTaskStudy /*|| taskInfo.IsMarkDicomStudy*/ || taskInfo.IsMarkNoneDicomStudy) { var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId) .WhereIf(taskInfo.IsHaveTaskStudy, t => t.VisitTaskId == indto.VisitTaskId) - .WhereIf(taskInfo.IsHaveTaskStudy == false && (taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId) + .WhereIf(taskInfo.IsHaveTaskStudy == false && (/*taskInfo.IsMarkDicomStudy ||*/ taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId) .WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index e95738f52..f3588bcb7 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -2444,8 +2444,10 @@ namespace IRaCIS.Core.Domain.Share /// LumenAreaMeasurement = 1030, - - + /// + /// 斑块到血管开口的距离 + /// + PlaqueToOstiumDistance=1031, /// /// 第一次测量