@@ -1268,6 +1268,7 @@ namespace HealthMonitor.Service.Resolver | |||||
/// 3. 高频结束后的在highFreqSampleTimes>0 正常心率触发的高频心率处理(常态) | /// 3. 高频结束后的在highFreqSampleTimes>0 正常心率触发的高频心率处理(常态) | ||||
/// 4. 高频结束后的时间倒序的正常心率触发的高频心率处理 | /// 4. 高频结束后的时间倒序的正常心率触发的高频心率处理 | ||||
/// 5. 高频结束后计算胎心数据,防止结束后与常规心理的胎心处理过长,定时器时长highFreqSampleInterval触发的高频心率处理 | /// 5. 高频结束后计算胎心数据,防止结束后与常规心理的胎心处理过长,定时器时长highFreqSampleInterval触发的高频心率处理 | ||||
/// 高频结束后超过9分钟且不在阈值内才告警 | |||||
/// </summary> | /// </summary> | ||||
/// <param name="heartRate"></param> | /// <param name="heartRate"></param> | ||||
/// <param name="commonPHR"></param> | /// <param name="commonPHR"></param> | ||||
@@ -1316,7 +1317,7 @@ namespace HealthMonitor.Service.Resolver | |||||
// fetalHeartRate = fetalHeartRate>= 220 ? 220 : fetalHeartRate; | // fetalHeartRate = fetalHeartRate>= 220 ? 220 : fetalHeartRate; | ||||
var phrFreqstatus = await _deviceCacheMgr.GetPregnancyHeartRateFreqStatusAsync(heartRate.Serialno); | var phrFreqstatus = await _deviceCacheMgr.GetPregnancyHeartRateFreqStatusAsync(heartRate.Serialno); | ||||
var isAbnormal = 0; | |||||
#region 判断是否够highFreqSampleTimes,540s | #region 判断是否够highFreqSampleTimes,540s | ||||
var ts = DateTimeUtil.GetTimeDifferenceInSeconds((DateTime)heartRate.LastUpdate!, phrFreqstatus!.LastUpdate); | var ts = DateTimeUtil.GetTimeDifferenceInSeconds((DateTime)heartRate.LastUpdate!, phrFreqstatus!.LastUpdate); | ||||
// 判断是否够highFreqSampleTimes,540s | // 判断是否够highFreqSampleTimes,540s | ||||
@@ -1327,19 +1328,21 @@ namespace HealthMonitor.Service.Resolver | |||||
{ | { | ||||
if (fetalHeartRate > upperAlarmThreshold) | if (fetalHeartRate > upperAlarmThreshold) | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 高于高频警告上限阀值{upperAlarmThreshold},最后胎心值{upperAlarmThreshold}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 高于高频警告上限阀值{upperAlarmThreshold},最后胎心值{upperAlarmThreshold},并且不告警"); | |||||
fetalHeartRate = upperAlarmThreshold; | fetalHeartRate = upperAlarmThreshold; | ||||
} | } | ||||
else if (fetalHeartRate < lowerAlarmThreshold) | else if (fetalHeartRate < lowerAlarmThreshold) | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 低于高频警告下限阀值 {lowerAlarmThreshold},最后胎心值{lowerAlarmThreshold}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 低于高频警告下限阀值 {lowerAlarmThreshold},最后胎心值{lowerAlarmThreshold},并且不告警"); | |||||
fetalHeartRate = lowerAlarmThreshold; | fetalHeartRate = lowerAlarmThreshold; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,在高频警告下限阀值 {lowerAlarmThreshold} 和 高频警告上限阀值:{upperAlarmThreshold}之间,最后胎心值{fetalHeartRate}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,在高频警告下限阀值 {lowerAlarmThreshold} 和 高频警告上限阀值:{upperAlarmThreshold}之间,最后胎心值{fetalHeartRate},并且不告警"); | |||||
} | } | ||||
} | } | ||||
// 超过highFreqSampleTimes,540s | // 超过highFreqSampleTimes,540s | ||||
else | else | ||||
@@ -1356,20 +1359,16 @@ namespace HealthMonitor.Service.Resolver | |||||
fetalHeartRate = 90; | fetalHeartRate = 90; | ||||
_logger.LogWarning($"{heartRate.Serialno} 小于90,按90输出,计算因子:孕妇心率 {heartRate.HeartRate},系数 {coefficient},周期 周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | _logger.LogWarning($"{heartRate.Serialno} 小于90,按90输出,计算因子:孕妇心率 {heartRate.HeartRate},系数 {coefficient},周期 周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | ||||
} | } | ||||
isAbnormal = fetalHeartRate > upperAlarmThreshold ? 1 : (fetalHeartRate < lowerAlarmThreshold ? 2 : 0); | |||||
} | } | ||||
#endregion | #endregion | ||||
var isAbnormal = fetalHeartRate > upperAlarmThreshold ? 1 : (fetalHeartRate < lowerAlarmThreshold ? 2 : 0); | |||||
if (phrFreqstatus == null) isAbnormal = 0; | |||||
var statsusDesc = (phrFreqstatus == null) ? "常规" : "高频"; | |||||
//if (phrFreqstatus == null) isAbnormal = 0; | |||||
//var statsusDesc = (phrFreqstatus == null) ? "常规" : "高频"; | |||||
var statsusDesc = "高频"; | |||||
_logger.LogInformation($"{heartRate.Serialno} 在 {statsusDesc} 状态,生成胎心值:{fetalHeartRate},统计周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | _logger.LogInformation($"{heartRate.Serialno} 在 {statsusDesc} 状态,生成胎心值:{fetalHeartRate},统计周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | ||||
//if (!isFreq) | |||||
//{ | |||||
// statStartTime = heartRate.LastUpdate; | |||||
// | |||||
//} | |||||
// 保存到 数据服务 MySQL 数据库 | // 保存到 数据服务 MySQL 数据库 | ||||
HisGpsFetalHeartRate gpsFetalHeartRate = new() | HisGpsFetalHeartRate gpsFetalHeartRate = new() | ||||
{ | { | ||||
@@ -2095,7 +2095,8 @@ namespace HealthMonitor.WebApi | |||||
/// 2. 高频结束后的highFreqSampleTimes=0的高频心率处理 | /// 2. 高频结束后的highFreqSampleTimes=0的高频心率处理 | ||||
/// 3. 高频结束后的在highFreqSampleTimes>0 正常心率触发的高频心率处理(常态) | /// 3. 高频结束后的在highFreqSampleTimes>0 正常心率触发的高频心率处理(常态) | ||||
/// 4. 高频结束后的时间倒序的正常心率触发的高频心率处理 | /// 4. 高频结束后的时间倒序的正常心率触发的高频心率处理 | ||||
/// * 5. 高频结束后计算胎心数据,防止结束后与常规心理的胎心处理过长,定时器时长highFreqSampleInterval触发的高频心率处理 | |||||
/// 5. 高频结束后计算胎心数据,防止结束后与常规心理的胎心处理过长,定时器时长highFreqSampleInterval触发的高频心率处理 | |||||
/// 高频结束后超过9分钟且不在阈值内才告警 | |||||
/// </summary> | /// </summary> | ||||
/// <param name="heartRate"></param> | /// <param name="heartRate"></param> | ||||
/// <param name="commonPHR"></param> | /// <param name="commonPHR"></param> | ||||
@@ -2144,7 +2145,7 @@ namespace HealthMonitor.WebApi | |||||
// fetalHeartRate = fetalHeartRate>= 220 ? 220 : fetalHeartRate; | // fetalHeartRate = fetalHeartRate>= 220 ? 220 : fetalHeartRate; | ||||
var phrFreqstatus = await _deviceCacheMgr.GetPregnancyHeartRateFreqStatusAsync(heartRate.Serialno); | var phrFreqstatus = await _deviceCacheMgr.GetPregnancyHeartRateFreqStatusAsync(heartRate.Serialno); | ||||
var isAbnormal = 0; | |||||
#region 判断是否够highFreqSampleTimes,540s | #region 判断是否够highFreqSampleTimes,540s | ||||
var ts = DateTimeUtil.GetTimeDifferenceInSeconds((DateTime)heartRate.LastUpdate!, phrFreqstatus!.LastUpdate); | var ts = DateTimeUtil.GetTimeDifferenceInSeconds((DateTime)heartRate.LastUpdate!, phrFreqstatus!.LastUpdate); | ||||
// 判断是否够highFreqSampleTimes,540s | // 判断是否够highFreqSampleTimes,540s | ||||
@@ -2155,19 +2156,21 @@ namespace HealthMonitor.WebApi | |||||
{ | { | ||||
if (fetalHeartRate > upperAlarmThreshold) | if (fetalHeartRate > upperAlarmThreshold) | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 高于高频警告上限阀值{upperAlarmThreshold},最后胎心值{upperAlarmThreshold}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 高于高频警告上限阀值{upperAlarmThreshold},最后胎心值{upperAlarmThreshold},并且不告警"); | |||||
fetalHeartRate = upperAlarmThreshold; | fetalHeartRate = upperAlarmThreshold; | ||||
} | } | ||||
else if (fetalHeartRate < lowerAlarmThreshold) | else if (fetalHeartRate < lowerAlarmThreshold) | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 低于高频警告下限阀值 {lowerAlarmThreshold},最后胎心值{lowerAlarmThreshold}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,计算胎心值 {fetalHeartRate} 低于高频警告下限阀值 {lowerAlarmThreshold},最后胎心值{lowerAlarmThreshold},并且不告警"); | |||||
fetalHeartRate = lowerAlarmThreshold; | fetalHeartRate = lowerAlarmThreshold; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,在高频警告下限阀值 {lowerAlarmThreshold} 和 高频警告上限阀值:{upperAlarmThreshold}之间,最后胎心值{fetalHeartRate}"); | |||||
_logger.LogWarning($"{heartRate.Serialno} 高频持续不足10分钟,在高频警告下限阀值 {lowerAlarmThreshold} 和 高频警告上限阀值:{upperAlarmThreshold}之间,最后胎心值{fetalHeartRate},并且不告警"); | |||||
} | } | ||||
} | } | ||||
// 超过highFreqSampleTimes,540s | // 超过highFreqSampleTimes,540s | ||||
else | else | ||||
@@ -2184,20 +2187,16 @@ namespace HealthMonitor.WebApi | |||||
fetalHeartRate = 90; | fetalHeartRate = 90; | ||||
_logger.LogWarning($"{heartRate.Serialno} 小于90,按90输出,计算因子:孕妇心率 {heartRate.HeartRate},系数 {coefficient},周期 周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | _logger.LogWarning($"{heartRate.Serialno} 小于90,按90输出,计算因子:孕妇心率 {heartRate.HeartRate},系数 {coefficient},周期 周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | ||||
} | } | ||||
isAbnormal = fetalHeartRate > upperAlarmThreshold ? 1 : (fetalHeartRate < lowerAlarmThreshold ? 2 : 0); | |||||
} | } | ||||
#endregion | #endregion | ||||
var isAbnormal = fetalHeartRate > upperAlarmThreshold ? 1 : (fetalHeartRate < lowerAlarmThreshold ? 2 : 0); | |||||
if (phrFreqstatus == null) isAbnormal = 0; | |||||
var statsusDesc = (phrFreqstatus == null) ? "常规" : "高频"; | |||||
//if (phrFreqstatus == null) isAbnormal = 0; | |||||
//var statsusDesc = (phrFreqstatus == null) ? "常规" : "高频"; | |||||
var statsusDesc = "高频"; | |||||
_logger.LogInformation($"{heartRate.Serialno} 在 {statsusDesc} 状态,生成胎心值:{fetalHeartRate},统计周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | _logger.LogInformation($"{heartRate.Serialno} 在 {statsusDesc} 状态,生成胎心值:{fetalHeartRate},统计周期:{statStartTime.ToString("yyyy-MM-dd HH:mm:ss")}----{statEndTime.ToString("yyyy-MM-dd HH:mm:ss")}"); | ||||
//if (!isFreq) | |||||
//{ | |||||
// statStartTime = heartRate.LastUpdate; | |||||
// | |||||
//} | |||||
// 保存到 数据服务 MySQL 数据库 | // 保存到 数据服务 MySQL 数据库 | ||||
HisGpsFetalHeartRate gpsFetalHeartRate = new() | HisGpsFetalHeartRate gpsFetalHeartRate = new() | ||||
{ | { | ||||
@@ -2322,7 +2321,6 @@ namespace HealthMonitor.WebApi | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 去除高频数据 | /// 去除高频数据 | ||||
/// </summary> | /// </summary> | ||||