From b012961712ffabbb6f08466f39af6dad6432f231 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Wed, 18 Sep 2024 16:01:41 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=B1=E6=80=A5=E5=80=BC=E5=87=BD=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DiagnosisFunctionAppService.cs | 37 +++++++++++++------
1 file changed, 25 insertions(+), 12 deletions(-)
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)