Estimation of maximum flow through a circulatory support device
By extrapolating the motor current value at zero differential pressure from data correlating motor current and differential pressure, the method effectively estimates the maximum flow through a heart pump, addressing the challenge of accurately determining this value during offline tests.
Patent Information
- Application Number
- JP2024571069
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-03
- Filing Date
- 2023-06-02
- Publication Date
- 2025-06-12
AI Technical Summary
Accurately determining the maximum flow point of a circulatory support device, such as a heart pump, is challenging due to difficulties in simulating systole conditions during offline test procedures.
The method involves receiving data correlating motor current with differential pressure, extrapolating a motor current value at which differential pressure is zero, and determining the maximum flow value through the heart pump based on this extrapolated value.
This approach allows for the estimation of maximum flow through the heart pump, improving the accuracy of flow determination during operation by accounting for incomplete data measured during offline tests.
Smart Images

Figure 2025518300000001_ABST
Abstract
Description
Technical Field
[0001] (Field of the Invention) The present disclosure relates to estimating maximum flow through a circulatory support device.
Background Art
[0002] (Background) Fluid pumps such as blood pumps are used in the medical field for a wide range of applications and purposes. An intravascular blood pump is a pump that can be advanced through a patient's vasculature, i.e., veins and / or arteries, to a location within the patient's heart or another location within the patient's circulatory system. For example, an intravascular blood pump can be inserted via a catheter and positioned to straddle a heart valve. An intravascular blood pump is typically disposed at the end of a catheter. Once in place, the pump can be used to assist the heart, pump blood through the circulatory system, and thus temporarily reduce the workload on the patient's heart, such as to allow the heart to recover after a heart attack. An exemplary intravascular blood pump is available from ABIOMED, Inc. (Danvers, MA) under the trade name Impella® Heart Pump.
[0003] Such a pump can be positioned within a heart chamber, such as the left ventricle, to assist the heart. In this case, the blood pump can be inserted via the femoral artery using a hollow catheter and introduced to and into the left ventricle of the patient's heart. From this position, the blood pump inlet sucks in blood and the blood pump outlet discharges blood into the aorta. Thus, the function of the heart can be replaced or at least assisted by the operation of the pump.
[0004] An intravascular blood pump is typically connected to an individual external heart pump controller that controls the heart pump, such as motor speed, and collects and displays operating data about the blood pump, such as heart signal level, battery temperature, blood flow rate, and tubing integrity. An exemplary heart pump controller is available from ABIOMED, Inc. under the trade name Automated Impella Controller TM The controller issues an alarm when an operating data value exceeds a predetermined value or range, for example, when a leak, suction, and / or pump malfunction is detected. The controller may include a video display screen on which a graphical user interface is displayed that is configured to display the operating data and / or the alarm thereon. SUMMARY OF THE INVENTION MEANS FOR SOLVING THE PROBLEM
[0005] (Abstract) What is described herein are systems and methods for estimating maximum flow through a circulatory support device. The maximum flow may be used, for example, to calculate the flow through the device during operation of the circulatory support device.
[0006] In some embodiments of the present technology, a method for estimating maximum flow related to a heart pump is provided. The method includes receiving data that correlates motor current, measured with respect to a predetermined speed of the motor of the heart pump, to differential pressure, extrapolating a first value for the motor current at which the differential pressure is zero based on the received data, and determining a maximum flow value through the heart pump at the predetermined speed of the motor of the heart pump, at least in part, based on the first value for the motor current.
[0007] In some embodiments, a method for estimating a maximum flow related to a heart pump is provided. The method includes receiving data relating motor current, measured with respect to a predetermined speed of a motor of the heart pump, to differential pressure, extrapolating a first value relating to the motor current at which the differential pressure is zero based on the received data, and determining, at least in part based on the first value relating to the motor current, a maximum flow value through the heart pump at the predetermined speed of the motor of the heart pump.
[0008] In at least one aspect, extrapolating the first value includes linearly extrapolating the first value based on a first portion of the data relating motor current to differential pressure. In at least one aspect, the data relating motor current to differential pressure includes a second portion, the first and second portions are separated by an elbow region, and extrapolating the first value based on the first portion of the data includes identifying the elbow region within the data and identifying the first portion of the data to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, and identifying the first portion of the data to be used for extrapolation based on the identified elbow region includes identifying the first portion of the data outside the elbow region.
[0009] In at least one aspect, determining the maximum flow value through a heart pump at a given motor speed involves extrapolating the maximum flow value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the given motor speed. In at least one aspect, extrapolating the maximum flow value involves linearly extrapolating the maximum flow value based on a first portion of the flow curve. In at least one aspect, the flow curve includes a second portion, and the first portion of the flow curve and the second portion of the flow curve are separated by an elbow region, and extrapolating the maximum flow value based on the first portion of the flow curve involves identifying the elbow region within the flow curve and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region involves identifying the first portion of the flow curve outside the elbow region.
[0010] In at least one aspect, the method further includes, at least in part, generating an average flow curve based on measured data from a plurality of heart pumps, and the flow curve that relates the flow through the pump to the motor current at a given motor speed is the average flow curve. In at least one aspect, the measured data from the plurality of heart pumps comprises a plurality of flow curves, each of which relates the flow through the pump to the motor current at a given motor speed of one of the plurality of pumps, and generating the average flow curve involves aligning the maximum measured flow of each of the plurality of curves and generating the average flow curve based on the aligned plurality of flow curves.
[0011] In at least one aspect, the method further includes configuring the heart pump, at least in part, to estimate flow through the heart pump during operation based on a maximum flow value. In at least one aspect, configuring the heart pump to estimate flow through the heart pump during operation includes associating a maximum flow value and a predetermined motor current speed in at least one memory of the heart pump.
[0012] In at least one aspect, the method further includes generating, at least in part, an average curve that relates motor current at a predetermined speed of the motor to differential pressure based on measured data from a plurality of heart pumps, wherein the data that relates motor current to differential pressure comprises the average curve that relates motor current to differential pressure. In at least one aspect, the measured data from the plurality of heart pumps comprises a plurality of curves, each of which relates motor current to differential pressure for one of the plurality of pumps, and generating the average curve that relates motor current to differential pressure includes aligning maximum motor currents of each of the plurality of curves and generating the average curve based on the aligned plurality of curves.
[0013] In some embodiments, a heart pump is provided. The heart pump includes a rotor, a motor configured to drive rotation of the rotor at one or more speeds, and at least one controller. The at least one controller is configured to control the motor to operate at a first speed of the one or more speeds, measure the motor current of the motor while adjusting a differential pressure across the heart pump, generate data that relates the motor current for the first speed of the motor to the differential pressure, extrapolate a first value for the motor current at which the differential pressure is zero based on the measured data, determine, at least in part, a maximum flow value through the heart pump at the first speed of the motor based on the first value for the motor current, and configure, at least in part, the heart pump to measure flow through the heart pump based on the determined maximum flow value.
[0014] In at least one aspect, extrapolating the first value includes linearly extrapolating the first value based on a first portion of data that relates motor current to differential pressure. In at least one aspect, the data that relates motor current to differential pressure includes a second portion, the first portion and the second portion are separated by an elbow region, and extrapolating the first value based on the first portion of the data includes identifying the elbow region within the data and identifying the first portion of the data to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, and identifying the first portion of the data to be used for extrapolation based on the identified elbow region includes identifying the first portion of the data outside the elbow region.
[0015] In at least one aspect, determining the maximum flow value through the heart pump at a predetermined motor speed includes extrapolating the maximum flow value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the predetermined motor speed. In at least one aspect, extrapolating the maximum flow value includes linearly extrapolating the maximum flow value based on a first portion of the flow curve. In at least one aspect, the flow curve includes a second portion, the first portion of the flow curve and the second portion of the flow curve are separated by an elbow region, and extrapolating the maximum flow value based on the first portion of the flow curve includes identifying the elbow region within the flow curve and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region includes identifying the first portion of the flow curve outside the elbow region.
[0016] In at least one aspect, at least one controller is further configured to generate an average flow curve, at least in part, based on measured data from a plurality of heart pumps, and the flow curve that relates the flow through the pump to the motor current at a predetermined motor speed is the average flow curve. In at least one aspect, the measured data from the plurality of heart pumps comprises a plurality of flow curves, each of which relates the flow through the pump to the motor current at a predetermined motor speed of one of the plurality of pumps, and generating the average flow curve comprises aligning the respective maximum measured flows of the plurality of curves and generating an average flow curve based on the aligned plurality of flow curves.
[0017] In at least one aspect, configuring the heart pump to estimate the flow through the heart pump during operation comprises associating a maximum flow value and a predetermined motor current speed in at least one memory of the heart pump. In at least one aspect, at least one controller is further configured to generate an average curve that relates the motor current at a predetermined speed of the motor to the differential pressure, at least in part, based on measurement data from a plurality of heart pumps, and the data that relates the motor current to the differential pressure comprises an average curve that relates the motor current to the differential pressure. In at least one aspect, the measurement data from the plurality of heart pumps comprises a plurality of curves, each of which relates the motor current to the differential pressure for one of the plurality of pumps, and generating the average curve that relates the motor current to the differential pressure comprises aligning the respective maximum motor currents of the plurality of curves and generating an average curve based on the aligned plurality of curves.
[0018] In some embodiments, a controller for a heart pump is provided. The controller comprises at least one hardware processor. The at least one hardware processor is configured to receive data relating motor current, measured with respect to a predetermined speed of the motor of the heart pump, to differential pressure, extrapolate a first value for the motor current at which the differential pressure is zero based on the received data, determine, at least in part, a maximum flow value through the heart pump at the predetermined speed of the motor of the heart pump based on the first value for the motor current, and configure the controller to determine the flow through the heart pump, at least in part, based on the determined maximum flow value.
[0019] In at least one aspect, extrapolating the first value includes linearly extrapolating the first value based on a first portion of the data relating motor current to differential pressure. In at least one aspect, the data relating motor current to differential pressure includes a second portion, the first and second portions are separated by an elbow region, and extrapolating the first value based on the first portion of the data includes identifying the elbow region within the data and identifying the first portion of the data to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, and identifying the first portion of the data to be used for extrapolation based on the identified elbow region includes identifying the first portion of the data outside the elbow region.
[0020] In at least one aspect, determining the maximum flow value through the heart pump at a given motor speed involves extrapolating the maximum flow value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the given motor speed. In at least one aspect, extrapolating the maximum flow value includes linearly extrapolating the maximum flow value based on a first portion of the flow curve. In at least one aspect, the flow curve includes a second portion, and the first portion of the flow curve and the second portion of the flow curve are separated by an elbow region. Extrapolating the maximum flow value based on the first portion of the flow curve includes identifying the elbow region within the flow curve and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region. In at least one aspect, the elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point. Identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region includes identifying the first portion of the flow curve outside the elbow region.
[0021] In at least one aspect, at least one hardware processor is further configured to generate an average flow curve, at least in part, based on measured data from a plurality of heart pumps, and the flow curve that relates the flow through the pump to the motor current at a given motor speed is the average flow curve. In at least one aspect, the measured data from the plurality of heart pumps comprises a plurality of flow curves, each of which relates the flow through the pump to the motor current at a given motor speed of one of the plurality of pumps. Generating the average flow curve includes aligning the maximum measured flow of each of the plurality of curves and generating the average flow curve based on the aligned plurality of flow curves.
[0022] In at least one aspect, configuring the heart pump to estimate flow through the pump during operation includes associating a maximum flow value and a predetermined motor current speed in at least one memory of the heart pump. In at least one aspect, at least one hardware processor is further configured to generate, at least in part, an average curve that relates motor current at a predetermined speed of the motor to differential pressure based on measured data from a plurality of heart pumps, and the data that relates motor current to differential pressure comprises the average curve that relates motor current to differential pressure. In at least one aspect, the measured data from a plurality of heart pumps comprises a plurality of curves, each of which relates motor current to differential pressure for one of the plurality of pumps, and generating the average curve that relates motor current to differential pressure includes aligning the maximum motor current of each of the plurality of curves and generating the average curve based on the aligned plurality of curves.
Brief Description of the Drawings
[0023]
Figure 1A
[0024]
Figure 1B
[0025]
Figure 2-1
[0026]
Figure 2-2
[0027]
Figure 3
[0028]
Figure 4
[0029]
Figure 5
[0030]
Figure 6
[0031]
Figure 7
[0032]
Figure 8
[0033]
Figure 9
[0034]
Figure 10A
[0035]
Figure 10B
[0036]
Figure 11
[0037]
Figure 12
[0038]
Figure 13
[0039]
Figure 14
[0040] (Detailed Description) Conventionally, the blood flow through a circulatory support device such as a catheter-based heart pump inserted into a patient's ventricle is calculated based on the motor speed and motor current sensed from the pump motor. For example, data characterizing the relationship between the flow and the motor current for each of a plurality of motor speeds (referred to herein as the "Q vs. MC curve" or "flow curve") may be stored, and the stored data and the measured motor current value may be used to estimate the flow when the pump motor is operated at a particular speed. For each flow curve, the point representing the maximum flow when the pump is operating at a particular speed corresponds to the point at which the differential pressure (i.e., the pressure between the ventricle and the aorta) is zero. The inventors recognize that it is difficult to accurately determine the maximum flow point of the flow curve in practice. As described in more detail below, some embodiments of the present technology relate to techniques for determining the maximum flow value for a flow curve.
[0041] A pump system 100 for use in combination with some embodiments of the present technology is shown in FIGS. 1A and 1B. As shown, the pump system 100 is coupled to a control unit 200. The pump 100 includes a distal atraumatic tip 102, a pump housing 104 surrounding a rotor 108, an outflow tube 106, a distal bearing 110, a proximal bearing 112, an inlet 116, an outlet 118, a catheter 120, a handle 130, a cable 140, and a motor 150. The pump housing 104 may be configured as a frame structure formed by a mesh with openings that can be at least partially covered by an elastic material. The proximal portion of the pump housing 104 extends into and is mounted within the hollow interior of the outflow tube 106, and the distal portion of the pump housing 104 extends distally beyond the distal end of the outflow tube 106. The exposed opening within the pump housing 104 that extends distally beyond the outflow tube 106 forms the inlet 116 of the pump 100. The proximal end of the outflow tube 106 includes a plurality of openings that form the outlet 118 of the pump 100. The rotor 108 is rotatably mounted between the distal bearing 110 and the proximal bearing 112 and is coupled to the distal end of a drive shaft 114. The drive shaft 114 is flexible and extends through the catheter 120, through the hollow interior of the outflow tube 106, into the handle 130, and is coupled to a motor 150 stored within the handle 130. The proximal end of the handle 130 is coupled to the control unit 200 via a cable 140. Fluid may be circulated through the catheter 120 proximate to the drive shaft 114 within the space surrounding the distal bearing 110 and the proximal bearing 112 to lubricate those components and reduce friction during operation of the pump 100.
[0042] The control unit 200 includes one or more memories 202, one or more processors 204, a user interface 206, and one or more current sensors 208. The processor 204 may comprise one or more microcontrollers, one or more microprocessors, one or more application specific integrated circuits (ASICs), one or more digital signal processors, program memories, or other computing components. The processor 204 is communicatively coupled to other components of the control unit 200 (e.g., the memory 202, the user interface 206, the current sensor 208) and is configured to control one or more operations of the pump 100. As a non-limiting example, the control unit 200 may be implemented as the Automated Impella Controller from ABIOMED, Inc. (Danvers, MA). TM In some aspects, the memory 202 is not provided as a separate component but is included as part of the processor 204.
[0043] During operation, the processor 204 is configured to control the power delivered to the motor 150 by a power supply line (not shown) in the cable 140 (e.g., by controlling a power supply source (not shown)), thereby controlling the speed of the motor 150. The current sensor 208 may be configured to sense a motor current associated with the operating state of the motor 150, and the processor 204 may be configured to receive the output of the current sensor 208 as a motor current signal. The processor 204 may further be configured to determine the flow through the pump 100, at least in part, based on the motor current signal and the motor speed, as described in more detail below. The current sensor 208 may be included within the control unit 200 or may be located along any portion of the power supply line in the cable 140. Additionally or alternatively, the current sensor 208 may be included within the motor 150, and the processor 204 may be configured to receive the motor current signal via a data line (not shown) in the cable 140 that couples the processor 204 and the motor 150.
[0044] Memory 202 may be configured to store computer-readable instructions and other information regarding the various functions of the components of control unit 200. In one aspect, memory 202 includes volatile and / or non-volatile memory, such as electrically erasable programmable read-only memory (EEPROM).
[0045] User interface 206 may be configured to receive user input via one or more buttons, switches, knobs, etc. Additionally, user interface 206 may include a display configured to display one or more indicators, such as information and optical indicators, audio indicators, etc., to convey information regarding the operation of pump 100 and / or provide alerts.
[0046] Pump 100 is designed to be insertable into a patient's body, e.g., into the left ventricle of the heart, using an introducer system. In one aspect, housing 104, rotor 108, and outflow tube 106 are radially compressible, allowing pump 100 to achieve a relatively small outer diameter of, e.g., 9Fr (3mm) during insertion. When pump 100 is inserted into a patient, e.g., into the left ventricle, handle 130 and motor 150 remain positioned outside the patient. During operation, motor 150 is controlled by processor 204 to drive the rotation of drive shaft 114 and rotor 108 to transport blood from inlet 116 to outlet 118. It should be understood that rotor 108 can be rotated in reverse by motor 150 to transport blood in the opposite direction (in this case, the opening at 118 forms the inlet and the opening at 116 forms the outlet). In one aspect, pump 100 is intended to be used during high-risk procedures lasting up to 6 hours, but it should be understood that the techniques described herein are not limited to any particular type of procedure and / or duration of use.
[0047] Figures 2A-2C schematically illustrate techniques for calculating flow based on motor current signals within a time window, according to some embodiments. FIG. 2A illustrates a motor current (MC) signal during a single cardiac cycle, where the motor current in milliamperes (mA) is represented on the y-axis and time is represented on the x-axis. Based on the value of the motor current signal, the corresponding flow through the pump is then calculated using a stored relationship (also referred to herein as a "flow curve" or "Q vs. MC curve") that relates the flow value through the pump and the motor current, an example of which is illustrated in FIG. 2B, where flow is represented on the y-axis and motor current is represented on the x-axis. For example, the values represented graphically as the flow curve may be stored in memory as a look-up table used to associate motor current values and flow values at a particular motor speed.
[0048] Flow curves at different motor speeds may be determined during an "offline" test procedure that approximates the normal operation of the device within a patient. During the test procedure, flow and motor current are measured at different motor speeds, and one or more flow curves are determined for each motor speed based on the measurement data. FIG. 2B shows multiple flow curves determined for multiple pumps tested at the same motor speed. An average flow curve across the multiple pumps being tested may be stored and used to calculate the flow during operation of the pump. The flow calculation based on the sensed motor current may be implemented in the control unit 200 of the pump system 100.
[0049] As described above in connection with FIG. 1A, FIG. 2C shows an embodiment of a flow signal that is generated, for example, based on a motor current signal (e.g., the motor current signal of FIG. 2A) received from one or more motor current sensors 208. A time window of a predetermined length (e.g., 1 to 4 seconds) of the motor current signal may be analyzed, and a motor current value associated with the maximum flow through the pump may be determined. The flow through the pump is based on the pressure difference between the inlet and outlet of the pump through which blood is transported when the pump is operating. During systole, the pressure difference between the inlet and outlet of the pump is zero, resulting in the maximum flow through the pump. Depending on the pump design, the minimum motor current value during the time window may correspond to the maximum flow (in systole), or the maximum motor current value during the time window may correspond to the maximum flow (in systole). To account for the instability of the motor current signal over time, the measured motor current signal may be adjusted based at least in part on an offset value between the measured motor current value corresponding to the maximum flow (e.g., the minimum motor current value) and the motor current value corresponding to the maximum flow as shown in a stored flow curve at a particular speed at which the motor is operating. The flow through the pump may then be determined based at least in part on the adjusted motor current signal.
[0050] FIG. 2D shows a plurality of flow curves at different motor speeds, labeled as P1 - P9 in FIG. 2D, where P1 is the slowest speed of the motor and P9 is the fastest speed. Similar to the plot of FIG. 2B that illustrated measurements at a single motor speed, in the plot of FIG. 2D, a plurality of flow curves are also shown for each of the motor speeds P1 - P9. For each motor speed, a value corresponding to a single flow curve (e.g., as the average of the shown flow curves) may be stored as a look-up table that can be used to calculate the flow during the operation of the pump as described above. A point on one of the flow curves corresponding to the maximum flow (for motor speed P1) is labeled as 280.
[0051] The inventors recognize and understand that accurately determining the point on the flow curve corresponding to maximum flow is important, particularly for accurately determining the offset value used to adjust the motor current signal during the operation of a heart pump. However, measuring the maximum flow point during the "offline" test procedure used to create the flow curve is difficult because it is difficult, in part, to implement a scenario where the pressures across the inlet and outlet of the heart pump are zero (e.g., stimulating the system when the heart would be in systole). For this reason, some embodiments are directed to techniques for estimating the maximum flow point for a flow curve based on incomplete data measured during the offline test procedure. A more precise measurement of the maximum flow value can improve the flow determination calculations when the heart pump is operating.
[0052] FIG. 3 schematically illustrates a flow characteristic evaluation system 300 that can be used during an offline test procedure to obtain flow (Q), motor current (MC), and differential pressure (dP) data from which various curves relating these quantities can be determined. As shown, the pump is arranged in a flow loop that includes a blood reservoir 312 disposed within a heating water tank to keep the circulating blood at a desired temperature, a pinch valve 314, and a filter 316 configured to filter the blood prior to being returned to the blood reservoir 312. For each of a plurality of motor speeds (e.g., P1 - P9 described above), the differential pressure (dP) as measured by the pressure sensor 318 is incrementally changed by the console 320 to simulate the pumping cycle of the heart. The generated flow (as measured by the flow meter 322), the drawn motor current (MC), and the imposed differential pressure (dP) are measured as the dP is adjusted. In some embodiments, the dP is adjusted by applying different amounts of backpressure on the pump.
[0053] As described above, during operation, the maximum flow through the pump occurs when the differential pressure is equal to zero (i.e., during systole). Ideally, it would then be desirable to simulate systole using system 300 by providing a backpressure as close to zero as possible. However, in practice, system 300 struggles to maintain a low backpressure when presented with one. Additionally, the pump itself produces its own pressure differential, and thus an additional pump would need to be inserted into the loop to counter the pump's inherent pressure differential, resulting in a complex setup. In some embodiments, rather than attempting to precisely simulate systole conditions, system 300 is controlled to provide the lowest possible backpressure that the system can handle, which results in an incomplete dataset that does not include data when dP = 0. As discussed in more detail below, the maximum flow at the dP = 0 point is estimated from the incomplete data using the techniques described herein.
[0054] In some embodiments, for each motor speed (e.g., P level), a set of data points relating flow and motor current may be generated by adjusting, for example, the differential pressure across the pump within system 300 (e.g., by applying different backpressures on the pump). FIG. 4 illustrates an example of such a set of data points collected for each of a plurality of different pumps inserted into the flow loop of system 300. For each pump, an average flow curve was created as shown in FIG. 5. As an example, average flow curve 510 is shown for the pump corresponding to the raw pump data at the right end of the plot in FIG. 4. In some embodiments, the average curve is generated by finding the maximum and minimum flows that occur at a particular motor speed. A plurality of bins (e.g., 50 bins) may be created across the range of flow from minimum to maximum, and the average curve may be created by calculating the average motor current in each of the plurality of bins. However, it should be understood that other techniques may alternatively be used to convert the set of data points for the pump into an average flow curve for the pump.
[0055] After creating the average flow curve for each pump being tested (e.g., average flow curve 510), an average flow curve that traverses all the pumps being tested for a particular motor speed (e.g., P level) may be determined. The average flow curve that traverses all the pumps being tested is shown in FIG. 5 as flow curve 520. As shown, the flow curve has a first (e.g., upper) portion at a higher flow rate and a second (e.g., lower) portion at a lower flow rate, and may be characterized by having an elbow region between the first portion and the second portion. In the embodiment shown in FIG. 5, the first portion has a steeper slope compared to the second portion. In some embodiments, the average flow curve that traverses the pumps is generated separately for the first portion and the second portion.
[0056] When generating a flow data characteristic evaluation set (e.g., the raw flow data of FIG. 4), the highest flow generated by different pumps being tested can vary, for example, due to differences in the hardware related to the pumps. If this difference is not taken into account when averaging across the pumps being tested, only some of the pumps being tested will have data that contributes to the pump-crossing average at higher flow rates. However, if one or more of the pumps generating higher flow are outliers (e.g., the corresponding flow curve is far to the right or left in FIG. 5), the high-flow region in the average flow curve across the pumps will not be a straight line (or approximately straight line), but instead will appear curved compared to the remaining curves, which can affect the extrapolation process for the high-flow portion of the curve as described in more detail below. In some embodiments, to account for differences between pumps in the high-flow portion of the flow curve, the individual average flow curves may be aligned (e.g., offset horizontally) as shown in FIG. 6, and a "midpoint" average flow curve (solid line in FIG. 6) may be determined based on the aligned average flow curves. All of the individual pump average flow curves can then be aligned at the highest flow point of the midpoint average flow curve as shown in FIG. 7, and an average flow curve across the pumps can be generated. In some embodiments, the average flow curve across the pumps is then smoothed using a filter (e.g., a small Gaussian kernel) as shown in FIG. 8, resulting in an average flow curve with respect to the motor current speed (e.g., the P level). The process shown in FIGS. 4-7 is then repeated for the raw flow data collected for each P level, resulting in one average flow curve for each P level.
[0057] A process similar to that shown in FIGS. 4-7 may be used to generate an average motor current (MC) vs. differential pressure (dP) curve for each P level, as shown in FIG. 9. For example, a plurality of bins (e.g., 50 bins) may be created between the minimum measured motor current value and the maximum measured motor current value at each motor speed, and the average MC value in each of the plurality of bins may be used to generate an average MC vs. dP curve for the motor speed. The average MC vs. dP curve can then be used to determine the motor current corresponding to the value of dP = 0, as described in more detail below.
[0058] FIG. 10A shows a flowchart of a process 1000 for determining maximum flow through a heart pump, according to some embodiments. At act 1010, data relating motor current to differential pressure is received. For example, the data may correspond to the average MC vs. dP curve shown in FIG. 9, which is determined using one or more of an offline test procedure (e.g., using the system 300 shown in FIG. 3) and the processing techniques described herein (e.g., as shown in FIGS. 4-8).
[0059] As shown in FIG. 9, the value of the motor current corresponding to the dP = 0 point is not ascertained based on the measurement data. Process 1000 proceeds to act 1020, where the motor current value (e.g., the minimum motor current value) corresponding to the differential pressure value of dP = 0 is determined for each of a plurality of motor current speeds. In some embodiments, the motor current value at dP = 0 is determined by extrapolation based on a portion of the data received at act 1010. The MC vs. dP curve for each P level may be approximated by a parametric linear curve that includes a first portion, a second portion, and an elbow region disposed between the first and second portions. The first and second portions may have different slopes, which can be distinguished, for example, using the derivative (e.g., the first and / or second derivative) of the curve.
[0060] In some embodiments, the elbow region of the MC vs. dP curve is identified by examining where the derivative changes above a threshold amount along the curve, determining the elbow point, and then identifying the elbow region as the region around the elbow point. For example, the elbow point may be determined as the point with the maximum second derivative at a particular portion of the curve (e.g., the leftmost portion of the curve in FIG. 9). The elbow region may be determined as the region along the curve that includes a predetermined number of samples (e.g., two samples, three samples, five samples, etc.) on both sides of the elbow point. The predetermined number of samples used to define the elbow region may be the same or different across the P level. The portion of the MC vs. dP curve having a lower motor current value outside the elbow region may be regarded as the first portion of the curve, and the portion of the MC vs. dP curve having a higher motor current value outside the elbow region may be regarded as the second portion of the curve.
[0061] To determine the motor current when dP = 0, extrapolation from the first part of the curve may be used. For example, some embodiments use linear extrapolation from the first part of the MC vs. dP curve to determine the value of the motor current when dP = 0. FIG. 11 schematically shows this process for the fastest motor speed (e.g., P9), where the elbow region 1110 is identified and a line 1112 is fitted to the first part of the curve having a lower motor current value outside the elbow region 1110. The point where the line 1112 intersects the y-axis (corresponding to dP = 0) is determined to be the value of the minimum motor current for that motor speed. As shown, a similar procedure can be followed for each of the other motor speeds to determine the minimum motor current. Although linear extrapolation is described as being used in some embodiments, it should be understood that a non-linear curve can be fitted to the first part of the curve in some embodiments to determine the minimum motor current value. Additionally, it should be understood that the process for determining the motor current value when dP = 0 is graphically shown in FIG. 11 merely to facilitate the explanation, and such graphical illustration does not necessarily occur for all embodiments. Rather, the process for determining the motor current value when dP = 0 may be numerically implemented based on measurement data using a regression (e.g., linear regression) based on a portion of the average curve measured across the pump.
[0062] Turning back to process 1000 shown in FIG. 10A, after determining the value of the motor current for which dP = 0 for a particular motor speed, process 1000 proceeds to act 1040, where the maximum flow through the heart pump is determined based on the determined motor current value when dP = 0. Process 1000 then proceeds to act 1050, where the heart pump (which may be a different heart pump than one of the heart pumps involved in the offline test) is configured to estimate the flow through the pump during operation based on the determined maximum flow. For example, the maximum flow value determined in act 1040 may be associated (e.g., as a look-up table) in at least one memory of the heart pump with the motor speed at which the maximum flow value was determined, and the stored data may be used to estimate the flow during operation of the pump.
[0063] FIG. 10B illustrates an example of a method by which the maximum flow through the heart pump can be determined in some embodiments. In act 1042, a flow curve relating the flow through the heart pump and the motor current may be received. An example of such a flow curve is shown and described with reference to FIG. 8, where an average flow curve versus motor current speed is illustrated. The determination of the average flow curve is repeated across all motor speeds and may result in a plot as shown in FIG. 12. In act 1044, the motor current value determined for dP = 0 (e.g., in act 1030 of FIG. 10A) may be superimposed on the flow curve, an example of which is shown in FIG. 12 as vertical dashed line 1210 for the highest motor speed P9. As shown in FIG. 12, the motor current values determined for dP = 0 at other motor speeds may also be superimposed on a plurality of flow curves determined for a plurality of motor speeds.
[0064] In Act 1046, the value of the maximum flow through the pump is determined by extrapolation based on the motor current value when dP = 0 for a portion of the flow curve and a particular motor speed. In some embodiments, the process for extrapolation may be similar to (but not necessarily the same as) that described above in connection with FIG. 11. For example, as schematically shown in FIG. 13, an elbow region 1310 may be identified and the extrapolation may be performed based on the first (e.g., upper) region of the flow curve to identify the maximum flow value. In some embodiments, linear extrapolation is used to fit a line 1312 to the first portion of the flow curve, and the point 1314 where the line 1312 intersects the superimposed motor current value corresponding to dP = 0 is determined to be the maximum flow value for that particular motor speed. A similar procedure may be performed for each motor speed (e.g., P1 - P9) to determine the corresponding maximum flow value for each motor speed, as schematically shown in FIG. 14. As briefly described above, the determined maximum flow value and corresponding motor speed may be used to configure the heart pump to more accurately determine flow when used during operation. Additionally, it should be understood that the process for determining the maximum flow through the pump is shown graphically merely to facilitate explanation and that such graphical illustration does not necessarily occur for all embodiments. Rather, the process for determining the maximum flow may be performed numerically based on measurement data using a regression (e.g., linear regression) based on a portion of the average curve measured across the pump.
[0065] Although some aspects and embodiments of the technology described in this disclosure have been thus described, it is to be understood that various modifications, corrections, and improvements will readily occur to those skilled in the art. For example, process 1000 includes two discrete acts 1030 and 1040 to determine the maximum flow through the pump at a particular motor speed by performing extrapolation twice. In some embodiments, the processing in acts 1030 and 1040 may be combined into a single step implemented in three dimensions (Q, MC, dP) based on the flow characteristic evaluation data measured during the offline test procedure and any additional processing used to generate the average curve as described herein, although the extrapolation is only done once. In other embodiments, human-labeled data may be used to train a machine learning algorithm to determine the maximum flow value for each motor speed. In yet further embodiments, the unique behavior observed in the [Q, MC, dP] data set measured during the offline test procedure may be parameterized using one or more models, and the maximum flow value and / or minimum motor current value may be estimated based at least in part on the determined parameters.
[0066] In some further modifications, aspects of the technology relate to devices and methods for the detection, separation, purification, and / or quantification of bacteria as described herein, but the inventors recognize that such devices and methods are widely applicable to other microorganisms of interest, such as viruses, yeasts, and that aspects of the technology are not limited in this regard.
[0067] Such alterations, modifications, and improvements are intended to be within the spirit and scope of the technology described herein. For example, those skilled in the art can readily envision various other means and / or structures for performing the functions described herein and / or obtaining one or more of the results and / or advantages, and such variations and / or modifications are each considered to be within the scope of the embodiments described herein. Those skilled in the art will be able to recognize, or confirm, many equivalents of the specific embodiments described herein using no more than routine experimentation. Accordingly, it is to be understood that the foregoing embodiments are presented by way of example only, and that embodiments of the invention may be practiced otherwise than as specifically described within the scope of the appended claims and their equivalents. Additionally, any combination of two or more of the features, systems, articles, materials, kits, and / or methods described herein is included within the scope of the present disclosure if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent.
[0068] The embodiments described above can be implemented in any of a number of ways. One or more aspects and embodiments of the present disclosure involving the implementation of a process or method may utilize program instructions executable by a device (e.g., a computer, a processor, or other device) to perform or control the performance of the process or method. In this regard, various concepts of the present invention, when executed on one or more computers or other processors, are encoded using one or more programs that implement a method of implementing one or more of the various embodiments described above, and may be embodied as a computer-readable storage medium (or multiple computer-readable storage media) (e.g., computer memory, one or more floppy (registered trademark) disks, compact disks, optical disks, magnetic tapes, flash memories, circuit configurations within a field programmable gate array or other semiconductor device, or other tangible computer storage media). The computer-readable medium or media may be transportable such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various ones of the aspects described above. In some embodiments, the computer-readable medium may be a non-transitory medium.
[0069] The embodiments described above of the present technology can be implemented in any of a number of ways. For example, the embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or set of processors, whether provided on a single computer or distributed among multiple computers. It should be understood that any component or set of components that perform the functions described above can generally be regarded as a controller that controls the functions described above. The controller can be implemented in a number of ways, such as using dedicated hardware or using general-purpose hardware (e.g., one or more processors) programmed with microcode or software to perform the functions listed above. When the controller corresponds to multiple components of the system, it may be implemented in a combination of ways.
[0070] Furthermore, it should be understood that the computer can be embodied in any of several forms, such as, by way of non-limiting example, a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, the computer may be embedded within a device that is generally not regarded as a computer, such as a personal digital assistant (PDA), a smartphone, or any other suitable portable or fixed electronic device, but that has suitable processing capabilities.
[0071] In addition, the computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include a printer or display screen for visual presentation of output, and a speaker or other audio generating device for audible presentation of output. Examples of input devices that can be used for a user interface include a keyboard and pointing devices such as a mouse, touch pad, and digitizing tablet. As another example, the computer may receive input information through speech recognition or in other audible formats.
[0072] Such a computer may be interconnected by one or more networks in any suitable form, including a local area network or wide area network such as a corporate network, and an intelligent network (IN) or the Internet. Such networks may be based on any suitable technology, may operate according to any suitable protocol, and may include wireless networks, wired networks, or fiber optic networks.
[0073] Also, as described, some aspects may be embodied in one or more ways. The acts performed as part of a method may be ordered in any suitable way. Thus, embodiments may be constructed in which the acts are performed in an order different from that illustrated, which may include performing some acts simultaneously even if shown as sequential acts in the illustrative embodiments.
[0074] All definitions as defined and used herein should be understood to take precedence over dictionary definitions, definitions of documents incorporated by reference, and / or ordinary meanings of defined terms.
[0075] As used in the specification and claims of this specification, the indefinite articles "a" and "an" should be understood to mean "at least one" unless the contrary is clearly indicated.
[0076] As used in the specification and claims of this specification, the phrase "and / or" should be understood to mean "one or both" of the elements so joined, i.e., elements that are present conjunctively in some cases and disjunctively in other cases. A plurality of elements listed using "and / or" should be construed in the same manner, i.e., as "one or more" of the elements so joined. Other elements may optionally be present, whether or not related to those specifically identified by the "and / or" clause, depending on whether or not they are specifically identified. Thus, by way of non-limiting example, reference to "A and / or B", when used in conjunction with non-limiting language such as "comprising", may refer in one embodiment to only A (optionally including elements other than B), in another embodiment to only B (optionally including elements other than A), and in yet another embodiment to both A and B (optionally including other elements), etc.
[0077] As used in the specification and claims herein, the phrase "at least one" with respect to a list of one or more elements should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but does not necessarily include at least one of every element specifically recited in the list of elements, nor does it exclude any combination of elements in the list of elements. This definition also allows for the possibility that elements other than those specifically identified in the list of elements referred to by the phrase "at least one" may optionally exist, whether or not they are related to those specifically identified elements. Thus, by way of non-limiting example, "at least one of A and B" (or equivalently "at least one of A or B", or equivalently "at least one of A and / or B") can refer, in one embodiment, to at least one A (optionally including elements other than B) that may optionally include more than one, and in the absence of any B; in another embodiment, to at least one B (optionally including elements other than A) that may optionally include more than one, and in the absence of any A; and in yet another embodiment, to at least one A that may optionally include more than one, and at least one B that may optionally include more than one (optionally including other elements), and so forth.
[0078] Also, the terminology and expressions used herein are for the purpose of description and should not be regarded as limiting. The use of "comprising", "including", "having", "containing", "involving", and variations thereof herein means including the items listed hereinafter, their equivalents, and additional items.
[0079] In the claims and the above specification, all transitional phrases such as "comprising", "including", "propagating", "having", "containing", "accompanying", "holding", "consisting of", and equivalents are non-limiting, i.e., they are understood to mean "including, but not limited to". Only the transitional phrases "consisting of" and "consisting essentially of" shall be construed as restrictive or semi-restrictive transitional phrases, respectively.
[0080] The use of ordinal terms such as "first", "second", "third", etc. in a claim to modify a claim element does not, by itself, imply any priority, precedence, or order of one claim element over another, or the temporal order in which acts of a method are performed. It is merely used as a label to distinguish one claim element having a certain name from another element having the same name (in the absence of the use of ordinal terms) for the purpose of distinguishing claim elements.
[0081] The following are the claims.
Claims
Claim 1 A method for estimating the maximum flow rate of a heart pump, the method comprising: receiving data that relates motor current, measured at a predetermined speed of a motor of the heart pump, to differential pressure; extrapolating a first value for the motor current at which the differential pressure is zero based on the received data; determining a maximum flow rate value through the heart pump at the predetermined speed of the motor of the heart pump, at least in part based on the first value for the motor current; and a method. Claim 2 The method of claim 1, wherein extrapolating the first value comprises linearly extrapolating the first value based on a first portion of the data that relates motor current to differential pressure. Claim 3 The data that relates motor current to differential pressure includes a second portion, and the first portion and the second portion of the data are separated by an elbow region; extrapolating the first value based on the first portion of the data comprises: identifying the elbow region within the data; and identifying the first portion of the data to be used for extrapolation based on the identified elbow region. The method of claim 2. Claim 4 The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point; identifying the first portion of the data to be used for extrapolation based on the identified elbow region comprises identifying the first portion of the data outside the elbow region. The method of claim 3. Claim 5 Determining the maximum flow rate value through the heart pump at the predetermined motor speed comprises extrapolating the maximum flow rate value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the predetermined motor speed. The method of claim 1. Claim 6 The method of claim 5, wherein extrapolating the maximum flow rate value comprises linearly extrapolating the maximum flow rate value based on a first portion of the flow curve. Claim 7 The flow curve includes a second portion, and the first portion and the second portion of the flow curve are separated by an elbow region; extrapolating the maximum flow rate value based on the first portion of the flow curve comprises: identifying the elbow region within the flow curve; Identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region The method according to claim 6, comprising: **Claim 8** The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, The method according to claim 7, wherein identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region includes identifying the first portion of the flow curve outside the elbow region. **Claim 9** The method according to claim 5, further comprising generating an average flow curve at least in part based on measured data from a plurality of heart pumps, wherein the flow curve relating the flow through the pump to the motor current at the predetermined motor speed is the average flow curve. **Claim 10** The measured data from the plurality of heart pumps comprises a plurality of flow curves, each of the plurality of flow curves relating the flow through the pump to the motor current at a respective predetermined motor speed of one of the plurality of pumps, Generating the average flow curve comprises: Aligning the maximum measured flow of each of the plurality of curves; Generating the average flow curve based on the aligned plurality of flow curves The method according to claim 9, comprising: **Claim 11** The method according to claim 1, further comprising configuring the heart pump to estimate the flow through the heart pump during operation at least in part based on the maximum flow value. **Claim 12** Configuring the heart pump to estimate the flow through the heart pump during operation includes associating the maximum flow value and the predetermined motor current speed in at least one memory of the heart pump. The method according to claim 11. **Claim 13** The method according to claim 1, further comprising generating an average curve relating the motor current at the predetermined speed of the motor to the differential pressure at least in part based on measured data from a plurality of heart pumps, wherein the data relating the motor current to the differential pressure comprises the average curve relating the motor current to the differential pressure. **Claim 14** The measured data from the plurality of heart pumps comprises a plurality of curves, each of the plurality of curves relating motor current to differential pressure for one of the plurality of pumps, and generating the average curve relating motor current to differential pressure comprises aligning the maximum motor current of each of the plurality of curves, generating the average curve based on the aligned plurality of curves The method of claim 13, comprising.
15. A heart pump, a rotor, a motor configured to drive the rotation of the rotor at one or more speeds, at least one controller comprising the at least one controller is controlling the motor to operate at a first speed of the one or more speeds, measuring the motor current of the motor while adjusting a differential pressure across the heart pump, and generating data relating the motor current of the motor at the first speed to the differential pressure, extrapolating a first value for the motor current at which the differential pressure is zero based on the measured data, determining, at least in part, a maximum flow value through the heart pump at the first speed of the motor based on the first value for the motor current, configuring the heart pump to measure flow through the heart pump, at least in part, based on the determined maximum flow value A heart pump configured to perform.
16. The heart pump of claim 15, wherein extrapolating the first value comprises linearly extrapolating the first value based on a first portion of the data relating motor current to differential pressure.
17. The data relating motor current to differential pressure comprises a second portion, and the first portion and the second portion of the data are separated by an elbow region, Based on the first portion of the data, extrapolating the first value comprises identifying the elbow region within the data, identifying the first portion of the data to be used for extrapolation based on the identified elbow region The heart pump of claim 16, comprising.
18. The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point. Identifying the first portion of the data to be used for extrapolation based on the identified elbow region includes identifying the first portion of the data outside the elbow region, the heart pump of claim 17.
19. Determining the maximum flow value through the heart pump at a given motor speed includes extrapolating the maximum flow value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the given motor speed, the heart pump of claim 15.
20. Extrapolating the maximum flow value includes linearly extrapolating the maximum flow value based on a first portion of the flow curve, the heart pump of claim 19.
21. The flow curve includes a second portion, and the first portion of the flow curve and the second portion of the flow curve are separated by an elbow region. Based on the first portion of the flow curve, extrapolating the maximum flow value includes identifying the elbow region within the flow curve; and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region. The heart pump of claim 19.
22. The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point. Identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region includes identifying the first portion of the flow curve outside the elbow region, the heart pump of claim 21.
23. The at least one controller is further configured to generate an average flow curve, at least in part, based on measured data from a plurality of heart pumps, and the flow curve that relates the flow through the pump to the motor current at the given motor speed is the average flow curve, the heart pump of claim 19.
24. The measured data from the plurality of heart pumps comprises a plurality of flow curves, each of the plurality of flow curves relating the flow through the pump to the motor current at a given motor speed of one of the plurality of pumps, and generating the average flow curve includes aligning the maximum measured flow of each of the plurality of curves. generating the average flow curve based on the integrated plurality of flow curves The heart pump according to claim 23, comprising: **Claim 25** Configuring the heart pump to estimate flow through the heart pump includes associating the maximum flow value and the predetermined motor current speed in at least one memory of the heart pump. The heart pump according to claim 15. **Claim 26** The at least one controller is further configured to generate an average curve that relates motor current at a predetermined speed of the motor to differential pressure, at least in part, based on measured data from a plurality of heart pumps. The data that relates motor current to differential pressure comprises the average curve that relates motor current to differential pressure. The heart pump according to claim 15. **Claim 27** The measured data from the plurality of heart pumps comprises a plurality of curves, each of the plurality of curves relating motor current to differential pressure for one of the plurality of pumps. Generating the average curve that relates motor current to differential pressure comprises: aligning the maximum motor current of each of the plurality of curves; generating the average curve based on the aligned plurality of curves; The heart pump according to claim 26, comprising: **Claim 28** A controller for a heart pump, the controller comprising: at least one hardware processor; The at least one hardware processor: receives data that relates motor current to differential pressure, measured for a predetermined speed of a motor of the heart pump; extrapolates a first value for the motor current at which the differential pressure is zero, based on the received data; determines, at least in part, a maximum flow value through the heart pump at the predetermined speed of the motor of the heart pump, based on the first value for the motor current; configures the controller to determine flow through the heart pump, at least in part, based on the determined maximum flow value; A controller configured to perform the above. **Claim 29** Extrapolating the first value includes linearly extrapolating the first value based on a first portion of the data that relates motor current to differential pressure. The controller according to claim 28. **Claim 30** The data relating the motor current to the differential pressure includes a second portion, and the first portion and the second portion of the data are separated by an elbow region, Extrapolating the first value based on the first portion of the data is identifying the elbow region within the data, and identifying the first portion of the data to be used for extrapolation based on the identified elbow region The controller according to claim 29, comprising.
31. The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, Identifying the first portion of the data to be used for extrapolation based on the identified elbow region includes identifying the first portion of the data outside the elbow region. The controller according to claim 30.
32. Determining the maximum flow value through the heart pump at the predetermined motor speed includes extrapolating the maximum flow value through the heart pump from a flow curve that relates the flow through the pump to the motor current at the predetermined motor speed. The controller according to claim 28.
33. Extrapolating the maximum flow value includes linearly extrapolating the maximum flow value based on the first portion of the flow curve. The controller according to claim 32.
34. The flow curve includes a second portion, and the first portion and the second portion of the flow curve are separated by an elbow region, Extrapolating the maximum flow value based on the first portion of the flow curve is identifying the elbow region within the flow curve, and identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region The controller according to claim 33, comprising.
35. The elbow region includes an elbow point and a predetermined number of samples on both sides of the elbow point, Identifying the first portion of the flow curve to be used for extrapolation based on the identified elbow region includes identifying the first portion of the flow curve outside the elbow region. The controller according to claim 34.
36. The at least one hardware processor is further configured to generate an average flow curve, at least in part, based on measured data from a plurality of heart pumps, wherein the flow curve that relates the flow through the pump to the motor current at the predetermined motor speed is the average flow curve, the controller of claim 32.
37. The measured data from the plurality of heart pumps comprises a plurality of flow curves, each of the plurality of flow curves relating the flow through the pump to the motor current at a respective predetermined motor speed of one of the plurality of pumps, and generating the average flow curve comprises aligning the respective maximum measured flows of the plurality of curves, and generating the average flow curve based on the aligned plurality of flow curves the controller of claim 36.
38. Configuring the heart pump to estimate the flow through the heart pump comprises associating, in at least one memory of the heart pump, the maximum flow value and the predetermined motor current speed, the controller of claim 28.
39. The at least one hardware processor is further configured to generate, at least in part, an average curve that relates the motor current at the predetermined speed of the motor to the differential pressure, based on measured data from a plurality of heart pumps, wherein the data that relates the motor current to the differential pressure comprises the average curve that relates the motor current to the differential pressure, the controller of claim 28.
40. The measured data from the plurality of heart pumps comprises a plurality of curves, each of the plurality of curves relating the motor current to the differential pressure for one of the plurality of pumps, and generating the average curve that relates the motor current to the differential pressure comprises aligning the respective maximum motor currents of the plurality of curves, and generating the average curve based on the aligned plurality of curves the controller of claim 39.