Apparatus and method for determining patient survival profile using artificial intelligence-enabled electrocardiogram (ECG)

JP2025022871AInactive Publication Date: 2025-02-14ANUMANA INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024129173
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-03
Filing Date
2024-08-05
Publication Date
2025-02-14
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 2025022871000001_ABST
    Figure 2025022871000001_ABST
Patent Text Reader

Abstract

To provide an apparatus for determining a patient survival profile using artificial intelligence-enabled electrocardiogram (ECG).SOLUTION: An apparatus includes a processor and a memory. The memory contains instructions configuring the processor to receive a plurality of patient profiles, wherein each patient profile includes ECG data, define a plurality of cohort labels, wherein defining the plurality of cohort labels includes generating a condition score for each patient profile of the plurality of patient profiles and defining the plurality of cohort labels as a function of the condition score, assign the plurality of cohort labels to the plurality of patient profiles, generate condition training data by correlating the plurality of patient profiles with a plurality of condition identifiers, generate a condition evaluation model and a machine-learning algorithm using the condition training data, determine a patient survival profile for a user-inputted patient profile using the condition evaluation model, and display the patient survival profile at a display device.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to the field of artificial intelligence, and more particularly to an apparatus and method for determining a patient survival profile using an artificial intelligence-enabled electrocardiogram (ECG). [Background technology]

[0002] Chronic diseases represent a significant global health burden and are the leading cause of morbidity and mortality worldwide. These include conditions such as heart disease, cancer, diabetes, and lung disease. Risk estimation tools for these chronic conditions have been developed to aid in risk stratification and primary prevention. However, existing tools still face challenges in terms of their accuracy and predictive capabilities. Summary of the Invention [Means for solving the problem]

[0003] In one aspect, an apparatus for determining a patient survival profile using an artificial intelligence enabled electrocardiogram (ECG) is described, the apparatus includes at least one processor and a memory communicatively connected to the at least one processor, the memory including instructions that configure the at least one processor to: receive a plurality of patient profiles, each patient profile of the plurality of patient profiles including ECG data, define a plurality of cohort labels, where defining the plurality of cohort labels includes generating a condition score for each patient profile of the plurality of patient profiles and defining the plurality of cohort labels as a function of the condition scores, assign the plurality of cohort labels to the plurality of patient profiles, generate condition training data by correlating the plurality of patient profiles with a plurality of condition identifiers, generate a condition assessment model using the condition training data and at least one machine learning algorithm, determine a patient survival profile for a user-inputted patient profile using the condition assessment model, and display the patient survival profile on a display device.

[0004] In another aspect, a method for determining a patient survival profile using artificial intelligence enabled electrocardiogram (ECG) is described. The method includes receiving a plurality of patient profiles by a processor, each patient profile of the plurality of patient profiles including ECG data, defining a plurality of cohort labels by the processor, defining the plurality of cohort labels includes generating a condition score for each patient profile of the plurality of patient profiles and defining the plurality of cohort labels as a function of the condition scores, assigning the plurality of cohort labels by the processor to the plurality of patient profiles, generating condition training data by the processor by correlating the plurality of patient profiles with a plurality of condition identifiers, generating a condition assessment model by the processor using the condition training data and at least one machine learning model, determining a patient survival profile for a user-inputted patient profile using the condition assessment model, and displaying the patient survival profile on a display device.

[0005] These and other aspects and features of the non-limiting embodiments of the present invention will become apparent to those of ordinary skill in the art upon review of the following description of specific non-limiting embodiments of the present invention in conjunction with the accompanying drawings.

[0006] For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown in the drawings. The drawings are not necessarily to scale and may be illustrated by phantom lines, schematic representations and partial views. In some cases, details that are not necessary for understanding the embodiments or that make other details difficult to perceive may be omitted. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram of an exemplary embodiment of an apparatus for determining a patient survival profile using artificial intelligence enabled electrocardiogram (ECG). [Diagram 2] FIG. 1 is a block diagram of an example machine learning process. [Diagram 3] FIG. 1 is a diagram of an exemplary embodiment of a neural network. [Figure 4] FIG. 2 is a diagram of an exemplary embodiment of a node of a neural network. [Diagram 5] FIG. 1 is an example embodiment of a fuzzy set comparison. [Figure 6] FIG. 1 is a flow diagram of an exemplary method for determining a patient survival profile using artificial intelligence enabled electrocardiogram (ECG). [Figure 7] FIG. 1 is a block diagram of a computer system that may be used to implement any one or more of the methodologies disclosed herein or any one or more portions thereof. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] In overview, aspects of the present disclosure are directed to systems and methods for determining patient survival profiles using artificial intelligence-enabled electrocardiograms (ECGs). In one embodiment, the device uses deep electronic health record data (EHR) to create independent AI / machine learning (ML) models using multiple individual neural networks including subjects with no history of ASCVD, which may identify coronary artery calcium scores by computed tomography, obstructive CAD by stress testing, angiography or procedural intervention, and regional atony using echocardiograms as a reflection of possible prior myocardial infarction (MI). These were ensembled and used to evaluate the utility of AI / ML model MI risk stratification in a retrospective observational study of patients with PCE scores and no prior ASCVD. Exemplary embodiments illustrating aspects of the present disclosure are described below in the context of several specific examples.

[0009] Referring now to FIG. 1, an exemplary embodiment of a device 100 for determining a patient survival profile using an artificial intelligence-enabled electrocardiogram (ECG) is shown. The system includes a processor 104. The processor 104 may include any computing device described herein, including but not limited to a microcontroller, microprocessor, digital signal processor (DSP) and / or system on chip (SoC) described herein. The computing device may include, be included in and / or communicate with a mobile device, such as a mobile phone or smartphone. The processor 104 may include a single computing device operating independently, or may include two or more computing devices operating cooperatively, in parallel, sequentially, etc., and the two or more computing devices may be included together in a single computing device or may be included in two or more computing devices. The processor 104 may interface or communicate with one or more additional devices, such as those described in more detail below, via a network interface device. The network interface device may be utilized to connect the processor 104 to one or more of various networks and one or more devices. Examples of network interface devices include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of networks include, but are not limited to, a wide area network (e.g., the Internet, an enterprise network), a local area network (e.g., a network associated with an office, a building, a campus, or other relatively small geographic space), a telephone network, a data network associated with a telephone / voice provider (e.g., a mobile communications provider data and / or voice network), a direct connection between two computing devices, and any combination thereof. A network may employ wired and / or wireless communication modes. In general, any network topology may be used.Information (e.g., data, software, etc.) can be communicated to and / or from the computers and / or computing devices. The processor 104 may include, for example, but not limited to, a computing device or cluster of computing devices at a first location and a second computing device or cluster of computing devices at a second location. The processor 104 may include one or more computing devices specialized for data storage, security, distribution of traffic for load balancing, etc. The processor 104 may distribute one or more computing tasks across multiple computing devices of a computing device, which may operate in parallel, serially, redundantly, or in any other manner used for distribution of tasks or memory between the computing devices, as described below. The processor 104 may be implemented using a “shared nothing” architecture in which data is cached at the workers, which in one embodiment may enable scalability of the system 100 and / or the computing devices.

[0010] 1, the processor 104 may be designed and / or configured to perform any method, method step, or sequence of method steps in any embodiment described herein in any order and to any degree of iteration. For example, the processor 104 may be configured to repeatedly perform a single step or sequence until a desired or commanded result is achieved, the iterations of a step or sequence of steps may be performed iteratively and / or recursively using the output of a previous iteration as input to a subsequent iteration, aggregating the inputs and / or outputs of the iterations to generate an aggregate result, decreasing or decrementing one or more variables, such as a global variable, and / or dividing a larger processing task into a set of smaller processing tasks that are addressed iteratively. The processor 104 may perform any step or sequence of steps described herein in parallel, such as performing a step two or more times simultaneously and / or substantially simultaneously using two or more parallel threads or processor cores, and the division of tasks among parallel threads and / or processes may be performed according to any protocol suitable for dividing tasks among iterations. Those skilled in the art will recognize, upon review of this disclosure in its entirety, the various ways in which processes, sequences of processes, processing tasks and / or data may be subdivided, shared or otherwise processed using iterative, recursive and / or parallel processing.

[0011] Continuing with reference to FIG. 1, the device 100 includes a memory 108 communicatively connected to the processor 104. The memory 108 may include instructions that configure the processor 104 to perform the tasks disclosed in this disclosure. As used in this disclosure, "communicatively connected" means connected by a connection, attachment, or link between two or more entities that allows for the receipt and / or transmission of information between the two or more entities. For example, but not limited to, the connection may be wired or wireless, direct or indirect, allowing for the receipt and / or transmission of data and / or signals between two or more components, circuits, devices, systems, apparatuses, and the like. The data and / or signals therebetween may include, but are not limited to, among others, electrical, electromagnetic, magnetic, video, audio, radio and microwave data and / or signals, and combinations thereof, and the like. The communication connection may be achieved, for example, but not limited to, via wired or wireless electronic, digital, or analog communication, either directly or through one or more intervening devices or components. Additionally, a communicative connection may include electrically coupling or connecting at least one output of one device, component, or circuit to at least one input of another device, component, or circuit, such as, but not limited to, via a bus or other facility for intercommunication between elements of a computing device. A communicative connection may also include, but is not limited to, wireless connections, wireless communications, low power wide area networks, optical communications, and indirect connections via magnetic, capacitive, or optical coupling, etc. In some cases, the term "communicatively coupled" may be used instead of communicatively connected in this disclosure.

[0012] With continued reference to FIG. 1, the processor 104 may, for purposes of this disclosure, use a machine learning process to perform a determination, classification and / or analysis step, method, process, or the like. As used in this disclosure, a "machine learning process" is a process that automatically uses a set of data known as "training data" and / or a "training set" (discussed further below in this disclosure) to generate an algorithm that is executed by the processor 104 to generate an output given data provided as input, as opposed to a non-machine learning software program in which the commands to be executed are predetermined by a user and written in a programming language. The machine learning process may utilize a supervised learning process, an unsupervised learning process, a lazy learning process, and / or a neural network, as described further below.

[0013] 1, the processor 104 is configured to receive the plurality of patient profiles 112. As used in this disclosure, each "patient profile" of the plurality of patient profiles 112 is a comprehensive collection of information related to an individual patient. In some cases, each patient profile of the plurality of patient profiles 112 may include a variety of different types of data that, when combined, provide a detailed picture of the patient's overall health. In one embodiment, each patient profile may include, for example, but not limited to, demographic data of the patient, where each patient profile of the plurality of patient profiles 112 may include basic information about the patient, such as name, age, gender, ethnicity, and / or socio-economic status. In another embodiment, each patient profile may also include, for example, but not limited to, the patient's medical history, where each patient profile of the plurality of patient profiles 112 may include a detailed record of the patient's past health conditions, medical procedures, hospitalizations, and illnesses, such as surgeries, treatments, and / or medications. In another embodiment, each patient profile may include, for example, but not limited to, lifestyle information of the patient, and each patient profile of the plurality of patient profiles 112 may include details regarding the patient's diet, exercise habits, smoking and alcohol intake, and other behaviors that may affect health. In a further embodiment, each patient profile may include, for example, but not limited to, the patient's family history, and each patient profile of the plurality of patient profiles 112 may include records of genetic diseases. Those skilled in the art will recognize, upon review of this disclosure in its entirety, that various types of data may be received and processed within the patient profile device 100 consistent with this disclosure.

[0014] In one or more embodiments, and with further reference to FIG. 1, each patient profile of the plurality of patient profiles 112 described herein includes electrocardiogram (ECG) data 116. As used in this disclosure, "electrocardiogram (ECG) data" refers to data related to an electrocardiogram of a patient corresponding to a patient profile, where an "ECG" is a medical test that records the electrical activity of a patient's heart over a period of time. In one embodiment, the ECG data 116 may include one or more recordings captured by multiple electrodes placed on the patient's skin. In some cases, the ECG data 116 may include information regarding P-waves, which represent electrical impulses that travel from the sinoatrial (SA) node through the atria and cause the atria to contract (atrial depolarization). For example, but not limited to, the ECG data 116 of a healthy person may include data describing normal P-waves (i.e., P-waves that are positive [above baseline]) as well as their duration (e.g., typically 0.11 seconds or less). In some cases, the ECG data 116 may also include, but is not limited to, T waves (i.e., ventricular repolarization), QRS complexes (i.e., rapid depolarization of the left and right ventricles), PR intervals (i.e., the time from the start of the P wave to the start of the QRS complex, representing the time it takes for an electrical signal to travel from the sinus node through the AV node into the ventricles), and / or ST segments (i.e., the time from the end of the QRS complex to the beginning of the T wave, representing the period during which the ventricles are depolarized), etc. In some cases, the ECG data 116 may be acquired at a sampling rate of 250 Hz or 400 Hz using a GE-Marquette ECG machine (Marquette, Wisconsin, USA) with the raw data stored using the MUSE data management system. Both 250 Hz and 400 Hz are unified to the 400 Hz format.

[0015] In a non-limiting example, and still referring to FIG. 1, one or more of the patient profiles 112 may include ECG data 116 describing a normal ECG, which may show a normal heart rate (60-100 bpm), a regular rhythm, normal P waves preceding each QRS complex, a PR interval of 0.12-0.20 seconds, a QRS duration of less than 0.12 seconds, and proper and consistent ST segments and T waves. In another non-limiting example, one or more of the patient profiles 112 may include ECG data 116 describing atrial fibrillation (AF), which is characterized by an irregularly irregular rhythm, a lack of P waves, and variable ventricular response. In this case, the ECG data 116 may show a chaotic and irregular rhythm with no discernible P waves. In a further non-limiting example, one or more patient profiles of the plurality of patient profiles 112 may include ECG data 116 describing a myocardial infarction (MI). Such ECG data 116 of a patient experiencing an MI may show ST elevation (STEMI) or deep Q waves in certain leads depending on the area of ​​the myocardium experiencing oxygen deprivation.

[0016] Continuing with reference to FIG. 1 , in some cases, the ECG data 116 may include ECG interpretation text. For purposes of this disclosure, "ECG interpretation text" refers to a summary or analysis of findings from an ECG as described herein. In some cases, the ECG interpretation text may be in various formats, for example, but not limited to, the ECG interpretation text may be in text format (i.e., a physical written report) as well as other formats such as images, audio, video, or any electronic file. In some cases, the ECG interpretation text may be provided by a trained medical professional, for example, but not limited to, a cardiologist or other medical provider familiar with reading and interpreting ECGs may provide the ECG interpretation text as described herein. In one embodiment, the ECG interpretation text may convert the graphical data from the ECG into a clinically meaningful narrative that may be used to make a diagnosis, guide treatment decisions, and track the progression of cardiovascular disease. In some cases, the ECG interpretation text may include any of the ECG data 116 described herein, such as, but not limited to, rate and rhythm, axis (i.e., describes the general direction of the heart's electrical activity and can provide insight into various medical conditions), intervals (e.g., PR interval, QRS duration, and QT interval), ST segment and P / T waves, as well as any abnormalities detected. Additionally or alternatively, the ECG interpretation text may describe any significant findings regarding the ECG data 116, such as, but not limited to, signs of ischemia (lack of oxygen supply to the heart), injury, infarction (heart attack), hypertrophy (dilated cardiomyopathy), or any other specific ECG change. In a non-limiting example, the ECG interpretation text incorporated by the ECG data 116 of a given patient profile may include a text string such as "Sinus rhythm at a rate of 72 bpm. Normal axis. No signs of hypertrophy or chamber enlargement. No significant ST segment or T wave changes. No Q waves suggestive of infarction. ECG is normal."

[0017] With further reference to FIG. 1 , in some cases, the ECG interpretation text may include an ECG report, which may include (a summary of) any particular diagnosis or clinical concern based on the corresponding ECG data 116 described herein. In some cases, the ECG interpretation text may also include other data from one or more patient profiles, for example, but not limited to, the ECG interpretation text may include the patient information described above, such as the patient's name, age, recent activity, family history, and / or diet. In a non-limiting example, a first patient may have a patient profile that includes ECG data with ECG interpretation text such as "First patient: 30 year old female, smoker, no family history of heart disease. ECG data is normal but blood pressure is slightly elevated. Her medical history is unremarkable," while a second patient may have another patient profile that includes ECG data with another ECG interpretation text such as "Second patient: 45 year old male, non-smoker, has family history of heart disease. His ECG data shows arrhythmia and he has high cholesterol levels. His medical history reveals a history of a heart attack 5 years ago."

[0018] Continuing with reference to FIG. 1, the processor 104 may be configured to receive a plurality of patient profiles from the data store 120. The data store 120 may be configured to store any of the data described herein. The processor 104 may be communicatively connected to the data store 120. In some cases, the data store 120 may be local to the processor 104. Alternatively, the data store 120 may be remote to the processor 104 and may be in communication with the processor 104 by one or more networks (e.g., a cloud network or a mesh network, etc.). In a non-limiting example, the device 100 may include a "cloud-based" system (i.e., a system that includes software and / or data that is stored, managed, and / or processed not on a local server or personal computer, but on a network of remote servers hosted in a "cloud," e.g., via the Internet). A "mesh network," as used in this disclosure, is a local network topology in which the infrastructure processor 104 connects directly, dynamically, and non-hierarchically to as many other computing devices as possible. A "network topology," as used in this disclosure, is an arrangement of elements of a communication network.

[0019] With further reference to FIG. 1 , in some cases, the data store 120 may be implemented as a key-value lookup database, such as, but not limited to, a relational database, a NOSQL database, or any other format or structure for use as a database that one of ordinary skill in the art would recognize as suitable upon review of this disclosure in its entirety. The data store 120 may alternatively or additionally be implemented using a distributed data storage protocol and / or data structure, such as a distributed hash table. The data store 120 may include multiple data entries and / or records, as described above. The data entries in the database may be flagged or linked to one or more additional information elements, which may be reflected in data entry cells and / or link tables, such as tables related by one or more indexes in a relational database. One of ordinary skill in the art will recognize, upon review of this disclosure in its entirety, various ways in which data entries in a data store or database may store, search, organize, and / or reflect categories and / or populations of data and / or records as used herein and consistent with this disclosure.

[0020] In a non-limiting example, and with further reference to FIG. 1 , the plurality of patient profiles 112 may be obtained from a de-identified, privacy-preserving database of digital electronic health records (EHRs) from 6,938,968 patients found at over 70 Mayo Clinic hospitals and clinics across Arizona, Florida, Iowa, Minnesota, and Wisconsin, including three major health systems, and utilized in model development and analysis. In some cases, the plurality of patient profiles 112, including ECG data 116, may be obtained using a Federated Clinical Analytics Platform (FCAP) Application Programming Interface (API). In one embodiment, the API may convert raw electronic medical record (EMR) data from one or more health systems into an anonymized and semi-structured database, such as any of the databases described herein. In a non-limiting example, receiving the plurality of patient profiles 112 may include selecting ECG data 116 including at least one recorded digital 10-second, 12-lead ECG from an anonymized and semi-structured database along with the EMR / EHR for all patients aged 18 years or older.

[0021] Continuing with reference to FIG. 1 , the processor 104 is configured to define a plurality of cohort labels 124. As used in this disclosure, a plurality of “cohort labels” is a classification or grouping of a plurality of patient profiles 112 based on shared characteristics. The plurality of cohort labels 124 may be used by the processor 104 to identify one or more patterns within and between groups of similar patients. In some cases, the shared characteristics may be a wide range of factors, including but not limited to demographic data, medical history, genetic data, lifestyle factors, ECG data, and any other data described herein. In a non-limiting example, the plurality of cohort labels 124 may be used by the processor 104 to categorize the plurality of patient profiles 112 and / or patients corresponding to the plurality of patient profiles 112 into one or more distinct groups for comparative analysis (e.g., predicting disease progression, treatment outcomes, survival rates, and / or identifying risk factors, etc.), as described in more detail below. In some cases, the plurality of cohort labels 124 may include one or more demographic-based labels, which may be based on demographic characteristics such as age, gender, ethnicity, and / or any demographic data described herein, for example, but not limited to, the plurality of cohort labels 124 may include “elderly,” “female,” and “Hispanic,” etc. In some cases, the plurality of cohort labels 124 may include multiple disease-based labels, which may categorize patients corresponding to the plurality of patient profiles and / or more patient profiles 112 based on the presence or absence or risk of a particular disease. Exemplary disease-based labels may include, but are not limited to, “diabetes,” “cancer risk,” and / or “heart disease,” etc.

[0022] With continued reference to FIG. 1 , in one embodiment, the plurality of cohort labels 124 may include at least one first cohort label 128 and at least one second cohort label 132 associated with the at least one first cohort label 128. As used in this disclosure, at least one "first cohort label" and at least one "second cohort label" represent two different groups of patients / patient profiles. In some cases, the at least one first cohort label 128 may include a disease cohort, for example, but not limited to, the at least one first cohort label 128 may be assigned to a group of patients having a particular disease or condition. In some cases, the at least one second cohort label 132 may include a control cohort, for example, but not limited to, the at least one second cohort label 132 may be assigned to a group of patients not having a particular disease or condition that characterizes a disease cohort described herein. In one embodiment, the patient profiles having at least one second cohort label 132 may serve as a control or comparison group for the patient profiles having at least one first cohort label 128. For example, without limitation, if the disease cohort consists of patients with cardiac disease, the control cohort may include patients of similar age, sex, and other demographic characteristics but without cardiac disease.

[0023] With further reference to FIG. 1 , defining the plurality of cohort labels 124 includes generating a condition score 136 for each patient profile of the plurality of patient profiles 112. A “condition score” for purposes of this disclosure is a quantified measure that represents an overall health condition or severity of a particular disease. In some cases, the patient profiles may be manually scored by a medical professional as described herein. In other cases, the condition score 136 may be generated by the processor 104 via one or more scoring algorithms or models, such as, but not limited to, machine learning models described below, that take into account various data from each patient profile of the plurality of patient profiles 112, including ECG data 116, demographic information, EMR / EHR, lifestyle factors, and other relevant health metrics as described herein. In one embodiment, the condition score 136 may then categorize or stratify the plurality of patient profiles 112 into different cohorts or groups. In a non-limiting example, a higher score may indicate a worse prognosis, a higher disease severity, or a higher risk of complications, or vice versa, depending on the health condition in question. In some cases, the condition score 136 may include a risk score, which may assess the risk of developing a particular condition or disease. For example, but not limited to, a cardiovascular risk score may consider factors such as age, sex, cholesterol level, blood pressure, and smoking status. In some cases, the condition score 136 may include a severity score, which may measure the severity or stage of an existing disease or condition. For example, but not limited to, in the context of heart disease, generating a severity score may take into account factors such as the degree of coronary artery blockage, the number of heart attacks the patient has experienced, and their corresponding ECG data. In other cases, the condition score 136 may include a prognosis score, which may predict the course or outcome of the disease, such as, but not limited to, the chance of survival or recovery. In a non-limiting example, a prognosis score may be generated by the processor 104 by considering data describing the tumor size, the number of involved lymph nodes, the presence of metastases, and / or the particular type and grade of cancer, etc.

[0024] 1 , defining the plurality of cohort labels 124 includes defining the plurality of cohort labels 124 as a function of the condition score 136. In a non-limiting example, at least one first cohort label 128 may describe coronary artery calcification (CAC). Such a cohort label may be defined by the processor 104 based on a CAC score, which is a measurement used to assess the presence and extent of calcification in the coronary arteries that supply blood to the heart. In some cases, generating the condition score 136 may include extracting the condition score 136 from the plurality of patient profiles 112 using a plurality of regular expressions. In a non-limiting example, one or more regular expressions may be created to match certain information in each patient profile of the plurality of patient profiles 112 that is needed by the processor 104 to calculate, generate, or otherwise determine the condition score 136. For example, without limitation, one or more regular expressions may be used to match phrases such as "Diabetes Diagnosis", "Smoking Status: Current Smoker", "Blood Pressure: 140 / 90", "BMI: 30", and / or "Age: 45". The processor 104 may search each patient profile of the plurality of patient profiles and extract matching data. Once relevant data is extracted from each patient profile, the processor 104 may calculate, generate and / or determine a condition score 136 for the extracted relevant data.

[0025] In a non-limiting example, and still referring to Figure 1, a CAC score may be extracted directly or indirectly from each patient profile of the plurality of patient profiles 112 using the regular expressions described herein from the EHR / EMR of approximately 33,000 patients who underwent ECG-gated cardiac CT scans for CAC detection and scoring. In this case, at least one first cohort label, e.g., a disease cohort, may be defined as (adult) patients with a CAC score greater than 200. At least one second cohort label, e.g., a control cohort, may be defined as (adult) patients without coronary artery calcification (i.e., having a CAC score equal to 0) or synonyms thereof (zero, none, negative, etc.).

[0026] Additionally or alternatively, and still referring to Figure 1, the multiple cohort labels 124 may also be defined by the processor 104 as a function of a set of predefined rules / criteria. In some cases, the rules or criteria may be established by the processor 104 based on various factors, such as demographic characteristics, disease conditions, lifestyle habits, genetic factors, or condition scores as described herein. In a non-limiting example, in some cases, at least one first cohort label 128 may describe obstructive coronary artery disease CAD, and such disease cohorts may be defined as (adult) patients who met at least one of the following criteria: 1) underwent coronary angiography and found to have severe stenosis, had an ECG recorded within 30 days after angiography, and no invasive cardiac surgery or MI intervention, where severe stenosis may be defined as a. 50% or more occlusion of the left main coronary artery, and b. 70% or more occlusion, including complete occlusion, of other coronary arteries; 2) underwent coronary artery bypass graft surgery (CABG) or percutaneous coronary intervention (PCI) without evidence of acute MI or previous MI recorded in either structured data (diagnosis codes) or unstructured data (all clinical documents analyzed using AI-enabled natural language processing 14). 1) have undergone a CABG / PCI intervention (PCI) and have an ECG recorded within 90 days prior to the CABG / PCI, 2) have undergone a stress echocardiogram or nuclear stress test and found to be positive for stress-induced myocardial ischemia and have an ECG recorded within 30 days after the test, and have no invasive procedure or MI intervention. In this case, at least one second cohort label, e.g., a control cohort, may be defined by using the processor 104 to identify (adult) patients who have no history of CAD in either the structured or unstructured data, but within two years after the ECG, sufficient clinical history exists to calculate 10-year ASCVD risk using the PCE from the multiple patient profiles 112.In some cases, a patient profile having at least one second cohort label 132 may be 1:10 propensity matched with a patient profile having at least one first cohort label 128 based on data such as, but not limited to, age, gender, and year of ECG acquisition.

[0027] In another non-limiting example, and still referring to FIG. 1 , at least one first cohort label 128 may include regional left ventricular akinetic (as a possible history of MI), which may be defined by the processor 104 as any (adult) patient with one or more left ventricular akinetic segments found during transthoracic echocardiographic evaluation of regional wall motion abnormalities and an ECG recorded within 180 days after the echocardiogram. At least one second cohort label 132 may then be defined as any (adult) patient with zero akinetic, hypokinetic, dyskinetic or aneurysmal segments, a previously recorded ECG within 180 days of the echocardiogram, and no history of MI prior to the ECG or echocardiogram, whichever is later. Additionally or alternatively, one or more patient profiles in the plurality of patient profiles 112 may be excluded by the processor 104 if they include data indicative of left bundle branch block recorded in the ECG report or diagnostic codes within 30 days or less after the echocardiogram.

[0028] With further reference to FIG. 1 , in other embodiments, the condition score 136 for each patient profile of the plurality of patient profiles 112 may be generated as a function of a machine learning process. In a non-limiting example, the processor 104 may generate a trained condition score machine learning model using condition score training data, which may include a plurality of patient profiles as inputs that correlate to a plurality of condition scores as outputs. In one embodiment, the condition score training data may be received by the processor 104 from the data store 120. In another embodiment, the condition score training data may include past patient profiles, such as previous ECGs, physical exam results, and / or medical records. The processor 104 may train a condition score machine learning model using the condition score training data and generate a condition score 136 for each patient profile of the plurality of patient profiles 112 using the trained condition score machine learning model. In some cases, the condition score 136 for each patient profile of the plurality of patient profiles 112 may be generated by the processor 104 using regression analysis. The regression analysis may include any regression analysis technique, including those disclosed in this disclosure.

[0029] 1, the cohort labels 124 may be further characterized based on a number of clinical characteristics, such as, but not limited to, low-density lipoprotein cholesterol (LDL-C) and / or lipoprotein(a). Additionally or alternatively, a status score 136 may be calculated by the processor 104 based on the number of clinical characteristics. In a non-limiting example, the status score 136 may include a 10-year atherosclerotic cardiovascular disease (ASCVD) risk score, where the 10-year ASCVD may be calculated using a pooled cohort equation (PCE) at the time of the ECG. In some cases, quantitative variables such as high-density lipoprotein levels, total cholesterol levels, and systolic blood pressure, as well as data points closest to the ECG within two years prior to one year after the ECG, may be used by the processor 104 to calculate the 10-year ASCVD score. In some cases, both structured and unstructured data may be utilized during the calculation of the 10-year ASCVD score for diagnostic data and smoking status. In some cases, race / ethnicity information may be obtained directly from the EHR / EMR as described above. In some cases, age at time of ECG acquisition may also be used for such purposes. In other cases, treatment for hypertension may be identified by requiring the presence of a diagnosis of hypertension and a prescription for antihypertensive medication on record. Additionally, other exemplary embodiments of the multiple cohort labels 124 may include, but are not limited to, lifestyle-based labels (e.g., "smoker," "active," and / or "vegan"), genetic-based labels (e.g., "BRCA1 mutation" and / or "ApoE4 carrier," etc.), among others.

[0030] Continuing to refer to FIG. 1 , in some cases, defining the plurality of cohort labels 124 may further include identifying a plurality of sub-cohort labels 140 from the plurality of patient profiles 112 based on a set of sub-cohort criteria 144. As used in this disclosure, a "sub-cohort label" is essentially a further division within a main cohort group that allows for more specific categorization of patients and / or patient profiles. In one embodiment, the plurality of sub-cohort labels 140 may include secondary cohort labels that divide one or more cohort labels within the plurality of cohort labels 124 into smaller, more specific groups based on the sub-cohort criteria 144. A "sub-cohort criterion" for purposes of this disclosure is a specific factor or condition used to define a sub-cohort label. In some cases, the sub-cohort criteria 144 may be selected based on a variety of factors, similar to the predetermined rules or criteria described herein used to define the multiple cohort labels 124, but the sub-cohort criteria 144 may be used to make more specific distinctions within a given cohort label, such as at least one first cohort label 128 or at least one second cohort label 132.

[0031] 1, in a non-limiting example, the processor 104 can be configured to identify multiple sub-cohort labels 140 from a given cohort label and / or sub-cohort label, such as a group of patients who have evidence of primary care at Mayo Clinic, reside in a state where Mayo Primary Care is located, and have evidence of primary care in the EHR / EMR within two years after or during the observation period, including any one of the following within two years after or during the observation period: 1) a primary care, family medicine, or general medicine appointment, 2) a clinical note or ICD code indicating a physical exam or annual diagnosis, and 3) evidence of a primary care intervention including a vaccine or standard of care screening test according to the Centers for Disease Control and Prevention Adult Immunization Schedule. The processor 104 can be configured to identify a first sub-cohort label based on a given cohort label having a set of first sub-cohort criteria of age 40-79 with sufficient clinical data available within two years prior to cohort entry and within three months after cohort entry to calculate an ASCVD risk score using the PCE described herein. One or more patient profiles may be excluded if they had ASCVD, including MI, peripheral artery disease, stroke, PCI, CABG, or carotid artery procedures, prior to cohort entry. Additionally or alternatively, the processor 104 may also be configured to identify a second sub-cohort label based on a label for a given cohort having the same data availability requirements as the first sub-cohort label and a second set of sub-cohort criteria, being 18-39 years old with no ASCVD prior to cohort entry. Further, the sub-cohort labels 140 may be identified from one or more cohort labels within the cohort labels 124, for example, but not limited to, the sub-cohort labels 140 may be identified from patient profiles having at least one digital ECG waveform available as ECG data from the data store 120, excluding other patient profiles used in other processing steps described below, such as one or more training or validation data sets for machine learning model generation.

[0032] Continuing with reference to FIG. 1, in other embodiments, the multiple cohort labels 124, including at least one first cohort label 128 and at least one second cohort label 132, the condition scores 136, and / or the sub-cohort labels 140, may be obtained by the processor 104 through interpretation of the ECG interpretation text as described above using a language processing module. The language processing module may include any hardware and / or software module. The language processing module may be configured to extract one or more words from one or more documents. The one or more words may include one or more strings of characters, including but not limited to any sequence or sequences of letters, numbers, punctuation marks, diacritics, engineering symbols, geometric dimensioning and tolerancing (GD&T) symbols, chemical symbols and formulas, spaces, whitespace, and other symbols, including any symbols usable as textual data as described above. The textual data may be parsed into tokens, which may include simple words (sequences of characters separated by whitespace) or more generally sequences of characters as described above. The term "token" as used herein refers to any smaller individual grouping of text from a larger text source, where tokens may be divided by words, word pairs, sentences, or other delimitations. These tokens may then be parsed in a variety of ways. The text data may be parsed into words or sequences of words, which may also be considered as words. The text data may be parsed into "n-grams," where all sequences of n consecutive characters are considered. Any or all possible sequences of tokens or words may be stored as a "chain," for example, for use as a Markov chain or hidden Markov model.

[0033] With further reference to FIG. 1 , the language processing module may operate to generate a language processing model. The language processing model may include a program automatically generated by the computer device and / or the language processing module to generate associations between one or more words extracted from at least one document and detect associations, including but not limited to mathematical associations, between such words. For purposes herein, associations between linguistic elements, where the linguistic elements include extracted words, such categories and other such terms may include mathematical associations, including but not limited to statistical correlations between any linguistic element and any other and / or more linguistic elements. The statistical correlations and / or mathematical associations may include, for example, probability formulas or relationships indicating the likelihood that a given extracted word exhibits a given category of semantic meaning. As a further example, the statistical correlations and / or mathematical associations may include probability formulas or relationships indicating positive and / or negative associations between at least one extracted word and / or a given semantic meaning, and a positive or negative indication may include an indication that a given document exhibits or does not exhibit the semantic meaning of the category. Whether a phrase, sentence, word or other text element within a document or corpus of documents constitutes a positive or negative indicator may be determined, in one embodiment, by a mathematical association between the detected words or by comparison with phrases and / or words indicating positive and / or negative indicators stored in the memory of a computing device, or the like.

[0034] With further reference to FIG. 1 , the language processing module and / or diagnostic engine may generate the language processing model by any suitable method, including but not limited to a natural language processing classification algorithm, which may include a natural language process classification model that enumerates and / or derives statistical relationships between input terms and output terms. The algorithm for generating the language processing model may include a stochastic gradient descent algorithm, which may include a method for iteratively optimizing an objective function, such as an objective function that represents statistical estimates of relationships between terms, including relationships between input terms and output terms, in the form of a sum of estimated relationships. In an alternative or additional approach, consecutive tokens may be modeled as chains that serve as observations in a Hidden Markov Model (HMM). As used herein, an HMM is a statistical model with inference algorithms that may be applied to the model. In such a model, the inferred hidden states may include associations between extracted words, phrases, and / or other semantic units. There may be a finite number of categories to which an extracted word may relate, and HMM inference algorithms such as forward-backward and Viterbi algorithms may be used to estimate the most likely discrete state given a word or sequence of words. The language processing module may combine two or more techniques. For example, but not limited to, a machine learning program may use a combination of Naive-Bayes (NB), Stochastic Gradient Descent (SGD), and parameter grid search classification techniques, the results of which may include a classification algorithm that returns ranked associations.

[0035] Continuing with reference to FIG. 1 , generating the language processing model may include generating a vector space, which may be a collection of vectors defined as a collection of mathematical objects that can be added together in an additive operation according to properties such as associativity, commutativity, the existence of an identity element and the existence of an inverse of each vector, can be multiplied by a scalar value under an operation of scalar multiplication compatible with field multiplication, and have an identity element, are distributive with respect to vector addition, and are distributive with respect to field addition. Each vector in the n-dimensional vector space may be represented by an n-tuple of numerical values. Each unique extracted word and / or linguistic element described above may be represented by a vector in the vector space. In one embodiment, each unique extracted and / or other linguistic element may be represented by a dimension of the vector space, and as a non-limiting example, each element of the vector may include a number representing an enumeration of co-occurrence of the word and / or linguistic element represented by the vector with another word and / or linguistic element. The vectors may be normalized and scaled according to the relative frequency of occurrence and / or file size. In one embodiment, associating linguistic elements with each other as described above may include calculating vector similarity between a vector representing each linguistic element and a vector representing another linguistic element, where vector similarity may be measured according to any criterion for proximity and / or similarity of two vectors, including but not limited to cosine similarity, which measures the similarity of two vectors by evaluating the cosine of the angle between the vectors, which may be calculated using the dot product of the two vectors divided by the lengths of the two vectors. Similarity may include any other geometric measure of distance between vectors.

[0036] 1, the language processing module can use a corpus of documents to generate associations between linguistic elements therein, and the diagnostic engine can then use such associations to analyze words extracted from one or more documents to determine that one or more documents exhibit the significance of a category. In one embodiment, the language module and / or processor 104 can perform this analysis using a selected set of significant documents, such as documents identified by one or more experts as representing good information, and the experts may identify or register such documents via a graphical user interface or communicate the identification of the significant documents according to any other suitable method of electronic communication or by providing such identification to another person who may input such identification into the processor 104. The documents may be registered on the computer device by being uploaded by the expert or other person using, without limitation, File Transfer Protocol (FTP) or other suitable methods for transmitting and / or uploading documents; alternatively or additionally, if the documents are identified by a citation, Uniform Resource Identifier (URI), Uniform Resource Locator (URL), or other data allowing for unambiguous identification of the document, the diagnostic engine may automatically retrieve the documents using such identifiers, for example by submitting a request to a database such as JSTOR provided by Ithaca Harbors, Incorporated of New York or to an abstract of the document.

[0037] 1 , the processor 104 is configured to assign the multiple cohort labels 124 to the multiple patient profiles 112. In some cases, the multiple cohort labels 124 are assigned to the multiple patient profiles 112 using a label assignment algorithm, which may be configured to map each of the multiple cohort labels 124 to the multiple patient profiles 112 based on extracted data, such as, but not limited to, ECG interpretation text and condition scores 136 described herein. In some cases, an implementation of the label assignment algorithm may consider rules or criteria for each cohort label and / or each sub-cohort label and assign them to the multiple patient profiles 112 accordingly. In a non-limiting example, if a given cohort label is defined as "patients over 65 years old with high cardiovascular risk scores," the label assignment algorithm may iterate through the multiple patient profiles 112 to verify the age and cardiovascular risk score of each patient and assign the given cohort label to those who meet the criteria. The processor 104 may then apply established rules or criteria to the data within each patient profile of the plurality of patient profiles 112. In a non-limiting example, one or more rule-based systems, decision trees, or more complex machine learning algorithms, among others, may be used by the processor 104 to define the plurality of cohort labels 124 and / or sub-cohort labels. Assigning the plurality of cohort labels 124 and / or sub-cohort labels may include assigning at least one first cohort label 128, such as, but not limited to, cohort labels describing CAC, obstructive CAD, and regional left ventricular asystole, to a first set of patient profiles, the first set of patient profiles including a plurality of disease cohorts, and the second set of patient profiles including a plurality of control cohorts corresponding to the plurality of disease cohorts.

[0038] With continued reference to FIG. 1 , the processor 104 may be configured to validate the assignment of the multiple cohort labels 124. As used in this disclosure, “validation” is a process of ensuring that what is being “validated” conforms to the expectations and / or desires of a stakeholder. Stakeholders may include users, administrators, asset owners, customers, and the like. Very often, a specification prescribes certain testable conditions (e.g., metrics) that codify the expectations and / or desires of the relevant stakeholder. In some cases, validation includes comparing a product, such as, but not limited to, the assignment of the multiple cohort labels, to the specification. In some cases, the processor 104 may be further configured to validate the product by validating sub-products that make up the product. In some embodiments, the processor 104 may be configured to validate any product or data, such as, but not limited to, the assignment of the multiple cohort labels. In some cases, at least one machine learning process, such as a machine learning model, may be used to validate by the processor 104. The computing device 104 may use any machine learning process described in this disclosure for this function or any other function. Additionally or alternatively, the multiple cohort labels 124 and their assignments can be iteratively refined as the processor 104 continues to receive new patient profiles; for example, but not limited to, the processor 104 can be configured to adjust the rules and / or criteria used to define the multiple cohort labels 124 and / or sub-cohort labels 140 to incorporate new information and improve the accuracy of the machine learning model generated by the processor 104 based on the assignments as described in more detail below.

[0039] With continued reference to FIG. 1 , the processor 104 is configured to generate condition training data 148 by correlating a plurality of patient profiles 112 with a plurality of condition identifiers 152. The condition training data 148 may include any training data described herein. In one or more embodiments, one or more machine learning models described herein may be generated using the training data. The training data may include inputs and corresponding predefined outputs such that the machine learning model may develop algorithms and / or relationships using correlations between the exemplary inputs and outputs provided, thereby allowing the machine learning model to determine a unique output for the inputs. The training data may include correlations that the machine learning process may use to model relationships between two or more categories of data elements. The exemplary inputs and outputs may come from a data store 120, such as any database described in this disclosure, or may be provided by a user. In other embodiments, the machine learning module may obtain a training set by querying a communicatively connected database that includes past inputs and outputs. The training data may include inputs from various types of databases, resources, and / or user inputs and outputs correlated to each of those inputs such that the machine learning model may determine an output. Correlation may indicate causal and / or predictive links between data that may be modeled as relationships, such as mathematical relationships, by a machine learning model, as described in more detail below. In one or more embodiments, the training data may be formatted and / or organized by categories of data elements, for example, by associating the data elements with one or more descriptors that correspond to the categories of the data elements. As a non-limiting example, the training data may include data registered in a standardized format by a person or process, such that an entry of a given data element in a given field in a form may be mapped to one or more descriptors of the category. Elements in the training data may be linked to the descriptors of the category by tags, tokens, or other data elements. In a non-limiting example, training data, such as state training data 148, may be a dataset that has been transformed from raw data, either manually, machine, or in any other manner described herein.The training data may include previous outputs such that one or more machine learning models iteratively generate outputs. Additionally, generating condition training data 148 may include matching a second set of patient profiles (i.e., a control cohort) with the first set of patient profiles (i.e., a disease cohort) in a predetermined ratio, for example, but not limited to, the patient profiles of the control cohort may be matched 1:10 with the disease cohort in terms of age, sex, and / or year of ECG acquisition, etc.

[0040] With continued reference to FIG. 1 , as used in this disclosure, the plurality of “condition identifiers” refers to specific markers or indicators that aid the device 100 in recognizing or diagnosing a particular medical or health condition. In some cases, the plurality of condition identifiers 152 can be based on a range of different data types or sources and can help categorize or classify health conditions associated with each patient profile. In another non-limiting example, the plurality of condition identifiers 152 can include diagnostic codes, which are standardized codes used in healthcare to represent a particular diagnosis. International Classification of Diseases (ICD) codes administered by the World Health Organization can serve as the plurality of condition identifiers 152. For example, but not limited to, a condition identifier can include an ICD-10 code, such as “I25.10”. Such a condition identifier can represent “native coronary atherosclerotic heart disease without angina”. In some embodiments, the plurality of condition identifiers 152 can include clinical measures, such as, but not limited to, any clinical measures described herein, such as, for example, condition score 136. In a non-limiting example, such condition identifiers may include a plurality of measurements obtained during a clinical evaluation, such as a blood pressure measurement, a cholesterol level, and a body mass index (BMI). In one embodiment, a blood pressure measurement above 140 / 90 mmHg may be a condition identifier for hypertension. Additionally or alternatively, the plurality of condition identifiers 152 may also include identifiers describing symptoms or signs, such as, but not limited to, symptoms reported by the patient (e.g., chest pain, shortness of breath) or signs observed by a healthcare provider (e.g., abnormal heart rhythm on an ECG as described above). In other embodiments, the plurality of condition identifiers 152 may include genetic or molecular markers, such as, but not limited to, the presence of the APOE4 allele may be a condition identifier for an increased risk of Alzheimer's disease. One of ordinary skill in the art may recognize various condition identifiers that may be used by the device 100 to generate condition training data 148 upon reviewing this disclosure in its entirety.

[0041] Continuing with reference to FIG. 1 , generating the condition training data 148 may include converting the plurality of patient profiles 112 and the plurality of correlated condition identifiers 152 into a format that may be used by a machine learning model, such as a condition assessment model described below. In a non-limiting example, the processor 104 may be configured to perform one or more data processing techniques, such as one-hot encoding of categorical variables, normalization or standardization of numerical variables, or extraction of relevant features from image and / or text data. In some cases, the correlation between the plurality of patient profiles and the plurality of condition identifiers may include either a direct correlation (e.g., a particular symptom or diagnostic code) or an indirect correlation (e.g., a combination of demographic factors, symptoms, and test results that collectively indicate a condition). In some cases, the plurality of cohort labels 124 may be assigned to the condition training data 148 based on these correlations, such as, but not limited to, one or more cohort labels may reflect a condition or outcome that the machine learning model will be trained to predict (e.g., patients with a cardiac disease identifier are labeled as “cardiac disease patients” and patients who do not are labeled as “non-cardiac disease patients”). Additionally or alternatively, generating the condition training data 148 may further include compiling the labeled patient profiles into a training data set. Such condition training data 148 may include feature vectors (representations of each patient profile) and their corresponding condition identifiers.

[0042] In one or more embodiments, and with further reference to FIG. 1, generating the state training data 148 may include using contrastive learning to reconstruct a plurality of ECG image data as a function of the ECG interpretation text described herein. As used in this disclosure, "contrastive learning" is a type of unsupervised machine learning technique that learns to identify which examples are similar and which examples are dissimilar. In one embodiment, generating the state training data 148 may include pairing a plurality of ECG images with their corresponding ECG interpretation text. In some cases, the ECG images and their corresponding ECG interpretation text may be received from the data store 120 as described above. In a non-limiting example, each pair may form a positive example (i.e., two items that are similar or connected in some way). The processor 104 may utilize an artificial neural network (ANN) model, such as a convolutional neural network (CNN) as described below for the plurality of ECG images, and a natural language processing (NLP) model, such as a transformer to text, to extract a plurality of features from both the ECG image data and the ECG interpretation text. The ECG image reconstruction machine learning model may then be generated by the processor 104 using a plurality of ECG image and ECG interpretation text pairs as training data. In some cases, the ECG image reconstruction machine learning model may be configured to minimize the distance between the representations of the positive pair (ECG image and its corresponding text) in the latent space and maximize the distance between the representations of the negative pair (ECG image and non-corresponding text). In a non-limiting example, bidirectional loss may be implemented by the processor 104 to enable the ECG image reconstruction machine learning model to encode relevant information in embeddings and effectively capture the underlying structure of the ECG image data and the semantics of the ECG interpretation text, thereby enabling the ECG image reconstruction machine learning model to generate discriminative representations that may be used for various downstream tasks, such as, but not limited to, classification, retrieval, or generation of ECG image data and / or ECG interpretation text.The processor 104 can further use the trained ECG image reconstruction machine learning model to generate ECG images that are close to the corresponding representation of the ECG interpretation text for each patient profile of the multiple patient profiles, or vice versa.

[0043] Continuing to refer to FIG. 1 , in some cases, each condition identifier of the plurality of condition identifiers 152 may include at least one condition risk factor identifier 156. For purposes of this disclosure, a “condition risk factor identifier” is a particular marker or indicator associated with an increased likelihood of developing a particular health condition or disease. In some cases, the at least one condition risk factor identifier may be based on known risk factors for various health conditions. In one embodiment, the at least one condition risk factor identifier may include identifiers that describe non-modifiable risk factors (i.e., risk factors that cannot be changed or controlled by an individual), such as age, sex, ethnicity, and / or family history, which are non-modifiable risk factors for many diseases. In a non-limiting example, having a family history of heart disease is a condition risk factor identifier for a cardiovascular condition. In another embodiment, the at least one condition risk factor identifier may include a modifiable risk factor (i.e., a risk factor that can be controlled, changed, or treated by intervention or lifestyle changes). Exemplary modifiable risk factors may include, but are not limited to, smoking, diet, physical activity levels, body mass index (BMI), blood pressure, and / or cholesterol levels, and the like. In a non-limiting example, a high cholesterol level may be a condition risk factor identifier for a cardiovascular condition. Additionally or alternatively, at least one condition risk factor identifier 156 may be generated by comparing a first set of patient profiles (i.e., a disease cohort) to a second set of patient profiles (i.e., a control cohort). In a non-limiting example, by comparing different sets of patient profiles, the processor 104 may recognize that a patient's age may be a condition risk factor identifier for a condition identifier such as Alzheimer's disease or heart disease. Smoking history may be a condition risk factor identifier for a condition identifier such as lung cancer or chronic obstructive pulmonary disease (COPD). High BMI may be a condition risk factor identifier for a condition identifier such as diabetes.

[0044] With continued reference to FIG. 1 , at least one condition risk factor identifier 156 may be identified by the processor 104 using a classifier. In some cases, the processor 104 may generate a condition risk factor classifier, which may be trained using condition training data described herein. A "classifier" as used in this disclosure is a machine learning model, such as a mathematical model, neural net, or program, generated by a machine learning algorithm known as a "classification algorithm," described in more detail below, that sorts inputs into categories or bins of data and outputs categories or bins of data and / or labels associated therewith. The classifier may be configured to output at least one data that labels or otherwise identifies sets of data that are clustered together, that are found to be close under a distance metric, as described below, and the like. The computing device 104 and / or another device may generate the classifier using a classification algorithm, which is defined as the process by which the processor 104 derives the classifier from training data. The classification may be performed using a linear classifier, which may be, but is not limited to, a logistic regression and / or a naive Bayes classifier, a nearest neighbor classifier such as a k-nearest neighbor classifier, a support vector machine, a least squares support vector machine, Fisher's linear discriminant, a quadratic classifier, a decision tree, a boosted tree, a random forest classifier, learning vector quantization and / or a classifier based on a neural network.

[0045] With further reference to FIG. 1, the processor 104 may be configured to generate a classifier using a Naive Bayes classification algorithm. The Naive Bayes classification algorithm generates a classifier by assigning class labels to problem instances represented as vectors of element values. The class labels are drawn from a finite set. The Naive Bayes classification algorithm may include generating a family of algorithms that assume that, given a class variable, the value of a particular element is independent of the value of any other element. The Naive Bayes classification algorithm may be based on Bayes' theorem, expressed as P(A / B)=P(B / A)P(A)÷P(B), where P(A / B) is the probability of hypothesis A given data B, also known as the posterior probability, P(B / A) is the probability of data B given that hypothesis A was true, P(A) is the probability that hypothesis A is true regardless of the data, also known as the prior probability of A, and P(B) is the probability of the data independent of the hypothesis. The Naive Bayes algorithm may be generated by first converting the training data into a frequency distribution table. The computer device 104 may then calculate a likelihood table by calculating the probability of different data entries and classification labels. The computer device 104 may utilize the Naive Bayes equation to calculate the posterior probability of each class. The class with the highest posterior probability is the predicted result. The Naive Bayes classification algorithm may include a Gaussian model that follows a normal distribution. The Naive Bayes classification algorithm may include a multinomial model that is used for discrete counts. The Naive Bayes classification algorithm may include a Bernoulli model that may be utilized when the vector is binary.

[0046] With continued reference to FIG. 1, the processor 104 may be configured to generate a classifier using a K-nearest neighbor (KNN) algorithm. As used in this disclosure, the "K-nearest neighbor algorithm" includes a classification method that utilizes feature similarity to analyze how similar out-of-sample features are to training data, thereby classifying input data into one or more clusters and / or categories of features represented in the training data, which may be performed by representing both the training data and the input data in vector form, and using one or more measures of vector similarity to identify classifications in the training data and determine the classification of the input data. The K-nearest neighbor algorithm may include specifying a K value, or a number that instructs the classifier to select the k most similar entries training data for a given sample, determining the most common classifiers among the entries in the database, and classifying the known sample, which may be performed recursively and / or iteratively to generate a classifier that can be used to classify the input data as further samples. For example, an initial set of samples can be run to cover initial heuristics and / or "first guesses" at outputs and / or relationships, which can be seeded using, but are not limited to, expert input received according to any process described herein. As a non-limiting example, the initial heuristics can include ranking associations between inputs and elements of the training data. The heuristics can include selecting a few of the highest ranked associations and / or training data elements.

[0047] With continued reference to FIG. 1 , an algorithm for generating k-nearest neighbors may generate a first vector output containing the data input clusters, generate a second vector output containing the input data, and calculate the distance between the first and second vector outputs using any suitable norm, such as cosine similarity or Euclidean distance measures. Each vector output may be represented, without limitation, as an n-tuple of values, where n is at least two values. Each value in the n-tuple of values ​​may represent a measurement or other quantitative value associated with a category or attribute of the given data, examples of which are provided in further detail below, and the vectors may be represented in an n-dimensional space using, without limitation, an axis for each category of values ​​represented in the n-tuple of values ​​such that the vectors have a geometric direction that characterizes the relative amounts of the attributes in the n-tuple compared to each other. Two vectors may be considered equivalent if their orientation and / or the relative amounts of the values ​​in each vector compared to each other are the same, thus, as a non-limiting example, a vector represented as [5,10,15] may be treated as equivalent to a vector represented as [1,2,3] for purposes of this disclosure. Vectors may be more similar if their directions are more similar and more different if their directions are more divergent, but vector similarity may alternatively or additionally be determined using the average of similarities between similar attributes, or any other similarity measure appropriate for an n-tuple of any value, or an aggregation of numerical similarity measures for purposes of loss functions as described in more detail below. Any of the vectors described herein may be scaled so that each vector represents each attribute along an equivalent scale of values. Each vector may be "normalized" or divided by a "length" attribute, such as the length attribute l as derived using the Pythagorean criterion:

number

[0048] Continuing to refer to FIG. 1, the processor 104 may be configured to define additional sub-cohorts to understand the causes of differences between the (state) risk classifications described herein and the calculated risk based on PCE. In a non-limiting example, the processor 104 may compare the recorded clinical diagnosis and laboratory test results at the time of ECG assessment and up to one month later using the state assessment model described below for multiple cohort labels 124 described herein. The additional sub-cohorts may include, for example, but not limited to, a first additional sub-cohort defined as patients with low risk (<5%), borderline risk (5%≦risk<7.5%) or medium risk (7.5%≦risk<20%) by PCE classified as ASCVD positive by the state risk factor classifier described herein, and a second additional sub-cohort defined as patients with medium risk (7.5%≦risk<20%) or high risk (≧20%) by PCE classified as ASCVD negative by the state risk factor classifier described herein. Additionally or alternatively, the processor 104 may identify data describing disease diagnoses available in the multiple patient profiles 112 for the additional subcohorts and may calculate one or more statistics, such as, but not limited to, rate ratios and chi-square statistics between the cohorts. Similarly, for patient profiles that include test results covering more than 75% of the additional subcohorts, other statistics, such as, but not limited to, medians and interquartile ranges for each test in each additional subcohort may be calculated and Cohen's D may be used to quantify differences in the distribution of results between the multiple cohorts 124. Further, for diagnoses, the processor 104 may rank by the chi-square statistic and report the top 15 results. In some cases, for test results, Cohen's D may be limited by the processor 104 to 0.15 or greater.

[0049] Continuing to refer to FIG. 1 , the processor 104 is configured to generate a condition assessment model 160 using the condition training data 148 and at least one machine learning algorithm. As used in this disclosure, a “condition assessment model” is an artificial intelligence (AI) or machine learning (ML) model trained to assess, classify, or predict a patient’s health condition based on information available in their patient profiles. Generating the condition assessment model 160 may include training the condition assessment model 160 using condition training data 148 described herein, including a plurality of patient profiles 112 and a plurality of associated condition identifiers 152, each including at least one condition risk factor identifier 156. In some cases, the condition assessment model 160 may incorporate other machine learning models, such as, but not limited to, a condition score machine learning model and / or a condition risk factor classifier. The at least one machine learning algorithm may include any machine learning algorithm described herein. Additionally or alternatively, the processor 104 may be configured to validate the trained condition assessment model 160 using a separate set of data (i.e., validation data) to evaluate model performance. In non-limiting examples, model validation techniques such as accuracy, precision, recall, or area under the receiver operating characteristic curve (AUC-ROC) may be performed by the processor 104, and the condition assessment model 160 may be adjusted or fine-tuned based on the results of one or more validation processes.

[0050] With further reference to FIG. 1 , in some cases, the condition assessment model 160 may include a time series convolutional neural network (TSCNN), which is a type of CNN designed to process time series data. As used in this disclosure, a “convolutional neural network” is a type of artificial neural network used that uses convolution instead of common matrix multiplication in at least one layer. In one embodiment, the CNN may include multiple layers, including convolutional layers, activation layers, pooling layers, and fully connected layers. The multiple layers may work together to learn and extract features from input data, such as, but not limited to, the reconstructed ECG images described herein. In a non-limiting example, the convolutional layer may apply a set of learnable filters (i.e., convolution kernels) to the image data by a sliding window operation, resulting in a set of feature maps. Each filter may be responsible for detecting a particular feature at a different spatial location in the ECG image. A CNN may include one or more activation layers, which may introduce nonlinearity into the network by applying an activation function, such as, but not limited to, a Rectified Linear Unit (ReLU), to the output of a convolutional layer. In some cases, such nonlinearity may help the CNN learn and represent more complex relationships and patterns in an ECG image. A CNN may include one or more pooling layers configured to reduce the spatial dimension of the feature map by applying downsampling, such as max pooling or average pooling, to small non-overlapping regions of the feature map. Downsampling may reduce the computational complexity of the network, improve its generalization capabilities, and provide a form of translational invariance. A CNN may include one or more fully connected layers, which connect every neuron (i.e., node) in its input to every neuron in its output and may function as a traditional feed-forward neural network layer. In some cases, one or more fully connected layers may be used at the end of a CNN to perform high-level inference and generate a final output, such as, but not limited to, a reconstructed license plate area.Additionally or alternatively, a CNN may include a softmax layer for latent classification tasks, which may often be added to the end of a CNN to convert the output of the fully connected layer into one or more probability values ​​for multiple categories. In some cases, the softmax layer may include a softmax function configured to normalize the output so that the sum of the probabilities is equal to one.

[0051] With further reference to FIG. 1, TSCNN may take advantage of the spatial hierarchy provided by the CNN described herein, while also being designed to recognize temporal dependencies. In one embodiment, TSCNN may accept time series data, which is data collected or recorded sequentially over time. In a non-limiting example, each patient profile of the plurality of patient profiles 112 may include data such as heart rate, blood pressure, or ECG data collected continuously over a period of time. In another non-limiting example, each patient profile of the plurality of patient profiles 112 may include multiple past patient profiles as described above. In one embodiment, TSCNN may combine the strength of CNN with the temporal nature of time series data, for example, but not limited to, the time series data may be treated by TSCNN as a one-dimensional "image," with the time dimension being similar in this case to the spatial dimension in an image. Additionally or alternatively, TSCNN may apply one or more convolutional layers to the plurality of patient profiles 112 to extract and learn important temporal features. For example, but not by way of limitation, TSCNN may learn to recognize specific patterns in ECG data (such as P waves, QRS complexes, or T waves) that indicate a particular cardiac pathology. One important advantage of TSCNN is its ability to efficiently process large amounts of time series data. In some cases, TSCNN can process multiple patient profiles 112 in a parallelized manner, which can be much faster than traditional time series models such as autoregressive integrated moving average (ARIMA) models or recurrent neural networks (RNNs).

[0052] Continuing to refer to FIG. 1 , the processor 104 is configured to use the condition assessment model 160 to determine a patient survival profile 164 for the user-input patient profile 168. As used in this disclosure, a “patient survival profile” is a predictive model or estimate of a patient's probability of survival over a specified time frame based on a combination of the patient's demographic data, clinical data, genetic data, and any other data in the corresponding patient profile. In some cases, the patient survival profile may be generated as a function of the condition identifiers 152 (including at least one condition risk factor identifier 156) described herein. For purposes of this disclosure, a “user-input patient profile” refers to specific data or information about a patient that is manually registered in the system by a user. In some cases, the user may include, but is not limited to, a health care provider, a data entry professional, and / or a patient, etc. In a non-limiting example, the user-input patient profile 168 may include one or more new / unseen patient profiles within the plurality of patient profiles 112 (e.g., patient profiles in a test dataset). In another non-limiting example, the user-input patient profile 168 may include a plurality of electrocardiogram (ECG) signals from a user. In such an embodiment, a user-inputted patient profile 168 including an ECG signal may be received via one or more sensors (e.g., a standard 12-lead ECG). The condition assessment model 160 may be configured to predict one or more data elements, such as the likelihood of surviving a given disease or condition, based on the current health state. Additionally or alternatively, the patient survival profile 164 may include the patient's chance of survival. In some cases, the patient survival profile 164 may be evaluated using survival analysis, which may be a branch of statistics that deals with data from a time to an event, which may include, but is not limited to, death, disease progression, and / or recurrence, etc. In a non-limiting example, the processor 104 may implement one or more techniques and / or algorithms, such as a Cox proportional hazards model or a Kaplan-Meier survival curve, which may be used to estimate the patient's probability of survival over time based on the patient profile.Additionally, the patient survival profile 164 may be used for risk stratification. In a non-limiting example, patients may be classified into different risk groups based on predicted survival rates.

[0053] In a non-limiting example, the patient survival profile 164 may include a cancer survival profile. In some cases, the user-inputted patient profile may include various factors such as, but not limited to, the type and stage of the cancer, the patient's performance status, the genetic characteristics of the tumor, and / or the treatments the patient has received. The patient survival profile output by the condition assessment model 160 based on such a user-inputted patient profile may include an estimate of the patient's likelihood of surviving a certain number of years or the patient's risk of recurrence. In another non-limiting example, the patient survival profile 164 may include a cardiovascular survival profile. In some cases, the user-inputted patient profile may include various factors such as, but not limited to, the patient's age, sex, cholesterol level, blood pressure, smoking status, history of heart disease, and / or past ECG data. The patient survival profile output by the condition assessment model 160 based on such a user-inputted patient profile may include an estimate of the patient's risk of experiencing a heart attack or stroke within the next 10 years. In a further non-limiting example, the survival profile 164 may include a COVID-19 survival profile. In some cases, the user-inputted patient profile may include various factors such as the patient's age, sex, comorbidities (such as diabetes or pulmonary disease), and / or severity of COVID-19 symptoms. The patient survival profile output by the condition assessment model 160 based on such a user-inputted patient profile may include a prediction of the patient's likelihood of surviving the disease or the patient's risk of needing intensive care.

[0054] Continuing with reference to FIG. 1, the relationship between the output of the condition assessment model 160, including the output of other machine learning models described herein, and known clinical risk factors for ASCVD may be examined by the processor 104. In one embodiment, such examination may include, but is not limited to, evaluation of one or more quantitative measures such as LDL-C, Lp(a) and PCE scores across a broad data population by identifying all ECGs in the ECG data 116 with condition risk factor identifiers paired within -2 years to +1 year of ECG acquisition. In some cases, only the first ECG risk factor pair may be used for analysis, and the generation of the condition training data 148 or the validation data set of the condition assessment model 160 was excluded from the analysis. Across all machine learning models described herein, with positive vs. negative condition or condition risk factor identifiers, LDL-C may be slightly lower, Lp(a) may be slightly higher, and PCE scores may also be significantly higher. In some cases, a Mann-Whitney U test may be performed by the processor 104 to evaluate the differences in LDL-C, Lp(a) and PCE scores in multiple patient profiles tested positive vs. negative for a given machine learning model. All results are p<10 -15 was significant.

[0055] 1, the generated patient survival profile 164 may be displayed using a visual interface 172. In a non-limiting example, the processor 104 is configured to display the patient survival profile 164 on a display device (i.e., a hardware component that visually presents information to a user), which may include the visual interface 172. A "visual interface" as used in this disclosure is a graphical user interface (GUI) that conveys information and facilitates interaction between a user and the device 100. In one embodiment, the visual interface 172 may display the multiple patient profiles 112, the condition scores 140, the condition identifiers 152 and / or condition risk factor identifiers 156, the patient survival profile 164, and any data described herein, and allow a user (e.g., a health care provider, a physician, and / or a patient, etc.) to manipulate, edit, or otherwise interact with what is displayed. In one embodiment, the visual interface 172 may include a window in which the patient survival profile 164 may be displayed. In some cases, the visual interface 172 may include one or more graphical locator and / or cursor functions that allow one or more users to interact with the patient survival profile 164, for example, but not limited to, using a touch screen, touch pad, mouse, keyboard, and / or other manual data entry device. In some cases, the visual interface 172 may include one or more menus and / or panels that allow for visualization of measurements, models, data displayed and / or used, selection of elements, features or other aspects of the data of the patient survival profile 164 to be edited, added and / or manipulated, or options for importing and / or linking application programmer interfaces (APIs), external services, data sources, machine learning models and / or algorithms, etc. Those skilled in the art will recognize, upon review of this disclosure in its entirety, the various ways in which the visual interface 172 and / or elements thereof may be implemented and / or used as described herein.

[0056] In one or more embodiments, and with further reference to FIG. 1 , the visual interface 172 may include one or more user input fields. For example, but not limited to, as used in this disclosure, a “user input field” is a graphical or interactive element of a GUI that allows a user to enter or register data. In some cases, the user input field may be configured to receive a user input patient profile 168 as described herein. In non-limiting examples, the user input field may include, but is not limited to, a text box, a drop-down menu, a check box, a radio button, and / or any other interactive component that allows an entity to provide any data described herein. In some cases, the user input field may include an event handler that responds to user interaction, and an “event handler” for purposes of this disclosure is a portion of a computer program or software function associated with a particular event. In some cases, the event handler may generate a prompt for further information, may compare the data to validation rules, such as a requirement that the data in question be registered within a particular numerical range, and / or may modify the data in response to such a requirement, and / or may generate an alert to the entity in response to such a requirement. Additionally, the event handler may convert the data into an expected and / or desired format, such as, for example, a date format, an image format, a document format, and / or a name format.

[0057] 2, an exemplary embodiment of a machine learning module 200 that may perform one or more machine learning processes described in this disclosure is shown. The machine learning module may use the machine learning process to perform the determination, classification and / or analysis steps, methods, or processes, etc., as described in this disclosure. As used in this disclosure, a "machine learning process" is a process that automatically uses training data 204 to generate an algorithm instantiated in hardware or software logic, data structures, and / or functions that is executed by a computing device / module to generate an output 208 given data provided as input 212, as opposed to a non-machine learning software program in which the commands to be executed are predetermined by a user and written in a programming language.

[0058] With further reference to FIG. 2, as used herein, "training data" is data that includes correlations that a machine learning process may use to model relationships between two or more categories of data elements. For example, but not limited to, training data 204 may include a plurality of data entries, also known as "training examples," each of which represents a set of data elements recorded, received, and / or generated together, where the data elements may be correlated by shared presence in a given data entry or proximity to a given data entry, etc. The plurality of data entries in training data 204 may manifest one or more trends in correlations between categories of data elements, for example, but not limited to, that higher values ​​of a first data element belonging to a first category of data elements tend to correlate with higher values ​​of a second data element belonging to a second category of data elements, indicating a possible proportionality or other mathematical relationship linking values ​​belonging to the two categories. Multiple categories of data elements can be associated with the training data 204 according to various correlations, which may indicate causal and / or predictive links between the categories of data elements, which may be modeled as relationships, such as mathematical relationships, by machine learning processes, as described in further detail below. The training data 204 may be formatted and / or organized by categories of data elements, for example, by associating the data elements with one or more descriptors that correspond to the categories of the data elements. As a non-limiting example, the training data 204 may include data registered in a standardized format by a person or process, such that an entry of a given data element in a given field in a form may be mapped to one or more descriptors of the category. Elements in the training data 204 may be linked to category descriptors by tags, tokens, or other data elements; for example, but not limited to, the training data 204 can be provided in a fixed-length format, a format that links the location of data to categories, such as a comma-separated value (CSV) format, and / or a self-describing format, such as Extensible Markup Language (XML) or JavaScript Object Notation (JSON), to enable a process or device to detect the category of the data.

[0059] Alternatively or additionally, with continued reference to FIG. 2, the training data 204 can include one or more elements that are uncategorized, i.e., the training data 204 may not be formatted or may not include descriptors for some elements of the data. Machine learning algorithms and / or other processes can sort the training data 204 according to one or more categorizations, for example, using natural language processing algorithms, tokenization and detection of correlated values ​​in the raw data, etc., and categories can be generated using correlation and / or other processing algorithms. As a non-limiting example, in a corpus of text, phrases that make up a number "n" of compounds, such as nouns modified by other nouns, can be identified according to a statistically significant occurrence of n-grams that include such words in a particular order, and such n-grams can be categorized as "words" as elements of language that are tracked similarly to single words, generating new categories as a result of the statistical analysis. Similarly, in a data entry that includes some text data, a person's name can be identified by referencing a list, dictionary, or other abstract of terms, allowing for ad-hoc categorization by a machine learning algorithm and / or automated association of data in the data entry with a descriptor or a given format. The ability to automatically categorize data entries may allow the same training data 204 to be applicable to two or more different machine learning algorithms, as described in more detail below. The training data 204 used by the machine learning module 200 may correlate any input data as described in this disclosure to any output data as described in this disclosure. As a non-limiting illustrative example, the training data 204 may include condition training data including multiple patient profiles as inputs correlated to multiple condition identifiers as outputs, as described above with reference to FIG. 1.

[0060] With further reference to FIG. 2, as described in more detail below, the training data may be filtered, sorted, and / or selected using one or more supervised and / or unsupervised machine learning processes and / or models, such models may include, but are not limited to, the training data classifier 216. The training data classifier 216, as used in this disclosure, may include a "classifier," which is a machine learning model as defined below, such as a data structure representing and / or using a mathematical model, neural net, or program generated by a machine learning algorithm known as a "classification algorithm," which sorts inputs into categories or bins of data and outputs categories or bins of data and / or labels associated therewith, as described in more detail below. The classifier may be configured to output at least one data that labels or otherwise identifies sets of data that have been clustered together, that have been found to be close under a distance metric as described below, and the like. The distance metric may include any norm, such as, but not limited to, the Pythagorean norm. The machine learning module 200 may generate the classifier using a classification algorithm, defined as the process by which a computing device and / or any modules and / or components operating therein derive a classifier from the training data 204. The classification may be performed using a linear classifier, including but not limited to a logistic regression and / or a naive Bayes classifier, a nearest neighbor classifier such as a k-nearest neighbor classifier, a support vector machine, a least squares support vector machine, Fisher's linear discriminant, a quadratic classifier, a decision tree, a boosted tree, a random forest classifier, learning vector quantization, and / or a classifier based on a neural network. As a non-limiting example, the training data classifier 216 may classify elements of the training data into multiple cohort labels, sub-cohort labels, condition identifiers and / or condition risk factor identifiers, etc., as described above with reference to FIG. 1.

[0061] With further reference to FIG. 2, training examples for use as training data may be selected from a population of potential examples according to a cohort relevant to the analytical problem or classification task to be solved, etc. Alternatively or additionally, the training data may be selected to span a set of situations or inputs likely to be encountered when the machine learning model and / or process is implemented. For example, for each category of input data to the machine learning process or model that may lie within a range of values ​​in a population of phenomena such as, but not limited to, images, user data, process data, or physical data, the computer device, processor, and / or machine learning model may select training examples that represent each possible value in such range and / or a representative sample of values ​​in such range. The selection of representative samples may include, for example, statistically determining according to relative frequency, such that values ​​encountered more frequently in the population of data so analyzed are represented by more training examples than values ​​encountered less frequently, and / or selecting training examples in a proportion matching an expected distribution of such values. Alternatively or additionally, the set of training examples may be compared to a collection of representative values ​​in a database and / or may be presented to a user, whereby the process may detect, automatically or via user input, one or more values ​​not included in the set of training examples. The computing device, processor, and / or module may automatically generate the missing training examples, such as by receiving and / or retrieving the missing input and / or output values, or correlating the missing input and / or output values ​​with corresponding output and / or input values ​​that are co-located (in the same location) in the data record as the retrieved values, such as provided by a user and / or other device.

[0062] With further reference to FIG. 2, the computer, processor and / or module may be configured to sanitize the training data. As used in this disclosure, "sanitizing" the training data is a process in which training examples that prevent the convergence of a machine learning model and / or processing to a useful result are removed. For example, but not limited to, the training examples may be removed to include input and / or output values ​​that are outliers from typically encountered values, such that a machine learning algorithm using the training examples would be adapted to unlikely amounts as inputs and / or outputs, e.g., values ​​that are more than a threshold number of standard deviations from the average, mean or expected value. Alternatively or additionally, one or more training examples may be identified as having low quality data, where "low quality" is defined as having a signal-to-noise ratio below a threshold.

[0063] As a non-limiting example, and with further reference to FIG. 2, images used to train an image classifier or other machine learning model and / or processes that take images as input or generate images as output may be rejected if the image quality is below a threshold. For example, but not by way of limitation, a computer device, processor and / or module may perform blur detection to eliminate one or more blurs, which may be performed by, but is not limited to, performing an approximation, such as a Fourier transform or a fast Fourier transform (FFT), of the image and analyzing the distribution of low and high frequencies in the resulting frequency domain representation of the image, where the number of high frequency values ​​below a threshold level may indicate blur. As a further non-limiting example, blur detection may be performed by convolving the image or a channel of the image, etc., with a Laplacian kernel, which may generate a numerical score reflecting some rapid changes in intensity shown in the image, such that a high score indicates clarity and a low score indicates blur. Blur detection may be performed using a gradient-based operator, which measures the operator based on the gradient or first derivative of the image, based on the hypothesis that rapid changes indicate sharp edges in the image and therefore indicate lower blurriness. Blur detection may be performed using wavelet-based operators that exploit the ability of discrete wavelet transform coefficients to describe the frequency and spatial content of an image. Blur detection may be performed using statistical-based operators that exploit some image statistics as texture descriptors to calculate the focus level. Blur detection may be performed by using discrete cosine transform (DCT) coefficients to calculate the focus level of an image from its frequency content.

[0064] With continued reference to FIG. 2, the computing device, processor, and / or module may be configured to be preconditioned on one or more training examples. For example, but not limited to, if a machine learning model and / or process has one or more inputs and / or outputs that require, transmit, or receive a certain number of bits, samples, or other units of data, the elements of one or more training examples used as or compared to the inputs and / or outputs may be modified to have such number of units of data. For example, the computing device, processor, and / or module may convert a smaller number of units, such as in a low pixel count image, to a desired number of units, such as by upsampling and interpolation. As a non-limiting example, a low pixel count image may have 100 pixels, but the desired number of pixels may be 128. The processor may interpolate the low pixel count image to convert the 100 pixels to 128 pixels. It is also noted that one of ordinary skill in the art will know, upon reading this disclosure, various methods for interpolating a smaller number of units of data, such as samples, pixels, or bits, to a desired number of such units. In some cases, the set of interpolation rules may be trained with a set of highly detailed inputs and / or outputs and corresponding inputs and / or outputs downsampled to a smaller number of units, and a neural network or other machine learning model trained to predict interpolated pixel values ​​using the training data. As a non-limiting example, sample inputs and / or outputs, such as sample pictures with sample augmented data units (e.g., pixels added between original pixels), may be input to a neural network or machine learning model, which may output a pseudo-replica sample picture with dummy values ​​assigned to pixels between the original pixels based on the set of interpolation rules. As a non-limiting example, in the context of an image classifier, the machine learning model may have a set of interpolation rules trained with a set of highly detailed images and images downsampled to a smaller number of pixels, and a neural network or other machine learning model trained using those examples to predict interpolated pixel values ​​in the context of face photos.As a result, the input with sample extended data units (with dummy values ​​and added between the original data units) can be run through the trained neural network and / or model, which can input values ​​to replace the dummy values. Alternatively or additionally, the processor, computer device and / or module can utilize a sample extension method, a low pass filter, or both. As used in this disclosure, a "low pass filter" is a filter that passes signals with frequencies below a selected cutoff frequency and attenuates signals with frequencies above the cutoff frequency. The exact frequency response of the filter depends on the filter design. The computer device, processor and / or module can input data units between the original data units using averaging, such as averaging the luminance or chroma in the image.

[0065] In some embodiments, with continued reference to FIG. 2, a computing device, processor, and / or module may downsample elements of a training example to a desired smaller number of data elements. As a non-limiting example, a high pixel count image may have 256 pixels, but the desired number of pixels may be 128. The processor may downsample the high pixel count image to convert the 256 pixels to 128 pixels. In some embodiments, the processor may be configured to perform downsampling on the data. Downsampling, also known as decimation, may involve removing every Nth entry in a sequence of samples, or all but every Nth entry, etc., a process known as "compression" and that may be performed, for example, by an N-sample compressor implemented using hardware or software. Anti-aliasing and / or anti-imaging filters, and / or low-pass filters may be used to remove compression artifacts.

[0066] With further reference to FIG. 2, the machine learning module 200 can be configured to execute a lazy learning process 220 and / or protocol, which can alternatively be referred to as a “lazy loading” or “call-when-needed” process and / or protocol, in which machine learning is performed upon receiving inputs that are converted into outputs by combining the inputs and a training set to derive an algorithm that is used to generate outputs on demand. For example, an initial set of simulations can be run to cover initial heuristics and / or “first guesses” at the outputs and / or relationships. As a non-limiting example, the initial heuristics can include ranking associations between inputs and elements of the training data 204. The heuristics can include selecting some number of the highest ranked associations and / or training data 204 elements. Lazy learning may implement any suitable lazy learning algorithm, including but not limited to a K-nearest neighbor algorithm or a Lazy Naive Bayes algorithm, and upon reviewing this disclosure in its entirety, one of skill in the art will recognize a variety of lazy learning algorithms that may be applied to generate outputs as described in this disclosure, including but not limited to lazy learning applications of machine learning algorithms as described in further detail below.

[0067] Alternatively or additionally, with continued reference to FIG. 2, a machine learning process as described in this disclosure may be used to generate the machine learning model 224. A "machine learning model," as used in this disclosure, is a data structure that represents and / or instantiates a mathematical and / or algorithmic representation of a relationship between inputs and outputs, generated using any machine learning process, including but not limited to any process as described above, and stored in memory, where the inputs, once created, are submitted to the machine learning model 224, which generates an output based on the derived relationship. For example, but not limited to, a linear regression model generated using a linear regression algorithm may calculate a linear combination of the input data using coefficients derived during the machine learning process to calculate the output data. As a further non-limiting example, the machine learning model 224 may be generated by creating an artificial neural network, such as a convolutional neural network, comprising an input layer of nodes, one or more hidden layers, and an output layer of nodes. The connections between nodes can be created through a process of "training" the network, in which elements from a training data 204 set are applied to the input nodes, and then a suitable training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithm) can be used to adjust the connections and weights between nodes in adjacent layers of the neural network to produce desired values ​​at the output nodes. This process is sometimes referred to as deep learning.

[0068] 2, the machine learning algorithm may include at least one supervised machine learning process 228. The at least one supervised machine learning process 228 defined herein includes an algorithm that receives a training set that relates some inputs to some outputs and attempts to generate one or more data structures that represent and / or instantiate one or more mathematical relationships that relate the inputs to the outputs, each of which is optimal according to some criteria, specified to the algorithm using some scoring function. For example, the supervised learning algorithm may include a number of patient profiles as described above as inputs, a condition identifier and / or a patient survival profile as outputs, and a scoring function that represents the desired form of relationship to be found between the inputs and the outputs, and the scoring function may, for example, attempt to maximize the probability that a given input and / or combination of component inputs is associated with a given output and minimize the probability that a given input is not associated with a given output. The scoring function can be expressed as a risk function that represents the "expected loss" of the algorithm relating inputs to outputs, where the loss is calculated as an error function that represents the degree to which a prediction produced by the relationship is inaccurate when compared to a given input / output pair provided in the training data 204. Those skilled in the art will recognize, upon review of this disclosure in its entirety, various possible variations of at least one supervised machine learning process 228 that may be used to determine the relationship between inputs and outputs. The supervised machine learning process may include a classification algorithm as defined above.

[0069] With further reference to FIG. 2, training the supervised machine learning process may include iteratively updating coefficients, biases, weights based on, but not limited to, an error function, an expected loss, and / or a risk function. For example, outputs generated by the supervised machine learning model using input examples in the training examples may be compared to output examples from the training examples, and an error function may be generated based on the comparison, which may include any error function suitable for use in any machine learning algorithm described in this disclosure, including the squared difference between one or more sets of comparison values, and the like. Such error function may then be used to update one or more weights, biases, coefficients, or other parameters of the machine learning model via any suitable process, including but not limited to, a gradient descent process, a least squares process, and / or other processes described in this disclosure. This may be done iteratively and / or recursively to gradually adjust such weights, biases, coefficients, or other parameters. The updating may be performed using one or more backpropagation algorithms in the neural network. The iterative and / or recursive updating of weights, biases, coefficients, or other parameters as described above may be performed until the currently available training data is exhausted and / or a convergence test is passed, which is a determination of a selected condition as indicating that the model and / or its weights, biases, coefficients, or other parameters have reached a certain degree of accuracy. The convergence test may, for example, compare the difference between two or more successive errors or error function values, where a difference below a threshold amount may be considered to indicate convergence. Alternatively or additionally, one or more errors and / or error function values ​​evaluated in a training iteration may be compared to a threshold value.

[0070] With further reference to FIG. 2, a computing device, processor and / or module may be configured to perform the methods, method steps, sequences of method steps and / or algorithms described with reference to this figure in any order and to any degree of iteration. For example, a computing device, processor and / or module may be configured to repeatedly perform a single step or sequence until a desired or commanded result is achieved, where the iterations of a step or sequence of steps may be performed iteratively and / or recursively using the output of a previous iteration as input to a subsequent iteration, aggregating the inputs and / or outputs of the iterations to generate an aggregate result, decreasing or decrementing one or more variables, such as global variables, and / or dividing a larger processing task into a set of smaller processing tasks that are iteratively addressed. The computing device, processor and / or module may perform any step, sequence of steps or algorithm in parallel, such as performing a step two or more times simultaneously and / or substantially simultaneously using two or more parallel threads or processor cores, and the division of tasks among parallel threads and / or processes may be performed according to any protocol suitable for dividing tasks among iterations. Those skilled in the art will recognize, upon reviewing this disclosure in its entirety, the various ways in which processes, sequences of processes, processing tasks and / or data may be subdivided, shared or otherwise processed using iterative, recursive and / or parallel processing.

[0071] 2, the machine learning process may include at least one unsupervised machine learning process 232. As used herein, an unsupervised machine learning process is a process that derives inferences within a dataset without regard to labels, and as a result, the unsupervised machine learning process is free to discover any structure, relationships, and / or correlations provided in the data. An unsupervised process may not require a response variable, and the unsupervised process may be used to find patterns of interest and / or inferences between variables to determine the degree of correlation between two or more variables, etc.

[0072] With further reference to FIG. 2, the machine learning module 200 may be designed and configured to create the machine learning model 224 using techniques for developing linear regression models. The linear regression model may include ordinary least squares regression, which aims to minimize the squared difference between predicted and actual results according to an appropriate norm for measuring such difference (e.g., vector space distance norm), and the coefficients of the resulting linear equation may be modified to improve the minimization. The linear regression model may include a ridge regression method, where the function to be minimized includes a least squares function plus a term that multiplies the square of each coefficient by a scalar to penalize large coefficients. The linear regression model may include a least absolute shrinkage and selection operator (LASSO) model, where ridge regression is combined with multiplying the least squares term by a coefficient of 1 and dividing by twice the number of samples. The linear regression model may include a multitask lasso model, where the norm applied to the least squares term in the lasso model is the Frobenius norm, which is equal to the square root of the sum of the squares of all the terms. The linear regression model may include an elastic net model, a multitask elastic net model, a minimum angle regression model, a LARS lasso model, an orthogonal matching pursuit model, a Bayesian regression model, a logistic regression model, a stochastic gradient descent model, a perceptron model, a passive aggression algorithm, a robust regression model, a Huber regression model, or any other suitable model that may occur to one of skill in the art upon reviewing this disclosure in its entirety. In one embodiment, the linear regression model may be generalized to a polynomial regression model, whereby a polynomial equation (e.g., quadratic, cubic or higher order equation) that provides the best predicted output / actual output fit is found, and methods similar to those described above may be applied to minimize the error function, as would be apparent to one of skill in the art upon reviewing this disclosure in its entirety.

[0073] With continued reference to FIG. 2 , the machine learning algorithm may include, but is not limited to, linear discriminant analysis. The machine learning algorithm may include quadratic discriminant analysis. The machine learning algorithm may include kernel ridge regression. The machine learning algorithm may include support vector machines, including but not limited to regression processes based on support vector classification. The machine learning algorithm may include stochastic gradient descent algorithms, including classification and regression algorithms based on stochastic gradient descent. The machine learning algorithm may include nearest neighbor algorithms. The machine learning algorithm may include various forms of latent space regularization, such as variational regularization. The machine learning algorithm may include Gaussian processes, such as Gaussian process regression. The machine learning algorithm may include cross decomposition algorithms, including partial least squares and / or canonical correlation analysis. The machine learning algorithm may include naive Bayes methods. The machine learning algorithm may include decision tree-based algorithms, such as decision tree classification or regression algorithms. The machine learning algorithm may include ensemble methods, such as bagged meta-estimators, random forests, AdaBoost, gradient tree boosting, and / or majority vote classifier methods. The machine learning algorithms may include neural net algorithms, including convolutional neural net processes.

[0074] With further reference to FIG. 2, the machine learning model and / or process may be deployed or instantiated by incorporating it into a program, device, system, and / or module. For example, but not limited to, the machine learning model, neural network, and / or some or all of the parameters thereof may be stored and / or deployed in any memory or circuitry. Parameters such as coefficients, weights, and / or biases may be stored as circuit-based constants such as an array of wires and / or binary inputs and / or outputs set to logic "1" and "0" voltage levels in a logic circuit to represent numbers according to any suitable encoding system, including 2's complement, or may be stored in any volatile and / or non-volatile memory. Similarly, mathematical operations and data inputs and / or outputs to the model or neural network layers, etc. may be instantiated in hardware circuitry and / or in the form of instructions in firmware, machine code such as binary opcode instructions, assembly language, or any higher-level programming language. Any technique for hardware and / or software instantiation of memory, instructions, data structures and / or algorithms can be used to instantiate a machine learning process and / or model, including, but not limited to, any combination of the manufacture and / or configuration of non-reconfigurable hardware elements, circuits and / or modules, such as but not limited to ASICs; the manufacture and / or configuration of reconfigurable hardware elements, circuits and / or modules, such as but not limited to FPGAs; the manufacture and / or configuration of non-reconfigurable and / or non-configurable memory elements, circuits and / or modules, such as but not limited to non-programmable ROMs; the manufacture and / or configuration of reconfigurable and / or programmable memory elements, circuits and / or modules, such as but not limited to programmable ROMs or memory techniques described in this disclosure; and / or the manufacture and / or configuration of any computing device and / or components thereof described in this disclosure.Such an implementation and / or instantiated machine learning model and / or algorithm may receive inputs from any other process, module and / or component described in this disclosure and generate output to any other process, module and / or component described in this disclosure.

[0075] With continued reference to FIG. 2, any process of training, retraining, deployment and / or instantiation of any machine learning model and / or algorithm may be performed and / or repeated after initial implementation and / or instantiation to correct, refine and / or improve the machine learning model and / or algorithm. Such retraining, implementation and / or instantiation may be performed as a periodic or periodic process, such as retraining, implementation and / or instantiation at regular elapsed periods, after some quantity measurement, such as the number of bytes of data processed or other measurement, or the number of uses or executions of the process described in this disclosure, and / or according to a software, firmware or other update schedule. Alternatively or additionally, retraining, implementation and / or instantiation may be based on events, triggered by, but not limited to, user input indicating suboptimal or otherwise problematic performance, and / or by an automated field testing and / or audit process that may compare the output of the machine learning model and / or algorithm and / or its error and / or error function to any threshold value or convergence determination, etc., and / or that may compare the output of the process described herein to similar threshold value or convergence determination, etc. Event-based retraining, implementation and / or instantiation may alternatively or additionally be triggered by receipt and / or generation of one or more new training examples, where some new training examples may be compared to a pre-configured threshold, and exceeding the pre-configured threshold may trigger retraining, implementation and / or instantiation.

[0076] With further reference to FIG. 2, retraining and / or additional training may be performed using any process for training described above, using any current or previously deployed version of the machine learning model and / or algorithm as a starting point. Training data for retraining may be collected, preconditioned, sorted, classified, sanitized, or otherwise processed according to any process described in this disclosure. Training data may include, but is not limited to, training examples including inputs used, received, and / or generated from any version of any system, module, machine learning model or algorithm, device, and / or method described in this disclosure, and correlated outputs. Such examples may be modified and / or labeled according to user feedback or other processes to indicate desired results, and / or may have actual or measured results from a process being modeled and / or predicted by the system, module, machine learning model or algorithm, device, and / or method as the "desired" results to be compared with the output for the training process as described above.

[0077] Reimplementation may be performed using any reconfiguration and / or rewriting of reconfigurable and / or rewriteable circuitry and / or memory elements, or reimplementation may be performed by the generation of new hardware and / or software components, circuits or instructions, etc., which may be added to and / or replace existing hardware and / or software components, circuits or instructions, etc.

[0078] With further reference to FIG. 2, one or more of the processes or algorithms described above may be performed by at least one dedicated hardware unit 232. For purposes of this figure, a "dedicated hardware unit" is a hardware component or circuitry, other than a main control circuitry and / or processor, that performs the method steps described in this disclosure, specifically designated or selected to perform one or more specific tasks and / or processes described with reference to this figure, such as, but not limited to, preconditioning and / or sanitizing training data and / or training machine learning algorithms and / or models. The dedicated hardware unit 232 may include hardware units that can perform iterative or mass calculations, such as, but not limited to, matrix-based calculations for updating or adjusting parameters, weights, coefficients and / or biases of machine learning models and / or neural networks, using pipelining or parallel processing or the like in an efficient manner, and such hardware units may be optimized for such processes, for example, by including dedicated circuitry for matrix and / or signal processing operations, including, for example, multiple arithmetic and / or logic circuit units, such as multipliers and / or adders, that can operate simultaneously and / or in parallel. Such dedicated hardware units 232 may include, but are not limited to, graphical processing units (GPUs), dedicated signal processing modules, FPGAs, or other reconfigurable hardware configured to instantiate parallel processing units for one or more specific tasks, and the computing device, processor, device, or module may be configured to instruct the one or more dedicated hardware units 232 to perform one or more operations described herein, such as evaluation of model and / or algorithmic outputs, one-time or iterative updates to parameters, coefficients, weights, and / or biases, and / or any other operations, such as vector and / or matrix operations, described in this disclosure.

[0079] Referring now to FIG. 3, an exemplary embodiment of a neural network 300 is shown. A neural network 300, also known as an artificial neural network, is a network of "nodes" or data structures having one or more inputs, one or more outputs, and a function that determines the output based on the inputs. Such nodes may be organized into a network, such as, but not limited to, a convolutional neural network that includes an input layer of nodes 304, one or more hidden layers 308, and an output layer of nodes 312. The connections between the nodes may be created through a process of "training" the network, in which elements from a training data set are applied to the input nodes, and then a suitable training algorithm (e.g., Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithm) is used to adjust the connections and weights between nodes in adjacent layers of the neural network, thereby producing desired values ​​at the output nodes. This process is sometimes referred to as deep learning. The connections may run only from the input nodes to the output nodes, in a "feed-forward" network, or may feed back the output of one layer to the input of the same or a different layer, in a "recurrent network." As a further non-limiting example, a neural network may include a convolutional neural network that includes an input layer of nodes, one or more hidden layers, and an output layer of nodes. A "convolutional neural network," as used in this disclosure, is a neural network in which at least one hidden layer is a convolutional layer that convolves the input to that layer with a subset of the inputs known as "kernels," along with one or more additional layers, such as pooling layers and fully connected layers.

[0080] 4, an exemplary embodiment of a neural network node 400 is shown. The node has multiple inputs x that may receive values ​​from, but are not limited to, inputs to the neural network that contains the node and / or from other nodes. iA node may implement one or more activation functions to generate an output given one or more inputs, such as, but not limited to, computing a binary step function that compares an input to a threshold and outputs a logical 1 or logical 0 output, or some equivalent output, a linear activation function where the output is directly proportional to the input, and / or a non-linear activation function where the output is not proportional to the input. A non-linear activation function may include, but is not limited to, a sigmoid function of the form:

number

number

number

number

number

number

[0081] 5, an exemplary embodiment of a fuzzy set comparison 500 is shown. A first fuzzy set 504 can be represented according to a first membership function 508 that represents the probability that an input that falls into a first range of values ​​512 is a member of the first fuzzy set 504, the first membership function 508 having values ​​in a range of probabilities, such as, but not limited to, the interval [0,1], and the area under the first membership function 508 can represent the set of values ​​in the first fuzzy set 504. In this exemplary depiction, the first range of values ​​512 is shown for clarity as a range on a single numerical line or axis, however, the first range of values ​​512 may be defined in two or more dimensions, for example, representing a Cartesian product between multiple ranges, curves, axes, spaces, or dimensions, etc. The first membership function 508 may include any suitable function that maps the first range 512 to a probability interval, including, but not limited to, a trigonometric function defined by two linear elements, such as line segments or planes that intersect at or below the top of the probability interval. As a non-limiting example, a trigonometric membership function may be defined as follows:

number

number

number

number

number

[0082] 5, the first fuzzy set 504 may represent any value or combination of values ​​as described above, including output from one or more machine learning models. The second fuzzy set 516, which may represent any value that may be represented by the first fuzzy set 504, may be defined by a second membership function 520 on a second range 524, which may be identical to and / or overlap with the first range 512 and / or may be combined with the first range, such as by a Cartesian product, to generate a mapping that allows for evaluating the overlap between the first fuzzy set 504 and the second fuzzy set 516. If the first fuzzy set 504 and the second fuzzy set 516 have an overlapping region 528, the first membership function 508 and the second membership function 520 may intersect at a point 532 representing a probability of a match between the first fuzzy set 504 and the second fuzzy set 516 as defined on a probability interval. Alternatively or additionally, a single value of the first and / or second fuzzy set may be located on a locus 536 on the first range 512 and / or the second range 524, and a probability of membership may be obtained by evaluation of the first membership function 508 and / or the second membership function 520 at that range point. The probability at 528 and / or 532 may be compared to a threshold value 540 to determine if a positive match is indicated. The thresholds 540, in a non-limiting example, can represent the degree of matching between the first fuzzy set 504 and the second fuzzy set 516 and / or between single values ​​therein or between any sets that is sufficient for purposes of the matching process, e.g., the thresholds can indicate a sufficient degree of overlap between the outputs from one or more machine learning models. Alternatively or additionally, each threshold can be adjusted by, for example, but not limited to, machine learning and / or statistical processes, as described in further detail below.

[0083]

[0023] Referring now to Figure 6, a flow diagram of an exemplary embodiment of a method 600 for determining a patient survival profile using an artificial intelligence enabled electrocardiogram (ECG) is shown. The method 600 includes receiving 605 a plurality of patient profiles by a processor, each patient profile of the plurality of patient profiles including ECG data. In some embodiments, the ECG data may include ECG interpretation text. This may be implemented as described above with reference to Figures 1-5, but is not limited to this.

[0084] Continuing with reference to FIG. 6, the method 600 includes defining 610 a plurality of cohort labels by the processor, where defining the plurality of cohort labels includes generating a condition score for each patient profile of the plurality of patient profiles and defining the plurality of cohort labels as a function of the condition score. In some embodiments, generating the condition score may include extracting the condition scores from the plurality of patient profiles using a plurality of regular expressions, where the plurality of patient profiles further includes a plurality of electronic health records (EHRs). In some embodiments, defining the plurality of cohort labels further includes identifying a plurality of sub-cohort labels from the plurality of patient profiles based on a set of sub-cohort criteria. This may be performed as described above with reference to, but is not limited to, FIGS. 1-5.

[0085] Continuing with reference to FIG. 6, the method 600 includes assigning 615, by a processor, a plurality of cohort labels to a plurality of patient profiles. In some embodiments, the plurality of cohort labels may include at least one first cohort label and at least one second cohort label associated with the at least one first cohort label. In some embodiments, assigning the plurality of cohort labels may include assigning at least one first cohort label to a first set of patient profiles and assigning at least one second cohort label to a second set of patient profiles, where the first set of patient profiles is a disease cohort and the second set of patient profiles is a control cohort. This may be performed as described above with reference to, but is not limited to, FIGS. 1-5.

[0086] Continuing with reference to FIG. 6, the method 600 includes generating 620 condition training data by correlating, by a processor, a plurality of patient profiles with a plurality of condition identifiers. In some embodiments, generating the condition training data may include matching a second set of patient profiles to the first set of patient profiles in a predetermined ratio. In some embodiments, each condition identifier of the plurality of condition identifiers may include at least one condition risk factor identifier generated by comparing the first set of patient profiles to the second set of patient profiles. This may be performed as described above with reference to, but is not limited to, FIGS. 1-5.

[0087] Continuing with reference to FIG. 6, the method 600 includes generating 625, by the processor, a condition assessment model using the condition training data. In some embodiments, the condition assessment model may include a time series convolutional neural network (TSCNN). In some embodiments, generating the condition assessment model may include generating a condition risk factor classifier for each condition identifier of the plurality of condition identifiers using the condition training data. This may be performed as described above with reference to FIGS. 1-5, without limitation.

[0088] Continuing to refer to Figure 6, the method 600 includes determining 630, by the processor, a patient survival profile for the user-inputted patient profile using the condition assessment model, which may be performed as, but is not limited to, described above with reference to Figures 1-5.

[0089] Continuing to refer to Figure 6, the method 600 includes displaying 635 the patient survival profile on a display device by the processor. In some embodiments, the display device may include a visual interface, which may be implemented as, but is not limited to, described above with reference to Figures 1-5.

[0090] It should be noted that any one or more of the aspects and embodiments described herein may be conveniently implemented using one or more machines (e.g., one or more computing devices utilized as user computing devices for electronic documents, one or more server devices, such as document servers, etc.) programmed in accordance with the teachings herein, as would be apparent to one of ordinary skill in the computing arts. Appropriate software coding may be readily prepared by skilled programmers based on the teachings of the present disclosure, as would be apparent to one of ordinary skill in the art. The above aspects and implementations using software and / or software modules may also include appropriate hardware to assist in the implementation of the machine-executable instructions of the software and / or software modules.

[0091] Such software may be a computer program product employing a machine-readable storage medium. A machine-readable storage medium may be any medium capable of storing and / or encoding a sequence of instructions for execution by a machine (e.g., a computing device) and causing the machine to perform any one of the methodologies and / or embodiments described herein. Examples of machine-readable storage media include, but are not limited to, magnetic disks, optical disks (e.g., CDs, CD-Rs, DVDs, DVD-Rs, etc.), magneto-optical disks, read-only memory "ROM" devices, random access memory "RAM" devices, magnetic cards, optical cards, solid-state memory devices, EPROMs, EEPROMs, and any combination thereof. A machine-readable medium as used herein is intended to include a single medium as well as a collection of physically separate media, such as, for example, a compact disk or a collection of one or more hard disk drives in combination with a computer memory. As used herein, a machine-readable storage medium does not include a transitory form of signal transmission.

[0092] Such software may also include information (e.g., data) carried as a data signal on a data carrier, such as a carrier wave. For example, the machine-executable information may be included as a data carrier signal embodied in a data carrier, where the signal encodes a sequence of instructions, or portions thereof, for execution by a machine (e.g., a computing device), as well as any associated information (e.g., data structures and data) that causes the machine to perform any one of the methodologies and / or embodiments described herein.

[0093] Examples of computing devices include, but are not limited to, e-book reading devices, computer workstations, terminal computers, server computers, handheld devices (e.g., tablet computers, smartphones, etc.), web appliances, network routers, network switches, network bridges, any machine capable of executing sequences of instructions that specify actions that the machine should take, and any combination thereof. In one example, a computing device can include and / or be included in a kiosk.

[0094] 7 shows a schematic diagram of one embodiment of a computing device in the exemplary form of a computer system 700 on which a set of instructions for causing a control system to perform any one or more of the aspects and / or methodologies of the present disclosure may be executed. It is also envisioned that multiple computing devices may be utilized to implement a set of instructions specially configured for causing one or more of the devices to perform any one or more of the aspects and / or methodologies of the present disclosure. The computing system 700 includes a processor 704 and a memory 708 that communicate with each other and with other components via a bus 712. The bus 712 may include any of several types of bus structures, including, but not limited to, a memory bus, a memory controller, a peripheral bus, a local bus, and any combination thereof, using any of a variety of bus architectures.

[0095] The processor 704 may include any suitable processor, such as, but not limited to, a processor incorporating logic circuitry for performing arithmetic and logical operations, such as an arithmetic logic unit (ALU), which may be governed by a state machine and directed by operational input from memory and / or sensors, and the processor 704 may be organized according to a von Neumann architecture and / or a Harvard architecture, as non-limiting examples. The processor 704 may include, incorporate, and / or be incorporated in, but is not limited to, a microcontroller, a microprocessor, a digital signal processor (DSP), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), a graphical processing unit (GPU), a general purpose GPU, a tensor processing unit (TPU), an analog or mixed signal processor, a trusted platform module (TPM), a floating point unit (FPU), and / or a system on a chip (SoC).

[0096] Memory 708 may include a variety of components (e.g., machine-readable media), including but not limited to random access memory components, read-only components, and any combination thereof. In one example, a basic input / output system 716 (BIOS), containing the basic routines that help to transfer information between elements within computer system 700, such as during start-up, may be stored in memory 708. Memory 708 may also include instructions (e.g., software) 720 (e.g., stored on one or more machine-readable media) that embody any one or more of the aspects and / or methodologies of the present disclosure. In another example, memory 708 may further include any number of program modules, including but not limited to an operating system, one or more application programs, other program modules, program data, and any combination thereof.

[0097] Computer system 700 may also include storage 724. Examples of storage (e.g., storage 724) include, but are not limited to, hard disk drives, magnetic disk drives, optical disk drives combined with optical media, solid-state memory devices, and any combination thereof. Storage 724 may be connected to bus 712 by an appropriate interface (not shown). Exemplary interfaces include, but are not limited to, SCSI, Advanced Technology Attachment (ATA), Serial ATA, Universal Serial Bus (USB), IEEE 1294 (Firewire), and any combination thereof. In one example, storage 724 (or one or more components thereof) may be removably interfaced with computer system 700 (e.g., via an external port connector (not shown)). In particular, storage 724 and associated machine-readable media 728 may provide non-volatile and / or volatile storage of machine-readable instructions, data structures, program modules, and / or other data for computer system 700. In one example, software 720 may reside, in whole or in part, within machine-readable media 728. In another example, the software 720 may reside, completely or partially, within the processor 704 .

[0098] Computer system 700 may also include input devices 732. In one example, a user of computer system 700 may enter commands and / or other information into computer system 700 via input devices 732. Examples of input devices 732 include, but are not limited to, alphanumeric input devices (e.g., keyboards), pointing devices, joysticks, gamepads, audio input devices (e.g., microphones, voice response systems, etc.), cursor control devices (e.g., mice), touchpads, optical scanners, video capture devices (e.g., still cameras, video cameras), touch screens, and any combinations thereof. Input devices 732 may interface to bus 712 via any of a variety of interfaces (not shown), including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FireWire interface, a direct interface to bus 712, and any combinations thereof. Input devices 732 may include a touch screen interface, which may be part of display 736 or may be separate, as described further below. The input device 732 may be utilized as a user selection device for selecting one or more graphical representations within the graphical interface, as described above.

[0099] A user may also input instructions and / or other information to the computer system 700 via a storage device 724 (e.g., a removable disk drive, a flash drive, etc.) and / or a network interface device 740. A network interface device such as the network interface device 740 may be utilized to connect the computer system 700 to one or more of a variety of networks, such as the network 744, and one or more remote devices 748 connected thereto. Examples of network interface devices include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of networks include, but are not limited to, a wide area network (e.g., the Internet, an enterprise network), a local area network (e.g., a network associated with an office, a building, a campus, or other relatively small geographic space), a telephone network, a data network associated with a telephone / voice provider (e.g., a mobile communications provider data and / or voice network), a direct connection between two computing devices, and any combination thereof. A network such as the network 744 may employ wired and / or wireless communication modes. In general, any network topology may be used. Information (eg, data, software 720 , etc.) may be communicated to and / or from computer system 700 via network interface device 740 .

[0100] The computer system 700 may further include a video display adapter 752 for communicating displayable images to a display device, such as a display device 736. Examples of display devices include, but are not limited to, liquid crystal displays (LCDs), cathode ray tubes (CRTs), plasma displays, light emitting diode (LED) displays, and any combination thereof. The display adapter 752 and the display device 736 may be utilized in combination with the processor 704 to provide graphical representations of aspects of the present disclosure. In addition to a display device, the computer system 700 may include one or more other peripheral output devices, including, but not limited to, audio speakers, a printer, and any combination thereof. Such peripheral output devices may be connected to the bus 712 via a peripheral interface 756. Examples of peripheral interfaces include, but are not limited to, a serial port, a USB connection, a Firewire connection, a parallel connection, and any combination thereof.

[0101] The above is a detailed description of exemplary embodiments of the present invention. Various modifications and additions can be made without departing from the spirit and scope of the present invention. The features of each of the various embodiments described above can be combined with the features of other described embodiments as necessary to provide multiple feature combinations in related new embodiments. Furthermore, while the above describes several separate embodiments, what is described herein is merely illustrative of the application of the principles of the present invention. In addition, although certain methods herein may be illustrated and / or described as being performed in a particular order, the ordering is highly variable within ordinary skill in the art to accomplish the methods, systems and software according to the present disclosure. Thus, this description is intended to be taken only as an example, and not as limiting the scope of the present invention.

[0102] Exemplary embodiments have been disclosed above and are illustrated in the accompanying drawings. Those skilled in the art will appreciate that various modifications, omissions and additions may be made to what is specifically disclosed herein without departing from the spirit and scope of the present invention.

Claims

1. 1. An apparatus for determining a patient survival profile using artificial intelligence enabled electrocardiogram (ECG), comprising: At least one processor; a memory communicatively connected to the at least one processor; the memory includes instructions, the instructions causing the at least one processor to: receiving a plurality of patient profiles, each patient profile of the plurality of patient profiles including ECG data; Defining a plurality of cohort labels, and defining the plurality of cohort labels includes: generating a condition score for each patient profile of the plurality of patient profiles; defining the plurality of cohort labels as a function of the condition scores; assigning said plurality of cohort labels to said plurality of patient profiles; generating condition training data by correlating the plurality of patient profiles with a plurality of condition identifiers; generating a condition assessment model using the condition training data and at least one machine learning algorithm; determining a patient survival profile for a user-inputted patient profile using the condition assessment model; displaying said patient survival profile on a display device; The apparatus is configured to:

2. The apparatus of claim 1 , wherein the ECG data includes ECG interpretation text.

3. generating said condition score, extracting the condition scores from the plurality of patient profiles using a plurality of regular expressions, the plurality of patient profiles further comprising a plurality of electronic health records (EHRs).

2. The apparatus of claim 1.

4. 2. The apparatus of claim 1, wherein the plurality of cohort labels comprises at least one first cohort label and at least one second cohort label associated with the at least one first cohort label.

5. assigning the plurality of cohort labels, assigning the at least one first cohort label to a first set of patient profiles; and assigning the at least one second cohort label to a second set of patient profiles; the first set of patient profiles is a disease cohort; The second set of patient profiles is a control cohort.

5. The apparatus of claim 4.

6. The apparatus of claim 5 , wherein generating the condition training data comprises matching the second set of patient profiles to the first set of patient profiles in a predetermined ratio.

7. Defining the plurality of cohort labels comprises: further comprising identifying a plurality of sub-cohort labels from the plurality of patient profiles based on a set of sub-cohort criteria.

2. The apparatus of claim 1.

8. The apparatus of claim 1 , wherein the condition assessment model comprises a time series convolutional neural network (TSCNN).

9. Each status identifier of the plurality of status identifiers is: at least one condition risk factor identifier generated by comparing the first set of patient profiles to the second set of patient profiles; 2. The apparatus of claim 1.

10. generating the condition assessment model and at least one machine learning algorithm; generating a condition risk factor classifier for each condition identifier of the plurality of condition identifiers using the condition training data.

2. The apparatus of claim 1.

11. 1. A method for determining a patient survival profile using artificial intelligence enabled electrocardiogram (ECG), comprising: receiving, by a processor, a plurality of patient profiles, each patient profile of the plurality of patient profiles including ECG data; Defining a plurality of cohort labels by the processor; and defining the plurality of cohort labels. generating a condition score for each patient profile of the plurality of patient profiles; defining the plurality of cohort labels as a function of the condition scores; assigning, by the processor, the plurality of cohort labels to the plurality of patient profiles; generating, by the processor, condition training data by correlating the plurality of patient profiles with a plurality of condition identifiers; generating, by the processor, a condition assessment model using the condition training data and at least one machine learning algorithm; determining, by the processor, a patient survival profile for a user-inputted patient profile using the condition assessment model; displaying, by said processor, said patient survival profile on a display device; A method comprising:

12. The method of claim 11 , wherein the ECG data includes ECG interpretation text.

13. generating said condition score, extracting the condition scores from the plurality of patient profiles using a plurality of regular expressions, the plurality of patient profiles further comprising a plurality of electronic health records (EHRs). The method of claim 11.

14. 12. The method of claim 11, wherein the plurality of cohort labels comprises at least one first cohort label and at least one second cohort label associated with the at least one first cohort label.

15. assigning the plurality of cohort labels, assigning the at least one first cohort label to a first set of patient profiles; and assigning the at least one second cohort label to a second set of patient profiles; the first set of patient profiles is a disease cohort; The second set of patient profiles is a control cohort. The method of claim 14.

16. 16. The method of claim 15, wherein generating the condition training data comprises matching the second set of patient profiles with the first set of patient profiles in a predetermined ratio.

17. Defining the plurality of cohort labels comprises: further comprising identifying a plurality of sub-cohort labels from the plurality of patient profiles based on a set of sub-cohort criteria. The method of claim 11.

18. The method of claim 11 , wherein the condition assessment model comprises a time series convolutional neural network (TSCNN).

19. Each status identifier of the plurality of status identifiers is: at least one condition risk factor identifier generated by comparing the first set of patient profiles to the second set of patient profiles; The method of claim 11.

20. generating the condition assessment model and at least one machine learning algorithm; generating a condition risk factor classifier for each condition identifier of the plurality of condition identifiers using the condition training data. The method of claim 11.

Citation Information

Patent Citations

  • Time-based phenomenon occurrence analysis apparatus and time-based phenomenon occurrence analysis method

    JP2006202235A

  • Systems and methods for using supervised learning to predict subject-specific pneumonia progression

    JP2020507838A

  • Next-generation molecular profiling

    JP2022512080A

  • Systems and methods for diagnosing a health condition based on patient time series data

    US20220189636A1