US11534099B2 - Systems and methods for determining an arrhythmia type - Google Patents
Systems and methods for determining an arrhythmia type Download PDFInfo
- Publication number
- US11534099B2 US11534099B2 US17/044,262 US201817044262A US11534099B2 US 11534099 B2 US11534099 B2 US 11534099B2 US 201817044262 A US201817044262 A US 201817044262A US 11534099 B2 US11534099 B2 US 11534099B2
- Authority
- US
- United States
- Prior art keywords
- prediction model
- feature
- model
- training
- samples
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/363—Detecting tachycardia or bradycardia
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/339—Displays specially adapted therefor
- A61B5/341—Vectorcardiography [VCG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0004—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by the type of physiological signal transmitted
- A61B5/0006—ECG or EEG signals
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/361—Detecting fibrillation
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/74—Details of notification to user or communication with user or patient; User input means
- A61B5/746—Alarms related to a physiological condition, e.g. details of setting alarm thresholds or avoiding false alarms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
Definitions
- the present disclosure generally relates to medical devices, and in particular, to systems and methods for determining an arrhythmia type of an electrocardiogram.
- VF Ventricular Fibrillation
- VT Ventricular Tachycardia
- VFL Ventricular Flutter
- SVT Supraventricular tachycardia
- VF is a heart rhythm problem due to disorganized electrical activity in the ventricles. The ventricular muscle twitches randomly, so the ventricles fail to pump blood around the body. VF is one of the common causes of sudden cardiac death.
- VT is a heart rhythm disorder characterized by a wide malformation of the QRS complexes three or more times in succession, with a frequency exceeding 100 beats/min.
- VFL is a transitional heart rate between the VT and VF. VFL often lasts a short period.
- SVT is defined as an abnormally fast heartbeat.
- P waves of Supraventricular tachycardia (SVT) may be difficult to identify, and QRS complexes are the same as those of a patient with sinus.
- the frequency of SVT is 150 to 240 times per minute, and the rhythm is uniform.
- arrhythmia electrocardiograph ECG signals certain characteristics, such as P wave, QRS complex, T wave, RR period (a time period between two R wave in two QRS complexes), ST segment (the period of a flat line from the end of the QRS complex to the start of T wave), etc., and classify the types of arrhythmia based on such characteristics.
- ECG arrhythmia electrocardiograph
- some waves of the arrhythmia electrocardiograph (ECG) become deformed, it is difficult to classify arrhythmia types. Accordingly, it is desirable to provide systems and methods for detecting and classify different types of arrhythmia quickly and accurately.
- a system configured to determine an arrhythmia type may include at least one storage device including a set of instructions for determining an arrhythmia type, and at least one processor in communication with the storage device, wherein when executing the set of instructions, the at least one processor may be directed to: obtain an electrocardiogram signal; obtain a feature vector of the electrocardiogram signal; obtain a trained prediction model, and determine an arrhythmia type of the electrocardiogram signal based on the trained prediction model and the feature vector.
- the feature vector may include a threshold crossing sample (TCSC) percent feature, an L-Z complexity feature, an empirical mode decomposition (EMD) complex number feature, a sample entropy feature, and a set of wavelet transform energy features.
- TCSC threshold crossing sample
- EMD empirical mode decomposition
- the at least one processor is further directed to: obtain training samples including a plurality of arrhythmia types of historical electrocardiogram signals; obtain feature vectors of the training samples; obtain a preliminary prediction model, the preliminary prediction model including a classifier model; and train the preliminary prediction model to obtain the trained prediction model using the training samples and the feature vectors of the training samples as inputs of the classifier model.
- the classifier model may include at least one of: a random forest model, a BP neural network model, a support vector machine (SVM) model, or a wavelet neural network model.
- the at least one processor is further directed to: train the preliminary prediction model to obtain an intermediate prediction model using the training samples and the feature vectors of the training samples as the inputs of the classifier model; obtain testing samples including a plurality of arrhythmia types of historical electrocardiogram signals; obtain feature vectors of the testing samples; determine an accuracy rate of the intermediate prediction model based on the testing samples and the feature vector of the testing samples, wherein the testing samples and the feature vectors of the testing samples are inputs of the intermediate prediction model; determine whether the accuracy rate is greater than an accuracy rate threshold; and designate the intermediate prediction model based on a result of the determination that the accuracy rate is greater than the accuracy rate threshold.
- the at least one processor is further directed to: re-train the intermediate prediction model based on a result of the determination that the accuracy rate is not greater than the accuracy rate threshold.
- the arrhythmia type includes at least one of: a Ventricular Fibrillation (VF), a Ventricular Tachycardia (VT), a Ventricular Flutter (VFL), or a Supraventricular tachycardia (SVT).
- VF Ventricular Fibrillation
- VT Ventricular Tachycardia
- VFL Ventricular Flutter
- SVT Supraventricular tachycardia
- a method for determining an arrhythmia type may be implemented on a computing device having at least one processor and at least one storage device.
- the method may include one or more following operations: obtaining an electrocardiogram signal; obtaining a feature vector of the electrocardiogram signal; obtaining a trained prediction model; and determining an arrhythmia type of the electrocardiogram signal based on the trained prediction model and the feature vector.
- the feature vector includes a threshold crossing sample (TCSC) percent feature, an L-Z complexity feature, an empirical mode decomposition (EMD) complex number feature, a sample entropy feature, and a set of wavelet transform energy features.
- TCSC threshold crossing sample
- EMD empirical mode decomposition
- training the prediction model may include one or more following operations: obtaining training samples including a plurality of arrhythmia types of historical electrocardiogram signals; obtaining feature vectors of the training samples; obtaining a preliminary prediction model, the preliminary prediction model including a classifier model; and training the preliminary prediction model to obtain the trained prediction model using the training samples and the feature vectors of the training samples as inputs of the classifier model.
- the classifier model includes at least one of: a random forest model, a BP neural network model, a support vector machine (SVM) model, or a wavelet neural network model.
- training the preliminary prediction model to obtain the trained prediction model may include one or more following operations: training the preliminary prediction model to obtain an intermediate prediction model using the training samples and the feature vectors of the training samples as the inputs of the classifier model; obtaining testing samples including a plurality of arrhythmia types of historical electrocardiogram signals; obtaining feature vectors of the testing samples; determining an accuracy rate of the intermediate prediction model based on the testing samples and the feature vector of the testing samples, wherein the testing samples and the feature vectors of the testing samples are inputs of the intermediate prediction model; determining whether the accuracy rate is greater than an accuracy rate threshold; and designating the intermediate prediction model based on a result of the determination that the accuracy rate is greater than the accuracy rate threshold.
- training the preliminary prediction model to obtain the trained prediction model may include the following operation: re-training the intermediate prediction model based on a result of the determination that the accuracy rate is not greater than the accuracy rate threshold.
- the arrhythmia type includes at least one of: a Ventricular Fibrillation (VF), a Ventricular Tachycardia (VT), a Ventricular Flutter (VFL), or a Supraventricular tachycardia (SVT).
- VF Ventricular Fibrillation
- VT Ventricular Tachycardia
- VFL Ventricular Flutter
- SVT Supraventricular tachycardia
- a non-transitory computer-readable medium may include at least one set of instructions for determining an arrhythmia type, when executed by at least one processor of a computer device, the at least one set of instructions directs the at least one processor to: obtain an electrocardiogram signal; obtain a feature vector of the electrocardiogram signal; obtain a trained prediction model; and determine an arrhythmia type of the electrocardiogram signal based on the trained prediction model and the feature vector.
- a system configured to determine an arrhythmia type may include one or more following modules: a signal obtaining module configured to obtain an electrocardiogram signal; a feature extracting module configured to obtain a feature vector of the electrocardiogram signal; a prediction model storing module configured to obtain a trained prediction model; and an arrhythmia type determining module configured to determine an arrhythmia type of the electrocardiogram signal based on the trained prediction model and the feature vector.
- FIG. 1 is a block diagram of an exemplary system for determining an arrhythmia type of an electrocardiogram signal according to some embodiments of the present disclosure
- FIG. 2 is a schematic diagram illustrating exemplary hardware and/or software components of a computing device according to some embodiments of the present disclosure
- FIG. 3 is schematic diagram illustrating exemplary hardware and/or software components of a mobile device according to some embodiments of the present disclosure
- FIG. 4 is a block diagram illustrating an exemplary processing engine according to some embodiments of the present disclosure
- FIG. 5 is a flowchart illustrating an exemplary process and/or method for determining an arrhythmia type according to some embodiments of the present disclosure
- FIG. 6 A is an exemplary electrocardiogram of a Supraventricular Tachycardia (SVT);
- FIG. 6 B is an exemplary electrocardiogram of a Ventricular Tachycardia (VT).
- VT Ventricular Tachycardia
- FIG. 6 C is an exemplary electrocardiogram of a Ventricular Flutter (VFL);
- FIG. 6 D is an exemplary electrocardiogram of a Ventricular Fibrillation (VF);
- FIG. 7 is a flowchart illustrating an exemplary process and/or method of training a preliminary prediction model to obtain a trained prediction model according to some embodiments of the present disclosure.
- FIG. 8 is a flowchart illustrating an exemplary process and/or method for testing a prediction model according to some embodiments of the present disclosure.
- the flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in inverted order or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
- system and method in the present disclosure are described primarily in regard to electrocardiograph examination, it should also be understood that this is only one exemplary embodiment.
- the application scenarios of the system or method of the present disclosure may include a physical examination, a diagnosis, a monitor, or the like, or a combination thereof.
- the systems and methods may train a prediction model to predict an arrhythmia type of an electrocardiogram signal based on five features of the electrocardiogram signal.
- the five features may include a percent of the number of samples that are greater than a number threshold, a complexity value determined according to an L-Z Complexity Measure Algorithm, a complex number determined according to EMD method, and a set of wavelet transform energy including an energy of the fourth decomposition, an energy of the sixth decomposition, and an energy of the seventh decomposition of the electrocardiogram signal.
- FIG. 1 is a block diagram of an exemplary system for determining an arrhythmia type of an electrocardiogram signal according to some embodiments of the present disclosure.
- the system 100 may be a signal processing platform for an electrocardiogram (ECG) signal obtained from an electrocardiograph machine (ECG machine), a multi-parameter monitor, a dynamic Holter, a wearable device, a storage device storing a plurality of ECG signals, or the like, or a combination thereof.
- the system 100 may include an ECG machine 110 , a server 120 , a storage device 130 , an information source 140 , a network 150 , and a user terminal 160 .
- the ECG machine 110 may be configured to obtain electrocardiogram signals from a living being.
- the ECG machine 110 may record electrical activities of the heart over a period of time using electrodes placed on the skin of a living being (e.g., a human being, an animal).
- the electrodes may detect electrical changes on the skin that arise from the heart muscle's electro-physiologic pattern during each heartbeat.
- the ECG machine 110 may also refer to ECG electrodes in a multi-parameter monitor, a dynamic Holter, a wearable device, etc., that may obtain electrocardiogram signals.
- the server 120 may be configured to process information and/or data relating to the electrocardiogram signals. For example, the server 120 may determine an arrhythmia type of an electrocardiogram signal obtained from the ECG machine 110 . As another example, the server 120 may process a plurality of electrocardiogram signals obtained from the ECG machine 110 and/or stored in the storage device 130 to determine a method and/or algorithm (e.g., a model) to predict an arrhythmia type of an electrocardiogram signal. In some embodiments, the server 120 may be a single server or a server group. The server group may be centralized, or distributed (e.g., the server 120 may be a distributed system). In some embodiments, the server 120 may be local or remote.
- a method and/or algorithm e.g., a model
- the server 120 may access information and/or data stored in the user terminal 160 and/or the storage device 130 via the network 150 .
- the server 120 may be directly connected to the user terminal 160 , and/or the storage device 130 to access stored information and/or data.
- the server 120 may be implemented on a cloud platform.
- the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or a combination thereof.
- the server 120 may be implemented on a computing device having one or more components illustrated in FIG. 2 in the present disclosure.
- the server 120 may include a processing engine 122 .
- the processing engine 122 may process information and/or data relating to the electrocardiogram signals to perform one or more functions described in the present disclosure.
- the processing engine 122 may process a plurality of electrocardiogram signals obtained from the ECG machine 110 and/or stored in the storage device 130 to determine a method and/or algorithm (e.g., a model) to predict an arrhythmia type of an electrocardiogram signal.
- the processing engine 122 may predict an arrhythmia type of an electrocardiogram signal based on a prediction method and/or algorithm (e.g., a model).
- the processing engine 122 may include one or more processing engines (e.g., single-core processing engine(s) or multi-core processor(s)).
- the processing engine 122 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction-set processor (ASIP), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction-set computer (RISC), a microprocessor, or the like, or a combination thereof.
- the processing engine 122 may include a logic circuit. The logic circuit may receive and/or send electronic signals to perform one or more functions described in the present disclosure.
- the storage device 130 may be configured to store data and/or instructions related to determining the arrhythmia type of an electrocardiogram signal.
- the storage device 130 may store data and/or instructions that the server 120 may execute or use to perform exemplary methods described in the present disclosure.
- the storage device 130 may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM), or the like, or a combination thereof.
- Exemplary mass storage may include a magnetic disk, an optical disk, a solid-state drive, etc.
- Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc.
- Exemplary volatile read-and-write memory may include a random access memory (RAM).
- RAM may include a dynamic RAM (DRAM), a double date rate synchronous dynamic RAM (DDR SDRAM), a static RAM (SRAM), a thyristor RAM (T-RAM), and a zero-capacitor RAM (Z-RAM), etc.
- Exemplary ROM may include a mask ROM (MROM), a programmable ROM (PROM), an erasable programmable ROM (PEROM), an electrically erasable programmable ROM (EEPROM), a compact disk ROM (CD-ROM), and a digital versatile disk ROM, etc.
- the storage device 130 may be implemented on a cloud platform.
- the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or a combination thereof.
- the storage device 130 may be connected to the network 150 to communicate with one or more components in the system 100 (e.g., the ECG machine 110 , the server 120 , the user terminal 160 ). One or more components in the system 100 may access the data or instructions stored in the storage device 130 via the network 150 . In some embodiments, the storage device 130 may be directly connected to or communicate with one or more components in the system 100 (e.g., the ECG machine 110 , the server 120 , the user terminal 160 ). In some embodiments, the storage device 130 may be part of the server 120 .
- the information source 140 may be a source configured to provide other information for the system 100 .
- the information source 140 may provide the system 100 with information of one or more patients, for example, medical history, medical records, physical characteristics, other body examination results, or the like, or a combination thereof.
- the information source 140 may be implemented in a single central server, multiple servers connected via a communication link, or multiple personal devices.
- the distributed devices can generate content (e.g., as referred to as the “patient records”), for example, by uploading text, voice, image and/or video to a cloud server.
- An information source may be generated by the multiple distributed devices and the cloud server.
- the network 150 may facilitate exchange of information and/or data.
- one or more components in the system 100 e.g., the ECG machine 110 , the server 120 , the storage device 130 , the information source 140 , and the user terminal 160
- the server 120 may obtain and/or acquire information (e.g., patient records) from the ECG machine 110 via the network 150 .
- the server 120 may send analysis result (e.g., a prediction arrhythmia type of an electrocardiogram signal) to the user terminal 160 via the network 150 .
- the network 150 may be any type of wired or wireless network, or combination thereof.
- the network 150 may include a cable network, a wireline network, an optical fiber network, a tele communications network, an intranet, an Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a wide area network (WAN), a public telephone switched network (PSTN), a BluetoothTM network, a ZigBeeTM network, a near field communication (NFC) network, a global system for mobile communications (GSM) network, a code-division multiple access (CDMA) network, a time-division multiple access (TDMA) network, a general packet radio service (GPRS) network, an enhanced data rate for GSM evolution (EDGE) network, a wideband code division multiple access (WCDMA) network, a high speed downlink packet access (HSDPA) network, a long term evolution (LTE) network, a user datagram protocol (UDP) network, a transmission control protocol/Internet protocol (TCP/IP
- LAN local area
- the system 100 may include one or more network access points.
- the system 100 may include wired or wireless network access points such as base stations and/or wireless access points, through which one or more components of the system 100 may be connected to the network 150 to exchange data and/or information.
- the user terminal 160 may be an individual, a tool or other entity to present information about one or more patients (e.g., an examination result, a medical image) to a user.
- the user of the user terminal 160 may be a patient, a doctor, a medical examiner, a nurse, a researcher, or the like, or a combination thereof.
- the user terminal 160 may be a device that configured to examine a patient to obtain ECG of the patient.
- the user terminal 160 may be a wearable device including electrodes for obtaining ECG signals.
- the user terminal 160 may include a mobile device 160 - 1 , a laptop computer 160 - 2 , a desktop computer 160 - 3 , or the like, or a combination thereof.
- the mobile device 160 - 1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or a combination thereof.
- the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or a combination thereof.
- the wearable device may include a smart bracelet, a smart footgear, a smart glass, a smart helmet, a smartwatch, a smart clothing, a smart backpack, a smart accessory, or the like, or a combination thereof.
- the smart mobile device may include a smartphone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS) device, or the like, or a combination thereof.
- the virtual reality device and/or the augmented reality device may include a virtual reality helmet, a virtual reality glass, a virtual reality patch, an augmented reality helmet, an augmented reality glass, an augmented reality patch, or the like, or a combination thereof.
- the virtual reality device and/or the augmented reality device may include a Google Glass, an Oculus Rift, a HoloLens, a Gear VR, etc.
- FIG. 2 is a schematic diagram illustrating exemplary hardware and software components of a computing device 200 on which the server 120 , the storage device 130 , the user terminal 160 and/or the information source 140 may be implemented according to some embodiments of the present disclosure.
- the particular system may use a functional block diagram to explain the hardware platform containing one or more user interfaces.
- the computer may be a computer with general or specific functions. Both types of the computers may be configured to implement any particular system according to some embodiments of the present disclosure.
- Computing device 200 may be configured to implement any components that perform one or more functions disclosed in the present disclosure.
- the computing device 200 may implement any component of the system 100 as described herein.
- FIGS. 1 - 2 only one such computer device is shown purely for convenience purposes.
- the computer functions relating to the on-demand service as described herein may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.
- the computing device 200 may include COM ports 250 connected to and from a network connected thereto to facilitate data communications.
- the computing device 200 may also include a processor (e.g., the processor 220 ), in the form of one or more processors (e.g., logic circuits), for executing program instructions.
- the processor may include interface circuits and processing circuits therein.
- the interface circuits may be configured to receive electronic signals from a bus 210 , wherein the electronic signals encode structured data and/or instructions for the processing circuits to process.
- the processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210 .
- the exemplary computing device may include the internal communication bus 210 , program storage and data storage of different forms including, for example, a disk 270 , and a read-only memory (ROM) 230 , or a random access memory (RAM) 240 , for various data files to be processed and/or transmitted by the computing device.
- the exemplary computing device may also include program instructions stored in the ROM 230 , RAM 240 , and/or another type of non-transitory storage medium to be executed by the processor 220 .
- the methods and/or processes of the present disclosure may be implemented as the program instructions.
- the computing device 200 also includes an I/O component 260 , supporting input/output between the computer and other components.
- the computing device 200 may also receive programming and data via network communications.
- processor 220 is illustrated in FIG. 2 .
- Multiple processors are also contemplated; thus operations and/or method steps performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors.
- the processor 220 of the computing device 200 executes both step A and step B, it should be understood that step A and step B may also be performed by two different processors jointly or separately in the computing device 200 (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B).
- FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device on which the user terminal 160 may be implemented according to some embodiments of the present disclosure.
- the mobile device 300 may include a communication unit 310 , a display 320 , a graphics processing unit (GPU) 330 , a central processing unit (CPU) 340 , an I/O 350 , a memory 360 , and a storage 390 .
- the CPU 340 may include interface circuits and processing circuits similar to the processor 220 .
- any other suitable component including but not limited to a system bus or a controller (not shown), may also be included in the mobile device 300 .
- a mobile operating system 370 e.g., iOSTM, ANDROIDTM, Windows PhoneTM
- one or more applications 380 may be loaded into the memory 360 from the storage 390 in order to be executed by the CPU 340 .
- the applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to a service request or other information from the location-based service providing system on the mobile device 300 .
- User interactions with the information stream may be achieved via the I/O devices 350 and provided to the server 120 and/or other components of the system 100 via the network 150 .
- a computer hardware platform may be used as hardware platforms of one or more elements (e.g., a module of the server 120 described in FIG. 2 ). Since these hardware elements, operating systems, and program languages are common, it may be assumed that persons skilled in the art may be familiar with these techniques and they may be able to provide information required in the route planning according to the techniques described in the present disclosure.
- a computer with a user interface may be used as a personal computer (PC), or other types of workstations or terminal devices. After being properly programmed, a computer with a user interface may be used as a server. It may be considered that those skilled in the art may also be familiar with such structures, programs, or general operations of this type of computer device. Thus, extra explanations are not described for the figures.
- FIG. 4 is a block diagram illustrating an exemplary processing engine 122 according to some embodiments of the present invention.
- the processing engine 122 may include a signal obtaining module 410 , a feature extracting module 420 , a prediction model obtaining module 430 , an arrhythmia type determining module 440 , a model training module 450 , and a model testing module 460 .
- Each, part, or all of the modules may be hardware circuits of all or part of the processing engine 122 .
- Each, part, or all of the modules may also be implemented as an application, or a set of instructions read and executed by the processing engine 122 .
- the modules may be a combination of the hardware circuits and the application/instructions.
- the modules may be the part of the processing engine 122 when the processing engine is executing the application/set of instructions.
- the signal obtaining module 410 may be configured to obtain an ECG signal. For example, the signal obtaining module 410 may first obtain an original ECG signal of a patient from an ECG machine 110 , and preprocess the original ECG signal (e.g., filter the original ECG signal) to obtain the ECG signal to be determined. As another example, the signal obtaining module 410 may obtain the ECG signal that to be determined from storage (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) in the system 100 .
- storage e.g., the storage device 130 , the ROM 230 , the RAM 240
- the feature extracting module 420 may be configured to extract or obtain a feature vector of the ECG signal. In some embodiments, the feature extracting module 420 may process the ECG signal to obtain the feature vector.
- the feature vector may include a threshold crossing sample (TCSC) percent feature, an L-Z complexity feature, an empirical mode decomposition (EMD) complex number feature, a sample entropy feature, a set of wavelet transform energy features, or the like, or a combination thereof.
- TCSC threshold crossing sample
- EMD empirical mode decomposition
- the feature extracting module 420 may obtain a TCSC percent feature by applying an TCSC algorithm on the ECG signal, an L-Z complexity feature by applying an L-Z Complexity Measure Algorithm on the ECG signal, a EMD complex number feature by applying an EMD algorithm on the ECG signal, a sample entropy feature by applying a sample entropy algorithm on the ECG signal, a set of wavelet transform energy features by applying a wavelet transform algorithm on the ECG signal, or the like, or a combination thereof. Detail descriptions of the feature extracting module 420 may be found elsewhere in the present disclosure (e.g., FIG. 7 and the description thereof).
- the prediction model obtaining module 430 may be configured to obtain a trained prediction model.
- the trained prediction model may include an algorithm and/or method for predicting an arrhythmia type of an ECG signal.
- the prediction model obtaining module 430 may obtain the trained prediction model from storage (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) in the system 100 .
- the prediction model obtaining module 430 may obtain the trained prediction model from the model training module 450 after training a preliminary prediction model or an intermediate prediction model.
- the arrhythmia type determining module 440 may be configured to determine an arrhythmia type of ECG signal.
- the arrhythmia type may include a Ventricular Fibrillation (VF), a Ventricular Tachycardia (VT), a Ventricular Flutter (VFL), a Supraventricular tachycardia (SVT), extra beats, ventricular arrhythmias, brad arrhythmias, or the like, or a combination thereof.
- the arrhythmia type determining module 440 may determine the arrhythmia type of the ECG signal based on the trained prediction model (e.g., obtained from the prediction model obtaining module 430 ) and the feature vector (e.g., obtained from the feature extracting module 420 ).
- the arrhythmia type determining module 440 may input the feature vector and/or the ECG signal into the trained prediction model, and the output of the trained prediction model may include the arrhythmia type of the ECG signal.
- the model training module 450 may be configured to train a model (e.g., a preliminary prediction model, an intermediate prediction model) to obtain a trained model (e.g., a trained prediction model, an intermediate prediction model).
- a model e.g., a preliminary prediction model, an intermediate prediction model
- the model training module 450 may obtain training samples and the feature vectors of the training samples, and train a preliminary prediction model by inputting the training samples and/or the feature vectors into the preliminary prediction model to obtain a trained prediction model.
- the model training module 450 may train a preliminary prediction model by inputting the training samples and/or the feature vectors into the preliminary prediction model to obtain an intermediate prediction model.
- the model training module 450 may re-train a new preliminary prediction model to obtain the trained prediction model. Detail descriptions of the model training module 450 may be found elsewhere in the present disclosure (e.g., FIG. 7 and FIG. 8 and the descriptions thereof).
- the model testing module 460 may be configured to test the intermediate prediction model to determine whether to obtain the trained prediction model.
- the model testing module 460 may obtain testing samples and the feature vectors thereof, and input the testing samples and/or the feature vectors into the intermediate prediction model to determine an accuracy rate of the intermediate prediction model.
- the model testing module 460 may determine the accuracy rate by comparing the outputs from the intermediate prediction model and known arrhythmia types of the corresponding testing samples.
- the model testing module 460 may compare the accuracy rate with an accuracy threshold to determine whether to designate the intermediate prediction model as the trained prediction model or to re-train the intermediate prediction model. Detail descriptions of the model testing module 460 may be found elsewhere in the present disclosure (e.g., FIG. 8 and the description thereof).
- the modules in the processing engine 122 may be connected to or communicate with each other via a wired connection or a wireless connection.
- the wired connection may include a metal cable, an optical cable, a hybrid cable, or the like, or a combination thereof.
- the wireless connection may include a Local Area Network (LAN), a Wide Area Network (WAN), a BluetoothTM, a ZigBeeTM, a Near Field Communication (NFC), or the like, or a combination thereof.
- LAN Local Area Network
- WAN Wide Area Network
- BluetoothTM BluetoothTM
- ZigBeeTM ZigBeeTM
- NFC Near Field Communication
- Two or more of the modules may be combined as a single module, and any one of the modules may be divided into two or more units.
- the model training module 450 may be integrated into the model testing module 460 as a single module that may both train and test the intermediate models to obtain a trained prediction model.
- the feature extracting module 420 may be divided into two or more units, for example, a first feature extracting unit, a second feature extracting unit, a third feature extracting unit, a fourth feature extracting unit, and a fifth feature extracting unit, which work together to implement the functions (e.g., extract five features respectively) of the feature extracting module 420 , respectively.
- FIG. 5 is a flowchart of an exemplary process and/or method for determining an arrhythmia type according to some embodiments of the present disclosure.
- one or more steps in the process 500 may be implemented in the system 100 illustrated in FIG. 1 .
- one or more steps in the process 500 may be stored in the storage (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) as a form of instructions, and invoked and/or executed by the server 120 (e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 ).
- the server 120 e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 .
- the processor 220 may obtain an ECG signal.
- the processor 220 may obtain the ECG signal after preprocessing an original ECG signal.
- the processor 220 may filter the original ECG signal to remove noises (or at least a portion thereof) and/or depress drifts of the original ECG signal.
- the original ECG signal may be obtained from the ECG machine 110 or the storage device 130 .
- the ECG signal may include a segment of the original ECG signal.
- the ECG signal may be a segment of an original ECG signal, and the segment may last several seconds.
- the ECG signal may be an eight-second segment of the original ECG signal.
- the processor 220 may extract an eight-second signal segment from the original ECG signal and preprocess the extracted signal segment to obtain the ECG signal (by, for example, removing at least some noise from the segment).
- the processor 220 may obtain (or extract) a feature vector of the obtained ECG signal.
- the feature vector may include a plurality of features extracted from the ECG signal.
- the feature vector may include a threshold crossing sample (TCSC) percent feature, an L-Z complexity feature, an empirical mode decomposition (EMD) complex number feature, a sample entropy feature, a set of wavelet transform energy features, or the like, or a combination thereof.
- TCSC threshold crossing sample
- EMD empirical mode decomposition
- the TCSC percent feature used herein refers to a percentage value of the number of samples in the ECG signal that are greater than a number threshold according to a threshold crossing sample algorithm (TCSC algorithm).
- TCSC algorithm threshold crossing sample algorithm
- the processor 220 may implement one or more following steps on the ECG signal obtained in 510 to obtain the TCSC percent feature N a .
- Step 1A The feature extracting module 420 may divide the ECG signal into several segments (e.g., each segment includes three seconds of the ECG signal), and multiply each segment by a cosine function ⁇ (t) as follows:
- ⁇ ⁇ ( t ) ⁇ 1 2 ⁇ ( 1 - cos ⁇ ( 4 ⁇ ⁇ ⁇ t ) ) 0 ⁇ t ⁇ 1 4 1 1 4 ⁇ t ⁇ L s - 1 4 1 2 ⁇ ( 1 - cos ⁇ ( 4 ⁇ ⁇ ⁇ t ) ) L s - 1 4 ⁇ t ⁇ L s , ( 1 ) wherein t denotes the time in the ECG signal, and L s denotes the time length of a segment (e.g., L s may be three seconds).
- Step 2A The feature extracting module 420 may normalize the product of the ECG signal and the cosine function ⁇ (t). For example, the feature extracting module 420 may determine (or calculate) the greatest absolute value of the product of the ECG signal and the cosine function ⁇ (t), and divide the product of the ECG signal and the cosine function ⁇ (t) by the greatest absolute value thereof to obtain a normalized signal.
- N n 0 n ⁇ 100 , ( 2 ) wherein n denotes the total number of the sampling points. N may indicate the ratio of the sampling points that are greater than the threshold V 0 over all samples in the segment.
- the feature extracting module 420 may determine the average value of the N values of the segments of the ECG signal. For example, if the length of the ECG signal is L e seconds, wherein L e is greater than 3 seconds (Le>3), the feature extracting module 420 may determine an N every three seconds, each segment may slide once per second, and the total number of continuous segments (the length of each segment is three second) is Le ⁇ 2.
- the average value N a (which also refers to as the TCSC percent feature) of Le ⁇ 2 segments may be determined as follows:
- the L-Z complexity feature may refer to a complexity value determined according to an L-Z Complexity Measure Algorithm.
- the processor 220 may implement one or more following steps on the ECG signal obtained in 510 to obtain the L-Z complexity feature C(n).
- Step 2B The feature extracting module 420 may obtain a positive peak V p and a negative peak V n of the new signal sequence.
- the positive peak V p may refer to the positive maximum value among a plurality of strength values of the signals in the new signal sequence.
- the negative peak V n may refer to the negative minimum value among the plurality of strength values of the signals in the new signal sequence.
- the feature extracting module 420 determine each strength value of each signal in the new signal sequence.
- the positive maximum value may be selected as the positive peak V p
- the negative minimum value may be selected as the negative peak V n .
- the feature extracting module 420 may determine the number of the new sampling points in the new signal sequence that have the value within a range relating to the positive peak V p (e.g., the range of 0 ⁇ x i ⁇ 0.1*V p ), which is denoted herein as P c .
- the feature extracting module 420 may also determine the number N c of the new sampling points (in the new signal sequence) that has the value in a range relating to the negative peak V n (e.g., 0 . 1 * V n ⁇ x i ⁇ 0).
- S and Q denote two character strings.
- SQ may denote a merging string of S and Q.
- the character string SQ may refer to a character string including all characters in the character string Q and all characters in the character string S, and the first character of the character string Q is after the last character of the character string S.
- SQ TT denotes a character string obtained by removing the last character from the character string SQ; and
- v(SQ TT ) denotes a set of all different substrings of the character string SQ TT .
- a substring refers to a string of any number of consecutive character in the character string v(SQ TT ).
- the character string v(SQ TT ) may include at least two substrings that are the same.
- a different substring refers to a string among all the substrings of the character string v(SQ TT ) that is different from any other substrings.
- all substrings of the character string SQ TT may be extracted from the character string SQ TT .
- v(SQ TT ) refers to a collection of substrings that removes all the same substrings from the extracted substrings.
- Step 6B Repeat steps 4B and 5B until Q includes the last character and the value of c(n) is the number of different substrings in s 1 , s 2 , . . . , s n .
- the feature extracting module 420 may normalize c(n) to obtain the L-Z complexity feature C(n):
- the EMD complex number feature may refer to a complex number determined according to an EMD algorithm.
- the processor 220 may implement one or more following steps on the ECG signal obtained to obtain the EMD complex number feature z.
- Step 1C The ECG signal (denoted as x i (n)), which has a time length of L e , may be divided into a plurality of segments.
- the ECG signal may have a time length of L e , and each of the segments may have a time length L a , where
- IMF intrinsic mode function
- Step 4C The feature extracting module 420 may determine the number n L of amplitudes in the imf 1i (n) that are between ⁇ V n and V n ([ ⁇ V n , V n ], which also refers to being exceeding the level of noise V n ):
- the feature extracting module 420 may determine a ratio L of the sum of squares of the amplitudes of the f 1i (n) that exceeds the level of noise V n (the number of the imf 1i (n) is n L ) to the sum of squares of the amplitudes of the signal x i (n) as follows:
- Step 6C The feature extracting module 420 may determine a proper IMF imf i (n) based on the ration L:
- imf i ( n ) ⁇ imf 1 ⁇ i ( n ) + imf 2 ⁇ i ( n ) , L ⁇ ⁇ imf 1 ⁇ i ( n ) , Otherwise , ( 9 ) wherein ⁇ is a predetermined constant.
- Step 7C The feature extracting module 420 may determine an angle ⁇ ⁇ x i, imf i > between x i and imf i :
- Step 8C The feature extracting module 420 may determine an average angle value ⁇ ⁇ x i, imf i > ⁇ of the L e ECG signal:
- the feature extracting module 420 may also determine an average angle value ⁇ ⁇ x, r> ⁇ of ⁇ ⁇ x i, r i > according to the same method.
- Step 9C The feature extracting module 420 may determine a complex number z (also refers to as the EMD complex number feature) based on average angels ⁇ ⁇ x i, imf i > ⁇ and ⁇ ⁇ x, r> ⁇ :
- the sample entropy feature may refer to a value determined based on the obtained ECG signal according to a sample entropy algorithm.
- the processor 220 may implement one or more following steps on the ECG signal to obtain the sample entropy feature, which is denoted herein as SampEn(m, r, N).
- Step 1D The feature extracting module 420 may sample the ECG signal to obtain N sampling points of ⁇ u 1 , u 2 , . . . , u n ⁇ .
- the feature extracting module 420 may obtain a sampling point every L s /N seconds from the ECG signal to obtain the plurality of sampling points (L s denotes the length of the ECG signal).
- the feature extracting module 420 may randomly select n sampling points from the ECG signal to obtain the plurality of sampling points.
- Xm(i) is m sampling points from the sampling point i.
- Step 4D The feature extracting module 420 may compare i with N ⁇ m. If feature extracting module 420 determines that i ⁇ N ⁇ m, the feature extracting module 420 may determine the values in d[Xm(i), Xm(j)] that are less than a predetermined threshold (denoted as r) and the number N m (i) of such values.
- Step 6D The feature extracting module 420 may determine a theoretical sample entropy SampEn(m, r) of the sequence:
- the set of wavelet transform energy features may refer to the energy of one or more decomposed signals of the ECG signal according to a wavelet transform algorithm.
- the processor 220 may decompose the ECG signal to obtain the set of wavelet transform energy features.
- the feature extracting module 420 may decompose the ECG signal to several layers (e.g., seven layers) according to a wavelet transform algorithm (e.g., a wavelet base function “db4”), the energy of each layer may be D1, D2, . . . , D7.
- the feature extracting module 420 may select at least one energy of at least one layer from the seven layers to obtain the set of wavelet transform energy features.
- the set of wavelet transform energy feature may include energies of a layer (e.g., D3, D4, D5, D6, or D7), the frequencies of the layer are lower than the frequency of the ECG signal.
- the set of wavelet transform energy feature may include energies that include fewer data among the energies of the seven layers.
- the set of wavelet transform energy feature may include energies that may be used to determine an arrhythmia type (e.g., using D2, D3, and D4 to determine QRS complex).
- the feature extracting module 420 may select the energy of the fourth decomposition (D4), energy of the sixth decomposition (D6), and energy of the seventh decomposition (D7) as the set of wavelet transform energy features.
- the processor 220 (or the prediction model obtaining module 430 ) may obtain a trained prediction model.
- the trained prediction model may include an algorithm and/or method for predicting an arrhythmia type of an ECG signal.
- the arrhythmia type of an ECG signal may refer to an irregular performance of a heart.
- the arrhythmia type may include a Ventricular Fibrillation (VF), a Ventricular Tachycardia (VT), a Ventricular Flutter (VFL), a Supraventricular tachycardia (SVT), extra beats, ventricular arrhythmias, brad arrhythmias, or the like, or a combination thereof.
- FIGS. 6 A- 6 D illustrate four types of arrhythmia according to some embodiments of the present disclosure.
- FIG. 6 A is an exemplary electrocardiogram of the SVT
- FIG. 6 B is an exemplary electrocardiogram of the VT
- FIG. 6 C is an exemplary electrocardiogram of the VFL
- FIG. 6 D is an exemplary electrocardiogram of the VF.
- the processor 220 may train a preliminary prediction model to obtain the trained prediction model and store the trained prediction model into a storage device (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) of the system 100 .
- the preliminary prediction model may include a classifier model, a regression model, or the like, or a combination thereof.
- the classifier model may include a random forest model, a BP neural network model, a support vector machine (SVM) model, a wavelet neural network model, a clustering model, or the like, or a combination thereof.
- the processor (or the device) that trains the preliminary prediction model to obtain a trained prediction model may be different from the processor (or the device) that uses the trained prediction model to predict an arrhythmia type of an ECG signal.
- a processor of the server 120 trains the preliminary prediction model to obtain the trained prediction model
- a processor of the ECG machine 110 uses the trained model to predict the arrhythmia type of the ECG signal.
- the processor of the ECG machine presents the arrhythmia type to a user of the ECG machine 110 .
- the descriptions of the training of the preliminary prediction model may be found elsewhere in the present disclosure (e.g., FIG. 7 and FIG. 8 and the descriptions thereof).
- the processor 220 (or the arrhythmia type determining module 440 ) may determine an arrhythmia type of the ECG signal based on the trained prediction model and the feature vector.
- the processor 220 may input the ECG signal and/or the feature vector thereof into the trained prediction model.
- the output of the trained prediction model may include a predicted arrhythmia type of the ECG signal.
- the trained prediction model may be a trained random forest model, and the processor 220 may input the ECG signal, and/or at least one of the TCSC percent feature, the L-Z complexity feature, the EMD complex number feature, the sample entropy feature, and the set of wavelet transform energy features of the ECG signal into the trained random forest model.
- the trained random forest model may include a plurality of decision trees. The trained random forest model may output an arrhythmia type based on the votes of the plurality of decision trees based on the input to the trained random forest model.
- each decision tree may include one vote. In some embodiments, each decision tree may include a different number of votes (e.g., a decision tree K includes two votes, a decision tree H includes one vote). In some embodiments, the trained random forest model may output an arrhythmia type that gets the most votes of the plurality of decision trees as the predicted arrhythmia type of the ECG signal.
- the processor 200 may determine whether the predicted arrhythmia type is one of the types that need to take a further action. For example, if the processor 220 may determine that the predicted arrhythmia type is a VF, the processor 220 may transmit an alert to a patient and/or medical staff (e.g., a doctor, a nurse) to seek further examination and/or medical assistance for the patient. The processor 220 may transmit an electronic signal including the alert via wireless communication or wire communication to a device associated with the patient and/or the medical staff.
- a patient and/or medical staff e.g., a doctor, a nurse
- the device associated with the patient and/or the medical staff may include the ECG machine 110 , a monitoring equipment of the patient, a mobile terminal of the patient and/or the medical staff, a monitoring center of a hospital, or the like, or any combination thereof.
- the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure.
- multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure.
- one or more other optional steps e.g., a storing step, a preprocessing step
- the obtaining the feature vector of the ECG signal may be implemented in the trained prediction model.
- the processor 220 may only input the ECG signal into the trained prediction model, and the trained prediction model may extract the feature vector of the ECG signal and output the predicted arrhythmia type of the ECG signal.
- FIG. 7 is a flowchart of an exemplary process and/or method for training a preliminary prediction model to obtain a trained prediction model according to some embodiments of the present disclosure.
- one or more steps in the process 700 may be implemented in the system 100 illustrated in FIG. 1 .
- one or more steps in the process 700 may be stored in the storage device 130 and/or the storage (e.g., the ROM 230 , the RAM 240 ) as a form of instructions, and invoked and/or executed by the server 120 (e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 ).
- the server 120 e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 .
- the processor 220 may obtain training samples.
- the training samples may include a plurality of ECG signals that the arrhythmia types thereof are known.
- the training samples may include a plurality of ECG signals the arrhythmia types of which have already been determined.
- the arrhythmia types may include VT, VF, SVT, VFL, or the like, or a combination thereof.
- the processor 220 (or the model training module 450 ) may obtain the feature vectors of the training samples.
- the processor 220 may extract one feature vector from one training sample.
- the feature vector may include a TCSC present feature, an L-Z complexity feature, an EMD complex number feature, a sample entropy feature, a set of wavelet transform energy feature, or the like, or a combination thereof.
- the method and/or process of obtaining the feature vector of the training samples may be found elsewhere in the present disclosure (e.g., FIG. 5 and the description thereof).
- the processor 220 (or the model training module 450 ) may obtain a preliminary prediction model.
- the preliminary prediction model may refer to an initial model with initial parameters that is used for determining an algorithm and/or method for predicting the arrhythmia type of the ECG type.
- the preliminary prediction model may include a classifier model, a regression model, etc.
- the classifier model may include a random forest model, a BP neural network model, a support vector machine (SVM) model, a wavelet neural network model, a clustering model, or the like, or a combination thereof.
- the processor 220 may train the preliminary prediction model to obtain the trained prediction model using the training samples and the feature vectors of the training samples as the inputs of the preliminary model.
- the processor 220 may input the training samples and/or the feature vectors thereof into the preliminary prediction model.
- the initial parameters of the preliminary prediction model may be adjusted to obtain the trained prediction model.
- the processor 220 may input N training samples (i.e., the number of the training samples is N) and the feature vectors thereof into a random forest model.
- the N training samples may include four arrhythmia types including VT, SVT, VFL, and VF.
- the feature vector of a training sample may include M features (e.g., five features including a TCSC present feature, an L-Z complexity feature, an EMD complex number feature, a sample entropy feature and a set of wavelet transform energy feature) of each training sample.
- the random forest model may include a plurality of decision trees.
- the processor 220 may randomly select n training samples from the N training samples (or referred to the training set) according to a bootstrap sample method to train each decision tree in the random forest model.
- the processor 220 may select m features from the M features (herein M may refer to five, and m may be an integer less than (or far less than) 5) in each feature vector to be input into each decision tree. In each decision tree, the processor 220 may further select one optimal feature from the m features that has the strongest classifying ability to split (or the most important) on each node. The processor 220 may not prune the decision tree. A plurality of decision trees may form a random forest (also refers to as the trained prediction model).
- the number m (i.e., the number of the features in each feature vector to be input to a decision tree) in training the random forest model may be determined based on the out-of-bag error (OBB error) method.
- the processor 220 may obtain a plurality of OBB samples (e.g., a plurality of training samples that are not in the training set), and input the OBB samples into a plurality of decision trees (that are trained based on different feature subsets) to determine an OBB error for each decision tree.
- OBB error out-of-bag error
- the processor 220 may input the rest 1/3 training samples into the particular decision tree to obtain a plurality of predicted result.
- the processor 220 may determine a number of OBB samples with the wrong predicted result.
- the OBB error may be a ratio of the number of OBB samples with the wrong predicted result to a total number of OBB samples.
- the number of features in a feature subset that has the lowest OBB error among the OBB errors may be determined as m.
- the optimal feature may be determined based on the importance of each feature in the m features.
- the processor 220 may determine a first OBB error errOOB1 of each decision tree by inputting a plurality of OBB samples into each decision tree, and for each feature in each OBB sample, add a noise interference to it, and determine a second OBB error errOOB2 of each decision tree.
- the importance Imp of each feature may be determined based on the errOOB1, errOOB2, and the total number N tree of the decision tress as follows:
- Imp ⁇ ⁇ ( errOOB ⁇ 2 - errOOB ⁇ 1 ) N tree . ( 19 )
- the processor 220 may select a feature that has the highest importance as the optimal feature.
- the processor 220 may further implement a testing process on an intermediate prediction model after the training process of the preliminary prediction model (which may be a prediction model that undergo at least some training using certain training samples).
- the processor 220 may designate an intermediate prediction model as the trained prediction model after determining that the test result of the intermediate prediction model meet a predetermined condition.
- the testing the intermediate prediction model may be found elsewhere in the present disclosure (e.g., FIG. 8 and the description thereof).
- FIG. 8 is a flowchart of an exemplary process and/or method for testing a prediction model according to some embodiments of the present disclosure.
- one or more steps in the process 800 may be implemented in the system 100 illustrated in FIG. 1 .
- one or more steps in the process 800 may be stored in the storage (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) as a form of instructions, and invoked and/or executed by the server 120 (e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 ).
- the server 120 e.g., the processing engine 122 in the server 120 , or the processor 220 of the processing engine 122 in the server 120 .
- the processor 220 may train the preliminary prediction model to obtain an intermediate prediction model using the training samples and/or the feature vectors of the training samples as the inputs of the classifier model.
- the training of the preliminary prediction model may be found elsewhere in the present disclosure (e.g., FIG. 7 and the description thereof).
- the model after training may refer to the intermediate prediction model.
- the processor 220 may obtain testing samples including a plurality of arrhythmia types of historical ECG signals.
- the testing samples may include a plurality of known arrhythmia types of historical ECG signals.
- the testing samples may include a plurality of historical ECG signals that have known arrhythmia types determined by a medical personnel.
- the arrhythmia types may include VT, VF, SVT, VFL, or the like, or a combination thereof.
- the processor 220 (or the model testing module 460 ) may obtain feature vectors of the testing samples.
- the processor 220 may extract one feature vector from one testing sample.
- the feature vector may include a TCSC present feature, an L-Z complexity feature, an EMD complex number feature, a sample entropy feature, a set of wavelet transform energy feature, or the like, or a combination thereof.
- the method and/or process of obtaining the feature vector of the testing samples may be found elsewhere in the present disclosure (e.g., FIG. 5 and the description thereof).
- the processor 220 may determine an accuracy rate of the intermediate prediction model based on the testing samples and/or the feature vectors of the testing samples.
- the testing samples and/or the feature vectors may be inputs of the intermediate prediction model.
- the output of the intermediate prediction model may include a plurality of predicted arrhythmia types, and each of the plurality predicted arrhythmia type corresponds to a testing sample.
- the processor 220 may compare the predicted arrhythmia types and the corresponding known arrhythmia types, and determine an accuracy rate of the correct prediction results. For example, the accuracy rate may equal to a ratio of a number of testing samples that the predicted arrhythmia types are the same as their known arrhythmia types to a total number of the testing samples that input into the intermediate prediction model.
- the processor 220 (or the model testing module 460 ) may determine whether the accuracy rate of the intermediate prediction model is greater than an accuracy threshold.
- the accuracy rate may refer to an indicator that indicates whether the intermediate prediction model is well trained to predict a reliable arrhythmia type of a new ECG signal.
- the accuracy threshold may be a preset percentage value that stored in a storage (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) of the system 100 , or may be determined according to different application scenarios (e.g., different prediction model types). For example, an accuracy rate of a random forest model may be 85%, and an accuracy rate of a BP neural network model may be 83%.
- the processor 220 may proceed 860 .
- the processor 220 (or the model testing module 460 ) may designate the intermediate prediction model as the trained prediction model.
- the intermediate prediction model may be designated as the trained prediction model, and stored into a storage device (e.g., the storage device 130 , the ROM 230 , the RAM 240 ) of the system 100 .
- the intermediate prediction model may be used as the trained prediction model to determine (or predict) an arrhythmia type of a new ECG signal as illustrated in FIG. 5 in the present disclosure.
- the processor 220 may proceed 870 .
- the processor 220 (or the model testing module 460 ) may re-train the intermediate prediction model.
- the processor 220 may input a plurality of training samples and/or the feature vectors thereof into a preliminary prediction model to obtain a new intermediate prediction model as illustrated in FIG. 7 in the present disclosure.
- the plurality of training samples that are used to obtain the new intermediate prediction model may be different from the plurality of training samples that are used to obtain the original intermediate prediction model may be different from each other.
- the plurality of training samples that are used to obtain an intermediate prediction model may be obtained randomly or by the bootstrap sample method.
- the processor 220 may also test the new intermediate prediction model as illustrated in FIG. 8 in the present disclosure until the accuracy rate of the new intermediate prediction model is greater than the accuracy rate threshold, the processor 220 may designate the new intermediate prediction model as the trained prediction model.
- aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code) or combining software and hardware implementation that may all generally be referred to herein as a “block,” “module,” “engine,” “unit,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer readable program code embodied thereon.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electromagnetic, optical, or the like, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in a combination of one or more programming languages, including an object-oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a software as a service (SaaS).
- LAN local area network
- WAN wide area network
- an Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- SaaS software as a service
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Cardiology (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Biophysics (AREA)
- Heart & Thoracic Surgery (AREA)
- Pathology (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Signal Processing (AREA)
- Psychiatry (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
Description
wherein t denotes the time in the ECG signal, and Ls denotes the time length of a segment (e.g., Ls may be three seconds).
wherein n denotes the total number of the sampling points. N may indicate the ratio of the sampling points that are greater than the threshold V0 over all samples in the segment.
wherein Ni denotes a value N of the ith segment with the length of three seconds.
wherein b(n) denotes a gradual behavior of a random string
x i(n)=imf 1i(n)+imf 2i(n)+r i(n) (5),
wherein imf1i(n) is a first intrinsic mode function (IMF) of xi(n) according to the EMD algorithm; imf2i(n) is a second IMF of xi(n) according to the EMD algorithm; and ri(n) is the remnant of xi(n) according to the EMD algorithm.
V n=α×max{x i(n)} (6),
wherein max {xi(n)} is the maximum value of xi(n), and a is a predetermined constant.
|imf 1i(n L)|≤V n (7),
wherein β is a predetermined constant.
wherein xi=[xi(0)xi(1) . . . xi(N−1)]T, imfi=[imfi(0)imfi(1) . . . imfi(N−1)]T; |.∥ denotes an Euclidean norm of a vector; and T denotes a transpose of a matrix. The
and the
d[Xm(i),Xm(j)]=max(|u(i+k)−u(j+k)|) (13),
where k=0˜m−1; i,j=1˜N−m, and j≠i.
B r m(i)=N m(i)/(N−m−1) (14),
and the average value Bm(r) of all Br m(i):
B m(r)=(N−m)−1Σi=1N−m B r m(i) (15),
where N−m donates the total number of the Br m(i).
B m+1(r)=(N−m)−1Σi=1 H−m B r m+1(i) (16).
when N is a limited value, the estimated sample entropy SampEn(m,r,N) (also refers to as the sample entropy feature) of the sequence with the length of N may be determined as follows:
SampEn(m,r,N)=−ln[B m+1(r)/B m(r)] (18).
The higher the importance of a feature, the greater the difference after the noise interference is added. In some embodiments, the
Claims (17)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2018/084728 WO2019205067A1 (en) | 2018-04-27 | 2018-04-27 | Systems and methods for determining an arrhythmia type |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20210022633A1 US20210022633A1 (en) | 2021-01-28 |
| US11534099B2 true US11534099B2 (en) | 2022-12-27 |
Family
ID=68294626
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/044,262 Active 2038-08-27 US11534099B2 (en) | 2018-04-27 | 2018-04-27 | Systems and methods for determining an arrhythmia type |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11534099B2 (en) |
| CN (1) | CN112312836A (en) |
| WO (1) | WO2019205067A1 (en) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11000198B2 (en) * | 2018-12-05 | 2021-05-11 | Viavi Solutions Inc. | Autonomous full spectrum biometric monitoring |
| CN110751131B (en) * | 2019-11-16 | 2022-09-02 | 李汭傧 | Arrhythmia detection device |
| CN112988437B (en) * | 2019-12-17 | 2023-12-29 | 深信服科技股份有限公司 | Fault prediction method and device, electronic equipment and storage medium |
| CN112022141B (en) * | 2020-08-07 | 2023-06-20 | 上海联影智能医疗科技有限公司 | A type detection method, device and storage medium of electrocardiographic signal |
| CN112734274B (en) * | 2021-01-20 | 2023-11-03 | 国家电网公司华中分部 | A method for mining and comprehensive assessment of dominant influencing factors of low-carbon power grid operations |
| CN113180687B (en) * | 2021-04-29 | 2024-02-09 | 深圳邦健生物医疗设备股份有限公司 | Multi-guide dynamic heartbeat real-time classification method, device, equipment and storage medium |
| CN114521900B (en) * | 2022-02-21 | 2022-11-15 | 贵州省人民医院 | Arrhythmia classification and identification method based on transfer learning |
| CN115211866B (en) * | 2022-09-07 | 2022-12-27 | 西南民族大学 | Arrhythmia classification method and system and electronic equipment |
| CN116089862B (en) * | 2023-02-06 | 2023-08-15 | 西安交通大学第二附属医院 | An ECG Arrhythmia Classification Method Based on Self-regulating Ant Colony Clustering Algorithm Based on Modification Mechanism |
| CN116090827B (en) * | 2023-02-07 | 2024-11-29 | 广东电网有限责任公司 | Data processing method, device, electronic device and storage medium |
| CN118806299B (en) * | 2024-09-18 | 2024-12-06 | 博睿康医疗科技(上海)有限公司 | Signal artifact detection method, signal artifact detection system and signal artifact removal method |
| CN119480104A (en) * | 2024-11-12 | 2025-02-18 | 青岛大学 | A cardiac conduction health assessment method, medium and system |
| CN120995247B (en) * | 2025-10-21 | 2025-12-23 | 天津工业大学 | ECG signal classification system, method, equipment, medium and product |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5819007A (en) * | 1996-03-15 | 1998-10-06 | Siemens Medical Systems, Inc. | Feature-based expert system classifier |
| US20080221633A1 (en) | 2004-10-19 | 2008-09-11 | University Of Washington | Long-term monitoring for discrimination of different heart rhythms |
| CN104398252A (en) | 2014-11-05 | 2015-03-11 | 深圳先进技术研究院 | Electrocardiogram signal processing method and device |
| CN105748063A (en) | 2016-04-25 | 2016-07-13 | 山东大学齐鲁医院 | Intelligent arrhythmia diagnosis method based on multiple-lead and convolutional neural network |
| CN107657318A (en) | 2017-11-13 | 2018-02-02 | 成都蓝景信息技术有限公司 | A kind of electrocardiogram sorting technique based on deep learning model |
-
2018
- 2018-04-27 US US17/044,262 patent/US11534099B2/en active Active
- 2018-04-27 CN CN201880092365.8A patent/CN112312836A/en active Pending
- 2018-04-27 WO PCT/CN2018/084728 patent/WO2019205067A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5819007A (en) * | 1996-03-15 | 1998-10-06 | Siemens Medical Systems, Inc. | Feature-based expert system classifier |
| US20080221633A1 (en) | 2004-10-19 | 2008-09-11 | University Of Washington | Long-term monitoring for discrimination of different heart rhythms |
| CN104398252A (en) | 2014-11-05 | 2015-03-11 | 深圳先进技术研究院 | Electrocardiogram signal processing method and device |
| CN105748063A (en) | 2016-04-25 | 2016-07-13 | 山东大学齐鲁医院 | Intelligent arrhythmia diagnosis method based on multiple-lead and convolutional neural network |
| CN107657318A (en) | 2017-11-13 | 2018-02-02 | 成都蓝景信息技术有限公司 | A kind of electrocardiogram sorting technique based on deep learning model |
Non-Patent Citations (14)
| Title |
|---|
| A. S. Al-Fahoum et al., Combined Wavelet Transformation and Radial Basis Neural Networks for Classifying Life-threatening Cardiac Arrhythmias, Medical & Biological Engineering & Computing, 37: 566-573, 1999. |
| Abraham Lempel et al., On the Complexity of Finite Sequences, IEEE Transactions on Information Theory, 22(1):75-81, 1976. |
| Dayi Hu, Prevention of Risk Factors of Sudden Cardiac Death, Chinese Journal of Cardiac Pacing and Electrophysiology, 20(5), 2006, 3 pages. |
| Don Lerro et al., Tracking with Debiased Consistent Converted Measurements Verus EKF, IEEE Transactions on Aerospace and Electronic Systems, 29(3): 1015-1022, 1993. |
| Eleftheria P. Tsagalou et al., Time Course of Fibrillation and Defibrillation Thresholds After an Intravenous Bolus of Amiodarone—an Experimental Study, Resuscitation, 61: 83-89, 2004. |
| G.Selvakumar et al., Wavelet Decomposition for Detection and Classification of Critical ECG Arrhythmias, Proceedings of the 8th WSEAS Int. Conference on Mathematics and Computers in Biology and Chemistry, 2007, 5 pages. |
| International Search Report in PCT/CN2018/084728 dated Feb. 1, 2019, 5 pages. |
| Li Li et al., Study on Prevention and Treatment of Sudden Cardiac Death Caused by Heart Failure, Journal of China Traditional Chinese Medicine Information, 2010, 2 pages. |
| Muhammad Abdullah Arafat et al., A Simple Time Domain Algorithm for the Detection of Ventricular Fibrillation in Electrocardiogram, Computers in Biology and Medicine, (5): 1-10, 2011. |
| Nitish V. Thakor et al., Estimation of QRS Complex Power Spectra for Design of a QRS Filter, IEEE Transactions on Biomedical Engineering, 31(11): 702-706, 1984. |
| Norden E. Huang et al., The Empirical Mode Decomposition and the Hilbert Spectrum for Nonlinear and Non-stationary Time Series Analysis, Proceedings of the Royal Society of London, 454: 903-995, 1998. |
| Ruiqing MA, Ventricular Fibrillation Detection Algorithms Based on Time-Frequency Domain, Harbin Institute of Technology, 2012, 57 pages. |
| Written Opinion in PCT/CN2018/084728 dated Feb. 1, 2019, 4 pages. |
| Zhi-Jie Zheng et al., Sudden Cardiac Death in the United States, 1989 to 1998, Circulation, 104(18):2158-2163, 2091. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210022633A1 (en) | 2021-01-28 |
| WO2019205067A1 (en) | 2019-10-31 |
| CN112312836A (en) | 2021-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11534099B2 (en) | Systems and methods for determining an arrhythmia type | |
| Jing et al. | ECG heartbeat classification based on an improved ResNet‐18 model | |
| Çınar et al. | Classification of normal sinus rhythm, abnormal arrhythmia and congestive heart failure ECG signals using LSTM and hybrid CNN-SVM deep neural networks | |
| US20200178825A1 (en) | System and method for identifying cardiac arrhythmias with deep neural networks | |
| Lee et al. | Mining biosignal data: coronary artery disease diagnosis using linear and nonlinear features of HRV | |
| CN114041800B (en) | Electrocardiosignal real-time classification method and device and readable storage medium | |
| US12220262B2 (en) | Systems and methods for atrial fibrillation (AF) and cardiac disorders detection from biological signals | |
| Adetiba et al. | Automated detection of heart defects in athletes based on electrocardiography and artificial neural network | |
| Al-Fahoum et al. | A practical reconstructed phase space approach for ECG arrhythmias classification | |
| US12159717B2 (en) | Respiratory rate prediction from a photoplethysmogram | |
| US20130178755A1 (en) | Analyzing electrocardiograms | |
| Park et al. | Cascade classification with adaptive feature extraction for arrhythmia detection | |
| CN113974649B (en) | Classification method, device and medium of heartbeat signal based on deep learning | |
| US20250165778A1 (en) | Signal denoising based on adaptable deep neural networks | |
| Anbarasi et al. | Detection and classification of arrhythmia type using hybrid model of LSTM with convolutional neural network | |
| Li et al. | Atrial fibrillation detection with signal decomposition and dilated residual neural network | |
| US9839364B2 (en) | Ventricular activation (RR) entropy change as a predictor of sudden cardiac death in cardiac resynchronization therapy patients | |
| CN118037109A (en) | A performance evaluation method, device, electronic device and storage medium | |
| Huang et al. | A lightweight deep learning approach for detecting electrocardiographic lead misplacement | |
| HK40046197A (en) | Systems and methods for determining an arrhythmia type | |
| CN110025308B (en) | Electrocardio feature extraction method, heart beat identification method and device | |
| CN115956924A (en) | Electrocardiosignal processing method and device, electronic equipment and medium | |
| US20240153646A1 (en) | Method, system, and non-transitory computer-readable recording medium for managing output data of biosignal analysis model | |
| Rahimi et al. | A preliminary investigation into use of admission-recorded photoplethysmograms for predicting hospital mortality in children with confirmed or suspected infection in resource-poor settings | |
| Conway | Identification of premature ventricular contraction (PVC) caused by disturbances in calcium and potassium ion concentrations using artificial neural networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| AS | Assignment |
Owner name: VITA-COURSE TECHNOLOGIES CO., LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MA, RUIQING;WEI, CHUANMIN;ZHAO, JIWEI;AND OTHERS;REEL/FRAME:054014/0682 Effective date: 20180503 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |