System and method of adaptive interpretation of ECG waveforms

A cluster database includes existing ECG datasets organized into clusters, wherein each existing ECG dataset includes an existing ECG waveform with at least one corresponding existing feature and existing interpretation. Each cluster is comprised of existing ECG datasets having a common existing feature. The cluster training module is executable by the processor to receive a new ECG waveform and a feature extracted from the new ECG waveform. The cluster training module then selects a cluster interpretation module based on the feature, wherein the cluster interpretation module is trained on one of the clusters from the cluster database. The cluster training module processes the new ECG waveform and/or the feature to provide a cluster interpretation output. The cluster interpretation output is then displayed on the user interface, and the cluster training module receives clinician input via the user interface accepting or rejecting the cluster interpretation output.

BACKGROUND

Systems and methods for interpreting ECG waveforms are currently available to assist a clinician in interpreting waveforms and assessing patient cardiac health based on ECG waveforms. Currently available systems and methods generally process ECG waveform data and provide suggested interpretations based thereon. These currently available systems and methods are generally trained offline using databases of existing ECG waveform data. Thus, updating and/or expanding existing interpretation methods and systems generally requires offline training and development, and then the launch of a new product version or a product update.

SUMMARY

The present invention alleviates problems recognized by the inventor with systems and methods currently available for interpretation of ECG waveforms. For example, the present inventor has recognized that systems and methods for interpretation of ECG waveforms could be improved by utilizing recently acquired waveform interpretations to train and update the interpretation systems and methods. Moreover, the present inventor has recognized that the periodic issuance of new system versions and/or updates is cumbersome and not ideal. For example, the installation of new versions or updates requires additional effort on the part of the supplier and the user in order to install the new version and/or update. Moreover, in between the timing of new versions and/or updates, the system is not being optimized because new information is generated that could be, but is not, used as feedback to improve the system and/or method. With the recognition of these problems in mind, the inventor has developed the system and method disclosed herein. This summary is provided to introduce a selection of concepts that are further described below in the Detailed Description. This summary is not intended to identify key or central features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.

In one embodiment, a system for adaptive interpretation of ECG waveforms includes a processor, a cluster database, a user interface, and a cluster training module. The cluster database includes existing ECG datasets organized into clusters, wherein each existing ECG dataset includes an existing ECG waveform with at least one corresponding existing feature and existing interpretation. Each cluster is a comprised of existing ECG datasets having a common existing feature. The cluster training module is executable by the processor to receive a new ECG waveform and a feature extracted from the new ECG waveform. The cluster training module then selects a cluster interpretation module based on the feature, wherein the cluster interpretation module is trained on one of the clusters from the cluster database. The cluster training module processes the new ECG waveform and/or the feature to provide a cluster interpretation output. The cluster interpretation output is then displayed on the user interface, and the cluster training module receives clinician input via the user interface accepting, or rejecting the cluster interpretation output.

In one embodiment for adaptive interpretation of ECG waveforms, a new ECG waveform is received and at least one feature is extracted from the new ECG waveform. A cluster interpretation module is then selected based on the feature, and the new ECG waveform and/or the extracted feature are processed to provide a cluster interpretation output. The method further includes displaying the cluster interpretation output on a user interface, receiving a clinician input accepting or rejecting the cluster interpretation output, and further training the cluster interpretation module based on the clinician input.

A non-transitory computer readable medium having computer-executable instructions stored thereon is presented herein, wherein in one embodiment, the instructions include the step of receiving a new ECG waveform, extracting at least one feature from the new ECG waveform, selecting a cluster interpretation module based on the feature, and processing, the new ECG waveform and/or the extracted feature with the cluster interpretation module to provide a cluster interpretation output. The cluster interpretation module is trained on a cluster from a cluster database of existing ECG datasets, wherein each existing ECG dataset includes an existing ECG waveform with at least one corresponding existing feature and existing interpretation, and wherein each cluster is comprised of ECG datasets having a common existing feature. The instructions may further include displaying the cluster interpretation output on a user interface, receiving a clinician input accepting or rejecting the cluster interpretation output, and further training the cluster interpretation module based on the clinician input.

DETAILED DESCRIPTION

FIG. 1diagrammatically exemplifies a system1for adaptive interpretation of ECG waveforms.FIG. 2is a flowchart depicting a corresponding method50adaptive interpretation of ECG waveforms. InFIG. 1, a new ECG waveform17is received. The new ECG may be, for example, an ECG recording from an ECG monitoring device. The new ECG waveform17may be comprised of data resulting from any of various types of ECG tests, and may be in any of multiple data forms available. For example, the new ECG waveform17may be a 12-lead ECG, such as a ten second 12-lead resting ECG, which is a commonly performed diagnostic ECG test. Alternatively, the new ECG17may be produced by an alternative lead arrangement, such as an abbreviated lead arrangement or a Holier lead arrangement. In still other embodiments, the new ECG waveform17may be a derived set of ECG waveforms, such as a derived 12-lead ECG calculated from ECG data collected using a reduced set of ECG leads. Such systems and methods of deriving 12-lead ECGs from alternate electrode configurations are known in the art, and include, for example, the 12RL system by General Electric Company of Schenectady, N.Y., or EASI system produced by Koninklijke Philips N. V. of Amsterdam, Netherlands.

One or more features14are extracted from the new ECG waveform17, such as by any of numerous feature extraction methods and systems known in the art for extracting features from ECG waveforms. As will be understood by a person of ordinary skill in light of this disclosure, and as exemplified, with respect to the existing features5of the existing waveforms4, the features14may describe any aspect or element of the ECG morphology or sinus rhythm, and may focus on elements or aspects of the ECG waveforms that deviate from a normal ECG waveform. The features14may also be any set, or group, of morphological and/or rhythm characteristics that have clinical significance when appearing simultaneously—e.g., QRS, ST, and T wave morphologies and/or rhythm patterns that, together, indicate a cardiac condition of the patient.

The new ECG waveform data17and corresponding feature(s)14then interpreted by two different interpretation modules, the general interpretation module24and the cluster interpretation module28. As discussed in detail herein, the interpretation modules24,28are trained modules generated by any number of available machine learning techniques, such as neural networks, decision trees, or statistical classification algorithms. As will be understood by a person of ordinary skill in the art reviewing this disclosure, a neural network (or artificial neural network) refers to a layered structure, with linear or nonlinear units, which can be trained by different optimization methods to minimize defined error function, and can be generated from, a large number of inputs. Neural networks are generally presented as systems of interconnected “neurons” which exchange messages between each other. The connections have numeric, weights that can be tuned based on feedback to the system, making neural networks adaptive to inputs and capable of learning from examples. Likewise, it will be understood that a decision tree is a predictive module that maps observations about an item or input to conclusions about the items' or inputs' target value. Decision tree learning is a modeling, approach often used in data mining and machine learning, and includes classification tree approaches where the target variable can take a finite set of branches in each layer, and the classification can be reached by going through limited number of layers of trees, and regression, which is one of the most general statistical approaches where the target variable can take continuous values. It will also be understood that the interpretation modules24and28may be trained using a complete supervised learning—including many of the algorithm-types mentioned above—or a combination of unsupervised and supervised learning—such as supervised, learning based on Principal Component Analysis generated feature sets, or a Deep Learning method which can have relatively more layers. The learning occurs based on existing datasets having, correctly-identified interpretations of waveforms used as correct observations, or examples, upon which a classifier is trained. The general interpretation module24and the cluster interpretation module28may be constructed and trained by any of the above-listed machine learning methods, and may be trained and constructed by the same method or by differing methods.

The general interpretation module24and the cluster interpretation module28differ from one another in that they are trained using different sets of data. The general interpretation module24is trained on a general database of existing ECG datasets, including datasets having any and all different types of waveform morphologies indicating any and all different diagnosis classifications. Referring also toFIG. 4, a general database22includes existing datasets3a-3n. Each existing dataset3includes an existing ECG waveform4. The existing ECG waveform may be the raw digitized ECG data, or it may include an ECG waveform that has been processed or conditioned for analysis, such as filtered to remove noise. Associated with each existing ECG waveform4is at least one existing feature5and existing interpretation6corresponding therewith. Each existing feature5is extracted from the existing ECG waveform4using feature extraction techniques. One of ordinary skill in the art will understand in light of this disclosure that multiple feature extraction techniques are available in the art and may be appropriate for applications in the presently disclosed system and method. For example, the feature extraction may determine the amplitudes and intervals in one or more portions of the ECG waveform, including each of the PQRST segments. Global features may include, but are not limited to, heart rate, QRS duration, PR interval, OT/QTc interval, etc. Lead-by-lead features may include, but are not limited to, P/QRS/ST/T/U wave durations, amplitude, and timing information. Rhythm features may include, but are not limited to synchronized and unsynchronized P wave (sinus, atrial arrhythmia, AFIB/Aflutter), QRS beat patterns (normal, bundle branch block, PVC, VT/VF), and T wave and its variations. Each existing dataset3a-3nalso includes at least one existing interpretation6of the existing ECG waveform4, which preferably has been inputted by or verified by a clinician to insure accuracy. The existing interpretation6provides a classification, or diagnosis, of a physiological condition based on the one or more existing features5of the existing ECG waveform4. Thus, the general database22includes existing datasets3a-3nwith all sorts of existing features5and existing interpretations6and is not defined or separated according to particular features5.

The cluster database20, on the other hand, which is used by a cluster training module26to train one or more cluster interpretation modules28, includes datasets3a-3nthat are organized into clusters10, which are a groups of existing ECG datasets3a-3nhaving a common existing feature5. A cluster database20is exemplified inFIG. 3, wherein clusters10,10′ are groups of existing datasets3a-3nwith a common existing feature5a-5n. As demonstrated in the figure, cluster10includes existing dataset3aand existing, dataset3b, which both share an existing feature5a′ and5b′ of “pathologic Q wave.” Likewise, the cluster10′ includes the existing datasets3a,3b, and3n, which all share the existing feature5a,5b, and5nof “ST elevation.” As is discussed in more detail below, a cluster interpretation module28is trained on one cluster10, and thus is trained on a group of existing datasets3a-3nthat share a common existing feature5. Accordingly, an appropriate cluster interpretation module28is chosen for application to the new ECG waveform17based on one or more features in that new ECG waveform, which is also explained in more detail below.

The new ECG waveform17and the one or more features14are processed by the general interpretation module24in order to produce a general interpretation output34, which is an output describing a cardiac pathology or diagnosis which the general interpretation module24has arrived at based on the feature(s)14of the new ECG waveform17. Likewise, the new ECG waveform17and feature(s)14are processed in the cluster interpretation module28in order to produce a cluster interpretation output32, which is the physiologic classification or diagnosis generated by the cluster interpretation module56based on one or more of the features14isolated from the new ECG waveform17. In one preferred embodiment illustrated inFIG. 2, the cluster interpretation module28is selected based on a single feature14, or a group of features14appearing together and whose joint appearance has pathological significance.

The general interpretation output34and the cluster interpretation output32can then be compared to one another. The general interpretation output34and the cluster interpretation output32may be the same, or they may be different. Both of the outputs32and34may be presented to a clinician for analysis one at a time. For example, assuming that the general interpretation output34is different than the cluster interpretation output32, the clinician may choose the output that is more accurate. For example, the clinician may be presented with an option to choose the cluster interpretation output32. If they agree with the cluster interpretation, then this new ECG and its feature set will be added to the cluster to enhance the confidence level for this feature set with the related interpretation. If the clinician disagrees with the cluster interpretation, then the general interpretation output24will be presented. This option may be presented, for example, on a user interface1210, and the clinician may provide input12a,12bregarding one or more of the cluster interpretation output32and the general interpretation output24. If the clinician provides input12achoosing the cluster interpretation output32, the cluster interpretation module28may be updated to account for the information learned from interpreting the new ECG waveform17and associated feature(s)14by providing positive feedback based on the verification that the cluster interpretation output32was correct. Likewise, if the clinician provides input12bto choose the general interpretation output, then the general interpretation module63may be updated, providing positive feedback that the general interpretation output64provided based on the new ECG waveform17was correct. In one embodiment, the clinician may be provided with the options to choose the respective outputs in sequence, where the general interpretation output34is only presented if the cluster interpretation output32is rejected. The options could be presented in either order, and thus an alternative arrangement may present the general interpretation output34first. In further embodiments, if the clinician provides input12a,12bselecting “no” to either option, rejecting the respective output32or34, negative feedback may be provided to that respective module28or24based on the fact that the output32,34was rejected as incorrect. Accordingly, in one embodiment, if the clinician provides “no” input12ato reject the cluster interpretation output32, negative feedback is provided to the cluster interpretation module28; and if the clinician provides “no” input12bto reject the general interpretation output34, then negative feedback is provided to the general interpretation module24. However, in other embodiments, and in accordance with the depiction inFIG. 1, only positive feedback may be provided.

Alternatively or in addition to providing feedback, if the clinician provides “no” input12aand12brejecting both outputs32and34, then a new cluster38may be created in the cluster database20. In such an embodiment, a new dataset would be added to the cluster database20containing the new ECG waveform17and a cluster designated by the feature14upon which the cluster interpretation module28producing the rejected cluster interpretation output32was selected. Additionally, a noise outlier check may be performed to verify that the newly added cluster is not an ‘outlier’ caused by excessive noise from muscle, power line interference, saturation, drifted baseline, etc.

FIG. 2demonstrates an embodiment of a method50of adaptive interpretation of ECG waveforms. In the depicted embodiment, a new ECG waveform data17is received at step51. The new ECG waveform17is then processed with a feature extraction algorithm, or module, at step52. As described above, feature extraction is well known in the art, and multiple different feature extraction methods and systems are available. For example, feature extraction may determine the amplitudes and intervals for each segment of a PQRST waveform. One or multiple features14may be extracted at step52from any given new ECG waveform17. The extracted feature(s)14and/or the new ECG waveform data17are then processed by the cluster training module26according to the steps of the depicted embodiment. At step53, one of the features14extracted at step52is automatically selected by the cluster training module26. For example, the cluster training module26may select the feature14that is most prominent in the new ECG waveform data17, such as the feature with the greatest relative deviation from a normal range. Alternatively or additionally, the cluster training module26may have a predetermined hierarchy of features14, and thus may be programmed to select certain features over others. Alternatively or additionally, the cluster training module26may have only have access to cluster interpretation modules28for a limited number of features14, and may be configured to select, those features14for which it has trained interpretation algorithms.

Once a feature14has been selected, the cluster training module26searches for a cluster interpretation module28associated with that feature14at step54. For example, the cluster training module26may search for a cluster interpretation module26based on a cluster10(FIG. 3) of existing datasets3a-3nhaving a shared existing feature5that matches identically to the feature14selected at step53. Alternatively, the cluster training module26may be configured such that if an exact match is not located, a cluster interpretation module28based on a cluster10designating a similar existing feature5may be chosen at step54. The degree of similarity required may vary, and may depend, for example, on the number of cluster interpretation modules28available to the cluster training module26and/or die level of development of the cluster database20. If a cluster interpretation module28is found at step54, the cluster training module26selects that cluster interpretation module28at step55, and then processes the new ECG waveform17and/or the selected feature14with the selected cluster interpretation module28at step56. At step57, a cluster interpretation output32is provided, and then the cluster interpretation output32is displayed at step58. The clinician then provides input12aregarding the displayed cluster interpretation output32, which is received at step59. The clinician input12ais analyzed at step60to determine whether the clinician input accepts or rejects the cluster interpretation output32.

If the cluster interpretation output32is accepted at step60, then the cluster training module26directs that the selected cluster interpretation module28be updated at step61, such as to provide positive feedback reinforcing the process by which the cluster interpretation module28arrived at the cluster interpretation output32, which was confirmed by the clinician to be correct. Then, at step62, a new dataset is added to the cluster database20and is associated with the cluster10related to the cluster interpretation module28selected at step54. The new dataset comprises the new ECG waveform received at step51and the feature selected at step53, as well as the cluster interpretation output provided at step57and verified at step60. Additionally, other features extracted at step52may also be included as part of the dataset.

If at step60it is determined that the clinician input12areceived at step59rejects the cluster interpretation output32, then, in the depicted embodiment ofFIG. 2, the method50continues to step63, where the new ECG waveform17and extracted features14are processed with the general interpretation module24. The general interpretation module will receive the new ECG waveform17and/or the one or more features14extracted at step52, which is represented by the dashed line36. In alternate embodiments, the general interpretation module may be used at step63to process only the feature selected at step53in the cluster training module26, or the general interpretation module may be employed at step63to process all of the features extracted at step52. In an embodiment where multiple features are extracted at step52, and thus multiple features could be selected at step53, the steps53-62, or53-71, may be repeated for each feature extracted at step52.

At step64, a general interpretation output34is provided by the general interpretation module24. The general interpretation output34is then displayed at step65, such as a display on user interface1210. At step66, a clinician input12is received, such as via the user interface1210(FIG. 5). At step67, it is determined whether the clinician input12selects or confirms the general interpretation output34. If the general interpretation output34is accepted, then the general interpretation module24is updated to provide positive feedback regarding the process executed by the general interpretation module24that led to providing, the general interpretation output34based on the new ECG waveform17and the extracted features5.

On the other hand, if at step67the clinician input12brejects the general interpretation output34, then the method continues to step69, where a new interpretation is received from the clinician. The new interpretation from the clinician includes one or more interpretations of the new ECG waveform17, such as diagnoses and/or pathologies indicated by the morphology and/or sinus rhythm recorded in the various leads of the new ECG waveform17. Then, at step70, a new cluster38is created in the cluster database relating to the feature or features5extracted at step52. At this point, a noise outlier check may also be performed to verify that the newly added cluster is not a ‘outlier’ caused by excessive noise from muscle, power line interference, saturation, drifted baseline, etc. Finally, at step71, a new ECG dataset is stored in the cluster database20, for example, if noise outlier is ruled out. The new ECG dataset is in the new cluster38and includes the new ECG waveform17received, at step51, the features5extracted at step52, and the new interpretation from the clinician received at step69.

FIG. 3depicts a method40of training one or more cluster interpretation modules. At step41, a cluster10is selected from the cluster database20. At step42, an existing dataset3a-3nis selected and inputted into the cluster interpretation module28. The cluster interpretation module28then determines classifications, such as diagnoses or patient physiologies associated with the existing datasets3a-3n, executed at step43. Depending on the embodiment of the training algorithm, the classification may be given various weights, such as confidence values. The classifications are then analyzed at step44to create an output. For example, at step44, the classifications may be analyzed and classifications with low values, such as low confidence values, may be eliminated. As an illustrative example, at step44, the classifications produced at step43may be filtered so that only classifications having values exceeding 50% confidence value become outputs. For a high specificity interpretation, a threshold of 80% confidence can be used. At step45, the existing interpretations5associated with the respective datasets3a-3nare received, and at step46the existing interpretations Yiare compared with the outputs Yefrom step44. For example, if the one or more outputs Yefrom step44match any existing interpretation Yi, then the output is valid and a value of 1 may be generated. For each output. Ye, if the respective output Yedoes not match any existing interpretation Yi, then a value of 0 is generated. Accordingly, an error value E is generated at step46. For example, where there are multiple outputs Ye, the error value, represented with an ensemble of group of interpretation error between labeled values and calculated values from the system, with symbol E as an expectation value. Accordingly, the error expectation value E at step46may represent a fraction or a percent of the outputs Yethat are correct for that particular dataset3. The error E generated at46for each output Yeis then provided as feedback to the cluster interpretation module28to adaptively change the coefficients of the learning system, and thus will affect future execution of step43for determining classifications. In an ideal case, the error expectation E is gradually reduced with the more data sets added, also called ‘convergent’. The system may set an error boundary requiring that any future training shall not exceed a specified expectation error E. This process will guarantee that any evolving interpretation algorithm will not perform worse than a pre-trained one.

At step47, an average error is generated for the system, which is an average of the error E for each output Ycgenerated by the cluster interpretation module28for this particular cluster10. At step48, it is determined whether the average error is within acceptable limits. If so, the training method40may come to an end at step49. If the average error is too high, more input data associated with the cluster selected at step41is inputted at step42to further train the module.

As described above, each cluster10is a grouping of datasets3based on an existing feature5. In the example provided inFIG. 3, two clusters10,10′ are exemplified. Cluster10includes existing datasets3aand3b, which each share an existing feature5a′,5b′ of “pathologic Q wave”. One of skill in the art will understand that various definitions of “pathologic Q wave” are available and known in the art, and may be applied within the methods and systems disclosed herein. Likewise, cluster10′ includes existing datasets3a,3b,3n, as they all share existing feature5a,5b,5nof “ST elevation.” One of ordinary skill in the art will understand that various specific definitions of ST elevation are available in the art and any of the various definitions may be applied for use in the presently disclosed system and method. Moreover, each cluster10,10′ may be based on more specific definitions or groupings of existing features5, such as based on a more narrowly defined, or specific, waveform feature. In the context of the examples provided atFIG. 3, for example, each cluster10,10′ may be defined based on a particular magnitude or morphology of ST elevation or pathologic Q wave. For example, the cluster10,10′ may be based on a particular pattern of values seen in the Q wave segment or ST wave segment of each of the existing waveforms4of the existing datasets3in the cluster10,10′.

Alternatively or additionally, the cluster may be based on which leads the ST elevation or pathologic Q waves are located in. In an alternative embodiment, the method40of training a cluster interpretation module28may continue until all existing datasets3a-3nin that cluster10are processed at least a prerequisite number of times, which may be one or more processing cycles of the entire cluster10,10′. As described above, the cluster interpretation module28may be any module trained by machine learning, such as a neural net or a decision tree. Accordingly, one of ordinary skill in the relevant art will understand that variations of the method80presented inFIG. 3for training the cluster interpretation module28may be appropriate.

FIG. 4depicts an embodiment of a method80of training a general interpretation module24. At step82, an existing dataset3a,3nis received. At step81, the existing dataset3a,3nis processed with the general interpretation module24to generate classifications. At step82, a feature extraction algorithm is run on the existing waveform4of the respective existing datasets3a,3nto extract features therefrom, in alternative embodiments, the training method80may instead utilize the existing features5for the training. At step83, the feature extracted at step82, or the existing features5, and/or the existing waveform4of the respective existing dataset3a,3nare processed with the general interpretation module24to determine classifications. As described above, classifications may be, for example, diagnoses associated with the extracted features or the existing waveform. The classifications may be assigned values, such as weight or confidence values. Then, at step84, one or more outputs Ygare determined based on the classifications, such as those classifications having an associated value exceeding a particular number. An error value E is then determined for the outputs by comparing, them to the existing interpretations received at step85. The error value E determined at step86may be, for example, equal to 1 if the output Ygequals the existing interpretation Yi, or equal to 0 if the output Ygdoes not equal at least one existing interpretation Yi. Moreover, as explained above, multiple outputs Ygmay be provided and may be compared to multiple existing interpretations Yi. In such an example, the error F generated at step86may be an average of the error values generated for each output Yg. The error value E may then be provided as feedback to reform the general interpretation module24and its next execution of the classifications step83.

At step87, the error values E generated for all input data may be summed and tracked. At step88, it may be determined whether the average error value has reached an acceptably low limit. If it has, the training may be terminated at step89. If the average error value remains high, then the training method80may continue until the error value is within acceptable limits. In an alternative embodiment, the method80of training the general interpretation module24may continue until the entire database22, including the existing datasets therein3a-3nare processed a predefined number of times, which may be one or more processing cycles. As described above, the general interpretation module24may be any module trained by machine learning, such as a neural net or a decision tree. Accordingly, one of ordinary skill in the relevant art will understand that variations of the method80presented inFIG. 4for training the general interpretation module24may be appropriate. In an ideal case, the error expectation E is be gradually reduced with the more data sets added, also called ‘convergent’. As described above, the system may set an error boundary for future training which will guarantee that any evolving interpretation algorithm will not perform worse than a pre-trained one. Thus, if the evolving system cannot reach convergence, the system can always resume to its pre-trained status,

FIG. 5is a system diagram of an exemplary embodiment of the system1for adaptively interpreting ECG waveforms including a cluster training module26, a cluster interpretation module28, and a general interpretation module24executable as described herein. The system1includes a computing system1200that includes a processing system1206, storage system1204, software1202, communication interface1208and a user interface1210. The processing system1206loads and executes software1202from the storage system1204, including the cluster training module26, cluster interpretation module28, and general interpretation module24, which are applications within the software1202. Each of the cluster training module26, cluster interpretation module28, and general interpretation module24include computer-readable instructions that, when executed by the computing system (including the processing system1206), direct the processing system1206to operate as described in herein in further detail, including to provide a cluster interpretation output32and a general interpretation output34.

Although the computing system1200as depicted inFIG. 5includes one software1202encapsulating one cluster training module26, cluster interpretation module28, and general interpretation module24, it should be understood that one or more software elements may encapsulate the respective modules, and that each module24,26,28may be comprised of several software modules to execute the methods and operations described herein for each module. Similarly, while description as provided herein refers to a computing system1and a processing system1206, it is to be recognized that implementations of such systems can be performed using one or more processors, which may be communicatively connected, and such implementations are considered to be within the scope of the description. For example, the cluster training module26, cluster interpretation module32, and/or general interpretation module24may be embedded into a device, like a cardiograph with local or remote database connection, or may be housed in a data server with an analytics service, like an ECG management system. Alternatively, cluster training module26, cluster interpretation module32, and/or general interpretation module24may be built into a remote server system, like cloud service with large set of servers and analytics for speed, reliability, and scalability.

The processing system1206comprises one or more processors, which may be microprocessors and other circuitry that retrieves and executes software1202from storage system1204. Processing system1206can be implemented within a single processor, or processing device, but can also be distributed across multiple processors or sub-systems that cooperate in existing program instructions. Examples of processing system1206include one or more general purpose central processing units, application-specific processors, and logic devices, as well as any other type of processor, combinations of processing devices, or variations thereof.

The storage system1204, which includes the cluster database20and general database22, can comprise any storage media, or group of storage media, readable by a processor of processing system1206, and capable of storing software1202. The storage system1204can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Storage system1204can be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems. For example, the software1202may be stored on a separate storage device than the databases20,22. Further, the cluster database20and the general database22may be stored on the same storage devices, or separate storage devices. Moreover, to the extent that the cluster database20and the general database22have overlapping content, the content may be shared between databases—e.g. once instance of the content may be stored and referenced by both databases20and22. Storage system1204can further include additional elements, such a controller capable, of communicating with the processing system1206.

Examples of storage media include random access memory, read only memory, magnetic discs, optical discs, flash memory, virtual memory, and non-virtual memory, magnetic sets, magnetic tape, magnetic disc storage or other magnetic storage devices, or any other medium which can be used to storage the desired information and that may be accessed by an instruction execution system, as well as any combination or variation thereof, or any other type of storage medium. In some implementations, the store media can be a non-transitory storage media. In some implementations, at least a portion of the storage media may be transitory.

The user interface1210is configured to generate cluster interpretation output32and general interpretation output34, and to receive clinician input12. User interface1210includes one or more display devices, such as a video display or graphical display, that can display outputs32,34. User interface1210may further include any mechanism for receiving input from a clinician, such as a mouse, a keyboard, a voice input device, a touch input device, a motion input device for detecting non-touch gestures and other motions by a user, and other comparable input devices and associated processing elements capable of receiving user input from a clinician. Speakers, printers, haptic devices and other types of output devices may also be included in the user interface1210.

As described in further detail herein, the system1receives one or more new ECG waveform data17. The new ECG waveform data17may be recorded by patient monitor including electrodes, and the data may be in analog or digital form. In still further embodiments, the new ECG waveform data17may be an analog input received in real time or near-real time by the system1.