Mechanical model, wave propagation model, and windkessel model based blood pressure measurement system
A combination of mechanical, wave propagation, and Windkessel models accurately determines systolic and diastolic blood pressure values, addressing inaccuracies and complications in current methods.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- OXITONE MEDICAL
- Filing Date
- 2024-12-09
- Publication Date
- 2026-06-18
AI Technical Summary
Current blood pressure measurement techniques, both invasive and non-invasive, suffer from inaccuracies, complications, and limitations in ambulatory settings, particularly non-invasive methods which rely on generalized transfer functions and assumptions leading to errors in blood pressure determination.
A system utilizing a combination of mechanical, wave propagation, and Windkessel models to analyze pulse wave data, determining stroke volume, total peripheral resistance, and generating accurate systolic and diastolic blood pressure values without invasive procedures.
The system provides a robust, non-invasive method for generating accurate blood pressure measurements by combining models to determine systolic and diastolic values, overcoming inaccuracies and complications of existing techniques.
Smart Images

Figure IB2024062399_18062026_PF_FP_ABST
Abstract
Description
Attorney Docket No. 047141-506F01WOMECHANICAL MODEL, WAVE PROPAGATION MODEL, AND WINDKESSEL MODEL BASED BLOOD PRESSURE MEASUREMENT SYSTEMTECHNICAL FIELD
[0001] The subject matter described herein generally relates to blood pressure determination systems.BACKGROUND
[0002] Non invasive and invasive blood pressure measurement techniques suffer from various deficiencies. For example, arterial catheterization - an accurate invasive technique - can result in various complications such as pain and bruising, vascular accidents, hematomas, and various infections, and has limited effectiveness in ambulatory settings. Non-invasive techniques such as the use of a cuff to compress the brachial artery and the use of pressure sensors positioned directly on the artery of interest, while safer than invasive techniques, provide inaccurate readings, generate a limited sample size of blood pressure readings, and involve frequent calibration and customization.SUMMARY
[0003] In aspects, a method implemented by at least one data processor of a computing device is contemplated. The method can comprise receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying, by the at least one data processor, a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing, by the at least one data processor, a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, by the at least one data processor, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing, by the at least one data processor, a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheralAttorney Docket No. 047141-506F01WO resistance parameter, generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, determining, by the at least one data processor, a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
[0004] In aspects, a system comprising at least one data processor and memory storing instructions are contemplated. In aspects, the instructions, when executed by at least one data processor, can cause the at least one data processor to perform operations comprising receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for theAttorney Docket No. 047141-506F01WOWindkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
[0005] In aspects, a non-transitory computer-readable storage medium including instructions is contemplated. In aspects, the instructions, when executed by at least one data processor of a device, can cause the device to perform operations comprising receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood reference value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.Attorney Docket No. 047141-506F01WGBRIEF DESCRIPTION OF THE FIGURES
[0006] FIG. 1 depicts a computing environment (e.g., an example computing environment) in which a blood pressure determination system of the present disclosure can be implemented, according to some aspects described and illustrated herein;
[0007] FIG. 2 depicts components that enable transmission of pulse wave data from the device to the back end, according to some aspects described and illustrated herein;
[0008] FIG. 3 illustrates an example implementation of one of the plurality of models on the pulse wave data, according to some aspects described and illustrated herein;
[0009] FIG. 4 illustrates various details associated with the operation of the mechanical model, according to some aspects described and illustrated herein;
[0010] FIG. 5 illustrates an example implementation of another one of the plurality of models on the processed pulse wave data, according to some aspects described and illustrated herein;
[0011] FIG. 6 illustrates an example implementation of yet another one of the plurality of models on the processed pulse wave data, according to some aspects described and illustrated herein;
[0012] FIG. 7 depicts an expanded version of the Windkessel model output, according to some aspects described and illustrated herein;
[0013] FIG. 8 depicts an example graphical representation of example blood pressure values generated by the Windkessel model, according to some aspects described and illustrated herein;
[0014] FIG. 9 depicts a flow chart listing a set of steps implemented by the blood pressure determination system of the present disclosure, according to some aspects described and illustrated herein;
[0015] FIG. 10 is a block circuit diagram illustrating hardware functionality of the device (e.g., pulse oximeter) illustrated in FIGS. 1 and 2;
[0016] FIG. 11 is a block diagram of an example computing device that may perform one or more of the operations described herein, in accordance with some aspects described and illustrated herein.DETAILED DESCRIPTION
[0017] Current blood pressure measuring techniques can broadly be categorized as invasive or non-invasive. Invasive blood pressure measuring techniques, such as arterial catheterization, while more accurate than several other techniques, can cause infections, vascular accidents, and hematomas. Further, arterial catheterization and other comparable techniques are inappropriate for ambulatory settings. Non-invasive techniques, while safer than invasiveAttorney Docket No. 047141-506F01WO techniques, are inaccurate, involve frequent calibration and customization, and fail to enable the use of a common set of hemodynamic maneuvers. Specifically, adoption by medical professionals of a common set of hemodynamic maneuvers that generate accurate blood pressure measurement measurements across a wide demographic is challenging. In part because an individual’s blood pressure readings can vary significantly relative to another individual’s blood pressure readings regardless of the use of these common hemodynamic maneuvers. Some current non-invasive techniques involve the use of pulse wave analysis, which mitigate some of the above deficiencies by, e.g., enabling the determination of a larger sample size of blood pressure readings.
[0018] Specifically, pulse wave analysis is based on detection and analysis of physiological characteristics such as the rate of blood pulsations corresponding to each heartbeat of an individual. While this technique provides a continuous stream of data that enables generation of a larger sample size of blood pressure measurements, the manner in which the blood pressure measurements are determined results in various errors. In particular, current techniques of determining blood pressure using pulse wave analysis involve implementation of a generalized transfer function based pulse wave filtering operation and an estimation of a number of values, namely mean arterial pressure, peripheral systolic blood pressure, and diastolic blood pressure. Blood pressure measurement using such estimation involves various assumptions that reduce overall blood pressure measurement accuracy.
[0019] The blood pressure determination system as described in the present disclosure addresses and overcomes the deficiencies of various current blood pressure measuring techniques. Specifically, the blood pressure determination system of the present disclosure utilizes a combination of multiple models that execute and operate in conjunction with each other to determine systolic and diastolic blood pressure values. This system utilizes a mechanical model, e.g., one that captures the expansion and contraction behavior of a spring attached to a mass, and applies this behavior to determine the behavior of an artery, namely the expansion and contraction of the artery, due to blood flowing through it. The mechanical model also utilizes a damping coefficient value from an algorithm that represents the behavior of the spring with the attached mass to determine a stroke volume parameter. Specifically, this model interprets the damping coefficient as corresponding to the degree to which or how rapidly a diameter of an artery changes in response to blood flowing it, which in turn influences the stroke volume parameter. In other words, the model uses a proportionality of the damping coefficient with respect to the stroke volume parameter to determine the stroke volume parameter.Attorney Docket No. 047141-506F01WO
[0020] Next, the blood pressure determination system implements a second model (e.g., a wave propagation model) to determine a total peripheral resistance of all arteries, including the measured artery, which represents an amount of resistance that blood encounters as it flows through these arteries. In aspects, the wave propagation model determines, from pulse wave data specific to an individual (as described in detail later in this disclosure), an inflection point. This inflection point corresponds to a position or placement of a dicrotic notch, which can be determined based on identifying a point of collision between ( 1 ) a forward propagation pressure wave representing an effect associated with blood flow starting from the heart of an individual and traveling to, e.g., a peripheral artery and (2) a back propagation wave that represents the resistance of the peripheral artery to the blood flow. The timing characteristics of this dicrotic notch can be utilized to determine a total peripheral resistance parameter.
[0021] Next, the blood pressure determination system can implement a third model (e.g., a Windkessel model) to generate output waveform parameters, which can be used to determine systolic and diastolic blood pressure values. It is noted that the input to the Windkessel model corresponds to a pulse wave that is based on a product of the stroke volume parameter and the total peripheral resistance parameter, which are determined using the first and second models described above. The blood pressure measurement system can identify the peak and trough values of the output waveform from the Windkessel model as corresponding to systolic and diastolic blood pressure values, respectively. Further, the blood pressure determination system can compare a ratio of the systolic and diastolic blood pressure values to a ratio of a reference systolic blood pressure value and a reference diastolic blood pressure value (e.g., as part of a calibration process). The comparison with the reference systolic and diastolic blood pressure values can help determine an accuracy level of the systolic and diastolic blood pressure values determined from the output waveform of the Windkessel model. In short, the blood pressure determination system of the present disclosure utilizes a mechanical model, a wave propagation model, and a Windkessel model, operating in conjunction, to accurately determine systolic and diastolic blood pressure values. In this way, contrary to some current techniques that involve the use of a generalized transfer function and various assumptions and estimations, the blood pressure measurement system described herein is non-invasive, safe, provides a robust sample size of blood pressure measurements, and enables generation of accurate blood pressure values without assumptions and estimations.
[0022] FIG. 1 depicts a computing environment 100 (e.g., an example computing environment) in which a blood pressure determination system of the present disclosure can be implemented, according to some aspects described and illustrated herein. As illustrated, the computingAttorney Docket No. 047141-506F01WG environment 100 can include a device 102 operable to communicate wirelessly, via a network 104, to a back end 106 that includes a server 108. The server 108 can be communicatively coupled to a database 110, wirelessly or via a wired connection. Further, the database 110 can include data stored in memory of a device that is separate and distinct from the server 108. While the back end 106 is illustrated to include the server 108 as a single device, the server 108 can be a plurality of computing devices communicatively coupled to each other with the capability to share data, e.g., approximately in real time (e.g., within fractions of a second or a few seconds). Further, the server 108 can be operable to execute one or more of a plurality of software programs simultaneously, sequentially, or according to a predefined order to accurately determine systolic and diastolic blood pressure values of an individual. In aspects, execution of one or more instructions of these software programs can involve and / or result in the implementation of various models that operate individually and in combination with each other. Such operation can include sharing data, e.g., inputs and outputs, processing of data, and so forth. In aspects, the database 110 can include data stored in memory included as part of hardware incorporated into the server 108. In aspects, the device 102 can include a transceiver, a microprocessor, and a variety of additional components, as described in this disclosure. The device 102 can also correspond to a wearable device such as an oximeter device worn on a wrist of an individual. The device 102 can also correspond to other types of wearable devices comparable to an oximeter device worn on an individual’s wrist. In aspects, the device 102 can also be disposed on other parts of an individual and operate to detect pulse wave data.
[0023] FIG. 2 depicts components that enable transmission of pulse wave data 202 from the device 102 to the back end 106, according to some aspects described and illustrated herein. Specifically, the device 102, e.g., a pulse oximeter device, is shown to be worn on the wrist of an individual. It is noted that a technique for monitoring certain physiological characteristics of an individual is commonly referred to as pulse oximetry, and the devices built based upon pulse oximetry techniques are commonly referred to as pulse oximeters. Pulse oximetry can be used to measure various blood characteristics, such as the arterial blood oxygen saturation of hemoglobin (SPO2), and the rate of blood pulsations corresponding to each heartbeat of an individual. In fact, the “pulse” in pulse oximetry refers to the time varying amount of arterial blood at the measurement site during each cardiac cycle. Those skilled in the art will appreciate the pulse oximetry techniques used for obtaining physiological parameters which may also be termed photoplethysmography or, in short, PPG.
[0024] Pulse oximeters typically utilize a non-invasive optical sensor that detects the lightAttorney Docket No. 047141-506F01WG response from within an individual’s tissue indicative of the amount of light absorbed within the tissue at the illuminated site. One or more of the above physiological characteristics may then be calculated based upon the amount of the absorbed light. More specifically, the light passed through the tissue is typically selected to be of one or more light wavelengths that may be absorbed by the blood in an amount correlative to the amount of the hemoglobin constituent present in the blood. The amount of light absorbed at different light wavelengths may then be used to estimate the arterial blood hemoglobin related parameters using various algorithms. Pulsatile changes in the volume of the arterial blood at the illuminated site during blood pressure wave propagation alter the intensity of the light response detected by the sensor’s photodetector.
[0025] Returning to FIG. 2, upon detecting physiological characteristics from an individual, e.g., rate of blood pulsations corresponding to each heartbeat of an individual, the device 102 can communicate this information, automatically and without user intervention, to the server 108 via the network 104. The physiological characteristics corresponding to the blood pulsations can be represented as pulse wave data 202 and communicated to the back end 106 for further analysis. In aspects, this additional analysis can involve the implementation of a plurality of models with respect to or on the pulse wave data 202 to generate outputs of various forms. These outputs can be further analyzed and processed according to one or techniques described herein to determine systolic and diastolic blood pressure values. In aspects, the pulse wave data 202 can be communicated to the server 108 of the back end 106 at set time periods, e.g., every hour, every day at certain time periods, and so forth. Other time intervals are also contemplated. The operation and application of the plurality of models that are utilized by the blood pressure determination system are described in greater detail below.
[0026] FIG. 3 illustrates an example implementation of one of the plurality of models on the pulse wave data 202, according to some aspects described and illustrated herein. Specifically, FIG. 3 depicts an input of a mechanical model 302 usable for analyzing the behavior and effect of blood flow through an organ of an individual, e.g., an artery of the individual (e.g., a peripheral artery). The mechanical model 302 operates to simulate, monitor, and analyze variations in the dimensions of the individual’s artery, e.g., expansion and contraction of the artery in response to pressure changes caused by blood flow through the artery. As illustrated in FIG. 3, a plurality of processing operations can be performed on the pulse wave data 202 to generated processed pulse wave data 306. The processed pulse wave data 306 can then be input into the mechanical model 302.Attorney Docket No. 047141-506F01WG
[0027] Regarding processing operations, in aspects, upon receiving the pulse wave data 202 from the device 102, the server 108 can perform or more processing steps including generating a pulse wave form (e.g., a graphical representation of a pulse wave) using the pulse wave data 202. Further, a low pass filter can be applied on the pulse wave data 202 to filter out irregularities in the data (e.g., rapid fluctuations representative of noise, irrelevant frequency components), and so forth. In aspects, implementing the low pass filter relative to the pulse wave data 202 and / or a pulse wave form derived from the pulse wave data 202 results in filtering of data at and below a threshold and attenuating (e.g., removing) of all signals above the threshold frequency.
[0028] Further, a detrending operation can be implemented relative to the pulse wave data 202 on which the low pass filter is implemented. This operation can be implemented on a subset of values from the pulse wave data 202 that are at or below a threshold value. The detrending operation involves using an algorithm (e.g., a function) that filters out or removes a trend (e.g., a best fit line) that may be present relative to the subset of the pulse wave data 202 at or below the threshold value. In aspects, the detrending operation can identify cyclical patterns within waveforms and determine sudden increase, decreases, or variables in at least a subset of the pulse wave data 202. Upon implementation of the low pass filter and the detrending operation (e.g., processing operations 304), the processed pulse wave data 306 can be generated and input into a first of a plurality models described herein, namely the mechanical model 302. The mechanical model 302 can receive the processed pulse wave data 306 and enable the server 108 to determine a stroke volume parameter 308, as described below with respect to FIG. 4.
[0029] FIG. 4 illustrates various details associated with the operation of the mechanical model 302, according to some aspects described and illustrated herein. In aspects, the mechanical model 302 corresponds to a spring-based mechanical model that can be utilized to analyze the behavior of a spring, namely the expansion and contraction of the spring, based on one or more forces applied on the spring by a mass attached to it. Broadly, the behavior of the spring (e.g., the expansion and contraction) can be comparable to and utilized to simulate the behavior of an example artery 402, as varying amounts of pressure are experienced by the example artery 402 due to blood that flows from the heart of the individual to and through the example artery 402. In aspects, the mechanical model 302 utilizes the following algorithm to assist in determining and / or simulating the behavior of the example artery 402:
[0030] In the above algorithm, the variable “Lart” corresponds to a length 404 of the exampleAttorney Docket No. 047141-506F01WO artery 402, while the variable “D” corresponds to the diameter 406 of the example artery 402. Further, the variable “K” corresponds to an elasticity constant 408 that represents a stiffness of the example artery 402, the variable D’ corresponds to a rate of change 410 of the diameter 406, the variable AD corresponds a diameter change value 412, and the variable “C” corresponds to a damping coefficient 414. The mechanical model 302, subsequent to analyzing the processed pulse wave data 306, can determine the rate of change 410 of the diameter 406 over, e.g., a particular time frame, and utilize the diameter 406, the rate of change 410 of the diameter 406, and the damping coefficient 414 to assist in determining the behavior of the example artery 402 over a particular time frame. In particular, the mechanical model 302 can extract the damping coefficient 414 from the processed pulse wave data 306, generate data (e.g., arterial data) representing the behavior of the example artery 402, and utilize the damping coefficient 414 to determine the stroke volume parameter 308. It is noted that the stroke volume parameter 308 is representative of an amount of blood pumped by the heart during each heart contraction. Regarding the relationship between the damping coefficient 414 and the stroke volume parameter 308, it can be said that the stroke volume is proportional to the damping coefficient 414. Specifically, the mechanical model 302 can operate such that it identifies the damping coefficient 414 as corresponding to the degree to which or how rapidly the diameter 406 of the example artery 402 changes in response to blood flowing it, which in turn influences the stroke volume parameter 308.
[0031] If the damping coefficient 414 has a high value, the expansion of the example artery 402 reduces, which reduces the effectiveness of the stroke volume (e.g., lower blood flow through the example artery 402. In contrast, if the damping coefficient 414 has a lower value, this lessens the effect of the damping coefficient 414 on the expansion and contraction of the example artery 402, which improves the stroke volume (e.g., higher blood flow through the example artery 402). In this way, the damping coefficient 414 can be said to be proportional to the stroke volume parameter 308 and can be utilized to determine the stroke volume parameter 308. In aspects, it is noted that algorithm (1) above corresponds to a first order differential equation that is utilized to determine the behavior of blood flow through the example artery 402. Upon determining the stroke volume parameter 308, a second model, e.g., wave propagation model 502, can be utilized to determine another parameter - a total peripheral resistance parameter 506.
[0032] FIG. 5 illustrates an example implementation of another one of the plurality of models on the processed pulse wave data 306, according to some aspects described and illustrated herein. Specifically, another one of the plurality of models implemented on the processed pulseAttorney Docket No. 047141-506F01WO wave data 306 corresponds to a wave propagation model 502. In aspects, the wave propagation model 502 can be implemented by the server 108 such that this model analyzes and processes the processed pulse wave data 306 and a waveform generated from the processed pulse wave data. The waveform corresponds to a PPG signal representative of the behavior of blood flow through the example artery 402 of the individual. In aspects, the wave propagation model 502 can derive, from the processed pulse wave data 306 and the waveform of the processed pulse wave data 306, information about a forward propagation pressure wave (e.g., a first dataset of the forward propagation pressure wave), which represents an effect associated with blood flow from starting from a heart of the individual and traveling to, e.g., a peripheral artery of the individual (e.g., example artery 402). The wave propagation model 502 can further derive, from the processed pulse wave data 306 and the processed pulse wave data 306, a back propagation pressure wave that represents the resistance of the peripheral artery to blood flow (e.g., a second dataset of the forward propagation pressure wave). Finally, the wave propagation model 502 can determine a point of collision between the back propagation pressure wave and the forward propagation pressure wave, which results in an inflection point in the waveform. A location of this inflection point corresponds to a dicrotic notch 504, which occurs when the aortic valve of the heart of the individual closes during a cardiac cycle. The dicrotic notch 504 indicates the end of systole and the beginning of diastole.
[0033] In aspects, the wave propagation model 502 can determine the value a total peripheral resistance parameter 506 from this inflection point (e.g., the dicrotic notch), namely a timing associated with the dicrotic notch. The timing of the dicrotic notch reflects the end of a ventricular ejection period. If the dicrotic notch occurs early in a cardiac cycle, it can provide information about an amount of pressure against which the heart must operate to eject blood. If the dicrotic notch occurs early in the cardiac cycle, the pressure against which the heart must operate can be said to be high. High pressure indicates that the total peripheral resistance is high (the total peripheral resistance parameter 506 is high). Conversely, if the timing of the dicrotic notch occurs late in the cardiac cycle, it can indicate that the pressure against which the heart must operate to eject blood is low, which in turn indicates that the total peripheral resistance is low (the total peripheral resistance parameter 506 is low). In aspects, to determine the value of the total peripheral resistance parameter 506, the timing of the dicrotic notch can be utilized in combination with the heart rate of the individual, the stroke volume parameter 308, and mean arterial pressure specific to the individual. These values can be utilized to precisely determine the value of the total peripheral resistance. It is noted that the mean arterial pressure (MAP) can be derived from the processed pulse wave data 306. Further, it is notedAttorney Docket No. 047141-506F01WG that total peripheral resistance parameter 506 represents resistance that blood encounters as it flows through an artery.
[0034] FIG. 6 illustrates an example implementation of yet another one of the plurality of models on the processed pulse wave data 306, according to some aspects described and illustrated herein. In particular, after determining the stroke volume parameter 308 and the total peripheral resistance parameter 506, a Windkessel model input 602 can be generated by the server 108 of the back end 106 and input into a Windkessel model 604 that executes on the server 108. In aspects, the Windkessel model input 602 can be generated at least in part based on a product of the stroke volume parameter 308 and the total peripheral resistance parameter 506 for, e.g., each heart beat of the individual. It is noted that the Windkessel model 604 can be said to simulate the behavior of arteries as blood flows through these arteries. In aspects, the Windkessel model 604 can correspond to an RC circuit from electrical engineering such that the compliance or elastic properties of an artery (e.g., example artery 402) as used in the Windkessel model 604 can correspond to the behavior of the capacitor in the RC circuit. Specifically, just as compliance properties of an artery specifies the artery’s ability to expand and store blood, capacitance of the RC circuit represents the ability of the capacitor to store electrical charge. Further, just as resistance in the Windkessel model 604 corresponds to resistance or the artery to blood flow (e.g., resistance that the blood encounters as it flows through an artery), the resistance in the RC circuit represents how much a resistor opposes the flow of electric current. Finally, the flow of blood from the heart can be compared to an input voltage in the RC circuit that drives current to charge the capacitor of the RC Circuit.
[0035] As part of implementing the Windkessel model 604, the product of the stroke volume parameter 308 and the total peripheral resistance parameter 506 can be performed, e.g., for each heart beat of the individual, and during a particular time period, to generate an input waveform that corresponds to the Windkessel model input 602. In aspects, it is noted that a reference systolic blood pressure value and reference diastolic blood pressure can also be utilized as a part of the input to the Windkessel model to complete one or more calibrations operations performed with respect to the individual. The calibration process can involve using other blood pressure measuring devices. The Windkessel model 604 receives the Windkessel model input 602 and generates a Windkessel model output 606 such that the Windkessel model output 606 represents pressure characteristics specific to an example artery 402 (e.g., an organ) of the individual.
[0036] FIG. 7 depicts an expanded version of the Windkessel model output 606, according to some aspects described and illustrated herein. Specifically, FIG. 7 depicts a graphicalAttorney Docket No. 047141-506F01WG representation of the Windkessel model output 606 with an x-axis corresponding to time values 702 and a y-axis corresponding to arterial pressure values 704. Further, two horizontal lines are included in FIG. 7, which mark raw systolic and diastolic blood pressure values. Specifically, a Windkessel waveform 706 depicted in FIG. 7 can correspond to the charge and discharge times of the RC circuit, which are analogous to the rise and decay of arterial pressure through the example artery 402. In aspects, the peak value of the Windkessel waveform 706 corresponds to raw systolic pressure values 708 and the trough value of the Windkessel waveform 706 corresponds to raw diastolic pressure values 710. Further, it is noted that a ratio of the raw systolic pressure values 708 and the respective raw diastolic pressure values 710 can be compared to the ratio of the reference systolic blood pressure value and reference diastolic blood pressure initially input into the Windkessel model 604. If the comparison is within a threshold accuracy level (e.g., 5%, 10%, 15%, and so forth), the raw systolic pressure value 708 and the raw diastolic pressure values 710 can be determined to be accurate.
[0037] FIG. 8 depicts an example graphical representation 800 of example blood pressure values generated by the Windkessel model 604, according to some aspects described and illustrated herein. As illustrated, the example graphical representation 800 includes an x-axis listing example time values 802 and a y-axis listing example blood pressure values 804. The example time values 802 can range from 1 to 9 hours while the example blood pressure values 804 can range from 40 millimeters of mercury (mmHg) to 180 mmHg. Other time and mmHg value ranges are also contemplated. Further, FIG. 8 shows the example systolic blood pressure values 806 and example diastolic blood pressure values 808, which mirror the example reference systolic blood pressure values 810 and the example reference diastolic blood pressure values 812 with accuracy. In aspects, the example graphical representation 800 can be output on a display that is communicatively coupled to the server 108.
[0038] FIG. 9 depicts a flow chart 900 listing a set of steps implemented by the blood pressure determination system of the present disclosure to accurately determine systolic and diastolic blood pressure values, according to some aspects described and illustrated herein. At block 902, pulse wave data specific to a heart-beat or a plurality of heart beats of an individual can be received by at least one data processor, e.g., the server 108 of the back end 106. For example, in aspects, the pulse wave data can be received by a sensor, e.g., a PPG sensor. In aspects, the pulse wave data (e.g., pulse wave data 202) corresponds to the time varying amount of arterial blood at the measurement site during each cardiac cycle. In aspects, at block 904, a first model is applied with respect to the pulse wave data. As described above with respect to FIGS. 3 and 4 and illustrated in FIGS. 3 and 4, the first model corresponds to a mechanicalAttorney Docket No. 047141-506F01WG model (the mechanical model 302) operable for analyzing behavior of blood flow through an organ (e.g., an artery) of an individual. The mechanical model 302 analyzes the behavior and effect of blood flow through an artery, e.g., a peripheral artery of the individual, and can be utilized to analyze variations in the dimensions of the artery, e.g., expansion and contraction of the artery responsive to pressure changes caused by arterial blood flow.
[0039] In aspects, the mechanical model 302 is implemented based on, e.g., a real spring based mechanical model and a damping coefficient 414 of an algorithm implemented using the mechanical model 302. These can be utilized to determine or generate the stroke volume parameter 308, as described in detail above (block 906). In aspect, the stroke volume parameter that is determined or generated can be based on one or more metrics relating to a damping coefficient specific to the mechanical model. At block 908, a second model can be implemented on a waveform (PPG signal) of the pulse wave data 202. In aspects, the second model corresponds to a wave propagation model that can be utilized to determine a total peripheral resistance value. In particular, the wave propagation model 502 can be used to determine the value of a total peripheral resistance parameter 506 from an inflection point that occurs as a result of the collision of a forward propagating pressure wave and a back propagating pressure wave. The location of this inflection point corresponds to a dicrotic notch, which indicates the end of systole and the beginning of diastole. A timing associated with the dicrotic notch can be utilized to determine the total peripheral resistance parameter 506 as described above and illustrated in FIG. 5. Further, responsive to the implementing of the implementing of the second model, additional metrics relating to the total peripheral resistance parameter 506 can be determined (block 910). It is noted that the total peripheral resistance parameter is based on a location of the inflection point in the waveform.
[0040] Next, at block 912, a Windkessel model can be implemented (block 912). Specifically, as illustrated In FIGS. 6 and 7 and described above with respect to FIGS. 6 and 7, the Windkessel model 604 can receive as input a pulse wave that is based on a product of the stroke volume parameter 308 and the total peripheral resistance parameter 506 for, e.g., each heart beat of the individual. The stroke volume parameter and the total peripheral resistance parameter are specific to a heartbeat of a plurality of heartbeats and the stroke volume parameter is proportional to a value associated with a systolic peak. The systolic peak is based on damping that is specific to the mechanical model, namely a real spring based mechanical model. Further, a location of an inflection point in the waveform corresponds to the position of a dicrotic notch in the waveform, which represents an end of a duration of a systole cycle and a beginning of an additional duration of a diastole cycle. It is noted that stroke volumeAttorney Docket No. 047141-506F01WG represents an amount of blood flowing through an organ of an individual (e.g., a peripheral artery). The total peripheral resistance parameter is proportional to a distance form the systolic peal to an inflection point in the waveform (e.g., PPG signal as described in other parts of this disclosure). The value of the systolic peak can be determined from a width of a part of the PPG signal (waveform) that is affected by damping that is specific to the mechanical model.
[0041] Further, the Windkessel model 604 can generate an output in the form of an additional waveform in which at least a peak value of the additional waveform corresponds to a systolic blood pressure value and the trough of the additional waveform corresponds to a diastolic blood pressure value. These peak and trough values can be identified by the blood pressure determination system of the present disclosure as systolic and diastolic blood pressure values of the individual. Further, the Windkessel model can (1) receive an input that is based at least on the stroke volume parameter and the total peripheral resistance parameter and (2) generate a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value.
[0042] Further, it is noted that characteristics of the first value and the second value are specific to the individual, e.g., blood pressure characteristics of the individual. It is noted that the modeled systolic blood pressure value and the modeled diastolic blood pressure value can be based on one or more simulations performed using various software applications implemented by the back end 106. In aspects, calibrated values of the Windkessel model can be determined based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value (block 914). In aspects, the reference systolic and reference diastolic blood pressure values can be determined from reference measurements obtained from an individual or multiple individuals. Finally, in aspects, a resultant systolic blood pressure value and a resultant diastolic blood pressure value can be determined based on the Windkessel model that is calibrated using the calibrated values (block 916). The resultant systolic blood pressure value and the resultant diastolic blood pressure value can correspond to an accurately determined value of a current systolic and diastolic blood pressure of an individual.
[0043] Further, in aspects, it is noted that a PPG sensor signal (e.g., waveform) can be generated by the back end 106 from the pulse wave data received by the sensor communicatively coupled to the at least one data processor (e.g., server 108). In aspects, the blood flow characteristics of the individual, which are based on or derived from a plurality of heartbeats of an individual, are represented by the pulse wave data and the PPG sensor signal (e.g., waveform). Further, it is noted that a ratio of the at least one reference systolic bloodAttorney Docket No. 047141-506F01WG pressure value relative to the at least one reference diastolic blood pressure value is comparable to or substantially equivalent to an additional ratio of the first value and the second value. The first value is proportional to the modeled systolic blood pressure value and the second value is proportional to the modeled diastolic blood pressure value.
[0044] FIG. 10 is a block circuit diagram illustrating hardware functionality of the device 102 (e.g., pulse oximeter) illustrated in FIGS. 1 and 2 and described above. In aspects, the device 102 operates to generate red and infrared optic signals, which are used for heart rate and SPO2 measurements. To enable these and other features of the device 102, the device 102 can be configured to be capable of detection and measuring of incoming optic signals, movements detection, temperature sensing, signal processing, wireless transmission and receipt of data, visual display of at least heart rate, SPO2 and battery charge status, haptic alerts, battery operation, and power and battery management. FIG. 6 includes the following nine building blocks: analog front end (AFE) 1002, microcontroller unit (MCU) 1004, alerts transducers (haptic) 1006, sensors (e.g., accelerometer, skin temperature and touch) 1008, PPG sensors (e.g., LEDs and photo-diodes) 1010, display panel 1012, and wireless radio 1014 (e.g., Bluetooth), and power management circuit 1016. The device 102 may also include a user pushbutton or interface control for, for example, turning the device On / Off, navigating between screens, and / or reacting to the application requests. Additional details in accordance with various embodiments of the present invention are provided below.
[0045] In some embodiments, AFE block 1002 may be a fully-integrated analog front-end (AFE) suited for pulse oximeter applications. It may include a low-noise receiver channel with an integrated analog-to-digital converter (ADC), an LED transmit section, and diagnostics for sensor and LED fault detection. AFE block 1002 may be a configurable timing controller. This flexibility may enable the user to control the device timing characteristics. To ease clocking requirements and provide a low-jitter clock, an oscillator may also be integrated that functions from an external crystal. The AFE block 1002 may communicate to an external microcontroller or host processor using a suitable interface, such as, for example, an SPI™ interface.
[0046] The MCU block 1004 according to some embodiments of the present invention, with its attached memories, may be in charge of all the control and housekeeping tasks of the device 102 as well as the SPO2 and heart rate signal processing and calculations. The MCU block 1004 may store and be configured to run one or more computer programs and / or applications. The computer instructions for such programs and / or applications may be stored in one or more non-transitory computer readable media of MCU block 1004.Attorney Docket No. 047141-506F01WO
[0047] The alerts transducers 1006 according to some embodiments of the present invention may contain one or more haptic transducers that provide haptic alerts whenever a fault is encountered or the wearer’s SPO2 level goes below a certain level.
[0048] Sensors 1008 according to some embodiments of the present invention may include some or all of the following sensors: (i) accelerometer and gyroscope to provides movements and position data; (ii) skin temperature sensor to provide skin temperature data; and (iii) a touch sensor to detect if the device is attached to a wearer’s wrist or not.
[0049] Display panel 1012 according to some embodiments of the present invention may be an OLED display (e.g., 96 x 96 pixels), and may display the calculated SPO2 and heart-rate as well as one or more status symbols and error messages. Wireless radio 1014 according to some embodiments of the present invention may implement one or more suitable wireless communication functionalities (e.g., Bluetooth 4 (BLE) standard) and may be used to establish one or more communication channels between the device 102 and, for example, a dedicated control and monitoring application (e.g., running on the wearer’s mobile device such as a mobile phone) and / or a remote monitoring facility accessed via the internet or a cellular communications network (e.g., the back end 106 that includes the server 108 that is communicatively coupled to the database 110.
[0050] Power management circuit 1016 according to some embodiments of the present invention may accept a suitable battery (e.g., lithium-ion polymer battery), produce all necessary voltages, charge the battery, and monitor the battery condition.
[0051] FIG. 11 is a block diagram of an example computing device 1100 that may perform one or more of the operations described herein, in accordance with the present aspects. The example computing device 1100 can correspond to the device 102. The example computing device 1100 may be connected to other computing devices in a LAN, an intranet, an extranet, and / or the Internet. The example computing device 1100 may operate in the capacity of a server machine in client-server network environment or in the capacity of a client in a peer-to-peer network environment. The example computing device 1100 may be provided by a personal computer (PC), a set-top box (STB), a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single computing device (e.g., the example computing device 1100) is illustrated, the term “computing device” shall also be taken to include any collection of computing devices that individually or jointly execute a set (or multiple sets) of instructions to perform the methods discussed herein.Attorney Docket No. 047141-506F01WO
[0052] The example computing device 1100 may include a computer processing device 1102 (e.g., a general purpose processor, ASIC, etc.), a main memory 1104, a static memory 1106 (e.g., flash memory or the like), and a data storage device 1108, which may communicate with each other via a bus 1130. The computer processing device 1102 may be provided by one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. In an illustrative example, the computer processing device 1102 may comprise a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The computer processing device 1102 may also comprise one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The computer processing device 1102 may be configured to execute the operations described herein, in accordance with one or more aspects of the present disclosure, for performing the operations and steps discussed herein.
[0053] The example computing device 1100 may further include a network interface device 1112, which may communicate with the network 104. The data storage device 1108 may include a machine-readable storage medium 1128 on which may be stored one or more sets of instructions, e.g., instructions for carrying out the operations described herein, in accordance with one or more aspects of the present disclosure. Instructions 1118 implementing core logic instructions 1126 may also reside, completely or at least partially, within main memory 1104 and / or within computer processing device 1102 during execution thereof by the example computing device 1100, main memory 1104 and computer processing device 1102 also constituting computer-readable media. The instructions may further be transmitted or received over the network 104 via the network interface device 1112.
[0054] While machine -readable storage medium 1128 is shown in an illustrative example to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform the methods described herein. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, magnetic media, and the like.Attorney Docket No. 047141-506F01WO
[0055] The subject matter described herein provides many technical advantages. For example, some implementations of the present invention can improve the efficiency and processing capabilities of computer hardware resources (e.g., computer processing and memory) to identify matches by supporting and providing substantially faster matching times, particularly for client applications with large numbers of users (e.g., hundreds of thousands, millions, tens of millions, etc. of users). For example, some implementations of the present invention can more efficiently handle large numbers of users enqueuing and identifying matches in a plurality of templates at the same time. By improving the matching speed and efficiency for client applications with large numbers of users, computer hardware resources can be freed up more quickly and used for other tasks and processes, resulting in a significant improvement in computer resource utilization.
[0056] Aspects of the subject matter and the operations described in this disclosure can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this disclosure and their structural equivalents, or in combinations of one or more of them. Aspects of the subject matter described in this disclosure can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0057] The operations described in this disclosure can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0058] The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer processing device, a computer, a system on a chip, or multiple ones, or combinations,Attorney Docket No. 047141-506F01WG of the foregoing. A computer processing device may include one or more processors which can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit), a central processing unit (CPU), a multi-core processor, etc. The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
[0059] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative, procedural, or functional languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language resource), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0060] The processes and logic flows described in this disclosure can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0061] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic disks, magneto optical disks, optical disks, solid stateAttorney Docket No. 047141-506F01WG drives, or the like. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a smart phone, a mobile audio or media player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including, by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0062] To provide for interaction with a user, aspects of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor or the like, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse, a trackball, a touchpad, a stylus, or the like, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending resources to and receiving resources from a device that is used by the user; for example, by sending web pages to a web browser on a user’s client device in response to requests received from the web browser.
[0063] Aspects of the subject matter described in this disclosure can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this disclosure, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), peer-to-peer networks (e.g., ad hoc peer-to-peer networks), and the like.
[0064] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on theAttorney Docket No. 047141-506F01WO respective computers and having a client-server relationship to each other. In some aspects, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
[0065] A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
[0066] Reference throughout this disclosure to “one aspect” or “an aspect” means that a particular feature, structure, or characteristic described in connection with the aspects included in at least one aspect. Thus, the appearances of the phrase “in one aspect” or “in an aspect” in various places throughout this disclosure are not necessarily all referring to the same aspect. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.”
[0067] While this disclosure contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular aspects of particular inventions. Certain features that are described in this disclosure in the context of separate aspects can also be implemented in combination in a single aspect. Conversely, various features that are described in the context of a single aspect can also be implemented in multiple aspects separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0068] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the aspects described above should not be understood as requiring such separation in all aspects, and it should be understood thatAttorney Docket No. 047141-506F01WO the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0069] Thus, particular aspects of the subject matter have been described. Other aspects are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous. The above description of illustrated implementations of the invention is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific implementations of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. The words “example” or “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the words “example” or “exemplary” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an aspect” or “one aspect” or “an implementation” or “one implementation” throughout is not intended to mean the same aspect or implementation unless described as such. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc. as used herein are meant as labels to distinguish among different elements and may not necessarily have an ordinal meaning according to their numerical designation.
[0070] Further non-limiting aspects or aspects are set forth in the following numbered clauses:
[0071] Aspect 1 : A method implemented by at least one data processor of a computing device, comprising: receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying, by the at least one data processor, a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating,Attorney Docket No. 047141-506F01WG from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing, by the at least one data processor, a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, by the at least one data processor, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing, by the at least one data processor, a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, determining, by the at least one data processor, a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values. In aspects the calibrated values can include a first calibrated value that is based on a set of one or more time values. The Windkessel model can vary the first calibrated value (one or more time values). The second and third calibrated values can correspond to specific ratios. In particular, the second calibrated value corresponds to a ratio of the modeled systolic blood pressure value relative to the at least one reference systolic blood pressure value and the third calibrated value corresponds to another ratio of the modeled diastolic blood pressure value relative to the at least one reference diastolic blood pressure value.
[0072] Aspect 2: The method of aspect 1, further comprising generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.
[0073] Aspect 3: The method of aspect 1, wherein the stroke volume parameter and the total peripheral resistance parameter are specific to a heartbeat of a plurality of heartbeats, wherein blood flow characteristics of the individual based on the plurality of heartbeats is represented by the pulse wave data, the stroke volume parameter is proportional to a value associated with a systolic peak based on damping that is specific to the mechanical model, the mechanicalAttorney Docket No. 047141-506F01WO model being a real spring based mechanical model, and the total peripheral resistance parameter is proportional to a distance from the systolic peak to the inflection point in the waveform.
[0074] Aspect 4: The method of aspect 3, wherein the value of the systolic peak is based on a width associated with the systolic peak, the stroke volume parameter representing an amount of blood flow through the organ of the individual, wherein the organ comprises a peripheral artery, and the location of the inflection point in the waveform corresponds to a position of a dicrotic notch specific to the waveform, the dicrotic notch representing an end of a duration of a systole cycle and a beginning of an additional duration of a diastole cycle.
[0075] Aspect 5: The method of aspect 4, further comprising determining the position of the dicrotic notch, the determining comprising: generating a pulse waveform from the pulse wave data specific to the individual over the time frame, and identifying an area in the pulse waveform as corresponding to the location of the dicrotic notch.
[0076] Aspect 6: The method of aspect 1, wherein a ratio of the at least one reference systolic blood pressure value relative to the at least one reference diastolic blood pressure value is equivalent to an additional ratio of the first value and the second value, and the ratio of the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are derived from a simulated wave.
[0077] Aspect 7: The method of aspect 6, further comprising varying, using the Windkessel model, a first calibrated value of the calibrated values, the first calibrated value being a time value.
[0078] Aspect 8: The method of aspect 7, wherein a second calibrated value of the calibrated values is based on a ratio of the modeled systolic blood pressure value relative to the at least one reference systolic blood pressure value.
[0079] Aspect 9: The method of aspect 8, wherein a third calibrated value of the calibrated values is based on a ratio of the modeled diastolic blood pressure value relative to the at least one reference diastolic blood pressure value.
[0080] Aspect 10: A system comprising at least one data processor, and memory storing instructions which, when executed by the at least one data processor, causes the at least one data processor to perform operations comprising receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating, from the applying of the first model with respect to the pulse wave data, a strokeAttorney Docket No. 047141-506F01WG volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
[0081] Aspect 11 : The system of aspect 10, wherein the operations further comprise generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.
[0082] Aspect 12: The system of aspect 10, wherein the stroke volume parameter and the total peripheral resistance parameter is specific to a heartbeat of a plurality of heartbeats, wherein blood flow characteristics of the individual based on the plurality of heartbeats is represented by the pulse wave data, the stroke volume parameter is proportional to the damping coefficient specific to the mechanical model, the mechanical model being a spring based mechanical model, and the total peripheral resistance parameter is proportional to the inflection point in the waveform.
[0083] Aspect 13: The system of aspect 12, wherein a value of a systolic peak is associated with a width associated with the systolic peak, the stroke volume parameter representing an amount of blood flow through the organ of the individual, wherein the organ comprises a peripheral artery, and the location of the inflection point in the waveform corresponds to a position of a dicrotic notch specific to the waveform, the dicrotic notch representing an end of a duration of a systole cycle and a beginning of an additional duration of a diastole cycle.Attorney Docket No. 047141-506F01WO
[0084] Aspect 14: The system of aspect 13, wherein one of the operations of the determining of the position of the dicrotic notch, the determining comprising generating a pulse waveform from the pulse wave data specific to the individual over the time frame, and identifying an area in the pulse waveform as corresponding to the location of the dicrotic notch.
[0085] Aspect 15: The system of aspect 10, wherein a ratio of the at least one reference systolic blood pressure value relative to the at least one reference diastolic blood pressure value is equivalent to an additional ratio of the first value and the second value, and the ratio of the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are derived from a simulated wave.
[0086] Aspect 16: The system of aspect 15, wherein the operations further comprise varying, using the Windkessel model, a first calibrated value of the calibrated values, the first calibrated value being a time value.
[0087] Aspect 17: The system of aspect 16, wherein a second calibrated value of the calibrated values is based on a ratio of the modeled systolic blood pressure value relative to the at least one reference systolic blood pressure value.
[0088] Aspect 18: The system of aspect 17, wherein a third calibrated value of the calibrated values is based on a ratio of the modeled diastolic blood pressure value relative to the at least one reference diastolic blood pressure value.
[0089] Aspect 19: A non-transitory computer-readable storage medium comprising storing instructions for execution by at least one data processor of a device, the instructions which, when executed by the at least one data processor, cause the device to perform operations comprising: receiving, by a sensor communicatively coupled with the at least one data processor, pulse wave data specific to an individual over a time frame, applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual, generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model, implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model, determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform, implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, generating, using the Windkessel model, a first value proportional to aAttorney Docket No. 047141-506F01WG modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual, determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood reference value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual, and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
[0090] Aspect 20: The non-transitory computer-readable storage medium of claim 18, wherein the operations further comprise generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.
[0091] In the foregoing description, aspects and aspects of the present disclosure have been described with reference to numerous specific details that can vary from implementation to implementation. Accordingly, the description and drawings are to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the invention, and what is intended by the applicants to be the scope of the invention, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Any definitions expressly set forth herein for terms contained in such claims shall govern the meaning of such terms as used in the claims. In addition, when we use the term “further comprising,” in the foregoing description or following claims, what follows this phrase can be an additional step or entity, or a sub-step / sub-entity of a previously-recited step or entity.
Claims
Attorney Docket No. 047141-506F01WOCLAIMS1. A method implemented by at least one data processor of a computing device, comprising: receiving by a sensor, by the at least one data processor, pulse wave data specific to an individual over a time frame; applying, by the at least one data processor, a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual; generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model; implementing, by the at least one data processor, a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model; determining, responsive to the implementing of the second model, by the at least one data processor, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform; implementing, by the at least one data processor, a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, and generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual; determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual; determining, by the at least one data processor, a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.Attorney Docket No. 047141-506F01WG2. The method of claim 1, further comprising: generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.
3. The method of claim 1, wherein: the stroke volume parameter and the total peripheral resistance parameter are specific to a heartbeat of a plurality of heartbeats, wherein blood flow characteristics of the individual based on the plurality of heartbeats is represented by the pulse wave data; the stroke volume parameter is proportional to a value associated with a systolic peak based on damping that is specific to the mechanical model, the mechanical model being a real spring based mechanical model; and the total peripheral resistance parameter is proportional to a distance from the systolic peak to the inflection point in the waveform.
4. The method of claim 3, wherein: the value of the systolic peak is based on a width associated with the systolic peak; the stroke volume parameter representing an amount of blood flow through the organ of the individual, wherein the organ comprises a peripheral artery; and the location of the inflection point in the waveform corresponds to a position of a dicrotic notch specific to the waveform, the dicrotic notch representing an end of a duration of a systole cycle and a beginning of an additional duration of a diastole cycle.
5. The method of claim 4, further comprising determining the position of the dicrotic notch, the determining comprising: generating a pulse waveform from the pulse wave data specific to the individual over the time frame; and identifying an area in the pulse waveform as corresponding to the location of the dicrotic notch.
6. The method of claim 1, wherein:Attorney Docket No. 047141-506F01WO a ratio of the at least one reference systolic blood pressure value relative to the at least one reference diastolic blood pressure value is equivalent to an additional ratio of the first value and the second value; and the ratio of the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are derived from a simulated wave.
7. The method of claim 6, further comprising: varying, using the Windkessel model, a first calibrated value of the calibrated values, the first calibrated value being a time value.
8. The method of claim 7, wherein a second calibrated value of the calibrated values is based on a ratio of the modeled systolic blood pressure value relative to the at least one reference systolic blood pressure value.
9. The method of claim 8, wherein a third calibrated value of the calibrated values is based on a ratio of the modeled diastolic blood pressure value relative to the at least one reference diastolic blood pressure value.
10. A system comprising: at least one data processor; memory storing instructions which, when executed by the at least one data processor, causes the at least one data processor to perform operations comprising: receiving by a sensor, by the at least one data processor, pulse wave data specific to an individual over a time frame; applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual; generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model; implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model;Attorney Docket No. 047141-506F01WG determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform; implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, and generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual; determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood pressure value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual; and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
11. The system of claim 10, wherein the operations further comprise generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.
12. The system of claim 10, wherein: the stroke volume parameter and the total peripheral resistance parameter is specific to a heartbeat of a plurality of heartbeats, wherein blood flow characteristics of the individual based on the plurality of heartbeats is represented by the pulse wave data; the stroke volume parameter is proportional to the damping coefficient specific to the mechanical model, the mechanical model being a spring based mechanical model; and the total peripheral resistance parameter is proportional to the inflection point in the waveform.
13. The system of claim 12, wherein: a value of a systolic peak is associated with a width associated with the systolic peak;Attorney Docket No. 047141-506F01WO the stroke volume parameter representing an amount of blood flow through the organ of the individual, wherein the organ comprises a peripheral artery; and the location of the inflection point in the waveform corresponds to a position of a dicrotic notch specific to the waveform, the dicrotic notch representing an end of a duration of a systole cycle and a beginning of an additional duration of a diastole cycle.
14. The system of claim 13, wherein one of the operations of the determining of the position of the dicrotic notch, the determining comprising: generating a pulse waveform from the pulse wave data specific to the individual over the time frame; and identifying an area in the pulse waveform as corresponding to the location of the dicrotic notch.
15. The system of claim 10, wherein: a ratio of the at least one reference systolic blood pressure value relative to the at least one reference diastolic blood pressure value is equivalent to an additional ratio of the first value and the second value; and the ratio of the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are derived from a simulated wave.
16. The system of claim 15, wherein the operations further comprise: varying, using the Windkessel model, a first calibrated value of the calibrated values, the first calibrated value being a time value.
17. The system of claim 16, wherein a second calibrated value of the calibrated values is based on a ratio of the modeled systolic blood pressure value relative to the at least one reference systolic blood pressure value.
18. The system of claim 17, wherein a third calibrated value of the calibrated values is based on a ratio of the modeled diastolic blood pressure value relative to the at least one reference diastolic blood pressure value.Attorney Docket No. 047141-506F01WG19. A non- transitory computer-readable storage medium including instructions for execution by at least one data processor of a device, the instructions which, when executed by the at least one data processor, cause the device to perform operations comprising: receiving, by a sensor communicatively coupled to the at least one data processor, pulse wave data specific to an individual over a time frame; applying a first model with respect to the pulse wave data, the first model being a mechanical model for analyzing behavior of blood flow through an organ of the individual; generating, from the applying of the first model with respect to the pulse wave data, a stroke volume parameter, the stroke volume parameter being based on metrics relating to a damping coefficient specific to the mechanical model; implementing a second model on a waveform of the pulse wave data, the second model corresponding to a wave propagation model; determining, responsive to the implementing of the second model, additional metrics relating to a total peripheral resistance parameter, the total peripheral resistance parameter being based on a location of an inflection point in the waveform; implementing a Windkessel model, the implementing including: receiving an input to the Windkessel model based at least on the stroke volume parameter and the total peripheral resistance parameter, and generating, using the Windkessel model, a first value proportional to a modeled systolic blood pressure value and a second value proportional to a modeled diastolic blood pressure value, wherein characteristics of the first value and the second value are specific to the individual; determining, by the at least one data processor, calibrated values for the Windkessel model based on application of a ratio of at least one reference systolic blood reference value and at least one reference diastolic blood pressure value, the at least one reference systolic blood pressure value and the at least one reference diastolic blood pressure value are based on reference measurements of the individual; and determining a resultant systolic blood pressure value and a resultant diastolic blood pressure value based on the Windkessel model calibrated using the calibrated values.
20. The non-transitory computer-readable storage medium of claim 19, wherein the operations further comprise generating a PPG sensor signal using the pulse wave data, the PPG sensor signal corresponding to the waveform.