Atrial fibrillation detection method, system and computer program product
By detecting the electrocardiogram within a time window set in the implantable medical device, calculating the change in heart rate value and stability parameters, constructing a histogram and extreme value distribution, and using probability statistics and state machines to confirm atrial fibrillation triggering, the problems of noise interference and high power consumption in the existing technology are solved, and high-precision, low-misjudgment atrial fibrillation detection is achieved.
Patent Information
- Application Number
- CN202510990606.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-18
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-07-18
AI Technical Summary
Existing implantable medical devices are susceptible to noise interference during atrial fibrillation detection, resulting in a high misjudgment rate. In addition, high computational complexity and frequent data processing lead to a surge in power consumption, affecting device battery life.
By detecting the electrocardiogram within a set time window, calculating the heart rate value change and stability parameters, constructing a histogram and extreme value distribution, and using probability statistics and state machines to confirm atrial fibrillation triggering, the computational complexity is reduced and noise interference is eliminated, thus achieving high-precision atrial fibrillation detection.
Under low power consumption and small storage conditions, high-precision, low-misjudgment atrial fibrillation detection is achieved, detection sensitivity and continuity are improved, and the risks of missed detection and over-triggering are reduced.
Smart Images

Figure CN120477794B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electrocardiogram (ECG) signal analysis, and in particular to an atrial fibrillation detection method, system, and computer program product. Background Art
[0002] Implantable medical devices (such as pacemakers and cardiac monitors) are used to sense, diagnose, and classify patients' electrocardiogram (ECG) signals. Currently, these devices rely on electrocardiograms (ECGs) for atrial fibrillation (AF) detection, primarily using methods such as scatter plots, Lorentz plots, or stability analysis of the time interval between two adjacent R-wave vertices (RR interval). However, methods like scatter plots are susceptible to noise, resulting in inaccurate AF detection. RR interval stability analysis struggles to effectively distinguish between premature ventricular contractions (PVCs) and tachycardia, often leading to misjudgments due to abnormal heart rate fluctuations. Traditional algorithms often rely on real-time continuous calculations, requiring the system to continuously process complete ECG data. Frequent read and write operations lead to high storage usage and increased device power consumption, limiting the battery life of the implanted device. Summary of the Invention
[0003] The purpose of this application is to overcome the defects of the existing technology and provide an atrial fibrillation detection method, system and computer program product to achieve high-precision and low-misjudgment diagnosis of atrial fibrillation under low-power and small-storage hardware conditions.
[0004] In a first aspect, the present application provides a method for detecting atrial fibrillation, comprising the following steps:
[0005] Setting a time window, continuously detecting an electrocardiogram using a sensing unit within the time window, determining an R-wave vertex based on the electrocardiogram, obtaining a time interval between two adjacent R-wave vertices, and determining a heart rate (HR) based on the time interval between the two adjacent R-wave vertices;
[0006] Calculating changes between consecutive heart rate values within the time window to obtain a first heart rate value change and a second heart rate value change, and performing stability counting based on the first heart rate value change and the second heart rate value change to obtain a stability parameter;
[0007] Setting a heart rate range, dividing the heart rate range into a plurality of intervals, determining the number of heart rate values in each interval, and constructing a histogram based on the number of heart rate values;
[0008] In the time window, local windows are divided based on the number of heart rate values, and the maximum and minimum values of the heart rate values in each local window are detected to obtain the extreme value distribution of the time window;
[0009] Based on the histogram, determine whether there are clusters in the time window. If there are clusters, determine whether they are ventricular premature beats based on the number of clusters. If there are no clusters, determine whether they are ventricular premature beats based on the extreme value distribution of the time window and the local window.
[0010] Determine whether it is tachycardia based on the number of heart rate values;
[0011] Atrial fibrillation trigger parameters are determined based on the principles of probability statistics, and whether atrial fibrillation triggering is met is judged according to the atrial fibrillation trigger parameters. The atrial fibrillation trigger is confirmed by using a state machine to complete atrial fibrillation detection. After confirming the atrial fibrillation trigger, the judgment conditions of the atrial fibrillation trigger are adjusted according to the duration of atrial fibrillation, continuous perception is performed, and atrial fibrillation detection is performed in the next time window to achieve continuous detection of atrial fibrillation.
[0012] Optionally, the change between consecutive heart rate values is calculated within the time window to obtain a first heart rate value change and a second heart rate value change, and stability counting is performed based on the first heart rate value change and the second heart rate value change to obtain a stability parameter, including: calculating the change between consecutive heart rate values within the time window to obtain a first heart rate value change and a second heart rate value change; setting the initial value of the stability parameter to zero, the stability parameter including a stability count variable, an instability count variable, and a slow heartbeat count variable; performing stability judgment on all heart rate values within the time window, updating the stability parameter, and obtaining the stability parameter of the current time window.
[0013] Optionally, a stability judgment is performed on all heart rate values within the time window, and the stability parameters are updated to obtain the stability parameters of the current time window, including: if the change in the first heart rate value is less than the first threshold and the change in the second heart rate value is less than the first threshold, then the stability count variable value is increased by one; otherwise, the instability count variable value is increased by one; when the heart rate is unstable, and the change in the first heart rate value is less than zero, and the change in the second heart rate value is less than 1, the slow heartbeat count variable value is increased by one; the same method is used to perform stability judgment on the remaining heart rate values, and the stability parameters are continuously updated to finally obtain the stability parameters of the current time window.
[0014] Optionally, within the time window, local windows are divided based on the number of heart rate values, and the maximum and minimum heart rate values within each local window are detected to obtain the extreme value distribution of the time window, including: within the current time window, the heart rate values are divided in sequence to obtain multiple local windows; the maximum and minimum heart rate values within each local window are detected to obtain corresponding maximum and minimum heart rate values, respectively; a plurality of heart rate values are taken forward and backward with the maximum heart rate as the center to form a maximum interval, and a plurality of heart rate values are taken forward and backward with the minimum heart rate as the center to form a minimum interval; Obtain the number of heart rate values in the maximum interval of each local window whose heart rate values are close to the heart rate maximum value, and obtain the heart rate maximum count of each local window; obtain the number of heart rate values in the minimum interval of each local window whose heart rate values are close to the heart rate minimum value, and obtain the heart rate minimum count of each local window; add the heart rate maximum count and the heart rate minimum count of all local windows in the current time window, and obtain the sum of the heart rate maximum counts of all local windows in the current time window and the sum of the heart rate minimum counts of all local windows, and obtain the extreme value distribution of the time window.
[0015] Optionally, based on the histogram, determine whether there are clusters in the time window. If there are clusters, determine whether they are ventricular premature beats based on the number of clusters. If there are no clusters, determine whether they are ventricular premature beats based on the extreme value distribution of the time window and the local window, including:
[0016] Setting a second threshold, comparing the number of heart rate values in each interval of the histogram with the second threshold, if the number of heart rate values in two or more adjacent intervals is greater than the second threshold, the two or more adjacent intervals form a cluster, and the cluster flag value is increased by one;
[0017] Setting a third threshold and a fourth threshold, and judging whether a cluster exists in the time window according to the cluster flag value, if the cluster flag value is less than or equal to 1, no cluster exists; if the cluster flag value is greater than 1, judging whether the average heart rate extreme value distribution in the time window is greater than the third threshold, if so, ending atrial fibrillation detection in the time window and outputting ventricular premature beats, otherwise entering tachycardia judgment;
[0018] If no cluster exists, it is determined whether the average heart rate extreme value distribution of the time window is greater than the fourth threshold value. If so, the atrial fibrillation detection of the time window is terminated and the ventricular premature beat is output. Otherwise, the process proceeds to the tachycardia determination.
[0019] Optionally, the average heart rate extreme value distribution is equal to the maximum value of the sum of the heart rate maximum value counts of all local windows within the time window and the sum of the heart rate minimum value counts of all local windows divided by the number of local windows, and the expression is:
[0020]
[0021] Among them, PVC_Indicator represents the average heart rate extreme value distribution, is the sum of the heart rate maximum counts of all local windows within the time window, is the sum of the heart rate minimum counts of all local windows within the time window, and X is the number of local windows.
[0022] Optionally, atrial fibrillation trigger parameters are determined based on probability statistics principles, whether atrial fibrillation triggering is satisfied is determined based on the atrial fibrillation trigger parameters, a state machine is used to confirm atrial fibrillation triggering, atrial fibrillation detection is completed, and after confirming atrial fibrillation triggering, the judgment conditions for atrial fibrillation triggering are adjusted based on the duration of atrial fibrillation, continuous sensing is performed, and atrial fibrillation detection is performed in the next time window to achieve accurate and continuous detection of atrial fibrillation, including:
[0023] Determine atrial fibrillation trigger parameters according to the principle of probability statistics, wherein the atrial fibrillation trigger parameters include: dispersion, bradycardia index, and concentration;
[0024] According to the clinical indicators of atrial fibrillation, the thresholds corresponding to the atrial fibrillation trigger parameters are set respectively, including the sixth threshold, the seventh threshold, and the eighth threshold. The atrial fibrillation trigger parameters are compared with the corresponding thresholds respectively. If the dispersion is greater than the sixth threshold and the bradycardia index is greater than the seventh threshold and the concentration is less than the eighth threshold, the atrial fibrillation trigger is satisfied; otherwise, the atrial fibrillation trigger is not satisfied.
[0025] Set the atrial fibrillation flag. When the atrial fibrillation trigger is met, check the current state of the state machine. If the current state of the state machine is idle and no ventricular premature beats or tachycardia are output, update the current state of the state machine from idle to triggered state, set the atrial fibrillation flag to atrial fibrillation start, and accumulate the atrial fibrillation duration.
[0026] Compare the accumulated atrial fibrillation duration with a ninth threshold value. If the accumulated atrial fibrillation duration is greater than the ninth threshold value, update the current state of the state machine from a trigger state to a confirmation state, set the atrial fibrillation flag to atrial fibrillation confirmation, and the current time window is the atrial fibrillation attack period.
[0027] When the atrial fibrillation trigger is not satisfied, the current state of the state machine is checked. If the current state of the state machine is already in the confirmation state, the atrial fibrillation flag is set to atrial fibrillation end, and the current state of the state machine is updated to the idle state; if the current state of the state machine is not the confirmation state, the atrial fibrillation flag is set to atrial fibrillation not detected, and the current state of the state machine is updated to the idle state, completing the atrial fibrillation detection;
[0028] The accumulated atrial fibrillation duration is compared with the tenth threshold. If the accumulated atrial fibrillation duration is greater than the tenth threshold, the threshold corresponding to the atrial fibrillation trigger parameter is relaxed, continuous sensing is performed, and atrial fibrillation detection is performed in the next time window to achieve accurate and continuous detection of atrial fibrillation.
[0029] Optionally, determining the atrial fibrillation triggering parameter according to the principle of probability statistics includes: determining a dispersion scatter according to a stability count variable stableCount and an instability count variable unstableCount, and the expression is:
[0030] ;
[0031] The slow heart rate index ddration is determined based on the slow heart rate count variable ddCount. The expression is:
[0032]
[0033] in, Indicates the total number of heart rate values in the current time window;
[0034] According to the total number of heart rate values in the time window Determine the concentration hrdiration, the expression is:
[0035]
[0036] in, Indicates the number of heart rate values corresponding to the interval with the largest number of heart rate values in the time window.
[0037] In a second aspect, the present application also provides an atrial fibrillation detection system for executing the atrial fibrillation detection method as described in any one of the first aspects, comprising: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the atrial fibrillation detection method as described in any one of the first aspects.
[0038] In a third aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the atrial fibrillation detection method as described in any one of the first aspects.
[0039] The present application provides an atrial fibrillation detection method, system and computer program product. By continuously sensing an electrocardiogram based on a time window and converting the electrocardiogram into a heart rate value, the computational complexity can be reduced and memory resources can be saved. The noise mark filtering mechanism can effectively eliminate interference data to ensure the reliability of the input data. Cluster analysis through extreme value distribution and histogram can accurately identify abnormal heart rhythms such as ventricular premature beats and tachycardia, reducing the risk of misjudgment. Based on atrial fibrillation trigger parameters, a state machine is used to confirm atrial fibrillation triggering and the judgment conditions are adjusted according to the duration, thereby achieving dynamic, continuous and accurate detection of atrial fibrillation, improving the detection sensitivity of continuous atrial fibrillation, and effectively avoiding missed detection or over-triggering. The method of the present application can achieve continuous, automated and high-precision atrial fibrillation monitoring, providing stable and reliable technical support for clinical diagnosis and patient management.
[0040] In order to make the above features and advantages of the present invention more clearly understood, embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0042] Figure 1 This is a flow chart of an atrial fibrillation detection method provided in one embodiment of the present application.
[0043] Figure 2 This is a flowchart of step S5 in the atrial fibrillation detection method provided in one embodiment of the present application.
[0044] Figure 3 This is a flowchart of step S7 in the atrial fibrillation detection method provided in one embodiment of the present application. DETAILED DESCRIPTION
[0045] To make the purpose and technical solutions of the embodiments of the present application clearer, the technical solutions of the embodiments of the present application will be clearly and completely described below in conjunction with the drawings of the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the described embodiments of the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0046] In one embodiment, see Figure 1 The present application provides an atrial fibrillation detection method, which includes the following steps: step S1 to step S7.
[0047] Step S1: Set a time window, use a sensing unit to continuously detect the electrocardiogram within the time window, determine the R wave apex based on the electrocardiogram, obtain the time interval between two adjacent R wave apexes, and determine the heart rate value based on the time interval between two adjacent R wave apexes.
[0048] Step S2: Calculate the change between consecutive heart rate values within the time window to obtain a first heart rate value change and a second heart rate value change, perform stability counting based on the first heart rate value change and the second heart rate value change to obtain a stability parameter.
[0049] Step S3: setting a heart rate range, dividing the heart rate range into multiple intervals, determining the number of heart rate values in each interval, and constructing a histogram based on the number of heart rate values.
[0050] Step S4: within the time window, divide the local windows based on the number of heart rate values, detect the maximum and minimum values of the heart rate values in each local window, and obtain the extreme value distribution of the time window.
[0051] Step S5: Based on the histogram, determine whether there are clusters in the time window. If there are clusters, determine whether they are ventricular premature beats based on the number of clusters. If there are no clusters, determine whether they are ventricular premature beats based on the extreme value distribution of the time window and the local window.
[0052] Step S6: Determine whether it is tachycardia based on the number of heart rate values.
[0053] Step S7: Determine atrial fibrillation trigger parameters based on the principle of probability statistics, determine whether atrial fibrillation triggering is satisfied according to the atrial fibrillation trigger parameters, use the state machine to confirm the atrial fibrillation trigger, complete atrial fibrillation detection, and after confirming the atrial fibrillation trigger, adjust the judgment conditions of atrial fibrillation trigger according to the duration of atrial fibrillation, continuously sense, and perform atrial fibrillation detection in the next time window to achieve continuous detection of atrial fibrillation.
[0054] In the atrial fibrillation detection method of the present application, by setting a time window to continuously detect the electrocardiogram and determine the heart rate, using the change in adjacent heart rate values for stability counting, it is possible to timely perceive the changing trend of the heart rate and improve the sensitivity of detection; the heart rate range is divided into intervals to count the number of heart rate values and draw a histogram, and a local window is constructed with the number of heart rate values, which can take into account both the time dimension and the heart rate characteristics; atrial fibrillation detection based only on the number of heart rate values can greatly reduce the amount of calculation and power consumption; through the triple filtering of histogram cluster distribution, extreme value distribution, and high heart rate interval, ventricular premature beats, tachycardia and atrial fibrillation are effectively distinguished, abnormal heartbeats are excluded, and the misjudgment rate is reduced; atrial fibrillation trigger confirmation is performed through a state machine, and the judgment conditions are adjusted according to the duration, thereby achieving dynamic, continuous and accurate detection of atrial fibrillation and improving the detection sensitivity of continuous atrial fibrillation. The method of the present application analyzes the electrocardiogram from different angles, significantly improving the accuracy, comprehensiveness and continuity of atrial fibrillation detection, and providing strong support for the early diagnosis of heart disease.
[0055] In step S1, see Figure 1 In step S1, a time window is set, and a sensing unit is used to continuously detect an electrocardiogram within the time window. The R-wave apex is determined according to the electrocardiogram, and the time interval between two adjacent R-wave apexes is obtained. The heart rate value is determined according to the time interval between the two adjacent R-wave apexes.
[0056] As an example, a global time window is set, and the size of the time window is K1.
[0057] As an example, you can set a time window .
[0058] Furthermore, the sensing unit of the implantable medical device continuously detects the electrocardiogram within the current time window, determines the R-wave apex based on the electrocardiogram, obtains the time interval between two adjacent R-wave apex, and determines the heart rate value based on the time interval between the two adjacent R-wave apex, that is, converts the time interval between the two adjacent R-wave apex into a heart rate value. Multiple time intervals between two adjacent R-wave apex are detected within the time window, thereby obtaining a continuous sequence of heart rate values. HR0, HR1, HR2,..., HR SumCount ], each heart rate value represents a heartbeat event.
[0059] As an example, the R-wave apex is determined based on the electrocardiogram, and the time interval between two adjacent R-wave apexes is obtained as r seconds. 1 minute is equal to 60 seconds. 60 seconds is divided by the time interval between two adjacent R-wave apexes as r seconds to obtain the heart rate value in beats per minute (bpm).
[0060] As an example, you can set the current time window to have The time interval between two adjacent R wave vertices is obtained Heart rate values, that is, the total number of heartbeat events in the current time window is .
[0061] As an example, the sensing unit outputs the time interval between two adjacent R-wave vertices, and does not output the electrocardiogram waveform data. The output result after perception is the heart rate value. Subsequent calculations are based on the heart rate value. There is no need to store the complete electrocardiogram waveform, which can save storage space.
[0062] As an example, after the sensing unit detects an electrocardiogram, it can also perform noise elimination and data validity checks to filter out abnormal data, improve data quality, and thus enhance the accuracy and reliability of atrial fibrillation detection. Specifically, a noise flag and a noise threshold can be set, and the noise flag is monitored in real time during each sensing process. If the noise flag of the current time window is greater than the noise threshold, the electrocardiogram in the current time window is invalid, all data in the time window is discarded, and electrocardiogram sensing of the next time window is restarted; if the noise flag of the time window is less than the noise threshold, the R wave apex is confirmed.
[0063] As an example, a noise indicator can be a zero-point counter within a blank period. A blank period refers to a time period when no valid ECG data is obtained. The zero-point counter counts the number of times the ECG crosses zero during the blank period. If the zero-point counter value exceeds the noise threshold during the blank period, noise interference is present, and all data within this time window is discarded.
[0064] In step S2, see Figure 1 In step S2, the variation between consecutive heart rate values is calculated within the time window to obtain a first heart rate value variation and a second heart rate value variation, and stability counting is performed based on the first heart rate value variation and the second heart rate value variation.
[0065] As an example, within the time window, three consecutive heart rate values are obtained, namely the first heart rate value HR0, the second heart rate value HR1, and the third heart rate value HR2. The difference between the two adjacent heart rate values is calculated to obtain the first heart rate value change diff0 and the second heart rate value change diff1. The expression of the first heart rate value change diff0 is , the expression of the second heart rate value change diff1 is .
[0066] Furthermore, a stability parameter is initialized. Specifically, at the beginning or reset of each time window, the stability parameter is initialized to zero so as to re-count the number of stable heart rate values.
[0067] As an example, the stability parameters include a stability count variable stableCount, an instability count variable unstableCount, and a slow heartbeat count variable ddCount. The stability parameters are used to count the number of stable heart rate values in the current time window, wherein the stability count variable stableCount and the instability count variable unstableCount are used to measure the heart rate dispersion, and the slow heartbeat count variable ddCount is used to measure the degree of slow heart rate.
[0068] Furthermore, the stability of all heart rate values in the time window is judged, and the stability parameter is updated to obtain the stability parameter of the current time window.
[0069] As an example, stability counting is performed based on the first heart rate value change diff0 and the second heart rate value change diff1, and the degree of heart rate disorder is reflected by the number of stable heart rate values, which is convenient for atrial fibrillation detection.
[0070] Specifically, the first threshold is set according to factors such as the heart rate change characteristics during atrial fibrillation and the complexity of the algorithm. , if the first heart rate value change And the second heart rate value change , indicating that the heart rate is stable, the stability count variable stableCount value increases by 1; otherwise, the instability count variable unstableCount value increases by 1. When the heart rate is unstable, and the first heart rate value change is And the second heart rate value change When the heart rate slow count variable ddCount is increased by one. Indicates that the second heart rate HR1 is less than the first heart rate HR0, that is, the heart rate is on a downward trend; the change in the second heart rate value This indicates that the variation between the third heart rate HR2 and the second heart rate HR1 is minimal. If three consecutive heart rate values simultaneously show a downward trend and minimal variation, the heart rate is considered slow, and the slow heart rate counter ddCount is incremented by one. The same method is used to determine the stability of the remaining heart rate values, continuously updating the stability parameter to ultimately determine the stability parameter for the current time window.
[0071] As an example, the first heart rate value change diff0 and the second heart rate value change diff1 are updated with the perceived heart rate value, always reflecting the changes in the latest three heart rate values, so as to dynamically capture the latest heart rate change trend and avoid judgment lag caused by the accumulation of historical data.
[0072] For example, if the value of the stability count variable stableCount is low, the heart rate fluctuates frequently and there may be a risk of atrial fibrillation; conversely, if the value of the stability count variable stableCount is high, the heart rate is relatively stable and the possibility of atrial fibrillation is low.
[0073] For example, when atrial fibrillation occurs, the heart's electrical activity is disordered and the heart rate becomes significantly unstable. Therefore, the heart rate fluctuation amplitude of atrial fibrillation patients is usually large. The first threshold can be set 5 times / minute, in order to better capture the heart rate fluctuation characteristics of atrial fibrillation and effectively distinguish atrial fibrillation from other abnormal heart rhythms.
[0074] In step S3, see Figure 1 In step S3, a heart rate range is set, the heart rate range is divided into multiple intervals, the number of heart rate values in each interval is determined, and a histogram is constructed according to the number of heart rate values.
[0075] As an example, the heart rate range is set according to the extreme ranges of normal physiological heart rate and common pathological heart rate.
[0076] As an example, to meet the requirements for detecting various heart rate states in atrial fibrillation, the heart rate range can be set to 0-300 beats / minute. This heart rate range can cover the heart rate fluctuation range under normal and pathological conditions and meet the low computational complexity requirements of the implantable device.
[0077] Furthermore, the heart rate range is divided into N intervals, each with a width of W, meaning each interval includes W heart rate values, each corresponding to a heartbeat event. Each heart rate value in the current time window is categorized by interval, and the number of heart rate values within each interval, i.e., the number of heartbeat events, is counted to form a histogram of the heart rate distribution. Dividing the heart rate range into N intervals can identify high heart rate intervals within the current time window to rule out tachycardia, laying the foundation for subsequently ruling out ventricular premature beats.
[0078] In one example, you can set , the heart rate range of 0-300 beats / minute is divided into 30 intervals, and the width of each interval is , each interval includes 10 heart rate values, then the heart rate range of 0-300 beats / minute can be divided into 30 intervals of 0-10 beats / minute, 10-20 beats / minute, 20-30 beats / minute, 30-40 beats / minute, 40-50 beats / minute, 50-60 beats / minute, 60-70 beats / minute, ..., 290-300 beats / minute, all heart rate values in the current time window are classified, and the number of heart rate values in each interval is counted to obtain a heart rate distribution histogram, such as: interval 0 (0-10 beats / minute), 5; interval 1 (10-20 beats / minute), 3; ...; interval 29 (290-300 beats / minute), 12.
[0079] In step S4, see Figure 1 In step S4, within the time window, local windows are divided based on the number of heart rate values, and the maximum and minimum values of the heart rate values in each local window are detected to obtain the extreme value distribution of the time window.
[0080] As an example, the local window size is set to K2, that is, the local window includes K2 heart rate values. In the current time window, the heart rate values are divided in sequence to obtain X local windows. ,in, Is the total number of heart rate values in the current time window. Detect the heart rate maximum and minimum in each local window, and obtain the corresponding heart rate maximum and heart rate minimum respectively. With the heart rate maximum as the center, take the forward L1 heart rate values and the backward L2 heart rate values to obtain the maximum interval of the corresponding local window. The maximum interval includes Heart rate values; take the heart rate minimum as the center and move forward L3 heart rate values and backward L4 heart rate values to obtain the minimum interval of the corresponding local window. The minimum interval includes Heart rate value.
[0081] Furthermore, the number of high heart rate values close to the maximum heart rate value in the maximum value interval of each local window is obtained to obtain the maximum heart rate count of each local window; the number of low heart rate values close to the minimum heart rate value in the minimum value interval of each local window is obtained to obtain the minimum heart rate count of each local window.
[0082] Specifically, the heart rate value of each local window is judged. For the first local window, the heart rate maximum value is Max and the heart rate minimum value is Min. Starting from the first heart rate value in the maximum value interval, the numerical value of the first heart rate value is judged. If the numerical value of the first heart rate value is , then the corresponding heart rate maximum value count MaxCount value increases by one, and continues to judge the value of the next heart rate value until Heart rate values, get the final heart rate maximum value MaxCount value of the first local window; starting from the first heart rate value in the minimum value interval, determine the value of the first heart rate value. If the value of the first heart rate value is , then the corresponding heart rate minimum value count MinCount value increases by one, and continues to judge the value of the next heart rate value until The heart rate values of the first local window are obtained by calculating the heart rate minimum value MinCount. The same method is used to obtain the heart rate maximum value count and the heart rate minimum value count of all X local windows.
[0083] Furthermore, the heart rate maximum counts and heart rate minimum counts of all local windows in the current time window are added together to obtain the sum of the heart rate maximum counts of all local windows in the current time window. The sum of the heart rate minimum counts in all local windows , the extreme value distribution range of the time window is obtained as , which can reflect the distribution of extreme heart rate values in the entire time window and provide data support for the subsequent judgment of atrial fibrillation triggering.
[0084] As an example, if the maximum value or the minimum value is located at the edge of the local window, the maximum value interval or the minimum value interval range is limited to the number of actual heart rate values in the local window.
[0085] In an example, the time window K1 can be set to 2 minutes, and the local window K2 can be set to 10. Within the time window, 120 time intervals between two adjacent R-wave vertices are perceived, and 120 heart rate values are obtained based on the time intervals between two adjacent R-wave vertices. By dividing the number of heart rate values using local windows, 12 local windows can be obtained.
[0086] The following uses the first local window as an example to introduce the specific method of obtaining the maximum heart rate count MaxCount and the minimum heart rate count MinCount of the local window. Assume that the first local window obtained by division is [70, 72, 68, 120, 75, 73, 65, 70, 71, 74]. The maximum heart rate Max of the first local window is 120 beats / minute (the fourth heart rate value), and the minimum heart rate Min of the first local window is 65 beats / minute (the seventh heart rate value). Orient the forward direction with the maximum heart rate Max=120 beats / minute as the center. Heart rate values and backward The heart rate value is the maximum interval [70, 72, 68, 120, 75, 73, 65]; the heart rate minimum value Min is the center and the forward direction is Heart rate values and backward The heart rate values have a minimum interval of [120, 75, 73, 65, 70, 71, 74]. In the maximum interval of the first local window, only the fourth heart rate value is greater than or equal to 115 beats / minute. Then the heart rate maximum value count MaxCount of the first local window is increased by one to obtain the heart rate maximum value count of the first local window. If the sixth and seventh heart rate values in the minimum interval of the first local window are less than or equal to 70 beats / minute, the heart rate minimum count MinCount value of the first local window is increased by two, and the heart rate minimum count MinCount value of the first local window is increased by two. Similarly, we can get the heart rate maximum counts and heart rate minimum counts of the other 11 local windows, and calculate the sum of the heart rate maximum counts of all 12 local windows in the current time window. The sum of the heart rate minimum counts in all local windows , the extreme value distribution of the current time window is obtained as .
[0087] In step S5, see Figure 1 In step S5, based on the histogram, it is determined whether there are clusters in the time window. If there are clusters, whether they are ventricular premature beats is determined based on the number of clusters. If there are no clusters, whether they are ventricular premature beats is determined based on the extreme value distribution of the time window and the local window.
[0088] As an example, see Figure 2 , step S5 may include the following steps: step S51 to step S53.
[0089] Step S51: Set a second threshold, compare the number of heart rate values in each interval in the histogram with the second threshold respectively, if the number of heart rate values in two or more adjacent intervals is greater than the second threshold, the two or more adjacent intervals form a cluster, and the cluster mark value is increased by one.
[0090] Step S52: Set the third threshold and the fourth threshold, and determine whether there is a cluster in the current time window based on the cluster flag value. If the cluster flag value is less than or equal to 1, no cluster exists. If the cluster flag value is greater than 1, determine whether the average heart rate extreme value distribution in the current time window is greater than the third threshold. If so, end the atrial fibrillation detection in the current time window and output ventricular premature beats. Otherwise, enter the tachycardia judgment.
[0091] Step S53: If no cluster exists, determine whether the average heart rate extreme value distribution of the current time window is greater than the fourth threshold. If so, end the atrial fibrillation detection of the current time window and output ventricular premature beats. Otherwise, proceed to tachycardia determination.
[0092] As an example, in step S51, the cluster flag value NumCluster is set to indicate the number of clusters in the current time window, and the second threshold value is set to Used to determine whether there is a cluster. According to the histogram, the number of heart rate values in N intervals is compared with the second threshold value. Specifically, the i The number of heart rate values in the interval and the second threshold For comparison, if i The number of heart rate values in the interval is greater than the second threshold , then it is considered that there is a potential cluster, if two or more adjacent intervals (such as i interval and i+1 interval, or i interval, i+1 interval, i+2 The number of heart rate values in the intervals) is greater than the second threshold , then the two or more adjacent intervals form a cluster, and the cluster flag value NumCluster is increased by 1. All N intervals are traversed to obtain the final cluster flag value NumCluster of the current time window.
[0093] As an example, in step S52, it is determined whether there is a cluster in the current time window based on the cluster flag value NumCluster. If the cluster flag value NumCluster is less than or equal to 1, there is no cluster; if the cluster flag value NumCluster is greater than 1, there is a cluster, and the average heart rate extreme value distribution PVC_Indicator of the current time window is obtained.
[0094] As an example, the sum of the heart rate maximum counts of all local windows within the current time window is The sum of the heart rate minimum counts in all local windows The maximum value of divided by the number of local windows X, the average heart rate extreme value distribution PVC_Indicator of the current time window is obtained, the expression is:
[0095] .
[0096] Furthermore, a third threshold is set With the fourth threshold , the average heart rate extreme value distribution PVC_Indicator of the current time window is compared with the third threshold For comparison, if the average heart rate extreme value distribution of the current time window , then there are ventricular premature beats, the current time window does not meet the requirements of atrial fibrillation, end the atrial fibrillation detection of the current time window, and output ventricular premature beats; if the average heart rate extreme value distribution of the current time window , then enter the judgment of tachycardia.
[0097] As an example, the case where the cluster flag value NumCluster is equal to 1 can be set as the absence of a cluster, thereby preventing isolated premature beats from being misjudged as atrial fibrillation and enhancing the accuracy of atrial fibrillation detection.
[0098] As an example, in step S53, if there is no cluster, the sum of the heart rate maximum counts of all local windows in the current time window is calculated. The sum of the heart rate minimum counts in all local windows The maximum value of the heart rate is divided by the number of local windows X to obtain the average heart rate extreme value distribution PVC_Indicator of the current time window, and the average heart rate extreme value distribution PVC_Indicator of the current time window is compared with the fourth threshold For comparison, if the average heart rate extreme value distribution of the current time window , then there are ventricular premature beats, the current time window does not meet the requirements of atrial fibrillation, end the atrial fibrillation detection of the current time window, and output ventricular premature beats; if the average heart rate extreme value distribution of the current time window , then enter the judgment of tachycardia.
[0099] As an example, a fourth threshold may be set Less than the third threshold .
[0100] As an example, the average heart rate extreme value distribution PVC_Indicator may be amplified 100 times to eliminate floating point numbers for easier processing, and the corresponding third threshold and fourth threshold are also amplified 100 times.
[0101] In step S6, refer to Figure 1 In step S6, it is determined whether it is tachycardia based on the number of heart rate values.
[0102] As an example, the heart rate range can be set to 0-300 beats / minute, and the high heart rate interval is 200-300 beats / minute. The number of heart rate values Count in the current time window in the high heart rate interval is obtained. The high heart rate ratio HighRate is determined based on the total number of heart rate values SumCount in the current time window and the number of heart rate values Count in the high heart rate interval. The expression is .
[0103] Furthermore, a fifth threshold is set , the high heart rate ratio HighRate and the fifth threshold For comparison, if the high heart rate ratio , the heart rate is normal; if the high heart rate accounts for , then the current time window does not meet the requirements of atrial fibrillation, the atrial fibrillation detection of the current time window is terminated, and tachycardia is output.
[0104] In step S7, refer to Figure 1 In step S7, atrial fibrillation trigger parameters are determined based on the principle of probability statistics, whether atrial fibrillation triggering is satisfied is judged according to the atrial fibrillation trigger parameters, atrial fibrillation triggering is confirmed by using a state machine, atrial fibrillation detection is completed, and after confirming atrial fibrillation triggering, the judgment conditions of atrial fibrillation triggering are adjusted according to the duration of atrial fibrillation, continuous sensing is performed, atrial fibrillation detection is performed in the next time window, and continuous detection of atrial fibrillation is achieved.
[0105] As an example, see Figure 3 , step S7 may include the following steps: step S71 to step S76.
[0106] Step S71: determining atrial fibrillation triggering parameters according to the principle of probability statistics, wherein the atrial fibrillation triggering parameters include: dispersion, bradycardia index, and concentration.
[0107] Step S72: According to the clinical indicators of atrial fibrillation, the thresholds corresponding to the atrial fibrillation trigger parameters are set respectively, including the sixth threshold, the seventh threshold, and the eighth threshold, and the atrial fibrillation trigger parameters are compared with the corresponding thresholds respectively. If the dispersion is greater than the sixth threshold and the slow heart rate index is greater than the seventh threshold and the concentration is less than the eighth threshold, the atrial fibrillation trigger is satisfied; otherwise, the atrial fibrillation trigger is not satisfied.
[0108] Step S73: Set the atrial fibrillation flag. When the atrial fibrillation trigger is met, check the current state of the state machine. If the current state of the state machine is idle and no ventricular premature beats or tachycardia are output, update the current state of the state machine from idle to triggered state, set the atrial fibrillation flag to the start of atrial fibrillation, and accumulate the duration of atrial fibrillation.
[0109] Step S74: Compare the accumulated atrial fibrillation duration with the ninth threshold value. If the accumulated atrial fibrillation duration is greater than the ninth threshold value, the current state of the state machine is updated from the trigger state to the confirmation state, the atrial fibrillation flag is set to atrial fibrillation confirmation, and the current time window is the atrial fibrillation attack period.
[0110] Step S75: When the atrial fibrillation trigger is not satisfied, check the current state of the state machine. If the current state of the state machine is already in the confirmation state, set the atrial fibrillation flag to the end of atrial fibrillation and update the current state of the state machine to the idle state. If the current state of the state machine is not the confirmation state, set the atrial fibrillation flag to atrial fibrillation not detected and update the current state of the state machine to the idle state to complete the atrial fibrillation detection.
[0111] Step S76: Compare the accumulated atrial fibrillation duration with the tenth threshold value. If the accumulated atrial fibrillation duration is greater than the tenth threshold value, relax the threshold value corresponding to the atrial fibrillation trigger parameter, continue sensing, and perform atrial fibrillation detection in the next time window to achieve accurate and continuous detection of atrial fibrillation.
[0112] As an example, in step S71, atrial fibrillation triggering parameters are determined based on the principle of probability statistics, and the atrial fibrillation triggering parameters include: dispersion scatter, slow heart rate index ddration, and concentration hrdiration.
[0113] As an example, the dispersion scatter is determined based on the stability count variable stableCount and the instability count variable unstableCount. The expression is:
[0114] .
[0115] Furthermore, the slow heartbeat index ddration is determined according to the slow heartbeat count variable ddCount, and the expression is:
[0116]
[0117] in, Indicates the total number of heart rate values in the current time window.
[0118] Further, determine the interval with the largest number of heart rate values in the histogram, obtain the number of heart rate values maxc corresponding to the interval, and calculate the total number of heart rate values in the current time window according to the number of heart rate values in the current time window. Determine the concentration hrdiration, the expression is:
[0119]
[0120] in, Indicates the number of heart rate values corresponding to the interval with the largest number of heart rate values in the current time window.
[0121] As an example, in step S72, the thresholds corresponding to the atrial fibrillation triggering parameters are set according to the clinical indicators of atrial fibrillation, including the sixth threshold , the seventh threshold , the eighth threshold Specifically, the sixth threshold Corresponding to the dispersion scatter, since the dispersion scatter of atrial fibrillation is significantly higher than that of normal heart rate or other arrhythmias, the dispersion mean of the normal population plus twice the standard deviation can be used as the lower limit, and the dispersion scatter covering more than 90% of atrial fibrillation can be used as the upper limit. The middle value of the two is determined as the sixth threshold , to balance misjudgment and missed judgment; the seventh threshold Corresponding to the heart rate slowness index ddration, the seventh threshold is set according to the heart rate slowness index distribution of the normal population and the heart rate slowness index ddration characteristics of atrial fibrillation (such as the increase in the scatter). , to avoid misjudgment of a single slow heart rate; the eighth threshold Corresponding to the concentration hrdiration, since the concentration hrdiration of atrial fibrillation is lower than that of normal heart rate, the eighth threshold can be set according to the concentration of normal heart rate .
[0122] Furthermore, the atrial fibrillation triggering parameters are compared with the corresponding thresholds. If the dispersion scatter is greater than the sixth threshold And the heart rate index ddration is greater than the seventh threshold And the concentration hrdiration is less than the eighth threshold ,Right now , then atrial fibrillation triggering is satisfied, otherwise atrial fibrillation triggering is not satisfied.
[0123] As an example, in step S73, the atrial fibrillation flag mark is set to record the start and end time of the atrial fibrillation attack. When the atrial fibrillation trigger is met, the current state of the state machine is checked. If the current state of the state machine is idle, that is, the current state of the state machine is , and there is no output of ventricular premature beats or tachycardia, the current state of the state machine status is updated from idle state idle to trigger state start, and the atrial fibrillation flag mark is set to atrial fibrillation start AFstart, that is, the atrial fibrillation flag , and accumulate the atrial fibrillation duration AFtime to obtain the accumulated atrial fibrillation duration AFtime2, and realize the quantification of the atrial fibrillation duration through the time accumulation mechanism.
[0124] As an example, the current atrial fibrillation duration AFtime can be added to the current time window K1 to obtain the accumulated atrial fibrillation duration AFtime2, which is expressed as .
[0125] As an example, in step S74, nine thresholds are set , the accumulated atrial fibrillation duration AFtime2 is compared with the ninth threshold For comparison, if the cumulative duration of atrial fibrillation , it means that the trigger state start lasts long enough to confirm the occurrence of atrial fibrillation, and the current state of the state machine status is updated from the trigger state start to the confirmation state satisfied, and the atrial fibrillation flag mark is set to atrial fibrillation confirmation AFconfirm, that is, the atrial fibrillation flag , the current time window is the atrial fibrillation attack period.
[0126] As an example, in step S75, when the atrial fibrillation trigger is not satisfied, the current state of the state machine is checked. If the current state of the state machine is already satisfied, that is, the current state , then the atrial fibrillation flag mark is set to atrial fibrillation end AFstop, that is, the atrial fibrillation flag , update the current state of the state machine status to idle state idle; if the current state of the state machine status is not confirmed satisfied, that is, the current state , the atrial fibrillation flag mark is set to atrial fibrillation not detected AFnone, and the current state status of the state machine is updated to idle state idle.
[0127] As an example, in step S76, the tenth threshold is set , the accumulated atrial fibrillation duration AFtime2 is compared with the tenth threshold For comparison, if the cumulative duration of atrial fibrillation , then relax the sixth threshold corresponding to the atrial fibrillation trigger parameter , the seventh threshold , the eighth threshold .
[0128] As an example, the sixth threshold To reduce the scatter criterion, adjust the seventh threshold Adjust the value to reduce the ddration judgment standard of slow heart rate index, and set the eighth threshold Increase the concentration to improve the HR diration judgment standard, thereby relaxing the atrial fibrillation trigger judgment conditions and improving the detection sensitivity of persistent atrial fibrillation.
[0129] Furthermore, the process returns to step S1 to perform electrocardiogram sensing in the next time window and continuously perform atrial fibrillation detection to achieve accurate and continuous detection of atrial fibrillation.
[0130] As an example, the first threshold To the tenth threshold It can be debugged and determined based on experience and according to actual heart rhythm conditions. Specifically, it can be debugged and determined based on the characteristic distribution, clinical diagnostic indicators and statistical laws of actual heart rhythm conditions such as normal heart rhythm, atrial fibrillation, ventricular premature beats, tachycardia, etc., so as to achieve accurate distinction of different heart rhythm patterns and ensure the accuracy and robustness of stability judgment, cluster identification, exclusion of ventricular premature beats and tachycardia, and atrial fibrillation trigger confirmation in atrial fibrillation detection.
[0131] In one example, a tenth threshold may be set minute.
[0132] In the atrial fibrillation detection method of the present application, by continuously monitoring the electrocardiogram within a time window and obtaining the heart rate value based on the time interval between two adjacent R wave vertices, combined with the stability counting of the adjacent heart rate value changes, the heart rate fluctuation trend can be captured in real time, significantly improving the sensitivity of atrial fibrillation detection, and timely detecting abnormal heart rate changes; calculations are performed only based on the heart rate value, without the need to store the complete electrocardiogram waveform, which can greatly reduce the amount of calculation and device power consumption, and adapt to the low power consumption and small storage requirements of implantable medical devices; by dividing the local window according to the number of heart rate values within the time window, the abnormalities of single or continuous heart rate values can be monitored in real time, and the cardiac electrical activity can be more accurately aligned; through the extreme value distribution of the time window, interference factors such as ventricular premature beats and tachycardia can be effectively distinguished, reducing the misjudgment rate; atrial fibrillation triggering is confirmed by a state machine, and the judgment threshold is dynamically adjusted according to the duration of atrial fibrillation, realizing dynamic and continuous monitoring of atrial fibrillation, especially enhancing the detection sensitivity of persistent atrial fibrillation. The method of the present application analyzes the electrocardiogram from multiple perspectives such as heart rate stability, distribution characteristics, and time dimension, which can improve the accuracy and comprehensiveness of detection.
[0133] It should be understood that although the steps in the flowcharts of the accompanying drawings are shown sequentially as indicated by the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in the accompanying drawings may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The order of execution of these sub-steps or stages is not necessarily sequential, but can be executed in rotation or alternation with other steps or at least a portion of the sub-steps or stages of other steps.
[0134] In another embodiment, the present application also provides an atrial fibrillation detection system, which includes: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement any of the above-mentioned atrial fibrillation detection methods.
[0135] In another embodiment, the present application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the various steps of the atrial fibrillation detection method provided in the above embodiment.
[0136] The computer-executable instructions for implementing the methods of the present application may be written in any combination of one or more programming languages. These computer-executable instructions may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer-executable instructions are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer-executable instructions may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or electronic device.
[0137] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display (LCD) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; feedback provided to the user can be any form of sensory feedback (e.g., visual feedback or tactile feedback); and input from the user can be received in any form, including acoustic input, voice input, or tactile input.
[0138] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as data electronics), or a computing system that includes middleware components (e.g., application electronics), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0139] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0140] Although the present application has been disclosed above with reference to the embodiments, they are not intended to limit the present application. Anyone with ordinary knowledge in the technical field may make slight changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be determined by the scope of the appended patent application.
Claims
1. An atrial fibrillation detection system, characterized in that: The atrial fibrillation detection system includes: one or more processors; a storage device for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement an atrial fibrillation detection method, the atrial fibrillation detection method including the following steps: Setting a time window, using a sensing unit to continuously detect an electrocardiogram within the time window, determining an R-wave vertex based on the electrocardiogram, obtaining a time interval between two adjacent R-wave vertices, and determining a heart rate value based on the time interval between the two adjacent R-wave vertices; Calculating changes between consecutive heart rate values within the time window to obtain a first heart rate value change and a second heart rate value change, and performing stability counting based on the first heart rate value change and the second heart rate value change to obtain a stability parameter; Setting a heart rate range, dividing the heart rate range into a plurality of intervals, determining the number of heart rate values in each interval, and constructing a histogram based on the number of heart rate values; In the time window, local windows are divided based on the number of heart rate values, and the maximum and minimum values of the heart rate values in each local window are detected to obtain the extreme value distribution of the time window; Based on the histogram, determine whether there are clusters in the time window. If there are clusters, determine whether they are ventricular premature beats based on the number of clusters. If there are no clusters, determine whether they are ventricular premature beats based on the extreme value distribution of the time window and the local window. Determine whether it is tachycardia based on the number of heart rate values; Atrial fibrillation trigger parameters are determined based on the principles of probability statistics, and whether atrial fibrillation triggering is met is judged according to the atrial fibrillation trigger parameters. The atrial fibrillation trigger is confirmed by using a state machine to complete atrial fibrillation detection. After confirming the atrial fibrillation trigger, the judgment conditions of the atrial fibrillation trigger are adjusted according to the duration of atrial fibrillation, continuous perception is performed, and atrial fibrillation detection is performed in the next time window to achieve continuous detection of atrial fibrillation.
2. The atrial fibrillation detection system according to claim 1, wherein: The variation between consecutive heart rate values is calculated within the time window to obtain a first heart rate value variation and a second heart rate value variation, and stability counting is performed based on the first heart rate value variation and the second heart rate value variation to obtain a stability parameter, including: calculating the variation between consecutive heart rate values within the time window to obtain a first heart rate value variation and a second heart rate value variation; setting an initial value of the stability parameter to zero, the stability parameter including a stability counting variable, an instability counting variable, and a slow heartbeat counting variable; performing stability judgment on all heart rate values within the time window, updating the stability parameter, and obtaining the stability parameter of the current time window.
3. The atrial fibrillation detection system according to claim 2, wherein: Perform stability judgment on all heart rate values in the time window, update the stability parameters, and obtain the stability parameters of the current time window, including: if the change in the first heart rate value is less than the first threshold and the change in the second heart rate value is less than the first threshold, then the stability count variable value is increased by one; otherwise, the instability count variable value is increased by one; when the heart rate is unstable, and the change in the first heart rate value is less than zero, and the change in the second heart rate value is less than 1, the slow heartbeat count variable value is increased by one; use the same method to perform stability judgment on the remaining heart rate values, continuously update the stability parameters, and finally obtain the stability parameters of the current time window.
4. The atrial fibrillation detection system according to claim 1, wherein: Dividing the time window into local windows based on the number of heart rate values, detecting the maximum and minimum heart rate values in each local window, and obtaining an extreme value distribution of the time window, including: dividing the heart rate values in sequence to obtain a plurality of local windows within the current time window; detecting the maximum and minimum heart rate values in each local window, and obtaining the corresponding maximum and minimum heart rate values; Taking the maximum heart rate as the center, multiple heart rate values are taken forward and backward to form a maximum interval, and taking the minimum heart rate as the center, multiple heart rate values are taken forward and backward to form a minimum interval; obtaining the number of heart rate values in the maximum interval of each local window whose heart rate values are close to the maximum heart rate value, and obtaining the maximum heart rate count of each local window; obtaining the number of heart rate values in the minimum interval of each local window whose heart rate values are close to the minimum heart rate value, and obtaining the minimum heart rate count of each local window; adding the maximum heart rate count and the minimum heart rate count of all local windows in the current time window, obtaining the sum of the maximum heart rate count of all local windows in the current time window and the sum of the minimum heart rate count of all local windows, and obtaining the extreme value distribution of the time window.
5. The atrial fibrillation detection system according to claim 1, wherein: Based on the histogram, determine whether there are clusters in the time window. If there are clusters, determine whether they are ventricular premature beats based on the number of clusters. If there are no clusters, determine whether they are ventricular premature beats based on the extreme value distribution of the time window and the local window, including: Setting a second threshold, comparing the number of heart rate values in each interval of the histogram with the second threshold, if the number of heart rate values in two or more adjacent intervals is greater than the second threshold, the two or more adjacent intervals form a cluster, and the cluster flag value is increased by one; Setting a third threshold and a fourth threshold, and judging whether a cluster exists in the time window according to the cluster flag value, if the cluster flag value is less than or equal to 1, no cluster exists; If the cluster flag value is greater than 1, determining whether the average heart rate extreme value distribution of the time window is greater than the third threshold; if so, ending the atrial fibrillation detection of the time window and outputting a ventricular premature beat; otherwise, proceeding to the tachycardia determination; If no cluster exists, it is determined whether the average heart rate extreme value distribution of the time window is greater than the fourth threshold value. If so, the atrial fibrillation detection of the time window is terminated and the ventricular premature beat is output. Otherwise, the process proceeds to the tachycardia determination.
6. The atrial fibrillation detection system according to claim 5, characterized in that: The average heart rate extreme value distribution is equal to the maximum value of the sum of the heart rate maximum value counts of all local windows within the time window and the sum of the heart rate minimum value counts of all local windows divided by the number of local windows, and the expression is: Among them, PVC_Indicator represents the average heart rate extreme value distribution, is the sum of the heart rate maximum counts of all local windows within the time window, is the sum of the heart rate minimum counts of all local windows within the time window, and X is the number of local windows.
7. The atrial fibrillation detection system according to claim 1, wherein: Atrial fibrillation trigger parameters are determined based on the principle of probability statistics, whether atrial fibrillation triggering is satisfied is determined based on the atrial fibrillation trigger parameters, a state machine is used to confirm the atrial fibrillation triggering, and atrial fibrillation detection is completed. After the atrial fibrillation triggering is confirmed, the judgment conditions of the atrial fibrillation trigger are adjusted according to the atrial fibrillation duration, continuous sensing is performed, and atrial fibrillation detection is performed in the next time window to achieve accurate and continuous detection of atrial fibrillation, including: Determine atrial fibrillation trigger parameters according to the principle of probability statistics, wherein the atrial fibrillation trigger parameters include: dispersion, bradycardia index, and concentration; According to the clinical indicators of atrial fibrillation, the thresholds corresponding to the atrial fibrillation trigger parameters are set respectively, including the sixth threshold, the seventh threshold, and the eighth threshold. The atrial fibrillation trigger parameters are compared with the corresponding thresholds respectively. If the dispersion is greater than the sixth threshold and the bradycardia index is greater than the seventh threshold and the concentration is less than the eighth threshold, the atrial fibrillation trigger is satisfied; otherwise, the atrial fibrillation trigger is not satisfied. Set the atrial fibrillation flag. When the atrial fibrillation trigger is met, check the current state of the state machine. If the current state of the state machine is idle and no ventricular premature beats or tachycardia are output, update the current state of the state machine from idle to triggered state, set the atrial fibrillation flag to atrial fibrillation start, and accumulate the atrial fibrillation duration. Compare the accumulated atrial fibrillation duration with a ninth threshold value. If the accumulated atrial fibrillation duration is greater than the ninth threshold value, update the current state of the state machine from a trigger state to a confirmation state, set the atrial fibrillation flag to atrial fibrillation confirmation, and the current time window is the atrial fibrillation attack period. When the atrial fibrillation trigger is not satisfied, the current state of the state machine is checked. If the current state of the state machine is already in the confirmation state, the atrial fibrillation flag is set to atrial fibrillation end, and the current state of the state machine is updated to the idle state; if the current state of the state machine is not the confirmation state, the atrial fibrillation flag is set to atrial fibrillation not detected, and the current state of the state machine is updated to the idle state, completing the atrial fibrillation detection; The accumulated atrial fibrillation duration is compared with the tenth threshold. If the accumulated atrial fibrillation duration is greater than the tenth threshold, the threshold corresponding to the atrial fibrillation trigger parameter is relaxed, continuous sensing is performed, and atrial fibrillation detection is performed in the next time window to achieve accurate and continuous detection of atrial fibrillation.
8. The atrial fibrillation detection system according to claim 7, characterized in that: Determining atrial fibrillation trigger parameters based on the principle of probability statistics includes determining the discreteness scatter based on the stability count variable stableCount and the instability count variable unstableCount, and the expression is: ; The slow heart rate index ddration is determined based on the slow heart rate count variable ddCount. The expression is: in, Indicates the total number of heart rate values in the current time window; According to the total number of heart rate values in the time window Determine the concentration hrdiration, the expression is: in, Indicates the number of heart rate values corresponding to the interval with the largest number of heart rate values in the time window.
9. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the atrial fibrillation detection system according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Atrial fibrillation event detection method
CN111803063A
Paroxysmal atrial fibrillation marking method, terminal equipment and storage medium
CN116058850A