diff --git a/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs b/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs
index f52796b..9478072 100644
--- a/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs
+++ b/src/Shentun.Peis.Application/DiagnosisFunctions/DiagnosisFunctionAppService.cs
@@ -1685,7 +1685,7 @@ namespace Shentun.Peis.DiagnosisFunctions
isCritical = diagnosisBuilder.GetAsbitemCriticalResult(patientAsbitemDiagnosisInput, asbitem.DiagnosisFunction);
if (isCritical)
{
- await CreateRegisterCheckCritical(asbitem.RegisterCheckId, 'Y');
+ await CreateRegisterCheckCritical(asbitem.RegisterCheckId, 'Y', "");
break;
}
}
@@ -1730,28 +1730,30 @@ namespace Shentun.Peis.DiagnosisFunctions
Result = item.Result
};
patientItemDiagnosisInput.Item = itemResult;
-
+
isCritical = diagnosisBuilder.GetItemCriticalResult(patientItemDiagnosisInput, item.CriticalValueFunction);
if (isCritical)
{
- await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'Y');
+ await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'Y', "");
break;
}
}
+ var isCriticalFollowValue = criticalFollowValueList.FirstOrDefault(m => item.Result.Contains(m.DisplayName));
+
//关键字检索
- if (criticalFollowValueList.Count(m => item.Result.Contains(m.DisplayName)) > 0)
+ if (isCriticalFollowValue != null)
{
isCritical = true;
}
if (isCritical)
{
- await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'Y');
+ await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'Y', isCriticalFollowValue.DisplayName);
break;
}
@@ -1794,7 +1796,7 @@ namespace Shentun.Peis.DiagnosisFunctions
isFollowUp = diagnosisBuilder.GetAsbitemFollowUpResult(patientAsbitemDiagnosisInput, asbitem.DiagnosisFunction);
if (isFollowUp)
{
- await CreateRegisterCheckCritical(asbitem.RegisterCheckId, 'Y');
+ await CreateRegisterCheckCritical(asbitem.RegisterCheckId, 'Y', "");
break;
}
}
@@ -1845,20 +1847,22 @@ namespace Shentun.Peis.DiagnosisFunctions
if (isFollowUp)
{
- await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'N');
+ await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'N', "");
break;
}
}
- if (criticalFollowValueList.Count(m => item.Result.Contains(m.DisplayName)) > 0)
+ var isCriticalFollowValue = criticalFollowValueList.FirstOrDefault(m => item.Result.Contains(m.DisplayName));
+
+ if (isCriticalFollowValue != null)
{
isFollowUp = true;
}
if (isFollowUp)
{
- await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'N');
+ await CreateRegisterCheckItemCritical(item.RegisterCheckId, item.ItemId, 'N', isCriticalFollowValue.DisplayName);
break;
}
@@ -1891,7 +1895,12 @@ namespace Shentun.Peis.DiagnosisFunctions
///
/// 生成明细表危急值相关数据
///
- private async Task CreateRegisterCheckItemCritical(Guid registerCheckId, Guid itemId, char isCriticalValue)
+ ///
+ ///
+ ///
+ ///
+ ///
+ private async Task CreateRegisterCheckItemCritical(Guid registerCheckId, Guid itemId, char isCriticalValue, string CriticalRangeValue)
{
var registerCheckItemEnt = await _registerCheckItemRepository.FirstOrDefaultAsync(m => m.RegisterCheckId == registerCheckId
&& m.ItemId == itemId);
@@ -1908,13 +1917,17 @@ namespace Shentun.Peis.DiagnosisFunctions
await _registerCheckItemRepository.UpdateAsync(registerCheckItemEnt);
}
- await CreateRegisterCheckCritical(registerCheckId, isCriticalValue);
+ await CreateRegisterCheckCritical(registerCheckId, isCriticalValue, CriticalRangeValue);
}
///
/// 生成registerCheck表危急值相关数据
///
- private async Task CreateRegisterCheckCritical(Guid registerCheckId, char isCriticalValue)
+ ///
+ ///
+ ///
+ ///
+ private async Task CreateRegisterCheckCritical(Guid registerCheckId, char isCriticalValue, string CriticalRangeValue)
{
var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(m => m.Id == registerCheckId);
if (registerCheckEnt != null)