算法修改
parent
e4d9bdf998
commit
1dc0219fa1
|
@ -1437,10 +1437,57 @@
|
|||
<returns></returns>
|
||||
</member>
|
||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetIRECISTTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetIRECISTNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetOtherNewTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||
<summary>
|
||||
获取新靶病灶评估
|
||||
获取其它既往新病灶评估
|
||||
</summary>
|
||||
<remarks>
|
||||
if(有其它既往新病灶消失或一直不存在任何其它既往新病灶)
|
||||
{
|
||||
疗效为 ND
|
||||
}
|
||||
else if (任一病灶从非“存在”状态改为“存在”状态)
|
||||
{
|
||||
疗效为 iUPD
|
||||
}
|
||||
else if (至少有一个其它既往新病灶无法评估)
|
||||
{
|
||||
疗效为 NE
|
||||
}
|
||||
else if (至少有一个其它既往新病灶为疑似状态)
|
||||
{
|
||||
疗效为 疑似
|
||||
}
|
||||
</remarks>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewLesionAfterTriggeringiRECSITAssessment(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<remarks>
|
||||
if现至少1个“存在”状态的触发iRECIST后新病灶)
|
||||
{
|
||||
疗效为 是
|
||||
}
|
||||
else if (只要有一个触发iRECIST后新病灶评估为NE)
|
||||
{
|
||||
疗效为 NE
|
||||
}
|
||||
else if (只要有一个触发iRECIST后新病灶评估为疑似)
|
||||
{
|
||||
疗效为 疑似
|
||||
}
|
||||
else
|
||||
{
|
||||
疗效为 否
|
||||
}
|
||||
|
||||
</remarks>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
|
@ -7229,14 +7276,59 @@
|
|||
与基线期SOD相比减小≥30 %
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion">
|
||||
<summary>
|
||||
IRECIST 非靶病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.NotExistsNoTargetLesion">
|
||||
<summary>
|
||||
基线未选择任何非靶病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.LastNoTargetLesion">
|
||||
<summary>
|
||||
上次非靶病灶评估结果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.ExistiCPD">
|
||||
<summary>
|
||||
任一非靶病灶状态评估为“进一步增大(iCPD)”
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.LastNoUPD">
|
||||
<summary>
|
||||
出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.ExistiUPD">
|
||||
<summary>
|
||||
任一非靶病灶状态评估为 iUPD
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.RECISTPD">
|
||||
<summary>
|
||||
满足RECIST1.1PD
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.HaveNeLesion">
|
||||
<summary>
|
||||
有任一非靶病灶为NE状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNoTargetLesion.AllVanish">
|
||||
<summary>
|
||||
全部为消失
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto">
|
||||
<summary>
|
||||
新靶病灶评估Dto
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.ExistsNewTargetLesion">
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.NotExistsNewTargetLesion">
|
||||
<summary>
|
||||
存在新靶病灶
|
||||
不存在新靶病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.AllVanish">
|
||||
|
@ -7244,9 +7336,9 @@
|
|||
所有状态为消失
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.LastTaskIsiUPD">
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.LastTaskNewTargetLesion">
|
||||
<summary>
|
||||
上一访视新靶病灶评估为“iUPD”
|
||||
上一访视新靶病灶评估
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewTargetLesionDto.ISODAdd5mm">
|
||||
|
@ -7264,9 +7356,39 @@
|
|||
至少有一个新靶病无法评估
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.ExistsNewNoTargetLesion">
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto">
|
||||
<summary>
|
||||
存在新非靶病灶
|
||||
其他既往新病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto.NotExistsOtherNewTargetLesion">
|
||||
<summary>
|
||||
不存在其他既往新病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto.AllVanish">
|
||||
<summary>
|
||||
所有状态为消失
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto.LastTaskNoExists">
|
||||
<summary>
|
||||
当任一病灶从非“存在”状态改为“存在”状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto.ExixtsUnevaluableState">
|
||||
<summary>
|
||||
至少有一个病灶无法评估
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTOtherNewTargetLesionDto.ExixtsSuspectedState">
|
||||
<summary>
|
||||
至少有一个其它既往新病灶为疑似状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.NotExistsNewNoTargetLesion">
|
||||
<summary>
|
||||
不存在新非靶病灶
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.AllVanish">
|
||||
|
@ -7274,9 +7396,14 @@
|
|||
所有状态为消失
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.LastTaskIsiUPD">
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.LastTaskNewNoTargetLesion">
|
||||
<summary>
|
||||
上一访视新靶病灶评估为“iUPD”
|
||||
上一访视新非靶病灶评估
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.NewTargetLesion">
|
||||
<summary>
|
||||
当前访视的新靶病灶评估
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.ViewModel.IRECISTNewNoTargetLesionDto.ExixtsEnlargementState">
|
||||
|
|
|
@ -107,7 +107,51 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// IRECIST 非靶病灶
|
||||
/// </summary>
|
||||
public class IRECISTNoTargetLesion
|
||||
{
|
||||
/// <summary>
|
||||
/// 基线未选择任何非靶病灶
|
||||
/// </summary>
|
||||
public bool NotExistsNoTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上次非靶病灶评估结果
|
||||
/// </summary>
|
||||
public string LastNoTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任一非靶病灶状态评估为“进一步增大(iCPD)”
|
||||
/// </summary>
|
||||
public bool ExistiCPD { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”
|
||||
/// </summary>
|
||||
public bool LastNoUPD { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任一非靶病灶状态评估为 iUPD
|
||||
/// </summary>
|
||||
public bool ExistiUPD { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 满足RECIST1.1PD
|
||||
/// </summary>
|
||||
public bool RECISTPD { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 有任一非靶病灶为NE状态
|
||||
/// </summary>
|
||||
public bool HaveNeLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 全部为消失
|
||||
/// </summary>
|
||||
public bool AllVanish { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新靶病灶评估Dto
|
||||
|
@ -115,9 +159,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public class IRECISTNewTargetLesionDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在新靶病灶
|
||||
/// 不存在新靶病灶
|
||||
/// </summary>
|
||||
public bool ExistsNewTargetLesion { get; set; }
|
||||
public bool NotExistsNewTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所有状态为消失
|
||||
|
@ -125,9 +169,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public bool AllVanish { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上一访视新靶病灶评估为“iUPD”
|
||||
/// 上一访视新靶病灶评估
|
||||
/// </summary>
|
||||
public bool LastTaskIsiUPD { get; set; }
|
||||
public string LastTaskNewTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SOD增加5mm以上
|
||||
|
@ -145,12 +189,51 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public bool ExixtsUnevaluableState { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 其他既往新病灶
|
||||
/// </summary>
|
||||
public class IRECISTOtherNewTargetLesionDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 不存在其他既往新病灶
|
||||
/// </summary>
|
||||
public bool NotExistsOtherNewTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所有状态为消失
|
||||
/// </summary>
|
||||
public bool AllVanish { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当任一病灶从非“存在”状态改为“存在”状态
|
||||
/// </summary>
|
||||
public bool LastTaskNoExists { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 至少有一个病灶无法评估
|
||||
/// </summary>
|
||||
public bool ExixtsUnevaluableState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 至少有一个其它既往新病灶为疑似状态
|
||||
/// </summary>
|
||||
public bool ExixtsSuspectedState { get; set; }
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// 触发iRECIST后新病灶评估
|
||||
///// </summary>
|
||||
//public class NewLesionAfterTriggeringiRECSITAssessmentDto
|
||||
//{
|
||||
|
||||
//}
|
||||
|
||||
public class IRECISTNewNoTargetLesionDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在新非靶病灶
|
||||
/// 不存在新非靶病灶
|
||||
/// </summary>
|
||||
public bool ExistsNewNoTargetLesion { get; set; }
|
||||
public bool NotExistsNewNoTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所有状态为消失
|
||||
|
@ -159,9 +242,14 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// 上一访视新靶病灶评估为“iUPD”
|
||||
/// 上一访视新非靶病灶评估
|
||||
/// </summary>
|
||||
public bool LastTaskIsiUPD { get; set; }
|
||||
public string LastTaskNewNoTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前访视的新靶病灶评估
|
||||
/// </summary>
|
||||
public string NewTargetLesion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任一新非靶病灶状态为“增大”
|
||||
|
|
|
@ -1545,10 +1545,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
/// if(基线没有靶病灶)
|
||||
/// {
|
||||
/// 靶病灶疗效为 ND
|
||||
/// }else if ((上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件)|| 上一访视评估为iUPD || 本次访视SOD增加不小于5mm)
|
||||
/// }
|
||||
/// else if (上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件&&比整体访视期间最低点SOD增加≥20%&&比整体访视期间最低点SOD绝对增加值≥5 mm)
|
||||
/// {
|
||||
/// 靶病灶疗效为 ICPD
|
||||
/// } else if (本次访视满足RECIST1.1的PD条件 && (比整体访视期间最低点SOD增加≥20 % && 比整体访视期间最低点SOD绝对增加值≥5 mm)|| (前一访视评估为iCR && 当前访视至少有一个“存在”状态的靶病灶))
|
||||
/// }
|
||||
/// else if (上一访视评估为iUPD||本次访视SOD增加不小于5mm)
|
||||
/// {
|
||||
/// 靶病灶疗效为 ICPD
|
||||
/// }
|
||||
/// else if (本次访视满足RECIST1.1的PD条件 && (比整体访视期间最低点SOD增加≥20 % && 比整体访视期间最低点SOD绝对增加值≥5 mm)|| (前一访视评估为iCR && 当前访视至少有一个“存在”状态的靶病灶))
|
||||
/// {
|
||||
/// 靶病灶疗效为 iUPD
|
||||
/// } else if (有任一靶病灶为NE状态)
|
||||
|
@ -1639,18 +1645,24 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
// 靶病灶疗效为 ND
|
||||
result = TargetAssessment.ND;
|
||||
}
|
||||
// }else if ((上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件)|| 上一访视评估为iUPD || 本次访视SOD增加不小于5mm)
|
||||
else if ((resultData.LastTaskTarget.EqEnum(OverallAssessment.iCPD) && resultData.MeetRECISTPD) || resultData.LastTaskTarget.EqEnum(OverallAssessment.iUPD) || resultData.SODAddGreaterThan5)
|
||||
// else if (上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件&&比整体访视期间最低点SOD增加≥20%&&比整体访视期间最低点SOD绝对增加值≥5 mm)
|
||||
else if (resultData.LastTaskTarget.EqEnum(OverallAssessment.iCPD) && resultData.MeetRECISTPD && resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5)
|
||||
{
|
||||
// 靶病灶疗效为 ICPD
|
||||
result = TargetAssessment.iCPD;
|
||||
}
|
||||
// else if (上一访视评估为iUPD||本次访视SOD增加不小于5mm)
|
||||
else if (resultData.LastTaskTarget.EqEnum(OverallAssessment.iUPD) || resultData.SODAddGreaterThan5)
|
||||
{
|
||||
// 靶病灶疗效为 ICPD
|
||||
result = TargetAssessment.iCPD;
|
||||
}
|
||||
// } else if (本次访视满足RECIST1.1的PD条件 && (比整体访视期间最低点SOD增加≥20 % && 比整体访视期间最低点SOD绝对增加值≥5 mm)|| (前一访视评估为iCR && 当前访视至少有一个“存在”状态的靶病灶))
|
||||
else if(resultData.MeetRECISTPD&&(resultData.LowSodAddGreaterThan20Percent&&resultData.LowSodAddGreaterThan5)|| (resultData.LastTaskTarget.EqEnum(OverallAssessment.iCR)&&resultData.HaveExistLesion))
|
||||
else if (resultData.MeetRECISTPD && (resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5) || (resultData.LastTaskTarget.EqEnum(OverallAssessment.iCR) && resultData.HaveExistLesion))
|
||||
{
|
||||
// 靶病灶疗效为 iUPD
|
||||
result = TargetAssessment.iUPD;
|
||||
}
|
||||
}
|
||||
// else if (有任一靶病灶为NE状态)
|
||||
else if(resultData.HaveNeLesion)
|
||||
{
|
||||
|
@ -1683,11 +1695,164 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
#region IRECIST非靶病灶评估
|
||||
|
||||
/// <summary>
|
||||
/// IRECIST非靶病灶评估
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// if(基线没有非靶病灶)
|
||||
/// {
|
||||
/// 非靶病灶疗效为 ND
|
||||
/// }
|
||||
/// else if (上次非靶病灶评估结果为非iUPD && (任一非靶病灶状态评估为“进一步增大(iCPD)||出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”))
|
||||
/// {
|
||||
/// 非靶病灶疗效为 iCPD
|
||||
/// }
|
||||
/// else if (上次非靶病灶评估结果为非iCPD && 任一非靶病灶状态评估为“进一步增大(iCPD)”或“显著增大(iUPD)”)
|
||||
/// {
|
||||
/// 非靶病灶疗效为 iCPD
|
||||
/// }
|
||||
/// else if (满足RECIST1.1的PD标准 && 任一非靶病灶状态评估为“显著增大(iUPD)”)
|
||||
/// {
|
||||
/// 非靶病灶疗效为 iUPD
|
||||
/// }
|
||||
/// else if (有任一非靶病灶为NE状态)
|
||||
/// {
|
||||
/// 非靶病灶疗效为 NE
|
||||
/// }
|
||||
/// else if (全部非靶病灶均为“消失”状态)
|
||||
/// {
|
||||
/// 非靶病灶疗效为 iCR
|
||||
/// }
|
||||
/// else
|
||||
/// {
|
||||
/// 非靶病灶疗效为 iNN
|
||||
/// }
|
||||
/// </remarks>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetIRECISTNoTargetLesionEvaluate(ReadingCalculateDto inDto)
|
||||
{
|
||||
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList).ToList();
|
||||
var lastVisitTaskId = await GetLastVisitTaskId(inDto);
|
||||
var noTargetQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NoTargetLesion).Select(x => x.QuestionId).FirstOrDefault();
|
||||
|
||||
// 找上一次任务 未被评为显著增大的非靶病灶
|
||||
ReadingCalculateDto lastTaskCalculateDto = await _generalCalculateService.GetReadingCalculateDto(lastVisitTaskId);
|
||||
|
||||
var lastTaskNoiUPDIndexs = lastTaskCalculateDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList)
|
||||
.Where(x => x.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && !x.Answer.EqEnum(NoTargetState.IUPD))).Select(x => x.RowIndex).ToList();
|
||||
|
||||
|
||||
IRECISTNoTargetLesion data = new IRECISTNoTargetLesion()
|
||||
{
|
||||
// 基线没有非靶病灶
|
||||
NotExistsNoTargetLesion = tableQuestion.Count() == 0,
|
||||
|
||||
// 上次非靶病灶评估结果
|
||||
LastNoTargetLesion = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == noTargetQuestionId)
|
||||
.Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty,
|
||||
|
||||
// 任一非靶病灶状态评估为“进一步增大(iCPD)”
|
||||
ExistiCPD = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.ICPD)),
|
||||
|
||||
// 出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”
|
||||
LastNoUPD = tableQuestion.Where(x => lastTaskNoiUPDIndexs.Contains(x.RowIndex)).SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.IUPD)),
|
||||
|
||||
// 任一非靶病灶状态评估为 iUPD
|
||||
ExistiUPD = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.IUPD)),
|
||||
|
||||
// 满足RECIST1.1PD
|
||||
RECISTPD = (await GetNoTargetLesionEvaluate(inDto)).EqEnum(NoTargetAssessment.PD),
|
||||
|
||||
// 有任一非靶病灶为NE状态
|
||||
HaveNeLesion = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.UnableEvaluate)),
|
||||
|
||||
// 全部为消失
|
||||
AllVanish = true,
|
||||
};
|
||||
|
||||
|
||||
foreach (var item in tableQuestion)
|
||||
{
|
||||
data.AllVanish = data.AllVanish && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Loss));
|
||||
}
|
||||
|
||||
NoTargetAssessment result = NoTargetAssessment.iNN;
|
||||
|
||||
// if(基线没有非靶病灶)
|
||||
if (data.NotExistsNoTargetLesion)
|
||||
{
|
||||
// 非靶病灶疗效为 ND
|
||||
result = NoTargetAssessment.ND;
|
||||
}
|
||||
// else if (上次非靶病灶评估结果为非iUPD && (任一非靶病灶状态评估为“进一步增大(iCPD)||出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”))
|
||||
else if (!data.LastNoTargetLesion.EqEnum(NoTargetAssessment.iUPD) && (data.ExistiCPD || data.LastNoUPD))
|
||||
{
|
||||
// 非靶病灶疗效为 iCPD
|
||||
result = NoTargetAssessment.iCPD;
|
||||
}
|
||||
// else if (上次非靶病灶评估结果为非iCPD && 任一非靶病灶状态评估为“进一步增大(iCPD)”或“显著增大(iUPD)”)
|
||||
else if (!data.LastNoTargetLesion.EqEnum(NoTargetAssessment.iCPD) && (data.ExistiCPD || data.ExistiUPD))
|
||||
{
|
||||
// 非靶病灶疗效为 iCPD
|
||||
result = NoTargetAssessment.iCPD;
|
||||
}
|
||||
// else if (满足RECIST1.1的PD标准 && 任一非靶病灶状态评估为“显著增大(iUPD)”)
|
||||
else if (data.RECISTPD && data.ExistiUPD)
|
||||
{
|
||||
// 非靶病灶疗效为 iUPD
|
||||
result = NoTargetAssessment.iUPD;
|
||||
}
|
||||
// else if (有任一非靶病灶为NE状态)
|
||||
else if (data.HaveNeLesion)
|
||||
{
|
||||
// 非靶病灶疗效为 NE
|
||||
result = NoTargetAssessment.NE;
|
||||
}
|
||||
// else if (全部非靶病灶均为“消失”状态)
|
||||
else if (data.AllVanish)
|
||||
{
|
||||
// 非靶病灶疗效为 iCR
|
||||
result = NoTargetAssessment.iCR;
|
||||
}
|
||||
// else
|
||||
else
|
||||
{
|
||||
// 非靶病灶疗效为 iNN
|
||||
result = NoTargetAssessment.iNN;
|
||||
}
|
||||
|
||||
return result.GetEnumInt();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region IRECIST新靶病灶评估
|
||||
|
||||
/// <summary>
|
||||
/// 获取新靶病灶评估
|
||||
/// 获取IRECIST新靶病灶评估
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// if(所有新靶病灶消失或一直不存在任何新靶病灶)
|
||||
/// {
|
||||
/// 疗效为 ND
|
||||
/// }
|
||||
/// else if (上一访视新靶病灶评估为“iUPD” && 满足iSOD增加5mm)
|
||||
/// {
|
||||
/// 疗效为 iCPD
|
||||
/// }
|
||||
/// else if (上一访视新靶病灶评估为“iCPD”&& 有"存在"状态的新靶病灶)
|
||||
/// {
|
||||
/// 疗效为 iCPD
|
||||
/// }
|
||||
/// else if (有存在状态的新靶病灶时评估为该结果)
|
||||
/// {
|
||||
/// 疗效为 iUPD
|
||||
/// }
|
||||
/// else if (至少有一个新靶病无法评估)
|
||||
/// {
|
||||
/// 疗效为 NE
|
||||
/// }
|
||||
/// </remarks>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetNewTargetLesionEvaluate(ReadingCalculateDto inDto)
|
||||
|
@ -1697,33 +1862,322 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
{
|
||||
return TargetAssessment.NA.GetEnumInt();
|
||||
}
|
||||
|
||||
IRECISTNewTargetLesionDto resultData = new IRECISTNewTargetLesionDto()
|
||||
var lastVisitTaskId = await GetLastVisitTaskId(inDto);
|
||||
var newTargetLesionQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewTargetLesion).Select(x => x.QuestionId).FirstOrDefault();
|
||||
var sodQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SOD).Select(x => x.QuestionId).FirstOrDefault();
|
||||
IRECISTNewTargetLesionDto data = new IRECISTNewTargetLesionDto()
|
||||
{
|
||||
// 是否存在新靶病灶
|
||||
ExistsNewTargetLesion = tableQuestion.Count() > 0,
|
||||
// 不存在新靶病灶
|
||||
NotExistsNewTargetLesion = tableQuestion.Count() == 0,
|
||||
|
||||
// 所有状态为消失
|
||||
AllVanish = false,
|
||||
AllVanish = true,
|
||||
|
||||
// 上一访视新靶病灶评估为“iUPD”
|
||||
LastTaskIsiUPD = true,
|
||||
// 上一访视新靶病灶评估
|
||||
LastTaskNewTargetLesion = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == newTargetLesionQuestionId)
|
||||
.Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty,
|
||||
|
||||
//SOD增加5mm以上
|
||||
ISODAdd5mm = true,
|
||||
ISODAdd5mm = await GetSODData(inDto) - (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == sodQuestionId)
|
||||
.Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0() >= 5,
|
||||
|
||||
//有"存在"状态的新靶病灶
|
||||
HaveExixtsState = true,
|
||||
HaveExixtsState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist)),
|
||||
|
||||
// 至少有一个新靶病无法评估
|
||||
ExixtsUnevaluableState = true,
|
||||
ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist)),
|
||||
|
||||
};
|
||||
|
||||
return string.Empty;
|
||||
|
||||
foreach (var item in tableQuestion)
|
||||
{
|
||||
data.AllVanish = data.AllVanish && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Loss));
|
||||
}
|
||||
|
||||
NewTargetLesionAssessment result = NewTargetLesionAssessment.NE;
|
||||
|
||||
// if(所有新靶病灶消失或一直不存在任何新靶病灶)
|
||||
if(data.NotExistsNewTargetLesion||data.AllVanish)
|
||||
{
|
||||
// 疗效为 ND
|
||||
result = NewTargetLesionAssessment.ND;
|
||||
}
|
||||
// else if (上一访视新靶病灶评估为“iUPD” && 满足iSOD增加5mm)
|
||||
else if(data.LastTaskNewTargetLesion.EqEnum(NewTargetLesionAssessment.iUPD)&&data.ISODAdd5mm)
|
||||
{
|
||||
// 疗效为 iCPD
|
||||
result = NewTargetLesionAssessment.iCPD;
|
||||
}
|
||||
// else if (上一访视新靶病灶评估为“iCPD”&& 有"存在"状态的新靶病灶)
|
||||
else if (data.LastTaskNewTargetLesion.EqEnum(NewTargetLesionAssessment.iCPD) && data.HaveExixtsState)
|
||||
{
|
||||
// 疗效为 iCPD
|
||||
result = NewTargetLesionAssessment.iCPD;
|
||||
}
|
||||
// else if (有存在状态的新靶病灶时评估为该结果)
|
||||
else if ( data.HaveExixtsState)
|
||||
{
|
||||
// 疗效为 iUPD
|
||||
result = NewTargetLesionAssessment.iUPD;
|
||||
}
|
||||
// else if (至少有一个新靶病无法评估)
|
||||
else if (data.ExixtsUnevaluableState)
|
||||
{
|
||||
// 疗效为 NE
|
||||
result = NewTargetLesionAssessment.iUPD;
|
||||
}
|
||||
|
||||
return result.GetEnumInt();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取新非靶病灶评估
|
||||
/// <summary>
|
||||
/// 获取新非靶病灶评估
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// if(所有新非靶病灶消失或一直不存在任何新非靶病灶时评估为该结果)
|
||||
/// {
|
||||
/// 疗效为 ND
|
||||
/// }
|
||||
/// else if (上一访视新非靶病灶评估为“iUPD” && 满足任一新非靶病灶状态为“增大”)
|
||||
/// {
|
||||
/// 疗效为 iCPD
|
||||
/// }
|
||||
/// else if (上一访视新非靶病灶评估为“iCPD”&& 有"存在"状态的新非靶病灶)
|
||||
/// {
|
||||
/// 疗效为 iCPD
|
||||
/// }
|
||||
/// else if (当有存在状态的新非靶病灶)
|
||||
/// {
|
||||
/// 疗效为 iUPD
|
||||
/// }
|
||||
/// else if (至少有一个新非靶病无法评估)
|
||||
/// {
|
||||
/// 疗效为 NE
|
||||
/// }
|
||||
/// </remarks>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetNewNoTargetLesionEvaluate(ReadingCalculateDto inDto)
|
||||
{
|
||||
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewNonTargetLesion).SelectMany(x => x.TableRowInfoList).ToList();
|
||||
|
||||
var newTargetLesionQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewTargetLesion).Select(x => x.QuestionId).FirstOrDefault();
|
||||
var lastVisitTaskId = await GetLastVisitTaskId(inDto);
|
||||
var newNoTargetLesionQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewNoTargetLesion).Select(x => x.QuestionId).FirstOrDefault();
|
||||
IRECISTNewNoTargetLesionDto data = new IRECISTNewNoTargetLesionDto()
|
||||
{
|
||||
// 不存在新非靶病灶
|
||||
NotExistsNewNoTargetLesion = tableQuestion.Count() == 0,
|
||||
|
||||
// 所有状态为消失
|
||||
AllVanish = tableQuestion.Count() == tableQuestion.Where(x => x.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Loss))).Count(),
|
||||
|
||||
// 上一访视新非靶病灶评估
|
||||
LastTaskNewNoTargetLesion = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == newNoTargetLesionQuestionId)
|
||||
.Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty,
|
||||
|
||||
//当前访视的新靶病灶评估
|
||||
NewTargetLesion = inDto.QuestionInfo.Where(x=>x.QuestionId== newTargetLesionQuestionId).Select(x=>x.Answer).FirstIsNullReturnEmpty(),
|
||||
|
||||
// 任一新非靶病灶状态为“增大”
|
||||
ExixtsEnlargementState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Progression)),
|
||||
|
||||
// 有"存在"状态的病灶
|
||||
HaveExixtsState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Exist)),
|
||||
|
||||
// 至少有一个病灶无法评估
|
||||
ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.NotEvaluable)),
|
||||
};
|
||||
|
||||
NewNoTargetLesionAssessment result = NewNoTargetLesionAssessment.NE;
|
||||
|
||||
// if(所有新非靶病灶消失或一直不存在任何新非靶病灶时评估为该结果)
|
||||
if(data.NotExistsNewNoTargetLesion|| data.AllVanish)
|
||||
{
|
||||
// 疗效为 ND
|
||||
result = NewNoTargetLesionAssessment.ND;
|
||||
}
|
||||
// else if (上一访视新非靶病灶评估为“iUPD” && 满足任一新非靶病灶状态为“增大”)
|
||||
else if(data.LastTaskNewNoTargetLesion.EqEnum(NewNoTargetLesionAssessment.iUPD)&& data.ExixtsEnlargementState)
|
||||
{
|
||||
// 疗效为 iCPD
|
||||
result = NewNoTargetLesionAssessment.iCPD;
|
||||
}
|
||||
// else if (上一访视新非靶病灶评估为“iCPD”&& 有"存在"状态的新非靶病灶)
|
||||
else if (data.LastTaskNewNoTargetLesion.EqEnum(NewNoTargetLesionAssessment.iCPD) && data.HaveExixtsState)
|
||||
{
|
||||
// 疗效为 iCPD
|
||||
result = NewNoTargetLesionAssessment.iCPD;
|
||||
}
|
||||
// else if (当有存在状态的新非靶病灶)
|
||||
else if (data.HaveExixtsState)
|
||||
{
|
||||
// 疗效为 iUPD
|
||||
result = NewNoTargetLesionAssessment.iUPD;
|
||||
}
|
||||
// else if (至少有一个新非靶病无法评估)
|
||||
else if(data.ExixtsUnevaluableState)
|
||||
{
|
||||
// 疗效为 NE
|
||||
result = NewNoTargetLesionAssessment.NE;
|
||||
}
|
||||
|
||||
return result.GetEnumInt();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 其它既往新病灶评估
|
||||
/// <summary>
|
||||
/// 获取其它既往新病灶评估
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// if(有其它既往新病灶消失或一直不存在任何其它既往新病灶)
|
||||
/// {
|
||||
/// 疗效为 ND
|
||||
/// }
|
||||
/// else if (任一病灶从非“存在”状态改为“存在”状态)
|
||||
/// {
|
||||
/// 疗效为 iUPD
|
||||
/// }
|
||||
/// else if (至少有一个其它既往新病灶无法评估)
|
||||
/// {
|
||||
/// 疗效为 NE
|
||||
/// }
|
||||
/// else if (至少有一个其它既往新病灶为疑似状态)
|
||||
/// {
|
||||
/// 疗效为 疑似
|
||||
/// }
|
||||
/// </remarks>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetOtherNewTargetLesionEvaluate(ReadingCalculateDto inDto)
|
||||
{
|
||||
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList).ToList();
|
||||
|
||||
var lastVisitTaskId = await GetLastVisitTaskId(inDto);
|
||||
|
||||
|
||||
// 找上一次任务 未被评为显著增大的非靶病灶
|
||||
ReadingCalculateDto lastTaskCalculateDto = await _generalCalculateService.GetReadingCalculateDto(lastVisitTaskId);
|
||||
|
||||
var lastTaskNoExistIndexs = lastTaskCalculateDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList)
|
||||
.Where(x => x.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && !x.Answer.EqEnum(OtherPreviousNewLesionState.Exists))).Select(x => x.RowIndex).ToList();
|
||||
|
||||
IRECISTOtherNewTargetLesionDto data = new IRECISTOtherNewTargetLesionDto()
|
||||
{
|
||||
// 不存在其他既往新病灶
|
||||
NotExistsOtherNewTargetLesion = tableQuestion.Count() == 0,
|
||||
|
||||
// 所有状态为消失
|
||||
AllVanish = tableQuestion.Count() == tableQuestion.Where(x => x.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Loss))).Count(),
|
||||
|
||||
// 当任一病灶从非“存在”状态改为“存在”状态
|
||||
LastTaskNoExists = tableQuestion.Where(x => lastTaskNoExistIndexs.Contains(x.RowIndex)).SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exists)),
|
||||
|
||||
// 至少有一个病灶无法评估
|
||||
ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.NotEvaluable)),
|
||||
|
||||
// 至少有一个其它既往新病灶为疑似状态
|
||||
ExixtsSuspectedState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Equivocal)),
|
||||
|
||||
};
|
||||
|
||||
OtherPreviousNewLesionAssessment result = OtherPreviousNewLesionAssessment.Equivocal;
|
||||
|
||||
// if(有其它既往新病灶消失或一直不存在任何其它既往新病灶)
|
||||
if (data.NotExistsOtherNewTargetLesion || data.AllVanish)
|
||||
{
|
||||
// 疗效为 ND
|
||||
result = OtherPreviousNewLesionAssessment.ND;
|
||||
}
|
||||
// else if (任一病灶从非“存在”状态改为“存在”状态)
|
||||
else if (data.LastTaskNoExists)
|
||||
{
|
||||
// 疗效为 iUPD
|
||||
result = OtherPreviousNewLesionAssessment.iUPD;
|
||||
}
|
||||
// else if (至少有一个其它既往新病灶无法评估)
|
||||
else if (data.ExixtsUnevaluableState)
|
||||
{
|
||||
// 疗效为 NE
|
||||
result = OtherPreviousNewLesionAssessment.NE;
|
||||
}
|
||||
// else if (至少有一个其它既往新病灶为疑似状态)
|
||||
else if (data.ExixtsSuspectedState)
|
||||
{
|
||||
// 疗效为 疑似
|
||||
result = OtherPreviousNewLesionAssessment.Equivocal;
|
||||
}
|
||||
|
||||
return result.GetEnumInt();
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 触发iRECIST后新病灶评估
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// if现至少1个“存在”状态的触发iRECIST后新病灶)
|
||||
/// {
|
||||
/// 疗效为 是
|
||||
/// }
|
||||
/// else if (只要有一个触发iRECIST后新病灶评估为NE)
|
||||
/// {
|
||||
/// 疗效为 NE
|
||||
/// }
|
||||
/// else if (只要有一个触发iRECIST后新病灶评估为疑似)
|
||||
/// {
|
||||
/// 疗效为 疑似
|
||||
/// }
|
||||
/// else
|
||||
/// {
|
||||
/// 疗效为 否
|
||||
/// }
|
||||
///
|
||||
/// </remarks>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> GetNewLesionAfterTriggeringiRECSITAssessment(ReadingCalculateDto inDto)
|
||||
{
|
||||
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).ToList();
|
||||
|
||||
NewLesionAfterTriggeringiRECSITAssessment result = NewLesionAfterTriggeringiRECSITAssessment.No;
|
||||
|
||||
// if现至少1个“存在”状态的触发iRECIST后新病灶)
|
||||
if (tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist)))
|
||||
{
|
||||
// 疗效为 是
|
||||
result = NewLesionAfterTriggeringiRECSITAssessment.Yes;
|
||||
}
|
||||
// else if (只要有一个触发iRECIST后新病灶评估为NE)
|
||||
else if (tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.NotEvaluable)))
|
||||
{
|
||||
// 疗效为 NE
|
||||
result = NewLesionAfterTriggeringiRECSITAssessment.NE;
|
||||
}
|
||||
// else if (只要有一个触发iRECIST后新病灶评估为疑似)
|
||||
else if (tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Equivocal)))
|
||||
{
|
||||
// 疗效为 疑似
|
||||
result = NewLesionAfterTriggeringiRECSITAssessment.Equivocal;
|
||||
}
|
||||
// else
|
||||
else
|
||||
{
|
||||
// 疗效为 否
|
||||
result = NewLesionAfterTriggeringiRECSITAssessment.No;
|
||||
}
|
||||
|
||||
return result.GetEnumInt();
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 获取靶病灶评估
|
||||
|
|
|
@ -438,6 +438,106 @@ namespace IRaCIS.Core.Domain.Share
|
|||
Yes = 1
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 其他既往新病灶状态
|
||||
/// </summary>
|
||||
public enum OtherPreviousNewLesionState
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在
|
||||
/// </summary>
|
||||
Exists = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 疑似
|
||||
/// </summary>
|
||||
Equivocal = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 无法评估
|
||||
/// </summary>
|
||||
NotEvaluable = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 消失
|
||||
/// </summary>
|
||||
Loss = 3,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 其他既往新病灶评估
|
||||
/// </summary>
|
||||
public enum OtherPreviousNewLesionAssessment
|
||||
{
|
||||
|
||||
iUPD = 1,
|
||||
|
||||
iCPD = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 疑似
|
||||
/// </summary>
|
||||
Equivocal = 3,
|
||||
|
||||
NE = 4,
|
||||
|
||||
ND = 5,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 触发iRECIST后新病灶状态
|
||||
/// </summary>
|
||||
public enum NewLesionAfterTriggeringiRECSITState
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在
|
||||
/// </summary>
|
||||
Exist=1,
|
||||
|
||||
/// <summary>
|
||||
/// 疑似
|
||||
/// </summary>
|
||||
Equivocal=2,
|
||||
|
||||
/// <summary>
|
||||
/// 消失
|
||||
/// </summary>
|
||||
Loss =3,
|
||||
|
||||
/// <summary>
|
||||
/// 无法评估
|
||||
/// </summary>
|
||||
NotEvaluable = 4,
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 触发iRECIST后新病灶评估
|
||||
/// </summary>
|
||||
public enum NewLesionAfterTriggeringiRECSITAssessment
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 是
|
||||
/// </summary>
|
||||
Yes = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 否
|
||||
/// </summary>
|
||||
No = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 疑似
|
||||
/// </summary>
|
||||
Equivocal = 3,
|
||||
|
||||
/// <summary>
|
||||
/// NE
|
||||
/// </summary>
|
||||
NE = 4
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 整体肿瘤评估
|
||||
/// </summary>
|
||||
|
@ -598,7 +698,12 @@ namespace IRaCIS.Core.Domain.Share
|
|||
/// </summary>
|
||||
NN = 4,
|
||||
|
||||
|
||||
iCR = 5,
|
||||
|
||||
iNN = 6,
|
||||
iUPD = 7,
|
||||
iCPD = 8,
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -1051,6 +1156,64 @@ namespace IRaCIS.Core.Domain.Share
|
|||
UpdateType = 3
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新靶病灶状态
|
||||
/// </summary>
|
||||
public enum NewTargetLesionState
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在
|
||||
/// </summary>
|
||||
Exist=1,
|
||||
|
||||
/// <summary>
|
||||
/// 消失
|
||||
/// </summary>
|
||||
Loss=2,
|
||||
|
||||
/// <summary>
|
||||
/// 无法评估
|
||||
/// </summary>
|
||||
NotEvaluable=3,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新非靶病灶状态
|
||||
/// </summary>
|
||||
public enum NewNoTargetLesionState
|
||||
{
|
||||
/// <summary>
|
||||
/// 存在
|
||||
/// </summary>
|
||||
Exist = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 增大
|
||||
/// </summary>
|
||||
Progression = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 无法评估
|
||||
/// </summary>
|
||||
NotEvaluable = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 消失
|
||||
/// </summary>
|
||||
Loss = 3,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新非靶病灶评估
|
||||
/// </summary>
|
||||
public enum NewNoTargetLesionAssessment
|
||||
{
|
||||
iUPD = 1,
|
||||
iCPD = 2,
|
||||
NE = 3,
|
||||
ND = 4,
|
||||
}
|
||||
|
||||
public enum QuestionMark
|
||||
{
|
||||
/// <summary>
|
||||
|
@ -1277,6 +1440,24 @@ namespace IRaCIS.Core.Domain.Share
|
|||
IsConverted = 44,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新靶病灶评估
|
||||
/// </summary>
|
||||
public enum NewTargetLesionAssessment
|
||||
{
|
||||
|
||||
iUPD = 1,
|
||||
|
||||
|
||||
iCPD = 2,
|
||||
|
||||
|
||||
NE = 3,
|
||||
|
||||
|
||||
ND = 4,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 访视点肿瘤评估
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue