diff --git a/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs b/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs index 8796c4f77..5d46e7704 100644 --- a/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/Export/IVUS_OCTExportService.cs @@ -390,9 +390,17 @@ public class IVUS_OCTExportService(IRepository _r { var ivus = _mapper.Map(task); - //靶段 - ivus.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionName == "靶段").FirstOrDefault()?.QuestionValue ?? string.Empty; + //靶段 + ivus.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegment).FirstOrDefault()?.QuestionValue ?? string.Empty; + + + var marks = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegmentRemarks).FirstOrDefault()?.QuestionValue ?? string.Empty; + + if (marks.IsNotNullOrEmpty()) + { + ivus.TARGETV = ivus.TARGETV + "_" + marks; + } //斑块编号 ivus.PLAQUE = lesion.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.PlaqueNumber).FirstOrDefault()?.QuestionValue ?? string.Empty; @@ -407,10 +415,10 @@ public class IVUS_OCTExportService(IRepository _r //回撤中的图像帧数 - ivus.PFC = task.QuestionAnswerList.Where(t => t.QuestionName == "回撤中的图像帧数").FirstOrDefault()?.QuestionValue ?? string.Empty; + ivus.PFC = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.PullbackFrameCount).FirstOrDefault()?.QuestionValue ?? string.Empty; //分析图像帧数 - ivus.FC = task.QuestionAnswerList.Where(t => t.QuestionName == "分析图像帧数").FirstOrDefault()?.QuestionValue ?? string.Empty; + ivus.FC = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.AnalysisFrameCount).FirstOrDefault()?.QuestionValue ?? string.Empty; var findStatLession = task.LesionList.FirstOrDefault(t => t.LessionType == LesionType.PatchDataStatistics && t.LessionAnswerList.Any(t => t.QuestionMark == QuestionMark.PlaqueNumber && t.QuestionValue == ivus.PLAQUE)); var findPAVLession = task.LesionList.FirstOrDefault(t => t.LessionType == LesionType.PAV && t.LessionAnswerList.Any(t => t.QuestionMark == QuestionMark.PlaqueNumber && t.QuestionValue == ivus.PLAQUE)); @@ -451,9 +459,9 @@ public class IVUS_OCTExportService(IRepository _r { pNoIndex++; - var findFct1= fctLesion?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.FirstFCT).FirstOrDefault(); + var findFct1 = fctLesion?.LessionAnswerList.Where(t => t.QuestionMark == QuestionMark.FirstFCT).FirstOrDefault(); - if (findFct1 != null) + if (findFct1 != null) { var oct = CreatOCT(task, pNo); @@ -466,7 +474,7 @@ public class IVUS_OCTExportService(IRepository _r oct.TESTCD = "FCTMV1"; // 测量参数值 - oct.ORRES = findFct1?.QuestionValue??string.Empty; + oct.ORRES = findFct1?.QuestionValue ?? string.Empty; // 测量值单位 oct.ORRESU = translateDataList["ValueUnit"].Where(t => t.Code.ToLower() == ((int?)findFct1.Unit)?.ToString().ToLower()).Select(t => isEn_Us ? t.Value : t.ValueCN).FirstOrDefault() ?? String.Empty; @@ -493,7 +501,7 @@ public class IVUS_OCTExportService(IRepository _r // 测量值单位 oct.ORRESU = translateDataList["ValueUnit"].Where(t => t.Code.ToLower() == ((int?)findFct2.Unit)?.ToString().ToLower()).Select(t => isEn_Us ? t.Value : t.ValueCN).FirstOrDefault() ?? String.Empty; - + octList.Add(oct); } @@ -632,7 +640,16 @@ public class IVUS_OCTExportService(IRepository _r //靶段 - oct.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionName == "靶段").FirstOrDefault()?.QuestionValue ?? string.Empty; + //靶段 + oct.TARGETV = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegment).FirstOrDefault()?.QuestionValue ?? string.Empty; + + + var marks = task.QuestionAnswerList.Where(t => t.QuestionType == QuestionType.TargetSegmentRemarks).FirstOrDefault()?.QuestionValue ?? string.Empty; + + if (marks.IsNotNullOrEmpty()) + { + oct.TARGETV = oct.TARGETV + "_" + marks; + } //斑块编号 oct.PLAQUE = pNo; diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 645fa7dd9..895d30f2c 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -61,24 +61,24 @@ namespace IRaCIS.Core.Domain.Share /// 裁判匹配类型 /// public enum JudgeDifferenceType - { - /// - /// > - /// - Greater = 0, + { + /// + /// > + /// + Greater = 0, - /// - /// ≥ - /// - AboveOrEqual = 1, + /// + /// ≥ + /// + AboveOrEqual = 1, - } + } - /// - /// GetClinicalType - /// - public enum GetClinicalType + /// + /// GetClinicalType + /// + public enum GetClinicalType { /// @@ -130,11 +130,11 @@ namespace IRaCIS.Core.Domain.Share /// public enum GroupClassify { - /// - /// 质量问题 - /// - QualityProblem = 1, - + /// + /// 质量问题 + /// + QualityProblem = 1, + } /// @@ -142,7 +142,7 @@ namespace IRaCIS.Core.Domain.Share /// public enum ClinicalTableQuestionMark { - Test=1, + Test = 1, } /// @@ -182,12 +182,12 @@ namespace IRaCIS.Core.Domain.Share /// public enum ClinicalCalculateMark { - None = -1, + None = -1, - /// - /// + - /// - Add = 1, + /// + /// + + /// + Add = 1, /// /// - @@ -325,23 +325,23 @@ namespace IRaCIS.Core.Domain.Share /// 语言类型 /// public enum LanguageType - { + { - /// - /// 中文 - /// - Chinese = 0, + /// + /// 中文 + /// + Chinese = 0, - /// - /// 英文 - /// - English = 1 - } + /// + /// 英文 + /// + English = 1 + } - /// - /// 标准字典分类 - /// - public enum CrterionDictionaryGroup + /// + /// 标准字典分类 + /// + public enum CrterionDictionaryGroup { /// @@ -542,7 +542,7 @@ namespace IRaCIS.Core.Domain.Share //阅片期一致率 ReadingPeriodJudgeRatio_Export = 18, - TumorCDISC_Export=20, + TumorCDISC_Export = 20, IVUS_CDISC_Export = 21, @@ -604,67 +604,67 @@ namespace IRaCIS.Core.Domain.Share Min = 9 } - /// - /// 数值单位 - /// - public enum ValueUnit - { - /// - /// 无 - /// - none = 0, + /// + /// 数值单位 + /// + public enum ValueUnit + { + /// + /// 无 + /// + none = 0, - /// - /// mm - /// - mm = 1, + /// + /// mm + /// + mm = 1, - /// - /// cm - /// - cm = 2, + /// + /// cm + /// + cm = 2, - /// - /// 个 - /// - individual = 3, + /// + /// 个 + /// + individual = 3, - /// - /// 自定义 - /// - Custom = 4, + /// + /// 自定义 + /// + Custom = 4, - /// - /// mm2 - /// - mm2 = 5, + /// + /// mm2 + /// + mm2 = 5, - /// - /// mm3 - /// - mm3 = 6, + /// + /// mm3 + /// + mm3 = 6, - /// - /// SUV - /// - SUV = 7, + /// + /// SUV + /// + SUV = 7, - /// - /// HU - /// - HU = 8, + /// + /// HU + /// + HU = 8, - /// - /// % - /// - percentage = 9, - } + /// + /// % + /// + percentage = 9, + } - /// - /// 数值类型 - /// - public enum ValueOfType + /// + /// 数值类型 + /// + public enum ValueOfType { /// @@ -691,7 +691,7 @@ namespace IRaCIS.Core.Domain.Share /// /// 分组 /// - Group=0, + Group = 0, /// /// 问题 @@ -774,7 +774,7 @@ namespace IRaCIS.Core.Domain.Share /// RECIST1Point1 = 1, - + /// /// Lugano 2014 @@ -901,46 +901,46 @@ namespace IRaCIS.Core.Domain.Share } - /// - /// 病灶分裂或合并 - /// - public enum SplitOrMergeType - { - /// - /// 分裂 - /// - Split = 0, + /// + /// 病灶分裂或合并 + /// + public enum SplitOrMergeType + { + /// + /// 分裂 + /// + Split = 0, - /// - /// 融合 - /// - Merge = 1, + /// + /// 融合 + /// + Merge = 1, - /// - /// 分裂主病灶 - /// - SplitMain = 2, + /// + /// 分裂主病灶 + /// + SplitMain = 2, /// /// 融合过 再之前任务融合了 /// - Merged=3, + Merged = 3, - /// - /// 融合主病灶 - /// - MergeMain = 4, + /// + /// 融合主病灶 + /// + MergeMain = 4, - /// - /// 融合过的主病灶 - /// - MergeMained = 5, - } + /// + /// 融合过的主病灶 + /// + MergeMained = 5, + } - /// - /// 是否存在或者NA - /// - public enum ExistOrNA + /// + /// 是否存在或者NA + /// + public enum ExistOrNA { /// /// NA @@ -957,7 +957,7 @@ namespace IRaCIS.Core.Domain.Share /// Exist = 1, - + } /// @@ -981,7 +981,7 @@ namespace IRaCIS.Core.Domain.Share /// Yes = 1, - + } /// @@ -1055,17 +1055,17 @@ namespace IRaCIS.Core.Domain.Share /// /// 存在 /// - Exist=1, + Exist = 1, /// /// 疑似 /// - Equivocal=2, - + Equivocal = 2, + /// /// 消失 /// - Loss =3, + Loss = 3, /// /// 无法评估 @@ -1300,48 +1300,48 @@ namespace IRaCIS.Core.Domain.Share /// public enum FDGPETOverallAssessment { - /// - /// NA - /// - NA=-1, - - /// - /// CMR - /// - CMR=1, - - /// - /// PMR - /// - PMR=2, - - /// - /// NMR - /// - NMR=3, - - /// - /// PMD - /// - PMD=4, - - /// - /// NE - /// - NE=5, - - /// - /// ND - /// - ND=6, - - } + /// + /// NA + /// + NA = -1, + + /// + /// CMR + /// + CMR = 1, + + /// + /// PMR + /// + PMR = 2, + + /// + /// NMR + /// + NMR = 3, + + /// + /// PMD + /// + PMD = 4, + + /// + /// NE + /// + NE = 5, + + /// + /// ND + /// + ND = 6, + + } -/// -/// 与基线相比摄取值变化 -/// -public enum SUVChangeVSBaseline + /// + /// 与基线相比摄取值变化 + /// + public enum SUVChangeVSBaseline { /// /// 增大 @@ -1363,7 +1363,7 @@ public enum SUVChangeVSBaseline /// NotEvaluable = 4, - NA=5, + NA = 5, } /// @@ -1575,10 +1575,10 @@ public enum SUVChangeVSBaseline iUPD = 7, iCPD = 8, - /// - /// PR/SD - /// - PRSD = 9, + /// + /// PR/SD + /// + PRSD = 9, } @@ -1622,17 +1622,17 @@ public enum SUVChangeVSBaseline /// ND = 5, - iCR=6, + iCR = 6, - iPR=7, + iPR = 7, - iSD=8, + iSD = 8, - iUPD=9, + iUPD = 9, + + iCPD = 10, - iCPD=10, - } @@ -1797,29 +1797,29 @@ public enum SUVChangeVSBaseline } - /// - /// 转化显示类型 - /// - public enum ConvertShowType - { + /// + /// 转化显示类型 + /// + public enum ConvertShowType + { - /// - /// 全都显示 - /// - All = 0, + /// + /// 全都显示 + /// + All = 0, - /// - /// 转化前显示 - /// - BeforeShow = 1, + /// + /// 转化前显示 + /// + BeforeShow = 1, - /// - /// 转化后显示 - /// - AfterShow = 2 - } + /// + /// 转化后显示 + /// + AfterShow = 2 + } - public enum ReadingSetType + public enum ReadingSetType { /// /// 影像阅片 @@ -1872,7 +1872,7 @@ public enum SUVChangeVSBaseline /// /// 不显示 /// - NotShow =3, + NotShow = 3, } @@ -1931,12 +1931,12 @@ public enum SUVChangeVSBaseline [Display(Name = "PDF")] PDF = 1, - /// - /// 结构化录入 - /// - Structuring = 2, + /// + /// 结构化录入 + /// + Structuring = 2, - } + } /// /// 数据类型 @@ -1984,7 +1984,7 @@ public enum SUVChangeVSBaseline /// /// 基线病灶 /// - BaselineLesions=4, + BaselineLesions = 4, /// /// 新靶病灶 @@ -2024,7 +2024,7 @@ public enum SUVChangeVSBaseline /// /// 脂质角度 /// - LipidAngle =111, + LipidAngle = 111, /// /// FCT @@ -2095,8 +2095,8 @@ public enum SUVChangeVSBaseline /// /// 检查 /// - Study=4, - } + Study = 4, + } /// /// 全局答案类型 @@ -2133,22 +2133,22 @@ public enum SUVChangeVSBaseline /// /// 存在 /// - Exist=1, + Exist = 1, /// /// 消失 /// - Loss=2, + Loss = 2, /// /// 无法评估 /// - NotEvaluable=3, + NotEvaluable = 3, /// /// 太小 /// - TooSmall=4, + TooSmall = 4, } /// @@ -2248,7 +2248,7 @@ public enum SUVChangeVSBaseline /// /// 病灶数量 /// - LesionNumber =11, + LesionNumber = 11, /// /// PPD @@ -2370,11 +2370,11 @@ public enum SUVChangeVSBaseline /// 匹配动脉段最小FCT /// MiniMumFCT = 1017, - - /// - /// 平均最小FCT - /// - AvgMinFCT=1018, + + /// + /// 平均最小FCT + /// + AvgMinFCT = 1018, /// /// 脂质角度平均值 @@ -2412,7 +2412,7 @@ public enum SUVChangeVSBaseline CholesterolCrystallization = 1025, - + /// /// 第一次测量 @@ -2459,22 +2459,22 @@ public enum SUVChangeVSBaseline /// /// 0级 /// - Level0=1, + Level0 = 1, /// /// 1级 /// - Level1=2, + Level1 = 2, /// /// 2级 /// - Level2=3, + Level2 = 3, /// /// 3级 /// - Level3=4, + Level3 = 4, } @@ -2483,38 +2483,38 @@ public enum SUVChangeVSBaseline /// 影像质量问题 /// public enum ImageQualityIssues - { - /// - /// 解剖不完整 - /// - IncompleteAnatomy = 1, + { + /// + /// 解剖不完整 + /// + IncompleteAnatomy = 1, - /// - /// 扫描断层丢失 - /// - MissingScanSlice=2, + /// + /// 扫描断层丢失 + /// + MissingScanSlice = 2, - /// - /// 存在运动伪影 - /// - MotionArtifactsPresent = 3, + /// + /// 存在运动伪影 + /// + MotionArtifactsPresent = 3, - /// - /// 关键解剖部位缺失 - /// - KeyAnatomyOutOfFieldOfView = 4, + /// + /// 关键解剖部位缺失 + /// + KeyAnatomyOutOfFieldOfView = 4, - /// - /// 其它(需要备注) - /// - OtherIssuesCommentsRequired=5, + /// + /// 其它(需要备注) + /// + OtherIssuesCommentsRequired = 5, - /// - /// PET-CT影像无法融合 - /// - PETCTFailureFuse = 6, + /// + /// PET-CT影像无法融合 + /// + PETCTFailureFuse = 6, - } + } /// /// 阅片图表类型 @@ -2637,7 +2637,7 @@ public enum SUVChangeVSBaseline /// /// 疗效评估分组 /// - TherapeuticEffectEvaluationGroup=20, + TherapeuticEffectEvaluationGroup = 20, /// /// 访视点肿瘤评估 @@ -2752,12 +2752,12 @@ public enum SUVChangeVSBaseline /// /// 是否脑转移 /// - IsBrainMetastasis =43, + IsBrainMetastasis = 43, /// /// 影像质量评估 /// - ImageQualityAssessment=44, + ImageQualityAssessment = 44, /// /// Forrest出血部位 @@ -2774,10 +2774,10 @@ public enum SUVChangeVSBaseline /// LiverState = 47, - /// - /// 脾脏垂直径 - /// - SpleenLength = 48, + /// + /// 脾脏垂直径 + /// + SpleenLength = 48, /// /// 脾脏状态 @@ -2824,30 +2824,30 @@ public enum SUVChangeVSBaseline /// EvidenceFocalFDG = 57, - /// - /// 修改脾脏状态备注 - /// - SplenicStatusRemarks = 58, + /// + /// 修改脾脏状态备注 + /// + SplenicStatusRemarks = 58, - /// - /// 修改PET 5PS评分备注 - /// - PSScoreRemarks = 59, + /// + /// 修改PET 5PS评分备注 + /// + PSScoreRemarks = 59, - /// - /// 脾尖位置 - /// - SplenicTopPosition = 60, + /// + /// 脾尖位置 + /// + SplenicTopPosition = 60, - /// - /// 脾底位置 - /// - SplenicBottomPosition = 61, + /// + /// 脾底位置 + /// + SplenicBottomPosition = 61, - /// - /// 影像质量问题 - /// - ImageQualityProblem = 67, + /// + /// 影像质量问题 + /// + ImageQualityProblem = 67, /// /// 影像质量问题备注 @@ -2884,6 +2884,26 @@ public enum SUVChangeVSBaseline /// Plaque3MinFCT = 1008, + /// + /// 靶段 + /// + TargetSegment = 1009, + + /// + /// 回撤中的图像帧数 + /// + PullbackFrameCount = 1010, + + /// + /// 分析图像帧数 + /// + AnalysisFrameCount = 1011, + + /// + /// 靶段 备注 + /// + TargetSegmentRemarks = 1012, + /// /// 脂肪分数总平均值 /// @@ -2897,10 +2917,10 @@ public enum SUVChangeVSBaseline -/// -/// PET 5PS 评分 -/// -public enum PET5PSScore + /// + /// PET 5PS 评分 + /// + public enum PET5PSScore { /// /// 5分 @@ -2939,85 +2959,85 @@ public enum PET5PSScore } - /// - /// 计算触发 // 用的是SaveQuestionType 这个字典 - /// - public enum ComputationTrigger //SaveQuestionType - { - /// - /// 分裂病灶 - /// - SplitLesions = -6, + /// + /// 计算触发 // 用的是SaveQuestionType 这个字典 + /// + public enum ComputationTrigger //SaveQuestionType + { + /// + /// 分裂病灶 + /// + SplitLesions = -6, - /// - /// 融合病灶 - /// - MergeLesion = -5, + /// + /// 融合病灶 + /// + MergeLesion = -5, - /// - /// 删除病灶 - /// - RemoveLesion = -4, + /// + /// 删除病灶 + /// + RemoveLesion = -4, - /// - /// 融合保存病灶 - /// - MergeSave = -3, + /// + /// 融合保存病灶 + /// + MergeSave = -3, - /// - /// CT保存病灶 - /// - CTSave = -2, + /// + /// CT保存病灶 + /// + CTSave = -2, - /// - /// 初始计算 - /// - InitialCalculation = -1, + /// + /// 初始计算 + /// + InitialCalculation = -1, - /// - /// 保存影像质量 - /// - ImageQuality = 0, + /// + /// 保存影像质量 + /// + ImageQuality = 0, - /// - /// 保存PDG-PET - /// - PDGPET = 1, + /// + /// 保存PDG-PET + /// + PDGPET = 1, - /// - /// 测量肝脏血池 - /// - LiverBloodPool = 2, + /// + /// 测量肝脏血池 + /// + LiverBloodPool = 2, - /// - /// 测量纵膈血池 - /// - MediastinalPool = 3, + /// + /// 测量纵膈血池 + /// + MediastinalPool = 3, - /// - /// 标注脾尖位置 - /// - SplenicApexPosition = 4, + /// + /// 标注脾尖位置 + /// + SplenicApexPosition = 4, - /// - /// 标注脾底位置 - /// - PositionSpleenFloor = 5, + /// + /// 标注脾底位置 + /// + PositionSpleenFloor = 5, - /// - /// 保存肝脏状态 - /// - LiverStatus = 6, + /// + /// 保存肝脏状态 + /// + LiverStatus = 6, - /// - /// 保存脾脏评估 - /// - SplenicEvaluation = 7, + /// + /// 保存脾脏评估 + /// + SplenicEvaluation = 7, /// /// 测量值 /// - MeasuredValue =8, + MeasuredValue = 8, /// /// 斑块数据统计 @@ -3037,7 +3057,7 @@ public enum PET5PSScore /// /// 保存eCRF /// - SaveEICRFQuestions=12, + SaveEICRFQuestions = 12, } /// @@ -3130,39 +3150,39 @@ public enum PET5PSScore /// AnswerCombination = 3, - /// - /// 相差绝对值 - /// - DifferenceAbsoluteValue = 4, + /// + /// 相差绝对值 + /// + DifferenceAbsoluteValue = 4, - /// - /// 相差百分比 - /// - PercentageDifference = 5, + /// + /// 相差百分比 + /// + PercentageDifference = 5, - } + } - /// - /// 显示限制 - /// - public enum LimitShow - { - /// - /// 全都显示 - /// - AllShow = 0, + /// + /// 显示限制 + /// + public enum LimitShow + { + /// + /// 全都显示 + /// + AllShow = 0, - /// - /// 基线显示 - /// - BaseLineShow = 1, + /// + /// 基线显示 + /// + BaseLineShow = 1, - /// - /// 随访显示 - /// - FollowShow = 2, + /// + /// 随访显示 + /// + FollowShow = 2, /// @@ -3173,10 +3193,10 @@ public enum PET5PSScore } - /// - /// 限制编辑 - /// - public enum LimitEdit + /// + /// 限制编辑 + /// + public enum LimitEdit { /// @@ -3299,7 +3319,7 @@ public enum PET5PSScore /// ReadCompleted = 5, - + }