Adaptive flow calculations for mechanical circulatory assist devices
Patent Information
- Application Number
- JP2024553634
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-10
- Filing Date
- 2023-03-07
- Publication Date
- 2025-03-26
Smart Images

Figure 2025508566000001_ABST
Abstract
Description
[Technical field]
[0001] This application relates to adaptive flow calculations, and more particularly, to adaptive flow calculations for mechanical circulatory assist devices. [Background technology]
[0002] Fluid pumps, such as blood pumps, are used in the medical field for a wide variety of applications and purposes. An intravascular blood pump is a pump that can be advanced through a patient's vascular system, i.e., veins and / or arteries, to a location in the patient's heart or to another location in the patient's circulatory system. For example, an intravascular blood pump may be inserted through a catheter and positioned to span a heart valve. The intravascular blood pump is typically disposed at the end of the catheter. Once in place, the pump may be used to assist the heart and pump blood through the circulatory system, thus temporarily reducing 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 chamber of the heart, such as the left ventricle, to assist the heart. In this case, the blood pump may be inserted via the femoral artery using a hollow catheter and guided up to and into the left ventricle of the patient's heart. From this position, the blood pump inlet draws in blood and the blood pump outlet expels blood into the aorta. In this way, the function of the heart may be replaced or at least assisted by the action of the pump.
[0004] The intravascular blood pumps are typically connected to respective external heart pump controllers that control the heart pumps, such as motor speed, and collect and display operational data regarding the blood pumps, such as cardiac signal levels, battery temperature, blood flow rate, and plumbing integrity. An exemplary heart pump controller is available from Abiomed, Inc. under the trade name Automated Impella Controller®. The controller issues an alarm when operational data values fall outside of predetermined values or ranges, e.g., leakage, aspiration, and / or pump malfunction is detected. The controller may include a video display screen upon which a graphical user interface configured to display the operational data and / or alarms is displayed. Summary of the Invention [Means for solving the problem]
[0005] Described herein are systems and methods for calculating flow rate through a mechanical circulatory device.
[0006] In some embodiments of the present technology, a method for determining a flow rate through a circulatory assist device is provided, the method including receiving a motor current signal from a motor of the circulatory assist device, determining a measured current value within a time window of the motor current signal at which the flow rate through the circulatory assist device is maximum, determining an offset value based at least in part on the measured current value, determining whether an abnormal condition has occurred based at least in part on the received motor current signal, adjusting the motor current signal based at least in part on the offset value and the determination of whether an abnormal condition has occurred to generate an adjusted motor current signal, and determining a flow rate through the circulatory assist device based at least in part on the adjusted motor current signal.
[0007] In one aspect, the measured current value is the maximum or minimum current value within a time window.
[0008] In one aspect, the measured current value is the minimum current value within a time window.
[0009] In one embodiment, the time window is 1 to 4 seconds in length.
[0010] In one embodiment, the time window is 2 seconds long.
[0011] In one aspect, determining the offset value is further based at least in part on the speed of the motor.
[0012] In one aspect, the method further includes storing, in at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds, and determining the offset value includes determining an expected current value associated with a maximum flow rate at a speed of the motor based at least in part on the stored data, and determining the offset value as a difference between the current value and the expected current value.
[0013] In one aspect, adjusting the motor current signal includes adding an offset value to the motor current signal to generate the adjusted motor current signal.
[0014] In one aspect, determining the flow rate through the circulatory assist device includes determining the flow rate further based at least in part on stored data relating flow rates to motor current values at speeds of the motor.
[0015] In one aspect, adjusting the motor current signal to generate an adjusted motor current signal based at least in part on the offset value and a determination of whether an abnormal condition has occurred includes using an offset value of zero when it is determined that an abnormal condition has occurred.
[0016] In one aspect, determining whether an abnormal condition has occurred includes determining whether the circulatory assist device is in an aspiration state or a detachment state.
[0017] In one aspect, the method further includes storing the pre-determined offset value in a buffer; and storing the determined offset value in the buffer.
[0018] In one aspect, each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on a speed of the motor at the time the offset value is determined, and storing the determined offset value in the buffer includes scaling the determined offset value based on a speed of the motor and storing the scaled determined offset value in the buffer.
[0019] In one aspect, adjusting the motor current signal includes adjusting the motor current signal based at least in part on a median of predetermined offset values in the buffer.
[0020] In one aspect, adjusting the motor current signal includes transforming the median value based on a current speed of the motor, and adjusting the motor current signal based on the transformed median value.
[0021] In one aspect, the method further includes storing the determined offset value in a buffer only if it is determined that no abnormal condition has occurred.
[0022] In one aspect, the method further includes filtering the received motor current signal, and adjusting the motor current signal includes adjusting the filtered motor current signal.
[0023] In one aspect, the method further includes displaying, on at least one graphical user interface, an indication of the determined flow rate through the circulatory assist device.
[0024] In some embodiments of the present technology, a circulatory assist device is provided, the circulatory assist device comprising 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 configured to receive a motor current signal from the motor, determine a measured current value within a time window of the motor current signal at which a flow rate through the circulatory assist device is maximum, determine an offset value based at least in part on the measured current value, determine whether an abnormal condition occurs based at least in part on the received motor current signal, adjust the motor current signal based at least in part on the offset value and the determination of whether an abnormal condition occurs to generate an adjusted motor current signal, and determine a flow rate through the circulatory assist device based at least in part on the adjusted motor current signal.
[0025] In one aspect, the measured current value is the maximum or minimum current value within a time window.
[0026] In one aspect, the measured current value is the minimum current value within a time window.
[0027] In one embodiment, the time window is 1 to 4 seconds in length.
[0028] In one embodiment, the time window is 2 seconds long.
[0029] In one aspect, determining the offset value is further based at least in part on the speed of the motor.
[0030] In one aspect, the at least one controller is further configured to store, in the at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds, and determining the offset value includes determining an expected current value associated with a maximum flow rate at a speed of the motor based at least in part on the stored data, and determining the offset value as a difference between the current value and the expected current value.
[0031] In one aspect, adjusting the motor current signal includes adding an offset value to the motor current signal to generate the adjusted motor current signal.
[0032] In one aspect, determining the flow rate through the circulatory assist device includes determining the flow rate further based at least in part on stored data relating flow rates to motor current values at speeds of the motor.
[0033] In one aspect, adjusting the motor current signal to generate an adjusted motor current signal based at least in part on the offset value and a determination of whether an abnormal condition has occurred includes using an offset value of zero when it is determined that an abnormal condition has occurred.
[0034] In one aspect, determining whether an abnormal condition has occurred includes determining whether the circulatory assist device is in an aspiration state or a detachment state.
[0035] In one aspect, the at least one controller is further configured to store the predetermined offset value in a buffer and to store the determined offset value in the buffer.
[0036] In one aspect, each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on a speed of the motor at the time the offset value is determined, and storing the determined offset value in the buffer includes scaling the determined offset value based on a speed of the motor and storing the scaled determined offset value in the buffer.
[0037] In one aspect, adjusting the motor current signal includes adjusting the motor current signal based at least in part on a median of predetermined offset values in the buffer.
[0038] In one aspect, adjusting the motor current signal includes transforming the median value based on a current speed of the motor, and adjusting the motor current signal based on the transformed median value.
[0039] In one aspect, the at least one controller is further configured to store the determined offset value in a buffer only if it is determined that no abnormal condition has occurred.
[0040] In one aspect, the at least one controller is further configured to filter the received motor current signal, and adjusting the motor current signal includes adjusting the filtered motor current signal.
[0041] In one aspect, the at least one controller is further configured to display an indication of the determined flow rate through the circulatory assist device on the at least one graphical user interface.
[0042] In some embodiments of the present technology, a controller for a circulatory assist device is provided, the controller comprising at least one hardware processor configured to receive a motor current signal from a motor of the circulatory assist device, determine a measured current value within a time window of the motor current signal at which a flow rate through the circulatory assist device is maximum, determine an offset value based at least in part on the measured current value, determine whether an abnormal condition occurs based at least in part on the received motor current signal, adjust the motor current signal based at least in part on the offset value and the determination of whether an abnormal condition occurs to generate an adjusted motor current signal, and determine a flow rate through the circulatory assist device based at least in part on the adjusted motor current signal.
[0043] In one aspect, the measured current value is the maximum or minimum current value within a time window.
[0044] In one aspect, the measured current value is the minimum current value within a time window.
[0045] In one embodiment, the time window is 1 to 4 seconds in length.
[0046] In one embodiment, the time window is 2 seconds long.
[0047] In one aspect, determining the offset value is further based at least in part on the speed of the motor.
[0048] In one aspect, the at least one hardware processor is further configured to store, in the at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds, and determining the offset value includes determining an expected current value associated with a maximum flow rate at a speed of the motor based at least in part on the stored data, and determining the offset value as a difference between the current value and the expected current value.
[0049] In one aspect, adjusting the motor current signal includes adding an offset value to the motor current signal to generate the adjusted motor current signal.
[0050] In one aspect, determining the flow rate through the circulatory assist device includes determining the flow rate further based at least in part on stored data relating flow rates to motor current values at speeds of the motor.
[0051] In one aspect, adjusting the motor current signal to generate an adjusted motor current signal based at least in part on the offset value and a determination of whether an abnormal condition has occurred includes using an offset value of zero when it is determined that an abnormal condition has occurred.
[0052] In one aspect, determining whether an abnormal condition has occurred includes determining whether the circulatory assist device is in an aspiration state or a detachment state.
[0053] In one aspect, the at least one hardware processor is further configured to store the predetermined offset value in a buffer and to store the determined offset value in the buffer.
[0054] In one aspect, each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on a speed of the motor at the time the offset value is determined, and storing the determined offset value in the buffer includes scaling the determined offset value based on a speed of the motor and storing the scaled determined offset value in the buffer.
[0055] In one aspect, adjusting the motor current signal includes adjusting the motor current signal based at least in part on a median of predetermined offset values in the buffer.
[0056] In one aspect, adjusting the motor current signal includes transforming the median value based on a current speed of the motor, and adjusting the motor current signal based on the transformed median value.
[0057] In one aspect, the at least one hardware processor is further configured to store the determined offset value in a buffer only if it is determined that no abnormal condition has occurred.
[0058] In one aspect, the at least one hardware processor is further configured to filter the received motor current signal, and adjusting the motor current signal includes adjusting the filtered motor current signal.
[0059] In one aspect, the at least one hardware processor is further configured to display an indication of the determined flow rate through the circulatory assist device on the at least one graphical user interface. [Brief description of the drawings]
[0060] [Figure 1A] 1 illustrates a pump system in accordance with some embodiments of the present technology. [Figure 1B] FIG. 1B is a cross-sectional view of a portion of the pump system of FIG. 1A. [Diagram 2] FIG. 13 illustrates the change in measured minimum motor current of a pump system over time. [Diagram 3] 1 is a flowchart of a process for adapting a motor current signal used to determine flow rate through a pump system, in accordance with some embodiments of the present technique; [Figure 4] 13A-13C illustrate generally a process for determining flow rate based on sensed motor current, in accordance with certain embodiments of the present technique; [Diagram 5] A number of flow curves are illustrated at different motor speeds, which illustrate the relationship between flow rate through the pump system and motor current. [Figure 6] 11 is a flowchart of a process for determining an offset value used to adjust a measured motor current value in accordance with some embodiments of the present technique. [Figure 7] 13A-13C are schematic diagrams illustrating shifting a flow curve based on a determined offset value, in accordance with some embodiments of the present technique; [Figure 8] 14 illustrates the results of adjusting the motor current of a pump system by applying an offset value to the measured motor current, in accordance with some embodiments of the present technique. [Figure 9A] 13 illustrates flow calculations when motor current regulation remains active despite an abnormal condition being detected. [Figure 9B] Same as above. [Figure 9C] Same as above. [Figure 10A] 13 illustrates a technique for more accurately calculating flow rate when a suction condition is detected, in accordance with some embodiments of the present technology. [Figure 10B] Same as above. [Figure 10C] Same as above. [Figure 11A] 10 illustrates a technique for more accurately calculating flow rate when a separation condition is detected, in accordance with some embodiments of the present technology. [Figure 11B] Same as above. [Figure 11C] Same as above. [Figure 11D] Same as above. [Figure 12] 1 illustrates a flowchart of a process for adapting a motor current signal used to determine flow rate through a pump system, in accordance with some embodiments of the present technique. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0061] Conventionally, blood flow through a mechanical circulatory assist device, such as a catheter-based heart pump inserted into a patient's ventricle, is calculated based on motor speed and motor current sensed from the pump motor. For example, data characterizing the relationship between flow rate and motor current (also referred to herein as Q vs. MC curves) for each of a number of motor speeds may be stored, and the stored data and measured motor current values may be used to estimate the flow rate when the pump motor is operated at a particular speed. In some intravascular heart pump systems, the pump motor is located inside the patient's body near the pump. For example, once in the patient, the pump may be located in the left ventricle, or the pump motor may be located in the aorta across the aortic valve. In such configurations, the sensed motor current may be deemed sufficiently stable to accurately estimate the flow rate using the techniques described above. Some pump systems may place the pump motor outside the patient's body (and thus necessarily at a distance from the pump) to reduce the maximum outer diameter of the pump when inserted and removed from the patient. In such configurations, the sensed motor current may not be sufficiently stable over time to accurately calculate the flow rate through the pump. As described in more detail below, some embodiments of the present technology take into account instability in the sensed motor current in such configurations by making continuous or near-continuous adjustments (e.g., to the motor current signal) during the flow calculation process.
[0062] A pump system 100 for use with some embodiments of the present technology is shown in Figures 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 having an opening that may be at least partially covered with a resilient material. A proximal portion of the pump housing 104 extends to and is mounted within the hollow interior of the outflow tube 106, and a distal portion of the pump housing 104 extends distally beyond the distal end of the outflow tube 106. The exposed opening of 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 number of openings that form an outlet 118 of the pump 100. A rotor 108 is rotatably mounted between a distal bearing 110 and a proximal bearing 112 and is coupled to a 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 and into a handle 130, where it is coupled to a motor 150 housed in the handle 130. The proximal end of the handle 130 is coupled to a control unit 200 via a cable 140. Fluid may be circulated through the catheter 120 proximate the drive shaft 114 and within the spaces surrounding the distal and proximal bearings 110, 112 to lubricate those components and reduce friction during operation of the pump 100.
[0063] 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 the other components of the control unit 200 (e.g., the memory 202, the user interface 206, the current sensor 208) and configured to control one or more operations of the pump 100. As a non-limiting example, the control unit 200 may be implemented as an Automated Impella Controller® from Abiomed, Inc., Danvers, MA. In some aspects, the memory 202 is included as part of the processor 204 rather than being provided as a separate component.
[0064] During operation, the processor 204 is configured to control power provided to the motor 150 by a power supply line (not shown) in the cable 140 (e.g., by controlling a power supply (not shown)), thereby controlling the speed of the motor 150. The current sensor 208 may be configured to sense a motor current associated with an operating state of the motor 150, and the processor 204 may be configured to receive an output of the current sensor 208 as a motor current signal. The processor 204 may be further configured to determine a flow rate through the pump 100 based at least in part on the motor current signal and the motor speed, as described in more detail below. The current sensor 208 may be included in the control unit 200 or may be located along any portion of the power supply line of the cable 140. Additionally or alternatively, the current sensor 208 may be included in 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 coupled to the processor 204 and the motor 150.
[0065] Memory 202 may be configured to store computer-readable instructions and other information for various functions of the components of control unit 200. In one aspect, memory 202 includes volatile and / or non-volatile memory, such as an Electrically Erasable Programmable Read Only Memory (EEPROM).
[0066] The user interface 206 may be configured to receive user input via one or more buttons, switches, knobs, etc. Additionally, the user interface 206 may include a display configured to display information and one or more indicators, such as light indicators, audio indicators, etc., to convey information and / or provide alerts regarding the operation of the pump 100.
[0067] The pump 100 is designed to be insertable into a patient's body, for example into the left ventricle of the heart, using an introducer system. In one aspect, the housing 104, rotor 108, and outflow tube 106 are radially compressible to allow the pump 100 to achieve a relatively small outer diameter, for example 9 Fr (3 mm), during insertion. When the pump 100 is inserted into the patient, for example into the left ventricle, the handle 130 and motor 150 remain disposed outside the patient's body. In operation, the motor 150 is controlled by the processor 204 to drive the rotation of the drive shaft 114 and rotor 108 to transport blood from the inlet 116 to the outlet 118. It should be appreciated that the rotor 108 may be rotated in the opposite direction by the motor 150 to transport blood in the opposite direction (in which case the opening in 118 forms the inlet and the opening in 116 forms the outlet). In one embodiment, pump 100 is intended for use during high-risk procedures of up to six hours in duration, although it should be understood that the technology described herein is not limited to any particular type of procedure and / or duration of use.
[0068] Because the motor 150 of the pump 100 drives the rotation of the rotor 108 via a flexible drive shaft 114 disposed within the catheter 120, the motor current sensed by the current sensor 204 is not stable, but instead varies over time, particularly within an initial period after placement of the pump within the patient's heart (e.g., within the first 30 minutes after placement). The instability of the sensed motor current signal may be caused by changes in the characteristics associated with the rotation of the flexible drive shaft 114 (e.g., reduced friction), among other things, due to the viscosity of the lubricating fluid also changing during operation. FIG. 2 illustrates an example of how a minimum motor current determined from a portion of the motor current signal decreases over time during operation of the pump 100. In the graph of FIG. 2, the y-axis represents the minimum motor current (in mA) determined during a 2 second time window of the sensed motor current signal, and the x-axis represents time. The inventors have recognized and appreciated that conventional flow calculation techniques or algorithms that assume a stable motor current signal cannot be used to accurately calculate flow through pump 100 where the motor current changes over time. To this end, some embodiments of the present technology account for changes in the motor current signal sensed from pump 100 by adaptively updating the motor current signal before calculating flow based on the motor current signal.
[0069] The flow rate calculation techniques described herein may be implemented in a control unit 200 of the pump system 100. For example, computer readable instructions for one or all of the techniques described herein may be stored in memory 202 and executed by one or more processors 204 of the control unit 200 during use of the pump 100. Additionally, parameters and settings of one or more processors used in the techniques described herein, such as predetermined thresholds, predetermined window lengths, and / or any other parameters and settings of the techniques described herein, may be stored in the memory 202.
[0070] 3 is a flowchart of a process 300 for determining a flow rate through a mechanical circulatory assist device (e.g., pump 100) based at least in part on a motor current signal associated with the device's motor, according to some embodiments of the present technology. In act 310, a motor current signal is received, for example, from one or more motor current sensors 208, as described above in connection with FIG. 1A. The process 300 then proceeds to act 320, where a time window of a predetermined length (e.g., 1-4 seconds) of the motor current signal is analyzed. In some embodiments, the predetermined length of the time window is 2 seconds. It should be appreciated that other durations less than or greater than 2 seconds (e.g., 1 second, 5 seconds, etc.) may be used for the predetermined length of the time window of act 320.
[0071] Within the time window, a motor current value associated with a maximum flow rate through the pump is determined. The flow rate through the pump is based on the pressure difference between the inlet and outlet of the pump through which blood is delivered when the pump is operating. During systole, the pressure difference between the inlet and outlet of the pump is zero, resulting in a maximum flow rate through the pump. Depending on the pump design, the minimum motor current value during the time window may correspond to the maximum flow rate (in systole), or the maximum motor current value during the time window may correspond to the maximum flow rate (in systole). Thus, the techniques described herein may be configured to determine the minimum or maximum motor current value within the time window depending on the type of pump design.
[0072] Next, process 300 proceeds to act 330, where it is determined whether an anomalous event has occurred. Continuously or nearly continuously adjusting the motor current during operation of the pump may provide a reliable calculation of flow rate under normal operating conditions. However, the inventors have recognized and appreciated that continuing to adjust the motor current when the pump is not operating normally may result in erroneous flow rate calculations. Thus, in some embodiments, the presence of an "anomalous event" during operation of the pump is detected, and adaptation of the motor current using the techniques described herein is modified (e.g., suspended) during the occurrence of the anomalous event. An anomalous event may include, but is not limited to, an aspiration event, in which the inlet of the pump becomes blocked with cardiac tissue or other material, thereby impeding flow rate through the pump, and a detachment event, which may occur before an aspiration event. Non-limiting examples of techniques for detecting aspiration and detachment events are described in more detail below. An anomalous event other than an aspiration event and a detachment event may also be detected and motor current adaptation suspended in response to the detection, and embodiments of the present technology are not limited in this respect.
[0073] If it is determined at act 330 that an abnormal event has not been detected (e.g., the pump is operating under normal conditions), the process 300 proceeds to act 340, where an offset value is determined. An exemplary technique for determining an offset value according to some embodiments is described below in conjunction with the flowchart of FIG. 6. After determining the offset value, the process 300 proceeds to act 350, where the measured motor current signal is adjusted based at least in part on the offset value determined at act 340. The process 300 then proceeds to act 360, where a flow rate through the pump is determined based at least in part on the adjusted motor current signal. An exemplary example of determining a flow rate through the pump based on a motor current signal is discussed in further detail below with respect to FIGS. 4 and 5. The process 300 then returns to act 320, where a measured current value associated with a maximum flow rate within a new time window (e.g., the next 2 second time window) is determined, and acts 320-360 may be repeated, thereby adapting the motor current signal in a "continuous" manner until a flow rate calculation is no longer desired.
[0074] As discussed above, the inventors have recognized and appreciated that when the pump is not operating normally (e.g., when an abnormal event is detected in act 330 of process 300), the technique of continuously adapting the motor current signal based on the calculated offset values, as discussed above in connection with acts 340 and 350, may result in an erroneous flow determination in act 360. Thus, when an abnormal event is detected in act 330, process 300 proceeds to act 370, where one or more pre-determined offset values are used to adjust the motor current signal measured in act 350. For example, each time an offset value is determined in act 340, the determined offset value may be stored in a memory (e.g., memory 202). Upon detecting an abnormal event, the motor current signal may be adjusted using the pre-determined offset value stored in the memory. In this manner, while the abnormal event continues to be detected in act 330, the continuous adjustment of the motor current is interrupted, and the same pre-determined offset value is used to adjust the motor current signal during each new time window.
[0075] In some embodiments, rather than storing a single pre-determined offset value in memory, multiple determined offset values are stored in a buffer in memory, and the offset value used to adjust the motor current signal during an abnormal event is based on the multiple offset values stored in the buffer. For example, the buffer may store the five most recently determined offset values, and the median of the five offset values stored in the buffer may be used to adjust the motor current signal during an abnormal event. Other statistical metrics other than the median of the values in the buffer may alternatively be used, including but not limited to an average of the stored values or a weighted average of the stored values. It should be appreciated that the buffer may store any suitable number of values, and storing five values is just one possibility. For example, the buffer may be configured to store two values, three values, ten values, or more than ten values. By storing multiple offset values in the buffer and selecting an offset value based on the multiple stored offset values, the motor current adaptation exhibits hysteresis that may allow for smoother transitions in the motor current adjustment than if only a single pre-determined offset value was stored and used in act 370. In some embodiments, the offset value is added to the buffer only if no anomalous value is detected (e.g., during normal operation of the pump) in act 330. In this way, the offset value in the buffer remains static during the course of an anomalous event.
[0076] 4A-C illustrate a schematic of a technique for calculating flow rate based on a motor current signal within a time window, according to some embodiments. FIG. 4A illustrates a motor current (MC) signal during a single cardiac cycle, with motor current in milliamps (mA) represented on the y-axis and time represented on the x-axis. Based on the value of the motor current signal, a corresponding flow rate through the pump may then be calculated using a stored relationship relating flow rate values through the pump to motor current (also referred to herein as a "flow rate curve" or "Q vs. MC curve"), an example of which is illustrated in FIG. 4B, with flow rate represented on the y-axis and motor current represented on the x-axis. For example, values represented graphically as a flow rate curve may be stored in memory as a look-up table used to relate motor current values to flow rate values at particular motor speeds.
[0077] The flow curves at different motor speeds may be determined during an "offline" test procedure that approximates the normal operation of the device in a patient. During the procedure, the flow rate and motor current are measured at different motor speeds, and multiple flow curves are determined, one for each motor speed, based on the measured data. Figure 4B shows multiple flow curves determined for multiple pumps tested at the same motor speed. The average flow curve across the multiple tested pumps may be stored and used to calculate the flow rate during operation of the pump.
[0078] Figure 5 shows multiple flow curves at different motor speeds, labeled P1 through P9 in Figure 5, with P1 being the lowest motor speed and P9 being the highest. Similar to the plot of Figure 4B illustrating measurements at a single motor speed, the plot of Figure 5 also shows multiple flow curves at each of the motor speeds P1 through P9. For each motor speed, values corresponding to a single flow curve (e.g., as an average of the illustrated flow curves) may be stored as a look-up table that may be used to calculate the flow rate during operation of the pump.
[0079] FIG. 6 illustrates an example implementation of a process 340 for determining an offset value used to adaptively adjust a motor current signal of a pump, according to some embodiments. In act 610, a current motor speed is determined. The current motor speed may be determined in any suitable manner. For example, the motor may be configured to operate at one of a number of fixed speeds (e.g., designated as P1-P9), and the current motor speed may be determined as the fixed speed at which the motor is currently set to operate. The process then proceeds to act 620, where an expected motor current value associated with a maximum flow rate through the pump at the current speed of the motor is determined. As discussed above in connection with FIG. 5, some embodiments store data describing the relationship between the flow rate through the pump and the motor current at each of a number of fixed motor speeds, also referred to herein as flow curves. The uppermost point along the y-axis of each of these flow curves represents the expected maximum flow rate and the corresponding expected motor current associated with that maximum flow rate when the motor is operating at the particular motor speed associated with the flow curve. Thus, by knowing the current speed of the motor, an expected motor current value associated with the maximum flow rate at the current motor speed can be determined by referencing the flow curve data associated with the motor speed.
[0080] The process of FIG. 6 then proceeds to act 630 where an offset value is determined based on a comparison of an expected motor current value when the flow rate was determined to be maximum in act 620 to a measured or "actual" motor current value determined within a particular time analysis window of the motor current signal.
[0081] As discussed above, the flow rate through the pump is greatest during the cardiac cycle during systole because the pressure difference between the inlet and outlet of the pump at that time is minimal (e.g., zero). For pump designs in which the minimum motor current value corresponds to the maximum flow rate, the minimum motor current value within the analysis time window is determined as the measured motor current value used for comparison in act 630 of the process of FIG. 6. In the example of FIG. 4A, the minimum motor current value occurs just after 1 second during the time window. The difference between the measured minimum motor current value and the motor current value associated with the top point of the relevant flow curve (i.e., the expected motor current value at maximum flow rate for the current motor speed) is used to determine an offset value for the analysis time window that is used to adjust the motor current signal before determining the flow rate. For example, in some embodiments, the measured motor current signal may be adjusted using the following equation: adj mc =MC+(Min mc -C) where MC is the pump motor current, C is the expected motor current at maximum flow rate for the current pump speed, and Min mc is the minimum motor current measured within the analysis time window, and adj mc is the conditioned motor current signal, which can then be used to calculate the flow rate through the pump.
[0082] In some embodiments of the present technology, the shape of the flow curve used to determine the flow rate during operation of the pump is assumed to be the same for a given motor speed across all pumps of the same design (e.g., the designs shown in Figures 1A and 1B). Thus, a common set of flow curves may be used to calculate flow rates based on measured motor currents, and adjusting the motor current based on a determined offset value as described herein can be accomplished by shifting the flow curve at the motor's current speed to the right or left along the motor current axis and then performing the flow calculation using the value of the shifted flow curve.
[0083] Shifting the flow curve by applying an offset value according to some embodiments is shown diagrammatically in FIG. 7. A reference flow curve 710 may have been determined, for example, based on an offline analysis of multiple pumps whose flow rates and / or motor currents were measured during testing to derive values in the flow curve. Flow curve 712 shows an example of a hypothetical flow curve associated with an operational pump. As shown, flow curve 712 is located to the right of flow curve 710 in the plot, so the same motor current value corresponds to a lower flow rate for the reference pump compared to the operational pump. Thus, if the motor current signal was not adjusted in this situation, flow curve 710 would be assumed to be correct and the flow calculation would be erroneously low. It should be appreciated that because the flow curve is steep, even a small difference between the measured motor current and the expected motor current can lead to a large difference in the flow calculation.
[0084] Using the techniques described herein, including the assumption that the flow curve shape remains constant across multiple pumps, an offset value can be calculated to shift the flow curve 712 to the left to the location of the flow curve 710. For example, within the analysis time window, the minimum motor current may be determined, which corresponds to the top point (maximum flow rate) of the flow curve 712. In the example of FIG. 7, this value is approximately 280 mA. The expected motor current value corresponding to the maximum flow rate is the top point of the flow curve 710, shown in FIG. 7 as approximately 270 mA. Thus, in the example of FIG. 7, the offset value is 280 mA-270 mA=10 mA. Thus, the flow curve 712 may be shifted to the left an appropriate amount by subtracting an offset value of 10 mA from each of the data points of the flow curve 712.
[0085] The flow curve 714 shows another hypothetical curve 714 in which the measured value of the motor current corresponding to the maximum flow rate is lower than the expected value associated with the flow curve 712, which would result in an erroneously high flow rate calculation if the motor current was not adjusted. For example, without motor current adjustment, a measured motor current of 280 mA would result in a flow rate of about 4 l / min based on the reference flow curve 710, but the actual flow rate based on the flow curve 714 is substantially lower at about 2.25 l / min. To adjust the motor current before calculating the flow rate, the flow curve 714 may be shifted to the right by applying an offset value determined using the techniques described herein. For example, within the analysis time window, the minimum motor current corresponding to the top point (maximum flow rate) of the flow curve 714 may be determined. In the example of FIG. 7, this value is about 250 mA. The expected motor current value corresponding to the maximum flow rate is the top point of the flow curve 710, shown in FIG. 7 as about 270 mA. Thus, in the example of FIG. 7, the offset value is 250 mA-270 mA=-20 mA. Thus, the flow curve 714 may be shifted to the right an appropriate amount by adding an offset value of 20 mA (e.g., by subtracting an offset value of -20 mA) from each of the data points of the flow curve 714. By shifting the flow curve 714 to the right, the measured motor current signal may be adjusted upwards as shown in FIG. 8. In particular, FIG. 8 shows a measured motor current signal 810 and an adjusted motor current signal 820 after taking the offset value into account using the techniques described herein. In this manner, the measured motor current may be continuously adjusted prior to the flow calculation to provide a more accurate flow calculation based on the motor current signal.
[0086] Continuous adaptation of the measured pump motor current may be desired, for example, to accommodate instabilities in the motor current signal due to reasons other than changes in flow rate through the pump. However, the inventors recognize and appreciate that providing continuous adaptation of the motor current will only result in accurate flow rate calculations if adjustments are made while the pump is operating under normal conditions. As discussed above, there may be instances during operation of the pump where the pump is not operating normally. Accordingly, some embodiments aim to identify such abnormal conditions and modify the techniques of continuous motor current adaptation described herein to improve flow rate calculations during the occurrence of such abnormal conditions. Modification of the continuous motor current adaptation based on detection of an abnormal event in the pump operation is also referred to herein as a "dynamic offset."
[0087] 9A-9C show the effect of keeping the continuous motor current adjustment active during an anomalous event, leading to an overestimation of the flow rate during the anomalous event. FIG. 9A shows the motor current signal of a pump with the motor current (mA) represented on the y-axis and time represented on the x-axis. As can be observed, over time there is a characteristic change in the motor current signal that represents the occurrence of an anomalous event indicating that the pump is not operating normally. FIG. 9C shows that the continuous adjustment of the motor current signal using the techniques described herein remained active regardless of whether an anomalous event was detected. As shown in FIG. 9B, the arrows indicated the time points when the calculated flow rate was overestimated when the pump experienced an anomalous event (e.g., aspiration event) that prevented the normal flow rate through the pump.
[0088] 10A-10C show the effect of modifying the continuous motor current adjustment during an anomalous event, resulting in a calculation of the flow rate that would be expected during such an event. FIG. 10A shows a pump motor current signal with motor current (mA) represented on the y-axis and time represented on the x-axis. As shown in FIG. 10A, over time there is a characteristic change in the motor current signal of FIG. 10A that represents the occurrence of an anomalous event that indicates the pump is not operating normally. FIG. 10C shows that the continuous adjustment of the motor current signal using the techniques described herein is modified (e.g., turned off or "anchored") during a detected anomalous event. As shown in FIG. 10B, the arrows show that turning off the motor current adaptation during the occurrence of a detected anomalous event (e.g., aspiration event) reduces the calculated flow rate for the duration of the anomalous event, which would be expected since the normal flow rate through the pump is interrupted.
[0089] 11A-11D show another example of the effect of modifying the continuous motor current adjustment during an anomalous event resulting in the calculation of the flow rate that would be expected during such an event. FIG. 11A shows a motor current signal of a pump with motor current (mA) represented on the y-axis and time represented on the x-axis. As shown in FIG. 11A, the motor current signal includes multiple types of anomalous events. A detachment event can be observed as another type of anomalous event beginning near the 836 minute mark, prior to the suction event beginning near the 844 minute mark. FIG. 11C shows the output of the suction event detection logic indicating when detection of a suction event may occur. FIG. 11D shows that the continuous adjustment of the motor current signal using the techniques described herein is modified (e.g., turned off or "anchored") during both detected anomalous events to account for the presence of both a previous detachment event and a subsequent suction event. As shown in FIG. 10B, when motor current adaptation is turned off during a detected anomalous event, the calculated flow rate decreases smoothly for the duration of the anomalous event, which is what would be expected since the normal flow rate through the pump is interrupted.
[0090] Abnormal events, including but not limited to detachment and suction events, may be detected in any suitable manner, examples of which are discussed below. In some embodiments, the motor current signal is analyzed to detect one or more metrics used to detect anomalous events. Such metrics include, but are not limited to, pulsatility index (PI) and minimum bandpass signal (MBS).
[0091] Abnormal Event Detection Using Pulsatility Index In one aspect of the present technology, a pulsatility index is used to detect abnormal events, such as aspiration events, in a pump system (e.g., pump system 100). For example, in the field of medical ultrasound analysis of blood flow, a pulsatility index is defined as the difference between the peak systolic blood flow velocity and the end diastolic blood flow velocity divided by the time-averaged blood flow velocity. Such a pulsatility index is postulated to reflect the vascular resistance of the artery distal to the location of the acoustic insulator. As described herein, the principles of systolic and diastolic flow velocity pulsatility may be extended to the motor current signal of a blood pump to calculate a pulsatility index (PI) of the motor current and used to detect aspiration events.
[0092] For example, in one aspect of the present technology, to calculate the PI of the motor current signal, the maximum motor current (Max MC) and the minimum motor current (Min MC) within a predefined time duration window (Predefined Window) are each detected by the processor 204. Also, the average motor current (Avg MC) is calculated by the processor 204 by averaging the motor current samples within the predefined window.
number
[0093] With the maximum MC, minimum MC, and average MC now calculated, the processor 204 calculates the normalized PI of the motor current signal, as defined below.
number
[0094] When a suction event occurs, the PI of the motor current decreases and the minimum motor current increases. For example, this effect is shown in the graph of FIG. 10A, where the minimum motor current line follows the bottom of the pulsatile waveform corresponding to the raw motor current. As shown, the pulsatility of the raw motor current during a suction event is altered. In this regard, as shown in FIG. 10A, during a suction event, the PI of the motor current decreases and the minimum motor current increases relative to the minimum motor current measured outside (before and after) the suction event.
[0095] The reduction in pulsatility of the motor current exhibited during an aspiration event may be used to detect anomalous events, such as an aspiration event, during operation of the pump. Because the calculated PI is normalized (by dividing by the average motor current), a global threshold may be defined across all pump speeds and taking into account the decreasing motor current over time. The global threshold may then be compared to the calculated PI of the motor current when the pump is operating to detect if an aspiration event is occurring. For example, the threshold may be approximately 0.15 (e.g., + / - 10%), although it should be appreciated that different thresholds may alternatively be used.
[0096] Anomalous Event Detection Using Normalized Minimum Bandpass Signals An additional or alternative technique for detecting anomalous events, such as suction events, involves filtering the motor current signal using a bandpass filter that passes a predetermined range of frequencies, such as 0.5-5 Hz. The predetermined range, e.g., 0.5-5 Hz, may be selected based on a typical heart rate frequency range of 30-300 beats per minute (BPM). It should be appreciated that the predetermined range may be 0.5-3 Hz, 0.5-5 Hz, 0.5-8 Hz, 0.5-10 Hz, or any other suitable range that encompasses sufficient information regarding the pulsatility of the patient's heart rate. The 0.5-5 Hz range may balance sensitivity and stability when used to detect anomalous events, as described in more detail below.
[0097] The bandpass filtering is similar to extracting pulsatile information from the motor current signal, assuming a typical heart rate range of 30-300 BPM. The bandpass filter may be realized as a digital filter (e.g., filter software that may be stored in memory 202 and executed by processor 204) applied by processor 204. Alternatively, processor 204 may control one or more analog filter circuits (including suitable bandpass filters), e.g., included in control unit 200 or external to control unit 200, to bandpass filter the motor current signal. In another further embodiment, the bandpass filter may be realized using a combination of analog and digital filters.
[0098] In one aspect, the bandpass filter may be a 6th order elliptic filter that passes frequencies in a predetermined range, e.g., 0.5-5 Hz. As noted above, the normalization of signals used in the anomalous event detection techniques described herein allows for the use of absolute thresholds to detect such events even though the motor current may vary over time (e.g., follow a decreasing trend). Thus, the bandpass filtered signal may also be normalized. For example, in one aspect, the processor 204 normalizes the bandpass signal according to the following formula:
number
[0099] The processor 204 then calculates a normalized minimum bandpass signal index (referred to herein as the MBS index) by detecting the minimum of the normalized bandpass filtered signal within a predefined window of the signal and evaluating the MBS index against a threshold. In one aspect, the absolute value of the detected minimum within the predefined window (i.e., abs(MBS)) is compared to a threshold. Using the absolute value of the MBS may facilitate the determination of an anomalous event, such as an event from a motor current signal.
[0100] In some embodiments, abnormal events are detected by combining both the PI and MBS indices of the motor current described above. The combination of the PI and MBS indices in a single method may produce more sensitive and stable results for abnormal event detection. In the abnormal event detection techniques described herein, there is often a trade-off between sensitivity and specificity. In this regard, increasing the sensitivity of a detection technique may decrease its specificity.
[0101] 12 illustrates a flow chart of an example process 1200 for continuous adaptation of a motor current used to calculate flow rate through a mechanical circulatory assist device (e.g., pump 100), according to some embodiments. In act 1210, a motor current (MC) signal is received from a motor of the pump during operation. Process 1200 then proceeds to act 1212, where a two second window of the motor current signal is extracted for analysis. As discussed above in connection with act 320 of FIG. 3, any suitable length of time window may be used, and the example of using a two second window in process 1200 is not limiting.
[0102] Process 1200 then proceeds to act 1214, where the motor current signal within the two second window is analyzed to determine one or more characteristics of the motor current signal, examples of which include, but are not limited to, maximum MC, minimum MC, pulsatility index (PI), and minimum band pass signal (MBS). One or more of the determined characteristics are then provided as inputs to state machine 1216. State machine 1216 is configured to process the input values from act 1214 and determine whether an anomalous event has occurred (e.g., by comparing the input values to one or more thresholds). For example, determining whether an anomalous event has occurred is discussed in connection with act 330, above. In some embodiments, at least some of the characteristics determined in act 1214 may be used to determine other characteristics or metrics used to detect an anomalous event. For example, maximum MC and minimum MC may be used to determine PI and / or MBS, as described above. Additionally or alternatively, one or more characteristics (e.g., PI, MBS) determined in act 1214 may be provided directly to state machine 1216 for anomalous event detection. In some embodiments, the state machine is implemented as a finite state machine model, where the offset value used to adjust the motor current is scalar controlled by one or both of the PI and MBS values provided as inputs to the state machine (anchor vs. update).
[0103] If the state machine 1216 determines that an abnormal event has occurred (e.g., based on one or both of the PI and the MBS), then the process 1200 proceeds to act 1218, where no offset value is determined (or alternatively, the offset value is set to 0). The process 1200 then proceeds to acts 1220 and 1222, where an offset value for the motor current adaptation process is determined, e.g., as discussed above in connection with act 340 of process 300. As shown, some embodiments may store a plurality of pre-determined offset values in a buffer (e.g., corresponding to a 10 second window of the motor current signal), and a median value of the values stored in the buffer may be selected as the offset value to use to adapt the motor current in act 1222.
[0104] The motor current signal 1210 may be adapted in act 1228 based on the results of a previous act in process 1200. Adapting the motor current signal based on the determined offset value is discussed in more detail herein in connection with act 350 of process 300. As shown, in some embodiments, the motor current signal 1210 may be smoothed (e.g., filtered using a low pass filter) in act 1226 prior to adapting in act 1228. During the adaptation in act 1228, an offset value (e.g., based on the median minimum motor current in the buffer or 0) is subtracted from the minimum motor current when the differential pressure between the inlet and outlet of the pump is minimum (dp=0, shown as element 1224 in process 1200), which corresponds to the point in time when the flow rate through the pump is maximum (during systole), as described above. That value is then added to the smoothed motor current signal in act 1228 to generate an adjusted motor current signal. Process 1200 then proceeds to act 1230, where the regulated motor current signal is used to determine the flow rate through the pump using stored data relating motor current to flow rate (e.g., the flow rate curve described above in connection with FIG. 5). Determining the flow rate based on the regulated motor current is described in more detail herein in connection with act 360 of process 300.
[0105] Process 1200 then proceeds to act 1232, where the flow rate determined at act 1230 is provided as an output (e.g., to a user). In some embodiments, the calculated flow rate determined at act 1232 may be used to modify the operation of control unit 200. For example, an indication of the calculated flow rate may be provided via user interface 206 of control unit 200, as described herein in connection with FIG. 1A. The indication of the calculated flow rate may be provided in any suitable manner. For example, a numerical value indicative of the flow rate may be provided on a display associated with the user interface. Additionally or alternatively, a graphical value indicative of the flow rate may be displayed, one or more visual indicators (e.g., one or more lights, such as LEDs) may be activated based on the calculated flow rate, or one or more auditory signals may be provided to indicate the calculated flow rate. In some embodiments, the calculated flow rate may be used to control one or more operations of the pump itself (e.g., by modifying the operation of motor 150). In such embodiments, the continuous motor current adaptation provided by the present technology may provide feedback control of the pump to enable flow rate to remain within specified boundaries, thereby optimizing flow rate for an individual patient.
[0106] Although several aspects and embodiments of the technology presented in the present disclosure have been described above, it should be recognized that various changes, modifications, and improvements will be readily apparent to those skilled in the art. For example, although aspects of the technology relate to devices and methods for the detection, separation, purification, and / or quantification of bacteria as described herein, the inventors recognize that such devices and methods are broadly applicable to other organisms of interest, such as viruses, yeasts, and aspects of the technology are not limited in this respect.
[0107] Such changes, modifications, and improvements are intended to be within the spirit and scope of the technology described herein. For example, one of ordinary skill in the art will readily envision various other means and / or structures for performing a function and / or obtaining a result, and / or one or more of the advantages described herein, and each of such variations and / or modifications is deemed to be within the scope of the embodiments described herein. Those of ordinary skill in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments described herein. Thus, the foregoing embodiments are presented by way of example only, and it should be understood that, within the scope of the appended claims and their equivalents, the inventive embodiments may be practiced otherwise than as specifically described. In addition, any combination of two or more 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.
[0108] The above-described embodiments may 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 implement or control the implementation of the process or method. In this regard, various inventive concepts may be embodied as a computer-readable storage medium (or multiple computer-readable storage media) (e.g., a computer memory, one or more floppy disks, compact disks, optical disks, magnetic tapes, flash memories, circuitry in a field programmable gate array or other semiconductor device, or other tangible computer storage medium), the medium being encoded with one or more programs that, when executed on one or more computers or other processors, implement a method that implements one or more of the various embodiments described above. The computer-readable medium may be transportable such that the programs stored thereon can be loaded into one or more different computers or other processors to implement various of the above-described aspects. In some embodiments, the computer-readable medium may be a non-transitory medium.
[0109] The above-described embodiments of the present technology can be realized in any of a number of ways. For example, the embodiments may be realized using hardware, software, or a combination thereof. When realized in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. It should be recognized that any component or collection of components performing the above-described functions can be collectively considered as a controller that controls the above-described functions. The controller can be realized in a number of ways, such as using dedicated hardware, or using general-purpose hardware (e.g., one or more processors) that is programmed using microcode or software to perform the functions listed above, and may be realized in a combination of ways when the controller corresponds to multiple components of a system.
[0110] Further, it should be appreciated that the computer may be embodied in any of a number of forms, such as, by way of non-limiting example, a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. In addition, the computer may be embedded in devices that are not generally considered computers, but that have suitable processing capabilities, including personal digital assistants (PDAs), smartphones, or any other suitable portable or fixed electronic device.
[0111] A computer may also have one or more input / output devices. These devices may be used, among other things, to present a user interface. Examples of output devices that may be used to provide a user interface include a printer or display screen for visual presentation of output, and a speaker or other sound generating device for audible presentation of output. Examples of input devices that may be used in a user interface include keyboards and pointing devices such as mice, touchpads, and digitizing tablets. As another example, a computer may receive input information through voice recognition or in other audible formats.
[0112] Such computers may be interconnected by one or more networks of any suitable form, including local or wide area networks, such as enterprise networks, and intelligent networks (IN) or the Internet. Such networks may be based on any suitable technology and operate according to any suitable protocol, and may include wireless networks, wired networks, or fiber optic networks.
[0113] Also, as described, some aspects may be embodied as one or more methods. Acts performed as part of a method may be ordered in any suitable manner. Thus, embodiments may be constructed in which acts are performed in an order different from the order illustrated, which may include performing some acts simultaneously even though they are shown as sequential acts in the exemplary embodiment.
[0114] All definitions as defined and used herein should be understood to govern any dictionary definitions, definitions in documents incorporated by reference, and / or ordinary meaning of the defined terms.
[0115] The indefinite articles "a" and "an," as used in the specification and claims, unless expressly indicated otherwise, should be understood to mean "at least one."
[0116] The phrase "and / or" as used in the specification and claims should be understood to mean "either or both" of the elements so conjoined, i.e., elements that are conjunctively present in some cases and non-conjunctively present in other cases. Multiple elements listed with "and / or" should be construed in the same manner, i.e., "one or more" of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the "and / or" clause, whether related or unrelated to the specifically identified elements. Thus, as a non-limiting example, a reference to "A and / or B" when used in conjunction with open-ended language such as "comprising" can refer in one embodiment to A only (optionally including elements other than B), in another embodiment to B only (optionally including elements other than A), in yet another embodiment to both A and B (optionally including other elements), etc.
[0117] As used in this specification and claims, the phrase "at least one," when referring 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 not necessarily including at least one of every element specifically listed in the list of elements, and not excluding any combination of elements in the list of elements. This definition also allows for the optional presence of elements other than those specifically identified in the list of elements to which the phrase "at least one" refers, whether related or unrelated to those elements specifically identified. Thus, as a 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 two or more A, and no B (and optionally including elements other than B), in another embodiment to at least one B, optionally including two or more B, and no A (and optionally including elements other than A), and in yet another embodiment to at least one A, optionally including two or more A, and at least one B, optionally including two or more B (and optionally including other elements).
[0118] Also, the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of "including," "comprising," "having," "containing," "involving," and variations thereof herein are intended to encompass the items listed thereafter and equivalents thereof, as well as additional items.
[0119] In the claims, as well as in the above specification, all transitional phrases such as "comprising," "including," "carrying," "having," "containing," "involving," "holding," "composed of," etc., are to be understood to be open-ended, i.e., to mean including, but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of" are intended to be closed or semi-closed transitional phrases, respectively.
[0120] The use of ordinal terms such as "first," "second," "third," etc. in the claims to modify claim elements does not, by itself, imply any priority, precedence, or ordering of one claim element relative to another, or the temporal order in which acts of a method are performed, but is merely used as a label to distinguish one claim element having a particular name from another element having the same name (but using ordinal terminology) from the claim elements.
Claims
1. 1. A method for determining flow rate through a circulatory assist device, the method comprising: receiving a motor current signal from a motor of the circulatory assist device; determining a measured current value within a time window of the motor current signal at which flow rate through the circulatory assist device is greatest; and determining an offset value based at least in part on the measured current value; determining whether an abnormal condition occurs based at least in part on the received motor current signal; adjusting the motor current signal based at least in part on the offset value and the determination whether an abnormal condition has occurred to generate an adjusted motor current signal; determining the flow rate through the circulatory assist device based at least in part on the conditioned motor current signal.
2. The method of claim 1 , wherein the measured current value is a maximum or minimum current value within the time window.
3. The method of claim 2 , wherein the measured current value is the minimum current value within the time window.
4. The method of claim 1 , wherein the time window is between 1 and 4 seconds in length.
5. The method of claim 4 , wherein the length of the time window is two seconds.
6. The method of claim 1 , wherein determining the offset value is further based at least in part on a speed of the motor.
7. storing, in the at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds; Determining the offset value determining an expected current value associated with a maximum flow rate at said speed of said motor based at least in part on said stored data; and determining the offset value as a difference between the current value and the expected current value.
8. The method of claim 7 , wherein adjusting the motor current signal comprises adding the offset value to the motor current signal to generate the adjusted motor current signal.
9. Determining the flow rate through the circulatory assist device comprises: The method of claim 7 including determining the flow rate further based at least in part on the stored data relating flow rate values to motor current values at the speeds of the motor.
10. 2. The method of claim 1 , wherein adjusting the motor current signal to generate an adjusted motor current signal based at least in part on the offset value and the determination whether an abnormal condition occurs comprises using an offset value of zero when it is determined that an abnormal condition occurs.
11. 11. The method of claim 10, wherein determining whether an abnormal condition has occurred comprises determining whether the circulatory assist device is in a suction state or a detachment state.
12. storing a predetermined offset value in a buffer; The method of claim 1 , further comprising: storing the determined offset value in the buffer.
13. each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on the speed of the motor at the time the offset value is determined; storing the determined offset value in the buffer; scaling the determined offset value based on the speed of the motor; and storing the scaled determined offset value in the buffer.
14. 14. The method of claim 12 or 13, wherein adjusting the motor current signal comprises adjusting the motor current signal based at least in part on a median of the predetermined offset values in the buffer.
15. adjusting the motor current signal converting the median value based on a current speed of the motor; and adjusting the motor current signal based on the converted median value.
16. The method of claim 12 , further comprising: storing the determined offset value in the buffer only if it is determined that no abnormal condition has occurred.
17. filtering the received motor current signal; The method of claim 1 , wherein adjusting the motor current signal comprises adjusting a filtered motor current signal.
18. 10. The method of claim 1, further comprising displaying an indication of the determined flow rate through the circulatory assist device on at least one graphical user interface.
19. 1. A circulatory assist device comprising: A rotor; a motor configured to drive rotation of the rotor at one or more speeds; at least one controller, the at least one controller comprising: receiving a motor current signal from the motor; determining a measured current value within a time window of the motor current signal at which flow rate through the circulatory assist device is greatest; determining an offset value based at least in part on the measured current value; determining whether an abnormal condition exists based at least in part on the received motor current signal; adjusting the motor current signal based at least in part on the offset value and the determination whether an abnormal condition has occurred to generate an adjusted motor current signal; the circulatory assist device configured to determine the flow rate through the circulatory assist device based at least in part on the regulated motor current signal.
20. 20. The circulatory assist device of claim 19, wherein the measured current value is a maximum or minimum current value within the time window.
21. 21. The circulatory assist device of claim 20, wherein the measured current value is the minimum current value within the time window.
22. 20. The circulatory assist device of claim 19, wherein the time window is 1 to 4 seconds in length.
23. 23. The circulatory assist device of claim 22, wherein the length of the time window is two seconds.
24. 20. The circulation assist device of claim 19, wherein determining the offset value is further based at least in part on a speed of the motor.
25. The at least one controller: further configured to store, in the at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds; Determining the offset value determining an expected current value associated with a maximum flow rate at said speed of said motor based at least in part on said stored data; and determining the offset value as a difference between the current value and the expected current value.
26. 26. The circulation assist device of claim 25, wherein adjusting the motor current signal comprises adding the offset value to the motor current signal to generate the adjusted motor current signal.
27. Determining the flow rate through the circulatory assist device comprises:
26. The circulatory assist device of claim 25, comprising determining the flow rate further based at least in part on the stored data relating flow rate values to motor current values at the speeds of the motor.
28. 20. The circulatory assist device of claim 19, wherein adjusting the motor current signal to produce an adjusted motor current signal based at least in part on the offset value and the determination whether an abnormal condition has occurred comprises using an offset value of zero when it is determined that an abnormal condition has occurred.
29. 30. The circulatory assist device of claim 28, wherein determining whether an abnormal condition has occurred comprises determining whether the circulatory assist device is in a suction state or a detachment state.
30. The at least one controller: storing a predetermined offset value in a buffer; 20. The circulatory assist device of claim 19, further configured to store the determined offset value in the buffer.
31. each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on the speed of the motor at the time the offset value is determined; storing the determined offset value in the buffer; scaling the determined offset value based on the speed of the motor; and storing the scaled determined offset value in the buffer.
32. 32. The circulatory assist device of claim 30 or 31, wherein adjusting the motor current signal comprises adjusting the motor current signal based at least in part on a median of the predetermined offset values in the buffer.
33. adjusting the motor current signal converting the median value based on a current speed of the motor; and adjusting the motor current signal based on the converted median value.
34. The at least one controller:
31. The circulatory assist device of claim 30, further configured to store the determined offset value in the buffer only if it is determined that no abnormal condition has occurred.
35. The at least one controller: further configured to filter the received motor current signal; 20. The circulatory assist device of claim 19, wherein adjusting the motor current signal comprises adjusting a filtered motor current signal.
36. The at least one controller:
20. The circulatory assist device of claim 19, further configured to display, on at least one graphical user interface, an indication of the determined flow rate through the circulatory assist device.
37. 1. A controller for a circulatory assist device, the controller comprising: at least one hardware processor, the at least one hardware processor comprising: receiving a motor current signal from a motor of the circulation assist device; determining a measured current value within a time window of the motor current signal at which flow rate through the circulatory assist device is greatest; determining an offset value based at least in part on the measured current value; determining whether an abnormal condition exists based at least in part on the received motor current signal; adjusting the motor current signal based at least in part on the offset value and the determination whether an abnormal condition has occurred to generate an adjusted motor current signal; A controller configured to determine the flow rate through the circulatory assist device based at least in part on the conditioned motor current signal.
38. 38. The controller of claim 37, wherein the measured current value is a maximum or minimum current value within the time window.
39. 40. The controller of claim 38, wherein the measured current value is the minimum current value within the time window.
40. 38. The controller of claim 37, wherein the time window is between 1 and 4 seconds in length.
41. 41. The controller of claim 40, wherein the length of the time window is two seconds.
42. 38. The controller of claim 37, wherein determining the offset value is further based at least in part on a speed of the motor.
43. The at least one hardware processor: further configured to store, in the at least one storage device, data relating flow values to motor current values for each of a plurality of motor speeds; Determining the offset value determining an expected current value associated with a maximum flow rate at said speed of said motor based at least in part on said stored data; and determining the offset value as a difference between the current value and the expected current value.
44. 44. The controller of claim 43, wherein adjusting the motor current signal comprises adding the offset value to the motor current signal to generate the adjusted motor current signal.
45. Determining the flow rate through the circulatory assist device comprises:
45. The controller of claim 44, further comprising determining the flow rate based at least in part on the stored data relating flow rate values to motor current values at the speed of the motor.
46. 38. The controller of claim 37, wherein adjusting the motor current signal to produce an adjusted motor current signal based at least in part on the offset value and the determination whether an abnormal condition has occurred comprises using an offset value of zero when it is determined that an abnormal condition has occurred.
47. 47. The controller of claim 46, wherein determining whether an abnormal condition has occurred comprises determining whether the circulatory assist device is in a suction state or a detachment state.
48. The at least one hardware processor: storing a predetermined offset value in a buffer; 38. The controller of claim 37, further configured to store the determined offset value in the buffer.
49. each of the pre-determined offset values in the buffer is a scaled offset value that is scaled based on the speed of the motor at the time the offset value is determined; storing the determined offset value in the buffer; scaling the determined offset value based on the speed of the motor; and storing the scaled determined offset value in the buffer.
50. 50. The controller of claim 48 or 49, wherein adjusting the motor current signal comprises adjusting the motor current signal based at least in part on a median of the predetermined offset values in the buffer.
51. adjusting the motor current signal converting the median value based on a current speed of the motor; and adjusting the motor current signal based on the converted median value.
52. the at least one hardware processor:
49. The controller of claim 48, further configured to store the determined offset value in the buffer only if it is determined that no abnormal condition has occurred.
53. the at least one hardware processor: further configured to filter the received motor current signal; 38. The controller of claim 37, wherein adjusting the motor current signal comprises adjusting a filtered motor current signal.
54. the at least one hardware processor:
40. The controller of claim 37, further configured to display, on at least one graphical user interface, an indication of the determined flow rate through the circulatory assist device.