Systems and methods for deep learning-based electrocardiogram signal classification in canines

A machine learning system preprocesses and classifies canine ECG signals, addressing inefficiencies in conventional methods by providing automated and accurate classification considering breed, age, and sex, thus improving veterinary diagnostics.

JP2026502718APending Publication Date: 2026-01-23MARS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025544415
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-31
Filing Date
2024-01-30
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Conventional methods for classifying canine electrocardiogram (ECG) signals are inefficient and dependent on human interpretation by veterinarians, lacking the ability to distinguish between different breeds, ages, and sexes of canines, and are prone to human error.

Method used

A machine learning-based system that preprocesses ECG data, filters out poor signals, augments the data, and uses a trained model to predict classifications considering canine metadata such as breed, age, and sex, providing automated and accurate signal classification.

Benefits of technology

Enables efficient and accurate classification of ECG signals without human intervention, reducing time and error, and accounting for individual canine characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026502718000001_ABST
    Figure 2026502718000001_ABST
Patent Text Reader

Abstract

A computer-implemented method for classifying electrocardiogram signals of a canine is disclosed, the method including receiving electrocardiogram data of the canine, the electrocardiogram data including at least one electrocardiogram signal; dividing the electrocardiogram data into one or more data subsets; preprocessing the one or more data subsets, including filtering out one or more data subsets that include poor electrocardiogram signals; augmenting the one or more data subsets; determining one or more signal classifications for the one or more data subsets using a trained machine learning model; aggregating the one or more signal classifications to determine a resulting classification; and outputting the resulting classification to electronic storage and / or a display.
Need to check novelty before this filing date? Find Prior Art

Description

Description of Related Applications

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 482,355, filed January 31, 2023, the entire contents of which are incorporated herein by reference. [Technical Field]

[0002] Various embodiments of the present disclosure generally relate to machine learning-based techniques for predicting classification of canine electrocardiogram signals. In some embodiments, the present disclosure relates to systems and methods for training machine learning-based models for predicting classification of canine electrocardiogram signals. [Background technology]

[0003] Determining the classification of canine electrocardiogram ("ECG") data, such as an ECG signal, is an extremely time-consuming process. For example, conventional techniques may involve a veterinarian analyzing a canine ECG signal to determine whether to classify the ECG signal as normal or abnormal. Such techniques are highly inefficient because they depend on the availability of a veterinarian to interpret the ECG signal results. Furthermore, conventional techniques cannot distinguish whether a canine ECG signal is normal or abnormal for a particular breed, age, sex, etc. of the canine.

[0004] The present disclosure is made to address the challenges discussed above. The background discussion provided herein is for the purpose of broadly presenting the context for the present disclosure. Unless otherwise expressly stated herein, the material described in this section is not prior art to the claims in this application, and its inclusion in this section is not admitted as prior art or an indication of prior art. Summary of the Invention

[0005] According to one aspect of the present disclosure, a method and system for classifying canine electrocardiogram data is disclosed.

[0006] In one aspect, an exemplary embodiment of a method for classifying electrocardiogram signals of a canine is disclosed. The method may include receiving, with one or more processors, electrocardiogram data of the canine, the electrocardiogram data including at least one electrocardiogram signal. The method may further include dividing the electrocardiogram data into one or more data subsets with one or more processors. The method may further include preprocessing, with one or more processors, the one or more data subsets, including filtering out one or more data subsets that include poor electrocardiogram signals. The method may further include augmenting, with one or more processors, the one or more data subsets. The method may further include determining, with one or more processors, one or more signal classifications for the one or more data subsets using a trained machine learning model. The method may further include aggregating, with one or more processors, the one or more signal classifications to determine a resulting classification. The method may further include outputting, with one or more processors, the resulting classification to electronic storage and / or a display.

[0007] In a further aspect, an exemplary embodiment of a computer system for classifying electrocardiogram signals of a canine is disclosed, the computer system comprising at least one memory storing instructions and at least one processor configured to execute the instructions to perform operations. The operations may include receiving electrocardiogram data of the canine, the electrocardiogram data including at least one electrocardiogram signal. The operations may further include dividing the electrocardiogram data into one or more data subsets. The operations may further include preprocessing the one or more data subsets, including filtering out one or more data subsets that include poor electrocardiogram signals. The operations may further include enhancing the one or more data subsets. The operations may further include determining one or more signal classifications for the one or more data subsets using a trained machine learning model. The operations may further include aggregating the one or more signal classifications to determine a resulting classification. The operations may further include outputting the resulting classification to electronic storage and / or a display.

[0008] In a further aspect, a non-transitory computer-readable medium is disclosed that may include instructions that, when executed on a processor, cause the processor to perform operations to classify electrocardiogram signals of a canine. The operations may include receiving electrocardiogram data of the canine, the electrocardiogram data including at least one electrocardiogram signal. The operations may further include dividing the electrocardiogram data into one or more data subsets. The operations may further include preprocessing the one or more data subsets, including filtering out one or more data subsets that include poor electrocardiogram signals. The operations may further include enhancing the one or more data subsets. The operations may further include determining one or more signal classifications for the one or more data subsets using a trained machine learning model. The operations may further include aggregating the one or more signal classifications to determine a resulting classification. The operations may further include outputting the resulting classification to electronic storage and / or a display.

[0009] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments, as claimed. [Brief explanation of the drawings]

[0010] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and, together with the description, serve to explain the principles of the disclosed embodiments. [Figure 1] 1 is an example flow diagram of an example method for training a machine learning model to predict classifications of canine electrocardiogram signals, according to one or more embodiments. [Figure 2] 1 is an example flow diagram of an example method of using a machine learning model to classify canine electrocardiogram signals, according to one or more embodiments. [Figure 3]1 is an example flow diagram of an example method for predicting a classification of an electrocardiogram signal of a canine, according to one or more embodiments; [Figure 4] FIG. 1 illustrates an example environment that can be utilized with the techniques presented herein, in accordance with one or more embodiments. [Figure 5] FIG. 1 illustrates an example of a computing device capable of implementing the techniques described herein, according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0011] According to certain aspects of the present disclosure, methods and systems are disclosed for predicting the classification of canine ECG data, such as electrocardiogram ("ECG") signals. Conventional techniques may be unsuitable because they may rely on a veterinarian manually reviewing the ECG data to determine the classification. Such techniques may be inefficient because they may depend on the availability of a qualified veterinarian. Additionally, conventional techniques may not consider the breed, age, or sex of the canine when analyzing the ECG data. Therefore, there is a need for improved techniques related to predicting the classification of canine ECG data.

[0012] ECG data, such as ECG signals, are used for many different purposes in canine medical treatment. For example, a canine's ECG data may be collected and analyzed before the canine undergoes a surgical procedure. However, conventional methods would require a veterinarian to manually review the collected ECG data and determine that the ECG data is normal in order for the canine to undergo the surgical procedure. Such conventional methods would be highly inefficient and time-consuming because they would depend on the availability of a qualified veterinarian. Additionally, conventional methods would be prone to human error.

[0013] There is a need for an integrated hardware, software, and machine learning model solution for classifying canine ECG data that provides automated assistance to cardiologists. Additionally, such a solution may enable automated classification of canine ECG data without the need for a veterinarian to examine the ECG data and while taking into account the breed, age, or sex of the canine.

[0014] As described in more detail below, various embodiments describe systems and methods for using a machine learning model to predict a classification of canine ECG data. By training the machine learning model to learn associations between the canine ECG data, at least one signal classification, and / or pet metadata, e.g., via supervised or semi-supervised learning, the trained machine learning model may be used to predict a classification of the canine ECG data. The systems and methods may receive canine ECG data including at least one ECG signal. The systems and methods may then divide the ECG data into one or more data subsets. The systems and methods may then preprocess the one or more data subsets, where the preprocessing includes filtering out one or more data subsets that include poor ECG signals. The systems and methods may then enrich the one or more data subsets. The systems and methods may then use the trained machine learning model to determine one or more signal classifications for the one or more data subsets when enriching the one or more data subsets. The systems and methods may then aggregate the one or more signal classifications to determine a resulting classification. The system and method may then output the result classification to an electronic storage device and / or display.

[0015] This description presents various aspects of machine learning techniques that can be adapted to predict classifications of canine ECG data. As described in more detail below, machine learning techniques adapted to predict classifications of canine ECG data may include one or more aspects according to the present disclosure, such as particular selection of training data, particular training processes for machine learning models, operation of particular devices suitable for use with the trained machine learning models, operation of the machine learning models in conjunction with particular data, modification of such particular data by the machine learning models, etc., and / or other aspects that will be apparent to those skilled in the art based on this disclosure.

[0016] The techniques disclosed in this application are applicable not only to canines, but also to other types of animals, such as humans and domestic animals such as canines, felines, and equines.

[0017] Training a machine learning model to classify canine ECG signals 1 illustrates an exemplary process for training a machine learning model to classify canine electrocardiogram ("ECG") signals, according to one or more embodiments. In particular, method 100 may be performed by one or more processors of a server in communication with one or more user devices and other external systems over a network. However, it should be noted that method 100 may be performed by any one or more of the server, one or more user devices, or other external systems.

[0018] The method may include receiving, at one or more processors (step 102), electrocardiogram data for the canine, including one or more data subsets and signal classifications for each of the one or more data subsets. The receiving step may include receiving the one or more data subsets and / or corresponding signal classifications from one or more user devices. For example, the one or more user devices may collect ECG data for the canine, and the ECG data may include one or more ECG signals. In some embodiments, the receiving step may include receiving at least one Digital Imaging and Communications in Medicine (DICOM) file including the ECG data. In some embodiments, the DICOM file may be generated by administering one or more sensors to the canine. The one or more sensors may collect ECG data from the canine, and the at least one processor may integrate data collected by the one or more sensors into the at least one DICOM file. In some embodiments, the one or more data subsets may have been previously augmented. For example, one or more data subsets may be subjected to one or more techniques and / or transformations to optimize, cleanse, and / or standardize the one or more data subsets, more details regarding which techniques and / or transformations are described in the next section.

[0019] Additionally, each data subset may be a division of the ECG data. The ECG data may be divided into subsets based on one or more factors, such as signal length, signal type, and / or signal interval. The signal length may correspond to a particular time length of the signal. In some embodiments, the signal length may be expressed in milliseconds, seconds, minutes, hours, etc. For example, a data subset may include an ECG signal length of 8 seconds. In another example, a data subset may include an ECG signal length of 10 seconds and / or less than 10 seconds. In another example, a data subset may include an ECG signal length of 5 seconds and / or less than 5 seconds. In yet another example, a data subset may include an ECG signal length between 5 and 10 seconds. Note that the ECG signal length may be any length found to be suitable for a particular application. The signal type may correspond to whether the signal is an abnormal or normal signal. For example, a signal anomaly may correspond to one or more signals exceeding a particular threshold, indicating that the one or more signals may be anomalies. In some embodiments, the data subset may include a segment of the ECG data corresponding to an abnormal signal. The signal interval may correspond to one or more ECG waves of the ECG data. For example, the data subset may include a portion of the ECG data corresponding to an ECG wave.

[0020] Each signal classification may indicate a normal classification, an abnormal classification, or a non-diagnostic classification. A normal classification may indicate that the data subset includes normal measurements. For example, measurements in the data subset would be normal if the measurements fall within a particular range. An abnormal classification may indicate that the data subset includes abnormal measurements. For example, measurements would be abnormal if the measurements are outside a particular range. A non-diagnostic classification may indicate a possible error, in which case the data subset does not include any normal or abnormal measurements. In some embodiments, other signal classifications may include an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disease classification. An inappropriate classification may indicate that the signals in the data subset are of poor quality. A supraventricular classification may indicate that the signals in the data subset represent an upper chamber of the canine heart beating too quickly. A ventricular classification may indicate that the signals in the data subset represent a lower chamber of the canine heart beating too quickly. The bradyarrhythmia classification may indicate that the signals in the data subset represent a slower than expected beating of the canine's heart. The conduction disease classification may indicate that there is a problem with the signals in the data subset, in which case there may be a problem with the electrical stimulation of the canine's heart.

[0021] The method may also include receiving canine metadata corresponding to the electrocardiogram data. For example, the canine metadata may include at least one of breed, age, sex, weight, etc. The canine metadata may be received from a user device and / or electronic storage. For example, one or more displays of the user device may prompt the user to enter the canine metadata. Additionally, for example, the electronic storage may store the canine metadata (e.g., in a database) upon receiving the canine metadata from the user device. In some embodiments, the canine metadata may be received from electronic storage capable of storing metadata corresponding to canines. For example, the canine metadata may be received from one or more electronic canine medical records in a third-party system (e.g., a veterinary system).

[0022] The method may include training a machine learning model to predict a signal classification for each of one or more data subsets upon receiving canine electrocardiogram data (step 104). Such training is further described in detail below with respect to steps 106 and 108. The machine learning models contemplated in this disclosure are not limited to any particular model and may be any model configured to solve the classification problem presented in this disclosure.

[0023] The training step may include analyzing each of the one or more data subsets to determine a predicted signal classification (step 106). For example, the machine learning model may analyze each data subset and corresponding signal classification received in the canine electrocardiogram data to determine a predicted signal classification. The predicted signal classification may have the same signal classification as described above. In some embodiments, the training step may also include the machine learning model analyzing each data subset, the corresponding signal classification, and canine metadata to determine a predicted signal classification for each of at least one data subset.

[0024] The training step may further include determining a predicted signal classification and confidence level for each of the one or more data subsets based on the analysis (step 108). For example, the machine learning model may determine the predicted signal classification and confidence level based on analysis of each data subset, the corresponding signal classification, and / or the canine metadata. The machine learning model may determine the confidence level. Additionally, the confidence level may relate to the machine learning model's confidence in its predicted signal classification. In some embodiments, the confidence level may be described as a percentage (e.g., 10%).

[0025] The method may further include storing the predicted signal classification and / or corresponding confidence level in electronic storage. For example, the predicted signal classification and / or corresponding confidence level may be stored in electronic storage for further analysis, machine learning model training, troubleshooting, and auditing.

[0026] The method may also include displaying the determined predicted signal classification and / or corresponding confidence level for each of the data subsets on a display of the user device. In some embodiments, the display of the user device may display at least one of the following predicted signal classifications: normal, abnormal, or non-diagnostic. In some embodiments, the display of the user device may display at least one of the following predicted signal classifications: inadequate, supraventricular, ventricular, bradyarrhythmia, and / or conduction disease. In some embodiments, the displaying may include color-coding one or more of the data subsets according to the predicted signal classification. For example, if the predicted signal classification for a data subset is an abnormal classification, the data subset may be color-coded red. Additionally, if the predicted signal classification for a data subset is a normal classification, the data subset may be color-coded green. Additionally, if the predicted signal classification for a data subset is a non-diagnostic classification, the data subset may be color-coded blue.

[0027] Although Figure 1 illustrates example blocks of example method 100, in some implementations example method 100 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those illustrated in Figure 1. Additionally or alternatively, two or more of the blocks of example method 100 may be performed in parallel.

[0028] Using a trained machine learning model to classify canine ECG signals 2 illustrates an exemplary process for using a trained machine learning model to classify canine electrocardiogram ("ECG") signals (e.g., by utilizing a trained machine learning model, such as a machine learning model trained according to one or more embodiments described above) according to one or more embodiments. In particular, method 200 may be performed by one or more processors of a server in communication with one or more user devices and other external systems over a network. Note, however, that method 200 may be performed by any one or more of the server, one or more user devices, or other external systems.

[0029] The method may include receiving electrocardiogram ("ECG") data for the canine with one or more processors (step 202), the ECG data including at least one ECG signal. The receiving step may include receiving the ECG data from one or more user devices. For example, the one or more user devices may collect the ECG data for the canine. In some embodiments, the receiving step may include receiving at least one Digital Imaging and Communications in Medicine (DICOM) file including the ECG data. In some embodiments, the DICOM file may be generated by administering one or more sensors to the canine. The one or more sensors may collect ECG data, such as at least one ECG signal, from the canine, and the at least one processor may integrate data collected by the one or more sensors into the at least one DICOM file.

[0030] The method may also include, in response to receiving the electrocardiogram data, storing the electrocardiogram data in a data store by one or more processors. For example, the ECG data may be stored in a data store (e.g., a database) for further analysis, machine learning model training, troubleshooting, and / or auditing. The ECG data may also be stored for additional training of machine learning models.

[0031] The method may also include receiving, at one or more processors, canine metadata corresponding to the electrocardiogram data. For example, the canine metadata may include at least one of breed, age, sex, weight, etc. One or more displays of the user device may prompt the user to enter the canine metadata. Additionally, for example, the electronic storage device may store the canine metadata upon receiving it from the user device. In some embodiments, the canine metadata may be received from a database that stores metadata corresponding to canines. For example, the canine metadata may be received from one or more electronic canine medical records stored in a third-party system (e.g., a veterinary system).

[0032] The method may also include dividing the electrocardiogram data into one or more data subsets with one or more processors (step 204). The dividing step may include analyzing the ECG data to separate the ECG data into one or more data subsets. For example, the electrocardiogram signal may be divided into one or more subsegments. The ECG data may be divided into subsets based on one or more factors, which may include signal length, signal type, and / or signal interval. The signal length may correspond to a particular time length of the signal. Additionally, for example, each of the one or more data subsets may have the same signal length. In some embodiments, the signal length may be expressed in milliseconds, seconds, minutes, hours, etc. For example, one or more data subsets may include an ECG signal length of 8 seconds. In another example, the data subsets may include an ECG signal length of 10 seconds and / or less than 10 seconds. In another example, the data subsets may include an ECG signal length of 5 seconds and / or less than 5 seconds. In yet another example, the data subsets may include an ECG signal length between 5 and 10 seconds. Note that the ECG signal length may be any length found to be suitable for a particular application. The signal type may correspond to whether the signal is an abnormal signal or a normal signal. For example, an abnormal signal may correspond to one or more signals that exceed a particular threshold, indicating that the one or more signals may be outliers. For example, one or more data subsets may include a particular portion of the ECG data that exceeds a particular threshold. In some embodiments, each of the one or more data subsets may include a segment of ECG data that corresponds to an abnormal signal. The signal interval may correspond to one or more ECG waves of the ECG data. For example, each of the one or more data subsets may include a portion of the ECG data that corresponds to an ECG wave.

[0033] The method may also include preprocessing one or more data subsets with one or more processors (step 206), including filtering out one or more data subsets that contain poor ECG signals. The preprocessing step may also include determining that at least one data subset has a good ECG signal. In some embodiments, each of the one or more data subsets may be analyzed to determine whether the data subset contains a poor ECG signal. For example, a poor ECG signal may be above or below a certain threshold. If a data subset contains a poor ECG signal, such data subset may be excluded from further analysis. Preprocessing the one or more data subsets may further include applying at least one of baseline drift removal, signal normalization, frequency removal, heart rate calculation, and / or improper signal removal to the one or more data subsets. Similar preprocessing steps may be performed prior to training a machine learning model as described above with respect to FIG. 1.

[0034] The method may also include generating, with one or more processors, a visualization of one or more data subsets. For example, the visualization may include the look and feel of millimeter paper of one or more data subsets. Such visualization may be displayed on one or more user interfaces of one or more user devices. Additionally or alternatively, the visualization may be stored in electronic storage.

[0035] The method may also include augmenting one or more data subsets with one or more processors (step 208). In some embodiments, the augmenting step may be applied only to one or more data subsets that do not contain poor ECG signals. Additionally, one or more techniques and / or transformations may be applied to one or more data subsets with good signals, for example, to optimize, cleanse, and / or standardize the one or more data subsets.

[0036] The augmenting step may include applying at least one transform to one or more data subsets by one or more processors. For example, the at least one transform may include applying at least one of the following to one or more data subsets, which may include portions of the ECG signal: randomly shifting portions of the ECG signal, randomly scaling the ECG signal by a predetermined factor, rolling a random portion of the ECG signal, randomly removing consecutive portions of the ECG signal and replacing them with a specific numerical value, adding a randomly generated sine wave signal to the source signal, adding a randomly generated sine wave signal to random consecutive portions of the source signal, adding a random pulsed square wave signal to the source signal, adding a random pulsed square wave signal to random consecutive portions of the source signal, or applying a random pulsed square wave signal to a source signal. Examples of transformations include adding random Gaussian noise to the source signal, converting the source signal to a one-dimensional tensor, resampling the source signal to a predetermined frequency, normalizing the source signal between 0 and 1, standardizing the source signal, padding the ECG signal with zeros if it does not reach the expected length, replacing NaN elements with zeros, removing fluctuation lines in the ECG signal, removing predetermined frequencies from the ECG signal, converting the one-dimensional signal to a two-dimensional scalogram (continuous wavelet transform), converting the one-dimensional signal to a two-dimensional spectrogram (short-time Fourier transform), and / or transforming the one-dimensional signal into a mixture of continuous wavelet and short-time Fourier transforms (adding or concatenating). For example, a short-time Fourier transform may involve analyzing the time and / or frequency domain for a portion of one or more data subsets, then sliding one or more data subsets, repeating the same analysis, and recombining the resulting transform. A continuous wavelet transform may involve processing one or more data subsets in their entirety at once, modulating the wavelet expansion and position, and performing a convolution between the resulting wavelet function and one or more data subsets.

[0037] The method may also include determining, with one or more processors, one or more signal classifications for one or more data subsets using a trained machine learning model (step 210). The machine learning model may have been previously trained and may receive (e.g., be "fed") one or more augmented data subsets of the canine. The machine learning model may then analyze the one or more augmented data subsets. The machine learning model may then output at least one signal classification for each of the one or more augmented data subsets. In some embodiments, the one or more signal classifications may include at least one of a normal classification, an abnormal classification, or a non-diagnostic classification. A normal classification may indicate that the analyzed data subset includes normal measurements. For example, measurements of the data subset would be normal if the measurements fall within a particular range. An abnormal classification may indicate that the analyzed data subset includes abnormal measurements. For example, measurements of the data subset would be abnormal if the measurements are outside a particular range. A non-diagnostic classification may indicate a possible error, in which case the data subset does not include normal or abnormal measurements. In some embodiments, other signal classifications may include an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disease classification, as described in the previous sections.

[0038] In some embodiments, the trained machine learning model may also process the one or more data subsets, as well as the canid metadata, to determine one or more signal classifications. The machine learning model may then analyze the one or more augmented data subsets and the canid metadata. The machine learning model may then output at least one signal classification for each of the one or more augmented data subsets.

[0039] The method may also include aggregating one or more signal classifications with one or more processors to determine an outcome classification (step 212). For example, one or more signal classifications may be aggregated to determine an amount of normal and abnormal signal classifications. If the number of abnormal signal classifications exceeds a threshold, the outcome classification will include an abnormal classification result. If the abnormal signal classifications do not exceed a threshold, the outcome classification will include a normal outcome classification. In some embodiments, if the number of inappropriate classifications exceeds a threshold, the outcome classification will include an inappropriate outcome classification. Additionally, for example, if the number of supraventricular classifications exceeds a threshold, the outcome classification will include a supraventricular outcome classification. Additionally, for example, if the number of ventricular classifications exceeds a threshold, the outcome classification will include a ventricular outcome classification. Additionally, for example, if the number of bradyarrhythmia classifications exceeds a threshold, the outcome classification will include a bradyarrhythmia outcome classification. Additionally, for example, if the number of conduction disease classifications exceeds a threshold, the outcome classification will include a conduction disease outcome classification.

[0040] In some embodiments, the aggregating step may include using the canid's metadata to determine whether a signal classification should be updated. For example, one or more data subsets, one or more signal classifications, and canid metadata may be compared to stored canid ECG data. The stored canid ECG data may include the stored ECG data subset, the signal classification, and the canid metadata. The method may include determining at least one stored ECG data subset associated with stored canid metadata similar to the canid's metadata. For example, the stored canid metadata and the canid's metadata may include the same gender and age range. The method may also include comparing the at least one stored ECG data subset to one of the data arrays to determine whether an associated signal classification should be updated. For example, a data subset may have an abnormal classification and be associated with an 8-year-old female poodle. That data subset may be compared to a stored data subset corresponding to a 7-year-old female poodle, but the stored data subset may have a normal classification. However, when comparing the data subsets, it may be determined that the data subsets are identical and the abnormal classification may have been updated and changed to a normal classification.

[0041] The method may also include outputting the outcome classification by the one or more processors to an electronic storage device and / or a display (step 214). In some embodiments, one or more user interfaces of the electronic storage device may display a normal outcome classification or an abnormal outcome classification. In some embodiments, one or more user interfaces of the electronic storage device may display an inadequate outcome classification, a supraventricular outcome classification, a ventricular outcome classification, a bradyarrhythmia outcome classification, and / or a conduction disease outcome classification. In some embodiments, the outcome classification may be output to the electronic storage device for storage and further analysis. In some embodiments, one or more user device displays may display the normal outcome classification or the abnormal outcome classification. In some embodiments, one or more user device displays may display an inadequate outcome classification, a supraventricular outcome classification, a ventricular result classification, a bradyarrhythmia outcome classification, and / or a conduction disease outcome classification. In some embodiments, the outputting step may include color-coding one or more of the data subsets according to the predicted signal classification. For example, if the predicted signal classification for a data subset is an abnormal classification, the data subset may be color-coded red. Additionally, if the predicted signal classification for a data subset is a normal classification, the data subset may be color coded green. Additionally, if the predicted signal classification for a data subset is a non-diagnostic classification, the data subset may be color coded blue.

[0042] The method may also include displaying, by one or more processors, an alert indicating that at least one of the one or more data subsets includes an anomalous classification. For example, if at least one of the one or more data subsets includes an anomalous classification, an alert may be displayed on one or more user interfaces, which may indicate the data subsets that include the anomalous classification. In some embodiments, an alert may be displayed if the number of data subsets that include the anomalous classification exceeds a threshold. For example, if eight of the one or more data subsets include an anomalous classification and the threshold is five, then an alert may be displayed indicating the eight data subsets that include the anomalous classification.

[0043] In some embodiments, the method may also include displaying, by one or more processors, an alert indicating that at least one of the one or more data subsets includes an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disease classification. For example, if at least one of the one or more data subsets includes an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disease classification, an alert may be displayed on one or more user interfaces, which may indicate the data subsets that include the particular classification. In some embodiments, if the number of data subsets that include an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disease classification exceeds a threshold, the alert may be displayed. For example, if 10 of the one or more data subsets include a supraventricular classification and the threshold is 9, then an alert may be displayed indicating the 10 data subsets that include a supraventricular classification.

[0044] Although Figure 2 illustrates example blocks of example method 200, in some implementations example method 200 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those illustrated in Figure 2. Additionally or alternatively, two or more of the blocks of example method 200 may be performed in parallel.

[0045] An exemplary platform for predicting ECG classification 3 shows a process further illustrating a platform for predicting classification of canine electrocardiogram ("ECG") signals, according to one or more embodiments. In particular, process 300 may be performed by one or more processors of a server in communication with one or more user devices and other external systems over a network. However, it should be noted that process 300 may be performed by any one or more of the server, one or more user devices, or other external systems.

[0046] The platform may receive a DICOM file from a client, where the client may communicate with the DICOM file using one or more HTTPS calls (step 302). For example, an HTTP trigger function may invoke a function with an HTTP request, which may include receiving and / or requesting a DICOM file. The DICOM file may include canine ECG data, which may include one or more ECG signals. The client may include any web-enabled process.

[0047] The platform may then parse and convert the DICOM file (step 304). For example, the platform may parse and convert at least one ECG signal included in the DICOM file. In addition, parsing the DICOM file may include storing the DICOM file in a storage serializer for future use (step 306).

[0048] The platform may extract at least one ECG signal from the DICOM file, then split the at least one ECG signal into one or more data chunks and process the one or more data chunks (step 308). The platform may parse the DICOM file using a fan-out / fan-in (FOFI) processor. Additionally, the platform may extract the at least one ECG signal from the DICOM file using one or more processors. The platform may split the at least one ECG signal based on various factors of the ECG data, such as signal length, signal type, and / or signal interval. Additionally, in step 308, one or more transforms may be applied to the ECG signal to improve signal quality.

[0049] The platform may then perform a validity analysis (e.g., a quality analysis) on each of the one or more data chunks (step 310). For example, the one or more processors may perform a validity analysis (e.g., a quality analysis) on the one or more data chunks to determine whether each of the one or more data chunks has a good signal. Additionally, the one or more processors may remove one or more data chunks that do not have a good signal.

[0050] The one or more data chunks that pass the validity analysis may then be sent to one or more machine learning models for processing to determine a classification for each of the one or more data chunks (step 312). The platform may send the one or more data chunks that pass the validity analysis to one or more machine learning models. The one or more machine learning models, upon processing the one or more data chunks, may output at least one classification for each of the one or more data chunks. Example classifications may include a normal classification, an abnormal classification, and / or a non-diagnostic classification. By way of further example, additional classifications may include an inappropriate classification, a supraventricular classification, a ventricular classification, a bradyarrhythmia classification, and / or a conduction disorder classification.

[0051] Example Environment 4 illustrates an example environment 400 that can be utilized with the techniques presented herein. One or more user devices 405, one or more external systems 410, and one or more server systems 415 can communicate over a network 401. As described in further detail below, the one or more server systems 415 can communicate with one or more of the other components of the environment 400 over the network 401. The one or more user devices 405 can be associated with a user, for example, a user involved in one or more of generating, training, or tuning a machine learning model to predict classification of canine ECG data.

[0052] In some embodiments, the components of environment 400 are associated with a common entity, such as a veterinarian, clinic, animal specialist, research center, etc. In some embodiments, one or more of the components of the environment are associated with a different entity than another entity. The systems and devices of environment 400 may communicate in any configuration. As described herein, the systems and / or devices of environment 400 may communicate to perform one or more of generating, training, and / or using machine learning models to predict classifications of canine ECG data, among other activities.

[0053] User device 405 may be configured to allow a user to access and / or interact with other systems in environment 400. For example, user device 405 may be a computer system, such as a desktop computer, a mobile device, a tablet, etc. In some embodiments, user device 405 may include one or more electronic applications, such as programs, plug-ins, browser extensions, etc., installed in memory of user device 405.

[0054] The user device 405 may include a display / user interface (UI) 405A, a processor 405B, memory 405C, and / or a network interface 405D. The user device 405 may execute an operating system (O / S) and at least one electronic application (each stored in memory 405C) on the processor 405B. The electronic application may be a desktop program, a browser program, a web client, a mobile application program (which may be a browser program on a mobile O / S), an applicant-specific program, system control software, system monitoring software, a software development tool, etc. For example, the environment 400 may extend information on a web client accessible via a web browser. In some embodiments, the electronic application may be associated with one or more of the other components in the environment 400. The application may manage the memory 405C, such as a database, and send streaming data to the network 401. The display / UI 405A may be a display with a touchscreen or other input system (e.g., a mouse, a keyboard, etc.) that allows a user to interact with the application and / or O / S. Network interface 405D may be, for example, an Ethernet™ or TCP / IP network interface for wireless communication with network 401. Processor 405B may generate data and / or receive user input from display / UI 405A and / or receive / send messages to / from server system 415 while executing applications, and may perform one or more operations before providing output to network 401.

[0055] The external system 410 may be, for example, one or more third party and / or auxiliary systems that integrate with and / or communicate with the server system 415 in performing various document information extraction tasks. The external system 410 may communicate with other devices or systems in the environment 400 via one or more networks 401. For example, the external system 410 may communicate with the server system 415 via API (application programming interface) access via one or more networks 401, and also with the user device 405 via web browser access via one or more networks 401.

[0056] In various embodiments, network 401 may be a wide area network ("WAN"), a local area network ("LAN"), a personal area network ("PAN"), or the like. In some embodiments, network 401 includes the Internet, and information and data provided between various systems occurs online. "Online" can mean connecting to or accessing source data or information from a location remote from other devices or networks connected to the Internet. Alternatively, "online" can refer to connecting to or accessing a network (wired or wireless) through a mobile communications network or device. The Internet is a global system of computer networks, a network of networks that allows parties on networked computers and other devices to obtain information from any other computer and communicate with parties on other computers or devices. The most widely used version of the Internet is the World Wide Web (often abbreviated "WWW" or simply referred to as the "Web"). A "website page" generally encompasses, for example, a location, data store, etc. containing data that is hosted and / or operated by a computer system so as to be accessible online and that is configured to cause a program, such as a web browser, to perform operations such as transmitting, receiving, processing data, generating visual displays and / or interactive interfaces, etc.

[0057] The server system 415 may include an electronic data system, e.g., computer-readable memory, such as a hard drive, flash drive, disk, etc. In some embodiments, the server system 415 includes and / or interacts with other systems, e.g., application programming interfaces for exchanging data with one or more of the other components of the environment.

[0058] The server system 415 may include a database 415A and at least one server 415B. The server system 415 may be a computer, a system of computers (e.g., a rack server), and / or a cloud service computer system. The server system may store or have access to a database 415A (e.g., hosted on a third-party server or in memory 415E). The server may include a display / UI 415C, a processor 415D, memory 415E, and / or a network interface 415F. The display / UI 415C may be a display with a touch screen or other input system (e.g., a mouse, keyboard, etc.) for an operator of the server 415B to control the functions of the server 415B. The server system 415 may execute an operating system (O / S) and at least one example of a servlet program (each stored in memory 415E) on the processor 415D.

[0059] The server system 415 may generate, store, train, or use machine learning models configured to predict classifications of canine ECG data. The server system 415 may include machine learning models and / or instructions related to the machine learning models, e.g., instructions for generating a machine learning model, training a machine learning model, using a machine learning model, etc. The server system 415 may include training data, e.g., canine ECG data, at least one signal classification, and / or canine metadata.

[0060] In some embodiments, a system or device other than the server system 415 is used to generate and / or train the machine learning model. For example, such a system may include instructions for generating the machine learning model, training data and ground truth, and / or instructions for training the machine learning model. The resulting trained machine learning model may then be provided to the server system 415.

[0061] Generally, a machine learning model includes a set of variables, e.g., nodes, neurons, filters, etc., that are adjusted, e.g., weighted or biased, to different values ​​upon application of training data. In supervised learning, for example, where ground truth is known for the provided training data, training may proceed by inputting samples of training data into a model in which the variables have initial values, e.g., random, Gaussian noise-based, pre-trained model, etc. The output may be compared to the ground truth to determine an error, which can be back-propagated through the model to adjust the values ​​of the variables.

[0062] Training may be performed in any suitable manner, such as, for example, batch processing, and may include any suitable training technique, such as, for example, stochastic or non-stochastic gradient descent, gradient boosting, random forests, etc. In some embodiments, a portion of the training data may be withheld during training and / or used to validate the trained machine learning model, e.g., by comparing the output of the trained model to ground truth for that portion of the training data to assess the accuracy of the trained model. Training the machine learning model may be configured to cause the machine learning model to learn associations between canine ECG data, signal classifications, and / or canine metadata, such that the trained machine learning model is configured to determine signal classifications in response to input canine ECG data based on the learned associations.

[0063] In various embodiments, the variables of the machine learning model may be interrelated in any suitable configuration to generate an output. For example, in some embodiments, the machine learning model may include a signal processing architecture configured to identify, isolate, and / or extract features, patterns, and / or structures within text. For example, the machine learning model may include one or more convolutional neural networks ("CNNs") configured to identify features within the document information data, and may include additional architectures, e.g., connection layers, neural networks, etc., configured to determine one or more classifications of the canine ECG data.

[0064] 4 as separate components, it should be understood that components, or portions thereof, in environment 400 may, in some embodiments, be integrated or incorporated with one or more other components. For example, a portion of display 415C may be integrated with user device 405, etc. In some embodiments, the operation or aspects of one or more of the previously described components may be distributed across one or more other components. Any suitable arrangement and / or integration of the various systems and devices of environment 400 may be used.

[0065] Further aspects relating to machine learning models and / or methods for predicting at least one classification of ECG data using the models are described in more detail in the preceding methods. In these methods, various actions may be described as being performed or carried out by components shown in FIG. 4 , such as server system 415, user device 405, or components thereof. However, it should be understood that in various embodiments, various components of environment 400 described above may execute instructions or perform actions, including those described above and below. Actions performed by a device may be considered to be performed by a processor, actuator, etc., associated with that device. Furthermore, it should be understood that in various embodiments, various steps may be added, omitted, and / or rearranged in any suitable manner.

[0066] In general, any process or operation described in this disclosure that is understood to be computer-executable, such as the processes illustrated in Figures 1-3, may be performed by one or more processors of a computer system, which may be any of the systems or devices within environment 400 of Figure 4, as described above. Processes or process steps performed by one or more processors may also be referred to as operations. One or more processors may be configured to perform such processes by having access to instructions (e.g., software or computer-readable code) that, when executed by the one or more processors, cause the one or more processors to perform a process. The instructions may be stored in the memory of the computer system. The processor may be a central processing unit (CPU), a graphics processing unit (GPU), or any suitable type of processing device.

[0067] A computer system, e.g., a system or device that performs the processes or operations in the above examples, may include one or more computer devices, such as one or more of the systems or devices of Figure 4. The one or more processors of the computer system may be included in a single computer device or distributed among multiple computer devices. The memory of the computer system may include respective memory of each computer device in the multiple computer devices.

[0068] Example Device FIG. 5 is a simplified functional block diagram of a computer 500 that may be configured as a device for executing the methods and processes of FIGS. 1-3, according to an exemplary embodiment of the present disclosure. For example, the device 500 may include a central processing unit (CPU) 520. The CPU 520 may be any type of processor device, including, for example, any type of dedicated or general-purpose microprocessor device. As will be appreciated by those skilled in the art, the CPU 520 may be a single processor within a multicore / multiprocessor system operating alone or within a cluster of computing devices operating in a cluster or server farm. The CPU 520 may be connected to a data communications infrastructure 510, for example, a bus, a message queue, a network, or a multicore message passing scheme.

[0069] The device 500 may include a main memory 540, e.g., random access memory (RAM), and may also include a secondary memory 530. The secondary memory 530, e.g., read-only memory (ROM), may be, for example, a hard disk drive or a removable storage drive. Such a removable storage drive may include, for example, a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, etc. The removable storage drive in this example reads from and / or writes to a removable storage unit in a well-known manner. The removable storage unit may include a floppy disk, magnetic tape, optical disk, etc. that is read from and written to by the removable storage drive. As will be appreciated by those skilled in the art, such removable storage units typically include computer-usable storage media on which computer software and / or data is stored.

[0070] In alternative implementations, secondary memory 530 may include other similar means that allow computer programs or other instructions to be loaded into device 500. Examples of such means include program cartridges and cartridge interfaces (such as those found in video game devices), removable memory chips (such as EPROMs or PROMs) and associated sockets, and other removable storage units and interfaces that allow software and data to be transferred from removable storage units to device 500.

[0071] Device 500 may also include a communications interface (“COM”) 560. Communications interface 560 allows software and data to be transferred between device 500 and external devices. Communications interface 560 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like. The software and data transferred through communications interface 560 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals receivable by communications interface 560. These signals may be provided to communications interface 560 over a communications path in device 500, which may be implemented using, for example, wire or cable, fiber optics, a telephone line, a cellular phone link, an RF link, or other communications channel.

[0072] The hardware elements, operating systems, and programming languages ​​of such facilities are conventional and are assumed to be well-known to those skilled in the art. Device 500 may also include input / output ports 550 for connecting input / output devices such as a keyboard, mouse, touchscreen, monitor, display, etc. Of course, various server functions may be implemented in a distributed manner across multiple similar platforms to distribute the processing load. Alternatively, the server may be implemented by appropriately programming a single computer hardware platform.

[0073] Program aspects of the present technology are typically considered "products" or "articles of manufacture" in the form of executable code and / or associated data carried or embodied on one type of machine-readable medium. "Storage" type media includes any or all of the tangible memory of a computer, processor, etc., or their associated modules (such as various semiconductor memories, tape drives, disk drives, etc.), which provide non-transitory storage for software programming from time to time. All or portions of the software may sometimes be transmitted over the Internet or various other communications networks. For example, such communications may enable software to be loaded from one computer or processor to another, e.g., from an administrative server or host computer in a mobile communications network to a server computing platform, and / or from a server to a mobile device. Thus, other types of media that may carry software elements include light waves, radio waves, and electromagnetic waves, such as those used over wired and optical landline networks, and over various air links, physical interfaces between local devices, etc. Physical elements that transmit such waves, such as wired or wireless links, optical links, etc., are also considered software-bearing media. As used herein, unless limited to non-transitory tangible "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.

[0074] References to particular activities in this disclosure are for convenience and are not intended to limit the disclosure. Those skilled in the art will recognize that the concepts underlying the disclosed devices and methods can be used for any suitable activity. This disclosure will be understood with reference to the following description and the accompanying drawings, in which like elements are designated with like reference numerals.

[0075] The terminology used above may be interpreted in its broadest reasonable scope, even when used in conjunction with the detailed description of specific embodiments in this disclosure. Indeed, certain terms may even be emphasized above. However, any terminology intended to be interpreted in any limiting manner is expressly and specifically so defined in this detailed description section. Both the general description and the detailed description are exemplary and explanatory only and do not limit the features recited in the claims.

[0076] In this disclosure, the term "based on" means "based at least in part on." Nouns include plural referents unless otherwise specified. The term "exemplary" is used in the sense of "example" rather than "ideal." The terms "comprises," "comprising," "includes," "including," or other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, or product that comprises a list of elements does not necessarily include only those elements, but may include other elements not expressly listed or inherent in such process, method, article, or apparatus. The term "or" is used disjunctively, such as "at least one of A or B" includes (A), (B), (A and A), (A and B), etc. Relative terms such as "substantially" and "generally" are used to indicate a possible variation of ±10% from the stated or understood value.

[0077] As used herein, terms such as "user" broadly include a pet caretaker(s). Terms such as "canine" or "pet" broadly include a user's pet, such as a dog, where the term includes a plurality of pets.

[0078] As used herein, a "machine learning model" generally encompasses instructions, data, and / or a model configured to receive input and apply one or more weights, biases, classifications, or analyses to the input to generate an output. Examples of outputs include classifications of the input, analyses based on the input, designs, processes, predictions, or recommendations related to the input, or other suitable types of output. Machine learning models / systems are generally trained using training data, e.g., empirical data and / or samples of input data, which are provided to the model to establish, adjust, or change one or more properties of the model, such as weights, biases, criteria for forming classifications or clusters, etc. Embodiments of machine learning models can operate on inputs linearly, in parallel, via a network (e.g., a neural network), or via any suitable configuration.

[0079] Implementing a machine learning model may include deploying one or more machine learning techniques, such as linear regression, logistic regression, random forests, gradient boosting machines (GBMs), decision trees, gradient boosting on decision trees, deep learning, and / or deep neural networks. Supervised and / or unsupervised learning may be employed. For example, supervised learning may include training data and classifications corresponding to the training data, e.g., serving as ground truth. Unsupervised approaches may include clustering, classification, etc. K-means clustering or K-nearest neighbors may also be used, which may be supervised or unsupervised. A combination of K-nearest neighbors and unsupervised clustering techniques may also be used. Any suitable type of learning may be used, e.g., stochastic, gradient boosting, random seed, recursive, epoch-based, batch-based, etc.

[0080] In the foregoing description of exemplary embodiments of the invention, it should be noted that various features of the invention may be grouped together in a single embodiment, drawing, or description thereof for the purpose of simplifying the disclosure and facilitating understanding of one or more of the various inventive aspects. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects may lie in less than all features of a single, previously disclosed embodiment. Thus, the claims following the detailed description are expressly incorporated into this detailed description, with each claim standing on its own as an independent embodiment of this invention.

[0081] Furthermore, although some embodiments described herein may include some features included in other embodiments but not others, combinations of features from different embodiments are intended to form different embodiments within the scope of the present invention, as will be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments may be used in any combination.

[0082] Thus, while particular embodiments have been described, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention. It is intended that all such changes and modifications be claimed within the scope of the invention. For example, functions may be added or deleted from the block diagrams, operations may be interchanged between functional blocks, and steps may be added or deleted to methods described within the scope of the invention.

[0083] The subject matter disclosed above is illustrative and not limiting, and the appended claims are intended to cover all modifications, improvements, and other implementations that fall within the true spirit and scope of the present disclosure. Therefore, to the maximum extent permitted by law, the scope of the present disclosure should be determined by the broadest permissible interpretation of the following claims and their equivalents, and should not be limited or restricted by the foregoing detailed description. While various implementations of the present disclosure have been described, it will be apparent to those skilled in the art that many more implementations are possible within the scope of the present disclosure. Accordingly, the present disclosure should be limited only in light of the appended claims and their equivalents. [Explanation of symbols]

[0084] 401 Network 405 User Device 405A, 415C Display / UI 405B, 415D processors 405C, 415E memory 405D, 415F Network Interface 410 External Systems 415 Server System 415A Database 415B Server 500 devices 510 Data Communications Infrastructure 520 Central Processing Unit, CPU 530 Secondary memory, ROM 540 main memory, RAM 550 input / output ports, I / O 560 Communication Interface, COM

Claims

1. 1. A computer-implemented method for classifying electrocardiogram signals of a canine, comprising: receiving, at one or more processors, electrocardiogram data for a canine animal, the electrocardiogram data including at least one electrocardiogram signal; dividing the electrocardiogram data into one or more data subsets by the one or more processors; pre-processing the one or more data subsets with the one or more processors, the pre-processing including filtering out the one or more data subsets that include poor electrocardiogram signals; augmenting the one or more data subsets with the one or more processors; determining, with the one or more processors, one or more signal classifications for the one or more data subsets using a trained machine learning model; aggregating the one or more signal classifications in the one or more processors to determine a resultant classification; and outputting the result classification by the one or more processors to an electronic storage device and / or display; A computer-implemented method comprising:

2. receiving, at the one or more processors, canine metadata associated with the electrocardiogram data; and analyzing, with the one or more processors, the one or more signal classifications and the canid's metadata using the trained machine learning model to determine whether the one or more signal classifications should be updated; The computer-implemented method of claim 1 further comprising:

3. 3. The computer-implemented method of claim 2, wherein the canine metadata includes at least one of breed, age, sex, and weight.

4. 10. The computer-implemented method of claim 1, wherein preprocessing the one or more data subsets includes at least one of baseline drift removal, signal normalization, frequency removal, heart rate calculation, or removal of irrelevant signals.

5. the step of enhancing comprises: applying at least one transformation to the one or more data subsets with the one or more processors; 2. The computer-implemented method of claim 1, comprising:

6. 10. The computer-implemented method of claim 1, wherein the receiving step comprises receiving at least one Digital Imaging and Communications in Medicine (DICOM) file containing the electrocardiogram data.

7. storing the electrocardiogram data in the electronic storage device by the one or more processors in response to receiving the electrocardiogram data; The computer-implemented method of claim 1 further comprising:

8. 10. The computer-implemented method of claim 1, wherein the one or more data subsets comprise an electrocardiogram signal length of 8 seconds.

9. The computer-implemented method of claim 1 , wherein the one or more signal classifications include at least one of a normal classification or an abnormal classification.

10. displaying, by the one or more processors, an alert indicating that at least one of the one or more data subsets includes the anomaly classification; 10. The computer-implemented method of claim 9, further comprising:

11. 1. A computer system for classifying electrocardiogram signals of a canine, comprising: at least one memory for storing instructions; and at least one processor configured to execute the instructions to perform the operations; Equipped with The operation is receiving electrocardiogram data for a canine, the electrocardiogram data including at least one electrocardiogram signal; dividing the electrocardiogram data into one or more data subsets; pre-processing the one or more data subsets, including filtering out the one or more data subsets that include poor electrocardiogram signals; augmenting said one or more data subsets; using a trained machine learning model to determine one or more signal classifications for the one or more data subsets; aggregating the one or more signal classifications to determine a result classification; and outputting said result classification to an electronic storage device and / or display; 2. A computer system comprising:

12. The operation is receiving canine metadata associated with the electrocardiogram data; and analyzing, with the at least one processor, the one or more signal classifications and the canid's metadata using the trained machine learning model to determine whether to update the one or more signal classifications; The computer system of claim 11 further comprising:

13. 13. The computer system of claim 12, wherein the canine metadata includes at least one of breed, age, sex, and weight.

14. 12. The computer system of claim 11, wherein preprocessing the one or more data subsets comprises at least one of baseline drift removal, signal normalization, frequency removal, heart rate calculation, or removal of irrelevant signals.

15. The enhancing step comprises: applying at least one transformation to said one or more data subsets; 12. The computer system of claim 11, comprising:

16. 12. The computer system of claim 11, wherein said receiving comprises receiving at least one Digital Imaging and Communications in Medicine (DICOM) file containing said electrocardiogram data.

17. 12. The computer system of claim 11, wherein the one or more data subsets comprise an electrocardiogram signal length of 8 seconds.

18. 1. A non-transitory computer-readable medium storing instructions that, when executed on a processor, cause the processor to perform an operation of classifying electrocardiogram signals of a canine, the instructions comprising: The operation is receiving electrocardiogram data for a canine, the electrocardiogram data including at least one electrocardiogram signal; dividing the electrocardiogram data into one or more data subsets; pre-processing the one or more data subsets, including filtering out the one or more data subsets that include poor electrocardiogram signals; augmenting said one or more data subsets; using a trained machine learning model to determine one or more signal classifications for the one or more data subsets; aggregating the one or more signal classifications to determine a result classification; and outputting said result classification to an electronic storage device and / or display; 1. A non-transitory computer-readable medium comprising:

19. 20. The non-transitory computer-readable medium of claim 18, wherein the one or more data subsets comprise an electrocardiogram signal length of 8 seconds.

20. 20. The non-transitory computer-readable medium of claim 18, wherein the one or more signal classifications include at least one of a normal classification, an abnormal classification, or a non-diagnostic classification.